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.

About G.711A codec on DM6467

As we know that DM6467 contain a C64+ DSP, I compared performance of G.711A codec through JTAG with TI's cycles information- profiled on DM6446.

What made me amazing is that the cycles I got on DM6467 was much less than cycles in TI's datasheet, the gap between them is relative large. But I've tested in the same way with G.722 and G.726 codec, the results were similar with TI's .

Can somebody tell me why G.711A codec was so different?

Many Thanks

  • Hello,

       Can you please let me know the amount of cycle difference you are observing? As you know, G711 is sample based codec and frame size can be configured. You may see some difference in cycles/sec depending on the configured frame size. More the frame size, you will see better average/sec since DM6467 is cache based platform. Another factor is cache invalidation. We measured cycles with program/data cache invalidated after each frame. Anyway, G711 takes considerably lower cycles compared to other codecs. 

    regards,

    Venkat     

  • Hi Venkat,

      Thanks for your reply.

      The cycle I've obsered was about 890/frame(frame size=80 samples), that means 0.089M cycles/sec, while the cycle info in datasheet is 0.22M cycles/sec.

      The reuslts I make by code bellow:

                      time0=TSC_read();

                        /* basic G711 encoding call */
                       retVal = handle->fxns->process (handle,
                                          &inBufs,
                                          &outBufs,
                                          &inargs,
                                          &outargs);

                      time1=TSC_read();

      So, the encode cycles for each frame is: time1-time0. Would you please tell me that is there any problem for the method I used?

      I also saw cache invalidation before process() funciton.

     

    Best regards

    Shaofei