一些x265的参数测试结论分享,希望可以让后来的测试者少做些重复工作,也希望其他一些做过测试的来分享一些结论
发表于 : 2015-01-25 20:38
测试时间是2015年年初,使用的是x265 1.4+285, 16bpp ver.
测试的片源是pp s2 Vol.1里面的一个特典。片源类型是60i,夜间录像,重噪点。做了Deint和适度SMDegrain后,可以认为片源是噪点并不多,暗场多,1920x1080 60p的视频。
因为测试样本比较少,所以以下结论可能具有偶然性。
测试参数基于fch1993的调整,原来参数:
--preset veryslow --crf 16.0 --tu-intra-depth 4 --tu-inter-depth 4 --rdpenalty 2 --me 3 --subme 5 --merange 57 --b-intra --rect --amp --ref 8 --weightb --keyint 9000000 --min-keyint 1 --bframes 8 --aq-mode 1 --aq-strength 0.75 --rd 5 --psy-rd 0.65 --no-sao --no-open-gop --rc-lookahead 72 --scenecut 40 --max-merge 4 --qcomp 0.65 --no-strong-intra-smoothing --pmode --pme --threads 24 --no-cutree
调整后的参数结果:
--preset slower --crf 18.0 --tu-intra-depth 4 --tu-inter-depth 4 --rdpenalty 2 --me 3 --subme 5 --merange 57 --b-intra --rect --amp --ref 5 --weightb --keyint 900 --min-keyint 1 --bframes 8 --aq-mode 1 --aq-strength 1.0 --rd 5 --psy-rd 0.9 --psy-rdoq 1.0 --no-sao --no-open-gop --rc-lookahead 120 --scenecut 40 --max-merge 4 --qcomp 0.70 --no-strong-intra-smoothing --pmode --threads 24 --input-depth 16
测试结果,相比10bit x264 (参数:ref=12 / deblock=1:0:0 / me=umh / subme=10 / fade_compensate=0.00 / psy_rd=0.90:0.10 / me_range=24 / fast_pskip=0 / chroma_qp_offset=-3 / fgo=0 / bframes=8 / b_adapt=2 / weightb=1 / weightp=2 / keyint=900 / keyint_min=1 / mbtree=1 / crf=18.5000 / qcomp=0.65 / aq=3:1.00 / aq2=0 / aq3=0 ),调整后的x265参数大约可以做到画质不分上下(avspmod里面采样ab对比,用眼睛看。至于psnr/ssim数据我没看。psy开了看这些数据就没意义了),同时码率降低25%~30%
几个详细测试的部分和结论:
1. ref=5提升到ref=8,基本上毫无区别。文件大小改变不足1%,画质也没有高下(虽然特定帧画面区别还是有,但是难说哪个好那个坏),所以基本认为现在x265 ref=5就够了。
2. --me 3 降低到 --me 2,就是star降低到umh,速度,码率,画质几乎没有什么改变。但是--me 4(full)据fch测试非常非常慢,效果也没有提升,故不做测试。
3. --subme 5 降低到4,速度,码率,画质几乎没有什么改变,输出基本完全一样。6未做测试。
4. sao要关闭已经是常识了,然后默认关闭的psy,开了好处很多,而且--psy-rdoq的效果大概相当于x264的--psy-trellis,开了可以大幅避免之前的“糊你一脸”。所以这个参数开启了--psy-rdoq,只不过没有量化的测试,用的是默认值1.0
5. 这样的参数在一片 3.7GHz的E3 1230v3/4770K上大约速度是 0.4fps。如果考虑avs等影响,速度还会更慢。这个速度意味着如果要编码一个2小时,Deint后为59.940fps的演唱会,需要连续不停挂机半个月。编码一个24分钟,24p的1920x1080动漫,需要正好一整天。
6. x265多线程优化良好(或者说胃口极大?)。--threads 24 --pmode 的设定下可以轻松跑满8C16T的PC,无需开pme
7. 尽管目前的优化多半针对avx2, 非haswell架构劣势并不是很多,尽管老如i7 980X 或类似架构,比如说一片3.9GHz的i7 980X跑x264基本打平4.5GHz的4770K,两者运行x265,i7 980X速度上大概最多落后5%。所以在目前E5 v3平台成本昂贵的环境下,考虑SNB-E/Ivy-E构建多核心平台跑x265依然可行。
haswell同频同核心,性能比Ivy高36%,比SNB高42%
所以结论是:想玩x265,再不济也得咬牙上E3v3
测试的片源是pp s2 Vol.1里面的一个特典。片源类型是60i,夜间录像,重噪点。做了Deint和适度SMDegrain后,可以认为片源是噪点并不多,暗场多,1920x1080 60p的视频。
因为测试样本比较少,所以以下结论可能具有偶然性。
测试参数基于fch1993的调整,原来参数:
--preset veryslow --crf 16.0 --tu-intra-depth 4 --tu-inter-depth 4 --rdpenalty 2 --me 3 --subme 5 --merange 57 --b-intra --rect --amp --ref 8 --weightb --keyint 9000000 --min-keyint 1 --bframes 8 --aq-mode 1 --aq-strength 0.75 --rd 5 --psy-rd 0.65 --no-sao --no-open-gop --rc-lookahead 72 --scenecut 40 --max-merge 4 --qcomp 0.65 --no-strong-intra-smoothing --pmode --pme --threads 24 --no-cutree
--preset slower --crf 18.0 --tu-intra-depth 4 --tu-inter-depth 4 --rdpenalty 2 --me 3 --subme 5 --merange 57 --b-intra --rect --amp --ref 5 --weightb --keyint 900 --min-keyint 1 --bframes 8 --aq-mode 1 --aq-strength 1.0 --rd 5 --psy-rd 0.9 --psy-rdoq 1.0 --no-sao --no-open-gop --rc-lookahead 120 --scenecut 40 --max-merge 4 --qcomp 0.70 --no-strong-intra-smoothing --pmode --threads 24 --input-depth 16
测试结果,相比10bit x264 (参数:ref=12 / deblock=1:0:0 / me=umh / subme=10 / fade_compensate=0.00 / psy_rd=0.90:0.10 / me_range=24 / fast_pskip=0 / chroma_qp_offset=-3 / fgo=0 / bframes=8 / b_adapt=2 / weightb=1 / weightp=2 / keyint=900 / keyint_min=1 / mbtree=1 / crf=18.5000 / qcomp=0.65 / aq=3:1.00 / aq2=0 / aq3=0 ),调整后的x265参数大约可以做到画质不分上下(avspmod里面采样ab对比,用眼睛看。至于psnr/ssim数据我没看。psy开了看这些数据就没意义了),同时码率降低25%~30%
几个详细测试的部分和结论:
1. ref=5提升到ref=8,基本上毫无区别。文件大小改变不足1%,画质也没有高下(虽然特定帧画面区别还是有,但是难说哪个好那个坏),所以基本认为现在x265 ref=5就够了。
2. --me 3 降低到 --me 2,就是star降低到umh,速度,码率,画质几乎没有什么改变。但是--me 4(full)据fch测试非常非常慢,效果也没有提升,故不做测试。
3. --subme 5 降低到4,速度,码率,画质几乎没有什么改变,输出基本完全一样。6未做测试。
4. sao要关闭已经是常识了,然后默认关闭的psy,开了好处很多,而且--psy-rdoq的效果大概相当于x264的--psy-trellis,开了可以大幅避免之前的“糊你一脸”。所以这个参数开启了--psy-rdoq,只不过没有量化的测试,用的是默认值1.0
5. 这样的参数在一片 3.7GHz的E3 1230v3/4770K上大约速度是 0.4fps。如果考虑avs等影响,速度还会更慢。这个速度意味着如果要编码一个2小时,Deint后为59.940fps的演唱会,需要连续不停挂机半个月。编码一个24分钟,24p的1920x1080动漫,需要正好一整天。
6. x265多线程优化良好(或者说胃口极大?)。--threads 24 --pmode 的设定下可以轻松跑满8C16T的PC,无需开pme
7. 尽管目前的优化多半针对avx2, 非haswell架构劣势并不是很多,尽管老如i7 980X 或类似架构,比如说一片3.9GHz的i7 980X跑x264基本打平4.5GHz的4770K,两者运行x265,i7 980X速度上大概最多落后5%。所以在目前E5 v3平台成本昂贵的环境下,考虑SNB-E/Ivy-E构建多核心平台跑x265依然可行。
haswell同频同核心,性能比Ivy高36%,比SNB高42%
所以结论是:想玩x265,再不济也得咬牙上E3v3