View Full Version : LAV Filters - DirectShow Media Splitter and Decoders
VictorLS
21st December 2020, 22:35
You can see these infos from HWinfo and actually HWinfo is more detailed.
Yes, but not graph - just current, minimum, maximum and average values. GPU-Z can't show Video Decode for Intel GPUs as for AMD GPUs and APUs (for Video Decode best is Win10's Task Manager on my own) - only for nVIDIA's videocards like mine GTX750v2 on GM206 GPU-Z shows Video Engine load even in WinXP.
Isn't it the same video from yesterday?
Yes - the same video.
I already did test it with the Windows 10 movie app player in #24187
In #24187 you've described 8K60 (second) test only but about 4:2:2 (first) test you wrote just LAV doesn not support 4:2:2 by the looks of it so I guessed you didn't test it with Windows 10 movie app player ;)
and yes it runs, although it is hard on the limit I would say. Considering the GPU runs at only 1100 Mhz it's a really good result.
As for local AV1 playback on Iris Xe this player is the fastest especially for a notebook, the system power is lower which is really important. This player is super fast and efficient.
So I guess quoted is about second so AV1 8K60 file? I agree - good results (it's a pity not in ordinary players with LAV Video Decoder) but for the first 4:2:2 h265 file I'd like to see Task Manager's CPU and GPU screenshots at the end of playing file ;)
I've just found two (24 and 60fps) AV1 Japan in 8K files without HDR:
youtube-dl -f 402 https://youtu.be/m1jY2VLCRmY mp4 7680x4320 4320p 19900k , av01.0.16M.08, 24fps, video only, 273.46MiB
youtube-dl -f 571 https://youtu.be/m1jY2VLCRmY mp4 7680x4320 4320p 30539k , av01.0.16M.08, 24fps, video only, 441.55MiB
and
youtube-dl -f 402 https://youtu.be/zCLOJ9j1k2Y mp4 7680x4320 4320p60 17561k , av01.0.17M.08, 60fps, video only, 625.04MiB
youtube-dl -f 571 https://youtu.be/zCLOJ9j1k2Y mp4 7680x4320 4320p60 27067k , av01.0.17M.08, 60fps, video only, 978.30MiB
so you can compare that with HLG version https://youtu.be/XsVGYfsb3sI ...
Yups
21st December 2020, 23:29
Yes - the same video.
In #24187 you've described 8K60 (second) test only but about 4:2:2 (first) test you wrote just so I guessed you didn't test it with Windows 10 movie app player ;)
So I guess quoted is about second so AV1 8K60 file?
Yes it's indeed from the second 8k60 called Omagari Fireworks 2019: https://imgur.com/a/eiRFLSD
The 4:2:2 does not start, it says playback not possible. It runs on MPC HC but uses the CPU cores.
VictorLS
21st December 2020, 23:36
It runs on MPC HC but uses the CPU cores.
Many thanks. Task Manager's CPU load like https://pics.computerbase.de/9/5/8/1/6-a12126ebeb660e56/38-1080.2b77b7cf.jpg at the right side with all logical cores visible will be appreciated.
huhn
26th December 2020, 00:47
Indeed, madVR does not support HLG, and the HLG VideoTransferFunction function was used for a special madVR value in the past, hence with madVR it maps it to another format. Other renderers should receive the HLG flag (16), and they can then deal with it.
Sending the HLG flag to madVR would not give you anything good until madVR learns to deal with HLG. HLG is very different from HDR10, so no just masquerading as the same and somehow work.
the next beta 115 handles HLG correctly. it's not a release build so nothing really changes right now.
jmone
26th December 2020, 11:27
FYI - I'm not seeing HLG kick in the HDR processing in 115 (with latest LAV) with HLG video shot on my FX6. I tried both the MXF container (just renamed to MKV/MP4 for playback in JRMC) and also used ffmpeg to remux it to MKV. Here is how media info reports the remuxed HLG video in a MKV container.
General
Unique ID : 265101255743292636328684448716645196182 (0xC770A5094B49A61D2C84F2E7883BE196)
Complete name : K:\Resolve\MXF to MKV Test\174_0066.MXF.mkv
Format : Matroska
Format version : Version 4
File size : 1.73 GiB
Duration : 29 s 280 ms
Overall bit rate : 507 Mb/s
Writing application : Lavf58.45.100
Writing library : Lavf58.45.100
ErrorDetectionType : Per level 1
COMPANY_NAME : Sony
GENERATION_UID : 50cdad94-869e-1232-a6ca-1848ca8aa829
MATERIAL_PACKAGE_UMID : 0x060A2B340101010501010D431300000051CEA022019205D71848CAFFFE8AA829
MODIFICATION_DATE : 2020-12-18T03:14:47.000000Z
OPERATIONAL_PATTERN_UL : 060e2b34.04010101.0d010201.01010900
PRODUCT_NAME : Mem
PRODUCT_UID : cede1104-8280-11de-8a39-08004678031c
PRODUCT_VERSION : 2.00
Time code of first frame : 00:40:01:18
Time code source : Matroska tags
UID : 50cdad8a-869e-1232-ae51-1848ca8aa829
Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : High 4:2:2 Intra@L5.2
Format settings, CABAC : No
Format settings, GOP : N=1
Codec ID : V_MPEG4/ISO/AVC
Duration : 29 s 280 ms
Bit rate : 494 Mb/s
Width : 3 840 pixels
Height : 2 160 pixels
Display aspect ratio : 16:9
Frame rate mode : Constant
Frame rate : 50.000 FPS
Standard : Component
Color space : YUV
Chroma subsampling : 4:2:2
Bit depth : 10 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 1.191
Stream size : 1.68 GiB (97%)
Default : Yes
Forced : No
Color range : Limited
Color primaries : BT.2020
Transfer characteristics : HLG
Matrix coefficients : BT.2020 non-constant
FILE_PACKAGE_UMID : 0x060A2B340101010501010D431300000052CEA022019205D71848CAFFFE8AA829
Audio #1
ID : 2
Format : PCM
Format settings : Little / Signed
Codec ID : A_PCM/INT/LIT
Duration : 29 s 280 ms
Bit rate mode : Constant
Bit rate : 1 536 kb/s
Channel(s) : 2 channels
Sampling rate : 48.0 kHz
Bit depth : 16 bits
Stream size : 5.36 MiB (0%)
Writing library : Lavc58.91.100 pcm_s16le
Default : Yes
Forced : No
Audio #2
ID : 3
Format : PCM
Format settings : Little / Signed
Codec ID : A_PCM/INT/LIT
Duration : 29 s 280 ms
Bit rate mode : Constant
Bit rate : 1 536 kb/s
Channel(s) : 2 channels
Sampling rate : 48.0 kHz
Bit depth : 16 bits
Stream size : 5.36 MiB (0%)
Writing library : Lavc58.91.100 pcm_s16le
Default : No
Forced : No
chros
26th December 2020, 12:44
the next beta 115 handles HLG correctly. it's not a release build so nothing really changes right now.
Does paasthrough work for you or only SDR?
VictorLS
26th December 2020, 21:33
the next beta 115 handles HLG correctly
How? Show screenshot, please - I'd want to compare madVR's colors while playing HLG files with shader (which is ~=VLC with OpenGL in Win7x64) and MPC Video Renderer http://forum.doom9.org/showthread.php?t=176909&page=3 despite of madVR still much slower than other renderers on my weak computer.
And http://madshi.net/madVRhdrMeasure115.zip madVR64.ax still shows v0.92.17 in bottom left corner of its properties - must it be so?
huhn
27th December 2020, 05:06
i haven't checked it in detail.
seems to be SDR only so this is nothing special like mpcVR.
it just doesn't go crazy anymore.
it can now read HLG meta data before that you should not send HDR meta data because madVR understood something different under it.
there is a reason i quoted nev please read it.
chros
27th December 2020, 07:12
I saw it, cheers, but it's useless this way...
huhn
27th December 2020, 10:07
better than buggy and madshi is aware.
so he could do something about it. well he fixed a major bug.
what so ever this is the lavfilter thread i only wanted nev to know that the work around he has added for madVR isn't needed anymore for a beta version.
i have nothing more to say.
maxkolonko123
8th January 2021, 10:24
quite noobish question, but lately ive messed up my mpc hc config, now when play movie right click filters it shows me lav filters and file source (async) from what i remember before file source wasnt in filters tab, is all good or something not right ?
Siso
8th January 2021, 16:42
Is it a known issue with lav video decoder, that when you use xyvsfilter, you can't use d3d11 native, it forces dxva copyback.
huhn
9th January 2021, 00:45
vsfilter runs on the CPU and burns the subtitle in the image so the image needs to be on the CPU.
subfilter doesn't care.
Siso
9th January 2021, 10:00
vsfilter runs on the CPU and burns the subtitle in the image so the image needs to be on the CPU.
subfilter doesn't care.
I see, thanks huhn.
jmone
10th January 2021, 05:06
I've been playing with editing/encoding UHD HLG 4:2:2 10-Bit 50fps footage from my Sony FX6 using Davinci Resolve to find a suitable UHD HDR playback format (mostly for JRiver MC). Here is what I've found so far in case anyone else is going down this path:
- Unfortunately, HLG Encoded Videos are not (yet?) supported by madVR at all
- HDR (ST2084) HEVC 10-Bit 4:2:0 encoded video revealed weird chroma noise on playback when "Optimize Hardware decoding for performed" (DXVA2-Native) was checked. Turning that off (so it uses D3D11) help a lot with the chroma noise.
- HDR (ST2084) HEVC 10-Bit 4:4:4 encoded video looks great .... but.... there does not seem to be HW Acceleration support for HEVC 4:4:4 in LAV (though I see it is supported by the last few generations of nvidia GPUs) so even my OC i9-9900KF flatlines and the GTX3090's decoding cores are at 0%.
Nev, any thought on HEVC 10-Bit 4:4:4 HW decoding support (or even if you have heard anything on HLG)?
Thanks
Nathan
v0lt
10th January 2021, 08:14
@jmone
Hardware acceleration for HEVC 10-Bit 4:4:4 is not supported over DXVA2 and D3D11 interfaces. See DXVA Checker (https://bluesky-soft.com/en/DXVAChecker.html) for details.
VictorLS
12th January 2021, 22:40
Dear Nathan
- Unfortunately, HLG Encoded Videos are not (yet?) supported by madVR at all
You're right - HLG is not supported by madVR (as minimum now)
if you have heard anything on HLG
I don't know madshi's plans about HLG support in madVR.
Read my thread about HLG https://forum.doom9.org/showthread.php?t=176909
I impressed with MPC Video Renderer (and it let use shaders in i.e. MPC-HC) by Russian developers of MPC-BE player including v0lt and Aleksoid1978 (link on MPC-VR in last my post of that my thread) on my weak computer with Athlon II x3 360 CPU and nVIDIA GTX750v2 on GM206 videocard with 1GB videomemory - it gives ideally fluent 4K H265 4:2:0 50-60Hz video with DXVA native (even ordinary EVR very seldom but stutters not saying about madVR which stutters almost permanent on 4K with its default so very light settings even if vertical frequency GTX750v2's output is equal - i.e. 50(60)Hz - or doubled - i.e. 48 in case of 24Hz(47,952Hz in case of 23,976Hz) - framerate of playing video).
- HDR (ST2084) HEVC 10-Bit 4:2:0 encoded video revealed weird chroma noise on playback when "Optimize Hardware decoding for performed" (DXVA2-Native) was checked. Turning that off (so it uses D3D11) help a lot with the chroma noise.
May you upload sample - I've never seen hardrware accelerated video looked worse than software decoded (except with high Reframes ~ten years ago - artifact was there)
- HDR (ST2084) HEVC 10-Bit 4:4:4 encoded video looks great .... but.... there does not seem to be HW Acceleration support for HEVC 4:4:4 in LAV (though I see it is supported by the last few generations of nvidia GPUs) so even my OC i9-9900KF flatlines and the GTX3090's decoding cores are at 0%.
Had you try NVIDIA CUVID harware acceleration?
According https://www.ffmpeg.org/index.html#news August 5th, 2019, FFmpeg 4.2 "Ada" almost atop ffmpeg supports 4:4:4 or nevcairiel as usually haven't implement useful for someone option in his LAV Video Decoder?
Btw can you upload here (with i.e. postimages.org like I did here (https://forum.doom9.org/showthread.php?p=1931518#post1931518) ) DXVAChecker4.5.1 or later of yours GTX3090 and on some file exchange server like transfiles.ru 4К HEVC 10-bit 4:4:4 sample?
huhn
13th January 2021, 06:43
under available information the current 444 decoder is lossless only.
this already created a major issue with x264 back in the day.
robl45
14th January 2021, 18:49
Posted in Madvr thread and thought maybe here would be good too.
Hello, I've been using lav filters and Madvr for 3d for 4 or 5 years now with no issues. About a week ago, it stopped working. Anyone know anything about this? I've reinstalled madvr and lav and still it doesn't work, when it does flip into 3d, its like the 3d is in slow motion. I thought it might be my hdmi to ethernet converters screwing something up so I connected the computer to my spare projector with straight HDMI and it did the same thing. I thought it was one specific file as we had literally watched 3d the day before and then realized it was all of them. Anyone have any ideas? I'm thinking a windows 10 update maybe or something broke it. Its a windows 10 machine with I3 processor Skylake with internal intel graphics.
clsid
14th January 2021, 19:45
LAV uses Intel decoder library (libmfxsw64.dll) for decoding H.264 MVC 3D video. Don't enable hardware acceleration for this, as it may cause problems.
Your problems are probably caused by Intel graphics driver.
jmone
15th January 2021, 01:17
@VictorLS
- Original Sample is here : https://behome.dyndns.info/index.php/s/4rYP8bqs4yaRd5p
- This thread has a Screen Shot showing the Chroma Noise Issue : https://yabb.jriver.com/interact/index.php/topic,120102.msg889524.html#msg889524
- I tried all the LAV Decoding Option including CUVID
- I tried using the MPC Video Renderer but could not successfully build a graph in JRiver Media Center (which I use) so I can't comment
Another option that I found that "could" work is that if I encode my video as HDR-PQ UHD 10-Bit 4:2:2 AVC All I then it will playback on PC's with a good CPU (i7/i9) for SW Decoding, and GPU for the madVR HDR part. Downsides are:
- my HTPC are i5-7500 and they do (mostly) play these files without dropping frames (mostly) but the CPU is at 100% and the 1660Ti have to use Dumb Mode for HDR
- They are slow to render out of Resolve (half real time), and the files are very large @ 5GB per minute, and still in the MKF wrapper with multiple mono tracks requiring a ffmpeg remux (at least that is pretty fast).
I guess I could also do a 2nd pass encode to drop the bitrate with ffmpeg.... but it is all getting a bit to irritating of a workflow + I'd need to upgrade the CPU in my HTPCs to avoid decoding performance issues.
robl45
15th January 2021, 04:05
LAV uses Intel decoder library (libmfxsw64.dll) for decoding H.264 MVC 3D video. Don't enable hardware acceleration for this, as it may cause problems.
Your problems are probably caused by Intel graphics driver.
It turns out it was windows. I reverted back to an older version after way too much fiddling and it works perfect again.
Klaus1189
17th January 2021, 12:34
... reverted back to an older version
What Windows version exactly? If another user searches the forum and has the same issue, (s)he would like to know this.
PCU
17th January 2021, 15:35
Why LAV doesn't play Bink Video 2: .bk2 (tested with mpc 1.9.8)
richardpl
17th January 2021, 15:37
Because nobody sponsored development of decoder.
PCU
17th January 2021, 15:48
Audio plays fine, but video is missing!
mzso
17th January 2021, 19:11
Hi!
Is there a practical solution to correcting sped up PAL video during playback?
clsid
17th January 2021, 19:32
MPC-HC menu > Play > playback Rate > 24fps
Additionally enable the internal audio renderer if you want automatic audio pitch correction.
chros
19th January 2021, 12:28
I have an audio splitter question: there's this option "Prefer audio stream with highest quality".
The problem is (let's say the file has 2 audio track: DD ger [default], DTS-HDMA eng) if there's an audio track with default track, then that one will be used (DD ger tack).
So, is there any rules I can use for audio with which I can force to select the highest quality in this case as well (without specifying the language)?
Thanks
VictorLS
19th January 2021, 21:19
- Original Sample is here : https://behome.dyndns.info/index.php/s/4rYP8bqs4yaRd5p
Thanks - this 17 second video in this sample (btw its size 1,02 GB+0,03 GB 8 PCM audio and 4 others tracks) is h264 4:2:2 10bit (510 Mbis/s 50fps HLG) so I guess it will not be accelerated by any PC videocard in a future.
- I tried all the LAV Decoding Option including CUVID
Despite you haven't upload screenshot of DXVA Checker 4.5.1 of your 3090 (and your recoded with some software (?) sample) I asked in my previous post try recoded your FX6 Sample.MXF in HEVC 4:4:4 FX6_Sample.mp4 (2,1 MB - so about 500 time smaller than original) https://yadi.sk/i/BqcTHKuM9dYM2g with CUVID and others. Despite it isn't loseless it'll may be hadware accelerated.
- I tried using the MPC Video Renderer but could not successfully build a graph in JRiver Media Center (which I use) so I can't comment
OK - I use MPC-HC for MPC-VR (some days ago SAT receiving program SmartDVB supports MPC-VR well too).
requiring a ffmpeg remux (at least that is pretty fast)
What command-line do you use for remux to get output with one (or several) audio track(s)?
PS. Did you try other than LAV Video Decoder like MainConcept (Demo) AVC/H.264 Video Decoder with turned off hardware acceleration in first string of its settings? I.e. my weak Athlon II x3 360 can't decode all 25 fps with LAV Video Decoder of this 20171205-014323_4KUA.ts (73 MB) https://yadi.sk/d/AnnpTSYKkoNkUg sample recorded by me from SAT but with MainConcept (Demo) HEVC Video Decoder despite of about 95% load of each of three core.
PPS. While Turing can HW decode in the centre of article https://developer.nvidia.com/blog/nvidia-turing-architecture-in-depth/ HEVC YUV444 10/12b HDR at 30 fps, H.264 8K, and VP9 10/12b HDR, I've uploaded FX6_Sample_25fps.mp4 (1,9 MB) https://yadi.sk/i/61fKGLxWBoUIyA if Ampere still the same as Turing in HEVC 4:4:4 and can't hardware decode 50-60fps at all.
nevcairiel
19th January 2021, 23:03
I have an audio splitter question: there's this option "Prefer audio stream with highest quality".
The problem is (let's say the file has 2 audio track: DD ger [default], DTS-HDMA eng) if there's an audio track with default track, then that one will be used (DD ger tack).
So, is there any rules I can use for audio with which I can force to select the highest quality in this case as well (without specifying the language)?
Thanks
No, "default" always overrides the selection, as the matroska specification mandates.
The option you named only influences ordering in absence of such a factor, ie. it would always use the first then if its turned off.
LigH
20th January 2021, 08:16
So it may be suitable to edit Matroska header flags to achieve your desired default stream selection for this specific file.
Yups
21st January 2021, 14:11
Yups, Intel released 9079 driver but I'm guessing AV1 bug won't be fixed until next year earliest.
They have fixed DXVA2 AV1 in 9168. However, D3D11 runs faster, this is the preferred mode for Tigerlake.
chros
21st January 2021, 19:41
No, "default" always overrides the selection, as the matroska specification mandates.
The option you named only influences ordering in absence of such a factor, ie. it would always use the first then if its turned off.
Thanks, I forgot about default flag overrides everything, even the language selector in LAV splitter.
So it may be suitable to edit Matroska header flags to achieve your desired default stream selection for this specific file.
Yes, cheers, or I can use the language selector in the player (MPC-HC/BE).
jmone
23rd January 2021, 23:58
@VictorLS,
Yes the files from the FX6 are large as they are not only 10-Bit, 4:2:2, UHD, 50fps, with HLG, but are all I frame AVC. Great for editing.
Here is a screen shot of DXVA Checker (is that what you want?). - https://behome.dyndns.info/index.php/s/9Q2n7XFRH6Qb3HR
I've tried (common) combinations of HEVC vs AVC / 10-Bit vs 8-Bit / 4:4:4 vs 4:2:2 vs 4:2:0 with the different LAV decoding options coupled with madVR with HDR. Apart from 4:2:0 the rest don't kick in HW Acceleration (including your sample). The "closest" alternative if I want to keep higher chroma sub-sampling and have HDR, is to encode in the same AVC-I (or Long GOP) 10bit 4:2:2 profile but converting the HLG to PQ. This will use SW Decoding, with madVR then doing the HDR processing and it will play just fine on my i7-9900K / RX3090 but my HTPC use older i5's and the SW decoding maxes these boxs out. Anyway, here is the PQ version of the sample file. https://behome.dyndns.info/index.php/s/Sfp8XJESWB8xfdB
Here is what I'm using to mux the fist two Mono Audio channels in the MXF container to MXV with the Video untouched.
ffmpeg -i input.mxf -map 0:0 -c:v copy -filter_complex "[0:1][0:2] amerge=inputs=2" -c:a pcm_s16le output.mkv
jmone
24th January 2021, 07:19
So back to where this started. Am I correct in saying:
- nvidia Turning and Ampere cards support decode/encode of HEVC 10-Bit 4:4:4,
- I can see apps like Resolve use it,
- but..... as the HEVC 10-Bit 4:4:4 profile is not enumerated by DXVA2 or D3D11, LAV can not use it?
Thanks
Nathan
VictorLS
24th January 2021, 22:24
Yes the files from the FX6 are large as they are not only 10-Bit, 4:2:2, UHD, 50fps, with HLG, but are all I frame AVC. Great for editing.
I agree.
Here is a screen shot of DXVA Checker (is that what you want?)...the HEVC 10-Bit 4:4:4 profile is not enumerated by DXVA2 or D3D11
Yes - great screenshot where clearly nVIDIA can't hardware decode h265 4:4:4 through DXVA2/D3D11 at all - you're right. So just CUVID and (may be) some next step of nVIDIA's CUVID (can work with 12-bit - old can natively just 8-bit as nevcairiel) can (I don't saing about newest Intel products now).
I've tried (common) combinations of HEVC vs AVC / 10-Bit vs 8-Bit / 4:4:4 vs 4:2:2 vs 4:2:0 with the different LAV decoding options coupled with madVR with HDR...Apart from 4:2:0 the rest don't kick in HW Acceleration (including your sample)
Thanks. But for sure I'd propose you to begin from simple MPC-HC(MPC-BE can do HLGtoSDR processing with i.e. EVR-CP or MPC-VR) beginning with ordinary EVR to see hardware acceleration.
Other way is to use consistently
ffmpeg -benchmark -i FX6_Sample_25fps.mp4 -f null out.null
to get like
https://i.postimg.cc/NL0qZvzc/SW.png (https://postimg.cc/NL0qZvzc)
in comparison with
ffmpeg -benchmark -hwaccel cuda -i FX6_Sample_25fps.mp4 -f null out.null
to get like
https://i.postimg.cc/D4SN0F94/cuda.png (https://postimg.cc/D4SN0F94)
if hardware acceleration is working ;)
Btw I've tested and took above screenshots on 4K h265 4:2:0 10-bit HLG 20190526-164153_RTL UHD.ts from https://forum.doom9.org/showthread.php?p=1919134#post1919134 - I guess it's good start point for your hardware acceleration testing.
Anyway, here is the PQ version of the sample file.
Looks pretty well on my own but size in MB is still amazing...
Here is what I'm using to mux the fist two Mono Audio channels in the MXF container to MXV with the Video untouched.
ffmpeg -i input.mxf -map 0:0 -c:v copy -filter_complex "[0:1][0:2] amerge=inputs=2" -c:a pcm_s16le output.mkv
Thanks.
I can see apps like Resolve use it
Screenshot?
jmone
24th January 2021, 23:31
Here are the screenshots of HEVC 10-Bit 4:4:4 HW Acceleration working with Davinci Resolve for both playback (decoding) and rendering (encoding) of that test clip. It is really fast and works well, even the encoding is about Real Time, and it does not seem to break a sweat with decoding for playback.
Decoding: https://behome.dyndns.info/index.php/s/SknLnYqsgT8eSeN
Encoding: https://behome.dyndns.info/index.php/s/Cj4SWWdsx4YBcwe
So my preference would be for my "best quality" rendering:
- Nev (somehow) enables HEVC 4:4:4 HW Decoding = Good Chroma, Small(ish) File Size & does playback on modern CPU/GPU's combos
else... either of
- HEVC 4:2:0 PQ = Small(ish) File Size, plays back on existing GPU / CPU but has weird Chroma noise in some scenes
- AVC 4:2:2 PQ = Good Chroma, Large File Size (500mbps), will need to upgrade my HTPC CPUs to i7 for SW Decoding (I've got a 2nd hand i7-7700 coming to test)
FYI
- I'm use JRiver Media Center and I'm not going to change to MPC.
- Yup Camera records in 500Mbps AVC 4:2:2 in UHD 50fps, so the files are big!
VictorLS
25th January 2021, 09:10
jmone
Thanks for screenshots but small CPU utilization graph in top left corner will be appreciated in a future.
But I see 86% utilization of your powerful CPU when encoding - so not only v3090's encoding blocks is used in process of encoding.
Btw can Davinci Resolve play external files like h265 4:4:4 FX6_Sample.mp4 and FX6_Sample_25fps.mp4? It's interesting can your 3090 accelerate both of them?
I'm use JRiver Media Center and I'm not going to change to MPC.
I've understood from first time you wrote but MPC-HC(BE) are just small portable freeware players (btw they are can with near correctly colors play HLG files on SDR monitor - madVR can't) to have as test players only in your case.
jmone
25th January 2021, 10:28
Yes. Davinci Resolve will use HW Acceleration for both 4:2:0 and 4:4:4 HEVC for both Playback and Encoding.... though it is not a "player" as such, it's a video editing package but does use HW Acceleration where it can.
Also, keep in mind that the High CPU during the encoding of the HEVC 4:4:4 in Resolve is because the CPU is being used to decode the original AVC 4:2:2 500MBit & the other tasks that Dacinci Resolve is doing (Audio Transcoding, other Effects etc). It can not do HW decoding acceleration for 4:2:2 as the GPU does not support it.
While I've not tested every combination, Davinci Resolve seems to support all the NVDEC supported HW Accelerated Profiles https://en.wikipedia.org/wiki/Nvidia_NVDEC content for both playback (decoding) and rendering (encoding) with a modern nvidia card, which includes HEVC 4:4:4.
VictorLS
25th January 2021, 17:19
Davinci Resolve will use HW Acceleration for both 4:2:0 and 4:4:4 HEVC for both Playback and Encoding.... though it is not a "player" as such, it's a video editing package but does use HW Acceleration where it can
I try to continue: i.e. both FX6_Sample.mp4 and FX6_Sample_25fps.mp4 are hardware accelerated in Davinci Resolve when I tried to encode them into (some easy format) well - is it true (or just FX6_Sample_25fps.mp4 is accelerated)?
Screenshot with CPU and Video Decode load
Also ffmpeg -benchmark -i FX6_Sample_25fps.mp4 -f null out.null and ffmpeg -benchmark -hwaccel cuda -i FX6_Sample_25fps.mp4 -f null out.null (I use ffmpeg version 2021-01-12-git-ca21cb1e36-full_build-www.gyan.dev Copyright (c) 2000-2021 the FFmpeg developers built with gcc 10.2.0 (Rev6, Built by MSYS2 project) - what version do you use?) are the same so hardware acceleration isn't work - is it true? If not and -hwaccel cuda use Video Decode upload screenshot, please.
Also, keep in mind that the High CPU during the encoding of the HEVC 4:4:4 in Resolve is because the CPU is being used to decode the original AVC 4:2:2 500MBit & the other tasks that Dacinci Resolve is doing (Audio Transcoding, other Effects etc). It can not do HW decoding acceleration for 4:2:2 as the GPU does not support it.
I thought the same but your explanation was appreciated.
While I've not tested every combination, Davinci Resolve seems to support all the NVDEC supported HW Accelerated Profiles https://en.wikipedia.org/wiki/Nvidia_NVDEC content for both playback (decoding) and rendering (encoding) with a modern nvidia card, which includes HEVC 4:4:4.
I've watched the same on https://developer.nvidia.com/video-encode-and-decode-gpu-support-matrix-new but asterix *H.265 (HEVC) 4:4:4 isn't explaned there - I can assume may be it means i.e. not through DXVA2 or D3D11 ;)
jmone
25th January 2021, 21:34
Davinci Resolve: HW Acceleration is used for both encoding and decoding the HEVC UHD 4:4:4 10-Bit 50fps sample. Here are the screen shots showing both GPU & CPU usage for:
- AVC UHD 4:2:2 10 Bit 50fps (CPU Decoding) ----> HEVC UHD 4:4:4 10 Bit 50fps (GPU Encoding)
https://behome.dyndns.info/index.php/s/MGsi7amYKRqa4iT
- HEVC UHD 4:4:4 10 Bit 50fps (GPU Encoding) ----> HEVC UHD 4:4:4 10 Bit 50fps (GPU Encoding)
https://behome.dyndns.info/index.php/s/qqfEwYoZ8EAZEAE
I'll look at ffmpeg later.
jmone
25th January 2021, 22:02
ffmpeg: Yes HW acceleration (decode) works on the HEVC UHD 10 Bit 4:4:4 50fps sample when adding "-hwaccel cuda" - https://behome.dyndns.info/index.php/s/yxgwZ64ajWioakQ
Here the log of both runs (with and without "-hwaccel cuda") - https://behome.dyndns.info/index.php/s/yZwPLBD8zPoyRsY
VictorLS
25th January 2021, 22:18
jmone
Many thanks.
I guess https://behome.dyndns.info/index.php/s/qqfEwYoZ8EAZEAE for FX6_Sample.mp4 namely (on your previous screenshots I saw name of encoding file in Davinci Resolve but this time name of file absent)? If so, I agree test with FX6_Sample_25fps.mp4 is unnecessary.
It's seems I was wrong so I ask you repeat test with FX6_Sample.mp4 and upload HEVC UHD HDR 10Bit 444 50fps.mov for our future testing.
Btw saying about CPU load in top left corner I meant just (name of playing file and H/W also important):
https://i.postimg.cc/D406VxPc/CPU.png (https://postimg.cc/D406VxPc)
but you've done better (but some harder to do).
If I understand right FX6_Sample.mp4 and HEVC UHD HDR 10Bit 444 50fps.mov are not hardware accelerated in JRiver Media Center with LAV Video Decoder (CUVID) and madVR - right?
I ask you try with latest MPC-HCx64 (LAV CUVID) https://github.com/clsid2/mpc-hc/releases/download/1.9.8.26/MPC-HC.1.9.8.148.x64.zip and ordinary EVR to watch H/W in bottom left corner ;)
jmone
26th January 2021, 00:36
HEVC 4:4:4 is not HW Accelerated in either JRiver Media Center or MPC-HCx64 (from your zip file) with LAV set to CUVID.
VictorLS
26th January 2021, 07:23
jmone
Thanks but I don't know until now have you tried FX6_Sample.mp4 or just yours HEVC UHD HDR 10Bit 444 50fps.mov?
jmone
26th January 2021, 08:43
Neither your "FX6_Sample.mp4" (HEVC 4:4:4 but 25fps and low bitrate) or my HEVC UHD HDR 10Bit 444 50fps.mov uses HW Accelerated in either JRiver Media Center or MPC-HCx64 (from your zip file) with LAV set to CUVID. They all drop back to SW Decoding (avcodec) in LAV.
VictorLS
26th January 2021, 11:10
jmone
That's better - thanks but I've asked about ffmpeg -benchmark... test with FX6_Sample.mp4 and (if hardware decoding not work with 50fps but due test with HEVC UHD HDR 10Bit 444 50fps.mov I'm sure Ampere can - may be Turing can't) FX6_Sample_25fps.mp4 - it was at http://forum.doom9.org/showthread.php?p=1934308#post1934308 ;)
nevcairiel
What do you think - is it possible to add support of 4:4:4 h265 in LAV Video Decoder via CUVID for nVIDIA's Turing and Ampere owners like jmone and (may be - I don't know exactly) you?
May be its time for adding Dolby-E support https://github.com/FFmpeg/FFmpeg/commit/0bf18db26aa277d11c4ae5ecb6dd7b8fad188add in LAV Audio Decoder I've asked http://forum.doom9.org/showthread.php?p=1928735#post1928735 with Sample Eurovision 2019 Tel Aviv.ts contained Dolby-E audiotrack there?
clsid
26th January 2021, 18:19
He has already said that CUVID is deprecated. Don't expect any updates for it. Plus CUVID does not support exporting HDR metadata, so it is becoming useless.
There is no Dolby-E decoder in FFmpeg yet. Only a parser.
richardpl
26th January 2021, 19:21
There is no Dolby-E decoder in FFmpeg yet. Only a parser.
False information and propaganda. FFmpeg have decoder for Dolby-E.
vBulletin® v3.8.11, Copyright ©2000-2025, vBulletin Solutions Inc.