Hi10P (High 10 profile) in H.264 - a new encoding trend


Back to topics list
[post:542#5482]
Devil Doll

01/07/2012 01:44 PM

Reviews: 365
Posts: 1574

Yesterday I downloaded a fansub that doesn't play correctly with my CCCP installation from November 2010. So something must have been new in this fansub that a fairly new CCCP still doesn't support. It turned out to be the use of Hi10P in H.264 video streams.
Searching the web I found a number of fansub pages announcing they will use this profile for their releases so this won't be a rare exception any more in the near future. I'm not really familiar with details of color spaces so my comments may be a bit vague now and then; I just want to give a basic idea of what happens here, and what is required for getting back to being able to play every latest fansub on your PC.

Images in video streams consist of pixels. Each pixel has a color value. The ↗Color depth is the number of bits available for one pixel. For usual videos this would be 24 bit a.k.a. "True Colors"; when using a RGB (red-green-blue) color space this means every pixel may have 2^8=256 different levels of red, 2^8=256 different levels of green, and 2^8=256 different levels of blue, or 2^24 = 256 * 256 * 256 = 16.777.216 different colors. Now one might think that's enough... but not the inventors of new products.
There are already graphic cards supporting 30 bit color depth, known as "Deep Color", since the end of the last millennium but normal personal computer systems (Windows as well as Mac) don't support this yet (Windows 7 was announced to be the first version to support 30 bit color depth). Then again, the specification for ↗HDMI 1.3, a standard for encrypted high resolution television, already contains color spaces of billions and even trillions of colors, with color depths from 30 bit to 48 bit.

Now back to the fansubs. Most of these are encoded with the H.264 codec these days. When using H.264 you can select a profile, meaning a subset of features that should be allowed to be used during the encoding process, and thus be required to be supported by the device where the encoded file will be played later.
The profile in question here is named ↗High 10 Profile (Hi10P), and it allows the use of 10 bit per color or 30 bit color depth per pixel. When you play a video file of this color depth on a system supporting no more than 24 bit color depth you will get wrong colors, and the video will look broken. This is what CCCP from November 2010 does, and which caused me to write this posting. (My media player didn't even begin to play the video.)

How can you see whether a video uses Hi10P? Well, mediainfo displays the video stream parameters, and the file in question has "Format profile: High 10@L4.1" in "File" / "Properties" / "Mediainfo" in the MPC player. Usually these files will be those with a high resolution (my example file was 720p, i. e. 1280x720px); smaller encodings with 480p appear to be less likely to use this Deep Color profile for the time being.

The first CCCP release to support a color depth of 30 bit would be from 2011-07-30, containing FFDShow-tryouts 1.1.3951 "with hi10p support". (That's not even the latest version as of today, there's a newer one from November 2011 as well.) So apparently ffdshow is the component that needs to be updated (as it does H.264 decoding), for those who don't have CCCP as a whole but individual components instead (Stretch, that's you ;-). The ffdshow website at SourceForge hasn't been updated since 2010 so that's not the place to look which ffdshow version would be required.

Having written this, I'll update my ↗CCCP package today, and then report the result.

Edited on 01/07/2012 02:28 PM.

[post:542#5483]
Devil Doll

01/07/2012 01:56 PM

Reviews: 365
Posts: 1574

Hm... turns out my Windows Vista64 installation is too old to recommend this CCCP installation, and I have to upgrade Windows ↗DirectX first. CCCP points to http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=35 for this purpose.

DirectX download creates a small program that checks which actual downloads are required. The downloading procedure took about 10 minutes or so; the installation went pretty fast (no dialog, no decisions necessary). At the end, the new DirectX was reported to be available without rebooting the PC (a positive surprise).

Now continuing with the CCCP...

Edited on 01/07/2012 02:15 PM.

[post:542#5484]
Devil Doll

01/07/2012 02:23 PM

Reviews: 365
Posts: 1574

CCCP installation was simple and fast, took no more than a minute.

But this alone didn't fix the colors issue on my PC because my CCCP installation was configured to not handle H.264 decoding (I do have other H.264 codecs installed, e. g. for encoding in H.264 since my media player supports this codec).
Setting the corresponding checkbox in the CCCP configuration (so that ffdshow now decodes H.264 here) did the trick, and the MKV file now plays with correct colors.

My ffdshow version now reports its own version number as "ffdshow tryouts rev3996 Nov 4 2011 13:43:02 (MSVC 2010, x86, unicode, r)".

Edited on 01/07/2012 02:45 PM.

[post:542#5485]
Stretch

01/08/2012 11:00 AM

Reviews: 2063
Posts: 1345

Could this have something to do with a tendency that I have noted recently of a bright, flourescent shade of pink covering most of the screen at the beginning of a fansub (but colors reverting to normal after a few seconds)?

[post:542#5486]
Devil Doll

01/09/2012 01:10 AM

Reviews: 365
Posts: 1574

Check the format profile of these files with mediainfo, then you'll know.

[post:542#5487]
Stretch

01/09/2012 10:54 AM

Reviews: 2063
Posts: 1345

I guess not, since I checked a couple of fansubs and they made no mention of Hi10P, nor were they H264.

Reply to this topic Start a new topic
Back to topics list

Community Anime Reviews

anime mikomi org