Three identical video pipelines are available, VID1, VID2, and VID3. Each video pipeline is connected to its video FIFO controller for the input port and to the four overlay managers, LCD1, LCD2, LCD3, and TV or WB pipeline. The pixel output is directed to the LCD, TV, or WB path by setting the DISPC_VIDp_ATTRIBUTES[16] CHANNELOUT bit and the DISPC_VIDp_ATTRIBUTES[31:30] CHANNELOUT2 bit field. Table 13-82 summarizes the bit field settings to orient a pipeline to LCD, TV, or WB output. The default value directs all video pipelines to LCD1.
Note: It is not possible to change the direction of the video pipelines on the fly. If a video pipeline needs to be connected to a different overlay manager than what it is currently connected, then the following steps need to be performed:
- Disable the VIDp pipeline by setting the DISPC_VIDp_ATTRIBUTES[0] ENABLE bit to 0x0.
- Direct the VIDp pipeline to the new overlay manager by modifying the [16] CHANNELOUT bit and the [31:30] CHANNELOUT2 bit in the DISPC_VIDp_ATTRIBUTES register.
- Disable the DISPC output that corresponds with the overlay manager to which the VIDp pipeline will be connected next. This is done by setting the following bits to 0x0 for the listed outputs:
- Enable the VIDp pipeline by writing 0x1 to the DISPC_VIDp_ATTRIBUTES [0] ENABLE bit.
- Enable the DISPC output that corresponds with the overlay manager to which the VIDp pipeline will be connected next. This is done by setting the following bits to 0x1 for the listed outputs:
A video pipeline consists of a scaler unit, color space conversion (CSC) unit, VC-1 range mapping unit, and some programmable replication logic. The order of the video pipeline unit can be configured in two manners (see Figure 13-48 and Figure 13-49):
- Configuration 1 (YUVCHROMARESAMPLING = 0): VC-1 range mapping unit followed by a CSC unit and then a scaler unit. The configuration is used to support RGB, ARGB, and RGBA formats and YUV4:2:2 in backward mode for both data types. Each block can be independently bypassed.
- Configuration 2 (YUVCHROMARESAMPLING = 1): VC-1 range mapping unit followed by a scaler unit and then a CSC unit. The configuration is used to support RGB, ARGB, and RGBA formats and YUV4:2:2, YUV420-NV12, and YUV420-NV21 formats, taking advantage of the scaler to resample the chrominance using five taps horizontally and three or five taps vertically. Each block can be independently bypassed.
The DISPC_VIDn_ATTRIBUTES2[8] YUVCHROMARESAMPLING bit controls the order of the scaler unit in the video pipeline:
- When the YUVCHROMARESAMPLING bit is set to 0x0, the video pipeline is in configuration 1, and the scaler comes after the CSC unit. In case of YUV input data in 4:2:2 format, the chrominance resampling (4:2:2 to 4:4:4 format) is done by averaging the chrominance adjacent samples for only 0 degrees (zero rotation), because other rotation (90/180/270 degrees) is not supported in this mode. For more information about the supported chrominance resampling methods, see Section 13.2.4.10.3.1, Chrominance Resampling.
- When the YUVCHROMARESAMPLING bit is set to 0x1, the video pipeline is in configuration 2, and the scaler comes before the CSC unit.
- In case of YUV4:2:2 input data with 90-/270-degree rotation, the data is preprocessed by duplicating the missing chrominance samples.
- In case of YUV4:2:2 input data with 0-/180-degree rotation, the Chroma upsampling is performed in the scaler unit.
Table 13-66 lists the input formats supported by the video pipelines.
The video pipeline is enabled by setting the DISPC_VIDp_ATTRIBUTES[0] ENABLE bit to 0x1.