X-Git-Url: https://git.nihav.org/?a=blobdiff_plain;f=nihav-realmedia%2Fsrc%2Fcodecs%2Frv34dsp.rs;h=a8f9e0353a2606a86c7777ed6db6a9936cefe74e;hb=e07387c7f125550a41faf36a509b252cf71d7f9a;hp=21171c1bec4c4fa2aebb7f7c59f7e063281c29ed;hpb=7e6086e50dce8780e59c8d9c0d2d74aa25aaae9e;p=nihav.git diff --git a/nihav-realmedia/src/codecs/rv34dsp.rs b/nihav-realmedia/src/codecs/rv34dsp.rs index 21171c1..a8f9e03 100644 --- a/nihav-realmedia/src/codecs/rv34dsp.rs +++ b/nihav-realmedia/src/codecs/rv34dsp.rs @@ -30,8 +30,10 @@ pub enum PredType8x8 { DC128 } +type IPred4x4Func = fn(buf: &mut [u8], idx: usize, stride: usize, tr: &[u8]); + pub struct RV34CommonDSP { - pub ipred4x4: [fn(buf: &mut [u8], idx: usize, stride: usize, tr: &[u8]); 15], + pub ipred4x4: [IPred4x4Func; 15], pub ipred8x8: [fn(buf: &mut [u8], idx: usize, stride: usize); 7], pub ipred16x16: [fn(buf: &mut [u8], idx: usize, stride: usize); 7], } @@ -547,7 +549,7 @@ fn ipred_16x16_plane(buf: &mut [u8], mut idx: usize, stride: usize) { } } -const IPRED_FUNCS4X4: [fn(buf: &mut [u8], idx: usize, stride: usize, tr: &[u8]); 15] = [ +const IPRED_FUNCS4X4: [IPred4x4Func; 15] = [ ipred_4x4_ver, ipred_4x4_hor, ipred_4x4_dc, ipred_4x4_diag_down_left, ipred_4x4_diag_down_right, ipred_4x4_ver_right, ipred_4x4_hor_down, ipred_4x4_ver_left, ipred_4x4_hor_up,