xchg_mb_border()
交换
MB
边界的像素。
阅读代码可知,交换双方为边界缓存 (left_border,top_borders) 与重建图象中的相应数据。
其中 xchg 参数是否为 1 决定,在从边界缓存赋值到重建图象的同时,是否保存重建图象的数据到边界缓存。
此函数仅用于
I
块解码。
⒈ 边界缓存仅在 xchg_mb_border() 与 backup_mb_border() 中使用。
⒈ 边界缓存仅在 xchg_mb_border() 与 backup_mb_border() 中使用。
⒉
xchg_mb_border()
函数在图象重建过程中调用两次。
预测前,调用一次,
xchg
参数为
1
;补偿后,调用一次,
xchg
参数为
0
。
⒊
backup_mb_border()
备份的是对应于下一宏块的边界像素。
⒋ backup_mb_border() 仅在滤波前调用。
结论:
⒋ backup_mb_border() 仅在滤波前调用。
结论:
上一宏块:
⒈ 备份滤波前的下一宏块边缘像素。
⒉ 滤波。 当前宏块 (I 块 ) :
⒈ 备份滤波前的下一宏块边缘像素。
⒉ 滤波。 当前宏块 (I 块 ) :
⒈ 交换边界缓存与重建图象相应数据。
⒉ 帧内预测、补偿。
⒊ 从边界缓存恢复数据到重建图象。
如此往复。