Skip to content

Commit

Permalink
make allow_intrabc a bool
Browse files Browse the repository at this point in the history
  • Loading branch information
folkertdev committed Mar 6, 2024
1 parent 3c7a008 commit c3d4ed2
Show file tree
Hide file tree
Showing 3 changed files with 20 additions and 21 deletions.
6 changes: 3 additions & 3 deletions include/dav1d/headers.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2286,7 +2286,7 @@ pub struct Rav1dFrameHeader {
pub buffer_removal_time_present: c_int,
pub operating_points: [Rav1dFrameHeaderOperatingPoint; RAV1D_MAX_OPERATING_POINTS],
pub refresh_frame_flags: c_int,
pub allow_intrabc: c_int,
pub allow_intrabc: bool,
pub frame_ref_short_signaling: c_int,
pub refidx: [c_int; RAV1D_REFS_PER_FRAME],
pub hp: bool,
Expand Down Expand Up @@ -2393,7 +2393,7 @@ impl From<Dav1dFrameHeader> for Rav1dFrameHeader {
buffer_removal_time_present,
operating_points: operating_points.map(|c| c.into()),
refresh_frame_flags,
allow_intrabc,
allow_intrabc: allow_intrabc != 0,
frame_ref_short_signaling,
refidx,
hp: hp != 0,
Expand Down Expand Up @@ -2510,7 +2510,7 @@ impl From<Rav1dFrameHeader> for Dav1dFrameHeader {
render_height,
super_res: super_res.into(),
have_render_size,
allow_intrabc,
allow_intrabc: allow_intrabc.into(),
frame_ref_short_signaling,
refidx,
hp: hp.into(),
Expand Down
14 changes: 7 additions & 7 deletions src/decode.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1905,7 +1905,7 @@ unsafe fn decode_b_inner(
println!("Post-intra[{}]: r={}", b.intra, ts.msac.rng);
}
}
} else if frame_hdr.allow_intrabc != 0 {
} else if frame_hdr.allow_intrabc {
b.intra = (!rav1d_msac_decode_bool_adapt(&mut ts.msac, &mut ts.cdf.m.intrabc.0)) as u8;
if debug_block_info!(f, t) {
println!("Post-intrabcflag[{}]: r={}", b.intra, ts.msac.rng);
Expand Down Expand Up @@ -2264,7 +2264,7 @@ unsafe fn decode_b_inner(
}
}
}
if f.frame_hdr().frame_type.is_inter_or_switch() || f.frame_hdr().allow_intrabc != 0 {
if f.frame_hdr().frame_type.is_inter_or_switch() || f.frame_hdr().allow_intrabc {
splat_intraref(c, t, bs, bw4 as usize, bh4 as usize);
}
} else if f.frame_hdr().frame_type.is_key_or_intra() {
Expand Down Expand Up @@ -4074,7 +4074,7 @@ pub(crate) unsafe fn rav1d_decode_tile_sbrow(
let col_sb_start = frame_hdr.tiling.col_start_sb[tile_col as usize] as c_int;
let col_sb128_start = col_sb_start >> (seq_hdr.sb128 == 0) as c_int;

if frame_hdr.frame_type.is_inter_or_switch() || frame_hdr.allow_intrabc != 0 {
if frame_hdr.frame_type.is_inter_or_switch() || frame_hdr.allow_intrabc {
rav1d_refmvs_tile_sbrow_init(
&mut t.rt,
&f.rf,
Expand Down Expand Up @@ -4546,7 +4546,7 @@ pub(crate) unsafe fn rav1d_decode_frame_init(
f.lf.tx_lpf_right_edge.resize(re_sz as usize, 0);

// init ref mvs
if frame_hdr.frame_type.is_inter_or_switch() || frame_hdr.allow_intrabc != 0 {
if frame_hdr.frame_type.is_inter_or_switch() || frame_hdr.allow_intrabc {
let ret = rav1d_refmvs_init_frame(
&mut f.rf,
seq_hdr,
Expand Down Expand Up @@ -5133,7 +5133,7 @@ pub unsafe fn rav1d_submit_frame(c: &mut Rav1dContext) -> Rav1dResult {
.store(cols * rows + f.sbh << uses_2pass, Ordering::SeqCst);

// ref_mvs
if frame_hdr.frame_type.is_inter_or_switch() || frame_hdr.allow_intrabc != 0 {
if frame_hdr.frame_type.is_inter_or_switch() || frame_hdr.allow_intrabc {
f.mvs_ref = rav1d_ref_create_using_pool(
c.refmvs_pool,
::core::mem::size_of::<refmvs_temporal_block>()
Expand All @@ -5146,7 +5146,7 @@ pub unsafe fn rav1d_submit_frame(c: &mut Rav1dContext) -> Rav1dResult {
return Err(ENOMEM);
}
f.mvs = (*f.mvs_ref).data.cast::<refmvs_temporal_block>();
if frame_hdr.allow_intrabc == 0 {
if !frame_hdr.allow_intrabc {
for i in 0..7 {
f.refpoc[i] = f.refp[i].p.frame_hdr.as_ref().unwrap().frame_offset as c_uint;
}
Expand Down Expand Up @@ -5260,7 +5260,7 @@ pub unsafe fn rav1d_submit_frame(c: &mut Rav1dContext) -> Rav1dResult {
rav1d_ref_inc(f.cur_segmap_ref);
}
rav1d_ref_dec(&mut c.refs[i].refmvs);
if frame_hdr.allow_intrabc == 0 {
if !frame_hdr.allow_intrabc {
c.refs[i].refmvs = f.mvs_ref;
if !f.mvs_ref.is_null() {
rav1d_ref_inc(f.mvs_ref);
Expand Down
21 changes: 10 additions & 11 deletions src/obu.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1140,7 +1140,7 @@ unsafe fn parse_segmentation(

fn parse_delta(
quant: &Rav1dFrameHeader_quant,
allow_intrabc: c_int,
allow_intrabc: bool,
debug: &Debug,
gb: &mut GetBits,
) -> Rav1dFrameHeader_delta {
Expand All @@ -1158,7 +1158,7 @@ fn parse_delta(
Rav1dFrameHeader_delta_q { present, res_log2 }
};
let lf = {
let present = (q.present != 0 && allow_intrabc == 0 && gb.get_bit()) as c_int;
let present = (q.present != 0 && !allow_intrabc && gb.get_bit()) as c_int;
let res_log2 = if present != 0 {
gb.get_bits(2) as c_int
} else {
Expand All @@ -1183,7 +1183,7 @@ unsafe fn parse_loopfilter(
c: &Rav1dContext,
seqhdr: &Rav1dSequenceHeader,
all_lossless: bool,
allow_intrabc: c_int,
allow_intrabc: bool,
primary_ref_frame: c_int,
refidx: &[c_int; RAV1D_REFS_PER_FRAME],
debug: &Debug,
Expand All @@ -1196,7 +1196,7 @@ unsafe fn parse_loopfilter(
let mode_ref_delta_update;
let mut mode_ref_deltas;
let sharpness;
if all_lossless || allow_intrabc != 0 {
if all_lossless || allow_intrabc {
level_y = [0; 2];
level_v = 0;
level_u = level_v;
Expand Down Expand Up @@ -1265,15 +1265,15 @@ unsafe fn parse_loopfilter(
fn parse_cdef(
seqhdr: &Rav1dSequenceHeader,
all_lossless: bool,
allow_intrabc: c_int,
allow_intrabc: bool,
debug: &Debug,
gb: &mut GetBits,
) -> Rav1dFrameHeader_cdef {
let damping;
let n_bits;
let mut y_strength = [0; RAV1D_MAX_CDEF_STRENGTHS];
let mut uv_strength = [0; RAV1D_MAX_CDEF_STRENGTHS];
if !all_lossless && seqhdr.cdef != 0 && allow_intrabc == 0 {
if !all_lossless && seqhdr.cdef != 0 && !allow_intrabc {
damping = gb.get_bits(2) as c_int + 3;
n_bits = gb.get_bits(2) as c_int;
for i in 0..1 << n_bits {
Expand Down Expand Up @@ -1303,13 +1303,13 @@ fn parse_restoration(
seqhdr: &Rav1dSequenceHeader,
all_lossless: bool,
super_res_enabled: c_int,
allow_intrabc: c_int,
allow_intrabc: bool,
debug: &Debug,
gb: &mut GetBits,
) -> Rav1dFrameHeader_restoration {
let r#type;
let unit_size;
if (!all_lossless || super_res_enabled != 0) && seqhdr.restoration != 0 && allow_intrabc == 0 {
if (!all_lossless || super_res_enabled != 0) && seqhdr.restoration != 0 && !allow_intrabc {
let type_0 = Rav1dRestorationType::from_repr(gb.get_bits(2) as usize).unwrap();
r#type = if seqhdr.monochrome == 0 {
[
Expand Down Expand Up @@ -1878,8 +1878,7 @@ unsafe fn parse_frame_hdr(
return Err(EINVAL);
}
size = parse_frame_size(c, seqhdr, None, frame_size_override, gb)?;
allow_intrabc =
(allow_screen_content_tools && size.super_res.enabled == 0 && gb.get_bit()) as c_int;
allow_intrabc = allow_screen_content_tools && size.super_res.enabled == 0 && gb.get_bit();
use_ref_frame_mvs = 0;

// Default initialization.
Expand All @@ -1889,7 +1888,7 @@ unsafe fn parse_frame_hdr(
subpel_filter_mode = Rav1dFilterMode::Regular8Tap;
switchable_motion_mode = Default::default();
} else {
allow_intrabc = 0;
allow_intrabc = false;
refresh_frame_flags = if frame_type == Rav1dFrameType::Switch {
0xff
} else {
Expand Down

0 comments on commit c3d4ed2

Please sign in to comment.