Log in

View Full Version : Evaluation of HEVC decoders (SW, Hybrid and HW)


Pages : 1 2 3 4 [5] 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52

NikosD
18th January 2015, 10:20
I fixed the Samsung clips, they work fine now.


Yes, it works.

But this 8bit HEVC clip, still crashes Intel's DXVA (both native and cb)

http://demo-uhd3d.com/files/uhd4k/Hispasat_UHD_NAB-2014_HEVC.zip

nevcairiel
18th January 2015, 11:41
But this 8bit HEVC clip, still crashes Intel's DXVA (both native and cb)

http://demo-uhd3d.com/files/uhd4k/Hispasat_UHD_NAB-2014_HEVC.zip

This one crashes somewhere deep in the driver, those take some time to figure out. Presumably because its missing a reference frame and Intel expects it to be present.

Ideally, Intel would just fail to decode the frame instead of crashing completely, but from past experience, this is a common theme with Intel .. they crash when something is wrong.

Gravitator
18th January 2015, 11:48
ERROR 503 - Service Unavailable!
Привет,
I also have a problem (Firefox).
Use a manual download from > http://demo-uhd3d.com/fiche.php?cat=uhd&id=21

NikosD
18th January 2015, 19:47
As for Ivybridge HD2500/4000 with latest driver, I verify that there is no HEVC DXVA support. (Tested it yesterday). There is no HEVC DXVA exposed as shown in DXVAChecker.


It seems that Ivybridge still uses 15.33 driver and not 15.36, so I don't expect Ivy to support DXVA HEVC acceleration.

But have you tried Lentoid HEVC OpenCL decoder or Cyberlink's PowerDVD HEVC OpenCL decoder with Ivy to see of there is any HW acceleration from there ?

Because Ivy supports OpenCL.

ksio89
20th January 2015, 01:08
I'm not sure if it goes here, be free to move if not.

I would like to ask you guys: is there any hw decoder available for HEVC? I have MPC-HC (x64 flavour) installed along K-Lite Codec Pack Full 10.9.5, and everything is default, so the default video decoder is LAV, and the renderer is EVC CP.

In LAV Video decoder menu, I choose DXVA2 (native) as the HW decoder, and ticked "HEVC" and "UHD (4K)" boxes, both on LAV x86 and x64 (even though I only use x64 version of MPC-HC).

I downloaded a 4K video sample from here:

http://www.imaging-resource.com/news/2014/11/19/samsung-nx1-4k-video-samples-and-new-full-res-frame-grabs-available-for-do,

The file content generated by MediaInfo is attached as a .txt.

I played this sample in MPC-HC, but DXVA was not activated, so the framerate was choppy. I played a Full HD MP4 video file just to test and DXVA worked fine, low CPU usage and higher GPU usage.

These are the specs of my laptop:

Dell Inspiron 15R-5537:

Intel core i7-4500U @ 2,7 GHz
AMD Radeon HD 8870M (128-bit, 2 GiB GDDR5)
6 GB DDR3L @ 1600 MHz
Windows 8.1 Pro x64

Does this HW support 4K DXVA decoding? It's my laptop that's too weak to play 4K video file, or I can't just set up HEVC DXVA decoding properly? Thanks in advance.

NikosD
20th January 2015, 08:34
I'm not sure if it goes here, be free to move if not.

I would like to ask you guys: is there any hw decoder available for HEVC? I have MPC-HC (x64 flavour) installed along K-Lite Codec Pack Full 10.9.5, and everything is default, so the default video decoder is LAV, and the renderer is EVC CP.

In LAV Video decoder menu, I choose DXVA2 (native) as the HW decoder, and ticked "HEVC" and "UHD (4K)" boxes, both on LAV x86 and x64 (even though I only use x64 version of MPC-HC).

I downloaded a 4K video sample from here:

http://www.imaging-resource.com/news/2014/11/19/samsung-nx1-4k-video-samples-and-new-full-res-frame-grabs-available-for-do,

The file content generated by MediaInfo is attached as a .txt.

