Implemented Kullback-Leibler divergence
optimized cv::setIdentity
increased number of rows per work-item
Optimization of cv::pyrDown for 8UC1.
optimized INTER_LINEAR mode
Use fma only for Intel devices
Fix cmake to build OpenCV framework on OSX
SSE2 optimization of magnitude calculation
Change global buffer to local
minor optimization of cv::LUT
SSE4.1 optimiation of cv::Moments CV_16U
Change groups count for Intel
Added call to clone() to avoid unexpected change to external data.
- Fix both stitching_detailed.cpp sample and cv::Stitcher.
Extract imgcodecs module from highgui
DShow camera as IVideoCapture object
Remove unused variable
Fixed test errors, added support for C data types.
Fixed truncation warning
Avoid unmap an umat(ocl) which hasn't been mapped at all.

According to opencl 1.2 spec 5.4.2:
  enqueues a command to unmap a previously mapped region of a memory object.
  ...
  CL_INVALID_VALUE if mapped_ptr is not a valid pointer returned by
  clEnqueueMapBuffer, or clEnqueueMapImage for memobj.

So if the u->data is not from a clEnqueueMapBuffer call, we should not
call clEnqueueUnmapMemObject() unmap it. With this patch, the cases
./opencv_test_video --gtest_filter=OCL_Video/FarnebackOpticalFlow.Mat/*
could work well with beignet 0.9.1, Otherwise, it will get a
CL_INVALID_VALUE at the clEnqueueUnmapMemObject().

Signed-off-by: Zhigang Gong <zhigang.gong@intel.com>
Merge pull request #2943 from vbystricky:highgui_imgcodecs