h->mb.i_neighbour8
{0, 1, 6, 11}
enum macroblock_position_e
{
MB_LEFT = 0x01,
MB_TOP = 0x02,
MB_TOPRIGHT = 0x04,
MB_TOPLEFT = 0x08,
MB_PRIVATE = 0x10,
ALL_NEIGHBORS = 0xf,
};
对于8x8的宏块, 其Layout为
0 1
2 3
对于idx = 0
h->mb.i_neighbour8[idx] = 0;
表示L, T, TL, TR都无效
对于idx=1
h->mb.i_neighbour8[idx]=1
表示MB_LEFT有效
对于idx=2
h->mb.i_neighbour8[idx]=6
表示MB_TOP ,MB_TOPRIGHT有效
对于idx=3
h->mb.i_neighbour8[idx]=11
表示MB_LEFT, MB_TOP, MB_TOPLEFT有效
{0, 1, 6, 11}
enum macroblock_position_e
{
MB_LEFT = 0x01,
MB_TOP = 0x02,
MB_TOPRIGHT = 0x04,
MB_TOPLEFT = 0x08,
MB_PRIVATE = 0x10,
ALL_NEIGHBORS = 0xf,
};
对于8x8的宏块, 其Layout为
0 1
2 3
对于idx = 0
h->mb.i_neighbour8[idx] = 0;
表示L, T, TL, TR都无效
对于idx=1
h->mb.i_neighbour8[idx]=1
表示MB_LEFT有效
对于idx=2
h->mb.i_neighbour8[idx]=6
表示MB_TOP ,MB_TOPRIGHT有效
对于idx=3
h->mb.i_neighbour8[idx]=11
表示MB_LEFT, MB_TOP, MB_TOPLEFT有效