I played this sample in MPC-HC, but DXVA was not activated, so the framerate was choppy. I played a Full HD MP4 video file just to test and DXVA worked fine, low CPU usage and higher GPU usage.

These are the specs of my laptop:

Dell Inspiron 15R-5537:

Intel core i7-4500U @ 2,7 GHz
AMD Radeon HD 8870M (128-bit, 2 GiB GDDR5)
6 GB DDR3L @ 1600 MHz
Windows 8.1 Pro x64

Does this HW support 4K DXVA decoding? It's my laptop that's too weak to play 4K video file, or I can't just set up HEVC DXVA decoding properly? Thanks in advance.

Your CPU has an iGPU HD 4400 inside, which is capable of HW acceleration of HEVC in both ways - OpenCL and DXVA.

Your discrete card Radeon 8870M has only OpenCL HW accelerated support of HEVC.

LAV and MPC-HC have only DXVA HW acceleration support of HEVC, not OpenCL.

If you enable your iGPU to handle video decoding, you 'll see [Playing H/W], which means HW acceleration, in the left bottom of MPC-HC by enabling Status[Control+5] to see the status of playback decoding.

If Radeon 8870M is the primary card for video playback, don't expect HW acceleration of HEVC using LAV, you have to use Cyberlink's PowerDVD HEVC decoder or Lentoid OpenCL HEVC decoder.

The HW acceleration of full HD MP4 file probably occurs because it's not a HEVC file, but H.264 (AVC) which Radeon 8870M can handle in DXVA HW acceleration.

NikosD
20th January 2015, 08:39
Intel put a table to clarify the situation of VP9 partial acceleration and HEVC 10bit partial acceleration for Haswell and Broadwell here:

https://communities.intel.com/thread/59216

Also, there is a post in the above link, referring to Nevcairiel's post here, about broken 10bit HEVC driver for HSW.

xooyoozoo
21st January 2015, 00:21
Chromium added DXVA VP8/VP9 decode acceleration support over a month ago (https://codereview.chromium.org/719273003). Based on the revision numbers, it looks like Chrome Dev and Canary should already have the acceleration activated.

Just FYI, in case anyone has Broadwell and wants to entertain our curiosity. ;)

nevcairiel
21st January 2015, 00:25
Note that its not actually DXVA being used, but directly loading the special Intel decoder DLLs.

NikosD
21st January 2015, 11:28
Chromium added DXVA VP8/VP9 decode acceleration support over a month ago (https://codereview.chromium.org/719273003). Based on the revision numbers, it looks like Chrome Dev and Canary should already have the acceleration activated.

Just FYI, in case anyone has Broadwell and wants to entertain our curiosity. ;)

I would like to test it with my HD 4600, because Intel's drivers 15.36.xx family on June 2014 with beta v.3651 driver, introduced for the first time the VP8 MFT decoder even for Haswell.

The link you provided says:


The decoding is for Intel Broadwell and Bay Trail CPUs, which will include an
onboard hardware accelerated decoder.


IIRC, the QuickSync ASIC inside Haswell iGPU doesn't include VP8 as a HW accelerated codec.

But maybe Chrome uses that "Intel Hardware VP8 decoder MFT" that I see in MFT decoders installed and I could get some kind of HW acceleration using iGPU's shaders and VP8 streaming video.

Does latest Chrome v39 under Win 8.1 have this acceleration enabled ?

I threw a VP8 clip on Chrome and only CPU was used during the decoding.

I don't know if I have to enable a switch or something like that for VP8 HW acceleration in Chrome.

Is there any way to "force" youtube.com to send VP8 streams, because nowadays youtube uses VP9 mainly.
Or maybe change some settings in Chrome for youtube.com in order to send VP8 streams.

Note that its not actually DXVA being used, but directly loading the special Intel decoder DLLs.

I think Microsoft hasn't released VP8/VP9 DXVA decoder devices yet, so I wonder what's the meaning of this phrase from the above link:


Adds code to DXVA to try and load the Intel media decode DLLs


Is this even possible to use DXVA code without DXVA decoder device ?

