2/24/2008 9T6WP
BCM7405
Preliminary Hardware Data Module
Functional Description
06/29/07
Bro a d c o m C o rp o r a ti o n
Page 1-32
Advanced Video Decoder
Document
7405-1HDM00-R
AVD B
LOCK
D
IAGRAM
AND
D
ATA
F
LOW
D
ESCRIPTION
shows a block diagram of the Advanced Video Decoder module.
Figure 1-5: Advanced Video Decoding Module Block Diagram
Coded data is presented to the AVD module as a linked list of packet entries, each entry corresponding to a network
abstraction layer (NAL) unit. Multiple streams are handled by multiple instances of linked lists. As NAL units accumulate in
memory, the outer-loop RISC processor examines them and passes them to an entropy decoder that reads the header
information. If the stream is CABAC-encoded, the outer-loop RISC then sets up the CABAC-to-BIN decoder to generate a
BIN representation. For CAVLC-encoded streams this operation is not necessary.
Once the outer-loop RISC determines that it has enough data to start decoding, it passes a structure to the inner-loop RISC,
which then starts inner-loop processing using one pass per image slice. The inner-loop RISC directs the symbol interpreter
to parse the data stream, from the BIN buffer for CABAC streams, or the code buffer for CAVLC streams. The symbol
interpreter converts the variable-length symbols to data values, and contains blocks to convert those values to spatial
prediction modes, motion vector deltas, and transform coefficients. These elements are then used by the back-end section
that performs the actual pixel reconstruction.
Spatial Prediction
Reconstruction
Motion Compensation
Inner
Loop
RISC
Outer
Loop
RISC
Entropy
Decoder
GISB Bridge
Deblocker
Picture Buffers in DDR SDRAM
Video Frames
Reference Picture Data
To/From DDR
GISB
via SCB
via PFRI
via SCB
Symbol Interpreter