]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - processor-sdk/gst-plugin-dsp66.git/blobdiff - src/kernels/oclconv/oclconv.cpp
Code cleanup
[processor-sdk/gst-plugin-dsp66.git] / src / kernels / oclconv / oclconv.cpp
index 7d070e1c3da51b5919adb1f08f49c29c436dcbc8..601ea32807d43646d94e49d0bb2e35032dd1d1b2 100644 (file)
 using namespace cl;
 using namespace std;
 
-static const int NumElements = 1920 * 1200; /* Maximum resolution */
-
-static cl_uchar src  [NumElements];
-static cl_uchar dst  [NumElements];
-
 static int oclconv_imgproc(char *kernelName, unsigned char *data_in, unsigned char *data_out, int width, int height, int sstride, int dstride)
 {
    cl_int err     = CL_SUCCESS;
-   int  bufsize = sizeof(src);
+   int  bufsize   = sstride * height * sizeof(unsigned char);
 #ifdef VERBOSE
    ofstream logfile;
    logfile.open ("/home/root/oclconv_log.txt", ios::out | ios::app); 
    logfile << "Entered oclconv_test, width=" << width << " height=" << height << " dstride=" << dstride << " sstride=" << sstride << '\n';
    logfile.close();
-#endif
-   unsigned char *ptr_src     = src;
-   unsigned char *ptr_data_in = data_in;
-   for (int y=0; y < height; y++)
-   {
-     memcpy (ptr_src, ptr_data_in, width);
-     ptr_src     += sstride;
-     ptr_data_in += sstride;
-   }
-#ifdef VERBOSE
-   logfile.open ("/home/root/oclconv_log.txt", ios::out | ios::app); 
-   logfile << "Transfer done, starting openCL specific commands" << '\n';
-   logfile.close();
 #endif
    try 
    {
@@ -89,29 +71,12 @@ static int oclconv_imgproc(char *kernelName, unsigned char *data_in, unsigned ch
 
      CommandQueue Q(context, devices[0], CL_QUEUE_PROFILING_ENABLE);
 
-     Q.enqueueWriteBuffer(bufA, CL_FALSE, 0, bufsize, src, NULL, &ev1);
-     //Q.enqueueNDRangeKernel(kernel, NullRange, NDRange(NumVecElements), 
-     //                       NDRange(WorkGroupSize), NULL, &ev3);
+     Q.enqueueWriteBuffer(bufA, CL_FALSE, 0, bufsize, data_in, NULL, &ev1);
      Q.enqueueTask (kernel, NULL, &ev3);
-     Q.enqueueReadBuffer (bufDst, CL_TRUE, 0, bufsize, dst, NULL, &ev4);
+     Q.enqueueReadBuffer (bufDst, CL_TRUE, 0, bufsize, data_out, NULL, &ev4);
    }
    catch (Error err) 
-   { cerr << "ERROR: " << err.what() << "(" << err.err() << ")" << endl; }
-#ifdef VERBOSE
-   logfile.open ("/home/root/oclconv_log.txt", ios::out | ios::app); 
-   logfile << "OpenCL done, start transfer to output array!" << '\n';
-   logfile.close();
-#endif
-
-   unsigned char *ptr_dst      = dst;
-   unsigned char *ptr_data_out = data_out;
-   for (int y=0; y < height; y++)
-   {
-     memcpy (ptr_data_out, ptr_dst, width);
-     ptr_dst      += dstride;
-     ptr_data_out += dstride;
-   }
-
+   { cerr << "ERROR: " << err.what() << "(" << err.err() << ")" << endl; return -1; }
 #ifdef VERBOSE
    logfile.open ("/home/root/oclconv_log.txt", ios::out | ios::app); 
    logfile << "Success!" << endl; 
@@ -120,6 +85,7 @@ static int oclconv_imgproc(char *kernelName, unsigned char *data_in, unsigned ch
    return 0;
 }
 
+
 #ifdef __cplusplus
 extern "C" {
 #endif