[NORMATIVE] Add still image bit to seq header
BUG=aomedia:1708
Change-Id: Id8d7e4b025237f549c77ca1ef6435f81e415703a
diff --git a/av1/common/onyxc_int.h b/av1/common/onyxc_int.h
index 3c31ab2..831b8cf 100644
--- a/av1/common/onyxc_int.h
+++ b/av1/common/onyxc_int.h
@@ -193,7 +193,8 @@
int force_integer_mv; // 0 - Not to force. MV can be in 1/4 or 1/8
// 1 - force to integer
// 2 - adaptive
- int monochrome;
+ int still_picture; // Video is a single frame still picture
+ int monochrome; // Monochorme video
int enable_filter_intra; // enables/disables filterintra
int enable_intra_edge_filter; // enables/disables corner/edge/upsampling
int enable_interintra_compound; // enables/disables interintra_compound
diff --git a/av1/decoder/obu.c b/av1/decoder/obu.c
index cdf4983..e75f626 100644
--- a/av1/decoder/obu.c
+++ b/av1/decoder/obu.c
@@ -146,10 +146,14 @@
cm->profile = av1_read_profile(rb);
+ SequenceHeader *seq_params = &cm->seq_params;
+
+ // Still picture or not
+ seq_params->still_picture = aom_rb_read_bit(rb);
+
uint8_t operating_points_minus1_cnt = aom_rb_read_literal(rb, 5);
pbi->common.enhancement_layers_cnt = operating_points_minus1_cnt + 1;
int i;
- SequenceHeader *seq_params = &cm->seq_params;
for (i = 0; i < operating_points_minus1_cnt + 1; i++) {
seq_params->operating_point_idc[i] = aom_rb_read_literal(rb, 12);
seq_params->level[i] = aom_rb_read_literal(rb, 4);
diff --git a/av1/encoder/bitstream.c b/av1/encoder/bitstream.c
index 7c59568..83ca1a8 100644
--- a/av1/encoder/bitstream.c
+++ b/av1/encoder/bitstream.c
@@ -3328,6 +3328,9 @@
write_profile(cm->profile, &wb);
+ // Still picture or not
+ aom_wb_write_bit(&wb, cm->seq_params.still_picture);
+
uint8_t operating_points_minus1_cnt = enhancement_layers_cnt;
aom_wb_write_literal(&wb, operating_points_minus1_cnt, 5);
int i;
diff --git a/av1/encoder/encoder.c b/av1/encoder/encoder.c
index c6539b5..4299346 100644
--- a/av1/encoder/encoder.c
+++ b/av1/encoder/encoder.c
@@ -891,6 +891,7 @@
}
void init_seq_coding_tools(SequenceHeader *seq, const AV1EncoderConfig *oxcf) {
+ seq->still_picture = 0;
seq->force_screen_content_tools = 2;
seq->force_integer_mv = 2;
seq->order_hint_bits_minus1 = DEFAULT_EXPLICIT_ORDER_HINT_BITS - 1;