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.

2 channel loop test framerate can not to the set parameter



hi all ,i run my app to do the framerate test.2 channel loop test framerate can not to the set parameter

parameter set 60FPS can just to about 56fps

parameter set 30FPS can just to about 25fps

but when i do 1 channel loop test ,they are both the right with the parameter set

so why?

tks

  • Share Vsys_printDetailedStatistics logs and your usecase link connections.

  • that below is the log:

    3733.FPS.log

  • Pls collect stats 3 times with atleast 1 min interval. The attached stats show wrong fps even for capture.

  • OK,that is the 3 time log:

    6064.FPS1.log

  • Looks like nsfLink is bottleneck.Try removing nsfLink and capturing in YUV420SP format instead and check the performance.

  • how you mean that set the cap parameter ?

    that is my now cap set

     pCaptureInstPrm->inDataFormat           = SYSTEM_DF_YUV422P;-> SYSTEM_DF_YUV420P,

    pCaptureOutPrm->dataFormat              = SYSTEM_DF_YUV422I_YUYV;->SYSTEM_DF_YUV420SP_UV

    then it will has the error

    42: SYSTEM: Creating ListMP [HOST_IPC_OUT_21] in region 0 ...
    44: SYSTEM: Creating ListMP [HOST_IPC_IN_21] in region 0 ...
    46: SYSTEM: ListElem Shared Addr = 0x40893280
    62: SYSTEM: System Common Init Done !!!
    [m3vpss ] 11446: CAPTURE: Create in progress !!!
    [m3vpss ] 11476: CAPTURE: VIP0 PortA capture mode is [16-bit, Non-mux Discrete Sync - ACTVID_VSYNC] !!!
    [m3vpss ] 11477: Assertion @ Line: 832 in links_m3vpss/capture/captureLink_drv.c: pInst->captureVipHandle != NULL : failed !!!

     

     

    because that is my own board ,so that can not cap for 420 data,so whether some other ways?

  • pCaptureOutPrm->dataFormat              = SYSTEM_DF_YUV420SP_UV;

  • i do like you said ,the channel 0 can to 60FPS.but channel 1 is still about 25FPS,whether is the max performace?

  • The channel1 is 1080i50 capture. You should set inScanFormat = SYSTEM_SF_INTERLACED in pCaptureInstPrm->inScanFormat for that channel correctly. Currently it is dropping all odd fields

  • now when i add the dei link between the cap and the enc link it has the following error

    [m3vpss ] CAPTURE::HEAPID:0 USED:520
    [m3vpss ] CAPTURE::HEAPID:4 USED:72576000
    [m3vpss ] 26391: CAPTURE: Create Done !!!
    [m3vpss ] 26391: DEI : Create in progress !!!
    [m3vpss ] 26663: DEI : Loading Down-scaling Co-effs
    [m3vpss ] 26663: DEI : Co-effs Loading ... DONE !!!
    [m3vpss ] DEI:HEAPID:0 USED:64
    [m3vpss ] DEI:HEAPID:1 USED:5280
    [m3vpss ] DEI:HEAPID:4 USED:58060800
    [m3vpss ] 26664: DEI : Create Done !!!
    [m3vpss ] 26669: DUP : Create Done !!!
    [m3vpss ] 26669: IPC_OUT_M3 : Create in progress !!!
    [m3vpss ] 26670: IPC_OUT_M3 : Create Done !!!
    [m3vpss ] 26671: CAPTURE: Start in progress !!!
    [m3vpss ] 26770: CAPTURE: Enabled Time Stamping !!!
    [m3vpss ] 26778: CAPTURE: Enabled Time Stamping !!!
    [m3video] 26787: IPC_IN_M3 : Create in progress !!!
    [m3vpss ] 26786: CAPTURE: Start Done !!!
    [m3video] 26787: SYSTEM: Opening ListMP [VPSS-M3_IPC_OUT_0] ...
    [m3video] 26787: SYSTEM: Opening ListMP [VPSS-M3_IPC_IN_0] ...
    [m3video] 26789: IPC_IN_M3 : Create Done !!!
    [m3video] 26790: ENCODE: Create in progress ... !!!
    [m3video] 26850: ENCODE: Creating CH0 of 1920 x 1080, pitch = (3840, 3840) [PROGRESSIVE] [NON-TILED ], bitrate = 2000 Kbps ...
    [m3video] 26850: Assertion @ Line: 758 in links_m3video/iva_enc/encLink_common.c: pChAlgCreatePrm->inputChromaFormat == XDM_YUV_420SP : failed !!!

    but i has set the dei parameter 

    deiPrm[0].inQueParams.prevLinkId = gVcapModuleContext.captureId;
    deiPrm[0].inQueParams.prevLinkQueId = 0;
    deiPrm[0].outQueParams[0].nextLink = dupId0;
    deiPrm[0].enableOut[0] = TRUE;
    deiPrm[0].tilerEnable[0] = FALSE;
    deiPrm[0].comprEnable = FALSE;
    deiPrm[0].setVipScYuv422Format = FALSE;
    deiPrm[0].enableDeiForceBypass = TRUE;
    deiPrm[0].enableDualVipOut = FALSE;
    deiPrm[0].interlacedBypassMode = TRUE;
    deiPrm[0].outputFrameRate[0] = 60;

    deiPrm[0].outScaleFactor[0][0].scaleMode = DEI_SCALE_MODE_RATIO;
    deiPrm[0].outScaleFactor[0][0].ratio.widthRatio.numerator = 1;
    deiPrm[0].outScaleFactor[0][0].ratio.widthRatio.denominator = 1;
    deiPrm[0].outScaleFactor[0][0].ratio.heightRatio.numerator = 1;
    deiPrm[0].outScaleFactor[0][0].ratio.heightRatio.denominator = 1;

  • For progressive capture do YUV420SP capture and encode

    For interlaced capture, capture in YUV422I , add DEI and make sure you connect  DEI_LINK_OUT_QUE_VIP_SC output queue to encoder. I have already told you DEI_LINK_OUT_QUE_DEI_SC can output only YUV422I and you are wrongly connecting DEI_SC output to encoder.

  • but my channel 1 the cap parameter is still the same with channel 0 

    pCaptureInstPrm->standard               = SYSTEM_STD_1080P_60;

    they are both YUV420SP,so why you say my channel 1 is 1080i50?