ScummVM API documentation
Image::Indeo::IndeoDSP Class Reference

Static Public Member Functions

static void ffIviInverseHaar8x8 (const int32 *in, int16 *out, uint32 pitch, const uint8 *flags)
 
static void ffIviInverseHaar8x1 (const int32 *in, int16 *out, uint32 pitch, const uint8 *flags)
 
static void ffIviInverseHaar1x8 (const int32 *in, int16 *out, uint32 pitch, const uint8 *flags)
 
static void ffIviRowHaar8 (const int32 *in, int16 *out, uint32 pitch, const uint8 *flags)
 
static void ffIviColHaar8 (const int32 *in, int16 *out, uint32 pitch, const uint8 *flags)
 
static void ffIviInverseHaar4x4 (const int32 *in, int16 *out, uint32 pitch, const uint8 *flags)
 
static void ffIviRowHaar4 (const int32 *in, int16 *out, uint32 pitch, const uint8 *flags)
 
static void ffIviColHaar4 (const int32 *in, int16 *out, uint32 pitch, const uint8 *flags)
 
static void ffIviDcHaar2d (const int32 *in, int16 *out, uint32 pitch, int blkSize)
 
static void ffIviInverseSlant8x8 (const int32 *in, int16 *out, uint32 pitch, const uint8 *flags)
 
static void ffIviInverseSlant4x4 (const int32 *in, int16 *out, uint32 pitch, const uint8 *flags)
 
static void ffIviDcSlant2d (const int32 *in, int16 *out, uint32 pitch, int blkSize)
 
static void ffIviRowSlant8 (const int32 *in, int16 *out, uint32 pitch, const uint8 *flags)
 
static void ffIviColSlant8 (const int32 *in, int16 *out, uint32 pitch, const uint8 *flags)
 
static void ffIviRowSlant4 (const int32 *in, int16 *out, uint32 pitch, const uint8 *flags)
 
static void ffIviColSlant4 (const int32 *in, int16 *out, uint32 pitch, const uint8 *flags)
 
static void ffIviDcRowSlant (const int32 *in, int16 *out, uint32 pitch, int blkSize)
 
static void ffIviDcColSlant (const int32 *in, int16 *out, uint32 pitch, int blkSize)
 
static void ffIviPutPixels8x8 (const int32 *in, int16 *out, uint32 pitch, const uint8 *flags)
 
static void ffIviPutDcPixel8x8 (const int32 *in, int16 *out, uint32 pitch, int blkSize)
 
static void ffIviMc8x8Delta (int16 *buf, const int16 *refBuf, uint32 pitch, int mcType)
 
static void ffIviMc4x4Delta (int16 *buf, const int16 *refBuf, uint32 pitch, int mcType)
 
static void ffIviMc8x8NoDelta (int16 *buf, const int16 *refBuf, uint32 pitch, int mcType)
 
static void ffIviMc4x4NoDelta (int16 *buf, const int16 *refBuf, uint32 pitch, int mcType)
 
static void ffIviMcAvg8x8Delta (int16 *buf, const int16 *refBuf, const int16 *refBuf2, uint32 pitch, int mcType, int mcType2)
 
static void ffIviMcAvg4x4Delta (int16 *buf, const int16 *refBuf, const int16 *refBuf2, uint32 pitch, int mcType, int mcType2)
 
static void ffIviMcAvg8x8NoDelta (int16 *buf, const int16 *refBuf, const int16 *refBuf2, uint32 pitch, int mcType, int mcType2)
 
static void ffIviMcAvg4x4NoDelta (int16 *buf, const int16 *refBuf, const int16 *refBuf2, uint32 pitch, int mcType, int mcType2)
 

Member Function Documentation

◆ ffIviInverseHaar8x8()

static void Image::Indeo::IndeoDSP::ffIviInverseHaar8x8 ( const int32 *  in,
int16 *  out,
uint32  pitch,
const uint8 *  flags 
)
static

two-dimensional inverse Haar 8x8 transform for Indeo 4

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

◆ ffIviRowHaar8()

static void Image::Indeo::IndeoDSP::ffIviRowHaar8 ( const int32 *  in,
int16 *  out,
uint32  pitch,
const uint8 *  flags 
)
static

one-dimensional inverse 8-point Haar transform on rows for Indeo 4

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

◆ ffIviColHaar8()

static void Image::Indeo::IndeoDSP::ffIviColHaar8 ( const int32 *  in,
int16 *  out,
uint32  pitch,
const uint8 *  flags 
)
static

one-dimensional inverse 8-point Haar transform on columns for Indeo 4

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

◆ ffIviInverseHaar4x4()

static void Image::Indeo::IndeoDSP::ffIviInverseHaar4x4 ( const int32 *  in,
int16 *  out,
uint32  pitch,
const uint8 *  flags 
)
static