nevcairiel
21st January 2015, 11:31
They just integrated this special Intel DLL code into their DXVA code in Chromium, the commit message is slightly confusing there, its not actually using anything from DXVA2 otherwise.

NikosD
21st January 2015, 11:35
I see.

What about Chrome and Haswell ?

Is there any chance that VP8 HW acceleration could be working ?

Update:

I have downloaded and tested latest Chromium v42 x86/x64 (21/01/2015) from here http://chromium.woolyss.com/ and it seems that even playing a demanding 4K VP8 file, from my disk not Youtube, it doesn't trigger any kind of HW acceleration.

Only CPU is involved in VP8 decoding with my signature system.

Someone with Broadwell processor, could tell us more about the subject.

nevcairiel
22nd January 2015, 15:03
From AnandTech GTX960 launch preview:

When it comes to HEVC (H.265) decoding, GM204, GM1xx, and GK1xx GPUs all offer limited HEVC decoding via a hybrid process that offloads some parts to the GPU fixed function units and shaders, and other parts to software entirely. However as of GM206 NVIDIA’s fixed function HEVC decoder has been completed and rolled into this GPU, making this the first discrete GPU with full HEVC decoding support.


A full review is expected in the following days.

NikosD
22nd January 2015, 16:23
Right GTPVHD.

I took a quick look on over 10 reviews, nobody has the knowledge or will to test its HTPC/Media capabilities.

My questions are for both H.264/H.265:

1) 10bit decoding
2) Speed, especially on 100+ Mbps 4K HEVC clips

and

3) What about VP8/VP9

nevcairiel
22nd January 2015, 16:47
There is still no DXVA2 spec for VP8 or VP9, and I have see no mention of it in the CUVID decoder headers, so I don't see how it would magically appear.
Maybe in the CUDA SDK 7, should try to get my hands on that RC.

H.264 is not getting 10-bit decoding, since its not part of the base profile (like it is in H.265).

nevcairiel
23rd January 2015, 15:40
NVIDIA GTX 960 Benchmarks

1.Beauty-2160p@30fps-12.3Mbps

LAV x86 DXVA2 Native, Decode, 125 fps
LAV x86 DXVA2 Native, Playback (scaling to 1080p), 125 fps

LAV x86 DXVA2 CopyBack, Decode, 118 fps

2.Fitness-2160p@30fps-8Mbps

LAV x86 DXVA2 Native, Decode, 148 fps
LAV x86 DXVA2 Native, Playback (scaling to 1080p), 145 fps

LAV x86 DXVA2 CopyBack, Decode, 140 fps

3.Ducks-2160p@50fps-4Mbps

LAV x86 DXVA2 Native, Decode, 153 fps
LAV x86 DXVA2 Native, Playback (scaling to 1080p), 152 fps

LAV x86 DXVA2 CopyBack, Decode, 143 fps

Because none of these samples posed any challenge to the decoder, I included the "Ultra HD Sample #1" from here: http://www.imaging-resource.com/news/2014/11/19/samsung-nx1-4k-video-samples-and-new-full-res-frame-grabs-available-for-do (the first video with the big leaves)
This video has a much higher bitrate as the others, at nearly 80Mbps.

SamsungNX1.Leaves.2160p@30fps-80Mbps

LAV x86 DXVA2 Native, Decode, 118 fps
LAV x86 DXVA2 Native, Playback (scaling to 1080p), 116 fps

LAV x86 DXVA2 CopyBack, Decode, 115 fps

-----

Its important to note that CPU usage in these tests was always below 1% (except CopyBack), indicating that full hardware acceleration is working perfectly.

From these 8-bit movies, I can conclude that the HEVC/H.265 hardware decoder in the GTX 960 is plenty fast for 4K HEVC content.
It seems to cap out around 150-160 fps for 4K, which is slightly below the Hybrid decoder on "simple" samples, however like any decent hardware decoder its largely unimpressed by high bitrates and retains most of its speed, while the hybrid decoder gets much much slower.

