| FFmpeg
    | 
DSP functions (inverse transforms, motion compensation, wavelet recompostions) for Indeo Video Interactive codecs. More...

Go to the source code of this file.
| Macros | |
| #define | IVI_HAAR_BFLY(s1, s2, o1, o2, t) | 
| butterfly operation for the inverse Haar transform  More... | |
| #define | INV_HAAR8(s1, s5, s3, s7, s2, s4, s6, s8, d1, d2, d3, d4, d5, d6, d7, d8, t0, t1, t2, t3, t4, t5, t6, t7, t8) | 
| inverse 8-point Haar transform  More... | |
| #define | INV_HAAR4(s1, s3, s5, s7) | 
| inverse 4-point Haar transform  More... | |
| #define | COMPENSATE(x) (x) | 
| #define | COMPENSATE(x) (x) | 
| #define | IVI_SLANT_BFLY(s1, s2, o1, o2, t) | 
| butterfly operation for the inverse slant transform  More... | |
| #define | IVI_IREFLECT(s1, s2, o1, o2, t) | 
| This is a reflection a,b = 1/2, 5/4 for the inverse slant transform.  More... | |
| #define | IVI_SLANT_PART4(s1, s2, o1, o2, t) | 
| This is a reflection a,b = 1/2, 7/8 for the inverse slant transform.  More... | |
| #define | IVI_INV_SLANT8(s1, s4, s8, s5, s2, s6, s3, s7, d1, d2, d3, d4, d5, d6, d7, d8, t0, t1, t2, t3, t4, t5, t6, t7, t8) | 
| inverse slant8 transform  More... | |
| #define | IVI_INV_SLANT4(s1, s4, s2, s3, d1, d2, d3, d4, t0, t1, t2, t3, t4) | 
| inverse slant4 transform  More... | |
| #define | COMPENSATE(x) (x) | 
| #define | COMPENSATE(x) ((x + 1)>>1) | 
| #define | COMPENSATE(x) (x) | 
| #define | COMPENSATE(x) ((x + 1)>>1) | 
| #define | COMPENSATE(x) ((x + 1)>>1) | 
| #define | COMPENSATE(x) ((x + 1)>>1) | 
| #define | IVI_MC_TEMPLATE(size, suffix, OP) | 
| #define | OP_PUT(a, b) (a) = (b) | 
| #define | OP_ADD(a, b) (a) += (b) | 
| Functions | |
| void | ff_ivi_recompose53 (const IVIPlaneDesc *plane, uint8_t *dst, const int dst_pitch) | 
| 5/3 wavelet recomposition filter for Indeo5  More... | |
| void | ff_ivi_recompose_haar (const IVIPlaneDesc *plane, uint8_t *dst, const int dst_pitch) | 
| Haar wavelet recomposition filter for Indeo 4.  More... | |
| void | ff_ivi_inverse_haar_8x8 (const int32_t *in, int16_t *out, uint32_t pitch, const uint8_t *flags) | 
| two-dimensional inverse Haar 8x8 transform for Indeo 4  More... | |
| void | ff_ivi_dc_haar_2d (const int32_t *in, int16_t *out, uint32_t pitch, int blk_size) | 
| DC-only two-dimensional inverse Haar transform for Indeo 4.  More... | |
| void | ff_ivi_inverse_slant_8x8 (const int32_t *in, int16_t *out, uint32_t pitch, const uint8_t *flags) | 
| two-dimensional inverse slant 8x8 transform  More... | |
| void | ff_ivi_inverse_slant_4x4 (const int32_t *in, int16_t *out, uint32_t pitch, const uint8_t *flags) | 
| two-dimensional inverse slant 4x4 transform  More... | |
| void | ff_ivi_dc_slant_2d (const int32_t *in, int16_t *out, uint32_t pitch, int blk_size) | 
| DC-only two-dimensional inverse slant transform.  More... | |
| void | ff_ivi_row_slant8 (const int32_t *in, int16_t *out, uint32_t pitch, const uint8_t *flags) | 
| inverse 1D row slant transform  More... | |
| void | ff_ivi_dc_row_slant (const int32_t *in, int16_t *out, uint32_t pitch, int blk_size) | 
| DC-only inverse row slant transform.  More... | |
| void | ff_ivi_col_slant8 (const int32_t *in, int16_t *out, uint32_t pitch, const uint8_t *flags) | 
| inverse 1D column slant transform  More... | |
| void | ff_ivi_dc_col_slant (const int32_t *in, int16_t *out, uint32_t pitch, int blk_size) | 
| DC-only inverse column slant transform.  More... | |
| void | ff_ivi_put_pixels_8x8 (const int32_t *in, int16_t *out, uint32_t pitch, const uint8_t *flags) | 
| Copy the pixels into the frame buffer.  More... | |
| void | ff_ivi_put_dc_pixel_8x8 (const int32_t *in, int16_t *out, uint32_t pitch, int blk_size) | 
| Copy the DC coefficient into the first pixel of the block and zero all others.  More... | |
Detailed Description
DSP functions (inverse transforms, motion compensation, wavelet recompostions) for Indeo Video Interactive codecs.
Definition in file ivi_dsp.c.
Macro Definition Documentation
inverse 4-point Haar transform
| #define INV_HAAR8 | ( | s1, | |
| s5, | |||
| s3, | |||
| s7, | |||
| s2, | |||
| s4, | |||
| s6, | |||
| s8, | |||
| d1, | |||
| d2, | |||
| d3, | |||
| d4, | |||
| d5, | |||
| d6, | |||
| d7, | |||
| d8, | |||
| t0, | |||
| t1, | |||
| t2, | |||
| t3, | |||
| t4, | |||
| t5, | |||
| t6, | |||
| t7, | |||
| t8 | |||
| ) | 
inverse 8-point Haar transform
Definition at line 243 of file ivi_dsp.c.
Referenced by ff_ivi_inverse_haar_8x8().
butterfly operation for the inverse Haar transform
inverse slant4 transform
Definition at line 378 of file ivi_dsp.c.
Referenced by ff_ivi_inverse_slant_4x4().
| #define IVI_INV_SLANT8 | ( | s1, | |
| s4, | |||
| s8, | |||
| s5, | |||
| s2, | |||
| s6, | |||
| s3, | |||
| s7, | |||
| d1, | |||
| d2, | |||
| d3, | |||
| d4, | |||
| d5, | |||
| d6, | |||
| d7, | |||
| d8, | |||
| t0, | |||
| t1, | |||
| t2, | |||
| t3, | |||
| t4, | |||
| t5, | |||
| t6, | |||
| t7, | |||
| t8 | |||
| ) | 
inverse slant8 transform
Definition at line 356 of file ivi_dsp.c.
Referenced by ff_ivi_col_slant8(), ff_ivi_inverse_slant_8x8(), and ff_ivi_row_slant8().
butterfly operation for the inverse slant transform
Function Documentation
inverse 1D column slant transform
- Parameters
- 
  [in] in pointer to the vector of transform coefficients [out] out pointer to the output buffer (frame) [in] pitch pitch to move to the next y line [in] flags pointer to the array of column flags: != 0 - non_empty column, 0 - empty one (this array must be filled by caller) 