two-dimensional inverse Haar 4x4 transform for Indeo 4

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

◆ ffIviRowHaar4()

static void Image::Indeo::IndeoDSP::ffIviRowHaar4 ( const int32 *  in,
int16 *  out,
uint32  pitch,
const uint8 *  flags 
)
static

one-dimensional inverse 4-point Haar transform on rows for Indeo 4

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

◆ ffIviColHaar4()

static void Image::Indeo::IndeoDSP::ffIviColHaar4 ( const int32 *  in,
int16 *  out,
uint32  pitch,
const uint8 *  flags 
)
static

one-dimensional inverse 4-point Haar transform on columns for Indeo 4

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

◆ ffIviDcHaar2d()

static void Image::Indeo::IndeoDSP::ffIviDcHaar2d ( const int32 *  in,
int16 *  out,
uint32  pitch,
int  blkSize 
)
static

DC-only two-dimensional inverse Haar transform for Indeo 4. Performing the inverse transform in this case is equivalent to spreading dcCoeff >> 3 over the whole block.

Parameters
[in]inPointer to the dc coefficient
[out]outPointer to the output buffer (frame)
[in]pitchPitch to move to the next y line
[in]blkSizeTransform block size

◆ ffIviInverseSlant8x8()

static void Image::Indeo::IndeoDSP::ffIviInverseSlant8x8 ( const int32 *  in,
int16 *  out,
uint32  pitch,
const uint8 *  flags 
)
static

two-dimensional inverse slant 8x8 transform

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

◆ ffIviInverseSlant4x4()

static void Image::Indeo::IndeoDSP::ffIviInverseSlant4x4 ( const int32 *  in,
int16 *  out,
uint32  pitch,
const uint8 *  flags 
)
static

two-dimensional inverse slant 4x4 transform

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

◆ ffIviDcSlant2d()

static void Image::Indeo::IndeoDSP::ffIviDcSlant2d ( const int32 *  in,
int16 *  out,
uint32  pitch,
int  blkSize 
)
static

DC-only two-dimensional inverse slant transform. Performing the inverse slant transform in this case is equivalent to spreading (dcCoeff + 1)/2 over the whole block. It works much faster than performing the slant transform on a vector of zeroes.

Parameters
[in]inPointer to the dc coefficient
[out]outPointer to the output buffer (frame)
[in]pitchPitch to move to the next y line
[in]blkSizeTransform block size

◆ ffIviRowSlant8()

static void Image::Indeo::IndeoDSP::ffIviRowSlant8 ( const int32 *  in,
int16 *  out,
uint32  pitch,
const uint8 *  flags 
)
static

inverse 1D row slant transform

Parameters
[in]inPointer to the vector of transform coefficients
[out]outPointer to the output buffer (frame)
[in]pitchPitch to move to the next y line
[in]flagsPointer to the array of column flags (unused here)

◆ ffIviColSlant8()

static void Image::Indeo::IndeoDSP::ffIviColSlant8 ( const int32 *  in,
int16 *  out,
uint32  pitch,
const uint8 *  flags 
)
static

inverse 1D column slant transform

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

◆ ffIviRowSlant4()

static void Image::Indeo::IndeoDSP::ffIviRowSlant4 ( const int32 *  in,
int16 *  out,
uint32  pitch,
const uint8 *  flags 
)
static

inverse 1D row slant transform

Parameters
[in]inPointer to the vector of transform coefficients
[out]outPointer to the output buffer (frame)
[in]pitchPitch to move to the next y line
[in]flagsPointer to the array of column flags (unused here)

◆ ffIviColSlant4()

static void Image::Indeo::IndeoDSP::ffIviColSlant4 ( const int32 *  in,
int16 *  out,
uint32  pitch,
const uint8 *  flags 
)
static

inverse 1D column slant transform

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

◆ ffIviDcRowSlant()

static void Image::Indeo::IndeoDSP::ffIviDcRowSlant ( const int32 *  in,
int16 *  out,
uint32  pitch,
int  blkSize 
)
static

DC-only inverse row slant transform

◆ ffIviDcColSlant()

static void Image::Indeo::IndeoDSP::ffIviDcColSlant ( const int32 *  in,
int16 *  out,
uint32  pitch,
int  blkSize 
)
static

DC-only inverse column slant transform

◆ ffIviPutPixels8x8()

static void Image::Indeo::IndeoDSP::ffIviPutPixels8x8 ( const int32 *  in,
int16 *  out,
uint32  pitch,
const uint8 *  flags 
)
static

Copy the pixels into the frame buffer.

◆ ffIviPutDcPixel8x8()

static void Image::Indeo::IndeoDSP::ffIviPutDcPixel8x8 ( const int32 *  in,
int16 *  out,
uint32  pitch,
int  blkSize 
)
static

