I have modified the OMX capture encode demo by removing the encoding part and just performing the capture -> dei -> display part. I can capture and display 720p video succesfully. Then I try to follow the post http://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/717/t/131887.aspx to modify the program to perform 1080i capture.
But then I don't get the output I expected. This is the expected output.
and this is what I get
Something can be seen but the color and height doesn't seem to be right.
These are the changes I made: in IL_ClientInit()
capture component
outPortParamsPtr->nBufferSize = ((pAppDataPtr->nHeight/2) * pAppDataPtr->nWidth * 3) >> 1;
DEI input
inPortParamsPtr->nBufferSize = ((pAppDataPtr->nHeight/2) * pAppDataPtr->nWidth * 3) >> 1;
In IL_ClientSetCaptureParams():
paramPort.format.video.nFrameHeight = pAppData->nHeight / 2;
paramPort.nBufferSize = (paramPort.format.video.nStride * (pAppData->nHeight/2) * 3) >> 1;
sHwPortParam.eScanType = OMX_VIDEO_CaptureScanTypeInterlaced;
sHwPortParam.nMaxHeight = pAppData->nHeight / 2;
sVidDecParam.videoStandard = OMX_VIDEO_DECODER_STD_1080I_60;
in IL_ClientSetDeiParams(), the input part
paramPort.format.video.nFrameHeight = pAppData->nHeight / 2;
paramPort.nBufferSize = (paramPort.format.video.nStride * (pAppData->nHeight/2) * 3) >> 1;
chResolution.Frm0Height = pAppData->nHeight / 2;
chResolution.FrmCropHeight = pAppData->nHeight / 2;
algEnable.bAlgBypass = 0;
Is there anything else that needs to be changed to make the demo run properly? Thanks