是否可以在 x264 中强制使用 I_PCM 模式?

clo*_*ven 1 video video-encoding x264 libx264

对于使用 x264 压缩的视频中的某些 I 帧,我需要在所有块中使用 I_PCM 模式。我知道这些帧将占用大量空间,但要求它们尽可能忠实于源,并使它们能够非常快速地编码/解码(I_PCM 应该超快且无损)。有没有办法强制 x264 以编程方式执行此操作。我正在使用 libx264 来执行此操作,但我还没有找到在给定帧内指定自定义宏块类型的方法。如果不支持,修改库来实现这一点会有多困难,我应该首先看哪里?

小智 5

libx264 API 不允许您为帧指定自定义宏块类型。至于 I_PCM 宏块,libx264 很少使用它们(并且根本不使用非零 --psy-rd)。如果您想强制 libx264 使用 I_PCM,则需要在 x264_macroblock_analysis 中强制选择 I_PCM。