I'll work on implementing 10-bit support in LAV Video soon, and we'll see how it fares there (and hopefully EVR accepts 10-bit DXVA2-Native input)

Edit:
Added CopyBack numbers. Even those have greatly improved, and the performance difference between native and CB is very small (on my system, anyway).

NikosD
23rd January 2015, 17:26
Thanks for the results.

NVIDIA GTX 960 Benchmarks


3.Ducks-2160p@50fps-4Mbps

LAV x86 DXVA2 Native, Decode, 153 fps
LAV x86 DXVA2 Native, Playback (scaling to 1080p), 152 fps

LAV x86 DXVA2 CopyBack, Decode, 143 fps



The low bitrate clips are definitely not in favor of pure HW decoders.

Nvidia GTX 770 DXVA is faster on this clip.

When I tested DXVA on hybrid decoders LAV x64 was a lot faster than LAV x86.

Of course now with the pure decoder, it shouldn't play a significant role, but if I were you, I would definitely check LAV x64 with pure HW decoder.


SamsungNX1.Leaves.2160p@30fps-80Mbps

LAV x86 DXVA2 Native, Decode, 118 fps
LAV x86 DXVA2 Native, Playback (scaling to 1080p), 116 fps


It's definitely shows its muscles here, but I would like to see DXVA performance of a hybrid decoder here.

Can you switch to hybrid decoder using shaders on 970 or there is no way to control it and you have to use the ASIC ?



Its important to note that CPU usage in these tests was always below 1% (except CopyBack), indicating that full hardware acceleration is working perfectly.


Can you check the video engine usage during benchmark tests ?
Not the GPU load but video engine load.

I use gadgets for this (GPU monitor) but I think GPU-Z shows that too.


From these 8-bit movies, I can conclude that the HEVC/H.265 hardware decoder in the GTX 960 is plenty fast for 4K HEVC content.


It looks fast like 4K 120fps decoder, but if the rumors are true about new 4K HEVC Bluray disks, we have to test it on more than 100Mbps clips up to 150Mbps and I think in 10bit and possibly 60 fps.


I'll work on implementing 10-bit support in LAV Video soon, and we'll see how it fares there (and hopefully EVR accepts 10-bit DXVA2-Native input)


Did your code work as it is or you had to change it for 960 ?

nevcairiel
23rd January 2015, 17:35
It's definitely shows its muscles here, but I would like to see DXVA performance of a hybrid decoder here.

Can you switch to hybrid decoder using shaders on 970 or there is no way to control it and you have to use the ASIC ?


You don't get a choice, if it supports full HW decoding, thats what its going to do. But luckily I also have a GTX 980, which doesn't have the new decoder.

SamsungNX1.Leaves.2160p@30fps-80Mbps using the hybrid decoder on a GTX 980:
LAV x86 DXVA2 Native, Decode, 22 fps
LAV x86 DXVA2 Native, Playback (scaling to 1080p), 17 fps

LAV x64 DXVA2 Native, Decode, 24 fps
LAV x64 DXVA2 Native, Playback (scaling to 1080p), 21 fps

Not to mention that this mode maxes out one CPU core at 100% usage as well.
High bitrates have a steep performance cost in software and hybrid decoders.


Did your code work as it is or you had to change it for 960 ?
No changes were required for 8-bit decoding.

NikosD
23rd January 2015, 17:55
NVIDIA GTX 960 Benchmarks

I'll work on implementing 10-bit support in LAV Video soon, and we'll see how it fares there (and hopefully EVR accepts 10-bit DXVA2-Native input)


Does DXVA checker show a DXVA device decoder of HEVC_Main10 for 960 ?

nevcairiel
23rd January 2015, 18:00
Yes it does, with P010 output instead of NV12, so its a proper 10-bit decoder.

