This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TMS320DM365: Replace DEI algorithm with simple line merge in DM365

Part Number: TMS320DM365

Hi All,


I am running IPNC_RDK_DM36x_V5.1.0 on a custom DM365 board.


The Deinterlace section entails a call to ALG_deiRun() function, where there is the following block:

inBufDesc.numBufs = 4;

inBufDesc.bufDesc[0].bufSize    = bufferSize;
inBufDesc.bufDesc[0].buf        = (XDAS_Int8 *)pRun->inAddr;
inBufDesc.bufDesc[0].accessMask = 0;

inBufDesc.bufDesc[1].bufSize    = bufferSize/2;
inBufDesc.bufDesc[1].buf        = (XDAS_Int8 *)(pRun->inAddr + inOffset);
inBufDesc.bufDesc[1].accessMask = 0;

inBufDesc.bufDesc[2].bufSize    = bufferSize;
inBufDesc.bufDesc[2].buf        = (XDAS_Int8 *)pRun->inAddrPast;
inBufDesc.bufDesc[2].accessMask = 0;

inBufDesc.bufDesc[3].bufSize    = bufferSize/2;
inBufDesc.bufDesc[3].buf        = (XDAS_Int8 *)(pRun->inAddrPast + inOffset);
inBufDesc.bufDesc[3].accessMask = 0;

// output buffers
outBufDesc.numBufs  = 2;
outbufs[0]          = (XDAS_Int8*)pRun->outAddr;
outbufs[1]          = (XDAS_Int8*)(pRun->outAddr + outOffset);
outBufSizeArray[0]  = outOffset;
outBufSizeArray[1]  = outOffset/2;

outBufDesc.bufSizes = outBufSizeArray;
outBufDesc.bufs     = outbufs;

inArgs.size = sizeof(VIDENC1_InArgs);
outArgs.videncOutArgs.size = sizeof(IDEI_OutArgs);

There are 4 input buffers here, which are then deinterlaced using :

VIDENC1_process((VIDENC1_Handle)gDEI_CTRL.deiInstance[deiId].hDei,
                             &inBufDesc,
                             &outBufDesc,
                             &inArgs,
                             (IVIDENC1_OutArgs *)&outArgs);

I want to replace this with a simple line merge on the input buffer and generate an output frame. The input format to the DEI thread is YUV422 ILE; the output is YUV420sp. Could someone please point me in the right direction as to how to go about it?