SPRUI30H November 2015 – May 2024 DRA745 , DRA746 , DRA750 , DRA756
The DMA engine can be used to perform YUV4:2:0 NV12 and YUV4:2:0 NV21 progressive-to-interlaced data conversion with 0-degree orientation. Such conversion performed in the DSS consists of separating each progressive frame into two fields containing odd and even lines.This section provides generic approach details.
Two possible configurations are available, depending on the setting of the DISPC_VIDp_ATTRIBUTES[22] DOUBLESTRIDE bit, which defines the stride of each pixel value buffer for the YUV format. The following must be considered for both configurations:
Configuration 1 – YUV4:2:0 progressive to interlaced conversion
The DISPC_VIDp_ATTRIBUTES[22] DOUBLESTRIDE bit is set to 0x1. The CbCr container is twice the size of the Y container. All Luma and Chroma lines for even and odd fields are fetched from memory. The scaler unit of the respective pipeline can be used to downscale by 2 (through filtering) the fetched data to create the interlaced output. For more information about the scaler configuration, see Section 11.2.4.10.4, Scaler Unit.
Configuration 2 – YUV4:2:0 progressive to YUV4:2:2 interlaced conversion
The DISPC_VIDp_ATTRIBUTES[22] DOUBLESTRIDE bit is set to 0x0. The CbCr container is the same size as the Y container. The DISPC_VIDn_ROW_INC register for the respective pipeline must be configured so that only the Y data is vertically predecimated by 2 (for more information, see Section 11.2.4.6.5, Predecimation). The CbCr data must not be predecimated. As a result, only the even Luma lines for the even field and the odd Luma lines for the odd field are fetched from memory. To create the interlaced output, all the Chroma lines are fetched from memory.