Skip to content

Commit

Permalink
Port C changes to Rust
Browse files Browse the repository at this point in the history
  • Loading branch information
Frank Bossen committed Apr 24, 2024
1 parent dbfafed commit 89cabdd
Show file tree
Hide file tree
Showing 4 changed files with 18 additions and 12 deletions.
18 changes: 12 additions & 6 deletions include/dav1d/headers.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down Expand Up @@ -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,
Expand Down
2 changes: 1 addition & 1 deletion include/dav1d/picture.rs
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ pub struct Dav1dPicture {
pub mastering_display: Option<NonNull<Rav1dMasteringDisplay>>,
pub itut_t35: Option<NonNull<Dav1dITUTT35>>,
pub n_itut_t35: usize,
pub reserved: [uintptr_t; 3],
pub reserved: [uintptr_t; 4],
pub frame_hdr_ref: Option<RawArc<DRav1d<Rav1dFrameHeader, Dav1dFrameHeader>>>, // opaque, so we can change this
pub seq_hdr_ref: Option<RawArc<DRav1d<Rav1dSequenceHeader, Dav1dSequenceHeader>>>, // opaque, so we can change this
pub content_light_ref: Option<RawArc<Rav1dContentLightLevel>>, // opaque, so we can change this
Expand Down
4 changes: 2 additions & 2 deletions src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -102,8 +102,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.
Expand Down
6 changes: 3 additions & 3 deletions src/obu.rs
Original file line number Diff line number Diff line change
Expand Up @@ -178,8 +178,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);
}
Expand All @@ -198,7 +198,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);
}
Expand Down

0 comments on commit 89cabdd

Please sign in to comment.