mirror of
https://github.com/opencv/opencv.git
synced 2024-11-29 13:47:32 +08:00
dcaf923517
Conflicts: 3rdparty/ffmpeg/ffmpeg_version.cmake cmake/OpenCVFindLibsGrfmt.cmake cmake/templates/cvconfig.h.cmake modules/bioinspired/doc/retina/index.rst modules/calib3d/doc/camera_calibration_and_3d_reconstruction.rst modules/calib3d/src/precomp.hpp modules/contrib/src/inputoutput.cpp modules/contrib/src/precomp.hpp modules/core/include/opencv2/core/internal.hpp modules/core/include/opencv2/core/types_c.h modules/core/src/drawing.cpp modules/core/src/precomp.hpp modules/core/src/system.cpp modules/features2d/doc/common_interfaces_of_descriptor_matchers.rst modules/features2d/doc/common_interfaces_of_feature_detectors.rst modules/features2d/include/opencv2/features2d/features2d.hpp modules/features2d/src/precomp.hpp modules/flann/src/precomp.hpp modules/gpu/doc/camera_calibration_and_3d_reconstruction.rst modules/gpu/doc/image_filtering.rst modules/gpu/doc/image_processing.rst modules/gpu/doc/video.rst modules/gpu/perf/perf_imgproc.cpp modules/gpu/perf4au/main.cpp modules/gpu/src/imgproc.cpp modules/gpu/src/precomp.hpp modules/gpu/test/test_imgproc.cpp modules/highgui/CMakeLists.txt modules/highgui/test/test_precomp.hpp modules/imgproc/doc/structural_analysis_and_shape_descriptors.rst modules/imgproc/src/precomp.hpp modules/java/generator/src/cpp/Mat.cpp modules/legacy/src/precomp.hpp modules/ml/doc/k_nearest_neighbors.rst modules/ml/src/precomp.hpp modules/nonfree/doc/feature_detection.rst modules/nonfree/src/precomp.hpp modules/objdetect/include/opencv2/objdetect/objdetect.hpp modules/objdetect/src/cascadedetect.cpp modules/objdetect/src/hog.cpp modules/objdetect/src/precomp.hpp modules/objdetect/test/test_latentsvmdetector.cpp modules/ocl/src/hog.cpp modules/ocl/src/opencl/objdetect_hog.cl modules/ocl/src/precomp.hpp modules/photo/src/precomp.hpp modules/stitching/src/precomp.hpp modules/superres/perf/perf_precomp.hpp modules/superres/src/optical_flow.cpp modules/superres/src/precomp.hpp modules/superres/test/test_precomp.hpp modules/ts/include/opencv2/ts.hpp modules/video/src/precomp.hpp modules/videostab/src/precomp.hpp modules/world/src/precomp.hpp |
||
---|---|---|
.. | ||
ffmpeg_version.cmake | ||
ffopencv.c | ||
make.bat | ||
opencv_ffmpeg_64.dll | ||
opencv_ffmpeg.dll | ||
readme.txt |
The build script is to be fixed. Right now it assumes that 32-bit MinGW is in the system path and 64-bit mingw is installed to c:\Apps\MinGW64. It is important that gcc is used, not g++! Otherwise the produced DLL will likely be dependent on libgcc_s_dw2-1.dll or similar DLL. While we want to make the DLLs with minimum dependencies: Win32 libraries + msvcrt.dll. ffopencv.c is really a C++ source, hence -x c++ is used. How to update opencv_ffmpeg.dll and opencv_ffmpeg_64.dll when a new version of FFMPEG is release? 1. Install 32-bit MinGW + MSYS from http://sourceforge.net/projects/mingw/files/Automated%20MinGW%20Installer/mingw-get-inst/ Let's assume, it's installed in C:\MSYS32. 2. Install 64-bit MinGW. http://mingw-w64.sourceforge.net/ Let's assume, it's installed in C:\MSYS64 3. Copy C:\MSYS32\msys to C:\MSYS64\msys. Edit C:\MSYS64\msys\etc\fstab, change C:\MSYS32 to C:\MSYS64. 4. Now you have working MSYS32 and MSYS64 environments. Launch, one by one, C:\MSYS32\msys\msys.bat and C:\MSYS64\msys\msys.bat to create your home directories. 4. Download ffmpeg-x.y.z.tar.gz (where x.y.z denotes the actual ffmpeg version). Copy it to C:\MSYS{32|64}\msys\home\<loginname> directory. 5. To build 32-bit ffmpeg libraries, run C:\MSYS32\msys\msys.bat and type the following commands: 5.1. tar -xzf ffmpeg-x.y.z.tar.gz 5.2. mkdir build 5.3. cd build 5.4. ../ffmpeg-x.y.z/configure --enable-w32threads 5.5. make 5.6. make install 5.7. cd /local/lib 5.8. strip -g *.a 6. Then repeat the same for 64-bit case. The output libs: libavcodec.a etc. need to be renamed to libavcodec64.a etc. 7. Then, copy all those libs to <opencv>\3rdparty\lib\, copy the headers to <opencv>\3rdparty\include\ffmpeg_. 8. Then, go to <opencv>\3rdparty\ffmpeg, edit make.bat (change paths to the actual paths to your msys32 and msys64 distributions) and then run make.bat