Because of the Thanksgiving holiday in the U.S., TI E2E™ design support forum responses may be delayed from November 25 through December 2. Thank you for your patience.

This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

YUV 420p format display on dm355

 Hi

All VPBE system drivers in davinci platforms including dm355 are supporintg the diplay of YUV 422 interleaved format. However i have my decoder output in YUV420p format with 8 bits per pixel. Could any one please let me know how i can configure the driver to display YUV420p format video files on dm355 or on dm6437evm.

 

Regards,

Raghava 

  • The display drivers unfortunately only support YCbCr/YUV422, there is no out of the box support for YCbCr/YUV420. To display an image that is in YUV420 the processor will have to reformat the image into YUV422 before passing it to the display driver, i.e. the chroma must be scaled vertically. Also note that although the image can be progressive, the data at the byte level must be interleaved, in other words the data must be in the format YCbYCrYCbYCrYCb... as opposed to having seperate buffers for Y, Cb, and Cr.

    These types of operations can be done directly by the CPU fairly easily as it is mostly byte sorting operations, however to save CPU bandwidth you may want to consider using the EDMA to do some of the sorting. In the case of the DM643x the application note below describes using the EDMA driver, and has an example that does the opposite operation (422->420), which you could use as an example to do the reverse operation which you want.

    http://focus.ti.com/dsp/docs/dspsupporttechdocsc.tsp?sectionId=3&tabId=409&familyId=1301&abstractName=spraan4a

  • Raghava,

    Based on your original question (how can I display YUV420p?), I wanted to point out that the EDMA App Note focuses on conversion from DDR2 to DDR2; once you have YUV420 data in DDR2, you still need to output data via video port interface in order to make use of the display hardware blocks.  Therefore, I would like you to keep the following in mind

    1) Video port back end (VPBE) display hardware does not understand YUV420.  When set in YUV mode (YCC16 or YCC8), it will assume the data it is pulling in from DDR2 for display purposes is YUV422 16-bit pixels (could get you into trouble in you have YUV420 in DDR2 instead). 

    2) If you select 8-bit YUV (YCC8) mode in VPBE, the data format will still be YUV422 and will look something like YCbYCrYCbYCr; therefore, if you desire YUV420, some external processing needs to be done to throw away some data.

    3) Finally, your original e-mail suggests 8-bit pixel; therefore, please note that even in 8-bit YUV (YCC8), the data-bus is 8-bits, but the pixel is still 16-bit YUV422.

    I hope this helps clear things up.

  • The idea behind the EDMA application note was to convert the 420 image to 422 in DDR2 before passing it to the VPBE for display, it just provides one way of doing the processing to display a 420 image with the VPBE that only supports 422. I believe the idea here is that his codec only ouputs 420, so the question would be how to display that, not that the actual display requires 420. I apologize if my response was not clear, or if I was confused :).

  • Bernie, this makes much more sense, maybe it was I who mis-understood the original question.  I think I read "display YUV420p" too literally.  Hopefully the distinction between 8-bit pixel and 8-bit bus was still helpful.