Stereodude
23rd January 2015, 19:57
Does it have HEVC Version 2 (http://en.wikipedia.org/wiki/High_Efficiency_Video_Coding#Profiles) support?

nevcairiel
23rd January 2015, 20:31
No, and there are unlikely to ever be hardware decoders that support it. Similar to H.264, only the first set of profiles is supported, as those are the ones used for commercial content. Luckily 10-bit is part of Version 1.
The DXVA2 Spec is only for Main and Main10 profiles.

Stereodude
23rd January 2015, 21:57
On another forum someone reported that UHD Blu-Ray will require Version 2 support, but I haven't been able to verify that.

nevcairiel
23rd January 2015, 22:18
The final spec hasn't been confirmed yet, but from what I hear, the "required" features for 4K Blu-ray are 2160p, 4:2:0 in 10-bit and up to 60 fps (Version 1), with higher bitdepths being an optional feature for players. I'm not sure how they want to do optional support for something like this though, unless they ship a second disc or a second video track on the same disc. Previously, HD audio was optional, and there always has been a non-HD fallback mechanism in place. So this optional higher bitdepth should still be taken with a grain of salt.

sneaker_ger
23rd January 2015, 22:19
Unlikely. UHd Blu-Ray is pretty much confirmed 10 bit 4:2:0 and to be on the market at the end of 2015 while >10 bit HEVC is not finalized yet.

nevcairiel
23rd January 2015, 22:25
Actually HEVC Version 2 has been finalized last year (October I think) and is included in the latest release of the full spec.

sneaker_ger
23rd January 2015, 22:31
Really? How did I miss that?

Stereodude
24th January 2015, 00:12
Really? How did I miss that?
October 29, 2014 according to Wikipedia.
On October 29, 2014, HEVC/H.265 version 2 was approved as an ITU-T standard.

Stereodude
24th January 2015, 00:17
NVIDIA GTX 960 Benchmarks
I don't want to drag this thread off topic, but since you seem to be the only poster with a GTX 960 so far... Have you tested it with madVR? I'd love to know which AMD card it's on par with in terms of shaders power.

NikosD
24th January 2015, 10:11
NVIDIA GTX 960 Benchmarks


The DXVA native and copy-back results of Nvidia 960 are really close, but in pure "Decode" mode.

What about "Playback" mode scaled to 1080p or 720p ?

Are they still close in that mode ?

xooyoozoo
24th January 2015, 11:27
The final spec hasn't been confirmed yet, but from what I hear, the "required" features for 4K Blu-ray are 2160p, 4:2:0 in 10-bit and up to 60 fps (Version 1), with higher bitdepths being an optional feature for players. I'm not sure how they want to do optional support for something like this though, unless they ship a second disc or a second video track on the same disc. Previously, HD audio was optional, and there always has been a non-HD fallback mechanism in place. So this optional higher bitdepth should still be taken with a grain of salt.

SHVC is probably the most straightforward solution. One of the Panasonic UHD Bluray slides (http://av.watch.impress.co.jp/img/avw/docs/683/374/html/dg11.jpg.html) explicitly mentions that the mandatory spec includes HDR in a single independent layer, so I assume that the opposite (HDR in an extra dependent layer) will be an option and that this will extend to other variants of scalability. 12 bit 4:4:4 HDR, please!

nevcairiel
24th January 2015, 12:08
You don't really need any extra layer for HDR, you can do it with just metadata in SEI messages, so I wouldn't hold my breath.
Even your chart claims that HDR is only 10-bit, and there is no mention of improved color sampling either. Although SHVC is a possibility, I'm not seeing it yet.

wanezhiling
24th January 2015, 14:34
The hevc performance of GM206 is impressive.
But I guess Skylake will beat it easily as Intel is an expert on hardware decoding. ^^

nevcairiel
24th January 2015, 14:50
The hevc performance of GM206 is impressive.
But I guess Skylake will beat it easily as Intel is an expert on hardware decoding. ^^

Too bad their drivers tend to suck, causing crashes in things that NVIDIA just works on =)
Besides, on H.264 Maxwell has been equally fast as Intels decoder now.

Gravitator
24th January 2015, 17:39
The GeForce GTX 970 can not work with 4 GB of memory efficient manner > official forum (https://forums.geforce.com/default/topic/803518/geforce-900-series/gtx-970-3-5gb-vram-issue/1/)
It is better to wait for the end of the investigation before buying :)

Nai's Benchmark (to analyze the speed of memory sections) > from this topic (http://www.computerbase.de/forum/showthread.php?t=1435408)
--Use at your own risk--

Stereodude
24th January 2015, 22:00
Unlikely. UHd Blu-Ray is pretty much confirmed 10 bit 4:2:0 and to be on the market at the end of 2015 while >10 bit HEVC is not finalized yet.
A lot of the rumors regarding what UHD Blu-Ray will do can't be met with with V1. That said, it's anyone's guess what will actually materialize. They'll probably make some stuff optional and the whole thing will be one giant mess by the time you factor in the capabilities of your display, capabilities of your HDMI connection (depending on revision), what the studios decide to put on any particular disc, and what optional features your player can support.

NikosD
24th January 2015, 22:18
Too bad their drivers tend to suck, causing crashes in things that NVIDIA just works on =)


