Has the current implementation of the OMAX VFCC component been tested with interlaced input? Are there any known problems?
See background information below -- any suggestions how to proceed?
Thank you.
BACKGROUND:
Video decoding is through a TVP5151
Video source is BT.656 720x486 interlaced
Decoder configuration is external to the OMX chain and occurs prior to initializing the OMX chain.
The OMX Control component (OMX.TI.VPSSM3.CTRL.TVP) is unused.
In the test chain the Capture component feeds a DEI that feeds a display.
OMX Capture component is set up as follows:
Configure output port (0)
OMX_PARAM_PORTDEFINITIONTYPE.nPortIndex = 0
get_parameters for OMX_IndexParamPortDefinition
OMX_PARAM_PORTDEFINITIONTYPE.nPortIndex = 0
OMX_PARAM_PORTDEFINITIONTYPE.format.video.nFrameWidth = 720
OMX_PARAM_PORTDEFINITIONTYPE.format.video.nFrameHeight = 486
OMX_PARAM_PORTDEFINITIONTYPE.format.video.nStride = 720
OMX_PARAM_PORTDEFINITIONTYPE.nBufferCountActual = 6
OMX_PARAM_PORTDEFINITIONTYPE.nBufferSize = 1382400
OMX_PARAM_PORTDEFINITIONTYPE.format.video.eCompressionFormat = OMX_VIDEO_CodingUnused
OMX_PARAM_PORTDEFINITIONTYPE.format.video.eColorFormat = OMX_COLOR_FormatYUV420SemiPlanar
set_parameters OMX_IndexParamPortDefinition
Set memory type for buffers
OMX_PARAM_BUFFER_MEMORYTYPE.nPortIndex = 0
OMX_PARAM_BUFFER_MEMORYTYPE.eBufMemoryType = OMX_BUFFER_MEMORY_DEFAULT
set_parameters OMX_TI_IndexParamBuffMemType
Set which hardware port we're using
OMX_PARAM_VFCC_HWPORT_ID.nPortIndex = 0
OMX_PARAM_VFCC_HWPORT_ID.eHwPortId = OMX_VIDEO_CaptureHWPortVIP1_PORTA
set_parameters OMX_TI_IndexParamVFCCHwPortId
Set the hardware port parameters
OMX_PARAM_VFCC_HWPORT_PROPERTIES.nPortIndex = 0
OMX_PARAM_VFCC_HWPORT_PROPERTIES.eCaptMode = OMX_VIDEO_CaptureModeSC_NON_MUX
OMX_PARAM_VFCC_HWPORT_PROPERTIES.eVifMode = OMX_VIDEO_CaptureVifMode_08BIT
OMX_PARAM_VFCC_HWPORT_PROPERTIES.eInColorFormat = OMX_COLOR_FormatYCbYCr
OMX_PARAM_VFCC_HWPORT_PROPERTIES.eScanType = OMX_VIDEO_CaptureScanTypeInterlaced
OMX_PARAM_VFCC_HWPORT_PROPERTIES.nMaxWidth = 720
OMX_PARAM_VFCC_HWPORT_PROPERTIES.nMaxHeight = 243
OMX_PARAM_VFCC_HWPORT_PROPERTIES.nMaxChnlsPerHwPort = 1
set_parameters OMX_TI_IndexParamVFCCHwPortProperties
Varying the OMX_PARAM_VFCC_HWPORT_PROPERTIES.eScanType and OMX_PARAM_VFCC_HWPORT_PROPERTIES.nMaxHeight parameters produces the following results:
Condition 1:
--------------------
OMX_PARAM_VFCC_HWPORT_PROPERTIES.eScanType = OMX_VIDEO_CaptureScanTypeInterlaced
OMX_PARAM_VFCC_HWPORT_PROPERTIES.nMaxHeight = 243
The image shows as a monochrome (green) images with a second image shadowed as if the second frame is several lines off and incorrectly sized. Some white and purple shading occasionally appears in the shadow image. The lower half of the image has a green shading that appears to be additional lines.
Condition 2:
--------------------
OMX_PARAM_VFCC_HWPORT_PROPERTIES.eScanType = OMX_VIDEO_CaptureScanTypeInterlaced
OMX_PARAM_VFCC_HWPORT_PROPERTIES.nMaxHeight = 486
The image is similar to condition 1 except the green shading on the lower half of the screen is not present.
condition 3:
--------------------
OMX_PARAM_VFCC_HWPORT_PROPERTIES.eScanType = OMX_VIDEO_CaptureScanTypeProgressive
OMX_PARAM_VFCC_HWPORT_PROPERTIES.nMaxHeight = 486
The screen is split horizontally into two halves with the top showing a shadowed monochrome image and the bottom showing a monochrome (green) version of memory data (doesn't trace the current image)
condition 4:
--------------------
OMX_PARAM_VFCC_HWPORT_PROPERTIES.eScanType = OMX_VIDEO_CaptureScanTypeProgressive
OMX_PARAM_VFCC_HWPORT_PROPERTIES.nMaxHeight = 243
The screen is split horizontally into two halves with the top showing a clean full-color image and the bottom still showing a monochrome (green) version of memory data (doesn't trace the current image).