
NXP Semiconductors
PNX15xx/952x Series
Volume 1 of 1
Chapter 21: MPEG-1 and MPEG-2 Variable Length Decoder
PNX15XX_PNX952X_SER_N_4
NXP B.V. 2007. All rights reserved.
Product data sheet
Rev. 4.0 — 03 December 2007
21-655
3.2.7
VLD DMA Run-Level Current Write Address (VLD_RL_ADR)
The CPU writes the main memory run-level pair buffer address in the VLD_RL_ADR
register in order to output the run-level pairs in main memory. The VLD updates this
address whenever data is transferred to main memory via the DMA logic. The
address always represents the next write address of the macroblock header data.
The buffer address must be 32-bit aligned.
3.2.8
VLD DMA Run-Level Current Write Count
The CPU writes the main memory run-level pairs buffer size formatted as the number
of words into the VLD_RL_CNT register in order to output the run-level pairs data in
main memory. The VLD updates the buffer size whenever data is transferred to main
memory via the DMA logic. The buffer size always represents the remaining empty
buffer space.
3.2.9
VLD Command (VLD_COMMAND)
This read/write register indicates the next action to be taken by the VLD. A command
is sent to the VLD by writing the corresponding 4-bit command code in the
COMMAND eld of the VLD_COMMAND register. Some commands require an
associated count value which resides in the least signicant 8 bits of this register. The
following nine VLD commands are currently available:
Shift the video bitstream by “count” bits (where “count” is given in the COUNT
eld of the register and must be between 0 and 15 inclusive).
Parse “count” macroblocks (where “count” is given in the COUNT eld of the
register and must be between 0 and 255 inclusive).
Search for the next start code.
Reset the Variable Length Decoder.
Initialize the VLD (to clear the VLD_BIT_CNT register).
Search for the specic 8-bit start code pattern given in the COUNT eld of the
register.
Flush the VLD output buffers to main memory.
Parse one row of macroblocks.
Parse macroblocks continuously. (COUNT eld is unused, but cannot be
programmed to 0.)