[−][src]Struct ffmpeg_dev::sys::IDCTDSPContext
Fields
put_pixels_clamped: Option<unsafe extern "C" fn(block: *const i16, pixels: *mut u8, line_size: isize)>
put_signed_pixels_clamped: Option<unsafe extern "C" fn(block: *const i16, pixels: *mut u8, line_size: isize)>
add_pixels_clamped: Option<unsafe extern "C" fn(block: *const i16, pixels: *mut u8, line_size: isize)>
idct: Option<unsafe extern "C" fn(block: *mut i16)>
idct_put: Option<unsafe extern "C" fn(dest: *mut u8, line_size: isize, block: *mut i16)>
block -> idct -> clip to unsigned 8 bit -> dest. (-1392, 0, 0, ...) -> idct -> (-174, -174, ...) -> put -> (0, 0, ...) @param line_size size in bytes of a horizontal line of dest
idct_add: Option<unsafe extern "C" fn(dest: *mut u8, line_size: isize, block: *mut i16)>
block -> idct -> add dest -> clip to unsigned 8 bit -> dest. @param line_size size in bytes of a horizontal line of dest
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 -> ...)
perm_type: idct_permutation_type
mpeg4_studio_profile: c_int
Trait Implementations
impl Clone for IDCTDSPContext
[src]
fn clone(&self) -> IDCTDSPContext
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl Copy for IDCTDSPContext
[src]
Auto Trait Implementations
impl Send for IDCTDSPContext
impl Sync for IDCTDSPContext
impl Unpin for IDCTDSPContext
impl UnwindSafe for IDCTDSPContext
impl RefUnwindSafe for IDCTDSPContext
Blanket Implementations
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = !
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,