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.

encode demo error :Failed to create video encoder ***



 I add a new codec algorhythm to  produce a x64p server ,but when I run my program on the dm6467T evm I get the err: failed to create video encoder ***(the *** represent my codec algorhythm name),can anyone give me a hand,thanks!

source: 

Create the video encoder */ 

  hVe1 = Venc1_create(hEngine, envp->videoEncoder, params, dynParams);
    if (hVe1 == NULL) {        ERR("Failed to create video encoder: %s\n", envp->videoEncoder);        cleanup(THREAD_FAILURE);    } 

  • I would suggest you enable some tracing in your application that would give us an idea of what might be the reason. It could be out of memory or resources, or there may be issues with the codec implementation.

    First step would be to run  your app with CE_DEBUG=2 to get some information from codec engine:-

    http://processors.wiki.ti.com/index.php/CE_DEBUG

  • Dear, 

    Thank you for your answer,The text below is what I get accord to your suggestion.

    @1,424,560us: [+0 T:0x45512490 S:0x45511d14] OM - Memory_free> Enter(0x45513000, 0x0)

    @1,424,693us: [+0 T:0x45512490 S:0x45511cdc] OM - Memory_contigFree> Enter(addr=1162948608, size=0)

    @1,424,820us: [+1 T:0x45512490 S:0x45511cb4] OM - Memory__removeContigBuf> Enter(virtAddr=0x45513000, size=0)

    @1,424,941us: [+1 T:0x45512490 S:0x45511cb4] OM - Memory__removeContigBuf> ERROR: Failed to find matching cb.

    @1,425,052us: [+7 T:0x45512490 S:0x45511cdc] OM - Memory_contigFree> Error: buffer (addr=1162948608, size=0) not found in translation cache

    @1,425,176us: [+0 T:0x45512490 S:0x45511cdc] OM - Memory_contigFree> return (0x0)

    @1,425,286us: [+0 T:0x45512490 S:0x45511d14] OM - Memory_free> return (0x0)

    @1,425,408us: [+2 T:0x45512490 S:0x45511d34] ti.sdo.dmai - [Buffer] Free Buffer of size 0 at 0x45529000 (0x8b64c000 phys)

    @1,425,537us: [+0 T:0x45512490 S:0x45511d14] OM - Memory_free> Enter(0x45529000, 0x0)

    @1,425,657us: [+0 T:0x45512490 S:0x45511cdc] OM - Memory_contigFree> Enter(addr=1163038720, size=0)

    @1,425,780us: [+1 T:0x45512490 S:0x45511cb4] OM - Memory__removeContigBuf> Enter(virtAddr=0x45529000, size=0)

    @1,425,900us: [+1 T:0x45512490 S:0x45511cb4] OM - Memory__removeContigBuf> ERROR: Failed to find matching cb.

    @1,426,010us: [+7 T:0x45512490 S:0x45511cdc] OM - Memory_contigFree> Error: buffer (addr=1163038720, size=0) not found in translation cache 

     

    Do you have any ideas about what is the reason for the ERROR.

    Regards,

    - David

  • Hi  Chris ,

       I have set the value to 200,but it still did not work.If i change the server to cs.x64p(the codec is h264enc) it goes well, but when I change the server to allcodec(all.x64p with codec viddec_copy ) it goes wrong .

      As I can not modify h264enc codecs(the source code is not provided in dvsdk).So if I want to add my own video process algorithm ,the only way I found is to modify the viddec_copy according to the instruction of  ” Encode Demo for the DaVinci DVEVM/DVSDK 1.2 ".

      Can you give some instructions

  • dazhou why said:

    @1,424,560us: [+0 T:0x45512490 S:0x45511d14] OM - Memory_free> Enter(0x45513000, 0x0)

    @1,424,693us: [+0 T:0x45512490 S:0x45511cdc] OM - Memory_contigFree> Enter(addr=1162948608, size=0)

    @1,424,820us: [+1 T:0x45512490 S:0x45511cb4] OM - Memory__removeContigBuf> Enter(virtAddr=0x45513000, size=0)

    @1,424,941us: [+1 T:0x45512490 S:0x45511cb4] OM - Memory__removeContigBuf> ERROR: Failed to find matching cb.

    This error is caused by a Memory_free() call with a size of 0x0.  Clearly this won't match any existing entry in the contigbuf list since you can't allocate 0 bytes.

    Please try to find the source of this 0-byte Memory_free() call and we can take it from there.

    Regards,

    - Rob

     

  • Hi,Chris

         Firstly, thanks for your help ,the problem mentioned above under your guide.

    But I face another problem : under   codecs.videnc_copy   folder ,in the videnc_copy.c ,the following value " minSamples" =1 .As I used 720p vedio ,it  should be 184320.

    The source:

         minSamples = inBufs->bufSizes[curBuf] < outBufs->bufSizes[curBuf] ?inBufs->bufSizes[curBuf] : outBufs->bufSizes[curBuf];

    I'm confessed,can you give some tips.

    Thanks.

    Regards,

    -David

  • Sorry, but I don't understand the question.

    Are you saying you are now able to create the codec, and you now have a new question?  If yes, please start a new thread.

    Chris