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