Definition at line 518 of file ivi_dsp.c.
Referenced by decode_gop_header().
DC-only inverse column slant transform.
Definition at line 545 of file ivi_dsp.c.
Referenced by decode_gop_header().
DC-only two-dimensional inverse Haar transform for Indeo 4.
Performing the inverse transform in this case is equivalent to spreading DC_coeff >> 3 over the whole block.
- Parameters
- 
  [in] in pointer to the dc coefficient [out] out pointer to the output buffer (frame) [in] pitch pitch to move to the next y line [in] blk_size transform block size 
DC-only inverse row slant transform.
Definition at line 500 of file ivi_dsp.c.
Referenced by decode_gop_header().
DC-only two-dimensional inverse slant transform.
Performing the inverse slant transform in this case is equivalent to spreading (DC_coeff + 1)/2 over the whole block. It works much faster than performing the slant transform on a vector of zeroes.
- Parameters
- 
  [in] in pointer to the dc coefficient [out] out pointer to the output buffer (frame) [in] pitch pitch to move to the next y line [in] blk_size transform block size 
Definition at line 467 of file ivi_dsp.c.
Referenced by decode_gop_header().
| void ff_ivi_inverse_haar_8x8 | ( | const int32_t * | in, | 
| int16_t * | out, | ||
| uint32_t | pitch, | ||
| const uint8_t * | flags | ||
| ) | 
two-dimensional inverse Haar 8x8 transform for Indeo 4
- Parameters
- 
  [in] in pointer to the vector of transform coefficients [out] out pointer to the output buffer (frame) [in] pitch pitch to move to the next y line [in] flags pointer to the array of column flags: != 0 - non_empty column, 0 - empty one (this array must be filled by caller) 
