我正在尝试使用x264(通过提供单个图像)对流进行编码,但不同寻常的是我已经为我的帧提供了一些运动信息。我确切地知道每帧中哪些区域已被修改,我知道帧中的运动位置。
有没有办法为x264提供我自己的动作信息?我想给它帧中给定区域的运动矢量,并以某种方式告诉它帧中的某些区域保证不会有任何运动。
我认为这可能会显着提高编码的性能(因为我允许编解码器完全跳过运动估计阶段),并且在编码器的运动估计算法可能错过运动的情况下也应该稍微提高质量实际上发生了。
我是否需要修改编码器才能执行此操作,或现有API是否支持此功能?
答案 0 :(得分:3)
简答:你不能将你的运动估计数据输入x264。
长答案:IIRC,x264通过在原始帧中馈送而没有额外数据来完成它的工作。为了适应您的运动估计数据,您必须修改x264源代码才能实现此目的。
您可以在common\mvpred.c
或encoder\me.c
中找到所需内容。我不确定有多少x264开发人员实际访问了Stack溢出(我知道他们的一个主要开发人员在这里有一个帐户)但你可以尝试通过他们在IRC频道或doom9论坛上的常规频道与他们交谈。 / p>
我希望我能为您提供更多信息,但遗憾的是我对代码库并不是特别精通。开发人员总是愿意并且能够帮助任何希望在x264上工作的人。