请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:TMS320DM365 大家好、
我在定制的 DM365板上运行 IPNC_RDK_DM36x_v5.1.0。
Deinterlace 部分需要调用 ALG_deiRun()函数,其中有以下块:
inBufDesc.numBuf = 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.buf[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; //输出缓冲 区 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);
这里有4个输入缓冲区,然后使用进行隔行扫描:
VIDENC1_PROCESS ((VIDENC1_Handle) gDEI_CTRL.deiInstance[deiId].hDei、 inBufDesc (&I)、 outBufDesc (&O)、 InArgs (&I)、 (IVIDENC1_OutArgs *) outArgs);
我想用输入缓冲器上的简单行合并来替换它、并生成输出帧。 DEI 线程的输入格式为 YUV422 Ile;输出为 YUV420sp。 请有人向我指出正确的方向、告诉我如何解决这个问题?