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.

Server.skelCachingPolicy for IUniversal with DMA

Expert 2030 points

I am using DMA in a custom video processing algorithm, based on universal_copy.

I don't want to use codec engine to manage caching for my codec, both before and after the process call, both for input and output buffers (because of DMA)

What should I set the skel scaching policy  in the server to? (NONE might cause issues with other codecs, so might not be an option)

I checked on the universal_skel.c file (below).

Will the line in red , where all inBufs and outBufs are invalidated before process call,  cause performance issues?

 

               if (SKEL_cachingPolicy == SKEL_LOCALBUFFERINVWB) {

                    /* invalidate cache for all input buffers */

                    for (i = 0, numBufs = 0; i < XDM_MAX_IO_BUFFERS; i++) {

                        if (inBufs.descs[i].buf != NULL) {

                            /* valid member of sparse array, manage it */

                            Memory_cacheInv(inBufs.descs[i].buf,

                                    inBufs.descs[i].bufSize);

 

                            if (++numBufs == inBufs.numBufs) {

                                break;

                            }

                        }

                    }

 

Is there manageInBufsCache for Iuniversal type algorithms, to manage cache policy before process call? Or is Iuniversal not recommended for algorithms that use DMA?

 

  • RV,

     

    manageInBufsCache, manageInOutBufsCache, and manageOutBufsCache have been added to the latest 3.21 pre-release of codec engine. You can find this here:

    http://www.sanb.design.ti.com/tisb_releases/Codec_Engine/3_21_00_14/

    Regards,

        Janet

     

  • RV,

    Sorry, but if you are using the latest EZSDK, it just went out with codec engine 3.21.00.13, so you will not have access to the latest codec engine with the manageInBufsCache feature. You could test the performance of your algorithms by setting Server.skelCachingPolicy = NONE, until this new feature is released.

    Regards,

        Janet

     

  • Great to know IUniversal is getting manageInBufsCache . I was going to override universal_skel to do this. Now I just have to wait till next release.

    Thanks much

     

    RV