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.

CameraLink的第2路数据帧率减半的问题



大家好!

    我使用的是RDK3.5 , TI8127芯片, 我建立的数据链路开头使用的是cameralink,关于cameralink的设置大致如下:

    CameraLink_CreateParams camPrm;
    CameraLink_VipInstParams * pCamInstPrm;
    CameraLink_OutParams * pCamOutPrm;
    CameraLink_CreateParams_Init(&camPrm);
    camPrm.outQueParams[0].nextLink = nextLinkId1;
    camPrm.outQueParams[1].nextLink = nextLinkId2;
    camPrm.ispLinkId = ispLinkId;
    camPrm.glbceLinkId = glbceLinkId;
    camPrm.captureMode = CAMERA_LINK_CAPMODE_ISIF;
    camPrm.numAudioChannels = 1;
    camPrm.vsEnable = FALSE;
    camPrm.vstabLinkId = vstabLinkId;
    camPrm.t2aConfig.n2A_vendor = UI_AEWB_ID_NONE;
    camPrm.t2aConfig.n2A_mode = UI_AEWB_OFF;
    camPrm.numVipInst = 1;
    camPrm.tilerEnable = FALSE;
    // CameraLink_VipInstParams
    pCamInstPrm = &camPrm.vipInst[0];
    pCamInstPrm->vipInstId = SYSTEM_CAMERA_INST_VP_CSI2;
    pCamInstPrm->videoDecoderId = decoderId;
    pCamInstPrm->inDataFormat = SYSTEM_DF_YUV422I_UYVY;
    pCamInstPrm->numOutput = 2;    
    pCamInstPrm->standard = SYSTEM_STD_1080P_60;
    pCamInstPrm->sensorOutWidth = 1920;
    pCamInstPrm->sensorOutHeight = 1080;
    pCamOutPrm = &pCamInstPrm->outParams[0];
    pCamOutPrm->scEnable = FALSE;
    pCamOutPrm->dataFormat = SYSTEM_DF_YUV420SP_UV;
    pCamOutPrm->scOutWidth = 1920;
    pCamOutPrm->scOutHeight = 1080;
    pCamOutPrm->outQueId = 0;
    pCamOutPrm = &pCamInstPrm->outParams[1];
    pCamOutPrm->dataFormat = SYSTEM_DF_YUV420SP_UV;
    pCamOutPrm->scEnable = FALSE;
    pCamOutPrm->scOutWidth = 1920;
    pCamOutPrm->scOutHeight = 1080;
    pCamOutPrm->standard = SYSTEM_STD_NTSC;
    pCamOutPrm->outQueId = 1;
    System_linkCreate(camLinkId, &camPrm, sizeof(camPrm));
启动相机后,出来的第1路码流是正常的25帧,但第2路只有12帧左右, 不明白为什么第2路的帧率会减半???

后来我在cameralink_drv.c中的link初始化函数中找到如下这样一段代码:

        if (pInstPrm->outParams[1].standard == SYSTEM_STD_NTSC)
            CameraLink_drvInstSetFrameSkip(pObj, instId, 1, CAMERA_LINK_FRAMESKIPMASK_HALF, CAMERA_LINK_FRAMESKIPMASK_HALF);/* 60=>30 */
如果把上述代码去掉,第2路码流的帧率能恢复到25帧,但播放出来发现画面抖动得非常厉害,

想请教群内的同行, 我怎样才能实现第2路码流为25帧且播放出来的画面正常(码流正常)??先谢谢了