diff --git a/include/dav1d/headers.h b/include/dav1d/headers.h index 32eb4cb98..f0dbc10c4 100644 --- a/include/dav1d/headers.h +++ b/include/dav1d/headers.h @@ -245,13 +245,13 @@ typedef struct Dav1dSequenceHeader { int still_picture; int reduced_still_picture_header; int timing_info_present; - int num_units_in_tick; - int time_scale; + uint32_t num_units_in_tick; + uint32_t time_scale; int equal_picture_interval; unsigned num_ticks_per_picture; int decoder_model_info_present; int encoder_decoder_buffer_delay_length; - int num_units_in_decoding_tick; + uint32_t num_units_in_decoding_tick; int buffer_removal_delay_length; int frame_presentation_delay_length; int display_model_info_present; diff --git a/include/dav1d/headers.rs b/include/dav1d/headers.rs index 3762a0d80..800e1fd8e 100644 --- a/include/dav1d/headers.rs +++ b/include/dav1d/headers.rs @@ -978,13 +978,16 @@ pub struct Dav1dSequenceHeader { pub still_picture: c_int, pub reduced_still_picture_header: c_int, pub timing_info_present: c_int, - pub num_units_in_tick: c_int, - pub time_scale: c_int, + /// > 0 if defined, 0 otherwise + pub num_units_in_tick: u32, + /// > 0 if defined, 0 otherwise + pub time_scale: u32, pub equal_picture_interval: c_int, pub num_ticks_per_picture: c_uint, pub decoder_model_info_present: c_int, pub encoder_decoder_buffer_delay_length: c_int, - pub num_units_in_decoding_tick: c_int, + /// > 0 if defined, 0 otherwise + pub num_units_in_decoding_tick: u32, pub buffer_removal_delay_length: c_int, pub frame_presentation_delay_length: c_int, pub display_model_info_present: c_int, @@ -1058,13 +1061,16 @@ pub struct Rav1dSequenceHeader { pub still_picture: c_int, pub reduced_still_picture_header: c_int, pub timing_info_present: c_int, - pub num_units_in_tick: c_int, - pub time_scale: c_int, + /// > 0 if defined, 0 otherwise + pub num_units_in_tick: u32, + /// > 0 if defined, 0 otherwise + pub time_scale: u32, pub equal_picture_interval: c_int, pub num_ticks_per_picture: c_uint, pub decoder_model_info_present: c_int, pub encoder_decoder_buffer_delay_length: c_int, - pub num_units_in_decoding_tick: c_int, + /// > 0 if defined, 0 otherwise + pub num_units_in_decoding_tick: u32, pub buffer_removal_delay_length: c_int, pub frame_presentation_delay_length: c_int, pub display_model_info_present: c_int, diff --git a/include/dav1d/picture.h b/include/dav1d/picture.h index 04d46df93..2522084bb 100644 --- a/include/dav1d/picture.h +++ b/include/dav1d/picture.h @@ -87,7 +87,7 @@ typedef struct Dav1dPicture { */ size_t n_itut_t35; - uintptr_t reserved[3]; ///< reserved for future use + uintptr_t reserved[4]; ///< reserved for future use struct Dav1dRef *frame_hdr_ref; ///< Dav1dFrameHeader allocation origin struct Dav1dRef *seq_hdr_ref; ///< Dav1dSequenceHeader allocation origin diff --git a/include/dav1d/picture.rs b/include/dav1d/picture.rs index 13914d09f..10b719efd 100644 --- a/include/dav1d/picture.rs +++ b/include/dav1d/picture.rs @@ -82,7 +82,7 @@ pub struct Dav1dPicture { pub mastering_display: Option>, pub itut_t35: Option>, pub n_itut_t35: usize, - pub reserved: [uintptr_t; 3], + pub reserved: [uintptr_t; 4], pub frame_hdr_ref: Option>>, // opaque, so we can change this pub seq_hdr_ref: Option>>, // opaque, so we can change this pub content_light_ref: Option>, // opaque, so we can change this diff --git a/meson.build b/meson.build index 3d3834c2b..d85116a7b 100644 --- a/meson.build +++ b/meson.build @@ -30,7 +30,7 @@ project('dav1d', ['c'], 'b_ndebug=if-release'], meson_version: '>= 0.49.0') -dav1d_soname_version = '6.9.0' +dav1d_soname_version = '7.0.0' dav1d_api_version_array = dav1d_soname_version.split('.') dav1d_api_version_major = dav1d_api_version_array[0] dav1d_api_version_minor = dav1d_api_version_array[1] diff --git a/src/lib.rs b/src/lib.rs index e97691c26..f5525ebb9 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -97,8 +97,8 @@ pub unsafe extern "C" fn dav1d_version() -> *const c_char { rav1d_version().as_ptr().cast() } -pub const DAV1D_API_VERSION_MAJOR: u8 = 6; -pub const DAV1D_API_VERSION_MINOR: u8 = 9; +pub const DAV1D_API_VERSION_MAJOR: u8 = 7; +pub const DAV1D_API_VERSION_MINOR: u8 = 0; pub const DAV1D_API_VERSION_PATCH: u8 = 0; /// Get the `dav1d` library C API version. diff --git a/src/obu.rs b/src/obu.rs index 98621e6c8..ddd9edd21 100644 --- a/src/obu.rs +++ b/src/obu.rs @@ -176,8 +176,8 @@ fn parse_seq_hdr( } else { timing_info_present = gb.get_bit() as c_int; if timing_info_present != 0 { - num_units_in_tick = gb.get_bits(32) as c_int; - time_scale = gb.get_bits(32) as c_int; + num_units_in_tick = gb.get_bits(32) as u32; + time_scale = gb.get_bits(32) as u32; if strict_std_compliance && (num_units_in_tick == 0 || time_scale == 0) { return Err(EINVAL); } @@ -196,7 +196,7 @@ fn parse_seq_hdr( decoder_model_info_present = gb.get_bit() as c_int; if decoder_model_info_present != 0 { encoder_decoder_buffer_delay_length = gb.get_bits(5) as c_int + 1; - num_units_in_decoding_tick = gb.get_bits(32) as c_int; + num_units_in_decoding_tick = gb.get_bits(32) as u32; if strict_std_compliance && num_units_in_decoding_tick == 0 { return Err(EINVAL); }