previous implementation was not thread/stream safe, since it used constant
memory
new implementation doesn't use any global objects, so it is thread/stream safe
(cherry picked from commit 4f5d30a865bd45f144cc70aed1057ac500a72e0c)
Which also happens to align the non-Debian specific variables
with the ones used by upstream CMake.
(cherry picked from commit b8c60234c3fa94c31a3e2a72275fefa811c75d5c)
Conflicts:
cmake/OpenCVPackaging.cmake
They don't actually do anything. And even if they did, all components are
enabled by default, anyway.
(cherry picked from commit 49fe496914cca93f19dd61aa7b1c120037d65282)
FFmpeg now requires that frames allocated with avcodec_alloc_frame are
freed with avcodec_free_frame.
(cherry picked from commit 77578d415f4d2b22a4ee1989ef0afda73c9d649b)
superres module fails to compile with the following error messages:
[100%] Building CXX object modules/superres/CMakeFiles/opencv_superres.dir/src/super_resolution.cpp.o
/opencv-2.4.10/modules/superres/src/frame_source.cpp: In function 'cv::Ptr<cv::superres::FrameSource> cv::superres::createFrameSource_Video_GPU(const string&)':
/opencv-2.4.10/modules/superres/src/frame_source.cpp:263:16: error: expected type-specifier before 'VideoFrameSource'
/opencv-2.4.10/modules/superres/src/frame_source.cpp:263:16: error: could not convert '(int*)operator new(4ul)' from 'int*' to 'cv::Ptr<cv::superres::FrameSource>'
/opencv-2.4.10/modules/superres/src/frame_source.cpp:263:16: error: expected ';' before 'VideoFrameSource'
/opencv-2.4.10/modules/superres/src/frame_source.cpp:263:41: error: 'VideoFrameSource' was not declared in this scope
/opencv-2.4.10/modules/superres/src/frame_source.cpp:264:1: error: control reaches end of non-void function [-Werror=return-type]
cc1plus: some warnings being treated as errors
make[3]: *** [modules/superres/CMakeFiles/opencv_superres.dir/src/frame_source.cpp.o] Error 1
make[3]: *** Waiting for unfinished jobs....
This is caused because the return value of the createFrameSource_Video_GPU function should be a VideoFrameSource_GPU object.
(cherry picked from commit 2e393ab83362743ba1825ad4b31d4a2925c606b4)
Install symlinks to shared libraries as a part of development package,
not runtime package.
It is default behavior for debian packages.
(cherry picked from commit f55c1cc0fb390f88c91557cb443e932f459c5849)
This retains the desirable quality of not including paths to CUDA libraries
from the build system into the config files, and has two major advantages:
* It removes the need to use link_directories, which doesn't guarantee that
the libraries from the supplied directory will be used (there may be
libraries with the same names earlier in the search path).
* It removes the need to put -L entries into OPENCV_LINKER_LIBS. This variable
is used with target_link_libraries, where such entries are treated as linker
flags, so doing this is unportable. I remove the support for -L entries
from OpenCVGenPkgconfig.cmake, as well, to discourage adding them in the
future.