I think you are confused as to what the individual standards mean - please go 
to this site to get clarification on the various planer vs. interleaved formats 
within the YUV space:

http://msdn.microsoft.com/en-us/library/ms867704.aspx#yuvformats_yuvsampling

 

Also, most of the codecs expect data in YUV 4:2:2 ILE (interleaved), which 
corresponds to UYVY format in the page above; this would mean that for an X by 
Y image, there are (X*Y), (X*Y/2) U and (X*Y/2) V samples. The U and V are 
chroma subsampled, which results in half the number of samples. These samples 
are interleaved in memory, i.e U Y V Y, U Y V Y, etc.

 

For codecs that require data in 4:2:0, the DaVinci follows the NV12 format, 
which is semi-planar; (I've only seen this with the DM6467 codecs). This 
consists of all Y samples, followed by interleaved U, V samples. The U, V 
samples are further decimated vertically, so you should get ΒΌ the number of Y 
samples for U, and V. So in total, you'll have (X*Y)Y samples, (X*Y/4) V and 
(X*Y/4) U.

 

The conversion from 4:2:2 to 4:2:0 and back is not an easy conversion, as it 
requires decimation/interpolation to get the subsampling to work properly. The 
encode demos usually setup the V4L2 driver properly to ensure data is in the 
right form for the codec servers to work with. Almost all the DaVinci's can do 
the conversion in hardware, with some being a bit more complicated to setup 
than others (DM6446 requires coefficient calculation vs. DM6467, which is more 
straightforward)

 

Jerry Johns

Design Engineer

Nuvation Research Corp - Canada

Tel: (519) 746-2304 ext. 221

www.nuvation.com <http://www.nuvation.com> 

 

 

_______________________________________________
Davinci-linux-open-source mailing list
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source

Reply via email to