PDA

View Full Version : How can I view 10-bit HEVC as 10-bit


benwaggoner
13th January 2014, 19:34
Well, I'm sure glad that CES is behind us (http://phx.corporate-ir.net/phoenix.zhtml?c=176060&p=irol-newsArticle&ID=1888367&highlight=). Anyone here see my 15 Mbps HEVC Ultra HD encodes at the Samsung booth?

Now that we're in the lull between CES and NAB, I'm hoping to play around some with 10-bit HEVC. I've got a Nvidia Quadro K4000 board and a Dell UHD display that are both capable of 10-bit display. I'm able to correctly get Adobe Premiere and After Effects to use the 10-bit output for 10-bit video sources.

But what about HEVC? Is there any player or DirectShow decoder out there capable of getting the full 10 bits to the screen? I suppose I could probably dump the 10-bit YUV reconstructed frames from x265 and then convert them to a lossless 10-bit codec for viewing in Premiere. But I'd prefer something a lot simpler, and mindful of RAID space.

cjplay
13th January 2014, 20:19
Talk to Fraunhofer. They have a decoder that'll do a v210 pixel type in real time on a SandyBridge 8-core. I'm going to test it on Ivy and Haswell, but I don't expect my Haswell to work as well as my Ivy. Strongene doesn't support a 10-bit pixel type output.

-CJ

BTW, where are you teaching at?

nevcairiel
13th January 2014, 20:25
LAV Filters can output 10-bit, also in v210 if you so desire, however actually getting it on the screen in 10-bit is a remaining issue then.
I'm not aware of a widely available DirectShow renderer that can accept 10-bit input and render it to the screen in 10-bit as well, but if you happen to have one, LAV Filters can decode the video for you.

I have never tested a UHD 10-bit sample though, it may not be fast enough for realtime yet.

kolak
13th January 2014, 20:32
madVR?

benwaggoner
13th January 2014, 20:33
Talk to Fraunhofer. They have a decoder that'll do a v210 pixel type in real time on a SandyBridge 8-core. I'm going to test it on Ivy and Haswell, but I don't expect my Haswell to work as well as my Ivy. Strongene doesn't support a 10-bit pixel type output.
Ach, I met with Fraunhofer last week, but we only talked audio stuff. Thanks for the tip!

BTW, where are you teaching at?
Nowhere currently. I used to do my summer seminar at Stanford and a class at Portland State University, but neither in the last few years. The economy downturn really slammed corporate training budgets and thus enrollment in those kinds of classes.

I wouldn't mind doing something like that up again in the future, work load permitting. I get to do mentoring and training inside Amazon, which scratches that itch. And we are hiring, if you or anyone else really like to take a Ben Waggoner class :).

cjplay
13th January 2014, 20:35
LAV Filters can output 10-bit, also in v210 if you so desire, however actually getting it on the screen in 10-bit is a remaining issue then.
I'm not aware of a widely available DirectShow renderer that can accept 10-bit input and render it to the screen in 10-bit as well, but if you happen to have one, LAV Filters can decode the video for you.

I have never tested a UHD 10-bit sample though, it may not be fast enough for realtime yet.

I had to use an SDI output from BMD to get the 10-bit to my plasma screen. I thought the current VMR can do 10-bit, though, no?

benwaggoner
13th January 2014, 20:41
I had to use an SDI output from BMD to get the 10-bit to my plasma screen. I thought the current VMR can do 10-bit, though, no?
Windows has supported 30-bit RGB since Vista IIRC. The story on apps is tricky, though. For example the Adobe Creative Suite products will only do 10-bit via OpenGL, which requires a Quadro board. But any DirectX app should be able to do it.

A 10-bit capable DisplayPort monitor is also required AFAIK. Perhaps HDMI 2.0 can work in some configurations.

cjplay
13th January 2014, 21:01
I wouldn't mind doing something like that up again in the future, work load permitting. I get to do mentoring and training inside Amazon, which scratches that itch. And we are hiring, if you or anyone else really like to take a Ben Waggoner class :).

I'd love to (someday). You were such a nice guy to work with in the HD DVD days...

benwaggoner
13th January 2014, 21:05
I'd love to (someday). You were such a nice guy to work with in the HD DVD days...
Thanks!

And seriously, if anyone is looking for a job, let me know.

Also, here's a link to the Fraunhofer decoder (http://www.hhi.fraunhofer.de/fields-of-competence/image-processing/solutions/hevc-software-and-hardware-solutions/hevc-4k-real-time-decoder.html).

I hope to have more details soon.

KornX
14th January 2014, 22:21
funny that you mentioned that now...
as i was browsing for jobs in that direction between the years ;)

KornX

fumoffu
15th January 2014, 03:01
Em, I was wondering, both MPC-HC and MPC-BE have "10-bit RGB output" option in presentation and can work with LAVFilters (well MPC-HC even has internal LavFilters). Isn't this enough?

nevcairiel
15th January 2014, 08:58
Em, I was wondering, both MPC-HC and MPC-BE have "10-bit RGB output" option in presentation and can work with LAVFilters (well MPC-HC even has internal LavFilters). Isn't this enough?

No, their renderer does not accept 10-bit input, so you lose precision along the way.

fumoffu
15th January 2014, 16:28
No, their renderer does not accept 10-bit input, so you lose precision along the way.

but than why there is option "force 10-bit RGB input"? :)
I mean I belive you but it seems strange all those 10bit related options if there is no way to use them...

madshi
20th January 2014, 11:56
You can use LAV Video Decoder -> madVR. The final output will be 8bit RGB, but it will be dithered down (using TPDF dithering) from the internal processing bitdepth (16bit) to 8bit. The next madVR version can optionally use error diffusion instead of TPDF dithering, if you have an OpenCL capable GPU. A future madVR version may support native 10bit output, but that's probably not going to happen soon. FWIW, ArgyllCMS measures madVR's dithered output as 11-12bit precision. So you get more than 10bit right now, at the cost of a higher noise floor.

benwaggoner
23rd January 2014, 03:34
You can use LAV Video Decoder -> madVR. The final output will be 8bit RGB, but it will be dithered down (using TPDF dithering) from the internal processing bitdepth (16bit) to 8bit. The next madVR version can optionally use error diffusion instead of TPDF dithering, if you have an OpenCL capable GPU. A future madVR version may support native 10bit output, but that's probably not going to happen soon. FWIW, ArgyllCMS measures madVR's dithered output as 11-12bit precision. So you get more than 10bit right now, at the cost of a higher noise floor.
Cool, but I just want straight-up 10-bit playback like I can get for my source video files :)!

x265_Project
23rd January 2014, 04:12
Cool, but I just want straight-up 10-bit playback like I can get for my source video files :)!

MulticoreWare's UHDcode HEVC decoder can handle 10 bit playback, as well as the rest of the full HEVC specification. We have invested very heavily to insure that UHDcode has the highest performance and reliability of any HEVC software decoder. Unlike x265, UHDcode isn't an open source project, but I'll be happy to provide it to interested developers under NDA.

Tom