Log in

View Full Version : 10-bit Blu-Ray encoding? (From Quicktime)


binba
2nd June 2011, 05:51
I've been researching H.264 High-10 Profile; I'm working on material in Apple ProRes (10bit) that has plenty of gradients and will projected on a big screen, so it's gotta look good..

From the sticky (http://forum.doom9.org/showthread.php?t=154533):

1.5 OTHER REQUIRED PARAMETERS

8-bit (4:2:0) Colorspace is only allowed
Main and High profiles are allowed

Really? Blu-Ray doesn't support Hi10P? If so what's the point of HDMI 1.3, xvYCC and all the 'deep color' standards?


If it's even possible, the next question would be is there a viable workflow that really maintains the 10-bit data from a ProRes Quicktime file into x264. Doesn't look like Handbrake even includes the 10-bit builds.
I also have Adobe Encore CS3, should give that a look. Didn't see anything about Hi10P in Telestream Episode, waiting to hear back from them.

Blue_MiSfit
2nd June 2011, 07:04
Really? Blu-Ray doesn't support Hi10P?


Correct. It does not. If you must make BluRay compliant H.264, you must make it 8 bit. If you're doing a one-off exhibition, I'd suggest you play your ProRes master directly.

Regarding 10 bit H.264 encoding in general, the only way I know of doing this is by feeding raw video into x264. AviSynth is 8 bit only, and I'm not personally familiar with what 10 bit input formats ffms2 might support. I have done 10 bit encoding from an uncompressed v210 file without much trouble.

Regarding Telestream Episode, I don't think it includes a 10 bit encoder. Mainconcept certainly makes a 10 bit encoder and decoder, but I don't think Telestream licensed it for Episode. Maybe Vantage or one of their other fancy high end products.

Derek

Regarding

Lyris
2nd June 2011, 19:23
Really? Blu-Ray doesn't support Hi10P? If so what's the point of HDMI 1.3, xvYCC and all the 'deep color' standards?

xvYCC is an extended colour gamut - not an extended bit depth. Blu-ray doesn't support it.

As for "Deep Color", here's why it exists: to sell TVs. The only practical application I can think of for a BD player to feature higher than 8 bit output is if the player has some sort of advanced Gamma correction feature (some high end ones do). Processing and outputting these corrections in a higher bit depth would be beneficial to avoid contouring.

binba
2nd June 2011, 20:33
Correct. It does not.

Dang. I somehow figured that it supported 8-14bpc, but understand that it does not (High Profile but not High10). This article (http://www.pcworld.com/article/171223/what_is_10bit_color.html) also lays out pretty well.

ProRes playback was my original recommendation, I'll push for it.

I guess "deep color" is good for some PS3 games on 10-bit LCDs (how many real 10-bit panels are out there anyway).

Do you know of any Mac solutions for Hi10P encoding for less than the $1,500 Mainconcept software?

Thanks!

nm
3rd June 2011, 09:00
Do you know of any Mac solutions for Hi10P encoding for less than the $1,500 Mainconcept software?

x264.

Blue_MiSfit
4th June 2011, 03:51
Correct. x264 can (quite nicely) encode 10 bit H.264. libavcodec now has 10 bit H.264 decoding support, but I haven't seen this sneak into any ffdshow or VLC builds just yet. Other than that, Mainconcept is the only game in town that I'm aware of.

Derek

Reimar
5th June 2011, 11:31
libavcodec now has 10 bit H.264 decoding support, but I haven't seen this sneek into any ffdshow or VLC builds just yet.

Sorry for the advertising, but MPlayer does support playing it.
Since r33504 it even supports outputting it without extra conversion with -vo gl (assuming the driver/GPU supports LUMINANCE16, otherwise the result will be rendering a 2-bit instead of 10 video...).
Not necessarily that great for most (except for extra speed, though that might be eaten up by the extra bandwidth required) since it doesn't do dithering, but some professional graphics cards might be able to do something useful with the extra bits.

nibus
11th August 2011, 09:37
Sorry to bump an old thread, but I have a couple questions regarding the new 10-bit encoding feature:

1) Obviously support for it is minimal. Does anyone have any ideas or opinions on when 10-bit will become more mainstream? Are there any workarounds to use 10-bit with AviSynth?

2) I read that 10-bit can eliminate banding as well as save bitrate. On average how much bitrate is saved with 10-bit, vs 8?

