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 VDEC
Contents
Video Decoder Component (VDEC)[edit]
The VDEC component is a video decode component that has one input port and one output port. The job of the VDEC is to decode the bitstream provided to it. VDEC component is designed to incorporate any video decode algorithm which provides codec engine interface. VDEC component can be configured through IL client to configure any of the supported compression type format. Component is designed to plug-in appropriate video decoder.
Note: EZSDK 5.03.01.15 release with OMX 05.02.00.30 supports H264, MPEG4/H263, MPEG2, VC1 and MJPEG Decoders
Codec specific components functions are pluggable through a table. This Table and associated function needs to be enhanced /added to include different compression format.
FAQ[edit]
1. Does VDEC handle change in resolution?
Ans: Yes. However, VDEC should be configured for the max resolution that will be decoded. Also, displayWidth parameter for the codecs needs to be set up appropriately as shown below: <syntaxhighlight lang='javascript'> /* H264 Decoder */ if (pAppData->codingType == OMX_VIDEO_CodingAVC) {
OMX_VIDEO_PARAM_DYNAMICPARAMS tDynamicParam;
OMX_INIT_PARAM(&tDynamicParam); tDynamicParam.nPortIndex = OMX_VIDDEC_OUTPUT_PORT;
eError = OMX_GetParameter(pHandle, OMX_TI_IndexParamVideoDynamicParams, &tDynamicParam); tDynamicParam.videoDynamicParams.h264DecDynamicParams.viddec3DynamicParams.displayWidth = pOutPortDef.format.video.nStride; eError = OMX_SetParameter(pHandle, OMX_TI_IndexParamVideoDynamicParams, &tDynamicParam);
} </syntaxhighlight>
<syntaxhighlight lang='javascript'> /* MPEG2 Decoder */ if (pAppData->codingType == OMX_VIDEO_CodingMPEG2) {
OMX_VIDEO_PARAM_DYNAMICPARAMS tDynamicParam;
OMX_INIT_PARAM(&tDynamicParam); tDynamicParam.nPortIndex = OMX_VIDDEC_OUTPUT_PORT;
eError = OMX_GetParameter(pHandle, OMX_TI_IndexParamVideoDynamicParams, &tDynamicParam); tDynamicParam.videoDynamicParams.mpeg2DecDynamicParams.viddecDynamicParams.displayWidth = pAppData->nWidth; eError = OMX_SetParameter(pHandle, OMX_TI_IndexParamVideoDynamicParams, &tDynamicParam);
} </syntaxhighlight>
Refer to the codec User Guide for displayWidth settings.