Enable shared_dictionary for quality 3 and 4.
PiperOrigin-RevId: 843477953
diff --git a/c/enc/backward_references.c b/c/enc/backward_references.c
index 5d1c0ed..b48dd85 100644
--- a/c/enc/backward_references.c
+++ b/c/enc/backward_references.c
@@ -131,6 +131,14 @@
#define PREFIX() D
#define ENABLE_COMPOUND_DICTIONARY 1
+#define HASHER() H3
+/* NOLINTNEXTLINE(build/include) */
+#include "backward_references_inc.h"
+#undef HASHER
+#define HASHER() H4
+/* NOLINTNEXTLINE(build/include) */
+#include "backward_references_inc.h"
+#undef HASHER
#define HASHER() H5
/* NOLINTNEXTLINE(build/include) */
#include "backward_references_inc.h"
@@ -192,6 +200,8 @@
literal_context_lut, params, hasher, dist_cache, \
last_insert_len, commands, num_commands, num_literals); \
return;
+ CASE_(3)
+ CASE_(4)
CASE_(5)
CASE_(6)
#if defined(BROTLI_MAX_SIMD_QUALITY)
diff --git a/c/enc/hash_longest_match_quickly_inc.h b/c/enc/hash_longest_match_quickly_inc.h
index 9db75cc..12fdb44 100644
--- a/c/enc/hash_longest_match_quickly_inc.h
+++ b/c/enc/hash_longest_match_quickly_inc.h
@@ -168,7 +168,7 @@
BROTLI_DCHECK(cur_ix_masked + max_length <= ring_buffer_mask + 1);
out->len_code_delta = 0;
- if (prev_ix < cur_ix) {
+ if (prev_ix < cur_ix && cached_backward <= max_backward) {
prev_ix &= (uint32_t)ring_buffer_mask;
if (compare_char == data[prev_ix + best_len]) {
const size_t len = FindMatchLengthWithLimit(