View Full Version : Evaluation of HEVC decoders (SW, Hybrid and HW)
wanezhiling
7th May 2019, 15:20
https://i.postimg.cc/C5frqPsq/QQ-20190507220804.png
Huawei Matebook E 2019 (https://zhuanlan.zhihu.com/p/64352792)
---------------------------------------
More quick tests
4K HEVC 10bit 60p:
https://i.postimg.cc/T3mWNpxm/QQ-20190508000340.jpg
https://i.postimg.cc/158F6vYv/QQ-20190508000330.jpg
4K VP9 8bit 60p:
https://i.postimg.cc/VsGMdx4S/QQ-20190508000344.jpg
https://i.postimg.cc/28gZxnsr/QQ-20190508000336.png
a slow gpu @windows 10, indeed.:cool:
Just after a little more than one month and a half of its release, I decided to buy after many, many years a new gaming card.
I'm talking of course about nVidia GTX 1660, which I bought in a budget (230 €) dual fan implementation, but not low-cost quality.
The 1660 card has a reference boost clock of 1785 MHz and a TDP of 120W by nVidia, mine has a 1830 MHz boost and a TDP of 130W but apparently it's out of the box overclocked to 1965 MHz.
@NikosD, I swapped in my HTPC the GTX 1050 Ti for a GTX 1650 today, which has a boost clock of 1665 MHz and a TDP of 75W. The card has the same NVDEC as all Turing versions, only the NVENC is from Pascal as most review sites have mentioned.
Review sites don’t like this card, but I saw some benefits for video decode.
NikosD
7th May 2019, 19:02
@NikosD, I swapped in my HTPC the GTX 1050 Ti for a GTX 1650 today, which has a boost clock of 1665 MHz and a TDP of 75W. The card has the same NVDEC as all Turing versions, only the NVENC is from Pascal as most review sites have mentioned.
Review sites don’t like this card, but I saw some benefits for video decode. GTX 1650 has an awful price for its gaming performance, it should be around ~130$ instead of 150$ that nVidia asks.
In this GPU category, 20$ matter.
GTX 1650 has the same NVDEC but at lower clock and NVENC is from Volta, not Pascal which has no real difference than Turing but one.
HEVC B-frames, only supported for Turing's NVENC.
But according to rigaya, the author of NVEncC HW transcoding SW, nVidia added HEVC B-frame support in its SDK for GTX 1650 (!)
So, it's possible that GTX 1650 has the same encoding features like all Turing cards.
@wanezhiling
Can you test playback with MPC-HC?
Is it fast enough for DXVA2 copy-back, or only DXVA2 native?
nevcairiel
7th May 2019, 23:16
@wanezhiling
Can you test playback with MPC-HC?
Is it fast enough for DXVA2 copy-back, or only DXVA2 native?
Its an ARM CPU, so if it can even run MPC-HC or the likes, it'll run it in binary translation mode, which is sloow, so something that only works because its properly optimized like copy-back is unlikely to work properly at all.
If Windows ARM systems become more popular, I'll have to make a ARM build of LAV, I suppose. Still no assembly though, unless I bother to learn how to make some.
It should be able to run x86 applications with WoW emulation. But you are right, SIMD optimized code will likely not perform well, that is why I asked to test copy-back. I doubt it will work for 4k, but maybe 1080p24?
ARM windows system are tested for quite some time now they can run pretty much everything even through is slow to say it friendly. windows itself has native arm code for pretty much everything too including the now dead edge. so it is supposed to work with mpc-hc.
ARM server not only from Amazon are out already. so this is not an IF this is more about when this will be a major player in netbooks and office desktop PC systems.
it looks like Microsoft is doing a pretty good job already on this front.
wanezhiling
8th May 2019, 06:26
@clsid
4k cb is extremely slow, fhd24p is fine
can check the "PCIe" or equivalent bandwidth the GPU got to make sure that's not the issue maybe GPU-Z works with it.
littleD
8th May 2019, 21:44
By accident i found nice table (http://robux4.blogspot.com/2019/03/windows-video-playback-performance.html) of what new old VLC 3.0 can do in terms of gpu/cpu usage during decoding. I must admit i never liked this player because was ugly and had ugly language translation and some more things in the past. It have suprised me once though when have tried to play dumped transport dvb streams. It could detect and play all streams (including subs and teletext). Today i was impresssed second time and wish now it stays longer on my disc.
I followed an eye test from the link above with my own eyeballs using some HDR sources i have. Also turned on options dx11 out and dx11 decoding, in hope player would really use it. Then I was impressed with how snappy and smooth this player is. It can decode whatever (one thing later) you throw in it. I was using also and intel cpu/gpu chip and SDR screen (laptop).
Conclusion is that HDR content on SDR screen is moderate, i mean not washed out but not oversaturated too. I think its similar to what madvr gives. Comparing to other players: MPC HC cannot decode HDR gamut giving washed out colors on picture. On the other hand MPC BE pictures are over saturated, colors strokes my eyes, and red can go into claret. Movies and TV win10 app gives more colourful picture than vlc and madvr, yet still having style - its pleasant to watch. So conclusion is similar to what vlc dev presented. I cant say finally which HDR-SDR matrix is right, Movies and TV or VLC. But have to repeat i m glad i rediscovered this player.
Found one flaw though. VLC cannot hardware decode VP9 files with 2020 color gamut. At least on my intel system Cpu usage is high and at same time no video decoder in use. Not sure if its common or my samples are defected.
interlacing:
MPC-BE seems to double the original frame rate by default and interpolate between frames (soap opera effect). It may be good for sport but this is not a sport sample...
doubling the frame rate is the correct way in doing it and it has nothing todo with soap opera interpolation...
testing rendering with naming the player not the renderer...
HDR tone mapping...
just move on trust me there isn't much to learn here at all...
alex1399
10th May 2019, 17:05
Pascal NVENC might have the HEVC B-frame encoding features but NV decided to disable them at all.
I've mixed up the 1660 NVENC with the 1650 NVENC, the statement above is not correct.
NikosD
28th May 2019, 18:19
https://newsroom.intel.com/wp-content/uploads/sites/11/2019/05/10th-Gen-Intel-Core-Product-Brief.pdf Gen11 of Ice Lake according to these specs doesn't look so fast.
No difference than current Gen9.5 of Coffee Lake actually and a lot slower than Turing for HEVC decoding.
wanezhiling
12th June 2019, 12:15
https://i.postimg.cc/wxsXdmtt/591319bb8fcd48afa3571a6498e6afda.png
RNDA architecture
8k30 264...meanlingless...
still no 8k 265&vp9
huhn
12th June 2019, 12:23
the whole card is very disappointing if the prices are correct then every word i said about over priced turing cards have no ground anymore...
VCN is already been used by there APUs so "all new" is not that new.
no HDMI 2.1 just another hint that they don't care.
2000 series looks more and more reasonable...
jones1913
12th June 2019, 13:50
RNDA architecture
8k30 264...meanlingless...
still no 8k 265&vp9
That image seems to contain errors. Here is a better one:
https://i.postimg.cc/sDB9FQL6/amd-navi-rme.jpg (https://postimg.cc/xc2bMCnM)
There is apparently still an error in the lower left rectangle: 8K ENCODE ?
the whole card is very disappointing if the prices are correct then every word i said about over priced turing cards have no ground anymore...
I would say AMD have learned that customers are more than willing to pay high prices for graphics cards. Nvidia's billion revenues are the proof.
no HDMI 2.1 just another hint that they don't care.
They stated that HDMI 2.1 came to late to be implemented into the Navi10 design. (Computerbase.de (https://www.computerbase.de/2019-06/navi-radeon-rx-5700-xt/#abschnitt_pcie_40_dsckompression_eine_neue_videoengine_und_mehr))
NikosD
12th June 2019, 16:51
It's unreasonable to have 8K encoding without 8K decoding, but the opposite is very reasonable.
I believe that eventually AMD supports 8K decoding for VP9 & H.265, hopefully for both 8bit & 10bit depth, but unfortunately at very low speeds of 24fps
Let's hope it's a pure HW (ASIC) implementation and not hybrid just because Navi is going to have a lot of shaders.
huhn
12th June 2019, 17:03
the VCN decoder in vega APUs is fixed function even thorugh only up to vp9 4K30 for 10 bit (typo?)... so it should be a given that navi has at least that ignoring the vega 7 here which is newer then vega 8/11 and doesn't have it...
shader number not sure why you care about the shader number they a similar to polaris and clearly more powerful about 10-30 % more at the same clock speed hard to judge right now without knowing the real clock rates.
chros
12th June 2019, 19:06
2000 series looks more and more reasonable...
Errr ... The used pascal cards still look more reasonable :D
shae
13th June 2019, 17:32
Can anyone else confirm the Strongene Lentoid h265 decoder is much faster than LAVFilters?
I thought LAV improved in more recent times.
Specs:
x86 on an Intel 3xxx CPU
LAV decoder 0.74.1 (MPC-HC internal)
Lentoid 2.2
NikosD
13th June 2019, 17:48
Can anyone else confirm the Strongene Lentoid h265 decoder is much faster than LAVFilters?
I thought LAV improved in more recent times.
Specs:
x86 on an Intel 3xxx CPU
LAV decoder 0.74.1 (MPC-HC internal)
Lentoid 2.2 I have written it a lot of times that x86 version of Lentoid HEVC decoder is a lot faster than x86 version of LAV HEVC decoder.
LAV video and ffmpeg are not optimized at all for x86 HEVC decoding.
But LAV x64 HEVC is faster than both x86 & x64 Lentoid HEVC decoders.
Also, last time I checked Lentoid didn't support 10bit HEVC decoding.
shae
13th June 2019, 21:09
I can't find a way to benchmark in GraphStudioNext. Am I missing something obvious?
Using Process Explorer, I'm seeing roughly the same performance for Lentoid x86, x64, and LAV x64 (in clsid's MPC-HC):
https://i.imgur.com/Ba1ozyj.png
sneaker_ger
13th June 2019, 22:25
There's a benchmark tool in "View"->"Performance Test". Your filter chain should look something like e.g. "LAV Splitter Source"->"LAV Video"->"Time Measure Filter"->"Null Renderer".
I think Lentoid might be on par or even better on very old CPUs.
lvqcl
13th June 2019, 22:35
I thought LAV improved in more recent times.
IIRC 32-bit HEVC decoder in LAV Video was about 2x slower than 64-bit; now it's only 1.5x slower.
Also, last time I checked Lentoid didn't support 10bit HEVC decoding.
From Strongene Lentoid decoder web page: "The 10-bit encoded HEVC videos can be correctly decoded (but still rendered in 8-bit for output)"
I can't find a way to benchmark in GraphStudioNext. Am I missing something obvious?
GraphStudio: View -> Decoder Performance...
GraphStudioNext: View -> Performance Test...
shae
13th June 2019, 23:55
Thanks. GraphStudioNext 32-bit works, but x64 fails to use the splitter.
While both LAV Splitter and LAV Splitter Source are listed in the Filters window, and all formats are enabled in the splitter, GraphStudioNext x64 doesn't build a proper graph when opening a file, and "Rebuild Graph" fails with VFW_E_CANNOT_LOAD_SOURCE_FILTER (0x80040241).
Opening a file uses "File Source (Async.)", though its merit is lower than the LAV splitter.
Any idea why?
Gen11 of Ice Lake according to these specs doesn't look so fast.
No difference than current Gen9.5 of Coffee Lake actually and a lot slower than Turing for HEVC decoding.
Gen12 HEVC decoding from Tigerlake-U should be capable of at least 8k60 because they made a statement saying that Tigerlake is 4x faster with an 8k60 encode compared to 4k60 encoding speed in Whiskey Lake. They need at least an 8k60 decoder to achieve this speed increase.
https://abload.de/img/tglerj85.png
you don't need a decoder at all for encoding and clearly not a h264 to do h264 encoding.
it's just needs an raw input stream with 8k60 like a screen capture raw render and stuff like this.
sneaker_ger
5th July 2019, 18:24
Don't you need most of the decoding features even in a "pure" encoder because you reference decoded pictures?
you don't need a decoder at all for encoding and clearly not a h264 to do h264 encoding.
it's just needs an raw input stream with 8k60 like a screen capture raw render and stuff like this.
I'm saying the decoding speed must be higher than 8k30 for Gen12, otherwise they won't be able to outpace 4k60 by 4x with 8k60. Also it would be strange if they support 8k60 encoding without a capable 8k60 decoding in hardware.
NikosD
8th July 2019, 16:04
Has anyone found out a DXVA Checker screenshot of Navi ? (RX 5700 series)
Or even better any info regarding decoding performance/ features.
nsnhd
8th July 2019, 16:21
I've seen just a short summary of Guru3d review:
Display and video/media engine
Radeon series 5700 obviously will support FreeSync 2 (Dolby Vision HDR10). Connectivity wise you'll notice that the mini USB connector for VR is not there, that's optional to offer for the AIB partners. But it does confirm what I have been saying a long time, the VR trend has passed. You'll notice HDMI 2.0b support (not 2.1), new is Display Stream Compression which we'll talk a bit more about in the actual review. The media engine has been updated as well, now offering support for H.264 4K150/8K30 Decodes and 4K90 Encodes (that's Ultra HD recording at 90 Hz/PS). For H.265 you'll see 4K60 Decode support, 4K90 Encode support. lastly, Vp9 has become more popular with Youtube and Twitch supporting it and as such, that was bumped up towards 4K60 Decodes. The new Navi cards support both HDR10 and Dolby Vision.
https://www.guru3d.com/articles_pages/amd_radeon_rx_5700_and_5700_xt_review,6.html
NikosD
8th July 2019, 19:34
https://www.guru3d.com/articles_pages/amd_radeon_rx_5700_and_5700_xt_review,6.html So, 4Κ90 fps for encoding of both H.264 and H.265 but 8K30fps decoding for H.264 and 4K60fps for H.265 ?
I think both encoding and decoding figures make no sense.
Guru3D has to be wrong.
nsnhd
9th July 2019, 04:07
Has anyone found out a DXVA Checker screenshot of Navi ? (RX 5700 series)
Or even better any info regarding decoding performance/ features.
https://2.pik.vn/201986650cdc-52f4-4f09-8191-e15b3d281841.jpg
NikosD
9th July 2019, 05:03
Nice, thanks!
So, everything is supported up to 8K.
Probably a driver's bug or AMD got crazy.
by there own words it can do VP9 60 if it could do massively more they would say so and clearly this doesn't mean it can't do 8K at some Fps for VP9.
kind strange that it isn't checked for decoded speed and i only saw one test of the encoder too where let'S say just hope the driver is the reason for that...
maybe testing "super", zen 2 and navi in the same weeks was just to much to put that in for now.
nevcairiel
9th July 2019, 12:30
Seems like a driver quirk for me that it simply doesn't refuse unsupported resolutions. This wouldn't be the first time for AMD either where the driver accepted resolutions it just couldn't play at all.
littleD
16th August 2019, 18:10
https://www.phoronix.com/scan.php?page=news_item&px=Vulkan-Video-Decode-H1-2020
Khronos group plans to add hardware video decoding into vulkan. Initially h264 and hevc, later VP9 and AV1. Article mention it gonna be cross- OS. I wonder how it gonna work on Windows. Is it gonna be a middleware as additional layer emulating things between OS and player, or have direct access to hardware decoding modules. The latter would imply completely new interface.
NikosD
17th August 2019, 08:01
I have seen that article too and I wanted to post it to LAV filters thread.
Maybe @nevcairiel could make a comment on this.
huhn
17th August 2019, 08:40
you need a directshow vulkan renderer before. at the end it's just another API accessing the same encoder and decoder.
nevcairiel
17th August 2019, 19:35
Indeed, there is no real benefit on Windows yet, since its litereally the same hardware being accessed. DXVA2 or D3D11VA is already a cross-vendor API that generally works well. It might help on Linux where there is no cross-vendor API and you have to deal with VAAPI and NVDEC at least, instead of just one.
Maybe if one day someone makes a Vulkan renderer for DirectShow, maybe then.
NikosD
21st August 2019, 11:53
It's official.
Navi has a fixed-function decoder for HEVC and VP9 supporting 8bit and 10bit up to 8K24fps.
It's a slow 8K decoder, but it's a start.
The video engine can decode H.264 streams at high-throughput:
1080p at 600 frames/sec (fps) and 4K at 150 fps.
It can simultaneously encode at about half the speed:
1080p at 360 fps
and 4K at 90 fps.
8K decode is available at 24 fps for both HEVC and VP9.
For more advanced compression, the video engine delivers high throughput decoding for either 8-bit or 10-bit color:
360 fps for a 1080p stream, 90 fps for a 4K stream, and 24 fps for an 8K stream.
littleD
3rd September 2019, 06:09
Newest Intel beta drivers introduce Integer scaling. Do you think integer is good scaling option for eg 4K>HD for video playback because some people say so. Never tried but cant imagine this.
huhn
3rd September 2019, 07:24
it's not a good downscaler i just say it it's one of the worst. i highly doubt intel or nvidia can even downscale using it.
it has a very specfic use case where it is the "best" and that's pixel art upscaling and only if it is done with an integar as an multiplier.
it's part of EVR CP for like ever madVR can do too only with hot keys it's generally considered to be a bad scaler.
it's so easy to do a CPU can do it easily.
to downscale UHD to FHD you just have to read 2 mill pixel and write 2 mill pixel with no math what so ever.
littleD
3rd September 2019, 16:54
it's not a good downscaler i just say it it's one of the worst. i highly doubt intel or nvidia can even downscale using it.
it has a very specfic use case where it is the "best" and that's pixel art upscaling and only if it is done with an integar as an multiplier.
it's part of EVR CP for like ever madVR can do too only with hot keys it's generally considered to be a bad scaler.
it's so easy to do a CPU can do it easily.
to downscale UHD to FHD you just have to read 2 mill pixel and write 2 mill pixel with no math what so ever.Its all how i got it. I feel even more confirmed now.
There is so much hype over integer scaling. Definitely one of many mini battles between gpu vendors. Unfortunately the use if IS is misinterpreted on many places on the net.
NikosD
3rd September 2019, 18:50
https://pcper.com/2019/09/ice-lake-benchmarks-1065g7-vs-3700u/ Ice Lake Gen11 DXVA Checker screenshot. Biggest DXVA Checker list I have ever seen.
But I thought Gen11 had exactly the same decoder with previous version of Gen9.5/9.
If not, I would like to see some benchmarks of VP9 8K60fps YouTube clips and HEVC 8K 8bit/10bit.
I can't remember if Gen9.5 and older had VP8 HW decoding like the one I see for Gen11.
wanezhiling
7th September 2019, 12:23
I can't remember if Gen9.5 and older had VP8 HW decoding like the one I see for Gen11.
https://i.postimg.cc/Zqjn0Wnm/QQ-20190907192221.png
huhn
12th September 2019, 20:52
do you have some test videos you want me to throw at an rx 5700 XT?
NikosD
13th September 2019, 16:39
do you have some test videos you want me to throw at an rx 5700 XT? Just test the four clips above >4K (not 4K) HEVC from here (8bit & 10bit) http://forum.doom9.org/showthread.php?p=1799099
They are the two bonus clips for 8bit HEVC and two bonus clips for 10bit HEVC.
Also, download and test the 8K resolution of VP9 clip from YouTube here:
https://youtu.be/1La4QzGeaaQ
huhn
14th September 2019, 14:44
8K_Ex_sample.mp4
39 45 48
Arri65_from_raw.mp4
44 47 50
MBC UHD Music Core GFriend - Rough (4in1) 8k.mkv
26 37 46
peru is software only
GPU clock is supposed to be 6 mhz while power consumption is supposed to be 39 watt so that does not work.
NikosD
14th September 2019, 16:07
8K_Ex_sample.mp4
39 45 48
Arri65_from_raw.mp4
44 47 50
MBC UHD Music Core GFriend - Rough (4in1) 8k.mkv
26 37 46
peru is software only
GPU clock is supposed to be 6 mhz while power consumption is supposed to be 39 watt so that does not work. Thanks.
The results for 8K HEVC are close to low clocked Intel iGPUs like HD 610, but still not bad.
What is the clock of video decoder during benchmarks ?
Did you try both DXVA2 and D3D11 ?
For VP9 you have to explicitly check it in LAV filters because it's disabled by default.
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.