Dear Xperts,

I am using the decode() demo on DVEVM DM6446 processor. And for some bit
streams , i noticed that the code used to terminate / didnt decode . Look's
like in the following code below, whenever the progamme goes into the else
condition the programme starts giving problems.


if (status != VIDDEC_EOK)
{
  if (status == VIDDEC_ERUNTIME || outArgs.bytesConsumed == 0 ||
XDM_ISFATALERROR(outArgs.extendedError))
    {
                        ERR("VIDDEC_process() failed with a fatal error (%ld
ext: %#lx), bytesConsumed = %d\n",
                        status,
outArgs.extendedError,outArgs.bytesConsumed);
                        return FAILURE;
    }
 else
   {
                        stats->framesRejected++;
                        dp->outputID = BUFFER_DERR_RESUBMIT_DST;
                        return SUCCESS;
   }
}

If the decoder goes in else condition the codec stops and doesnt recover's
from that. And it crashes finally. The momemt
" stats->framesRejected++ " is incremented the codec doesnt recover and it
crashes.
I would like to know in what conditions the decode demo rejects frames ?
Because if there was a problem with corrupt header etc..it should have
displayed some error message at least. But it doesnt happens here. Is there
any recovery mechanism to handle this ?

Kindly guide me on to understand on what condition the frames are rejected ?
And can it be prevented ? Is there any workaround ?

Thank you.

Warm Regards,
Sagar
_______________________________________________
Davinci-linux-open-source mailing list
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source

Reply via email to