FFMPEG中H.264的算法文档--整理自ffmpeg论坛等

本文介绍了解码过程中的边界像素处理方法,包括xchg_mb_border()和backup_mb_border()两个关键函数的作用及调用时机。xchg_mb_border()用于交换边界缓存与重建图像之间的数据,并支持数据的双向流动;而backup_mb_border()则负责备份下一宏块的边界像素。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

xchg_mb_border() 交换 MB 边界的像素。

阅读代码可知,交换双方为边界缓存 (left_border,top_borders) 与重建图象中的相应数据。
其中 xchg 参数是否为 1 决定,在从边界缓存赋值到重建图象的同时,是否保存重建图象的数据到边界缓存。

此函数仅用于 I 块解码。
边界缓存仅在xchg_mb_border() backup_mb_border() 中使用。
xchg_mb_border() 函数在图象重建过程中调用两次。预测前,调用一次, xchg 参数为 1 ;补偿后,调用一次, xchg 参数为 0
backup_mb_border() 备份的是对应于下一宏块的边界像素。
backup_mb_border() 仅在滤波前调用。
结论:

上一宏块:
备份滤波前的下一宏块边缘像素。
滤波。当前宏块(I)

交换边界缓存与重建图象相应数据。
帧内预测、补偿。
从边界缓存恢复数据到重建图象。
如此往复。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值