| void ff_ivi_inverse_slant_4x4 | ( | const int32_t * | in, | 
| int16_t * | out, | ||
| uint32_t | pitch, | ||
| const uint8_t * | flags | ||
| ) | 
two-dimensional inverse slant 4x4 transform
- Parameters
- 
  [in] in pointer to the vector of transform coefficients [out] out pointer to the output buffer (frame) [in] pitch pitch to move to the next y line [in] flags pointer to the array of column flags: != 0 - non_empty column, 0 - empty one (this array must be filled by caller) 
Definition at line 427 of file ivi_dsp.c.
Referenced by decode_gop_header().
| void ff_ivi_inverse_slant_8x8 | ( | const int32_t * | in, | 
| int16_t * | out, | ||
| uint32_t | pitch, | ||
| const uint8_t * | flags | ||
| ) | 
two-dimensional inverse slant 8x8 transform
- Parameters
- 
  [in] in pointer to the vector of transform coefficients [out] out pointer to the output buffer (frame) [in] pitch pitch to move to the next y line [in] flags pointer to the array of column flags: != 0 - non_empty column, 0 - empty one (this array must be filled by caller) 
Definition at line 387 of file ivi_dsp.c.
Referenced by decode_gop_header().
Copy the DC coefficient into the first pixel of the block and zero all others.
Definition at line 569 of file ivi_dsp.c.
Referenced by decode_gop_header().
| void ff_ivi_put_pixels_8x8 | ( | const int32_t * | in, | 
| int16_t * | out, | ||
| uint32_t | pitch, | ||
| const uint8_t * | flags | ||
| ) | 
Copy the pixels into the frame buffer.
Definition at line 559 of file ivi_dsp.c.
Referenced by decode_gop_header().
| void ff_ivi_recompose53 | ( | const IVIPlaneDesc * | plane, | 
| uint8_t * | dst, | ||
| const int | dst_pitch | ||
| ) | 
5/3 wavelet recomposition filter for Indeo5
- Parameters
- 
  [in] plane pointer to the descriptor of the plane being processed [out] dst pointer to the destination buffer [in] dst_pitch pitch of the destination buffer 
Definition at line 33 of file ivi_dsp.c.
Referenced by ff_ivi_decode_frame().
| void ff_ivi_recompose_haar | ( | const IVIPlaneDesc * | plane, | 
| uint8_t * | dst, | ||
| const int | dst_pitch | ||
| ) | 
Haar wavelet recomposition filter for Indeo 4.
- Parameters
- 
  [in] plane pointer to the descriptor of the plane being processed [out] dst pointer to the destination buffer [in] dst_pitch pitch of the destination buffer 
Definition at line 190 of file ivi_dsp.c.
Referenced by ff_ivi_decode_frame().
inverse 1D row slant transform
- Parameters
- 
  [in] in pointer to the vector of transform coefficients [out] out pointer to the output buffer (frame) [in] pitch pitch to move to the next y line [in] flags pointer to the array of column flags (unused here) 
Definition at line 480 of file ivi_dsp.c.
Referenced by decode_gop_header().
Generated by
 1.8.11
 1.8.11