1,实验内容
1,找出第一帧第二行第三个宏块的mode(编码模式);
2,找出第二帧第二行第三个宏块的mode和MV(运动矢量);
2,编码器调试
宏块(MB)类型(define.h)
// Available MB modes
typedef enum {
PSKIP = 0,
BSKIP_DIRECT = 0,
P16x16 = 1,
P16x8 = 2,
P8x16 = 3,
SMB8x8 = 4,
SMB8x4 = 5,
SMB4x8 = 6,
SMB4x4 = 7,
P8x8 = 8,
I4MB = 9,
I16MB = 10,
IBLOCK = 11,
SI4MB = 12,
I8MB = 13,
IPCM = 14,
MAXMODE = 15
} MBModeTypes;
帧内预测模式
4×4亮度预测模式
// 4x4 intra prediction modes
typedef enum {
VERT_PRED = 0,
HOR_PRED = 1,
DC_PRED = 2,
DIAG_DOWN_LEFT_PRED = 3,
DIAG_DOWN_RIGHT_PRED = 4,
VERT_RIGHT_PRED = 5,
HOR_DOWN_PRED = 6,
VERT_LEFT_PRED = 7,
HOR_UP_PRED = 8
} I4x4PredModes;
16×16亮度预测模式
// 16x16 intra prediction modes
typedef enum {
VERT_PRED_16 = 0,
HOR_PRED_16 = 1,
DC_PRED_16 = 2,
PLANE_16 = 3
} I16x16PredModes;
8×8色度预测模式
// 8x8 chroma intra prediction modes
typedef enum {
DC_PRED_8 = 0,
HOR_PRED_8 = 1,
VERT_PRED_8 = 2,
PLANE_8 = 3
} I8x8PredModes;
色度的Cr和Cb分量的预测模式选择是一样的。
色度预测模式与16x16亮度预测模式的描述类似,除了模式的编号不一样。
实验调试
lencod设为启动项目,调试属性:
在defines.h中设置 TRACE 为 1,以生成 trace_enc.txt 文件。