Sunday, April 28, 2013

Codecs and Bit Depth (as a reminder)

COLOR SCIENCE
RGB Codecs sample each base color, with no Chroma subsampling.
Ex. ProRes4444, HDCAM SR Dual Link.
---
Y'CbCr Codecs use Luma sampling + Chroma subsampling.
Vertical and Horizontal resolution is indicated by the last two numerals:

4.4.4 use uncompressed Chroma subsampling 

4.2.2 use compressed, (1/2 vertical and 1/2 horizontal resolution) Chroma subsampling (Ex. ProResHQ, ProRes422, ProResLT, ProResProxy, ACV-Intra 100, XDCam422, Canon MXF422, DVCProHD and DVCPro50, DBeta)

Prosumer also use 4.2.0 (HDV, AVCHD, AVC-Intra 50, DVCam PAL, Mpeg2-DVD) or 4.1.1 variants (DV, DVCPro, DVCam NTSC)

Reduced Chroma subsampling makes smaller file sizes = More storage efficiency, but creates image artifacts (halo, color bleeding/smudging on edges.)

BIT DEPTH
---
8 bit Codecs are 24 bits image files.
RGB 8 bits for each base color, intensity range: [0-255].
A pixel that's [0,0,0] is black, a pixel that's [255, 255, 255] is white.

Y',Cb,Cr has a different intensity range [16-235] to allow for super white/black.
Limited range problematic especially for gradients (stepping.)

Ex. 8 bit Codecs:
Uncompressed 8bit, HDV, DBeta, ProResProxy, DV, DVCPro, DVCam, Mpeg2. 

---
10 bit Codecs are 32 bits image files = 10 bits for each base color (RGB) +2 spare bits. Intensity range: [0-1023]

Y',Cb,Cr has a different intensity range [64-940] to allow for super white/black.

Ex. 10bit Codecs:
Uncompressed 10bit, ProRes4444, ProResHQ, ProRes422, ProResLT, AVC-Intra 100, Canon MXF422.

---
10 bit LOG (Cineon, DPX) is equivalent to 12 bit Linear, but values are Log-curve compressed to match the film emulsion sensitivity to light which is logarithmic. This allows for a wider dynamic range by rolling-off the highlights that would be otherwise clipped in 8, 10, even 16 bit linear capture. Film print density range higher than 1080 values
Intensity range: [0-?] for each color. (Eq. 12 ƒ-stops.) Ex. Film scans.

---
12 bit Codecs
Intensity range: [0-?] for each color. Ex. RED One.

---
16 bit Codec are 48 bits image files. 
Intensity range: [0-65535] for each color.

---
Floating point is only for processing images, not storage. Better, more precise maths for calculation = higher quality results. Intensity range: [?-?] (Eq. 25 ƒ-stops.)

---
ACES "unlimited" (Eq. 30 ƒ-stops.)

Tuesday, April 23, 2013

Canon 5D MarkIII funky TimeCode

I believe the Canon 5D MarkIII has a funky TimeCode track, which wreaks havoc in FCP7 Log & Capture.  L&C wrongly shows clips with a duration of 23h+, or does not transcode some clips, what the heck?

Some people use an 3rd party app to convert the h264 to ProRes. But some apps loose TC (Compressor, Mpeg Streamclip), read it wrong (Brorsoft Video Converter), or have the user insert TC by hand (Grinder). I don't like it. 5DtoRgb works fine, but for an online/offline workflow, multicam situation, a 3rd party app is not ideal - I prefer Log&Transfer and to stay within FCP.

After reading Oliver Peters' blog I had the idea that Canon's TC track was to blame.
http://digitalfilms.wordpress.com/2010/10/09/easy-canon-5d-post-–-round-iii/

So I made a copy of the files, ran them through VideoToolShed's QTChange and the Refresh TC Track tool.  http://www.videotoolshed.com/product/42/qtchange

Bingo! The new set of file is perfectly recognized and transfers smoothly with Log&Capture, including TC.  Thank you Oliver, thank you Bouke.