read ds-filter from frame header
diff --git a/av1/decoder/decodeframe.c b/av1/decoder/decodeframe.c
index ce0deec..2e57352 100644
--- a/av1/decoder/decodeframe.c
+++ b/av1/decoder/decodeframe.c
@@ -6842,7 +6842,7 @@
static int read_uncompressed_header(AV1Decoder *pbi,
struct aom_read_bit_buffer *rb) {
AV1_COMMON *const cm = &pbi->common;
- const SequenceHeader *const seq_params = &cm->seq_params;
+ SequenceHeader *const seq_params = &cm->seq_params;
CurrentFrame *const current_frame = &cm->current_frame;
FeatureFlags *const features = &cm->features;
MACROBLOCKD *const xd = &pbi->dcb.xd;
@@ -7034,7 +7034,9 @@
}
}
features->disable_cdf_update = aom_rb_read_bit(rb);
-
+ if (current_frame->frame_type == KEY_FRAME) {
+ seq_params->cfl_ds_filter_index = aom_rb_read_literal(rb, 2);
+ }
if (seq_params->force_screen_content_tools == 2) {
features->allow_screen_content_tools = aom_rb_read_bit(rb);
} else {
diff --git a/av1/encoder/bitstream.c b/av1/encoder/bitstream.c
index c54675e..82f75d7 100644
--- a/av1/encoder/bitstream.c
+++ b/av1/encoder/bitstream.c
@@ -5677,7 +5677,7 @@
}
}
aom_wb_write_bit(wb, features->disable_cdf_update);
-
+ aom_wb_write_literal(wb, seq_params->cfl_ds_filter_index, 2);
if (seq_params->force_screen_content_tools == 2) {
aom_wb_write_bit(wb, features->allow_screen_content_tools);
} else {