Yellow_
11th August 2011, 13:21
You can encode out of AVIsynth to 10bit x264 via AVS2yuv or AVS2pipe.

I currently use Dither 1.9.5 with AVIsynth to go from 8bit h264 (Canon DSLR video files) to 16bit in stacked LSB / MSB within AVIsynth and then either export to 16bit DPX, EXR or TIFF or 10bit h264 with a 10bit build of x264.

Check out the Color banding and noise removal thread.

http://forum.doom9.org/showthread.php?t=153589

ffplay from git will play 10bit h264 fine, CoreAVC 3.0 when it comes out I believe will decode 10bit h264.

julius666
11th August 2011, 18:56
1) Obviously support for it is minimal. Does anyone have any ideas or opinions on when 10-bit will become more mainstream? Are there any workarounds to use 10-bit with AviSynth?

Well, it's already supported by mplayer, ffmpeg and madVR, the support for ffdshow (and with that for CCCP) is on the way AFAIK.
Although i don't think that 10-bit will become mainstream before videocards that can decode 10-bit content become current.


2) I read that 10-bit can eliminate banding as well as save bitrate. On average how much bitrate is saved with 10-bit, vs 8?

Depends on the source, test it yourself. I tested on anime, i went for completely no banding for the encoded results and the bitrate needed for the 10-bit encoding to achieve that was almost the half of the 8-bit encoding, so yeah, it's pretty impressive.

If you can deal with a little banding (or ugly, "compressed dither noise"), then the difference would be much less of course. As well with live content.

mp3dom
11th August 2011, 20:04
Although i don't think that 10-bit will become mainstream before videocards that can decode 10-bit content become current.

It will not be mainstream until hardware manufacturers (camcorder, set top players and so on) will add support to this (basically until a new decided standard will force all to switch to 10bit).

nibus
12th August 2011, 03:17
You can encode out of AVIsynth to 10bit x264 via AVS2yuv or AVS2pipe.


So piping to x264 would look like this then?

avs2pipe video input.avs | x264 --stdin y4m - --output video.h264

I assume you would put all the x264 arguments before the --output?

Yellow_
12th August 2011, 08:16
So piping to x264 would look like this then?

avs2pipe video input.avs | x264 --stdin y4m - --output video.h264

I assume you would put all the x264 arguments before the --output?

I'm not too hot on CLI.

The Dither html doc with the plugin gives examples of using AVS2yuv including lossless 10bit.

7@mp3dotcom
13th August 2011, 20:36
Correct. It does not. If you must make BluRay compliant H.264, you must make it 8 bit. If you're doing a one-off exhibition, I'd suggest you play your ProRes master directly.

Regarding 10 bit H.264 encoding in general, the only way I know of doing this is by feeding raw video into x264. AviSynth is 8 bit only, and I'm not personally familiar with what 10 bit input formats ffms2 might support. I have done 10 bit encoding from an uncompressed v210 file without much trouble.

Yep.
I use a 10 bit workflow for blu ray authoring until the last step - feeding the 10 bit source file to 8 bit x264 CLI.
I am very pleased with the results.

Blue_MiSfit
13th August 2011, 23:41
This is about the best you can do. Hotrod dithering algorithms make a difference, and manual control over this is one advantage of using "pro" software targeted at BluRay encoding instead of x264. But... that's really the job of a separate part of the encoding workflow, not x264 ;)