NOTICE: The Processors Wiki will End-of-Life on January 15, 2021. It is recommended to download any files or other content you may need that are hosted on processors.wiki.ti.com. The site is now set to read only.
OMX VFCC
Video Frame Capture Component (VFCC)[edit]
The VFCC component is a source component that has omx output ports but no input ports. The job of the VFCC is to capture the frames provided to it through the video input ports (VIP) on the DM816x.
The DM816x contains 2 VIP ports – VIP1 and VIP2 that supports max. 24 bit interface. Each of the ports can be re-configured as two 8 bit VIP ports – in that case, these ports are named VIP1A, VIP1B, VIP2A and VIP2B. The SW model is to normally create instance of the VFCC component for each VIP PORT. Since DM816x allows up to 4 VIP ports, the IL client can instantiate up to 4 VFCC components with configuration to use specific VIP port. A special case is a Video surveillance application where up to 16 channels of Standard Definition may be multiplexed on the 4 video ports (4 channels / port). To address this special case, a single VFCC component configured as “OMX_VIDEO_CaptureHWPortALL_PORTS” can be used to capture all 16 channels and submit those to the other OpenMax components for processing using 16 output omx ports.
The capture component is implemented as follows. A periodic timer wakes up a timer interrupt service routine that checks all video ports for available captured buffers and issues a call back function that posts an event. The posted event triggers the active processing thread of the VFCC. When activated, the component thread dequeues the captured buffers and subsequently queues a new set of buffers from the output port into the capture driver. The frequency of the periodic timer is configurable. Also, the calling back option of the driver is configurable and can be either unconditional or on data availability.
DM816x also supports non-muxed video. In this case, each video port (In the case of 8b configuration: VIP1A, VIP1B, VIP2A, VIP2B or in the case of 16/24b configuration: VIP1 and VIP2 capture the video from a single camera input. Note that it is possible for VIP1 to be configured as VIP1A and VIP1B while VIP2 remains a single 16/24b port. Likewise it is possible for VIP2 to be configured as VIP2A and VIP2B while VIP1 remains a single 16/24b port.