VIn writes a byte-serial stream into local memory, normally 4:2:2 CbYCrY. Even and odd fields have independent, double-word-aligned base addresses and one shared horizontal stride. They may use the same base. VInNoOdd restricts capture to even fields.
VInEvenBase contains the even-field base divided by eight, maximum scan-line count, byte stride and reserved store-queue entries. VInOddBase contains the odd-field base divided by eight, input byte ordering, signal polarity and capture enable.
Capture is bounded by VInStride bytes per scan line and VInMaxVert lines per field. The allowed line counts are 240, 263, 287, 313, 540, 590, 720 and 788. Strides are 1280, 1536, 1600, 2048, 2560, 3072, 3200 and 4096 bytes.
Set VInQSize to two entries for NTSC/PAL input at approximately 28..35 MHz. Reserved entries reduce the queue capacity available to other operations.
Each field can generate a host or RISC interrupt. The source distinguishes odd/even field timing by whether VInHSync is active at the leading edge of VInVSync, but the odd-interrupt register descriptions repeat “even field.” This is recorded in ODD_FIELD.
For VBI capture, assert VInVBlank and VInActive during VBI data, select the appropriate VInEnable mode and allocate space for VBI plus image data. VBI lines use twice the normal stride. The line address advances on every line, including lines without active data.
Host software may also write video directly to local memory. WriteIntr0Adr and WriteIntr1Adr can signal completion of a surface or field. The detailed address table defines bits 23:3 and a double-word match, while interrupt prose calls it a byte match; see WRITE_INTR_GRANULARITY.
YUV-to-RGB conversion · Interrupt handling
Sources: Technical Spec, p.52, Technical Spec, p.53, Technical Spec, p.54