📄 intrapredictor.h
字号:
/* Open H.264
*
* #include <standard_disclaimer>
*
* Authors: aitorgaray@yifan.net
* _
*/
#include "../Common.h"
#include "../Block.h"
#include "../LumaMacroblock.h"
#include "../ChromaMacroblock.h"
#if !defined( __INTRAPREDICTOR_H)
#define __INTRAPREDICTOR_H
// *toDO* these constants should be public static const members of the class, but VisualC++ complaints
#define LUMA_4x4_PREDICTION_COUNT 9
#define LUMA_16x16_PREDICTION_COUNT 4
#define CHROMA_8x8_PREDICTION_COUNT 4
#define LUMA_4x4_MODE0 0 // a total of LUMA_4x4_PREDICTION_COUNT modes
#define LUMA_4x4_MODE1 1
#define LUMA_4x4_MODE2 2
#define LUMA_4x4_MODE3 3
#define LUMA_4x4_MODE4 4
#define LUMA_4x4_MODE5 5
#define LUMA_4x4_MODE6 6
#define LUMA_4x4_MODE7 7
#define LUMA_4x4_MODE8 8
class IntraPredictor {
public:
virtual void predictLuma4x4( /* in */ Block& source, bool upperLeftSampleAvailable, bool upperSamplesAvailable, bool leftSamplesAvailable,
/* out */ Block predictions[ LUMA_4x4_PREDICTION_COUNT], bool validPredictions[ LUMA_4x4_PREDICTION_COUNT]) = 0;
virtual void predictLuma16x16( /* in */ LumaMacroblock& source, bool upperLeftSampleAvailable, bool upperSamplesAvailable, bool leftSamplesAvailable,
/* out */ LumaMacroblock predictions[ LUMA_16x16_PREDICTION_COUNT], bool validPredictions[ LUMA_16x16_PREDICTION_COUNT]) = 0;
virtual void predictChroma8x8( /* in */ ChromaMacroblock& source, bool upperLeftSampleAvailable, bool upperSamplesAvailable, bool leftSamplesAvailable,
/* out */ ChromaMacroblock predictions[ CHROMA_8x8_PREDICTION_COUNT], bool validPredictions[ CHROMA_8x8_PREDICTION_COUNT]) = 0;
};
#endif
/* $Log:$
*
*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -