这些FFmpeg APNG编码器预测方法是什么意思?

3
通过运行ffmpeg -h encoder=apng,我得到了以下信息:
APNG encoder AVOptions:
  -dpi               <int>        E..V..... Set image resolution (in dots per inch) (from 0 to 65536) (default 0)
  -dpm               <int>        E..V..... Set image resolution (in dots per meter) (from 0 to 65536) (default 0)
  -pred              <int>        E..V..... Prediction method (from 0 to 5) (default none)
     none                         E..V.....
     sub                          E..V.....
     up                           E..V.....
     avg                          E..V.....
     paeth                        E..V.....
     mixed                        E..V.....

这些使用-pred指定的预测方法有什么区别?
我在ffmpeg.org或其他任何地方都找不到相关文档。

3
请查看PNG规范中的滤波器类型 - undefined
谢谢,就这样吧。我猜“混合”就是最好的东西了? - undefined
2
老实说,我不知道。也许这段代码有答案。我看到它在其他滤镜类型上进行迭代,并选择具有最低“成本”的滤镜。 - undefined
1个回答

5
PNG规范指定了5种不同的过滤器类型,用于在压缩图像数据之前使其更易于压缩:无、sub、up、average和Paeth。每个过滤器的想法是从附近像素派生出当前像素,然后仅存储调整该估计值以获得真实值所需的量。图像的每个扫描行都有一个指定的过滤器。每个过滤器在不同情况下都可以发挥最佳作用。过滤器不影响实际的图像数据,只影响它的存储。 mixed不是过滤器,而是告诉FFmpeg为每行选择最佳的过滤器。这也称为动态滤波。这样做会导致编码变慢,因为需要为每行尝试5种不同的过滤器,但可以获得更好的压缩效果。使用最小绝对差和方法找到最佳的过滤器。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接