4

我正在尝试使用 x264(通过提供单个图像)对流进行编码,但不寻常的是我已经为我的帧提供了一些运动信息。我确切地知道每一帧中哪些区域已被修改,并且我知道帧中发生了运动的位置。

有没有办法向 x264 提供我自己的运动信息?我想给它帧中给定区域的运动矢量,并以某种方式告诉它帧中的某些区域保证没有任何运动。

我认为这可能会显着提高编码的性能(因为我允许编解码器完全跳过运动估计阶段),并且在编码器的运动估计算法可能错过实际发生的运动的情况下也应该在一定程度上提高质量.

我是否需要修改编码器才能执行此操作,或者现有 API 是否支持此功能?

4

1 回答 1

3

简短回答:不,您不能将运动估计数据输入 x264。

长答案:IIRC,x264 通过输入原始帧来工作,没有额外的数据。为了适应您拥有的运动估计数据,您必须修改 x264 源代码才能完成此操作。

您也许可以在common\mvpred.c或中找到您需要的内容encoder\me.c。我不确定有多少 x264 开发人员实际上访问了 Stack Overflow(我知道他们的一位主要开发人员在这里有一个帐户),但您可以尝试通过他们的 IRC 频道或 doom9 论坛上的常用渠道与他们交谈。

我希望我能给你更多的信息,但不幸的是我对代码库并不是特别精通。尽管如此,开发人员总是愿意并且能够帮助任何希望在 x264 上工作的人。

于 2011-09-06T02:56:00.093 回答