Copy the DC coefficient into the first pixel of the block and zero all others.

◆ ffIviMc8x8Delta()

static void Image::Indeo::IndeoDSP::ffIviMc8x8Delta ( int16 *  buf,
const int16 *  refBuf,
uint32  pitch,
int  mcType 
)
static

8x8 block motion compensation with adding delta

Parameters
[in,out]bufPointer to the block in the current frame buffer containing delta
[in]refBufPointer to the corresponding block in the reference frame
[in]pitchPitch for moving to the next y line
[in]mcTypeInterpolation type

◆ ffIviMc4x4Delta()

static void Image::Indeo::IndeoDSP::ffIviMc4x4Delta ( int16 *  buf,
const int16 *  refBuf,
uint32  pitch,
int  mcType 
)
static

4x4 block motion compensation with adding delta

Parameters
[in,out]bufPointer to the block in the current frame buffer containing delta
[in]refBufPointer to the corresponding block in the reference frame
[in]pitchPitch for moving to the next y line
[in]mcTypeInterpolation type

◆ ffIviMc8x8NoDelta()

static void Image::Indeo::IndeoDSP::ffIviMc8x8NoDelta ( int16 *  buf,
const int16 *  refBuf,
uint32  pitch,
int  mcType 
)
static

motion compensation without adding delta

Parameters
[in,out]bufPointer to the block in the current frame buffer containing delta
[in]refBufPointer to the corresponding block in the reference frame
[in]pitchPitch for moving to the next y line
[in]mcTypeInterpolation type

◆ ffIviMc4x4NoDelta()

static void Image::Indeo::IndeoDSP::ffIviMc4x4NoDelta ( int16 *  buf,
const int16 *  refBuf,
uint32  pitch,
int  mcType 
)
static

4x4 block motion compensation without adding delta

Parameters
[in,out]bufPointer to the block in the current frame receiving the result
[in]refBufPointer to the corresponding block in the reference frame
[in]pitchPitch for moving to the next y line
[in]mcTypeInterpolation type

◆ ffIviMcAvg8x8Delta()

static void Image::Indeo::IndeoDSP::ffIviMcAvg8x8Delta ( int16 *  buf,
const int16 *  refBuf,
const int16 *  refBuf2,
uint32  pitch,
int  mcType,
int  mcType2 
)
static

8x8 block motion compensation with adding delta

Parameters
[in,out]bufPointer to the block in the current frame buffer containing delta
[in]refBufPointer to the corresponding block in the backward reference frame
[in]refBuf2Pointer to the corresponding block in the forward reference frame
[in]pitchPitch for moving to the next y line
[in]mcTypeInterpolation type for backward reference
[in]mcType2Interpolation type for forward reference

◆ ffIviMcAvg4x4Delta()

static void Image::Indeo::IndeoDSP::ffIviMcAvg4x4Delta ( int16 *  buf,
const int16 *  refBuf,
const int16 *  refBuf2,
uint32  pitch,
int  mcType,
int  mcType2 
)
static

4x4 block motion compensation with adding delta

Parameters
[in,out]bufPointer to the block in the current frame buffer containing delta
[in]refBufPointer to the corresponding block in the backward reference frame
[in]refBuf2Pointer to the corresponding block in the forward reference frame
[in]pitchPitch for moving to the next y line
[in]mcTypeInterpolation type for backward reference
[in]mcType2Interpolation type for forward reference

◆ ffIviMcAvg8x8NoDelta()

static void Image::Indeo::IndeoDSP::ffIviMcAvg8x8NoDelta ( int16 *  buf,
const int16 *  refBuf,
const int16 *  refBuf2,
uint32  pitch,
int  mcType,
int  mcType2 
)
static

motion compensation without adding delta for B-frames

Parameters
[in,out]bufPointer to the block in the current frame buffer containing delta
[in]refBufPointer to the corresponding block in the backward reference frame
[in]refBuf2Pointer to the corresponding block in the forward reference frame
[in]pitchPitch for moving to the next y line
[in]mcTypeInterpolation type for backward reference
[in]mcType2Interpolation type for forward reference

◆ ffIviMcAvg4x4NoDelta()

static void Image::Indeo::IndeoDSP::ffIviMcAvg4x4NoDelta ( int16 *  buf,
const int16 *  refBuf,
const int16 *  refBuf2,
uint32  pitch,
int  mcType,
int  mcType2 
)
static

4x4 block motion compensation without adding delta for B-frames

Parameters
[in,out]bufPointer to the block in the current frame buffer containing delta
[in]refBufPointer to the corresponding block in the backward reference frame
[in]refBuf2Pointer to the corresponding block in the forward reference frame
[in]pitchPitch for moving to the next y line
[in]mcTypeInterpolation type for backward reference
[in]mcType2Interpolation type for forward reference

The documentation for this class was generated from the following file: