TI中文支持网
TI专业的中文技术问题搜集分享网站

8168 Display 图像格式

请问TI工程师:

在Cap+Dis的link 链中,Capture的输出格式pCaptureOutPrm->dataFormat只能是SYSTEM_DF_YUV422I_YUYV 么?

我需要输出的422SP的格式,DSP方便处理,然后Display出来。只有这一种格式可以 captures+display 正常

我修改为SYSTEM_DF_YUV422SP_UV系列,都是报错如下:

2763:!!!SLAVE CORE [VPSS-M3] DOWN!!!

SystemLink_copySlaveCoreExceptionContext:146

mmap of [0xbe9e0000:36864]

mmap virt addresss:0x400c7000

munmap of [0x400c7000:36864]

SystemLink_copySlaveCoreExceptionContext:153

SystemLink_handleSlaveCoreException:173

SystemLink_handleSlaveCoreException:178

  [m3vpss ]  15762: CAPTURE: VIP0 PortA capture mode is [16-bit, Non-mux Embedded Sync] !!!

  [m3vpss ]  15763: Assertion @ Line: 779 in links_m3vpss/capture/captureLink_drv.c: pInst->captureVipHandle != NULL : failed !!!

附录部分代码: 

Void Chains_doubleChCapDis(Chains_Ctrl *chainsCfg)

{

/*********************************************************************************/

 

    for(i=0; i<capturePrm.numVipInst; i++)

    {

        vipInstId = SYSTEM_CAPTURE_INST_VIP0_PORTA + 2*i;

        pCaptureInstPrm                     = &capturePrm.vipInst[i];

        pCaptureInstPrm->vipInstId          = vipInstId%SYSTEM_CAPTURE_INST_MAX;

        pCaptureInstPrm->videoDecoderId     = SYSTEM_DEVICE_VID_DEC_SII9233A_DRV;

        pCaptureInstPrm->inDataFormat       = SYSTEM_DF_YUV422P;

        pCaptureInstPrm->standard           = chainsCfg->displayRes[i];

        pCaptureInstPrm->numOutput          = 1;

        pCaptureInstPrm->numChPerOutput     = 1;

        pCaptureInstPrm->frameCaptureMode   = FALSE;

        pCaptureInstPrm->fieldsMerged       = FALSE;

 

        pCaptureOutPrm                      = &pCaptureInstPrm->outParams[0];

        pCaptureOutPrm->dataFormat          = SYSTEM_DF_YUV422I_YUYV;

        pCaptureOutPrm->scEnable            = FALSE;

        pCaptureOutPrm->scOutWidth          = chainsCfg->channelConf[i].width;

        pCaptureOutPrm->scOutHeight         = chainsCfg->channelConf[i].height;

        pCaptureOutPrm->outQueId            = i;

    }

 

    capturePrm.outQueParams[0].nextLink     = displayId[0];

 

    System_linkCreate(captureId, &capturePrm, sizeof(capturePrm));

    chainsCfg->displayRes[0] = capturePrm.vipInst[0].standard;

 

    for (i=0; i<1; i++) {

        displayPrm[i].displayRes                   = chainsCfg->displayRes[i];

        displayPrm[i].numInputQueues               = 1;

        displayPrm[i].activeQueue                  = 0;

        displayPrm[i].inQueParams[0].prevLinkId    = captureId;

        displayPrm[i].inQueParams[0].prevLinkQueId = i;

        displayPrm[i].forceFieldSeparatedInputMode = FALSE;

    }

 

    Chains_displayCtrlInit(chainsCfg->displayRes);

    System_linkCreate(displayId[0], &displayPrm[0], sizeof(displayPrm[0]));

 

    Chains_memPrintHeapStatus();

/*********************************************************************************/

 

}

Ternence_Hsu:

你好

Amob在Cap+Dis的link 链中,Capture的输出格式pCaptureOutPrm->dataFormat只能是SYSTEM_DF_YUV422I_YUYV 么?

不是,可以支持yuv420_sp和其他的格式

Amob我需要输出的422SP的格式,DSP方便处理,然后Display出来。

我刚才查了hdvpss手册,里面是可以支持yuv422sp的格式的(yuv422sp输出,本人没有亲测,手册中支持)

Amob我修改为SYSTEM_DF_YUV422SP_UV系列,都是报错如下:

这个错误,你可以到DVRRDK_04.00.00.03/dvr_rdk/mcfw/src_bios6/links_m3vpss/capture,调试一下代码,查一下报错的原因

 

请问,你现在是在什么版本的SDk中开发?

 

Amob:

回复 Ternence_Hsu:

Ternence,非常感谢您对问题的关注,

1.

Capture的输出格式pCaptureOutPrm->dataFormat是可以支持yuv420_sp和其他的格式,但前提是不需要display。因为我们做的视频存储就是capture输出yuv422SP的

格式存储的。

2.只要是有display的link,我看了例程,所有的capture都是输出SYSTEM_DF_YUV422I_YUYV格式,其余格式我基本都试过,不行。

YUV这样的交替存储,对于我后续的DSP人脸识别处理很麻烦,我还需要重新排序,如果单纯的存储不用display也是没有问题的。

3.我用的dvrrdk3.0版本。 再次感谢您的帮助!!

Amob:

回复 Ternence_Hsu:

非常感谢,我已经解决了格式的问题,您的建议很管用,谢谢~

赞(0)
未经允许不得转载:TI中文支持网 » 8168 Display 图像格式
分享到: 更多 (0)