Struct AVDCT
#[repr(C)]pub struct AVDCT {
pub av_class: *const AVClass,
pub idct: Option<unsafe extern "C" fn(*mut i16)>,
pub idct_permutation: [u8; 64],
pub fdct: Option<unsafe extern "C" fn(*mut i16)>,
pub dct_algo: i32,
pub idct_algo: i32,
pub get_pixels: Option<unsafe extern "C" fn(*mut i16, *const u8, isize)>,
pub bits_per_sample: i32,
pub get_pixels_unaligned: Option<unsafe extern "C" fn(*mut i16, *const u8, isize)>,
}
Expand description
AVDCT context. @note function pointers can be NULL if the specific features have been disabled at build time.
Fields§
§av_class: *const AVClass
§idct: Option<unsafe extern "C" fn(*mut i16)>
§idct_permutation: [u8; 64]
IDCT input permutation.
Several optimized IDCTs need a permutated input (relative to the
normal order of the reference IDCT).
This permutation must be performed before the idct_put/add.
Note, normally this can be merged with the zigzag/alternate scan
An example to avoid confusion:
- (->decode coeffs -> zigzag reorder -> dequant -> reference IDCT -> …)
- (x -> reference DCT -> reference IDCT -> x)
- (x -> reference DCT -> simple_mmx_perm = idct_permutation -> simple_idct_mmx -> x)
- (-> decode coeffs -> zigzag reorder -> simple_mmx_perm -> dequant -> simple_idct_mmx -> …)
fdct: Option<unsafe extern "C" fn(*mut i16)>
§dct_algo: i32
DCT algorithm. must use AVOptions to set this field.
idct_algo: i32
IDCT algorithm. must use AVOptions to set this field.
get_pixels: Option<unsafe extern "C" fn(*mut i16, *const u8, isize)>
§bits_per_sample: i32
§get_pixels_unaligned: Option<unsafe extern "C" fn(*mut i16, *const u8, isize)>
Trait Implementations§
Auto Trait Implementations§
impl Freeze for AVDCT
impl RefUnwindSafe for AVDCT
impl !Send for AVDCT
impl !Sync for AVDCT
impl Unpin for AVDCT
impl UnwindSafe for AVDCT
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more