[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.
|