![background image](http://html1.mh-extra.com/html/texas-instruments/dm38x-davinci/dm38x-davinci_user-manual_1097067189.webp)
Video Source
32x32 Tiles
Incomplete
Right/Bottom
32x32 Tiles
first tile (frame start)
last tile (frame end)
Internal Modules
189
SPRUHI7A – December 2012 – Revised June 2016
Copyright © 2012–2016, Texas Instruments Incorporated
High-Definition Video Processing Subsystem (HDVPSS)
The NF always works on blocks of 32x32 Luma and 32x16 Chroma tiles (U and V channels together). The
video source size (width/height) configured in NF_REG1 can be non-multiples of 32. But, the
VPDMA/CHR_DS still must send full size tiles to the NF module. Any pixels outside the valid video size
(see
) are replaced internally by the vpi_in sub-block with 0x0 for luma and 0x80 for chroma
data.
Figure 1-138. Incomplete Boundary Tile Data Masking
Note that ref_tile in the above diagram refers to the (N-1)th output field/frame (previous filtered_tile) while
cur_tile refers to the Nth input field/frame.
The arrival of the very first tile of each video frame is used to trigger the frame processing set up and the
timing of the last tile sent out is used to trigger the last frame noise calculation and saving.
The noise_calc module (which implements the task of “firmware” described in
) keeps
track of each tile’s noise output and generates a frame noise at the end of last tile processing.
1.2.10.3.6 Video Source Multiplexing
The hardware has 32 sets of frame noise registers to allow video source switching for up to 32 sources
without the software having to read and re-initialize the frame noise values every time the video source is
switched. The software simply sets the “nf_video_index” parameter of NF_REG0 register to indicate which
stream the NF module is currently processing. The NF then uses the selected frame noise data to
generate the threshold for the spatial filter and the
α
0
of the temporal filter for next frame processing and
updates the frame noise data at the end of the frame.
If more than 32 sets of video sources are to be processed through the NF, then the software needs to
manually read the saved frame noise (indexed by “frame_noise_read_index” of NF_REG7) from
NF_REG8 and NF_REG9. The read noise values can then be reloaded next time the same video source
is to be processed by writing to data to the NF_REG8 and NF_REG9 and also by setting the
“nf_frame_noise_init_en” parameter of NF_REG0.
NF_REG0 (nf_frame_noise_update_en) bit can be used to disable the saving of collected Frame noise
information in cases where sliced based filtering is used and the same filter setup is desired for all slices.
In this case, the update should only be done at the beginning or end of the frame – once per frame.