Page
10 of 65
Video Capture
The video capture engine is responsible for receiving video pixel data and
qualifiers from the SDI receiver, formatting the data and transferring it
into on-board memory. The module receives 20 bits of video data
organized as 10 bits of Luma data and 10 bits of Chroma data as well as
VSYNC, HSYNC and DATA_EN strobes. The interface timing follows
the CEA861 model. The received video data is formatted as YCrCb 4:2:2.
The video capture module supports three modes of operation, as
configured by the user:
-
YCrCb-20 mode – uses the 20 bit YCrCb 4:2:2 data received from the
SDI receiver.
-
YCrCb-16 mode – uses the 20 bit YCrCb 4:2:2 data received from the
SDI receiver but truncates the 2 LSBs to form 16
bit data.
-
RGB-24 mode – uses the 20 bit YCrCb 4:2:2 data received from
the SDI receiver, translates it to 30 bit YCrCb
4:4:4 data using a chroma resampler function, then
generates 30 bit RGB data using a color space
converter function and finally truncates the 2 LSBs
from each component to form 24 bit RGB data.
The video capture engine translates this data into doublewords ( 64 bits ),
as defined in Table 1 – Table 3. These tables reflect how the data will
appear in host memory.
d31 d30 d29 d28 d27 d26 d25 d24 d23 d22 d21 d20 d19 d18 d17 d16 d15 d14 d13 d12 d11 d10 d9 d8 d7 d6 d5 D4 d3 d2 d1 d0
d63 d62 d61 d60 d59 d58 d57 d56 d55 d54 d53 d52 d51 d50 d49 d48 d47 d46 d45 d44 d43 d42 d41 d40 d39 d38 d37 d36 d35 d34 d33 d32
DW1 Cb1 Cb0 Y9 Y8 Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0 Cr9 Cr8 Cr7 Cr6 Cr5 Cr4 Cr3 Cr2 Cr1 Cr0 Y9 Y8 Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0 YCrCb
DW1 -
- - - Cr9 Cr8 Cr7 Cr6 Cr5 Cr4 Cr3 Cr2 Cr1 Cr0 Y9 Y8 Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0 Cb9 Cb8 Cb7 Cb6 Cb5 Cb4 Cb3 Cb2 20 bit
DW2 Cr1 Cr0 Y9 Y8 Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0 Cb9 Cb8 Cb7 Cb6 Cb5 Cb4 Cb3 Cb2 Cb1 Cb0 Y9 Y8 Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0
DW2 -
- - - Cb9 Cb8 Cb7 Cb6 Cb5 Cb4 Cb3 Cb2 Cb1 Cb0 Y9 Y8 Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0 Cr9 Cr8 Cr7 Cr6 Cr5 Cr4 Cr3 Cr2
Table 1 – Pixel mapping into memory : YCrCb-20 bit mode – 6 pixels / 2 DWs
d31 d30 d29 d28 d27 d26 d25 d24 d23 d22 d21 d20 d19 d18 d17 d16 d15 d14 d13 d12 d11 d10 d9 d8 d7 d6 d5 D4 d3 d2 d1 d0
d63 d62 d61 d60 d59 d58 d57 d56 d55 d54 d53 d52 d51 d50 d49 d48 d47 d46 d45 d44 d43 d42 d41 d40 d39 d38 d37 d36 d35 d34 d33 d32
Cb9 Cb8 Cb7 Cb6 Cb5 Cb4 Cb3 Cb2 Y9 Y8 Y7 Y6 Y5 Y4 Y3 Y2 Cr9 Cr8 Cr7 Cr6 Cr5 Cr4 Cr3 Cr2 Y9 Y8 Y7 Y6 Y5 Y4 Y3 Y2 YCrCb
Cb9 Cb8 Cb7 Cb6 Cb5 Cb4 Cb3 Cb2 Y9 Y8 Y7 Y6 Y5 Y4 Y3 Y2 Cr9 Cr8 Cr7 Cr6 Cr5 Cr4 Cr3 Cr2 Y9 Y8 Y7 Y6 Y5 Y4 Y3 Y2 16 bit
Table 2 – Pixel mapping into memory : YCrCb-16 bit mode – 4 pixels/DW
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32
DW1 B7 B6 B5 B4 B3 B2 B1 B0 R7 R6 R5 R4 R3 R2 R1 R0 G7 G6 G5 G4 G3 G2 G1 G0 B7 B6 B5 B4 B3 B2 B1 B0 RGB
DW1 G7 G6 G5 G4 G3 G2 G1 G0 B7 B6 B5 B4 B3 B2 B1 B0 R7 R6 R5 R4 R3 R2 R1 R0 G7 G6 G5 G4 G3 G2 G1 G0 24 bit
DW2 R7 R6 R5 R4 R3 R2 R1 R0 G7 G6 G5 G4 G3 G2 G1 G0 B7 B6 B5 B4 B3 B2 B1 B0 R7 R6 R5 R4 R3 R2 R1 R0
DW2 B7 B6 B5 B4 B3 B2 B1 B0 R7 R6 R5 R4 R3 R2 R1 R0 G7 G6 G5 G4 G3 G2 G1 G0 B7 B6 B5 B4 B3 B2 B1 B0
DW3 G7 G6 G5 G4 G3 G2 G1 G0 B7 B6 B5 B4 B3 B2 B1 B0 R7 R6 R5 R4 R3 R2 R1 R0 G7 G6 G5 G4 G3 G2 G1 G0
DW3 R7 R6 R5 R4 R3 R2 R1 R0 G7 G6 G5 G4 G3 G2 G1 G0 B7 B6 B5 B4 B3 B2 B1 B0 R7 R6 R5 R4 R3 R2 R1 R0
Table 3 – Pixel mapping into memory : RGB-24 mode – 8 pixels / 3 DWs