首页 > 解决方案 > 如何在 H.264 中更改宏块的大小?

问题描述

我正在使用 ffmpeg api 来实现这篇论文(Passthrough+: Real-time Stereoscope View Synthesis for Mobile Mixed Reality)。在本文中,他们使用 8x8 宏块来计算运动矢量。然而,大多数宏块是由 ffmpeg 以 16x16 像素编码的。如何使用ffmpeg api强制宏块大小为8x8(或者可以通过修改libavcodec/libx264.c来完成)?

标签: ffmpegh.264libx264

解决方案


你不能。

H.264 规范 ISO 14496-10 将宏块定义为

具有三个样本阵列的图片的 16x16 亮度样本块和两个对应的色度样本块,或单色图片或使用三个单独颜色平面编码的图片的 16x16 样本块。

当然,这些可以进一步分割用于“帧间预测”,但宏块大小由定义固定。


推荐阅读