X-Git-Url: https://git.nihav.org/?a=blobdiff_plain;f=src%2Fcodecs%2Fh263%2Fmod.rs;h=28eb44f2f572b453b9d0b6ec8db3af443d5d4237;hb=ef3209c74c9d639a57a2434aaba87e0a19bfe9b3;hp=a1446ae8726be4bd21edc380a3899afb4015529c;hpb=c1864d11aef4b4b91f50c9227b90b12e8d45ce27;p=nihav.git diff --git a/src/codecs/h263/mod.rs b/src/codecs/h263/mod.rs index a1446ae..28eb44f 100644 --- a/src/codecs/h263/mod.rs +++ b/src/codecs/h263/mod.rs @@ -150,18 +150,19 @@ impl SliceState { #[derive(Debug,Clone,Copy)] pub struct BlockInfo { - intra: bool, - skip: bool, - mode: Type, - cbp: u8, - q: u8, - mv: [MV; 4], - num_mv: usize, - bpart: bool, - b_cbp: u8, - mv2: [MV; 2], - num_mv2: usize, - fwd: bool, + pub intra: bool, + pub skip: bool, + pub mode: Type, + pub cbp: u8, + pub q: u8, + pub mv: [MV; 4], + pub num_mv: usize, + pub bpart: bool, + pub b_cbp: u8, + pub mv2: [MV; 2], + pub num_mv2: usize, + pub fwd: bool, + pub acpred: ACPredMode, } #[allow(dead_code)] @@ -173,6 +174,15 @@ pub struct BBlockInfo { fwd: bool, } +#[allow(dead_code)] +#[derive(Debug,Clone,Copy,PartialEq)] +pub enum ACPredMode { + None, + DC, + Ver, + Hor, +} + #[allow(dead_code)] impl BlockInfo { pub fn new(mode: Type, cbp: u8, q: u8) -> Self { @@ -189,6 +199,7 @@ impl BlockInfo { mv2: [ZERO_MV, ZERO_MV], num_mv2: 0, fwd: false, + acpred: ACPredMode::None, } } pub fn is_intra(&self) -> bool { self.intra } @@ -222,6 +233,8 @@ impl BlockInfo { self.mv2 = mv_arr; } pub fn is_b_fwd(&self) -> bool { self.fwd } + pub fn set_acpred(&mut self, acpred: ACPredMode) { self.acpred = acpred } + pub fn get_acpred(&self) -> ACPredMode { self.acpred } } impl BBlockInfo {