The quality of Intel's drivers has been improved dramatically the last few years, although it's not at the same level of Nvidia and AMD yet.

About crashes, if you mean 10bit HEVC hybrid decoding, that was a bug of Nvidia too.


Besides, on H.264 Maxwell has been equally fast as Intels decoder now.

There are 3 different architectures of Maxwell, if we call 960 a 3rd generation, at least regarding media capabilities.

Maxwell 1 and 2, like Nvidia 750 and your 980, I think have exactly the same decoder VP6 which is capable of H.264 4K80 fps.

Haswell has a 4K 120fps H.264 decoder, so it's definitely faster than VP6.

About the new VP7 of 960, I would definitely like to know if H.264 performance has been improved further.

cyberbeing
25th January 2015, 02:07
NVIDIA GTX 960's 8bit HEVC decode performance seems as expected. I just hope NVIDIA breaks their habit of limiting their latest and greatest ASIC decode chips to mainstream and entry level GPUs. It would be nice to see something like a GTX 960 Ti on a cut down GM204 with this decode chip, but I'm not getting my hopes up.

The GeForce GTX 970 can not work with 4 GB of memory efficient manner > official forum (https://forums.geforce.com/default/topic/803518/geforce-900-series/gtx-970-3-5gb-vram-issue/1/)
It is better to wait for the end of the investigation before buying :)

Nai's Benchmark (to analyze the speed of memory sections) > from this topic (http://www.computerbase.de/forum/showthread.php?t=1435408)
--Use at your own risk--
FWIW, my GTX 770 Kepler GPU has a similar performance drop-off beyond ~1.6GB-1.7GB/2GB with that Nai's Benchmark, but only when Desktop Compostion is enabled. That particular issue has existed for quite awhile on other GPUs beyond ~80% memory utilization, but maybe this GTX 970 issue is something different. IMHO, it's more interesting that the GTX 980 is supposedly unaffected for reasons unknown. The investigation will be interesting either way, though it's not something which would be worth holding off buying for when the performance and value of the GTX 970 has already proven itself. Though honestly, I personally was holding off on both the GTX 970/980 for the sole reason that they came too early and were lacking the 4K 10bit HEVC decode ASIC which the GTX 960 now has.

Update: http://www.pcper.com/news/Graphics-Cards/NVIDIA-Responds-GTX-970-35GB-Memory-Issue https://forums.geforce.com/default/topic/803518/geforce-900-series/gtx-970-3-5gb-vram-issue/post/4432672/#4432672
NVIDIA has now made a statement the behavior on the GTX 970 is a driver optimization which partitions memory to optimize hardware resource access to the memory subsystem.

NikosD
25th January 2015, 16:05
NVIDIA GTX 960's 8bit HEVC decode performance seems as expected.


Well, this time it looks like they did it right, we only have to wait for Nevcairiel to build the 10bit decoder and see the performance on that.

Based on the previous first generation 4K H.264 decoder (VP5), they didn't manage to even reach 4K30fps.
VP5 is a 4K26-28fps decoder.

So, we didn't know exactly what to expect from Nvidia.

