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.

Linux/TDA2EVM5777: 3D Surround Encoder fail

Part Number: TDA2EVM5777

Tool/software: Linux

Hi ,

I'm developing base on lvds_vip_multi_cam_3d_srv demo. I try to dump 4CH Original(1280*720) video & 1CH display(880*1080) video.

I use the Merge_Link merge 4CH original video with 1CH display video. It will pass 5CH to encode. When the application run few seconds.  The terminal

prints fail "Assertion @ Line: 1793 in iva_enc/encLink_common.c: chId == pReqObj->InFrameList.buffers[i]->chNum : failed !!!". 

What 's the reason? Is the encoder encode speed is too slow or something else?

Thanks.

Zhang.

  • Hi Zhang ,

    what is number of channels created as encoder . ?

    Regards
    Chetan.M
  • Hi Chetan,

    Here is the create log:

    [HOST] [IPU2 ] 38.065393 s: ENCODE: Create in progress ... !!!
    [HOST] [IPU2 ] 38.267431 s: ENCODE: Creating CH0 of 1280 x 720, pitch = (1280, 1280) [1] [0], bitrate = 10000 Kbps ...
    [HOST] [IPU2 ] 38.335112 s: ENCODE: CH0: H264EncCreated:H264ENC_TI DEV.500.V.H264AVC.E.IVAHD.02.01.09.01
    [HOST] [IPU2 ] 38.335387 s: ENCODE: Creating CH1 of 1280 x 720, pitch = (1280, 1280) [1] [0], bitrate = 10000 Kbps ...
    [HOST] [IPU2 ] 38.403068 s: ENCODE: CH1: H264EncCreated:H264ENC_TI DEV.500.V.H264AVC.E.IVAHD.02.01.09.01
    [HOST] [IPU2 ] 38.403342 s: ENCODE: Creating CH2 of 1280 x 720, pitch = (1280, 1280) [1] [0], bitrate = 10000 Kbps ...
    [HOST] [IPU2 ] 38.470963 s: ENCODE: CH2: H264EncCreated:H264ENC_TI DEV.500.V.H264AVC.E.IVAHD.02.01.09.01
    [HOST] [IPU2 ] 38.471268 s: ENCODE: Creating CH3 of 1280 x 720, pitch = (1280, 1280) [1] [0], bitrate = 10000 Kbps ...
    [HOST] [IPU2 ] 38.538919 s: ENCODE: CH3: H264EncCreated:H264ENC_TI DEV.500.V.H264AVC.E.IVAHD.02.01.09.01
    [HOST] [IPU2 ] 38.539193 s: ENCODE: Creating CH4 of 1280 x 720, pitch = (1280, 1280) [1] [0], bitrate = 10000 Kbps ...
    [HOST] [IPU2 ] 38.606874 s: ENCODE: CH4: H264EncCreated:H264ENC_TI DEV.500.V.H264AVC.E.IVAHD.02.01.09.01
    [HOST] [IPU2 ] 38.607149 s: ENCODE: All CH Create ... DONE !!!


    CH0~3 is the original video.
    CH4 is stiching video
    I scale the CH4(stiching video, original 880*1080), and the APP can run normally. But the stiching video is not what i want.
    Can codec encode different resolution video at the same time? Thanks.


    Best,
    Zhang
  • yes ,

    IVA (encoder hardware) has the capability,

    You need to configure the encoder for that,
    This is not validated in the vision sdk package.

    Regards
    Chetan.M
  • Hi Chetan,

    I can only find this configuration is APP code:

    //set configuration to h264
    //pLinkChPrm->format = SYSTEM_IVIDEO_H264BP;
    pLinkChPrm->format = SYSTEM_IVIDEO_H264HP;
    pLinkChPrm->profile = 100;
    pLinkChPrm->dataLayout = VENC_FIELD_SEPARATED;
    pLinkChPrm->fieldMergeEncodeEnable = FALSE;
    pLinkChPrm->enableAnalyticinfo = 0;
    pLinkChPrm->enableWaterMarking = 0;
    pLinkChPrm->maxBitRate = -1;
    pLinkChPrm->encodingPreset = SYSTEM_XDM_MED_SPEED_HIGH_QUALITY;
    //pLinkChPrm->encodingPreset = SYSTEM_XDM_HIGH_SPEED;
    /* Set encodingPreset to SYSTEM_XDM_USER_DEFINED
    * if SEI/meta data needs to be enabled */
    /* pLinkChPrm->encodingPreset = SYSTEM_XDM_USER_DEFINED; */
    pLinkChPrm->rateControlPreset = SYSTEM_IVIDEO_LOW_DELAY;
    pLinkChPrm->enableHighSpeed = FALSE;
    pLinkChPrm->enableSVCExtensionFlag = FALSE;
    pLinkChPrm->numTemporalLayer = 0;
    pLinkChPrm->overrideInputScanFormat= 0;
    pLinkChPrm->fieldPicEncode = 0;
    pLinkChPrm->IDRFrameInterval = 1;

    pLinkDynPrm->intraFrameInterval = 30;
    pLinkDynPrm->targetBitRate = 10*1000*1000;
    pLinkDynPrm->interFrameInterval = 1;
    pLinkDynPrm->mvAccuracy = SYSTEM_IVIDENC2_MOTIONVECTOR_QUARTERPEL;
    pLinkDynPrm->inputFrameRate = 15;
    pLinkDynPrm->rcAlg = 0;
    pLinkDynPrm->qpMin = 0;
    pLinkDynPrm->qpMax = 51;
    pLinkDynPrm->qpInit = 25;
    pLinkDynPrm->vbrDuration = 8;
    pLinkDynPrm->vbrSensitivity = 0;
    /* Set maxPicSizeRatioI to 1 for IDR or I-Frame only mode */
    pLinkDynPrm->maxPicSizeRatioI = 640;

    Do you mean reconfigure this or something else? Could you give me a configuration. Or where can i find a SDK have validated and can encode different resolution video.

    Another question, If i set fps 30. I found some chunnel will drop frames. Fps 15 can work well. Or I configure encoder in low mode(low bitrate/format/encodingPreset) then frames will not drop. Is the codec's capacity is not enough.
  • Hi Chetan,

    I can not find the IVA's performance data. Could you share me these. We may need to make a evaluation.
    Thanks.


    Regards,
    Zhang
  • Hi Chetan,

    I change

    pLinkChPrm->fieldMergeEncodeEnable = FALSE;
    to
    pLinkChPrm->fieldMergeEncodeEnable = TRUE;


    Then I can record 4CH(1280*720) + 1CH(880*1080). But i found the fps is 15 even the original fps is 30; And there is new problem when i exit APP.
    Log is here:
    "
    [HOST] [IPU2 ] 517.007899 s: ENCODE: Link ID 150995023: Stop in progress !!!
    [HOST] [IPU2 ] 517.008052 s: ENCODE: Link ID 150995023: Stop done !!!
    [HOST] [IPU2 ] 517.008113 s: ENCODE: Link ID 150995023: Delete in progress !!!
    [HOST] [IPU2 ] 517.015494 s: Assertion @ Line: 2043 in iva_enc/encLink_common.c: bitstreamBuf->bufSize == pOutObj->buf_size[i] : failed !!!
    "


    I'm not familiar with codec. Is my configuration correct?


    Regards,
    Zhang