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?
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 $
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.
All content and materials on this site are provided "as is". TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with regard to these materials, including but not limited to all implied warranties and conditions of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with respect to these materials. No license, either express or implied, by estoppel or otherwise, is granted by TI. Use of the information on this site may require a license from a third party, or a license from TI.
TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs andembedded processors, along with software, tools and the industry’s largest sales/support staff.