Merge remote-tracking branch 'origin/2.4' into merge-2.4
authorRoman Donchenko <roman.donchenko@itseez.com>
Mon, 27 May 2013 12:58:04 +0000 (16:58 +0400)
committerRoman Donchenko <roman.donchenko@itseez.com>
Mon, 27 May 2013 12:58:04 +0000 (16:58 +0400)
Pull requests:
#904 from ograycode:2.4
#905 from bitwangyaoyao:2.4_TVL1
#902 from apavlenko:fix_run_py
#882 from pengx17:2.4_rewrite_query_info

Conflicts:
modules/nonfree/src/surf.ocl.cpp
modules/ocl/include/opencv2/ocl/private/util.hpp
modules/ocl/src/hog.cpp
modules/ocl/src/pyrlk.cpp
modules/ocl/src/tvl1flow.cpp

1  2 
modules/nonfree/src/surf.ocl.cpp
modules/ocl/include/opencv2/ocl/private/util.hpp
modules/ocl/src/opencl/arithm_mul.cl
modules/ocl/src/tvl1flow.cpp

Simple merge
@@@ -125,21 -124,22 +125,28 @@@ namespace c
          bool CV_EXPORTS support_image2d(Context *clCxt = Context::getContext());
  
          // the enums are used to query device information
 -        // currently only support wavefront size queries
          enum DEVICE_INFO
          {
-             WAVEFRONT_SIZE,
-             IS_CPU_DEVICE
+             WAVEFRONT_SIZE,             //in AMD speak
+             IS_CPU_DEVICE               //check if the device is CPU
          };
          template<DEVICE_INFO _it, typename _ty>
          _ty queryDeviceInfo(cl_kernel kernel = NULL);
+         //info should have been pre-allocated
+         template<>
+         int CV_EXPORTS queryDeviceInfo<WAVEFRONT_SIZE, int>(cl_kernel kernel);
+         template<>
+         size_t CV_EXPORTS queryDeviceInfo<WAVEFRONT_SIZE, size_t>(cl_kernel kernel);
+         template<>
+         bool CV_EXPORTS queryDeviceInfo<IS_CPU_DEVICE, bool>(cl_kernel kernel);
  
 +        //only these three specializations are implemented at the moment
 +        template<>
 +        int CV_EXPORTS queryDeviceInfo<WAVEFRONT_SIZE, int>(cl_kernel kernel);
 +        template<>
 +        size_t CV_EXPORTS queryDeviceInfo<WAVEFRONT_SIZE, size_t>(cl_kernel kernel);
 +        template<>
 +        bool CV_EXPORTS queryDeviceInfo<IS_CPU_DEVICE, bool>(cl_kernel kernel);
      }//namespace ocl
  
  }//namespace cv
Simple merge
@@@ -472,4 -472,8 +472,8 @@@ void ocl_tvl1flow::warpBackward(const o
      args.push_back( make_pair( sizeof(cl_int), (void*)&u2_offset_y));
  
      openCLExecuteKernel(clCxt, &tvl1flow, kernelName, globalThread, localThread, args, -1, -1);
 -}
+     releaseTexture(I1_tex);
+     releaseTexture(I1x_tex);
+     releaseTexture(I1y_tex);
 +}