ffmpeg - 如何在 H.264 中更改宏块的大小?
问题描述
我正在使用 ffmpeg api 来实现这篇论文(Passthrough+: Real-time Stereoscope View Synthesis for Mobile Mixed Reality)。在本文中,他们使用 8x8 宏块来计算运动矢量。然而,大多数宏块是由 ffmpeg 以 16x16 像素编码的。如何使用ffmpeg api强制宏块大小为8x8(或者可以通过修改libavcodec/libx264.c来完成)?
解决方案
你不能。
H.264 规范 ISO 14496-10 将宏块定义为
具有三个样本阵列的图片的 16x16 亮度样本块和两个对应的色度样本块,或单色图片或使用三个单独颜色平面编码的图片的 16x16 样本块。
当然,这些可以进一步分割用于“帧间预测”,但宏块大小由定义固定。
推荐阅读
- php - 如何在 WooCommerce 中获取产品的品牌名称
- c# - 是否可以使用git标记所有文件
- azure - 如何将 .yml 作业脚本作为单个任务,作为具有其他步骤的管道的一部分?
- php - 没有这样的元素:无法找到元素:{"method":"css selector","selector":"body select[name='Accept']"}
- doctrine - mysql 函数的本机查询或 DoctrineExtensions
- azure - 由于资源提供程序注册错误,无法创建 Azure Web App Bot
- android - ERROR: Could not find org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.3.31
- php - 通过 WooCommerce 中的功能显示高级自定义字段
- php - 播种/创建多对多关系
- excel - export-csv powershell后格式化excel文件