Created by the British Broadcasting Corporation.
#include <mot_comp.h>
Inheritance diagram for dirac::MotionCompensator:
dirac::MotionCompensator::MotionCompensator | ( | const PicturePredParams & | ppp | ) |
Constructor initialises using codec parameters.
virtual dirac::MotionCompensator::~MotionCompensator | ( | ) | [virtual] |
dirac::MotionCompensator::MotionCompensator | ( | const MotionCompensator & | cpy | ) | [private] |
static void dirac::MotionCompensator::CompensatePicture | ( | const PicturePredParams & | ppp, | |
const AddOrSub | direction, | |||
const MvData & | mv_data, | |||
Picture * | in_pic, | |||
Picture * | refptr[2] | |||
) | [static] |
Static function that motion compensates a picture. It uses the MV precision value in the PicturePredParams to instantiate the appropriate MotionCompensation sub-class.
ppp | Picture prediction parameters | |
direction | whether we're subtracting or adding | |
mv_data | the motion vector data | |
in_pic | Pointer to picture being motion compensated | |
refptr | Array of pointers to reference pictures. |
void dirac::MotionCompensator::CompensatePicture | ( | const AddOrSub | direction, | |
const MvData & | mv_data, | |||
Picture * | in_pic, | |||
Picture * | refsptr[2] | |||
) |
Perform motion compensated addition/subtraction on a picture using parameters
direction | whether we're subtracting or adding ` | |
mv_data | the motion vector data | |
in_pic | Pointer to picture being motion compensated | |
refsptr | Array of pointers to reference pictures. |
MotionCompensator& dirac::MotionCompensator::operator= | ( | const MotionCompensator & | rhs | ) | [private] |
void dirac::MotionCompensator::CompensateComponent | ( | Picture * | pic, | |
Picture * | refsptr[2], | |||
const MvData & | mv_data, | |||
const CompSort | cs | |||
) | [private] |
void dirac::MotionCompensator::DCBlock | ( | TwoDArray< ValueType > & | block_data, | |
const ValueType | dc | |||
) | [private] |
DC-compensate an individual block
void dirac::MotionCompensator::ReConfig | ( | ) | [private] |
void dirac::MotionCompensator::CalculateWeights | ( | int | xbsep, | |
int | ybsep, | |||
TwoDArray< ValueType > * | wt_array | |||
) | [private] |
void dirac::MotionCompensator::CreateBlock | ( | int | xbsep, | |
int | ybsep, | |||
bool | FullX, | |||
bool | FullY, | |||
TwoDArray< ValueType > & | WeightArray | |||
) | [private] |
Params defines the block parameters so the relevant weighting arrays can be created. FullX and FullY refer to whether the weight should be adjusted for the edge of an image. eg. 1D Weighting shapes in x direction FullX true FullX false ******** * * * * * *
void dirac::MotionCompensator::FlipX | ( | const TwoDArray< ValueType > & | Original, | |
TwoDArray< ValueType > & | Flipped | |||
) | [private] |
void dirac::MotionCompensator::FlipY | ( | const TwoDArray< ValueType > & | Original, | |
TwoDArray< ValueType > & | Flipped | |||
) | [private] |
virtual void dirac::MotionCompensator::CompensateBlock | ( | TwoDArray< ValueType > & | pic_data, | |
const ImageCoords & | pos, | |||
const ImageCoords & | orig_pic_size, | |||
PredMode | block_mode, | |||
ValueType | dc, | |||
const PicArray & | ref1up_data, | |||
const MVector & | mv1, | |||
const PicArray & | ref2up_data, | |||
const MVector & | mv2, | |||
const TwoDArray< ValueType > & | Weights | |||
) | [private, virtual] |
virtual void dirac::MotionCompensator::BlockPixelPred | ( | TwoDArray< ValueType > & | block_data, | |
const ImageCoords & | pos, | |||
const ImageCoords & | orig_pic_size, | |||
const PicArray & | refup_data, | |||
const MVector & | mv | |||
) | [private, pure virtual] |
void dirac::MotionCompensator::AdjustBlockByRefWeights | ( | TwoDArray< ValueType > & | val1_block, | |
TwoDArray< ValueType > & | val2_block, | |||
PredMode | block_mode | |||
) | [private] |
void dirac::MotionCompensator::AdjustBlockBySpatialWeights | ( | TwoDArray< ValueType > & | val_block, | |
const ImageCoords & | pos, | |||
const TwoDArray< ValueType > & | wt_array | |||
) | [private] |
ChromaFormat dirac::MotionCompensator::m_cformat [protected] |
bool dirac::MotionCompensator::luma_or_chroma [protected] |
AddOrSub dirac::MotionCompensator::m_add_or_sub [protected] |
OLBParams dirac::MotionCompensator::m_bparams [protected] |
TwoDArray<ValueType>* dirac::MotionCompensator::m_block_weights [protected] |
TwoDArray<ValueType>* dirac::MotionCompensator::m_sub_block_weights [protected] |
© 2004 British Broadcasting Corporation.
Dirac code licensed under the Mozilla Public License (MPL) Version 1.1.
HTML documentation generated by Dimitri van Heesch's
excellent Doxygen tool.