这些FFmpeg APNG编码器预测方法意味着什么



通过运行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或其他任何地方都找不到任何文档。

PNG规范指定了5种不同的过滤器类型,用于在压缩图像数据之前使其更具可压缩性:none、sub、up、average和Paeth。每个滤波器的想法是从附近的像素推导出当前像素,然后只存储调整估计值以获得真实值的量。图像的每条扫描线都有一个指定的过滤器。每个过滤器在不同的情况下效果最好。过滤器不会影响实际的图像数据,只会影响图像数据的存储方式。

mixed不是一个过滤器,而是告诉ffmpeg为每一行选择最好的过滤器。这也被称为动态过滤。这使得编码速度变慢,因为每行需要尝试5个不同的滤波器,但可以获得更好的压缩效果。使用绝对差分最小和法找到最佳滤波器。

最新更新