[FFmpeg-devel] Adding 10-bit depth YUV

Baptiste Coudurier baptiste.coudurier
Thu May 10 11:32:50 CEST 2007


erik98 at sunflower.com wrote:
> Greetings, I am working on a project to make a digital (SDI-SD and
> SDI-HD) based DVR that works with 10-bits-per-channel YUV data, and I
> wanted to sanity check my general ideas before embarking on this
> project. For phase one, I just want to save and load the raw streams.
> By this, I mean to strip out the raw 10-bit data video data from the
> SDI-STDI (SMTP 292/305) compatible card and save it to disk. For
> phase two, assuming I still have the energy, I plan to modify the
> FFV1 encoder to compress/decompress the raw (10-bit) streams.
> My general strategy is as follows... --> To accomplish phase one, it
> would seem that I need to make the following source code changes...
> libavcodec/imgconvert.c: Add 10-bit depth variants of PIX_FMT_YUV*
> (ie. PIX_FMT_YUV444D10, PIX_FMT_YUV444P10, etc.).

Your DVR is for Dual link 3gb/s HD SDI to support 4:4:4 right ? Single
link HD-SDI only supports 4:2:2.

About pix fmt names, Quicktime uses 'v210', 'v410'
See: http://developer.apple.com/quicktime/icefloe/dispatch019.html

Avid uses YUV16 for their DNxHD reference decoder/decoded bitstreams
(justified 16 bit per comp UYVY 4:2:2) which seems referenced as 'v216'
by Apple.

I would suggest PIX_FMT_YUV444P_10 (P for planar), PIX_FMT_YUV422P_10,
PIX_FMT_UYVY422_10 (packed), PIX_FMT_YUV444_10 (packed)

> Note, planar forms
> will likely be a packed format where 5 bytes are used for every 4
> pixels, padded if necessary at the end of each plane.

I don't know any stored planar representation of 10 bit per comp,
for packed it would make sense to use either v410,v210 or yuv16.

> [...] 
> So, my questions to the list are these: 1) What would be a good
> mux/container file format to use for storing the raw data? 

IMHO mov. Quicktime has a native decoder for 10 bit per comp YUV, packed

Baptiste COUDURIER                              GnuPG Key Id: 0x5C1ABAAA
SMARTJOG S.A.                                    http://www.smartjog.com
Key fingerprint                 8D77134D20CC9220201FC5DB0AC9325C5C1ABAAA
Phone: +33 1 49966312

More information about the ffmpeg-devel mailing list