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.

Please tell me how to use VIDDEC2_processAsync().

We are using "ti-dvsdk_dm365-evm_4_00_00_22" , and decode H264 .

 

I have changed as follows VIDDEC2_process()Because in order to use asynchronous processing .

Then "Segmentation fault" occurred at VIDDEC2_processAsync() of 1st frame .

I needed to have something else?


---  \ti-dvsdk_dm365-evm_4_00_00_22\dmai_2_20_00_10\packages\ti\sdo\dmai\ce\Vdec2.c  :  Vdec2_process() ---

    //status = VIDDEC2_process(hVd->hDecode, &inBufDesc, &outBufDesc, &inArgs, &outArgs);

    status = VIDDEC2_processAsync(hVd->hDecode, &inBufDesc, &outBufDesc, &inArgs,&outArgs);

    //......test code is here.

    status_wait = VIDDEC2_processWait(hVd->hDecode, &inBufDesc, &outBufDesc, &inArgs, &outArgs ,0);

------------------

 

Thank you .

  • The async APIs are only supported when the alg/codec is 'remote' - meaning it's on another processor.  On a DM365 based system, the codec is local, not remote, so the async APIs can't be used.

    I'm curious about the seg fault however - I'd prefer you get a better VIDDEC2_EUNSUPPORTED return code rather than a seg fault.  If you turn on trace, do you see any warnings or errors printed?  Does it segfault within the VIDDEC2_processAsync() API call itself?

    Chris

  • Thank you very much for your advice.

    I understand , do not support async API  on a DM365 .

     

    VIDDEC2_processAsync() is not return .

    "Segmentation fault" has happened inside VIDDEC2_processAsync() .

    And , I debug on DMAI (Vdec2.c) . using printf .

    CE has not been compiled