Internal Modules
184
SPRUHI7A – December 2012 – Revised June 2016
Copyright © 2012–2016, Texas Instruments Incorporated
High-Definition Video Processing Subsystem (HDVPSS)
1.2.9.3
Interrupts
The following two interrupts are generated by the module.
Table 1-65. Module Interrupts
Interrupt
Description
dei_fm_int
Interrupt indicating film mode is enabled and software needs to read Film Mode
statistics registers and update the Film Mode lock and jam direction configuration
registers. This is required to be a high priority interrupt.
dei_error_int
Interrupt indicating an error condition has occurred
1.2.9.3.1 Interrupt Description
Two interrupts from DEI module are mapped to HD-VPSS level interrupt handler. Those are discussed
below.
1.2.9.3.1.1 dei_fm_int
This interrupt is controlled by enabling film mode detection. Once enabled, this interrupt will occur on
every input field and tells software that it needs to read the fmd_reset, fmd_frame_diff, fmd_field_diff and
fmd_caf registers and execute the Film Mode software program to determine whether to lock film mode
and the jamming direction.
This interrupt needs to be serviced as a high priority interrupt. The position the interrupt is generated
within a field can be controlled through configuration registers (fmd_window_enable, fmd_window_minx,
fmd_window_miny, fmd_window_maxx and fmd_window_maxy). If the window is enabled, the statitics will
be gathered over the window bounded by the other register settings, and the interrupt will be generated at
the bottom of the window, meaning, the window can be set at the top of the field to generate the interrupt
as soon as possible. This interrupt needs to be serviced before the next field is input to the deinterlacer.
The interrupt is fired at the end of the defined film mode window. If the FMD window is not enabled, the
entire frame size is used, and the interrupt will occur at the end of the field. Software services the interrupt
and then applies “lock and jam” MMR controls to put the design in film mode. This must occur before the
next field input. If the entire window is used, there is very little time to perform this servicing and register
setting when the design is used in a memory to memory mode. When in a memory to memory mode, and
particularly if the “field_flush” control bit is low, the film mode window must be used, and set to provide as
much time as possible between the end of the film window and the end of the actual input field. Generally
speaking, the film window should end 1 or 2 lines from the bottom of the real field to provide 1 or 2 line
times to service the interrupt and apply the lock and jam registers for the next input field. While this means
that the entire window is not used for calculating film mode statistics, excluding the last 1 or 2 lines should
have negligible impact.
1.2.9.3.1.2 dei_error_int
This interrupt will occur under the following conditions:
(a) The field ID of the current input frame is the same as the field ID of the last frame. The field ID
corresponds to whether the input field is the “top” (all even lines) or “bottom” (all odd lines) field. Two
subsequent input frames must have opposite field IDs.
(b) An end of frame input has occurred on the input field data (VPI end of frame for current field), but the
internal counters have not counted to either the programmed width or height. This indicates that the
input data to the Deinterlacer does not match the programmed width and height the Deinterlacer is
expecting.
(c) A start of frame input has occurred on the input field data (VPI start of frame for current field), but the
internal counters are not at 0. This indicates that a new video field was started before the last video
field was completed.
In any of these cases, the input video data is not matching what the deinterlacer programming is
expecting. Software should reconfigure the deinterlacer to match the proper input video timing.