16.05.2022, 15:16
Durch Verwendung des x264 preset FASTER statt VERYFAST hat sich die Differenz bei den Spitzenwerten um gigantische 0,2% auf 2,3% erhöht
Aktuelle Hybrid AviSynth Umsetzung mit convertbits(10) und ConvertToYUV444:
Mit VapourSynth like Umsetzung und direktem laden als YUV444P10 Quelle:
Ja ich weiß, du hast das eh schon als bug eingestuft, wollt nur zeigen, dass preset faster u.U. etwas besser für derartige Messungen ist. Jedenfalls in meinem System... Da wird bei mir gerade so (jedenfalls die meiste Zeit) eine nahezu vollständige Auslastung des Systems erreicht. Das scheinen mir optimale Voraussetzungen zu sein und ich werde wohl für andere Vergleichsmessungen erstmal dabei bleiben.
Aktuelle Hybrid AviSynth Umsetzung mit convertbits(10) und ConvertToYUV444:
REM ### First 3 lines will be skipped when generating AVS/VPY script from this file. 2nd line must have vspipe/ffmpeg/avs2yuv64 call. Do not remove GOTO :EOF in 3rd line!
"%hybridFolderWin%\64bit\Avisynth\avs2yuv64.exe" -depth 10 -nstdr "%cd%\%dynFileName%.avs" -o - | "%hybridFolderWin%\64bit\x264.exe" --crf 19.00 --profile high444 --level 5.2 --ref 2 --no-mixed-refs --keyint 250 --min-keyint 0 --scenecut 40 --bframes 3 --b-bias 0 --b-pyramid normal --direct spatial --b-adapt 1 --sync-lookahead 16 --cplxblur 20.0 --qcomp 0.60 --qblur 0.50 --mbtree --rc-lookahead 20 --ipratio 1.40 --pbratio 1.30 --chroma-qp-offset 0 --qpmin 0 --qpmax 69 --qpstep 4 --partitions i4x4,i8x8,p8x8,b8x8 --8x8dct --me hex --merange 16 --mvrange -1 --subme 4 --cabac --trellis 1 --weightp 1 --aq-mode 1 --aq-strength 1.00 --vbv-maxrate 240000 --vbv-bufsize 720000 --nr 0 --deadzone-inter 21 --deadzone-intra 11 --cqm flat --threads 16 --sar 1:1 --deblock 0:0 --non-deterministic --range tv --colormatrix bt709 --demuxer y4m --input-range tv --fps 24/1 --output-csp i444 --output-depth 10 --output "%cd%\%dynFileName%.264" -
goto :EOF
ClearAutoloadDirs()
SetFilterMTMode("DEFAULT_MT_MODE",MT_MULTI_INSTANCE)
SetFilterMTMode("FFT3dGPU",MT_MULTI_INSTANCE)
LoadPlugin("$$HYBRIDFOLDER$$\64bit\Avisynth\avisynthPlugins\LoadDll.dll")
LoadDLL("$$HYBRIDFOLDER$$\64bit\Avisynth\avisynthPlugins\d3d9.dll")
LoadPlugin("$$HYBRIDFOLDER$$\64bit\Avisynth\avisynthPlugins\LSMASHSource.dll")
# LoadCPlugin("$$HYBRIDFOLDER$$\64bit\Avisynth\avisynthPlugins\ffms2.dll")
LoadPlugin("$$HYBRIDFOLDER$$\64bit\Avisynth\avisynthPlugins\FFT3dGPU.dll")
# loading source: $$SOURCEVID$$
# color sampling YV24@10, matrix: bt709, scantyp: progressive, luminance scale: limited
#####
LWLibavVideoSource("$$SOURCEVID$$",cache=false,format="YUV444P16", prefer_hw=0,repeat=true)
# LWLibavVideoSource("$$SOURCEVID$$",cache=false,format="YUV444P10", prefer_hw=0,repeat=true)
# FFVideoSource("$$SOURCEVID$$",colorspace="YV12")
#####
# current resolution:
# scaling to 3840x2026
Spline16Resize(3840,2026)
# Converting from 16 to 10bit for encoder
ConvertBits(10)
# adjust color to YV24 (color matrix: Rec709)
ConvertToYUV444()
PreFetch($$DYNMEASUREVAR$$)
#####
# setting output fps to 24.000fps
AssumeFPS(24,1)
#####
# output: color sampling YUY2@10, matrix: bt709, scantyp: progressive, luminance scale: limited
return last
--------------------------------------------------------------------------------
REPLACEMENTS:
$$SIGMA$$ replaced with '2.00'
$$BW$$ replaced with '32'
$$BH$$ replaced with '32'
$$BT$$ replaced with '3'
$$PLANE$$ replaced with '4'
$$MODE$$ replaced with '0'
$$PRECISION$$ replaced with '1'
$$BORDERSIZE$$ replaced with '1'
$$HYBRIDFOLDER$$ replaced with 'C:\Program Files\Hybrid'
$$HYBRIDFOLDER_VS$$ replaced with 'C:/Program Files/Hybrid'
$$SOURCEVID$$ replaced with 'C:\BENCH_AVS_VPS_FILTER\Hybrid YUV444P10 handling\cut_TGM_TLR2_IMAX_3840x2025_H265_YUV444_10BIT.mkv'
$$SOURCEVID_VS$$ replaced with 'C:/BENCH_AVS_VPS_FILTER/Hybrid YUV444P10 handling/cut_TGM_TLR2_IMAX_3840x2025_H265_YUV444_10BIT.mkv'
$$DYNMEASUREVAR$$ replaced dynamically [start,step,end] with '0,4,8'
$$DYNMEASUREVARGAP$$ replaced dynamically [start,step,end] with '0,4,8' +- gap of '+1'
--------------------------------------------------------------------------------
x0 X264 FASTER convertbits(10)-ConvertToYUV444 - lsmash - avs2yuv - 4K YUV444P16 in YUV444P10 out 0-8T
encoded 1666 frames, 5.15 fps, 31495.26 kb/s
x2 X264 FASTER convertbits(10)-ConvertToYUV444 - lsmash - avs2yuv - 4K YUV444P16 in YUV444P10 out 0-8T
encoded 1666 frames, 5.12 fps, 31490.02 kb/s
x4 X264 FASTER convertbits(10)-ConvertToYUV444 - lsmash - avs2yuv - 4K YUV444P16 in YUV444P10 out 0-8T
encoded 1666 frames, 5.19 fps, 31492.89 kb/s
x6 X264 FASTER convertbits(10)-ConvertToYUV444 - lsmash - avs2yuv - 4K YUV444P16 in YUV444P10 out 0-8T
encoded 1666 frames, 5.13 fps, 31491.08 kb/s
x8 X264 FASTER convertbits(10)-ConvertToYUV444 - lsmash - avs2yuv - 4K YUV444P16 in YUV444P10 out 0-8T
encoded 1666 frames, 5.10 fps, 31491.93 kb/s
Mit VapourSynth like Umsetzung und direktem laden als YUV444P10 Quelle:
REM ### First 3 lines will be skipped when generating AVS/VPY script from this file. 2nd line must have vspipe/ffmpeg/avs2yuv64 call. Do not remove GOTO :EOF in 3rd line!
"%hybridFolderWin%\64bit\Avisynth\avs2yuv64.exe" -depth 10 -nstdr "%cd%\%dynFileName%.avs" -o - | "%hybridFolderWin%\64bit\x264.exe" --crf 19.00 --profile high444 --level 5.2 --ref 2 --no-mixed-refs --keyint 250 --min-keyint 0 --scenecut 40 --bframes 3 --b-bias 0 --b-pyramid normal --direct spatial --b-adapt 1 --sync-lookahead 16 --cplxblur 20.0 --qcomp 0.60 --qblur 0.50 --mbtree --rc-lookahead 20 --ipratio 1.40 --pbratio 1.30 --chroma-qp-offset 0 --qpmin 0 --qpmax 69 --qpstep 4 --partitions i4x4,i8x8,p8x8,b8x8 --8x8dct --me hex --merange 16 --mvrange -1 --subme 4 --cabac --trellis 1 --weightp 1 --aq-mode 1 --aq-strength 1.00 --vbv-maxrate 240000 --vbv-bufsize 720000 --nr 0 --deadzone-inter 21 --deadzone-intra 11 --cqm flat --threads 16 --sar 1:1 --deblock 0:0 --non-deterministic --range tv --colormatrix bt709 --demuxer y4m --input-range tv --fps 24/1 --output-csp i444 --output-depth 10 --output "%cd%\%dynFileName%.264" -
goto :EOF
ClearAutoloadDirs()
SetFilterMTMode("DEFAULT_MT_MODE",MT_MULTI_INSTANCE)
SetFilterMTMode("FFT3dGPU",MT_MULTI_INSTANCE)
LoadPlugin("$$HYBRIDFOLDER$$\64bit\Avisynth\avisynthPlugins\LoadDll.dll")
LoadDLL("$$HYBRIDFOLDER$$\64bit\Avisynth\avisynthPlugins\d3d9.dll")
LoadPlugin("$$HYBRIDFOLDER$$\64bit\Avisynth\avisynthPlugins\LSMASHSource.dll")
LoadCPlugin("$$HYBRIDFOLDER$$\64bit\Avisynth\avisynthPlugins\ffms2.dll")
LoadPlugin("$$HYBRIDFOLDER$$\64bit\Avisynth\avisynthPlugins\FFT3dGPU.dll")
# loading source: $$SOURCEVID$$
# color sampling YV24@10, matrix: bt709, scantyp: progressive, luminance scale: limited
#####
# LWLibavVideoSource("$$SOURCEVID$$",cache=false,format="YUV444P16", prefer_hw=0,repeat=true)
LWLibavVideoSource("$$SOURCEVID$$",cache=false,format="YUV444P10", prefer_hw=0,repeat=true)
# FFVideoSource("$$SOURCEVID$$",colorspace="YV12")
#####
# current resolution:
# scaling to 3840x2026
Spline16Resize(3840,2026)
# Converting from 16 to 10bit for encoder
# ConvertBits(10)
# adjust color to YV24 (color matrix: Rec709)
# ConvertToYUV444()
PreFetch($$DYNMEASUREVAR$$)
#####
# setting output fps to 24.000fps
AssumeFPS(24,1)
#####
# output: color sampling YUY2@10, matrix: bt709, scantyp: progressive, luminance scale: limited
return last
--------------------------------------------------------------------------------
REPLACEMENTS:
$$SIGMA$$ replaced with '2.00'
$$BW$$ replaced with '32'
$$BH$$ replaced with '32'
$$BT$$ replaced with '3'
$$PLANE$$ replaced with '4'
$$MODE$$ replaced with '0'
$$PRECISION$$ replaced with '1'
$$BORDERSIZE$$ replaced with '1'
$$HYBRIDFOLDER$$ replaced with 'C:\Program Files\Hybrid'
$$HYBRIDFOLDER_VS$$ replaced with 'C:/Program Files/Hybrid'
$$SOURCEVID$$ replaced with 'C:\BENCH_AVS_VPS_FILTER\Hybrid YUV444P10 handling\cut_TGM_TLR2_IMAX_3840x2025_H265_YUV444_10BIT.mkv'
$$SOURCEVID_VS$$ replaced with 'C:/BENCH_AVS_VPS_FILTER/Hybrid YUV444P10 handling/cut_TGM_TLR2_IMAX_3840x2025_H265_YUV444_10BIT.mkv'
$$DYNMEASUREVAR$$ replaced dynamically [start,step,end] with '0,2,8'
$$DYNMEASUREVARGAP$$ replaced dynamically [start,step,end] with '0,2,8' +- gap of '+1'
--------------------------------------------------------------------------------
x0 X264 FASTER lsmash - avs2yuv - 4K YUV444P10 in YUV444P10 out 0-8T
encoded 1666 frames, 5.21 fps, 31484.95 kb/s
x2 X264 FASTER lsmash - avs2yuv - 4K YUV444P10 in YUV444P10 out 0-8T
encoded 1666 frames, 5.16 fps, 31487.20 kb/s
x4 X264 FASTER lsmash - avs2yuv - 4K YUV444P10 in YUV444P10 out 0-8T
encoded 1666 frames, 5.31 fps, 31489.04 kb/s
x6 X264 FASTER lsmash - avs2yuv - 4K YUV444P10 in YUV444P10 out 0-8T
encoded 1666 frames, 5.27 fps, 31489.41 kb/s
x8 X264 FASTER lsmash - avs2yuv - 4K YUV444P10 in YUV444P10 out 0-8T
encoded 1666 frames, 5.21 fps, 31488.59 kb/s
Ja ich weiß, du hast das eh schon als bug eingestuft, wollt nur zeigen, dass preset faster u.U. etwas besser für derartige Messungen ist. Jedenfalls in meinem System... Da wird bei mir gerade so (jedenfalls die meiste Zeit) eine nahezu vollständige Auslastung des Systems erreicht. Das scheinen mir optimale Voraussetzungen zu sein und ich werde wohl für andere Vergleichsmessungen erstmal dabei bleiben.