Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/videolan/dav1d.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJanne Grunau <janne-vlc@jannau.net>2019-02-15 23:21:00 +0300
committerJanne Grunau <janne-vlc@jannau.net>2019-02-26 20:57:16 +0300
commit2abc436e7ed8c5dadc24973a6891782fc105212e (patch)
treec753a67e8fd279885f9a97e91b70f7576a93a7f2 /include
parent791ec2199a6773eaef6abd6457b492fb40207422 (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')
-rw-r--r--include/dav1d/headers.h15
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 {