我正在尝试使用x264编码流(通过馈送单个图像),但是不寻常的是我已经为帧获取了一些运动信息。我确切地知道每个帧中修改了哪些区域,并且知道帧中发生了什么运动。
有没有办法向x264提供我自己的运动信息?我想给它提供帧中给定区域的运动矢量,并以某种方式告诉它,保证了帧中的某些区域没有运动。
我认为这可能会大大提高编码的性能(因为我允许编解码器完全跳过运动估计阶段),并且在编码器的运动估计算法可能错过了实际发生的运动的情况下,还应该在某种程度上提高质量。
我是否需要修改编码器才能执行此操作,或者现有API是否支持此功能?
最佳答案
简短答案:不,您不能将运动估计数据输入x264。
长答案:IIRC,x264通过在原始帧中馈入而没有额外的数据来完成工作。为了容纳您的运动估计数据,您必须修改x264源代码才能完成此操作。
您可能可以在common\mvpred.c
或encoder\me.c
中找到所需的内容。我不确定有多少x264开发人员实际访问过堆栈溢出(我知道他们的主要开发人员中的一个在这里拥有帐户),但是您可以尝试通过其通常的IRC频道或doom9论坛上的频道与他们交谈。
doom9:http://forum.doom9.org/forumdisplay.php?f=77
doom10:http://doom10.org/index.php?board = 5.0 IRC:
irc://irc.freenode.net/x264和irc://irc.freenode.net/x264dev
邮件列表:http://mailman.videolan.org/listinfo/x264-devel
希望我能为您提供更多信息,但是不幸的是,我对代码库不是很精通。开发人员始终愿意并且能够帮助希望使用x264的任何人。