01.05.2022, 10:03
Here's an example on my system,....
Decoding speed with 4k Video on my system (Rypezn 9 3950X, Geforce GTX 1070ti):
I'm using a Vappoursynth script and just VSPipe, so no encoding is happening, just the decoding and filtering.
(source parameters, format: avc, color sampling: YUV420P8, bit depth: 8, resolution: 4096x2160, fps: 25, color matrix: 2020ncl, yuv luminance scale: limited, scanorder: progressive)
Just decoding:
----------------------
Using:
LWLibavSource + hardware decoding:
-> Output 6263 frames in 46.48 seconds (134.76 fps)
LWLibavSource + software decoding:
-> Output 6263 frames in 56.70 seconds (110.46 fps)
LibavSMASHSource:
-> Output 6263 frames in 55.06 seconds (113.76 fps)
FFMS2Source:
-> Output 6262 frames in 42.96 seconds (145.75 fps)
DGDecNV:
-> Output 6263 frames in 38.71 seconds (161.78 fps)
Note that:
a. different source might show different speeds
b. decoding speeds can wary from run to run about 10%
c. depending on the system software decoding speeds can vary a lot
d. this is all without encoding
e. cpu usage can vary a lot
Just decoding + SVP:
----------------------
DGDecNV + SVP: (software, preset: medium, GPU: off)
-> Output 15029 frames in 656.85 seconds (22.88 fps) (~64-85% cpu usage of VSPipe)
DGDecNV + SVP: (software, preset: medium, GPU: on)
-> Output 15029 frames in 1129.21 seconds (13.31 fps) (~51-80% cpu usage of VSPipe)
FFMS2Source + SVP: (software, preset: medium, GPU: on)
=> Output 15027 frames in 201.62 seconds (74.53 fps) (~30-40% cpu usage of VSPipe)
So software decoding and using SVP through the gpu gives the best speed on my system, but the cpu usage isn't that high.
Note:
1. When encoding is added things are changed up!
2. high cpu usage does not necessarily mean high speed
3. different GPU and CPU the numbers can be totally different
=> There is no: "Use this and your cpu usage and speed will be top"
Only thing you can do is check what works best on your system, by identifing bottlenecks.
Cu Selur
Decoding speed with 4k Video on my system (Rypezn 9 3950X, Geforce GTX 1070ti):
I'm using a Vappoursynth script and just VSPipe, so no encoding is happening, just the decoding and filtering.
(source parameters, format: avc, color sampling: YUV420P8, bit depth: 8, resolution: 4096x2160, fps: 25, color matrix: 2020ncl, yuv luminance scale: limited, scanorder: progressive)
Just decoding:
----------------------
Using:
LWLibavSource + hardware decoding:
clip = core.lsmas.LWLibavSource(source="G:/TestClips&Co/files/MPEG-4 H.264/4k/4k_sample_4096x2160.mp4", format="YUV420P8", cache=0, prefer_hw=1)
LWLibavSource + software decoding:
clip = core.lsmas.LWLibavSource(source="G:/TestClips&Co/files/MPEG-4 H.264/4k/4k_sample_4096x2160.mp4", format="YUV420P8", cache=0, prefer_hw=0)
LibavSMASHSource:
clip = core.lsmas.LibavSMASHSource(source="G:/TestClips&Co/files/MPEG-4 H.264/4k/4k_sample_4096x2160.mp4")
FFMS2Source:
clip = core.ffms2.Source(source="G:/TestClips&Co/files/MPEG-4 H.264/4k/4k_sample_4096x2160.mp4",cachefile="E:/Temp/mp4_b30946f06bbf6d3e0309b51cccf4cf0c_853323747.ffindex",format=vs.YUV420P8,alpha=False)
DGDecNV:
clip = core.dgdecodenv.DGSource("E:/Temp/mp4_b30946f06bbf6d3e0309b51cccf4cf0c_853323747.dgi")
Note that:
a. different source might show different speeds
b. decoding speeds can wary from run to run about 10%
c. depending on the system software decoding speeds can vary a lot
d. this is all without encoding
e. cpu usage can vary a lot
Just decoding + SVP:
----------------------
DGDecNV + SVP: (software, preset: medium, GPU: off)
clip = havsfunc.InterFrame(clip, Tuning="smooth", NewNum=60, NewDen=1) # new fps: 60
DGDecNV + SVP: (software, preset: medium, GPU: on)
clip = havsfunc.InterFrame(clip, Tuning="smooth", NewNum=60, NewDen=1, GPU=True) # new fps: 60
FFMS2Source + SVP: (software, preset: medium, GPU: on)
clip = havsfunc.InterFrame(clip, Tuning="smooth", NewNum=60, NewDen=1, GPU=True) # new fps: 60
So software decoding and using SVP through the gpu gives the best speed on my system, but the cpu usage isn't that high.
Note:
1. When encoding is added things are changed up!
2. high cpu usage does not necessarily mean high speed
3. different GPU and CPU the numbers can be totally different
=> There is no: "Use this and your cpu usage and speed will be top"
Only thing you can do is check what works best on your system, by identifing bottlenecks.
Cu Selur
----
Dev versions are in the 'experimental'-folder of my GoogleDrive, which is linked on the download page.
Dev versions are in the 'experimental'-folder of my GoogleDrive, which is linked on the download page.