diff options
author | Janne Grunau <janne-vlc@jannau.net> | 2019-02-15 23:21:00 +0300 |
---|---|---|
committer | Janne Grunau <janne-vlc@jannau.net> | 2019-02-26 20:57:16 +0300 |
commit | 2abc436e7ed8c5dadc24973a6891782fc105212e (patch) | |
tree | c753a67e8fd279885f9a97e91b70f7576a93a7f2 /include/dav1d/headers.h | |
parent | 791ec2199a6773eaef6abd6457b492fb40207422 (diff) |
obu: ignore operating_parameter_info in new sequence check
The operating_parameter_info is allowed to change in a single sequence.
Reorder Dav1dSequenceHeader so the check for new sequence can still be
done with memcmp and pffsetof.
Diffstat (limited to 'include/dav1d/headers.h')
-rw-r--r-- | include/dav1d/headers.h | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/include/dav1d/headers.h b/include/dav1d/headers.h index 3ad419f..2e0c67f 100644 --- a/include/dav1d/headers.h +++ b/include/dav1d/headers.h @@ -215,9 +215,6 @@ typedef struct Dav1dSequenceHeader { int idc; int tier; int decoder_model_param_present; - int decoder_buffer_delay; - int encoder_buffer_delay; - int low_delay_mode; int display_model_param_present; } operating_points[DAV1D_MAX_OPERATING_POINTS]; @@ -258,6 +255,18 @@ typedef struct Dav1dSequenceHeader { int color_description_present; int separate_uv_delta_q; int film_grain_present; + + // Dav1dSequenceHeaders of the same sequence are required to be + // bit-identical until this offset. See 7.5 "Ordering of OBUs": + // Within a particular coded video sequence, the contents of + // sequence_header_obu must be bit-identical each time the + // sequence header appears except for the contents of + // operating_parameters_info. + struct Dav1dSequenceHeaderOperatingParameterInfo { + int decoder_buffer_delay; + int encoder_buffer_delay; + int low_delay_mode; + } operating_parameter_info[DAV1D_MAX_OPERATING_POINTS]; } Dav1dSequenceHeader; typedef struct Dav1dSegmentationData { |