x265 的 qg-size 与 limit-refs 的默认值问题
op200 opened this issue · 2 comments
op200 commented
在x265的文档中:
--qg-size
的默认值为same as maxCUSize
,也就是64
--limit-refs
的默认值为3
但我使用 ffmpeg 7.0.1
的 x265 3.6+28
输出 1080p yuv420
8 or 10bit
视频的默认值为qg-size=32
limit-refs=1
ffmpeg 6.1
的 x265 3.5+111
也是同样的情况
独立的 x265 3.5+2-cce7d9c56
也是同样的情况
默认的ctu
确实是64
,但qg-size
并没有像文档中写的那样
sinsanction commented
看起来是 x265 改了默认值但没有更新文档,建议向 x265 提 issue
通过 x265 -h
可以看到:
--qg-size
默认值为 32
,实测也是如此
--limit-refs
默认值为 1
,实测也是如此。不过这个不完全准确,实际上 preset 会改这个值,默认 preset medium 现在是 limit-refs=1
,而它降一级 preset fast,仍然 limit-refs=3
。
dtlnor commented
补充一点,qgsize
引入的时候(大概9年前吧)默认值设置为了64
(但会根据preset
变动),然后备注了一句same as maxCUSize
(实际只是数值一样而已)。并非qgsize
的默认值==ctu
。所以qgsize
的 default 实际上跟其他参数无关。
而目前的代码如楼上所说,已经改为了32
了(无论哪个preset
)。
而当qgsize
超限的时候,你会看到 x265 的 log 里面有 warning 提示你他把你的qgsize
值改动到了合法范围内了