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.

CE_CHECK in Codec Engine 2.23

I read Chris Ring's blog post about CE_CHECK (http://e2e.ti.com/blogs_/b/codec_engine/archive/2010/06/13/tools-and-tips-ce-check.aspx) and I was concerned that I might be losing some performance in my application using a modified video decode codec.  My question is - how do I ensure that CE_CHECK is off using Codec Engine 2.23?

Thanks,

Jason

  • Since it is just an environment variable, you can simply query its value:
        % echo $CE_CHECK

    If it is defined you will see its value printed.  If it's not defined then you will see:
        csh:
                  % echo $CE_CHECK
                  CE_CHECK: Undefined variable
                  %
        sh:
                $ echo $CE_CHECK
                
                $

    Regards,

    - Rob

  • Unfortunately, it's a little more complicated than that.  The performance-heavy checking code is only called when the runtime function VISA_isChecked() returns TRUE.  You could call the same fxn in your app to see whether checking is enabled.  This fxn isn't currently documented in the API guide, but is in ti/sdo/ce/visa.h which you could #include to get the fxn prototype.

    Since you name-dropped my blog, I'll throw in a little more...  ;)

    There are currently 2 supported ways to turn on checking - 1) at config time, by setting xdc.useModule('ti.sdo.ce.Settings').checked = true;, and 2) set CE_CHECK in the executable's environment.  These are documented on the CE_CHECK wiki article.  The first option enables the system integrator to configure the default (typically they keep the default, which is to disable the checking!), and the second option enables the user to override this default behavior without requiring the executable to be rebuilt.

    Further, on multi-core systems, there are multiple executables that can enable/disable this checking behavior - the app executable and the server executable.  The checking therefore can be enabled at 2 call sites - 1) the app-side VISA call, and 2) the remote-side invocation of the same VISA call.  So, to be complete, there are two calls to VISA_isChecked(), one on the app side and the other on the server side.  And the values _could_ be configured differently for the different sides(!).

    To be _really_ sure there's no extra checking going on, you could call VISA_isChecked() in both your app's main() as well as your server's main() fxns (to be safe, do it after calling CERuntime_init()).  Or, if you snooped at the static inline fxn implementation for VISA_isChecked() visa.h, you could inspect the value of the VISA_checked Boolean variable.

    Chris