Monday, August 9, 2010

Weekly Report 12

Status and Accomplishment
  • Completed porting all of my algorithms to C6accel. Added new algorithm cvCvtColor() to support CV_RGB2GRY operation. Added VLIB support to C6accel library. Used VLIB_integralImage8() for cvIntegral() implementation. Added flag to control its use. User need to get VLIB access after requesting on www.ti.com/vlibrequest. Implemented chaining of OpeCV APIs cvCvtColor() and cvSobel(). DSP_cvCvtColor_cvSobel() demonstrates this implementation. This scheme reduces codec-engine overhead between API calls.
  • Worked on the documentation of API and procedure to add new API to the existing library. Following is the links to documentation http://code.google.com/p/opencv-dsp-acceleration/wiki/API_DOCUMENTATION and http://code.google.com/p/opencv-dsp-acceleration/wiki/Procedure_To_add_other_OpenCV_Algorithms
  • Worked on the application to demonstrate the use of these API.
  • All the API call now has almost constant execution time of ~380 usec for establishing asynchronous DSP function call. The ARM and DSP should be synchronized using DSP_cvSyncDSP() before output is accessed. This can give performance boost up of greater than 10x in any algorithm for image size of 640x480 if data dependency is tackeled in application wisely.
  • Waiting for C6accel tag to be created before releasing code for evaluation.
Plans
  • Refine document.
  • Review of code.
  • Look into DFT algorithm to avoid race condition as I am able to see result only when CE_DEBUG=3.
Blockers
  • Some suggestion on my issue with DFT algorithm, as mentioned in Plans section, would be helpful.

No comments:

Post a Comment