
Philips Semiconductors
PNX15xx Series
Volume 1 of 1
Chapter 21: MPEG-1 and MPEG-2 Variable Length Decoder
PNX15XX_SER_3
Koninklijke Philips Electronics N.V. 2006. All rights reserved.
Product data sheet
Rev. 3 — 17 March 2006
21-5
When an error occurs in the VLD, the corresponding error ag (Bitstream error or RL
overow error) is set and an interrupt is generated if corresponding bits in the VLD_IE
register is set. Refer to section
Section 3.4 for details on the error handling
mechanism.
3.2.2
VLD Interrupt Enable (VLD_IE)
This VLD_IE read/write register allows the CPU to control the initiation of the interrupt
for the corresponding bits in the VLD_MC_STATUS register. Writing a one to any of
these bits in the VLD_IE register enables the interrupt for the corresponding bit in the
status register.
3.2.3
VLD Control (VLD_CTL)
When VLD detects a new slice start code in the bit-stream, it writes the lower 8-bits of
the start code into the slice_start_code eld of the VLD_CTL register before
interrupting the CPU. When re-started, the VLD reads the slice_start_code from the
VLD_CTL register and writes this value into bits 16-23 of the last word in the rst
mb_header and sets the mb_rst bit to 1. To allow the CPU to switch bitstream at the
slice level, CPU can write the desired slice start code and slice_start_code_strobe in
the VLD control register. The value of ‘1’ in the slice_start_code_strobe will cause the
VLD to update the slice_start_code eld with the given slice_start_code value. The
other elds in the VLD_CTL register are not updated when the input data contains a
value of ‘1’ in the slice_start_code_strobe eld. The slice_start_code_strobe bit is
always read as 0. The CPU must write the slice_start_code only when the VLD is not
active. In order to update the DMA_INPUT_DONE_MODE elds, the
slice_start_code_strobe bit value must be set to ‘0’.
The use of the DMA_INPUT_DONE_MODE bit is described in
Table 3.Table 2: VLD STATUS
Name
Size
(Bits) Description
VLD Command Done
1
Logic ‘1’ indicates successful completion of current command. This bit is cleared by issuing
a new command.
Start Code Detected
1
Logic ‘1’ indicates VLD encountered 0x000001 while executing current command.
This bit is cleared by writing a logic ‘1’ to it.
Bitstream Error
1
Logic ‘1’ indicates VLD encountered an illegal Huffman code or an unexpected start code.
cleared by writing a logic ‘1’ to it.
DMA Input Done
1
Conditions for setting this bit depends on the value of the DMA_Input_Done eld in the
details. This bit is cleared by writing a logic ‘1’ to it.
DMA Macroblock
Header Output Done
1
Logic ‘1’ indicates that the macroblock header DMA write transfer has completed.
DMA Run/Level
Output Done
1
Logic ‘1’ indicates that the Run/Level DMA write transfer has completed.
RL overow Error
1
Logic ‘1’ indicates Overow of run/level values within a block.
Refer to
Section 3.4 for details on the error handling procedure.
This bit is cleared by writing a logic ‘1’ to it.