wanezhiling
25th January 2015, 18:19
Kepler (600, 700 series)'s VP5 can easily reach 4K35fps~4K40fps.
Only GT520/610(GF119) can't reach 4K30fps, even GT520M(GF119 as well) can reach 4K31fps, my friend tested before.

wizziwig
27th January 2015, 22:56
Too bad their drivers tend to suck, causing crashes in things that NVIDIA just works on =)
Besides, on H.264 Maxwell has been equally fast as Intels decoder now.

Have you tested the refresh rate accuracy for 23.976 and 59.940 fps on the 960? That seems to be an area where Intel has the edge over everyone else. On Haswell, it just works out-of-the-box without having to mess with custom out-of-spec timings that may not work on all displays.

nevcairiel
29th January 2015, 14:56
I've been working on 10-bit decoding, and while it mostly works, it doesn't seem to be likely that it'll work in DXVA2 native mode anytime soon, as EVR just either crashes or refuses to render anything when receiving P010.

The good news is that as a separate side-project I've been working on reducing the CPU usage of Copy-Back, and assuming a direct decoder -> output chain (no software deint, no format conversion, clean nv12 decode and nv12 output, or p010 decode and p010 output), I could reduce the CPU usage on my NVIDIA system by up to 50%, and additionally the benchmarked performance is now 99% the same as DXVA2-Native benchmarks. These gains may be a bit smaller on Intel or AMD GPUs, but they will still be quite noticeable.

I may also add a P010 decode -> NV12 output path using these optimizations, as that may be a common use-case for now when viewing 10-bit content on many renderers.

Qaq
29th January 2015, 15:38
The good news is that as a separate side-project I've been working on reducing the CPU usage of Copy-Back, ... I could reduce the CPU usage on my NVIDIA system by up to 50%, and additionally the benchmarked performance is now 99% the same as DXVA2-Native benchmarks. These gains may be a bit smaller on Intel or AMD GPUs, but they will still be quite noticeable.Impressive! That is what I was asking for (http://forum.doom9.org/showthread.php?p=1576230#post1576230). I feel like I'm ready to watch some high bitrate telecined movies now with my Athlon 64 X2 6000+. :thanks:

nevcairiel
29th January 2015, 15:43
The Athlon 64 is probably still rather slow for CB, as it doesn't have SSE4.1, which introduced the optimized instructions for copying from GPU memory to system memory. It can make a world of difference.

Qaq
29th January 2015, 15:54
Oh no.... we'll see.

vivan
29th January 2015, 15:58
I've been working on 10-bit decoding, and while it mostly works, it doesn't seem to be likely that it'll work in DXVA2 native mode anytime soon, as EVR just either crashes or refuses to render anything when receiving P010.What about madVR? It should support DXVA2-native.

nevcairiel
29th January 2015, 16:14
What about madVR? It should support DXVA2-native.

I won't bother with the complexity of 10-bit through DXVA2-Native for madVR only, which works much better with CB anyway (or even does CB itself!), not to mention that it probably doesn't accept it right now either.

NikosD
29th January 2015, 20:10
I've been working on 10-bit decoding, and while it mostly works, it doesn't seem to be likely that it'll work in DXVA2 native mode anytime soon, as EVR just either crashes or refuses to render anything when receiving P010.


So, it seems that DXVA2 Native and 10bit HEVC decoding are incompatible.

What about EVR-CP ?
Any difference ?

Could Intel or AMD do any tricks with the driver, in order for DXVA2 Native and 10bit to be compatible ?

huhn
29th January 2015, 20:56
So, it seems that DXVA2 Native and 10bit HEVC decoding are incompatible.

What about EVR-CP ?
Any difference ?

Could Intel or AMD do any tricks with the driver, in order for DXVA2 Native and 10bit to be compatible ?

the problem is that current renderer can't handle P010 in general.
maybe the current or next version of madVR will handle P010 DXVA input correctly.
EVR can't even handle P010 from software decoding...

NikosD
29th January 2015, 21:45
Then Microsoft should build a better renderer for Windows 10 in order to use 10bit.

I don't use madVR.