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.

CODEC ENGINE ERROR on IPNC in Alg_VidEnc() function

Hello,

I met a problem on IPNC. I got an error in ALG_vidEnc.

I changed the code from a VGA demo code to a HD code and changed the settings of framerate in all calls.

and I got the VIDENC1_process error as follows (after setting CE_DEBUG=3 before calling av_server.out.

Any idea of what it means ?

Thanks for any help/ideas.

 

 

ENCODE: Stream 0 InBuf 2 OutBuf 2 (0, 0)
@103,862,578us: [+0 T:0x443a1490 S:0x443a0aa4] ti.sdo.ce.video1.VIDENC1 - VIDENC1_process> Enter (handle=0x358268, inBufs=0x443a0b3c, outBufs=0x443a0ca0, inArgs=0x443a0c94, outArgs=0x443a0c0c)
@103,862,951us: [+5 T:0x443a1490 S:0x443a0a84] CV - VISA_enter(visa=0x358268): algHandle = 0x3582a0
@103,863,209us: [+0 T:0x443a1490 S:0x443a0a74] ti.sdo.ce.alg.Algorithm - Algorithm_activate> Enter(alg=0x3582a0)
@103,863,449us: [+0 T:0x443a1490 S:0x443a0a3c] ti.sdo.ce.osal.SemMP - Entered SemMP_pend> sem[0x3564c0] timeout[0xffffffff]
@103,863,728us: [+0 T:0x443a1490 S:0x443a0a3c] ti.sdo.ce.osal.SemMP - Leaving SemMP_pend> sem[0x3564c0] status[0]
@103,863,993us: [+0 T:0x443a1490 S:0x443a0a3c] ti.sdo.fc.rman - RMAN_activateAllResources> Enter (alg=0x47625000, resFxns=0x1cd4b0, scratchGroupId=1)
@103,864,325us: [+0 T:0x443a1490 S:0x443a0a3c] ti.sdo.fc.rman - RMAN_activateAllResources> Exit (status=0)
@103,864,558us: [+0 T:0x443a1490 S:0x443a0a84] ti.sdo.ce.alg.Algorithm - Algorithm_activate> Exit
@103,864,804us: [+5 T:0x443a1490 S:0x443a0a8c] CV - VISA_exit(visa=0x358268): algHandle = 0x3582a0
@103,865,041us: [+0 T:0x443a1490 S:0x443a0a7c] ti.sdo.ce.alg.Algorithm - Algorithm_deactivate> Enter(alg=0x3582a0)
@103,865,288us: [+0 T:0x443a1490 S:0x443a0a44] ti.sdo.fc.rman - RMAN_deactivateAllResources> Enter (alg=0x47625000, resFxns=0x1cd4b0, scratchGroupId=1)
@103,865,600us: [+0 T:0x443a1490 S:0x443a0a44] ti.sdo.fc.rman - RMAN_deactivateAllResources> Exit (status=0)
@103,866,029us: [+0 T:0x443a1490 S:0x443a0a5c] ti.sdo.ce.osal.SemMP - Entered SemMP_post> sem[0x3564c0]
@103,866,343us: [+0 T:0x443a1490 S:0x443a0a5c] ti.sdo.ce.osal.SemMP - Leaving SemMP_post> sem[0x3564c0]
@103,866,602us: [+0 T:0x443a1490 S:0x443a0a8c] ti.sdo.ce.alg.Algorithm - Algorithm_deactivate> Exit
@103,866,880us: [+0 T:0x443a1490 S:0x443a0aa4] ti.sdo.ce.video1.VIDENC1 - VIDENC1_process> Exit (handle=0x358268, retVal=0xffffffff)
 ALG: VidEnc: status = -1 != VIDENC1_EOK = 0

  • Hi Reda,

    How are you? Actually, you should print out the extendedError in the outArgs of process call. Looking at the error code, you can refer to the Codec User Guide and figure out which parameter might be going wrong in VIDENC1_process

    You can get the extendedError code as follows:

      if (status != VIDENC1_EOK)
      {
       OSA_ERROR("VIDENC1_process() failed with error (%d ext: 0x%x)\n",
                      (int)status, (unsigned int) outArgs.extendedError);
        return OSA_EFAIL;
      }

    Regards,

    Anshuman

    PS: Please mark this post as verified, if you think it has answered your question. Thanks.

  • Hello Anshuman

    Project is progressing. We have ported the application IPNC to the 2.6.32 kernel and associated dvsdk (porting was effort-intensive) and it is working on a VGA camera. We try now to get it work with an HD camera head.

    Thanks for the clue. I included the code and I got his :

    VIDENC1_process() failed with error (-1 ext: 0x8019)

    Which seems to indicate, according to XDM_ErrorBit values that there is :

    -bit 15 : XDM_FATALERROR

    -bit 4 : ? - This bit is codec and implementation specific.

    -bit 3: ?  - This bit is codec and implementation specific.

    For bit 3 and 4, I need to go to the h264encoder documentation ?

    Regards

    reda

     

  • Hello Anshuman,

    Back with this encoding problem (after resolving other).

    I have found in the Codec Engine H264Enc documentation the meaning of error code.

    I had the extended error value =  0x8019 which means :

     

    FATAL ERROR + decimal error number (in enum) = 25 <=> IF process/control api called without activate !

    This seems very strange because I have 2 or 3 frames which are encoded and returned a OK value. This indicates that the IPNC code does right with the activate algorithm.

    Without talking about the fact that the same code with a VGA camera works perfectly.

     

    Do you find this normal ?

     

    Regards

    Reda