libavcodec/ivi_dsp.h File Reference

DSP functions (inverse transforms, motion compensations, wavelet recompostion) for Indeo Video Interactive codecs. More...

#include "avcodec.h"
#include "ivi_common.h"

Go to the source code of this file.

Functions

void ff_ivi_recompose53 (const IVIPlaneDesc *plane, uint8_t *dst, const int dst_pitch, const int num_bands)
 5/3 wavelet recomposition filter for Indeo5
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
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
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.
void ff_ivi_row_slant8 (const int32_t *in, int16_t *out, uint32_t pitch, const uint8_t *flags)
 inverse 1D row slant transform
void ff_ivi_col_slant8 (const int32_t *in, int16_t *out, uint32_t pitch, const uint8_t *flags)
 inverse 1D column slant transform
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.
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.
void ff_ivi_put_pixels_8x8 (const int32_t *in, int16_t *out, uint32_t pitch, const uint8_t *flags)
 Copies the pixels into the frame buffer.
void ff_ivi_put_dc_pixel_8x8 (const int32_t *in, int16_t *out, uint32_t pitch, int blk_size)
 Copies the DC coefficient into the first pixel of the block and zeroes all others.
void ff_ivi_mc_8x8_delta (int16_t *buf, const int16_t *ref_buf, uint32_t pitch, int mc_type)
 8x8 block motion compensation with adding delta
void ff_ivi_mc_4x4_delta (int16_t *buf, const int16_t *ref_buf, uint32_t pitch, int mc_type)
 4x4 block motion compensation with adding delta
void ff_ivi_mc_8x8_no_delta (int16_t *buf, const int16_t *ref_buf, uint32_t pitch, int mc_type)
 motion compensation without adding delta
void ff_ivi_mc_4x4_no_delta (int16_t *buf, const int16_t *ref_buf, uint32_t pitch, int mc_type)
 4x4 block motion compensation without adding delta


Detailed Description

DSP functions (inverse transforms, motion compensations, wavelet recompostion) for Indeo Video Interactive codecs.

Definition in file ivi_dsp.h.


Function Documentation

void ff_ivi_col_slant8 ( const int32_t *  in,
int16_t *  out,
uint32_t  pitch,
const uint8_t *  flags 
)

inverse 1D column slant transform

Parameters:
in [in] pointer to the vector of transform coefficients
out [out] pointer to the output buffer (frame)
pitch [in] pitch to move to the next y line
flags [in] pointer to the array of column flags: != 0 - non_empty column, 0 - empty one (this array must be filled by caller)

Definition at line 362 of file ivi_dsp.c.

Referenced by decode_gop_header().

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.

Definition at line 389 of file ivi_dsp.c.

Referenced by decode_gop_header().

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.

Definition at line 344 of file ivi_dsp.c.

Referenced by decode_gop_header().

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.

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)
pitch [in] pitch to move to the next y line
blk_size [in] transform block size

Definition at line 311 of file ivi_dsp.c.

Referenced by decode_gop_header().

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)
pitch [in] pitch to move to the next y line
flags [in] pointer to the array of column flags: != 0 - non_empty column, 0 - empty one (this array must be filled by caller)

Definition at line 271 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)
pitch [in] pitch to move to the next y line
flags [in] pointer to the array of column flags: != 0 - non_empty column, 0 - empty one (this array must be filled by caller)

Definition at line 231 of file ivi_dsp.c.

Referenced by decode_gop_header().

void ff_ivi_mc_4x4_delta ( int16_t *  buf,
const int16_t *  ref_buf,
uint32_t  pitch,
int  mc_type 
)

4x4 block motion compensation with adding delta

Parameters:
buf [in,out] pointer to the block in the current frame buffer containing delta
ref_buf [in] pointer to the corresponding block in the reference frame
pitch [in] pitch for moving to the next y line
mc_type [in] interpolation type

Referenced by ff_ivi_decode_blocks().

void ff_ivi_mc_4x4_no_delta ( int16_t *  buf,
const int16_t *  ref_buf,
uint32_t  pitch,
int  mc_type 
)

4x4 block motion compensation without adding delta

Parameters:
buf [in,out] pointer to the block in the current frame receiving the result
ref_buf [in] pointer to the corresponding block in the reference frame
pitch [in] pitch for moving to the next y line
mc_type [in] interpolation type

Referenced by ff_ivi_decode_blocks(), and ff_ivi_process_empty_tile().

void ff_ivi_mc_8x8_delta ( int16_t *  buf,
const int16_t *  ref_buf,
uint32_t  pitch,
int  mc_type 
)

8x8 block motion compensation with adding delta

Parameters:
buf [in,out] pointer to the block in the current frame buffer containing delta
ref_buf [in] pointer to the corresponding block in the reference frame
pitch [in] pitch for moving to the next y line
mc_type [in] interpolation type

Referenced by ff_ivi_decode_blocks().

void ff_ivi_mc_8x8_no_delta ( int16_t *  buf,
const int16_t *  ref_buf,
uint32_t  pitch,
int  mc_type 
)

motion compensation without adding delta

Parameters:
buf [in,out] pointer to the block in the current frame receiving the result
ref_buf [in] pointer to the corresponding block in the reference frame
pitch [in] pitch for moving to the next y line
mc_type [in] interpolation type

Referenced by ff_ivi_decode_blocks(), and ff_ivi_process_empty_tile().

void ff_ivi_put_dc_pixel_8x8 ( const int32_t *  in,
int16_t *  out,
uint32_t  pitch,
int  blk_size 
)

Copies the DC coefficient into the first pixel of the block and zeroes all others.

Definition at line 413 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 
)

Copies the pixels into the frame buffer.

Definition at line 403 of file ivi_dsp.c.

Referenced by decode_gop_header().

void ff_ivi_recompose53 ( const IVIPlaneDesc plane,
uint8_t *  dst,
const int  dst_pitch,
const int  num_bands 
)

5/3 wavelet recomposition filter for Indeo5

Parameters:
plane [in] pointer to the descriptor of the plane being processed
dst [out] pointer to the destination buffer
dst_pitch [in] pitch of the destination buffer
num_bands [in] number of wavelet bands to be processed

Definition at line 35 of file ivi_dsp.c.

Referenced by decode_frame().

void ff_ivi_row_slant8 ( const int32_t *  in,
int16_t *  out,
uint32_t  pitch,
const uint8_t *  flags 
)

inverse 1D row slant transform

Parameters:
in [in] pointer to the vector of transform coefficients
out [out] pointer to the output buffer (frame)
pitch [in] pitch to move to the next y line
flags [in] pointer to the array of column flags (unused here)

Definition at line 324 of file ivi_dsp.c.

Referenced by decode_gop_header().


Generated on Fri Oct 26 02:36:52 2012 for FFmpeg by  doxygen 1.5.8