2250 Commits

Autor SHA1 Mensagem Data
Andrey Pavlenko 296f76a135 Merge pull request #1756 from alalek:ocl_workaround_memory_leaks_with_subbuffer 2013-11-06 18:26:39 +04:00
Andrey Pavlenko 9afe65e5c0 Merge pull request #1758 from apavlenko:adaptive_bilateral_filter 2013-11-06 18:09:49 +04:00
Roman Donchenko bca63083a8 Merge pull request #1757 from asmorkalov:android_manager_version_inc2 2013-11-06 17:50:20 +04:00
Harris Gasparakis a1de91a4fd Cleaned up adaptive bilateral filtering, added support for gaussian interpolation, updated sample and docs 2013-11-06 16:48:50 +04:00
Roman Donchenko 370235c07b Merge pull request #1711 from SpecLad:cap-broken-mat 2013-11-06 14:53:08 +04:00
Alexander Smorkalov 24f369c4ac Android Manager Version++. 2013-11-06 14:24:18 +04:00
Alexander Alekhin 03646e7e01 ocl: workaround for subbuffer memory leaks 2013-11-06 14:02:41 +04:00
Andrey Pavlenko 43c9157220 Merge pull request #1750 from alalek:ocl_update_documentation 2013-11-06 13:32:00 +04:00
Andrey Pavlenko a3fa7a243d Merge pull request #1740 from ilya-lavrenov:ocl_corners 2013-11-06 13:31:44 +04:00
Andrey Pavlenko 95767676b7 Merge pull request #1739 from pengx17:2.4_ocl_overload_haar 2013-11-06 13:31:11 +04:00
Roman Donchenko 5c44afa427 Merge pull request #1743 from ilya-lavrenov:ocl_repeat 2013-11-06 13:24:22 +04:00
peng xiao 53d1873776 Revert back test image. 2013-11-06 11:19:26 +08:00
Alexander Alekhin 3952a0df44 ocl: update comments in ocl.hpp 2013-11-05 23:53:52 +04:00
Alexander Alekhin 5a333bfff4 ocl: update documentation 2013-11-05 23:53:51 +04:00
Andrey Pavlenko be37d99567 Merge pull request #1752 from alalek:ocl_memory_cleanup_workaround 2013-11-05 23:49:37 +04:00
Andrey Pavlenko 14c3560750 Merge pull request #1751 from ilya-lavrenov:ocl_copyMakeBorder_test_fix 2013-11-05 23:49:12 +04:00
Andrey Pavlenko 14b2eed17b Merge pull request #1745 from alalek:ocl_fix_svm_with_blas 2013-11-05 23:48:42 +04:00
Alexander Alekhin 691d5f4187 ocl: memory cleanup workaround: clFinish() before clReleaseMemObject() + 64kb memory guard 2013-11-05 19:43:07 +04:00
Roman Donchenko f2241e3d26 Merge pull request #1749 from SpecLad:update-ignore 2013-11-05 19:41:29 +04:00
Ilya Lavrenov e544e34eed fixed ocl::copyMakeBorder accuracy test 2013-11-05 18:23:34 +04:00
Alexander Alekhin 7704dbf866 ocl: svm: restore non BLAS version 2013-11-05 15:15:26 +04:00
Alexander Alekhin 9a63508f50 Revert "disable SVM when AMD BLAS is not available"
This reverts commit d63a38e9bf.

Conflicts:
	modules/ocl/test/test_ml.cpp
2013-11-05 15:13:30 +04:00
Ilya Lavrenov e7e7e04dce came back to relative error 2013-11-05 14:17:31 +04:00
Roman Donchenko 4203979c87 Sorted .gitignore. 2013-11-05 13:41:42 +04:00
Roman Donchenko ec77434190 Update .gitignore.
* OpenCV4Tegra/ is no longer relevant.
* We should only ignore the particular refman.rst that we generate.
2013-11-05 13:37:01 +04:00
Ilya Lavrenov 2df53d97c5 added ocl::repeat 2013-11-05 12:23:20 +04:00
peng xiao 2a111f7a6c Let perf/accuracy test of ocl haar uses detectMultiScale api.
Fix image to be used by perf test.
2013-11-05 10:40:27 +08:00
Ilya Lavrenov c89dfd333c fixed warnings in OpenCL kernels 2013-11-04 15:30:00 +04:00
Ilya Lavrenov a8426e1c12 fixed ocl::cornerHarris, ocl::cornerMinEigenVal and their accuracy tests 2013-11-04 15:16:00 +04:00
peng xiao 8c1eb5bf0e Overload detectMultiScale API for ocl::haar. 2013-11-04 14:59:28 +08:00
Andrey Pavlenko dd942df08b Merge pull request #1736 from alalek:ocl_fix_corner_memory_access 2013-11-01 18:37:35 +04:00
Andrey Pavlenko 2767be9a5e Merge pull request #1731 from perping:2.4_haar 2013-11-01 16:46:18 +04:00
Roman Donchenko 9d263db8aa Merge pull request #1734 from asmorkalov:android_manager_version_inc 2013-11-01 16:39:43 +04:00
Alexander Alekhin 99ae9d9cc1 ocl: corner*: fix memory access in kernels; change error check to relative 2013-11-01 16:38:04 +04:00
Andrey Pavlenko 6c21b85fce Merge pull request #1733 from ilya-lavrenov:cv_remap 2013-11-01 15:53:21 +04:00
Andrey Pavlenko ba5dac2edb Merge pull request #1732 from alalek:ocl_blendLinear 2013-11-01 15:53:03 +04:00
Alexander Smorkalov f027cf80f7 OpenCV Version++. OpenCV Manager Version++. 2013-11-01 15:22:34 +04:00
Ilya Lavrenov 5546f4d77f consistency SSE2 and plain versions of convertMaps and remap 2013-11-01 14:50:41 +04:00
Alexander Alekhin 3b293d6855 ocl: fix testdata for blendLinear 2013-11-01 14:44:13 +04:00
perping af77111cd6 remove whitespace. 2013-11-01 17:53:35 +08:00
Roman Donchenko e7e6d9d63c Merge pull request #1729 from ilya-lavrenov:ocl_moments 2013-11-01 11:56:49 +04:00
Roman Donchenko a9a39a3aa2 Merge pull request #1730 from ilya-lavrenov:ocl_kern_warn 2013-11-01 11:52:09 +04:00
Roman Donchenko b1bed14ebc Merge pull request #1728 from apavlenko:refactor_vcap_jni 2013-11-01 11:39:44 +04:00
perping af33c118b4 fixed a bug of haar. 2013-11-01 14:07:10 +08:00
Ilya Lavrenov a8b7573db0 fixed ocl::Moments test 2013-11-01 00:09:11 +04:00
Ilya Lavrenov 1f9ab2e0ca fixed warnings in ocl kernels 2013-10-31 23:48:02 +04:00
Andrey Pavlenko dfa5a27bee Merge pull request #1727 from ilya-lavrenov:ocl_warpPerspective 2013-10-31 15:32:34 +04:00
Andrey Pavlenko fbabc323ed Merge pull request #1726 from melody-rain:2.4_tvl1_ocl 2013-10-31 14:03:36 +04:00
Andrey Pavlenko bf58049d11 Merge pull request #1724 from ilya-lavrenov:ocl_thresh 2013-10-31 13:55:04 +04:00
Andrey Pavlenko e80f5bed2d Merge pull request #1710 from melody-rain:2.4_moments_ocl 2013-10-31 13:54:46 +04:00
Ilya Lavrenov c8aed4996e fixed ocl::warpPerspective 2013-10-31 13:53:11 +04:00
Andrey Pavlenko a88360bea6 minor refactoring of Android VideoCapture jni code to make it similar to generated one 2013-10-31 12:42:12 +04:00
Jin Ma 3dbcd05407 fixed a typo. 2013-10-31 16:25:50 +08:00
Jin Ma 145ece8f9c removed test for double since not all platforms support double, thus the sanity check cannot pass on all the platforms. 2013-10-31 16:21:08 +08:00
Jin Ma 599cf6bea0 Resolved a bug and used ocl::multiply. 2013-10-31 16:09:33 +08:00
Ilya Lavrenov 1d5f5d2364 vectorized ocl::threshold for single channel images 2013-10-31 12:00:53 +04:00
Jin Ma 1bb47f4bdf modified the copyright info. 2013-10-31 08:47:59 +08:00
Andrey Pavlenko ef9f690598 Merge pull request #1709 from ilya-lavrenov:ocl_cornerharris 2013-10-31 00:22:37 +04:00
Andrey Pavlenko 5795bb326d Merge pull request #1723 from ilya-lavrenov:ocl_norm 2013-10-31 00:21:29 +04:00
Andrey Pavlenko ead37e4a29 Merge pull request #1721 from alalek:ocl_fix_filter2D_64F_kernel 2013-10-31 00:21:10 +04:00
Andrey Pavlenko 68c916aa26 Merge pull request #1719 from ilya-lavrenov:ocl_gaussianBlur 2013-10-31 00:20:51 +04:00
Andrey Pavlenko 089cf423a0 Merge pull request #1717 from alalek:ocl_adjust_worksize 2013-10-31 00:20:34 +04:00
Andrey Pavlenko 9751b3204d Merge pull request #1715 from asmorkalov:android_java_bincompat_fix 2013-10-31 00:04:03 +04:00
Roman Donchenko 27ae6eb1f4 Merge pull request #1720 from SpecLad:cmp0017 2013-10-30 17:46:33 +04:00
Roman Donchenko 2f4d68c746 Merge pull request #1718 from SpecLad:have-opencv-ocl 2013-10-30 17:33:03 +04:00
Ilya Lavrenov 16df5b007d disabled upload and download perf tests 2013-10-30 17:08:57 +04:00
Ilya Lavrenov c674d3cf49 fixed ocl::norm (with NORM_RELATIVE specified) when norm(src2) == 0 2013-10-30 16:48:12 +04:00
Alexander Alekhin 0104f59feb ocl: filter2D: fix processing of kernel with double datatype 2013-10-30 16:27:46 +04:00
Roman Donchenko 104b14e0e0 Fixed CMake warnings/bugs caused by #1670 and #1714
include() doesn't create a variable scope, so the settings of
CMAKE_MODULE_PATH and CMAKE_FIND_ROOT_PATH_MODE_* were polluting
everything included after OpenCVDetectCUDA.cmake.

Also, FindCUDA includes FindPackageHandleStandardArgs, which includes
CMakeParseArguments, which causes warnings related to policy CMP0017.
Setting it to NEW seems safe enough.
2013-10-30 16:21:50 +04:00
Roman Donchenko c70fbb95a3 Merge pull request #1712 from alalek:ocl_split 2013-10-30 16:18:50 +04:00
Ilya Lavrenov 8dfde47f89 changed eps in ocl::GaussianBlur test 2013-10-30 16:04:48 +04:00
Alexander Alekhin 7b0f018a74 ocl: adjust worksize for filter2D and boxFilter 2013-10-30 15:30:47 +04:00
Roman Donchenko 4bc105c40b Merge pull request #1652 from nghiaho12:kalman 2013-10-30 15:11:26 +04:00
Alexander Alekhin 50d2c1066b ocl: split: update tests and implementation 2013-10-30 14:08:37 +04:00
Roman Donchenko d07e7897a0 Fixed building with OpenCL, but without the ocl module.
HAVE_opencv_ocl implies HAVE_OPENCL, so checking for both is not
necessary.
2013-10-30 14:07:34 +04:00
Roman Donchenko 8a4f1bbbdf Merge pull request #1714 from jet47:find-cuda-fix 2013-10-30 13:27:41 +04:00
Alexander Smorkalov 994e07db07 Bug #3276 Java bindings binary compatibility is broken in branch 2.4 fixed.
New version of Java wrappers' generator uses different wrappers for VideoCapture
on Android and desktop to prevent binary compatibility issues.
2013-10-30 12:51:49 +04:00
Roman Donchenko d11921f1a4 Merge pull request #1675 from krodyush:opencl-optimization 2013-10-30 12:28:31 +04:00
Roman Donchenko 9f162cb8d3 Merge pull request #1713 from pengx17:patch-2 2013-10-30 12:27:11 +04:00
Vladislav Vinogradov 5e75a22559 fixed find package CUDA for cross-compilation
replaced find_host_package with find_package and
set CMAKE_FIND_ROOT_PATH_MODE_LIBRARY to BOTH, because NEVER 
doesn't work for CUDA_CUDA_LIBRARY, which is located in 
/usr/arm-linux-gnueabihf/lib/libcuda.so for ARM
2013-10-30 12:10:35 +04:00
Jin Ma 7469c2eb9d fixed a bug when double is not supported. 2013-10-30 14:37:13 +08:00
Peng Xiao 252f13f53e Fix a typo 2013-10-30 10:36:28 +08:00
Ilya Lavrenov bf6b5ee925 fixed extrapolation for ocl::cornerMinEigenVal and ocl::cornerHarris; enabled CV_32FC1 for the first function 2013-10-29 19:59:21 +04:00
Roman Donchenko d6a7a6d503 VideoCapture: copy the captured frame, to avoid dangling Mats
Previously, VideoCapture::retrieve would return a Mat that referenced
the internal IplImage. Since the latter is rewritten every time a
frame is captured, it means that if the user captures two frames in a row,
the first frame would reference nothing. Similar if a user captures a frame,
then destroys the VideoCapture instance.

Note that the other branch of the if isn't affected, since flip allocates
a new Mat.
2013-10-29 18:47:08 +04:00
Jin Ma b6b190df5c Rewrote moments of opencl version. 2013-10-29 18:05:29 +08:00
Roman Donchenko 957c85e9c4 Merge pull request #1670 from jet47:cuda-cmake-fix 2013-10-29 13:24:14 +04:00
Andrey Pavlenko c5e8a9a29b Merge pull request #1702 from alalek:ocl_memory_corruption_check 2013-10-29 11:07:04 +04:00
Andrey Pavlenko c6a01f2641 Merge pull request #1688 from alalek:ocl_fix_filters 2013-10-29 11:05:10 +04:00
Andrey Pavlenko ea64589164 Merge pull request #1687 from bitwangyaoyao:2.4_fix 2013-10-29 11:03:34 +04:00
Andrey Pavlenko f4b8babbc8 Merge pull request #1677 from pengx17:patch-1 2013-10-29 11:00:26 +04:00
Andrey Pavlenko 42c4f91ef4 Merge pull request #1495 from StevenPuttemans:bugfix_3282 2013-10-29 10:51:01 +04:00
Andrey Pavlenko 9bfa346c38 Merge pull request #1544 from ilya-lavrenov:ocl_blendLinear 2013-10-29 10:49:46 +04:00
Andrey Pavlenko e52459a324 Merge pull request #1708 from ilya-lavrenov:ocl_threshold 2013-10-29 10:43:44 +04:00
Andrey Pavlenko 106d5eda5f Merge pull request #1700 from ilya-lavrenov:ocl_bitwise_perf 2013-10-29 10:43:27 +04:00
Andrey Pavlenko acadfcff2d Merge pull request #1707 from ilya-lavrenov:ocl_morph 2013-10-29 10:38:23 +04:00
Andrey Pavlenko 2b05dc7d1e Merge pull request #1699 from ilya-lavrenov:ocl_minMax 2013-10-29 10:35:58 +04:00
Andrey Pavlenko 5fa6d70ab0 Merge pull request #1695 from ilya-lavrenov:ocl_showDiff 2013-10-29 10:35:42 +04:00
Ilya Lavrenov c49c3e0a91 fixed and generalized ocl::blendLinear 2013-10-28 23:56:40 +04:00
Ilya Lavrenov 58be2546ca fixed OpenCL morph operations for case when kernel does not have zero element 2013-10-28 20:09:49 +04:00
Alexander Alekhin b10e1e5c7e ocl: filters: update documentation 2013-10-28 20:09:49 +04:00
Alexander Alekhin 98f73705df ocl: fix morph filters 2013-10-28 20:09:49 +04:00
Alexander Alekhin 0f95f0d8b3 ocl: rewrite filter2D 2013-10-28 20:09:49 +04:00
Alexander Alekhin 0bf9ece998 ocl: rewrite boxFilter 2013-10-28 20:09:49 +04:00
Alexander Alekhin cb6ea8bfa1 ocl: update filter tests 2013-10-28 20:09:49 +04:00
Roman Donchenko 529f086b62 Merge pull request #1691 from SpecLad:ffmpeg-test 2013-10-28 19:35:08 +04:00
Alexander Alekhin 447c052e59 ocl: memory corruption check 2013-10-28 19:33:00 +04:00
Roman Donchenko 766a3511c6 Merge pull request #1706 from ilya-lavrenov:example_fix 2013-10-28 19:05:19 +04:00
Andrey Pavlenko 95bd32b516 Merge pull request #1705 from ilya-lavrenov:ocl_flip 2013-10-28 19:02:24 +04:00
Andrey Pavlenko bb15c00665 Merge pull request #1703 from bitwangyaoyao:2.4_fix1480 2013-10-28 19:01:51 +04:00
Andrey Pavlenko d3c0b36cd0 Merge pull request #1701 from alalek:ocl_fix_canny 2013-10-28 19:01:13 +04:00
Andrey Pavlenko 1cc58f9770 Merge pull request #1698 from ilya-lavrenov:ocl_warp 2013-10-28 18:59:08 +04:00
Ilya Lavrenov 7afbae57ba fixed ocl::minMax for FP-types 2013-10-28 18:49:16 +04:00
Ilya Lavrenov eb2f8a2948 ocl tests: show diff when cv::countNonZero(diff) > 0 2013-10-28 18:20:02 +04:00
Ilya Lavrenov 1f7f9c9682 rewrote and generalized ocl::threshold 2013-10-28 18:11:24 +04:00
Ilya Lavrenov e70dfe5a50 fixed OpenCL morph operations for case when kernel does not have zero element 2013-10-28 16:46:41 +04:00
Ilya Lavrenov ee8f0a3f36 ocl example typo 2013-10-28 14:09:30 +04:00
Ilya Lavrenov cf5df1a7e7 fixed ocl::flip 2013-10-28 13:57:29 +04:00
Roman Donchenko d3bcf609f1 Merge pull request #1657 from KonstantinMatskevich:ocldistanceToCenters 2013-10-28 13:46:32 +04:00
yao 0fd872bfa9 fix bug #1480 2013-10-28 17:36:43 +08:00
yao 632452cdd8 fix the mismatch running on cpu devices 2013-10-28 16:32:46 +08:00
Roman Donchenko 88f5ef9acc Merge pull request #1696 from apavlenko:fix_typo_GpuMaterials 2013-10-28 12:18:42 +04:00
Peng Xiao ab2bd58f5c Fixed a missing barrier. 2013-10-28 14:17:59 +08:00
Vladislav Vinogradov 06c1f9a329 added own version of FindCUDA.cmake 2013-10-28 10:09:16 +04:00
konstantin 973137c78e fix bugs on host and device sides for imgprog_sobel3.cl 2013-10-28 00:14:07 +04:00
Alexander Alekhin eb4f50ca59 ocl: Canny: port CUDA-based implementation of edgesHysteresisLocal 2013-10-28 00:10:47 +04:00
Ilya Lavrenov 900c303636 added performance tests for ocl::bitwise_or and ocl::bitwose_xor 2013-10-27 20:08:50 +04:00
Alexander Alekhin 9e527fc9f4 ocl: Canny: replace unsafe buffer to oclMat 2013-10-27 18:55:42 +04:00
Ilya Lavrenov 839245e420 fixed tests for ocl::warpAffine and ocl::warpPerspective 2013-10-27 14:49:37 +04:00
konstantin ddd2b106fb rename imageproc_sobel2.cl -> imageproc_sobel3.cl for consistency 2013-10-25 21:44:01 +04:00
Roman Donchenko c1223f8dac Merge pull request #1697 from SpecLad:sdk-redux 2013-10-25 20:32:04 +04:00
Andrey Pavlenko 66e5be2d64 Merge pull request #1655 from pengx17:2.4_opt_superres_ocl 2013-10-25 19:47:38 +04:00
Andrey Pavlenko fc64a4071c Merge pull request #1689 from ilya-lavrenov:ocl_bilateralFilter 2013-10-25 19:41:56 +04:00
Andrey Pavlenko 4e57f92e6e Merge pull request #1692 from ilya-lavrenov:ocl_separableFilter 2013-10-25 19:39:21 +04:00
Andrey Pavlenko d60924f4f2 Merge pull request #1694 from apavlenko:fix_typo 2013-10-25 19:35:19 +04:00
Andrey Pavlenko 92c43a8646 Merge pull request #1693 from ilya-lavrenov:ocl_adaptiveBilateralFilter 2013-10-25 19:34:33 +04:00
Roman Donchenko 90f8906e1e Merge pull request #1690 from SpecLad:cmake-2.8.12 2013-10-25 19:24:58 +04:00
Roman Donchenko c016c43d25 Fixed Android SDK build - again. 2013-10-25 19:12:32 +04:00
Andrey Pavlenko 2e5db6e56c fixing typo 2013-10-25 18:53:24 +04:00
Andrey Pavlenko 2b6fca68bf fixing typo 2013-10-25 18:00:46 +04:00
Roman Donchenko 55ede74022 Merge pull request #1680 from alalek:cmake_fix_android_builds 2013-10-25 17:32:34 +04:00
Ilya Lavrenov e1596d69cc fixed extrapolation in ocl::adaptiveBilateralFilter 2013-10-25 17:29:21 +04:00
Alexander Alekhin 7a8f9fe746 cmake: fix android installation for different NDK ABIs 2013-10-25 17:17:00 +04:00
Ilya Lavrenov b33a62beb0 fixed separable filter extrapolation 2013-10-25 17:08:44 +04:00
Roman Donchenko 36b5180aa1 Another FFmpeg fix from master.
From commit dd74a851, to be exact. Now cap_ffmpeg.cpp should actually
build if HAVE_FFMPEG is true.

Also modified some gpu sources in a similar manner.
2013-10-25 16:08:14 +04:00
peng xiao 68a8a11161 Rewrite distanceToCenters.
It supports NORM_L1 distance types now and can
use user provided indices.
Also fixed a bug of kmeans where distance pointers should be float instead
 of double.

NORM_L2 changed to NORM_L2SQR, Accuracy and Perf tests are added

added ROI support in accuracy test of distanceToCenters
2013-10-25 15:02:00 +04:00
Roman Donchenko 1188894133 Fixed indentation in CV_FFmpegWriteBigVideoTest::run. 2013-10-25 14:37:54 +04:00
Roman Donchenko 2ca49eef37 Added stupid hacks to make the video tests pass with FFmpeg 2.0.2.
Need to go back at some point and fix this for real.

(cherry picked from commit dfe07df87b)
2013-10-25 14:34:02 +04:00
Roman Donchenko 5a5d569d72 Changed MPEG-2 resolution in the FFmpeg test.
Newer FFmpeg prohibits 4096x4096 MPEG-2, presumably because it violates
the standard.

http://git.videolan.org/gitweb.cgi/ffmpeg.git/?p=ffmpeg.git;a=commit;h=7fb87bc5f24b1be13269109506c05e4c54695b5e

(cherry picked from commit 424a7b0ab0)

Conflicts:
	modules/highgui/test/test_ffmpeg.cpp
2013-10-25 14:31:27 +04:00
Roman Donchenko 260c2e0b08 Decoupled test_ffmpeg.cpp from ffmpeg_codecs.hpp.
(cherry picked from commit 3f3ae33327)
2013-10-25 14:29:37 +04:00
Roman Donchenko d3af86c0ea Added the missing setting of HAVE_FFMPEG to true on Windows.
While the FFmpeg video IO backend gets compiled even without it,
the tests (for both FFmpeg and video IO) don't. This should fix
that.
2013-10-25 14:22:07 +04:00
Roman Donchenko 76b904b022 Replaced our usage of LINK_PRIVATE with that of LINK_INTERFACE_LIBRARIES.
The reasons for that are twofold:

1) LINK_PRIVATE is only available since CMake 2.8.7.
2) The way it was used generated a warning because of CMake policy CMP0023:

   http://www.cmake.org/cmake/help/v2.8.12/cmake.html#policy:CMP0023

Using LINK_INTERFACE_LIBRARIES actually causes another warning - this time
because of CMake policy CMP0022:

   http://www.cmake.org/cmake/help/v2.8.12/cmake.html#policy:CMP0022

I set the policy to OLD, because NEW means subtle changes when compiling
with CMake 2.8.12, and I don't want to research that this close to release.
:-)

I also removed the setting of CMP0003, because it's set by
cmake_minimal_version anyway.
2013-10-25 14:19:02 +04:00
Roman Donchenko e1c8f5d723 Removed a stray comma in the Android toolchain file.
It was actually acting as an additional argument, breaking the error message.
2013-10-25 13:50:22 +04:00
Ilya Lavrenov 9ea6001d08 enabled ocl::bilateralFilter ROI testing 2013-10-25 13:32:35 +04:00
Andrey Pavlenko f177e65871 Merge pull request #1683 from alalek:ocl_restore_showdiff 2013-10-25 13:19:02 +04:00
yao dd0fa63ca8 fix the bug of ocl::bruteForceMatcher 2013-10-25 16:01:41 +08:00
Roman Donchenko 3b08bf6b62 Merge pull request #1682 from SpecLad:Wmissing-declarations 2013-10-24 22:19:17 +04:00
Roman Donchenko 496859a944 Merge pull request #1643 from alalek:cmake_fix_java_link_rules 2013-10-24 19:38:43 +04:00
Roman Donchenko 7804240528 Merge pull request #1679 from ilya-lavrenov:ocl_equalizeHist 2013-10-24 19:12:35 +04:00
Alexander Alekhin 4b17d073c0 cmake: fix linker dependencies for opencv_java
Linker dependencies to all OpenCV modules are invalid.
We should not include other bindings in this list (like "opencv_python").
2013-10-24 19:04:59 +04:00
Roman Donchenko f51e490bad Fixed a Wmissing-declarations warning when compiling with MinGW. 2013-10-24 18:35:08 +04:00
Vladislav Vinogradov e5947f581a fix CUDA 5.5 support (npp, arm cross compilation) in CMake scripts:
The patch was submitted to CMake and might be available
in the next CMake release.

But until we have the fix in CMake we should add workaround in our scripts.
2013-10-24 18:17:36 +04:00
Roman Donchenko f0bc253d0e Merge pull request #1667 from SpecLad:detect-openmp 2013-10-24 15:00:27 +04:00
Roman Donchenko 119cdc57e9 Merge pull request #1623 from ImAlsoGreg:2.4-pkgconfig-dash-l 2013-10-24 14:18:12 +04:00
Ilya Lavrenov dab3000778 fixed bug in ocl::equalizeHist 2013-10-24 13:59:25 +04:00
Roman Donchenko c7408003d2 Merge pull request #1678 from wejeus:ios-documentationfix-2.4 2013-10-24 13:55:30 +04:00
Roman Donchenko f5bd8fecc9 Merge pull request #1674 from alalek:cmake_fix 2013-10-24 13:54:31 +04:00
Samuel Wejéus eddaaa9643 Removed incorrect release of obtained colorspace. This fixes bug #3318 (updated commit for 2.4 branch) 2013-10-24 10:36:01 +02:00
Andrey Pavlenko 2279c209c8 Merge pull request #1676 from ilya-lavrenov:ocl_resize_test 2013-10-24 11:23:55 +04:00
Andrey Pavlenko 931a2ae14f Merge pull request #1673 from ilya-lavrenov:ocl_norm 2013-10-24 11:23:36 +04:00
Andrey Pavlenko e7f39eb46e Merge pull request #1672 from ilya-lavrenov:ocl_arithm 2013-10-24 11:23:19 +04:00
Andrey Pavlenko 4cf598a862 Merge pull request #1669 from ilya-lavrenov:ocl_copyMakeBorder 2013-10-24 11:23:01 +04:00
Peng Xiao 4b712eeded Update imgproc_canny.cl
Reordering condition checking.
2013-10-24 12:07:54 +08:00
Alexander Alekhin 133d889e33 ocl: show diff 2013-10-24 03:44:56 +04:00
konstantin 9f0995fbe0 try to made compatible with mac 2013-10-23 23:56:22 +04:00
Ilya Lavrenov 5864895ec6 fixed ocl::copyMakeBorder 2013-10-23 23:52:05 +04:00
konstantin ebb2c3e01f try to fix build error 2013-10-23 23:18:21 +04:00
Ilya Lavrenov 7c1443cbdd fixed an accuracy test for ocl::resize (in some cases dsize.area() was equal to 0) 2013-10-23 22:13:18 +04:00
konstantin 2f62940a0e Added few opencl optimizations (as Intel platform codepath):
1. HaarDetetctor: repack nodes to reduce memory footprint
2. cornerMinEigVal: 4 ocl kernels are fused into 1 for sobel calculation
2013-10-23 20:38:11 +04:00
Alexander Alekhin d571b28eaa cmake: fix bug with installation into OPENCV_LIB_INSTALL_PATH directory 2013-10-23 20:28:22 +04:00
Ilya Lavrenov 29499ed51a moved to relative errors in ocl::norm tests 2013-10-23 19:53:04 +04:00
Ilya Lavrenov 87fc3441f2 workaround for cv::multiply bug 2013-10-23 18:42:55 +04:00
Roman Donchenko 6dda2652cd Merge pull request #1659 from ilya-lavrenov:ocl_examples 2013-10-23 14:50:56 +04:00
Roman Donchenko bb461fab34 Merge pull request #1649 from asandwhich:2.4 2013-10-22 19:16:09 +04:00
Roman Donchenko a549621aac Merge pull request #1666 from SpecLad:cv-cap-openni 2013-10-22 19:02:48 +04:00
Roman Donchenko f82eb0f79c Add better OpenMP detection and make an option to enable it.
Bug report and inspiration: http://code.opencv.org/issues/3328
2013-10-22 18:47:37 +04:00
Roman Donchenko 8ff267cbac Fixed incorrectly unprefixed constant names in the OpenNI tutorial.
Bug report: http://code.opencv.org/issues/3329
2013-10-22 14:48:25 +04:00
Andrey Pavlenko 1e8b72f8c0 Merge pull request #1658 from alalek:ocl_fixes 2013-10-22 13:46:54 +04:00
Ilya Lavrenov 4d86e2140d OpenCL examples refactoring 2013-10-21 23:50:54 +04:00
Alexander Alekhin e7fd053478 ocl: fix FFT initialization 2013-10-21 19:48:36 +04:00
Alexander Alekhin 9acca12d2d ocl: workaround for ProgramCache cleanup issue, use RAII to print kernel build error 2013-10-21 19:16:33 +04:00
Greg Hale 387587f4f0 regex doesnt need to match full length of input, so only trying to match the leading -[lL] 2013-10-21 09:27:04 -04:00
Roman Donchenko a54d36bde8 Merge pull request #1646 from alalek:ocl_fix_msvc11 2013-10-21 16:53:24 +04:00
Roman Donchenko bfd8acbbc3 Merge pull request #1556 from jet47:fix-bug-3296 2013-10-21 16:28:00 +04:00
Roman Donchenko 9bc347c848 Merge pull request #1650 from jet47:fix-gpu-bgsegm-sample 2013-10-21 16:18:02 +04:00
Andrey Pavlenko aec7d9c1db Merge pull request #1647 from ilya-lavrenov:ocl_tests_demonstrative 2013-10-21 16:06:36 +04:00
Andrey Pavlenko 0ad04d66e3 Merge pull request #1645 from ilya-lavrenov:ocl_morph_test_fix 2013-10-21 16:00:13 +04:00
Andrey Pavlenko e82fd12a67 Merge pull request #1644 from ilya-lavrenov:ocl_matrix_operations 2013-10-21 15:59:19 +04:00
Andrey Pavlenko bd1a1cc031 Merge pull request #1633 from ilya-lavrenov:ocl_imgproc 2013-10-21 15:59:00 +04:00
Ilya Lavrenov 9d923b50ac fixed ocl::Laplacian for case when scale != 1 2013-10-21 14:27:34 +04:00
Ilya Lavrenov 6085c416a7 missed initialization of kernel size 2013-10-21 14:27:14 +04:00
Roman Donchenko 599d51ec14 Merge pull request #1651 from ilya-lavrenov:misprint 2013-10-21 14:00:23 +04:00
peng xiao 7285341083 1. Let btvRegWeights to be constant per process call.
2. Let Farneback to be the default optical flow method.
3. Fix a timing method bug for ocl path.
4. Remove useless finish operation in farneback
5. Refactor buffer usage.
2013-10-21 10:21:37 +08:00
Nghia Ho 2238e711b5 Copied errorCovPre to errorCovPost. This allows the correct behaviour of the uncertainty to grow when there is missing data for each predict step. 2013-10-20 13:00:11 +11:00
Greg Hale fe3dd762a4 fixed wrong regex 2013-10-19 17:30:32 -04:00
Ilya Lavrenov 4f68f35a78 added reflect, reflect101, replicate, wrap border types to ocl::remap 2013-10-19 23:38:50 +04:00
Ilya Lavrenov bebc1c9330 misprint 2013-10-19 22:59:47 +04:00
Vladislav Vinogradov 5673e7e435 fix bug in gpu bgsegm sample
create `d_fgimg` matrix before cleaning.
2013-10-19 12:40:10 +04:00
Kevin 8f995fac88 Change intrinsic camera matrix initialization
In the function cvInitIntrinsicParams2D the principal point for
normalized image coordinates is set to 0/0. This updates the function
to initialize the principal point at 0.5/0.5.
2013-10-19 02:10:20 -05:00
Ilya Lavrenov e9cef2990e made more demonstrative message about test fails 2013-10-19 01:17:46 +04:00
Alexander Alekhin cfc3b9abbb ocl: workaround for msvc11 bug
"#error" requires DOS line endings (or fails with fatal error C1004: unexpected end-of-file found)
See: http://connect.microsoft.com/VisualStudio/feedback/details/794991/c-error-directive-and-unix-line-endings-leads-to-an-unexpected-end-of-file
So replace them to #pragma message.
2013-10-18 20:52:36 +04:00
Andrey Pavlenko d50f0d2ed2 Merge pull request #1587 from alalek:opencl_khronos_headers 2013-10-18 18:41:13 +04:00
Roman Donchenko 83b36dcbcf Merge pull request #1459 from asmorkalov:ocv_qt_segflt_fix 2013-10-18 18:39:08 +04:00
Roman Donchenko d700cc60be Merge pull request #1641 from jet47:imshow-opengl-fix 2013-10-18 18:23:00 +04:00
Roman Donchenko df279150ae Merge pull request #1642 from alalek:cmake_cleanup_targets 2013-10-18 18:19:36 +04:00
Ilya Lavrenov 022b5d6c74 refactored ocl matrix operations accuracy tests 2013-10-18 17:36:38 +04:00
Ilya Lavrenov b3e1a4598c enabled double in copyMakeBorder kernel 2013-10-18 16:46:51 +04:00
Ilya Lavrenov 2681cef5d7 rewrote ocl::remap 2013-10-18 16:41:09 +04:00
Ilya Lavrenov 3fe74ad124 fixed ocl::copyMakeBorder 2013-10-18 16:39:47 +04:00
Ilya Lavrenov 36342eb425 added ROI support to ocl::convolve 2013-10-18 16:36:11 +04:00
Ilya Lavrenov 110a92c126 added ROI support to ocl::columnSum 2013-10-18 16:33:48 +04:00
Ilya Lavrenov 60f9ba0c64 added ROI support to ocl::CLAHE 2013-10-18 16:31:52 +04:00
Ilya Lavrenov 4a81be7d0b refactored all the tests in ocl/test/test_imgproc.cpp 2013-10-18 16:29:10 +04:00
Alexander Alekhin fd4e705b14 ocl: update autogenerated code 2013-10-18 15:47:11 +04:00
Alexander Alekhin 6344da9ac3 ocl: force to use Khronos OpenCL headers 2013-10-18 15:47:11 +04:00
Alexander Alekhin 9d380ecc08 added Khronos OpenCL 1.2 header files 2013-10-18 15:44:55 +04:00
Andrey Pavlenko 4cbf0cb31e Merge pull request #1640 from alalek:ocl_fix_exp_test 2013-10-18 13:45:12 +04:00
Andrey Pavlenko 97dfd65007 Merge pull request #1626 from ilya-lavrenov:ocl_filters 2013-10-18 13:44:41 +04:00
Roman Donchenko 5e24376ad7 Updated ffmpeg_vesion.cmake after #1516. 2013-10-18 12:23:56 +04:00
Alexander Alekhin 83b7fbe376 cmake: cleanup OpenCVModules_TARGETS from cache
This will allow to disable modules between cmake runs
2013-10-17 23:43:33 +04:00
Greg Hale 0c4d484679 added backslash 2013-10-17 14:17:49 -04:00
Greg Hale 61ccd170bd shortened code to not repeat myself 2013-10-17 14:12:02 -04:00
Greg Hale 5bd5993663 Only append -l to lib entries with no path and no -l or -L of their own 2013-10-17 14:05:06 -04:00
Vladislav Vinogradov fa70f95272 fix imshow under Windows with OpenGL support:
we doesn't create OpenGL windows by default
OpenGL window must be created by user via namedWindow
2013-10-17 20:58:33 +04:00
Alexander Alekhin 4bfeeb0738 ocl: perf: use RELATIVE_ERROR in SANITY_CHECK for exp/log/pow 2013-10-17 19:00:36 +04:00
Roman Donchenko 578e984739 Merge tag '2.4.6.2' into 2.4
OpenCV 2.4.6.2 (Tegra detection and native camera update)
2013-10-17 17:19:04 +04:00
Roman Donchenko fb7b4d2d60 Merge pull request #1636 from ilya-lavrenov:ocl_loop_times 2013-10-17 17:00:45 +04:00
Roman Donchenko 88cc054f10 Merge pull request #1369 from StevenPuttemans:fix_featuretracker 2013-10-17 15:42:38 +04:00
Roman Donchenko 9c7ba848bb Merge pull request #1516 from akarsakov:new_ffmpeg_build 2013-10-17 15:41:18 +04:00
Ilya Lavrenov 07aee1a25c made LOOP_TIMES as a command line option with default value=1 2013-10-17 12:40:16 +04:00
Alexander Karsakov cee308312a Updated build of ffmpeg library (v 2.0.2). Builded with mingw (gcc 4.6.1) with
folowing additional options: --enable-w32threads, --arch=i686 (for 32-bit
library, workaround for http://trac.ffmpeg.org/ticket/2363)
2013-10-17 12:29:00 +04:00
Roman Donchenko d411041c53 Merge pull request #1637 from SpecLad:run-py-java-fix 2013-10-17 12:25:31 +04:00
Ilya Lavrenov da3b7c79b8 refactored filters in the ocl module; added an accuracy tests for ocl::medianFilter 2013-10-17 12:23:56 +04:00
Andrey Pavlenko 7605426dc3 Merge pull request #1613 from alalek:ocl_cvtcolor 2013-10-17 12:07:20 +04:00
Andrey Pavlenko 8b63e33b24 Merge pull request #1632 from alalek:cmake_find_package_build_dir 2013-10-17 11:59:27 +04:00
Andrey Pavlenko e14dc887c6 Merge pull request #1635 from alalek:cmake_fix_export_java 2013-10-17 11:55:25 +04:00
Andrey Pavlenko 28ecd54f58 Merge pull request #1634 from alalek:cmake_fix_cuda_linker_deps 2013-10-17 11:55:03 +04:00
Alexander Alekhin ce0647c9b6 ocl: rewrite CvtColor tests, added roi support 2013-10-16 22:46:21 +04:00
Roman Donchenko 5bb6949bd6 Fix running Java tests with run.py on everything other than Windows.
Previously, run.py would assume that the opencv_java library is in the
same directory as the tests, which is only true on Windows.

The library path depends on the build configuration, which may not be
known until the actual build (e.g. with the Visual Studio generators),
so it can't be stored in the CMake cache for run.py to read. I didn't
want to hardcode into run.py where the library is on each platform,
either. So that's why I used the current scheme with the properties
file. It also makes running the tests without run.py a little easier.
2013-10-16 19:22:01 +04:00
Alexander Alekhin 09f0e1777e cmake: fix linker deps for CUDA 2013-10-16 18:34:47 +04:00
Alexander Alekhin 2a9d24323c cmake: add opencv_java into list of exported targets (fix for android) 2013-10-16 17:23:44 +04:00
Roman Donchenko bfdbc9cefd Merge pull request #1375 from jet47:gpu-examples-build 2013-10-16 13:22:26 +04:00
Alexander Alekhin 9941d3f71a cmake: restore find_package() for build directory 2013-10-15 23:05:40 +04:00
Greg Hale 70df365c87 changed foreach variable to match naming conventions and dropped intermediate variable, appending directly to the LIB_COMPONENTS list 2013-10-15 14:54:58 -04:00
Roman Donchenko b420c0b160 Merge pull request #1630 from SpecLad:java-deprecated-assert 2013-10-15 18:36:15 +04:00
Roman Donchenko 572c18da72 Merge pull request #1627 from SpecLad:java-version-no-inline 2013-10-15 18:05:58 +04:00
Roman Donchenko a61d1e6494 Delete an import of junit.framework.Assert, which is deprecated in JUnit 4.x.
We don't use it, anyway.
2013-10-15 17:10:12 +04:00
Roman Donchenko 7ff91665cf In Java bindings, wrap version constants into functions to prevent inlining.
Java inlines static finals if they're defined with a constant expression. In
case of version constants we don't want that to happen, since they obviously
change from version to version. If the user substitutes a different OpenCV
jar without recompiling, we want user code to still have relevant values for
the version constants.

This arranges that by turning constant values into function calls, which no
longer count as a constant expression.
2013-10-15 15:44:26 +04:00
Roman Donchenko 7fb18a2311 Merge pull request #1620 from SpecLad:record-build-type 2013-10-15 14:59:53 +04:00
Andrey Pavlenko 98d55f34fa Merge pull request #1625 from ilya-lavrenov:to_string 2013-10-15 14:42:44 +04:00
Ilya Lavrenov 741e0242b3 replaced to_string by cv::format 2013-10-15 13:26:01 +04:00
Roman Donchenko cf71ff0845 Record OpenCV build type among the test properties.
Because apparently I love running performance tests for debug builds.
2013-10-15 12:09:31 +04:00
Roman Donchenko 1eb322fa5d Merge pull request #1622 from a0byte:2.4 2013-10-15 11:51:40 +04:00
Greg Hale f23b51de6f Added -l prefix to EXTRA_COMPONENTS when generating pkg-config file 2013-10-14 13:36:07 -04:00
Andrey Pavlenko 97da1419e1 Merge pull request #1573 from alalek:perf_simple_strategy 2013-10-14 19:28:49 +04:00
Andrey Pavlenko 7f15ec9d54 Merge pull request #1617 from ilya-lavrenov:ocl_info 2013-10-14 19:27:01 +04:00
Han Qiang 88f68a3fe0 Fixed typo in document.
Signed-off-by: Han Qiang <a0byte@gmail.com>
2013-10-14 23:23:59 +08:00
Ilya Lavrenov ca26028415 demonstrative device info output 2013-10-14 17:18:25 +04:00
Andrey Pavlenko 9e12306d95 Merge pull request #1614 from ilya-lavrenov:ocl_svm_misprint 2013-10-14 16:43:18 +04:00
Andrey Pavlenko e90a9e810d Merge pull request #1612 from alalek:ocl_fix_string_info 2013-10-14 16:41:43 +04:00
Andrey Pavlenko ae56eaa563 Merge pull request #1609 from ilya-lavrenov:ocl_some_optimization 2013-10-14 16:41:25 +04:00
Roman Donchenko 0870d3d78c Merge pull request #1616 from ilya-lavrenov:ocl_cvtColor 2013-10-14 15:16:02 +04:00
Ilya Lavrenov 28f566b843 misprint in disabling ocl::svm 2013-10-13 23:54:09 +04:00
Ilya Lavrenov b18101b15a some optimization of binary ocl::bitwise operations 2013-10-13 23:25:59 +04:00
Ilya Lavrenov da607c6711 ocl::cvtColor works with ROI properly 2013-10-13 23:09:14 +04:00
Alexander Alekhin 376cd8f84f perf: added simple collection strategy 2013-10-12 18:05:57 +04:00
Alexander Alekhin f617c0d4a2 ocl: fix for get string info from OpenCL 2013-10-12 16:56:21 +04:00
Andrey Pavlenko c5afaa4e8d Merge pull request #1610 from alalek:ocl_fix_perf_kalman 2013-10-12 16:31:02 +04:00
Andrey Pavlenko 19dca324ae Merge pull request #1608 from alalek:fix_warn_upd_haar 2013-10-12 16:24:04 +04:00
Andrey Pavlenko f9fe1b9b09 Merge pull request #1607 from ilya-lavrenov:ocl_fft_cleanup 2013-10-12 16:12:05 +04:00
Andrey Pavlenko a55cc60136 Merge pull request #1606 from ilya-lavrenov:ocl_imgproc 2013-10-12 16:10:04 +04:00
Andrey Pavlenko 9f5cda799f Merge pull request #1602 from alalek:ocl_test_dump_info 2013-10-12 16:08:24 +04:00
Andrey Pavlenko 4e31a3df24 Merge pull request #1603 from ilya-lavrenov:ocl_disable_svm_noblas 2013-10-12 16:04:05 +04:00
Alexander Alekhin 4413bee693 ocl: reverted type of perf test params for Kalman filter 2013-10-12 02:36:53 +04:00
Ilya Lavrenov dfbea3518a refactored ocl/src/imgproc.cpp 2013-10-11 23:39:41 +04:00
Ilya Lavrenov 5a309e8f6e fft cleanup ignoring 2013-10-11 20:25:03 +04:00
ilya-lavrenov d63a38e9bf disable SVM when AMD BLAS is not available 2013-10-11 19:25:34 +04:00
Andrey Pavlenko fa11f04ae1 Merge pull request #1605 from alalek:ocl_fixes 2013-10-11 18:55:53 +04:00
Alexander Alekhin 723af15228 ocl: fix warnings from GCC 4.8, update Haar 2013-10-11 18:42:17 +04:00
Alexander Alekhin 1980aad8d7 ocl: dump device info in tests 2013-10-11 18:24:59 +04:00
Alexander Alekhin 3b0823db7e ocl: fix CV_EXPORTS usage (misplaced in functions declarations) 2013-10-11 18:07:38 +04:00
Alexander Alekhin ce1177151e ocl: fix cleanup in static builds 2013-10-11 18:07:38 +04:00
Alexander Alekhin 57120c1a60 ocl: remove support_image2d(): we target on OpenCL 1.1 (with image2d support by default) 2013-10-11 17:16:03 +04:00
Andrey Pavlenko c0265c60f3 Merge pull request #1601 from ilya-lavrenov:ocl_fix_tvl1_and_sparse 2013-10-11 16:22:59 +04:00
ilya-lavrenov ca32583fdd fixed ocl optical flow: sparse and tvl1 2013-10-11 13:55:49 +04:00
Andrey Pavlenko 171e0e62ec Merge pull request #1599 from ilya-lavrenov:ocl_mac_kernel_warnings 2013-10-11 12:40:12 +04:00
Andrey Pavlenko b7f1edccfb Merge pull request #1595 from alalek:cl_code_cleanup 2013-10-11 12:37:42 +04:00
Alexander Alekhin 238550cdad ocl: code cleanup, fix .clb files 2013-10-11 01:19:46 +04:00
Andrey Pavlenko dfbd5021fd Merge pull request #1598 from alalek:ocl_fix_build_mac 2013-10-11 00:40:06 +04:00
Andrey Pavlenko 4417519795 Merge pull request #1594 from ilya-lavrenov:ocl_perf 2013-10-11 00:38:12 +04:00
Ilya Lavrenov 1be77dd2f3 enabled accuracy tests for the functions that use inside AMD Blas/Fft 2013-10-11 00:37:52 +04:00
Alexander Alekhin 0760fdcbdb ocl: fix build on Mac 2013-10-10 23:11:48 +04:00
Ilya Lavrenov 1f51e6c0de fixed kernel compilation warnings on MacOSX 2013-10-10 22:56:39 +04:00
Ilya Lavrenov 39c1e5ff73 added perf tests for min, max, abs 2013-10-10 21:54:38 +04:00
Andrey Pavlenko ad1ba56fcf Merge pull request #1597 from alalek:ocl_fix_cleanup 2013-10-10 19:02:29 +04:00
Andrey Pavlenko c820777967 Merge pull request #1596 from alalek:test_fix_run_py 2013-10-10 19:02:10 +04:00
Andrey Pavlenko 3b1c53fa8d Merge pull request #1551 from alalek:cmake_install_win 2013-10-10 18:20:35 +04:00
Alexander Alekhin 3eba2011b9 test: run.py: return valid errorCode in case of the single test run 2013-10-10 17:17:10 +04:00
Alexander Alekhin 6b9f74ae84 ocl: fix cleanup on Windows platform (for clAmdBlas/clAmdFft) 2013-10-10 16:58:45 +04:00
Andrey Pavlenko d5723480e1 Merge pull request #1592 from alalek:ocl_program_cache_update 2013-10-10 15:55:58 +04:00
Andrey Pavlenko a351161fd7 Merge pull request #1591 from alalek:ocl_remove_cl_hpp_h 2013-10-10 15:55:13 +04:00
Andrey Pavlenko 37a9c7bdd6 Merge pull request #1593 from ilya-lavrenov:ocl_war_on_double 2013-10-10 15:54:08 +04:00
Ilya Lavrenov 9d1636daa6 catching OpenCL double not supported exceptions 2013-10-10 12:45:55 +04:00
Alexander Alekhin d26f62569d ocl: fix compilation warnings, update openCLExecuteKernelInterop 2013-10-10 00:15:02 +04:00
Alexander Alekhin 43c638d07d ocl: remove cl.hpp dependency (it is missed on Nvidia SDK and on some platforms) 2013-10-09 23:53:25 +04:00
Alexander Alekhin fbe7448250 cmake: export OpenCVModules for unix 'install', move macros desclarations 2013-10-09 18:29:03 +04:00
Alexander Alekhin bc089bb18c cmake: update java module install rules 2013-10-09 17:49:11 +04:00
Alexander Alekhin 4adede4246 cmake: python module updates 2013-10-09 17:49:11 +04:00
Alexander Alekhin c0a27ea1a1 cmake: update install rules for doc 2013-10-09 17:49:11 +04:00
Alexander Alekhin 47dd44e490 cmake: OpenCVConfig.cmake: fix message 2013-10-09 17:49:11 +04:00
Alexander Alekhin 74329ee416 cmake: revert CRT linkage option for MSVS 2013-10-09 17:49:11 +04:00
Alexander Alekhin 034a77c26d cmake: workaround for dependencies resolver (bypass non-module deps w/o check) 2013-10-09 17:49:10 +04:00
ilya-lavrenov 7a53910495 fixed warning on windows 2013-10-09 17:49:10 +04:00
Alexander Alekhin 555c505b70 update cmake 'install' target for Windows platform
Allow to build samples via OpenCV binaries from distribution package
(find_package with OpenCV_DIR).
2013-10-09 17:49:10 +04:00
Andrey Pavlenko e3b42ed137 Merge pull request #1589 from ilya-lavrenov:pr1582_fix 2013-10-09 16:47:59 +04:00
Ilya Lavrenov fccd37de7e changes eps for NORM_L1 2013-10-09 14:18:07 +04:00
Ilya Lavrenov 488e6aafaf fixed the PR 1582 2013-10-09 14:16:36 +04:00
Andrey Pavlenko 6b69a66c3c Merge pull request #1579 from ilya-lavrenov:ocl_norm 2013-10-09 13:52:20 +04:00
Andrey Pavlenko ff8e5a04a4 Merge pull request #1586 from ilya-lavrenov:ocl_setto_win_fix 2013-10-09 13:49:34 +04:00
Roman Donchenko d04c4ef72a Merge pull request #1582 from sperrholz:ocl-arithm-additions 2013-10-09 12:36:01 +04:00
Ilya Lavrenov 245ff93544 ocl setto fix for windows 2013-10-08 19:11:32 +04:00
Ilya Lavrenov bdd5038da4 ocl setto fix for windows 2013-10-08 18:52:32 +04:00
Sebastian Krämer 3696174b14 fix documentation warning 2013-10-08 16:49:20 +02:00
Ilya Lavrenov c404da784f fixed ocl::norm (previously the function used double as a work type) 2013-10-08 18:43:49 +04:00
Sebastian Krämer 4ffd3fb905 add ocl::abs 2013-10-08 15:23:24 +02:00
Sebastian Krämer c844bbdd82 documentation update for ocl::min and ocl::max 2013-10-08 15:23:18 +02:00
Sebastian Krämer 33df7131ae add ocl::min and ocl::max (includes accuracy tests update) 2013-10-08 15:23:13 +02:00
Roman Donchenko ae851af648 Merge pull request #1574 from alalek:svm_workaround 2013-10-08 15:31:42 +04:00
Roman Donchenko 65ec9f77d9 Merge pull request #1577 from ilya-lavrenov:ocl_setto_opencl12 2013-10-08 15:15:31 +04:00
Roman Donchenko bc3669bfb1 Merge pull request #1576 from alalek:ocl_fix_cl_double 2013-10-08 14:20:11 +04:00
Roman Donchenko 895308a811 Merge pull request #1538 from StevenPuttemans:bugfix_3283 2013-10-08 13:00:39 +04:00
Roman Donchenko ec409a436d Merge pull request #1545 from alalek:ocl_test_fix_rng 2013-10-08 12:59:50 +04:00
Ilya Lavrenov 32f11e6f40 enabled OpenCL 1.2 branch in oclMat::setTo 2013-10-08 12:49:29 +04:00
Roman Donchenko 95b3a344d9 Merge pull request #1570 from ilya-lavrenov:ipp_warn_fix 2013-10-08 12:32:57 +04:00
Alexander Alekhin 1d6327ba2a ocl: fix Context::CL_* usage 2013-10-08 12:23:46 +04:00
Roman Donchenko efeadc1f7b Merge pull request #1578 from asmorkalov:android_fd_cp_fix 2013-10-08 12:22:14 +04:00
Alexander Smorkalov fdc1a06397 Invalid copy-passed exception messages in FaceDetect sample for Android fixed. 2013-10-08 10:28:24 +04:00
Alexander Alekhin f63b0dfaf4 svm: disable failed tests 2013-10-07 18:17:10 +04:00
Roman Donchenko 801054d611 Merge pull request #1566 from SpecLad:Wshadow-openni 2013-10-07 15:48:40 +04:00
Ilya Lavrenov 036e99d03a fixed ipp-related warnings 2013-10-05 14:54:00 +04:00
Roman Donchenko 46eeb106e2 Merge pull request #1564 from alalek:cl_runtime_fix_32bit 2013-10-04 18:29:04 +04:00
Roman Donchenko 0a13510293 Merge pull request #1557 from ilya-lavrenov:ocl_minor_doc_update 2013-10-04 18:25:44 +04:00
Roman Donchenko df213241cc Merge pull request #1560 from jet47:cmake-config-cuda-5.5-fix 2013-10-04 18:15:05 +04:00
Roman Donchenko 2660f4bc59 Merge pull request #1562 from ilya-lavrenov:ocl_integral 2013-10-04 18:12:43 +04:00
Roman Donchenko aa80250a3d Merge pull request #1532 from alalek:stereo_csbp 2013-10-04 16:43:51 +04:00
Roman Donchenko 1b51270617 Merge pull request #1558 from SpecLad:Wparentheses-equality 2013-10-04 16:32:09 +04:00
Alexander Alekhin de0f310e81 ocl: tests: RNG usage refactoring 2013-10-04 15:39:39 +04:00
Vladislav Vinogradov adc516becc fixed OpenCVConfig.cmake.in file for CUDA 5.5 toolkit 2013-10-04 15:14:21 +04:00
Roman Donchenko 3cfad385ec Fix a -Wshadow warning in cap_openni.cpp. 2013-10-04 14:23:06 +04:00
Roman Donchenko ca65fe4548 Merge pull request #1535 from asmorkalov:android_ndk_r9 2013-10-04 14:14:20 +04:00
Roman Donchenko 61778a524f Merge pull request #1563 from ilya-lavrenov:ocl_arithm 2013-10-04 13:59:19 +04:00
StevenPuttemans 2f474db27f Fix of bug #3283 and bug #3301
Added extra information for fitEllipse, minAreaRect and addapted ellipse &
ellipse2Poly parameter description.
2013-10-04 11:19:45 +02:00
Alexander Alekhin 90df620deb ocl: stereo_csbp: divUp -> roundUp 2013-10-04 12:48:26 +04:00
Alexander Alekhin 2d1a6687f9 autogenerated code 2013-10-04 12:40:08 +04:00
Alexander Alekhin 2fdfa37ea5 ocl: runtime, fix 32-bit builds 2013-10-04 12:40:08 +04:00
Ilya Lavrenov 10d60f99dc fixed ocl::integral and enabled perf test for it 2013-10-04 12:33:14 +04:00
Ilya Lavrenov 5f81988699 refactored arithm binary operations in order to make them more scalable 2013-10-04 12:13:22 +04:00
Andrey Pavlenko 8224f9843e Merge pull request #1561 from alalek:ocl_refactoring 2013-10-04 11:50:03 +04:00
Alexander Alekhin d74ca7b39d ocl: update module documentation 2013-10-03 23:26:06 +04:00
Alexander Alekhin 69c2ef5ed2 ocl: update ocl samples 2013-10-03 23:26:06 +04:00
Alexander Alekhin 7f0680fc8b ocl: workaround for OpenCL C++ bindings usage: CL/cl.hpp 2013-10-03 23:26:06 +04:00
Alexander Alekhin 8beb514ecf ocl: merge with upstream/2.4 2013-10-03 23:26:06 +04:00
Alexander Alekhin 16adbda4d3 ocl: added OpenCL device selection via OPENCV_OPENCL_DEVICE environment variable 2013-10-03 19:50:14 +04:00
Alexander Alekhin dd9ff587dc ocl: file-based ProgramCache refactoring 2013-10-03 19:50:14 +04:00
Alexander Alekhin b00f79ac5f ocl: move program names into opencl_kernels.hpp 2013-10-03 19:50:14 +04:00
Alexander Alekhin e8d9ed8955 ocl: split initialization.cpp into 3 files: context, operations, programcache 2013-10-03 19:50:14 +04:00
Ilya Lavrenov dafd4da031 removed ocl::minMax_buf, updated doc (operation on matrices) 2013-10-03 18:19:15 +04:00
Roman Donchenko 8e75947a7d Merge pull request #1555 from ilya-lavrenov:ocl_convertC3C4 2013-10-03 16:52:10 +04:00
Roman Donchenko fa9d092c43 Fix a -Wparentheses-equality Clang warning in cap_libv4l.cpp. 2013-10-03 12:04:57 +04:00
Alexander Smorkalov 1aaeb52a4c Android NDK r9 support. x64 NDK support fix for MacOS X. 2013-10-03 11:36:12 +04:00
Ilya Lavrenov adca219f18 fixed convertC3C4 and convertC4C3 functions in case cols == 1 2013-10-03 10:45:15 +04:00
Vladislav Vinogradov 4e4d2da0b9 fix #3296 : Unsupported gpu architecture 'compute_21' 2013-10-03 10:21:00 +04:00
Andrey Pavlenko 88419f8923 Merge pull request #1507 from pengx17:2.4_fix_test 2013-10-02 19:52:12 +04:00
Andrey Pavlenko 73744904a2 Merge pull request #1542 from alalek:cl_runtime 2013-10-02 19:50:35 +04:00
Alexander Alekhin 12eb340a4e removed invalid comment 2013-10-02 19:35:21 +04:00
Andrey Pavlenko b396916cdb Merge pull request #1549 from ilya-lavrenov:ocl_perf_norm 2013-10-02 19:14:16 +04:00
Andrey Pavlenko b2fe053f4d Merge pull request #1548 from ilya-lavrenov:ocl_bitwise_not 2013-10-02 19:14:00 +04:00
Alexander Alekhin 5ab49c4cc2 ocl: cl_runtime: added autogenerated code 2013-10-02 18:32:33 +04:00
Alexander Alekhin 212ad97100 ocl: dynamic load of OpenCL libraries
Support functions from OpenCL 1.1 / OpenCL 1.2
2013-10-02 18:32:33 +04:00
Ilya Lavrenov e8b93040d6 enabled ocl::norm perf test 2013-10-02 16:57:15 +04:00
Roman Donchenko d019344c9d Merge pull request #1547 from SpecLad:gtest-1.7 2013-10-02 16:46:19 +04:00
Ilya Lavrenov a613a1a1da fixed ocl::bitwise_not in case of CV_8UC1, CV_8UC2 2013-10-02 16:09:29 +04:00
Roman Donchenko e65eb4e042 Updated Google Test to 1.7.0. 2013-10-02 14:41:00 +04:00
Andrey Pavlenko 75d89f4331 Merge pull request #1533 from alalek:perf_test_update_relative_error_message 2013-10-01 20:17:52 +04:00
Andrey Pavlenko 154fe4f657 Merge pull request #1519 from ilya-lavrenov:ocl_minMax 2013-10-01 20:16:48 +04:00
Roman Donchenko 8c15d27619 Merge pull request #1525 from asmorkalov:ocv_custom_libv4l 2013-10-01 19:40:12 +04:00
Ilya Lavrenov 4322c47bb2 removed test_norm.cpp from ocl tests 2013-10-01 17:53:14 +04:00
Roman Donchenko 4d88a6e856 Merge pull request #1530 from alalek:perf_tests_sanity_check_nothing 2013-10-01 17:39:18 +04:00
Alexander Alekhin a8ac3ec72a ocl: perf test: disable MOG2 (random hungs), enable upload/download 2013-10-01 16:49:11 +04:00
Alexander Alekhin 66e4aead97 perf tests: added SANITY_CHECK_NOTHING() 2013-10-01 16:49:11 +04:00
Ilya Lavrenov 065b40c6c3 fixed and extended ocl::norm 2013-10-01 13:21:43 +04:00
Alexander Alekhin 958604a68e perf test: update error message about relative error 2013-09-30 20:11:39 +04:00
Roman Donchenko e35bc11504 Merge pull request #1457 from pengx17:2.4_oclsvm 2013-09-30 17:50:29 +04:00
Ilya Lavrenov a562b5c985 fixed ocl::meanStddev and created accuracy test for this function 2013-09-30 17:37:19 +04:00
Roman Donchenko 54c902dccd Merge pull request #1509 from perping:2.4_docs 2013-09-30 17:37:19 +04:00
Ilya Lavrenov 7379152afb fixed ocl::setIdentity 2013-09-30 16:54:09 +04:00
Roman Donchenko 8aa63af5de Merge pull request #1518 from jet47:bug-3291-tbb-install 2013-09-30 16:21:51 +04:00
Roman Donchenko 42b396c97e Merge pull request #1522 from nghiaho12:latentsvm 2013-09-30 16:04:59 +04:00
Ilya Lavrenov 7edcefb2be fixed ocl::phase 2013-09-30 16:02:14 +04:00
Ilya Lavrenov b864f48274 fixed ocl::sum, ocl::sqrSum, ocl::absSum 2013-09-30 15:12:38 +04:00
StevenPuttemans f6c802b563 Applied fix suggested in bug 3282 and shortened code 2013-09-30 11:48:01 +02:00
Alexander Smorkalov 308fbeb04b Make libv4l support optional for testing purposes. 2013-09-30 12:44:59 +04:00
peng xiao 315c054379 Fix new blank line at EOF. 2013-09-30 16:20:43 +08:00
peng xiao 422396ef6a fix build error 2013-09-30 16:17:20 +08:00
peng xiao f69ccfa43d Add opencl svm. 2013-09-30 16:17:19 +08:00
Nghia Ho b9e542e35e Missing closedir with opendir 2013-09-28 21:46:48 +10:00
Ilya Lavrenov b54228fb83 fixed ocl::countNonZero 2013-09-27 17:35:06 +04:00
Ilya Lavrenov 9dca7555b4 fixed ocl::minMax 2013-09-27 16:25:10 +04:00
Vladislav Vinogradov d1f3a62832 fix for bug #3291:
add INSTALL command for TBB target
2013-09-27 14:45:08 +04:00
Alexander Smorkalov 178f0272fe Merge pull request #1515 from asmorkalov:ocv_pr_1464_revert 2013-09-27 13:25:54 +04:00
Alexander Smorkalov 8cb0921252 pr #1464 reverted as breaking the build for Linux without libv4l library. 2013-09-27 12:17:55 +04:00
perping 1bc20ae6f8 fix warning about addWeighted and remove magnitudeSqr(). 2013-09-27 09:50:37 +08:00
Alexander Smorkalov 9d626f3005 Merge pull request #1511 from apavlenko:shorten_hdr 2013-09-26 21:09:41 +04:00
Andrey Pavlenko 0a695eb314 hortening the file names (HighDynamicRange -> HDR) 2013-09-26 17:06:06 +04:00
Andrey Pavlenko 3e91350a31 Merge pull request #1503 from ilya-lavrenov:ocl_arithm 2013-09-26 15:50:54 +04:00
Alexander Smorkalov 26a1a93295 Merge pull request #1464 from StevenPuttemans:bugfix_3186_second 2013-09-26 12:16:02 +04:00
perping 074f9e33cb fix three warning about mog, mog2 and KNearestNeighbour. 2013-09-26 15:30:44 +08:00
perping f65286d3c6 Update the OpenCL documents. 2013-09-26 14:04:11 +08:00
Alexander Smorkalov 7f819008d9 Merge pull request #1500 from alalek:fix_add_definitions 2013-09-26 09:30:25 +04:00
Alexander Smorkalov 9f19126472 Merge pull request #1502 from melody-rain:2.4_Stereo_Match_Const_Space_BP 2013-09-26 09:30:01 +04:00
peng xiao 28ac23c1a1 If device does not support double, returns immediately.
Double floating points are not default supported by OpenCL.
2013-09-26 12:59:21 +08:00
Ilya Lavrenov f5af3ab851 changes in OpenCL matrix operations docs 2013-09-25 19:47:15 +04:00
Alexander Smorkalov 0b41df46ad Merge pull request #1499 from georgebrindeiro:patch-2 2013-09-25 17:24:20 +04:00
Ilya Lavrenov c8821bd909 replaced manually new/delete by AutoBuffer 2013-09-25 15:28:12 +04:00
Ilya Lavrenov 0faac595a8 fixed minMaxLoc kernel (removed compilation errors) 2013-09-25 15:14:10 +04:00
Ilya Lavrenov 544c02407e reverted and generalized original ocl::transpose 2013-09-25 14:22:37 +04:00
Jin Ma c7c0a41e17 Resolved the bug that the work group size is not valid. 2013-09-25 17:42:56 +08:00
Alexander Alekhin b4a534a235 cmake: PCH: use DEFINE_SYMBOL target property 2013-09-25 12:27:08 +04:00
Alexander Alekhin 48774a39b4 cmake: fixed incorrect usage of add_definitions() on Linux 2013-09-25 12:27:08 +04:00
Alexander Smorkalov 887ff0de7b Merge pull request #1498 from alalek:revert_1487 2013-09-25 11:27:26 +04:00
George Andrew Brindeiro 192ca711ef Added nonfree headers that are required for using SURF features 2013-09-24 12:59:37 -03:00
Alexander Smorkalov 6057414a93 Merge pull request #1199 from devernay:2.4-qtkit 2013-09-24 15:36:16 +04:00
Alexander Alekhin ce557fb7be Revert "cmake: fixed incorrect usage of add_definitions() on Linux"
This reverts commit 286244efed.
2013-09-24 15:12:24 +04:00
Alexander Smorkalov 36e7697d1b Merge pull request #1351 from barisdemiroz:eclipse-java-tutorial 2013-09-24 14:44:33 +04:00
Ilya Lavrenov c87d2d414d removed arithm_absdiff.cl 2013-09-24 14:18:42 +04:00
Ilya Lavrenov 8aa3eb817d refactored arithm.cpp. Extended param list for all the tests 2013-09-24 14:13:10 +04:00
Ilya Lavrenov b4ad128218 refactoed and extended ocl::transpose 2013-09-24 14:07:54 +04:00
Ilya Lavrenov 799afab23b refactored and extended ocl::exp and ocl::log 2013-09-24 14:02:01 +04:00
Ilya Lavrenov 0730963576 refactored and extended ocl::compare 2013-09-24 13:58:18 +04:00
Ilya Lavrenov 8e0e352d77 refactored and extended binary bitwise operations 2013-09-24 13:54:46 +04:00
Ilya Lavrenov 161674bff2 refactored and extended ocl::addWeighted 2013-09-24 13:51:37 +04:00
Ilya Lavrenov b20bd470fe refactored and extended ocl::LUT 2013-09-24 13:49:38 +04:00
Ilya Lavrenov 311a7233c2 removed comments from filtering.cpp and imgproc.cpp in ocl module 2013-09-24 13:46:08 +04:00
Ilya Lavrenov bd36e556a1 removed ocl::magnitudeSqr 2013-09-24 13:39:07 +04:00
Ilya Lavrenov 0ad03162df refactored and extended arithm operations add/sub/mul/div/absdiff 2013-09-24 13:34:55 +04:00
Ilya Lavrenov 5ff5fdd73d marked some methods of ocl::Context as const 2013-09-24 13:17:09 +04:00
Ilya Lavrenov d64fb235f7 removed needless arithm_2_mat.cl file 2013-09-24 13:15:05 +04:00
StevenPuttemans 1b1fb131b3 Attempt at fixing bug 3186 2013-09-23 16:51:02 +02:00
Alexander Smorkalov d6d8e96003 Merge pull request #1489 from melody-rain:2_4_knearest_neighbor 2013-09-23 13:34:39 +04:00
Alexander Smorkalov 0cd3d1f4d6 Merge pull request #1482 from ilya-lavrenov:ocl_setTO 2013-09-23 12:56:20 +04:00
Alexander Smorkalov 43485a212d Merge pull request #1487 from alalek:fix_add_definitions 2013-09-23 12:54:20 +04:00
Jin Ma b88f5302e2 Removed unused constructor. 2013-09-23 15:10:00 +08:00
Alexander Smorkalov 02247de339 Merge pull request #1483 from kecsap:nbayes 2013-09-23 10:26:45 +04:00
Jin Ma 1bfe39f485 Added knearest neighbor of OpenCL version.
It includes the accuracy/performance test and the implementation of KNN.
2013-09-22 10:23:54 +08:00
Jin Ma 06c33df307 Added knearest neighbor of OpenCL version.
It includes the accuracy/performance test and the implementation of KNN.
2013-09-22 10:22:09 +08:00
Alexander Alekhin 286244efed cmake: fixed incorrect usage of add_definitions() on Linux 2013-09-21 21:12:39 +04:00
Csaba Kertesz 6fb3b4f41c Fix a memory leak in CvNormalBayesClassifier::train() 2013-09-20 22:36:49 +02:00
Ilya Lavrenov 362a67a695 fixed ocl::oclMat::setTo for 2-channel images 2013-09-20 15:57:38 +04:00
Alexander Smorkalov 94966b38c0 Merge pull request #1448 from StevenPuttemans:bugfix_3264 2013-09-20 10:55:24 +04:00
Andrey Pavlenko d08b163657 Merge pull request #1468 from alalek:fix_alignSize_usage 2013-09-18 13:30:38 +04:00
Alexander Alekhin f1b5cbc8fe ocl: fix invalid usage of alignSize (n is not a power of 2), added roundUp 2013-09-18 01:14:41 +04:00
Alexander Smorkalov 6fae07ba88 Merge pull request #1460 from ilya-lavrenov:ocl_divUp 2013-09-17 15:37:44 +04:00
Alexander Smorkalov 14951dc387 Merge pull request #1461 from ilya-lavrenov:ocl_dataOperations 2013-09-17 15:21:34 +04:00
Alexander Smorkalov d437183388 Merge pull request #1439 from ilya-lavrenov:convertTo 2013-09-17 15:12:02 +04:00
Alexander Smorkalov 9cf301e257 Merge pull request #1449 from SpecLad:dc1394-095 2013-09-17 14:36:30 +04:00
Alexander Smorkalov 8853d19e74 Merge pull request #1452 from alalek:fix_cv_export_templates 2013-09-17 14:35:40 +04:00
Andrey Pavlenko b3bb42773b Merge pull request #1454 from ilya-lavrenov:ocl_pyrUp 2013-09-17 14:03:40 +04:00
Alexander Smorkalov 2dceb68a21 Merge pull request #1455 from ilya-lavrenov:ocl_test_output 2013-09-17 13:18:52 +04:00
Ilya Lavrenov 6a26c4483f added performance tests for data transfer operations 2013-09-16 23:51:36 +04:00
Ilya Lavrenov 58b84c2fc0 removed needless divUp 2013-09-16 15:48:30 +04:00
Alexander Smorkalov 06a7a1ac47 Bug #1890 Opencv 2.4.0 with QT 4.7.4 and cvcreatebutton exception fixed.
QVector range check exception fixed.
2013-09-16 13:42:15 +04:00
Ilya Lavrenov e0325fe057 removed useless output 2013-09-15 22:04:22 +04:00
Ilya Lavrenov a5c9d83617 fixed ocl::pyrUp for 2-byte types 2013-09-15 19:56:05 +04:00
Alexander Alekhin 0ee47502d9 remove CV_EXPORT from templates 2013-09-15 13:48:54 +04:00
Andrey Pavlenko f9c6123439 Merge pull request #1444 from ilya-lavrenov:ocl_test_mog 2013-09-13 19:53:21 +04:00
Roman Donchenko 671e5e39b1 Dropped the HAVE_DC1394_095 configuration macro.
We never set it, and libdc1394 0.9.5 is obsolete anyway - 1.0 came out
in 2004.

Note that 1.0 doesn't have the do_extra_buffering parameter.
2013-09-13 17:25:21 +04:00
StevenPuttemans 199aa80915 Added typo in docs of tutorial 2013-09-13 15:01:18 +02:00
Ilya Lavrenov 9311f84109 disabled MOG tests if no video input support 2013-09-13 12:47:25 +04:00
Roman Donchenko e3710488a8 Merge pull request #1434 from melody-rain:Added_perf_kalman_cpp 2013-09-12 16:54:21 +04:00
Roman Donchenko dee2a65978 Merge pull request #1440 from SpecLad:wcast-align 2013-09-12 13:56:23 +04:00
Roman Donchenko ad52dd37a9 Revert "Merge pull request #1376 from StevenPuttemans:bugfix_3186"
This reverts commit 41b8479d03, reversing
changes made to 531471b0aa.

Reason: breaks the build.
2013-09-12 12:58:10 +04:00
Roman Donchenko ac9bc6423a Merge pull request #1428 from ilya-lavrenov:ocl_pyr 2013-09-12 12:48:45 +04:00
Ilya Lavrenov f20cc2bce8 extended ocl::convertTo 2013-09-12 12:39:03 +04:00
Roman Donchenko fec697b390 Silenced a few -Wcast-align warnings in the headers.
We don't use -Wcast-align ourselves, but the headers trigger warnings
for those users who do, which is not nice.
2013-09-12 12:33:56 +04:00
Roman Donchenko f31d06f980 Merge pull request #1418 from vpisarev:24_ipp_sepfilter_dft 2013-09-12 12:19:37 +04:00
Roman Donchenko 8d438e3def Merge pull request #1386 from asmorkalov:android_abic_check_opt_java 2013-09-12 12:18:55 +04:00
Alexander Smorkalov 3fc6e27a69 Some improvements in ABI compatibility checker config generator.
JNI check became optional;
Pathes to SDK, NDK and Java API level can be defined by command line.
2013-09-12 11:43:13 +04:00
Jin Ma f4d0c9b13c Revised the code according to the feedback of the community. 2013-09-12 09:43:30 +08:00
Roman Donchenko caf9fdbdc3 Merge pull request #1432 from SpecLad:unseq 2013-09-11 13:50:36 +04:00
Roman Donchenko 6fcd9e3830 Merge pull request #1431 from asmorkalov:android_recording_hint 2013-09-11 13:50:03 +04:00
Jin Ma b9d7e67589 Removed whitespace. 2013-09-11 11:28:36 +08:00
Jin Ma 2e0f613c38 Added performance for Kalman Filter. 2013-09-11 10:19:02 +08:00
Roman Donchenko 6a21eca7e7 Merge pull request #1421 from ilya-lavrenov:ocl_bilateral 2013-09-10 18:59:41 +04:00
Alexander Smorkalov 98cb1dcc9a MediaRecorder hint enabled for all Android devices with API level 14 and above.
It increases performance on some devices like Nexus4.
Target Android SDK version increased up to 14.
2013-09-10 18:05:45 +04:00
Roman Donchenko 51ed1873de Eliminated unsequenced assignments to temp3 from dpstereo.cpp.
They're unsequenced if CV_IMIN3 or CV_IMAX3 are invoked more than once
in a single expression.
2013-09-10 18:05:23 +04:00
Ilya Lavrenov 6b9c451938 added CV_16UC(1, 3, 4), CV_16SC(1, 3, 4) data types support in ocl::pyrUp and ocl::pyrDown 2013-09-10 17:36:18 +04:00
Roman Donchenko 747f7178ca Merge pull request #1417 from ilya-lavrenov:merge_fix 2013-09-10 11:33:25 +04:00
Roman Donchenko 68901ab471 Merge pull request #1420 from ilya-lavrenov:ocl_perf_hog 2013-09-10 11:32:35 +04:00
Roman Donchenko 260b283fb3 Merge pull request #1413 from melody-rain:2.4_kalman_filter 2013-09-10 11:28:22 +04:00
Roman Donchenko 41b8479d03 Merge pull request #1376 from StevenPuttemans:bugfix_3186 2013-09-09 18:33:11 +04:00
Ilya Lavrenov 16357418d5 increased time limit for bilateral filter performance tests 2013-09-09 18:16:53 +04:00
Ilya Lavrenov b07b9aca5a fixed HOG perf test 2013-09-09 17:16:47 +04:00
Roman Donchenko 531471b0aa Merge pull request #1412 from jet47:gpu-match-template-nocuda 2013-09-09 16:49:33 +04:00
Roman Donchenko 84435ba741 Merge pull request #1365 from bitwangyaoyao:2.4_bilateral 2013-09-09 16:46:33 +04:00
Vadim Pisarevsky 61f2107829 added IPP optimization of separable 32f filters; fixed IPP version check in DFT; fixed conditions in IPP optimization of norm functions. 2013-09-09 16:13:39 +04:00
Ilya Lavrenov 7d8bde3330 fixed ocl::merge in case of 2 and types CV_32S and CV_32F 2013-09-09 16:12:01 +04:00
Roman Donchenko 574f011a33 Merge pull request #1410 from SpecLad:module-samples 2013-09-09 15:03:41 +04:00
Roman Donchenko 2208248dda Merge pull request #1416 from asmorkalov:doc_hough_circle 2013-09-09 15:03:08 +04:00
Alexander Smorkalov 40212e1eb9 Link to Hough Circle Transform sample fixed in tutorial. 2013-09-09 13:53:49 +04:00
Jin Ma a4ab3f4ea8 Removed whitespace. 2013-09-09 17:00:33 +08:00
Roman Donchenko cb0fc230f1 Merge pull request #1387 from vpisarev:ipp_imgwarp 2013-09-09 12:54:32 +04:00
Roman Donchenko 45512a93e0 Merge pull request #1396 from melody-rain:2.4_perf_bgfg_cpp 2013-09-09 12:39:12 +04:00
Jin Ma 2d5a1dacd0 Added Kalman Filter of OpenCL version. 2013-09-09 16:08:23 +08:00
Roman Donchenko a03c6decaf Merge pull request #1409 from SpecLad:imgproc-test-memerr 2013-09-09 12:03:58 +04:00
Vladislav Vinogradov c439702f0c added missing gpu::matchTemplate implementation for non-CUDA build 2013-09-09 10:51:44 +04:00
Jin Ma 2fb0d23104 Removed unnecessary process for conversion to 4-channel format. 2013-09-07 10:40:30 +08:00
Roman Donchenko ff1eb0d582 Merge pull request #1407 from ilya-lavrenov:ocl_test_mog 2013-09-06 16:58:21 +04:00
Roman Donchenko 8525fb0776 Merge pull request #1406 from SpecLad:gpu-resize-warn 2013-09-06 16:55:44 +04:00
Roman Donchenko 4f109d1292 Fixed a memory access error in CV_Remap_Test::generate_test_data.
begin_x[1] is not the second component of the element, but the element
after the one pointed to begin_x. When begin_x points to the last
element, that line overwrites data past the end of the allocation, which,
during my tests, happened to contain the reference count for the matrix.
Hilarity ensues.
2013-09-06 16:02:41 +04:00
Roman Donchenko 2de8487e58 Fixed a few tests that use uninitialized inputs. 2013-09-06 15:53:42 +04:00
ilya-lavrenov 27947474ec fixed data path 2013-09-06 13:25:56 +04:00
Roman Donchenko 7d62fdc62c GPU resize: removed a few parameter names to avoid unused parameter warnings. 2013-09-06 12:46:58 +04:00
Roman Donchenko bfd84dc5d5 Merge pull request #1402 from SpecLad:ocl-samples 2013-09-06 12:20:03 +04:00
Roman Donchenko 0f4089f3c3 Merge pull request #1404 from ilya-lavrenov:stdcall 2013-09-06 12:09:59 +04:00
Jin Ma 172242a94e Revised performance test according to the feedback of the community. 2013-09-06 13:39:41 +08:00
Ilya Lavrenov be98cd2f7f replaced explicit __stdcall by CV_STDCALL 2013-09-05 19:25:03 +04:00
Jin Ma 1366df8250 MOG&MOG2: Modified the performance test according to the feedback of the community. 2013-09-05 19:33:27 +08:00
Roman Donchenko 70711ac6c2 Merge pull request #1400 from ilya-lavrenov:ocl_test_mog 2013-09-05 11:58:52 +04:00
Roman Donchenko b9ae8623b2 Merge pull request #1398 from ilya-lavrenov:ocl_perf_gemm 2013-09-05 11:56:24 +04:00
ilya-lavrenov 722bdc52a0 enabled gemm and dft erf test 2013-09-04 20:02:02 +04:00
Roman Donchenko 36e0891480 Fixed OCL samples' install path being inconsistent with the other samples. 2013-09-04 18:52:03 +04:00
ilya-lavrenov 0f8f489658 changed data path and eps 2013-09-04 18:46:46 +04:00
Roman Donchenko e5735282da Added the ability to have samples inside a module. 2013-09-04 18:41:19 +04:00
Roman Donchenko 6ebfa87181 Delete a bunch more trailing whitespace that slipped through the cracks. 2013-09-04 16:13:27 +04:00
Roman Donchenko 33d8d8ffd1 Merge pull request #1392 from SpecLad:flann-uninit 2013-09-04 15:49:14 +04:00
Roman Donchenko ed7329ac55 Merge pull request #1397 from ilya-lavrenov:gitignore 2013-09-04 14:16:37 +04:00
Roman Donchenko a9975b144a Fixed a bug in FLANN resulting in uninitialized accesses.
This is fixed upstream in mariusmuja/flann@b615f26, but that fix
would break binary compatibility, so I had to make a different one.

Since the bug isn't quite obvious, here's an explanation. In the const
version of any::cast, if policy is a small_any_policy, its get_value
returns its input argument. So r becomes a pointer to obj, and the
return value is a reference to a local variable, which is invalidated
when the function exits.
2013-09-04 14:06:34 +04:00
ilya-lavrenov f538e50385 updated .gitignore 2013-09-04 11:56:44 +04:00
Jin Ma dd73016c8b Removed whitespace. 2013-09-04 15:00:36 +08:00
Jin Ma e528f39def Added the performance test for mog and mog2. 2013-09-04 14:37:46 +08:00
Roman Donchenko c42d61e464 Merge pull request #1283 from melody-rain:new_mog_mog2 2013-09-03 18:43:03 +04:00
Roman Donchenko b3e73cf7d6 Merge pull request #1388 from bitwangyaoyao:2.4_CLAHE 2013-09-03 18:30:15 +04:00
Roman Donchenko e7f83619c5 Merge pull request #1378 from StevenPuttemans:bugfix_3115 2013-09-03 12:07:24 +04:00
Roman Donchenko 83be226048 Merge pull request #1382 from nghiaho12:cascade_classifier 2013-09-03 12:05:32 +04:00
Roman Donchenko f50a829943 Merge pull request #1383 from pengx17:2.4_clblas 2013-09-03 12:05:01 +04:00
yao a70bdfc13f a little fix to tests and sample 2013-09-03 15:02:18 +08:00
pengxiao ea16539448 Fix a crash of ocl program if clAmdBlas is not linked. 2013-09-03 10:30:37 +08:00
peng xiao 7b3e3f69fb Modify according to @alalek. 2013-09-03 09:31:13 +08:00
Vadim Pisarevsky e85e4d3ab9 fixed bug in IPP-accelerated morphology; added several IPP imgwarp functions (by Klim) 2013-09-02 18:34:50 +04:00
kdrobnyh e6ec3dd17f Add IPP support in resize, warpAffine, warpPerspective functions 2013-09-02 18:04:06 +04:00
Roman Donchenko 757e7f842b Merge pull request #1300 from kdrobnyh:FilterBilateral 2013-09-02 17:01:38 +04:00
Roman Donchenko 99043f6fc2 Merge pull request #1385 from asmorkalov:winrt_glob_fix 2013-09-02 16:05:15 +04:00
Alexander Smorkalov 6d3102141c Globbing accuracy test fail on Windows RT fixed. 2013-09-02 04:31:58 -07:00
Roman Donchenko 188d3f02ee Merge pull request #1302 from kdrobnyh:compare 2013-09-02 15:11:20 +04:00
Roman Donchenko ff2b12334d Merge pull request #1355 from jet47:gpu-stereo-multi-gpu-sample 2013-09-02 14:10:06 +04:00
StevenPuttemans 7e638cb0b5 Bugfix 3115: Added not to documentation for python version for
facerecognizer interface + white + whitespaces remove
2013-09-02 11:59:35 +02:00
Roman Donchenko bd7930ada1 Merge pull request #1345 from pengx17:2.4_tvl1ocl_opt 2013-09-02 13:09:22 +04:00
peng xiao 3c2a8912ee Let clAmdBlas library initialize once during program lifetime. 2013-09-02 10:06:01 +08:00
Nghia Ho 81a6ae791b changed int -> size_t when accessing std::vector 2013-08-31 23:35:03 +10:00
Roman Donchenko 7e4c0ac4d6 Merge pull request #1371 from HapeMask:fix-png-warnings 2013-08-30 17:56:06 +04:00
Roman Donchenko 46d74d7c6b Merge pull request #1360 from vpisarev:24_ipp_dft_canny_morphrect 2013-08-30 17:55:07 +04:00
Gabe Schwartz b2bedef26f Added interlace handling to PNG decoder.
libpng 1.5+ recommends a call to png_set_interlace_handling() if you use
png_read_update_info and png_read_image. It will generate a warning
without it.
2013-08-30 09:49:24 -04:00
Gabe Schwartz e2441e0034 Removed incorrect iCCP chunks from GUI resources.
Also removed malformed tEXt chunk from a logo PNG.
2013-08-30 09:49:24 -04:00
Roman Donchenko d6e8216b16 Merge pull request #1374 from zacstewart:2.4 2013-08-30 17:28:51 +04:00
Roman Donchenko 42b4d830e8 Merge pull request #1266 from kdrobnyh:core_stat_functions 2013-08-30 17:26:20 +04:00
Roman Donchenko 96a0afce50 Merge pull request #1236 from pengx17:2.4_fix_retina_color_param 2013-08-30 17:25:07 +04:00
StevenPuttemans e7921c3fe7 Added changes suggested by bug #3186 : fixing the unplugging of webcam 2013-08-30 13:16:18 +02:00
StevenPuttemans 15f1a48ec4 Updated with comments of speclad 2013-08-30 12:50:06 +02:00
Vladislav Vinogradov 17e20b2c60 fix for bug #3219 (undefined reference in GPU samples) 2013-08-30 14:46:47 +04:00
Zac Stewart 8049296cda Correct name of eye function 2013-08-30 06:34:47 -04:00
Zac Stewart f36a9f745f Remove extraneous colon before ':basicstructures:' 2013-08-30 06:34:23 -04:00
Roman Donchenko 114bec52fe Merge pull request #1363 from ilya-lavrenov:ocl_enable_tests 2013-08-30 12:24:24 +04:00
Roman Donchenko 72e11f9066 Merge pull request #1370 from ilya-lavrenov:ocl_decor 2013-08-30 12:21:27 +04:00
kdrobnyh f4aa7ff919 Add IPP support in meanStdDev, minMaxIdx, norm functions 2013-08-29 21:09:19 +04:00
Alexander Smorkalov 114e04ee12 OpenCV version++. Current OpenCv version 2.4.6.2 2013-08-29 19:00:13 +04:00
kdrobnyh dc1eb583b4 Merge pull request #5 from Itseez/2.4
Some changes in OpenCV
2013-08-29 07:53:46 -07:00
Alexander Smorkalov 09e66adadc New Tegra detector with Android 4.3 support added. Manager version++.
(cherry picked from commit aa00b5a0ab)

Conflicts:

	platforms/android/service/engine/jni/BinderComponent/TegraDetector.cpp
2013-08-29 18:48:48 +04:00
Alexander Smorkalov ba26f6d48a Native camera libraries updated.
Android 4.3 support added;
ANY camera index support fixed;
applyProperties now uses camera->reconnect() instead close/connect for Android 4.x.
(cherry picked from commit fff91eef0b)
2013-08-29 18:46:45 +04:00
ilya-lavrenov a6084d2970 enabled some tests that failed before OCL_TEST_CYCLE*() macroses were defined and for some tests was disabled SANITY_CHECK, because plain and ocl results must not be completely equal 2013-08-29 18:39:09 +04:00
ilya-lavrenov 968c095403 gpu -> ocl 2013-08-29 18:32:06 +04:00
StevenPuttemans caaf440bd8 Added fix in CMakeLists.txt for contrib module. 2013-08-29 16:09:48 +02:00
Roman Donchenko 53818f0f5f Merge pull request #1361 from asmorkalov:winrt_api_container 2013-08-29 18:09:06 +04:00
Roman Donchenko 78a6692e53 Merge pull request #1359 from asmorkalov:winrt_tiff_api_fix 2013-08-29 18:07:58 +04:00
kdrobnyh 7a7aa148d4 Add IPP support in compare function 2013-08-29 17:55:57 +04:00
Jin Ma 114f3266d8 Removed performance test. 2013-08-29 17:35:47 +08:00
Jin Ma 4f3349ffe4 Added perf namespace. 2013-08-29 16:24:26 +08:00
Jin Ma 0233c4c198 Removed whitespace. 2013-08-29 15:49:02 +08:00
Jin Ma 14e083f1e0 Removed trailing whitespace 2013-08-29 14:09:00 +08:00
Jin Ma 5728612f95 Removed the trailing whitespace 2013-08-29 14:06:03 +08:00
yao ab235cda74 fix warnings 2013-08-29 11:59:19 +08:00
yao 26b5eb3e39 add adaptive bilateral filter (cpp and ocl version) 2013-08-29 10:48:15 +08:00
Vadim Pisarevsky f12702be24 fixed bugs in rectangular morphology case 2013-08-28 19:53:40 +04:00
Alexander Smorkalov ebe7f00cb4 /apicontainer added to linker flags on WinRT to fix api test issues. 2013-08-28 08:36:57 -07:00
Roman Donchenko 90cf8fbd60 Merge pull request #1338 from asmorkalov:android_tegra_detector 2013-08-28 19:02:09 +04:00
Roman Donchenko e958767a8b Merge pull request #1343 from asmorkalov:android_img_manipulations_fix 2013-08-28 19:01:15 +04:00
Alexander Smorkalov 3036ec4b89 LibTIFF Win32 API back-end disabled for Windows RT. 2013-08-28 07:31:46 -07:00
Vadim Pisarevsky 771feb61c2 fixed building OpenCV with IPP 6.x (different DFT API); added Canny and rectangular morphology (based on Alex Kapustin patches) 2013-08-28 17:00:26 +04:00
Alexander Smorkalov aa00b5a0ab New Tegra detector with Android 4.3 support added. Manager version++. 2013-08-28 15:22:14 +04:00
Alexander Smorkalov 8d4cbf4deb Bug #3238 Android sample image manipulations blinks in non-preview modes fixed. 2013-08-28 15:08:13 +04:00
Roman Donchenko 2b90b20be2 Merge pull request #1357 from SpecLad:less-precomps 2013-08-28 14:52:28 +04:00
Roman Donchenko cdf6cf2cd8 Merge pull request #1213 from kdrobnyh:color 2013-08-28 13:31:09 +04:00
Roman Donchenko 122d0f8685 Deleted the now-empty ocl perf_precomp.cpp.
See pull request #1241 for why.
2013-08-28 13:26:30 +04:00
Roman Donchenko 8bb9994094 Merge pull request #1349 from ilya-lavrenov:ocl_perf_finish 2013-08-28 12:46:01 +04:00
Vladislav Vinogradov d87eb75904 rewrite gpu stereo multi gpu sample:
* use different approaches -> threads and streams
* clean up code
2013-08-28 12:41:41 +04:00
ilya-lavrenov 3c86aa4ae1 appended ocl::finish to test_cycle defines 2013-08-28 00:39:58 +04:00
Baris Evrim Demiroz 9a560a5a8d Added a new tutorial "Using OpenCV Java with Eclipse". Removed information related to Eclipse from "Desktop Java" tutorial. 2013-08-27 22:42:03 +03:00
Roman Donchenko cd5b8af609 Restored one executable bit that was lost during the war on whitespace. 2013-08-27 14:39:43 +04:00
Roman Donchenko 0e32d7ccb3 Merge pull request #1346 from jet47:gpu-tvl1-optimization 2013-08-27 12:36:45 +04:00
Vladislav Vinogradov bff0fad6c3 gpu TVL1 Optical Flow optimization:
do not calculate sum of error in every round of iteration;
instead the error will be summed every 2nd times or more, 
if the previous sum of error is too far away from threshold.
2013-08-27 11:21:41 +04:00
peng xiao 040b3b8265 Remove trailing whitespace. 2013-08-27 13:02:34 +08:00
peng xiao c74c517ce3 Fix build error. 2013-08-27 11:56:11 +08:00
peng xiao 168d1dc18c Make some tweaks to make sum operations less frequently 2013-08-27 11:42:54 +08:00
Roman Donchenko 525b6eca2e Merge pull request #1311 from leszekhanusz:png_palette_alpha 2013-08-26 16:59:45 +04:00
Roman Donchenko b43890a7e1 Merge pull request #1326 from ilya-lavrenov:perf_ocl 2013-08-26 16:54:59 +04:00
Roman Donchenko d44adcd6e8 Merge pull request #1336 from jet47:gpu-resize 2013-08-26 16:40:50 +04:00
ilya-lavrenov d02ccc9590 the code was refactored and old test system code was removed 2013-08-26 12:36:31 +04:00
ilya-lavrenov 4c28a6f0f6 most of the performance tests was rewritten in google-test manner 2013-08-26 11:43:44 +04:00
Vladislav Vinogradov 21c4753fed used global memory access for up-scaling 2013-08-23 18:08:06 +04:00
Roman Donchenko 7cefb6f50b Merge pull request #1335 from alekcac:ios-build-fix 2013-08-23 16:54:48 +04:00
Roman Donchenko 3182e68b8a Merge pull request #1334 from MarkBelmont:bugfix_1 2013-08-23 16:49:51 +04:00
Alexander Shishkov 88712d97c6 fix CMake changes 2013-08-23 16:09:41 +04:00
Roman Donchenko c11502cf56 Merge pull request #1333 from kirill-kornyakov:bugfix-for-3231 2013-08-23 15:56:11 +04:00
Roman Donchenko 9bb1a7d34d Merge pull request #1234 from SpecLad:ios-plist 2013-08-23 15:43:08 +04:00
Roman Donchenko cae4480834 Merge pull request #1332 from pengx17:2.4_fix_parallel 2013-08-23 14:47:49 +04:00
Vladislav Vinogradov d1f6a23abf improved texture usage:
* use explicit extrapolation only for sub-matrixes
* use built-in interpolation for INTER_NEAREST mode
2013-08-23 13:57:12 +04:00
Vladislav Vinogradov 241cc417f9 added custom implementation for nearest and linear interpolation 2013-08-23 13:57:12 +04:00
Vladislav Vinogradov 3b05acf936 reorganize code for further modifiction 2013-08-23 13:56:35 +04:00
Alexander Shishkov 396f6bb55f fixed problems with building iOS version 2013-08-23 13:41:19 +04:00
Alexander Shishkov 16814c7fb1 Update build_framework.py 2013-08-23 12:51:50 +04:00
MarkBelmont cf34b3d65b Changed the brief description of function Mat::colRange from "Create a matrix header for the specified row span." to "Create a matrix header for the specified column span." 2013-08-23 16:39:39 +08:00
Kirill Kornyakov 030fa5673e bugfix-for-3231 2013-08-23 12:34:35 +04:00
Vladislav Vinogradov f826bd8bce removed NPP implementation 2013-08-23 12:16:41 +04:00
Roman Donchenko e1397f6c1f Merge pull request #1324 from SpecLad:try-compile 2013-08-23 12:06:57 +04:00
Roman Donchenko ceb522ad2f Merge pull request #1329 from SpecLad:msvc-werror 2013-08-23 12:04:33 +04:00
peng xiao 2519a21935 Fix a potential bug of ParallelLoopBodyWrapper::operator(Range)
On a 32-bit compiler the calculation may result in data (size_t) overflow when running some paralleled algorithms (which can safely run on a 64-bit compiler).
This bug is found when running OpenCV's Retina tutorial on 32bit VS2010.
2013-08-23 15:35:55 +08:00
Roman Donchenko 10860783ef Added warnings-as-errors support for MSVC. 2013-08-22 18:25:38 +04:00
Ilya Lavrenov 6c4ad9b597 fixer error with incorrect condition 2013-08-22 17:38:55 +04:00
Ilya Lavrenov ec461a2ff0 added a test for ocl::norm 2013-08-22 17:37:48 +04:00
Roman Donchenko a9e9ce859e Fix errors in usages of try_compile
* There's no OPENCV_BINARY_DIR variable;
* No need to append CMakeFiles/CMakeTmp, as CMake does it for you;
* Output variables are unused;
* Wrong usage of CMAKE_FLAGS;
* Small quoting and style issues.
2013-08-22 15:56:35 +04:00
Roman Donchenko 20bf1aa244 Merge pull request #1321 from asmorkalov:winrt_mode_warn_fix 2013-08-22 12:46:00 +04:00
Roman Donchenko fe4c7ae4ae Merge pull request #1317 from jet47:gpu-tvl1-optimization 2013-08-22 11:55:24 +04:00
Roman Donchenko 43aec5ad4a Merge pull request #1318 from SpecLad:wow 2013-08-22 11:49:45 +04:00
Jin Ma 1e8194fd3c Optimized mog and mog2, which have much better performance. 2013-08-22 15:42:07 +08:00
Alexander Smorkalov 8aae54b7f4 WindowsRT mode build warning fix. 2013-08-21 23:59:27 -07:00
Roman Donchenko 9c60a2c24c Merge pull request #1316 from asmorkalov:winrt_c4447_fix 2013-08-21 19:24:25 +04:00
Roman Donchenko 3c137f7a04 Converted tabs to spaces. 2013-08-21 18:59:26 +04:00
Roman Donchenko e9a28f66ee Normalized file endings. 2013-08-21 18:59:25 +04:00
Roman Donchenko f55740da70 Deleted all trailing whitespace. 2013-08-21 18:59:24 +04:00
Roman Donchenko 0d8cb2e319 Disabled whitespace checking for 3rdparty. 2013-08-21 18:59:24 +04:00
Roman Donchenko 748201c3dc Added more text/binary/whitespace attributes for files we have. 2013-08-21 18:59:24 +04:00
Roman Donchenko ad7073bc22 Merge pull request #1305 from SpecLad:perf-precomp 2013-08-21 18:34:48 +04:00
Roman Donchenko ebb6c842f9 Merge pull request #1295 from asmorkalov:winrt_ptr_usage_fix 2013-08-21 18:28:36 +04:00
Alexander Smorkalov b15addec70 C4447 warning about main function format suppressed. 2013-08-21 07:24:46 -07:00
Alexander Smorkalov d62c98527a Invalid usage of cv::Ptr for arrays fixed. 2013-08-21 07:20:35 -07:00
Vladislav Vinogradov de214950c4 minor gpu TVL1 optical flow optimization:
don't calc diff term if it is not used for epsilon criterion
2013-08-21 18:17:45 +04:00
Roman Donchenko 1a7c2eefb8 Merge pull request #1306 from jet47:gpu-bitwize-fix 2013-08-21 16:18:31 +04:00
Hanusz Leszek 32635a6834 using unsigned char instead of uint8_t to compile under windows 2013-08-21 12:33:51 +02:00
Roman Donchenko 868e355e33 Merge pull request #1269 from kdrobnyh:FindIPP-cmake-script 2013-08-21 13:32:27 +04:00
Roman Donchenko 84a9755597 Merge pull request #1215 from jet47:cuda-5.5-sanity 2013-08-21 13:25:28 +04:00
kdrobnyh ea5dd74af1 Add IPP 8.0 support in FindIPP script 2013-08-21 13:02:18 +04:00
Roman Donchenko 7831a2d45c Merge pull request #1314 from jet47:ts-gpu-fix 2013-08-21 11:56:29 +04:00
Vladislav Vinogradov 2899d558ac record cuda gpu name to output report 2013-08-21 10:12:44 +04:00
Vladislav Vinogradov b7ec673001 added cvconfig.h header, because ts_perf.cpp uses HAVE_CUDA macros 2013-08-21 10:00:40 +04:00
Hanusz Leszek cf39ba5801 Allow to read PNG image of color_type PNG_COLOR_TYPE_PALETTE with alpha channel
Correct reading PNG color type palette with or without alpha imread flags -1 or 1
Better not using pnginfo.h, using png_get_tRNS instead
2013-08-21 05:31:44 +02:00
Vladislav Vinogradov cb2985c526 fixed gpu bitwize operation:
incorrect types for template instantiation
2013-08-20 16:28:45 +04:00
Roman Donchenko 9667a8a1ae Fix the name of perf tests' precompiled header.
(cherry picked from commit aa96d8d053)
2013-08-20 14:54:31 +04:00
Roman Donchenko adc1dd2799 Merge pull request #1301 from asmorkalov:java_video_capture_fix 2013-08-20 12:12:22 +04:00
Alexander Smorkalov e37f7a4c73 Typo in Java generator fixed.
Typo breaks debug build for Android platform.
2013-08-19 16:27:06 +04:00
kdrobnyh c1de14c27a Fix bilateralFilter function 2013-08-19 15:52:34 +04:00
Roman Donchenko abf372d759 Fixed incorrect extension on 3rdparty/libpng/opencv-libpng.patch. 2013-08-19 15:00:36 +04:00
Roman Donchenko 70fffa48e5 Merge pull request #1293 from jet47:gpu-cvtcolor-fix 2013-08-19 14:14:22 +04:00
Roman Donchenko bed3512dd5 Merge pull request #1288 from nghiaho12:haar 2013-08-19 12:04:24 +04:00
Vladislav Vinogradov cfbd791465 fixed gpu cvtColor for BGR <-> YUV 2013-08-19 11:56:58 +04:00
kdrobnyh e18651059d Merge pull request #4 from Itseez/2.4
OpenCV changes
2013-08-17 09:24:43 -07:00
kdrobnyh 3c9f307193 macros -> template in IPP support cvtColor 2013-08-17 20:04:03 +04:00
Nghia Ho c6858c3fb0 Buffer is accessed out of bounds. 2013-08-17 20:32:13 +10:00
Roman Donchenko 449b99a6d7 Merge pull request #1286 from SpecLad:optflow-sf-init 2013-08-16 19:59:26 +04:00
Roman Donchenko 7919bcef70 Merge pull request #1277 from NCBee:2.4 2013-08-16 19:59:12 +04:00
Bahram Dahi 230bc03d97 Moved Scalar variable 'value' to int main() to work around a GCC -Wshadow warning in operations.hpp 2013-08-16 08:14:32 -07:00
Roman Donchenko e8f85903c5 Merge pull request #1280 from asmorkalov:winrt_detect_fix 2013-08-16 19:03:45 +04:00
Alexander Smorkalov ddbeac503c WindowsRT availability check reorganized. Build script updated. 2013-08-16 05:22:54 -07:00
Roman Donchenko 5ca1b559a8 Merge pull request #1284 from melody-rain:superres_example_2 2013-08-16 16:07:41 +04:00
Roman Donchenko 7d768d2159 In calcOpticalFlowSF, fixed several uninitialized uses of matrices.
This should fix that pesky test failure that pops up from time to time.

I don't actually know if the default values should be zeros, but the tests
pass, so...
2013-08-16 14:43:18 +04:00
Roman Donchenko 47b3e7855f Merge pull request #1252 from asmorkalov:winrt_api_cert_highgui_fix 2013-08-16 14:05:39 +04:00
Roman Donchenko a3bbb3dd3d Merge pull request #1279 from asmorkalov:ocv_opt_tabs 2013-08-16 13:58:14 +04:00
Jin Ma 1bcd1fd3a2 Used perf_precomp.hpp instead of precomp.hpp for test. 2013-08-16 17:39:17 +08:00
Roman Donchenko 46fb737bdc Merge pull request #1152 from StevenPuttemans:bugfix_2795 2013-08-16 12:52:48 +04:00
Jin Ma 8fb6b689c6 1. Added OpenCL version of superres to the sample.
2. Modified according to the feedback of the community.
2013-08-16 16:31:31 +08:00
Roman Donchenko ac8506db32 Merge pull request #1210 from pengx17:2.4_ocl_surf_intel_fix 2013-08-16 12:22:18 +04:00
Alexander Smorkalov a3dd13450c All optimized function tables wrapped to getters to change its
initialization time.
2013-08-16 12:10:07 +04:00
Jin Ma a3aa7966ae Resolved compiling errors under Linux. 2013-08-16 16:07:53 +08:00
Roman Donchenko 35cb59bb22 Merge pull request #1258 from apavlenko:java_video_capture 2013-08-16 12:05:13 +04:00
Jin Ma 916b92bc3b Resolved a compiling warning under Windows. 2013-08-16 15:33:43 +08:00
Jin Ma 8feaadc69f Resolved a compiling error under Linux. 2013-08-16 15:25:11 +08:00
Jin Ma 3fb0bf6e99 Added MOG and MOG2. 2013-08-16 14:19:46 +08:00
Andrey Pavlenko 5a9bd3f080 restoring binary compatibility 2013-08-15 23:49:32 +04:00
Roman Donchenko 95143fdc13 Merge pull request #1275 from rdm12:bug_1922 2013-08-15 19:12:23 +04:00
Alexander Smorkalov 9af2c1661a Restricted Win32 API was fixed in Highgui and some 3rd party libs. Patch
for libpng added.
2013-08-15 06:42:00 -07:00
Dmitry Retinskiy ab8c0fde52 applied comments after review 2013-08-15 16:18:01 +04:00
Roman Donchenko 73c5069f54 Merge pull request #1276 from nghiaho12:mushroom 2013-08-15 12:05:02 +04:00
Bahram Dahi 83e21568ee Minor bug fix, missing const in method signature 2013-08-14 15:54:13 -07:00
Bahram Dahi 6cf9070b9a Added ability to read several opencv types (Size, Point, etc.) to FileStorage. Solves issue #3196 2013-08-14 15:08:34 -07:00
Roman Donchenko 7b95bb20f7 Merge pull request #1272 from kamjagin:fixingQTKitPublic2.4 2013-08-14 18:50:26 +04:00
Roman Donchenko 902aa309f8 Merge pull request #1270 from rdm12:bugfix_3094 2013-08-14 18:49:38 +04:00
Dmitry Retinskiy f013baf739 bug #1922: restored most of the class definitions in basic_structures.rst 2013-08-14 17:37:59 +04:00
Nghia Ho 21641d04a7 Fixed mismatching allocation and deallocation: el_ptr 2013-08-14 23:36:29 +10:00
Roman Donchenko 6ae9870de4 Merge pull request #1254 from pengx17:2.4_filter2d_ 2013-08-14 17:27:18 +04:00
kamjagin 69287c936b missed # in if defined 2013-08-14 14:25:46 +02:00
kamjagin c24c1a5926 added HAVE_QTKIT to tests 2013-08-14 13:40:50 +02:00
kamjagin 7ff07e94a3 Fix for bug Bug #3215. Added HAVE_QTKIT as a separate mode from HAVE_QUICKTIME 2013-08-14 13:34:34 +02:00
Dmitry Retinskiy 4eb85189e5 bug #3094: added CV_Assert to PyrDown_ to check if source matrix is not empty 2013-08-14 15:30:35 +04:00
kdrobnyh 4943b0a73c Merge pull request #3 from Itseez/2.4
OpenCV changes
2013-08-14 02:29:15 -07:00
Roman Donchenko bcba3fc6b8 Merge pull request #1263 from abidrahmank:pyCLAHE_24 2013-08-14 12:10:22 +04:00
Roman Donchenko e3d508902e Merge pull request #1262 from StevenPuttemans:fix_surf_tutorial 2013-08-14 12:08:59 +04:00
Roman Donchenko ceacd75ab1 Merge pull request #1245 from rdm12:doc_tutorial_camera_calibration 2013-08-14 12:07:25 +04:00
peng xiao 124ede611b Update with apavlenko's suggestions. 2013-08-14 10:00:09 +08:00
abidrahmank 96c1df14f4 CLAHE Python bindings 2013-08-13 19:51:32 +05:30
Roman Donchenko 43c7a8ae93 Merge pull request #1259 from pengx17:2.4_fix_cvtcolor 2013-08-13 16:34:19 +04:00
Roman Donchenko fae7b20815 Merge pull request #1255 from SpecLad:no-cr 2013-08-13 16:33:55 +04:00
StevenPuttemans 89012e8f6b Missing including of nonfree module to support the use of SURF
detector/descriptor.
2013-08-13 14:23:24 +02:00
Andrey Pavlenko f3b1933a92 LinkedList -> ArrayList 2013-08-13 15:51:37 +04:00
Roman Donchenko 4fb81052a8 Merge pull request #1256 from kamjagin:2.4 2013-08-13 13:37:09 +04:00
Andrey Pavlenko 4902db1c42 also fixing JNI library name in JUnit tests 2013-08-13 13:18:01 +04:00
peng xiao 2fb2ac8836 Apply bugfix #3121 for OCL. 2013-08-13 17:17:07 +08:00
Miroslav Kobetski 93f05fed35 Fixed elif/elseif error that made highgui-windows fail on mac+cocoa. 2013-08-13 10:34:31 +02:00
Andrey Pavlenko d4e098f401 enabling of VideoCapture(String) [fixing issue #3207]
- enable auto-wrap of VideoCapture;
- minor refactoring of generated code templates.
2013-08-13 12:04:36 +04:00
peng xiao 7fe8403074 Let ocl::filter2D support kernel size >= 3. 2013-08-13 13:58:55 +08:00
Roman Donchenko d302222d82 Don't put \r into OPENCV_REFMAN_TOC.
There's no need, since configure_file writes its output using native
line endings, anyway.
2013-08-12 19:04:18 +04:00
Roman Donchenko 390b67e5a0 Merge pull request #1251 from StevenPuttemans:bugfix_3209 2013-08-12 18:56:35 +04:00
Roman Donchenko dc06d47f1c Merge pull request #1241 from SpecLad:redundant-precomps 2013-08-12 17:19:53 +04:00
Roman Donchenko 57c1e8f333 Merge pull request #1242 from asmorkalov:android_native_cam 2013-08-12 14:47:48 +04:00
Roman Donchenko 504ebda7c4 Merge pull request #1235 from WonderRico:bugfix_dshow 2013-08-12 14:33:30 +04:00
StevenPuttemans fd056235d3 Added bugfix 3209 : anchor point (-1,1) changed to (-1,-1) 2013-08-12 11:44:38 +02:00
WonderRico d067749c21 fix _index / index 2013-08-12 11:19:53 +02:00
Roman Donchenko 98cd04c191 Merge pull request #1163 from kdrobnyh:Morphology 2013-08-12 12:06:31 +04:00
Roman Donchenko 314f3d84e1 Merge pull request #1246 from StevenPuttemans:bugfix_3206 2013-08-12 11:57:39 +04:00
StevenPuttemans d11746e56d Added fix mentioned in bug #3206
VideoWriter memory leak solved.
2013-08-12 09:49:19 +02:00
WonderRico a048387376 fix formating 2013-08-09 16:13:40 +02:00
Roman Donchenko 8d39350b4d Merge pull request #1239 from Daniil-Osokin:fix_build_of_camera_calibration_android_sample 2013-08-09 17:45:21 +04:00
Alexander Smorkalov fff91eef0b Native camera libraries updated.
Android 4.3 support added;
ANY camera index support fixed;
applyProperties now uses camera->reconnect() instead close/connect for Android 4.x.
2013-08-09 17:43:21 +04:00
Roman Donchenko 167abf0dae Merge pull request #1244 from vkocheganov:bugfix_3179 2013-08-09 11:49:27 +04:00
Dmitry Retinskiy 2765f3f7ad Minor language corrections in the tutorial document 2013-08-09 10:32:34 +04:00
kocheganovvm e4b201be25 Fix unsequenced modifications (Bug #3179). 2013-08-08 18:55:47 +04:00
Roman Donchenko 4dc63273f0 Renamed ocl tests' precomp files according to convention.
Also, added the missing include guard to perf_precomp.hpp.
This should fix the build.
2013-08-08 18:18:54 +04:00
Roman Donchenko 6d7f29a03a Made it so that a dummy .cpp is actually created when compiling with VC++. 2013-08-08 16:49:14 +04:00
Roman Donchenko d9f71b762f Deleted almost all of the precomp.cpp files.
Looks like we don't actually use them; when creating precompiled headers
with Visual C++, a dummy .cpp is created at build time.
2013-08-08 12:43:07 +04:00
kdrobnyh 7da5fa01d4 Removed extra {} in erosion and dilation functions 2013-08-08 12:30:28 +04:00
Roman Donchenko 79b6f68f54 Merge pull request #1233 from vpisarev:24_ipp_78 2013-08-08 12:00:52 +04:00
Daniil Osokin 65c5c4df70 Fixed build of camera calibration android sample 2013-08-08 09:31:25 +04:00
Vadim Pisarevsky d5539975d7 polished the patch 2013-08-07 22:34:29 +04:00
Andrey Pavlenko 1c55096c01 Merge pull request #1232 from StevenPuttemans:fix_wrong_documentation 2013-08-07 21:05:43 +04:00
StevenPuttemans ed76b2f98f Like mentioned by Andrei Pavlenko after merging pullrequest #1206, a wrong
ReST directive was used. Also fixed some other ReST directives that were
not correct and removed some warnings during buildbot checks.
2013-08-07 14:49:33 +02:00
Roman Donchenko 92c823f82f Merge pull request #1237 from SpecLad:xls-separate-wh 2013-08-07 15:21:35 +04:00
Roman Donchenko e23f31311d xls-report.py: separated image width and height for easier analysis. 2013-08-07 13:43:03 +04:00
Roman Donchenko 95bdd4b670 Merge pull request #1189 from pengx17:2.4_sort_by_key 2013-08-07 11:41:23 +04:00
peng xiao 5aaed77cbc Fix a bug of retinaParameters.
When colorMode is set to 0 via Retina::_init method, _retinaParameters's
colorMode variable is not correctly assigned.
2013-08-07 14:36:24 +08:00
Andrey Pavlenko a7da129984 Merge pull request #1187 from kdrobnyh:mean_and_sum 2013-08-06 20:54:52 +04:00
Andrey Pavlenko e0659a5967 Merge pull request #1231 from SpecLad:static-ts 2013-08-06 20:53:43 +04:00
WonderRico 7e7fb0b75d Bug #3201 fix 2013-08-06 18:35:49 +02:00
Roman Donchenko 5dd598fc6d Fix building the iOS framework after I dropped the VERSION macro.
This version uses CMake to generate Info.plist, which should be more
reliable than the old approach.
2013-08-06 18:56:36 +04:00
Vadim Pisarevsky 10fde1ca5c disabled 64f IPP DFT; added IPP Gaussian filter; added IPP GetRectSubPix; added IPP BilateralFilter (temporarily disabled) 2013-08-06 18:31:06 +04:00
Roman Donchenko 131458847b Make ts always static.
This allows us to forget about the GTEST_(CREATE|LINKED_AS)_SHARED_LIBRARY
macros and to get rid of the dependency on cvconfig.h.
2013-08-06 17:56:25 +04:00
Roman Donchenko 2911b12145 Merge pull request #1216 from alekcac:sphinx 2013-08-06 14:31:15 +04:00
Alexander Shishkov b84b8db277 Removed useless .* 2013-08-06 14:28:07 +04:00
Roman Donchenko b2d1d87ed1 Merge pull request #1225 from apavlenko:fix_format_security 2013-08-05 12:58:37 +04:00
Roman Donchenko 4fb2e9a85a Merge pull request #1196 from rdm12:bugfix_3121_cvtcolor 2013-08-05 12:52:15 +04:00
Roman Donchenko d92b638768 Merge pull request #1226 from apavlenko:fix_java_test_ellipse2poly 2013-08-05 12:38:19 +04:00
Andrey Pavlenko 7b0734caf9 fixing java test after fix in OpenCV library 2013-08-05 11:45:17 +04:00
Andrey Pavlenko a06891851d fixing compilation with -Werror=format-security enabled 2013-08-05 11:11:54 +04:00
Andrey Pavlenko 6483754860 Merge pull request #1220 from asmorkalov:msmf_sizet_fix 2013-08-05 10:26:39 +04:00
Andrey Pavlenko af8a03e17f Merge pull request #1222 from philippefoubert:branch_2.4_pvapi 2013-08-05 10:20:25 +04:00
Alexander Smorkalov aada5f7844 Difference in method definition and declaration fixed (Bug #3189). 2013-08-04 22:34:36 +04:00
Andrey Pavlenko a2ff1b07b3 Merge pull request #1219 from asmorkalov:winrt_neon 2013-08-04 21:59:06 +04:00
Alexander Smorkalov 2243118fc0 NEON instruction set enabled for WIN32 on ARM by default. 2013-08-04 08:47:42 -07:00
Alexander Shishkov afd7429cbd Update OpenCVDetectPython.cmake
On my MacOS the output of the sphinx-build binary is the following:

Error: Insufficient arguments.

Sphinx v1.2b1
Usage: /usr/local/bin/sphinx-build [options] sourcedir outdir [filenames...]

...

I have installed sphinx, but without this change HAVE_SPHINX==0 for me, so I can't build docs.
2013-08-03 00:17:40 +04:00
Andrey Pavlenko ee8687ba19 Merge pull request #1214 from StevenPuttemans:feature_3169_others 2013-08-02 17:59:06 +04:00
Vladislav Vinogradov d13ecd0d76 increase epsilon for GEMM & Convolve sanity tests for CUDA 5.5 2013-08-02 17:31:34 +04:00
Andrey Pavlenko f0d854ce39 Merge pull request #1205 from asmorkalov:winrt_api_cert_fix 2013-08-02 16:27:23 +04:00
StevenPuttemans f28496c628 Added sample links in documentation for python2, ocl and gpu 2013-08-02 14:05:08 +02:00
Alexander Smorkalov 63786c389f Warning and review notes fixes.
WITH_WINRT -> ENABLE_WINRT_MODE;
Some temporary char* replaced with Ptr<char>;
Build fix for regular WIN32;
Windows Platform SDK and MSVC search added to cmake;
Warinig fixes.
2013-08-02 04:10:56 -07:00
Andrey Pavlenko add2ea75c3 Merge pull request #1212 from jet47:gpu-calc-hist 2013-08-02 13:23:04 +04:00
Vladislav Vinogradov 55cb26551f use NPP version for Fermi 2013-08-02 09:05:21 +04:00
Vladislav Vinogradov a28cb99e88 optimized version of histEven for CV_8UC1 2013-08-01 18:00:05 +04:00
Vladislav Vinogradov bfca1afd9e rewrite histEven test 2013-08-01 18:00:05 +04:00
Vladislav Vinogradov c8d1fccdac compare cv::gpu::calcHist with cv::calcHist 2013-08-01 18:00:05 +04:00
kdrobnyh c1ad6a9ffb Add IPP support in cvtColor function 2013-08-01 15:15:36 +04:00
peng xiao fd77a49e76 Fix ocl compilation error when using Intel OpenCL SDK. 2013-08-01 13:06:33 +08:00
Alexander Smorkalov e03ffde346 WinRT API Certification fixes for core and contrib. 2013-07-31 05:43:53 -07:00
Alexander Smorkalov 62b85a41da TLS calls on WinRT replaced on variables with C++11 "thread" attribute. 2013-07-31 05:43:52 -07:00
Alexander Smorkalov 6257df1c4b API restricted on WinRT partially removed from core.
Additional CMAKE flag WITH_WINRT added.
2013-07-31 05:43:51 -07:00
Andrey Pavlenko 9b5d1596dc Merge pull request #891 from NCBee:2.4 2013-07-31 16:38:16 +04:00
Andrey Pavlenko 4c35449b7d Merge pull request #1139 from StevenPuttemans:bugfix_3101 2013-07-31 15:14:03 +04:00
Andrey Pavlenko d138f77143 Merge pull request #1019 from jet47:opengl-documentation 2013-07-31 15:10:27 +04:00
Andrey Pavlenko 76a938c7ef Merge pull request #1197 from apavlenko:fix_unstable_perf_tests 2013-07-31 15:07:19 +04:00
Andrey Pavlenko 6a40067424 Merge pull request #1206 from StevenPuttemans:feature_3169 2013-07-31 14:31:21 +04:00
StevenPuttemans 4dff5b7c72 Added bugfix #2795
- changing license header
- fixed bug in QtKit when changing camera resolution
2013-07-31 11:25:55 +02:00
StevenPuttemans 0c5244103f Added all *.cpp samples reference to the 2.4.6 documentation as discussed in feature #3169
- Used lunix style slashes - works on most systems
- Removed all trailing whitespaces
2013-07-31 11:20:05 +02:00
Andrey Pavlenko 46192e7b11 Merge pull request #1207 from kirill-kornyakov:fix-for-readme 2013-07-31 09:23:38 +04:00
Kirill Kornyakov 252a11c437 Updated README.md 2013-07-30 18:51:53 +04:00
Kirill Kornyakov 11617e5d0b Updated gitignore relative to new platforms dir 2013-07-30 18:48:20 +04:00
Andrey Pavlenko 0851766806 Merge pull request #1121 from pengx17:2.4_gftt_perf_test 2013-07-30 18:40:10 +04:00
Andrey Pavlenko 6a77bfb503 Merge pull request #1172 from StevenPuttemans:bugfix_3166_24 2013-07-30 18:39:41 +04:00
Andrey Pavlenko 646e817b36 Merge pull request #1070 from Daniil-Osokin:calibrationSampleAndroid 2013-07-30 17:56:01 +04:00
Andrey Pavlenko 2b8d868560 Merge pull request #1098 from SeninAndrew:ximea_camera_bw_fix 2013-07-30 17:50:50 +04:00
Andrey Pavlenko f7ce70f70a Merge pull request #1110 from SpecLad:config-cleanup 2013-07-30 17:39:35 +04:00
Andrey Pavlenko c43b896541 Merge pull request #1177 from janstarzy:refactor 2013-07-30 17:39:09 +04:00
Andrey Pavlenko bc78e87a61 Merge pull request #1123 from bitwangyaoyao:2.4_fix 2013-07-30 17:13:27 +04:00
Andrey Pavlenko 26a3cabbf8 Merge pull request #1193 from SpecLad:exports-for-contrarians 2013-07-30 16:50:29 +04:00
Andrey Pavlenko eb0d26b5be fixing warning on shadowing local var (TEST_CYCLE_MULTIRUN uses 'r') 2013-07-30 16:42:45 +04:00
Andrey Pavlenko 373dfa8ccc Merge pull request #1201 from alekcac:gittip 2013-07-30 16:35:59 +04:00
Andrey Pavlenko ea6002ebc7 Merge pull request #1185 from znah:cumpute_method_for_2_4 2013-07-30 15:46:48 +04:00
kdrobnyh 94bc4c4429 Some changes in erosion and dilation functions 2013-07-30 15:13:04 +04:00
peng xiao 8b90cb375a Fix doc build error. 2013-07-30 14:12:22 +08:00
peng xiao 892c088e1b Some modifications to sortByKey API.
Add documentation.
2013-07-30 11:53:25 +08:00
kdrobnyh 6af10a2937 Some changes in sum and mean functions 2013-07-30 00:54:27 +04:00
Andrey Pavlenko 301de6e038 Merge pull request #1202 from hansmi:docfix3149 2013-07-29 15:29:22 +04:00
Andrey Pavlenko e213af6c0d Merge pull request #1190 from melody-rain:2.4_add_farneback_to_superres 2013-07-29 15:25:56 +04:00
Michael Hanselmann cdc2ee9789 Documentation fix for cv::compare (issue 3149)
Since commit d8417af086 (July 2011) cv::compare produces an array with
the same size and type as the input arrays.

Signed-off-by: Michael Hanselmann <public@hansmi.ch>
2013-07-28 16:19:19 +02:00
Alexander Shishkov 3ad22dbc41 Update README.md 2013-07-28 01:01:46 +04:00
Alexander Shishkov 4a36dfd123 Update README.md 2013-07-28 00:37:38 +04:00
Alexander Shishkov 64f4957d32 Rename README to README.md 2013-07-28 00:25:07 +04:00
Alexander Shishkov 435d26391a Added gittip button 2013-07-28 00:23:52 +04:00
Frédéric Devernay 6be8757e8b fix signedness error
OpenCV's automatic builds don't care if you store an unsigned int into
an int, but they don't want you to compare signed with unsigned. Does
that make sense?
2013-07-26 21:32:35 +02:00
Frédéric Devernay 4ad12a680c fix cap_qtkit.mm for multithreaded applications
cap_qtkit does not work when the capture is run outside of the main
thread.
If the capture is launched in a separate thread, then [NSRunLoop
currentRunLoop] is not the same as in the main thread, and has no timer.
see
https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/F
oundation/Classes/nsrunloop_Class/Reference/Reference.html
"If no input sources or timers are attached to the run loop, this
method exits immediately"

Using usleep() (which I previously proposed, and was reverted) is not a
good alternative, because it may block the GUI.

Here is the new proposed solution:
- create a dummy timer so that runUntilDate does not exit immediately
- simplify the loop by using runUntilDate instead of runMode:beforeDate
- fix potential memory leaks (pointed out by Xcode's static analysis)
- fix init to follow Objective-C guidelines
- fax warnings about conversions from size_t to int
2013-07-26 18:39:03 +02:00
Andrey Pavlenko 3a0e26b89d adding/tuning multiple run for perf tests failing due to big deviation (functions using TBB can work so) 2013-07-26 17:27:31 +04:00
Dmitry Retinskiy 1d571b1eaa bugfix #3121: corrected calculation of blue channel index 2013-07-26 16:31:39 +04:00
Roman Donchenko ee182eb086 Fixed the setting of CVAPI_EXPORTS for modules that are always static/shared.
Also, removed needless check of BUILD_SHARED_LIBS in core; in that case,
only the current module's library type matters.
2013-07-26 14:35:40 +04:00
Roman Donchenko d945b20db9 Merge pull request #1191 from jet47:gpu-perf4au-fix 2013-07-26 13:01:42 +04:00
Vladislav Vinogradov dfd2957841 fixed gpu_perf4au perf test (added cuda impl) 2013-07-26 11:13:39 +04:00
peng xiao a6d558042c Fix build errors 2013-07-26 14:32:37 +08:00
Jin Ma 027b8021b1 Added farneback to superres module. 2013-07-26 14:14:40 +08:00
yao 270b2c7918 generating the lut table instead of hard coding one 2013-07-26 11:17:27 +08:00
Daniil Osokin 23c802b4cd Added camera calibration sample for android 2013-07-26 01:19:32 +04:00
kdrobnyh 4dfd40bec0 Add IPP mean and sum functions 2013-07-25 21:27:35 +04:00
Jan Starzynski d6b86d43c9 removed declaration of throwJavaException 2013-07-25 14:53:22 +02:00
Alexander Mordvintsev 57bd485119 compute method for Feature2D 2013-07-25 16:22:31 +04:00
Jan Starzynski 70930a30a1 refactored throwJavaException() and removed useless returns 2013-07-25 13:36:27 +02:00
Roman Donchenko be8b3687f4 Merge pull request #1184 from apacha:Descriptor_Docu_FREAK_added_2 2013-07-25 12:00:55 +04:00
Alexander Pacha 0b15cfd48c Added FREAK-descriptor extractor to documentation.
Previously it was missing.
Ordered all descriptors by year of first publication.
2013-07-25 16:40:09 +12:00
Jan Starzynski 925e4eec98 removed multiplied code for exception handling 2013-07-24 17:27:03 +02:00
Roman Donchenko 0e4882aa16 Merge pull request #1169 from asmorkalov:winrt_tbb_dbg_wrn_fix 2013-07-24 16:08:17 +04:00
Alexander Smorkalov 908039c658 Warning suppresion for TBB on WinRT added. 2013-07-24 09:21:30 +04:00
Roman Donchenko 48e31fd202 Merge pull request #1168 from StevenPuttemans:feature_2753 2013-07-23 11:54:40 +04:00
StevenPuttemans 194af062ff Adapted the reference underscore to link properly 2013-07-23 09:49:09 +02:00
StevenPuttemans a92feafc49 Fixed bug 3166 - added paper reference to stardetector code 2013-07-23 08:49:25 +02:00
StevenPuttemans 7968789544 Made change to install in windows guide, showing only difference between VS2010 and VS2012 2013-07-22 15:16:22 +02:00
Roman Donchenko 38a0b47b2f Merge pull request #1165 from vpisarev:24_ipp 2013-07-22 15:34:13 +04:00
Vadim Pisarevsky 8b6afd697d added call to IPP's ippiDistanceTransform_5x5_8u32f_C1R (by Alexander Kapustin) 2013-07-22 14:20:13 +04:00
Roman Donchenko bb15e735b8 Merge pull request #1161 from SpecLad:xls-comp-bug 2013-07-22 13:28:29 +04:00
Roman Donchenko 1432f3a82c Fix xls-report.py not working with more than one comparison. 2013-07-22 12:48:43 +04:00
Andrey Pavlenko f01cd3d99e Merge pull request #1158 from StevenPuttemans:bugfix_3165 2013-07-21 18:47:16 +04:00
Andrey Pavlenko cdcb5ed134 Merge pull request #1156 from StevenPuttemans:bugfix_1873_new 2013-07-21 18:46:58 +04:00
Philippe FOUBERT 9c04db554f Rename PVAPI_DECLARATIONS to PVAPI_DEFINITIONS 2013-07-20 15:03:30 +02:00
StevenPuttemans 27ed32f833 Applied bugfix #3165 : Changed min_eps value 2013-07-19 14:11:04 +02:00
Roman Donchenko 1c35f121bb Merge pull request #1148 from StevenPuttemans:patch_3125 2013-07-19 12:48:49 +04:00
Roman Donchenko 7e15f2ac73 Merge pull request #1141 from apavlenko:fix_warning_unreach_code 2013-07-19 12:22:58 +04:00
Roman Donchenko 1b38d1e6b7 Merge pull request #1150 from janstarzy:spelling 2013-07-19 12:15:31 +04:00
StevenPuttemans 52bfa7b850 Fixed bug 1873 : return image keypoint descriptors + fix on line 152 pure declaration 2013-07-19 09:29:48 +02:00
Andrey Pavlenko 6b047ca0eb minor improvement (consistency, readability) 2013-07-18 19:50:51 +04:00
Andrey Pavlenko 74c72a1d7a removing unreachible code 2013-07-18 19:15:49 +04:00
StevenPuttemans dd0481ef2d Added brackets around line 888-892 for correct code! 2013-07-18 15:34:38 +02:00
Jan Starzynski 9bf216742f fixed cpackage -> package 2013-07-18 15:33:25 +02:00
StevenPuttemans f9b594bf08 Changed first approach to a more general MS-specific approach.
Suggested by @SpecLad
2013-07-18 14:24:19 +02:00
Roman Donchenko 28f2755413 Merge pull request #1137 from StevenPuttemans:bugfix_3131_24 2013-07-18 16:02:47 +04:00
Jan Starzynski ee42b65063 corrected some spelling errors 2013-07-18 13:24:55 +02:00
Roman Donchenko 7eddf887d5 Merge pull request #1147 from jet47:gpu-sanity-test-name 2013-07-18 14:29:47 +04:00
Andrey Pavlenko 6fbda0dfc1 Merge pull request #1138 from janstarzy:mat-dist 2013-07-18 14:23:12 +04:00
Vladislav Vinogradov f87ef77269 removed GPU_/CPU_ prefix from gpu's sanity test 2013-07-18 13:41:27 +04:00
StevenPuttemans 5caa808879 Fixing bug #3131 adding breakpoints to featuretracker.cpp 2013-07-18 11:36:22 +02:00
peng xiao e1f43e3b03 Add sort_by_key for oclMat.
Most codes are ported from AMD's Bolt library.
Four methods are implemented:

SORT_BITONIC,   // only support power-of-2 buffer size
SORT_SELECTION, // cannot sort duplicate keys
SORT_MERGE,
SORT_RADIX      // only support signed int/float keys
2013-07-18 17:25:00 +08:00
Roman Donchenko 12f304ec54 Merge pull request #1146 from jet47:fix-gpu-without-cufft-cublas 2013-07-18 12:54:10 +04:00
Roman Donchenko c48d3ad71e Merge pull request #1145 from jet47:cuda-default-cc 2013-07-18 12:25:21 +04:00
Vladislav Vinogradov ebe7ff991f fixed compilation without CUBLAS and CUFFT 2013-07-18 12:04:33 +04:00
Vladislav Vinogradov 4b0f6e2d43 updated default parameters for CUDA CC in CMake:
* removed 2.0 PTX from default parameters since it has become obsolete
* added 3.5 BIN to prevent JIT compilation for super-Kepler
2013-07-18 09:44:00 +04:00
Jan Starzynski 12c42ac145 fixed strings in n1_dims(): n1_dcols() -> n1_dims() 2013-07-17 18:41:54 +02:00
Roman Donchenko ee13ee3c6d Merge pull request #1131 from asmorkalov:winrt_tbb_dbg_fix 2013-07-17 18:48:21 +04:00
Roman Donchenko 8b29a6e44a Merge pull request #1127 from SpecLad:np-1.7 2013-07-17 18:48:08 +04:00
Roman Donchenko f625be0264 Merge pull request #1136 from StevenPuttemans:bugfix_3157 2013-07-17 17:51:28 +04:00
StevenPuttemans c3dee28394 Fixed bug #3101, problem on ellipse2poly function 2013-07-17 15:21:23 +02:00
Jan Starzynski 1ccfa62f4f adding method dims() to core.Mat 2013-07-17 15:04:34 +02:00
StevenPuttemans a58860d35a Removed Note, added other fix (libs to lib) 2013-07-17 15:02:55 +02:00
Alexander Smorkalov a64eccd2cd Debug build for WindowsRT with TBB fixed.
Debug library name prefix changed no "_debug" to fit pragmas in TBB
headers.
2013-07-17 05:21:26 -07:00
StevenPuttemans d42b283abf Changed tutorial for installing openCV under VS2010 like bug 3157 suggested 2013-07-17 13:38:45 +02:00
StevenPuttemans 1fc89bb2e0 Added the solution mentioned in patch #3125 2013-07-17 13:20:25 +02:00
Roman Donchenko 5d8af49016 Merge pull request #1128 from SpecLad:ocl-tr1 2013-07-17 15:08:38 +04:00
Roman Donchenko b45d61d2ad Merge pull request #1105 from kdrobnyh:Integral-Image-IPP 2013-07-17 13:10:24 +04:00
Roman Donchenko 2cd1c49623 Merge pull request #1126 from asmorkalov:winrt 2013-07-17 13:08:30 +04:00
Roman Donchenko 77fe7f479c Merge pull request #1129 from vpisarev:revert_bad_qtkit_patch 2013-07-17 12:16:59 +04:00
Alexander Smorkalov 16cfc7a531 WindowsRT build warning fixes. 2013-07-17 00:18:46 -07:00
yao f1060ac514 a little simplify to pyrlk kernel 2013-07-17 14:35:44 +08:00
kdrobnyh 487ded8b27 Add IPP erosion and dilation 2013-07-16 22:35:16 +04:00
Vadim Pisarevsky be040ff513 revert patch from PR 1074, since it break capturing on MacOSX 2013-07-16 15:02:33 +04:00
Roman Donchenko 28a5c127ea Made the Python bindings not use deprecated NumPy 1.7 API. 2013-07-16 14:33:15 +04:00
Roman Donchenko 523048f99f Fixed a compilation error (get<N> not found). 2013-07-16 14:23:05 +04:00
peng xiao ff73557304 Fix compilation error on Mac 2013-07-16 08:48:09 +08:00
peng xiao e5c396bb24 Add ocl::gftt performance test. 2013-07-15 16:27:27 +08:00
Roman Donchenko 886c009da6 Merge pull request #1049 from pengx17:2.4_superres_ocl 2013-07-15 11:43:09 +04:00
yao cdd9234fae fix hog mismatch on cpu ocl 2013-07-15 15:13:09 +08:00
Roman Donchenko 09ec483d02 Merge pull request #1109 from nikman-ru:cap_reuse_24x 2013-07-12 11:38:59 +04:00
Roman Donchenko 18f1964f8a Merge pull request #1111 from nikman-ru:fix_yamldoc 2013-07-12 11:38:14 +04:00
Nikita Manovich c55dc3e8ab Fixed "FileStorage (minor) error in doc (Feature #3151)"
It was just a typo in the documentation.
2013-07-11 16:06:25 +04:00
Roman Donchenko 0b4d0a8171 Sorted cvconfig.h.cmake in alphabetical order. 2013-07-11 16:01:46 +04:00
Nikita Manovich 05aeb70831 Fixed VideoCapture::open() does not release previous capture sources (Bug #3150).
VideoCapture didn't call release method and just ignored the new capture sources.
OpenCV documentation:
  bool VideoCapture::open(const string& filename);
  bool VideoCapture::open(int device);

The methods first call VideoCapture::release() to close the already opened file or camera.
2013-07-11 15:16:22 +04:00
Roman Donchenko 78cb920bc8 Removed useless VERSION macro (and CMake variable) 2013-07-11 14:30:46 +04:00
Roman Donchenko 06742247be Removed unused PACKAGE_* macros. 2013-07-11 14:30:46 +04:00
Roman Donchenko 6f326220d3 Removed the HAVE_LRINT macro, which is never set. 2013-07-11 14:30:46 +04:00
Roman Donchenko eb8d9730cb Removed unused NEW_FFMPEG macro. 2013-07-11 12:55:34 +04:00
Roman Donchenko e2ef2a5781 Refactored image format library finding logic.
Now the HAVE_* macros are set in cvconfig.h. Most of them already were there,
but were nonfunctional.
2013-07-11 12:40:16 +04:00
Andrey Pavlenko d1fe1a62c3 Merge pull request #1106 from pengx17:2.4_gftt_rename 2013-07-11 11:41:37 +04:00
Andrey Pavlenko 07c2ae508e Merge pull request #1102 from SpecLad:xls-updates 2013-07-11 11:36:47 +04:00
kdrobnyh df4b67a749 Merge pull request #1 from Itseez/2.4
Add calculating integral image using IPP
2013-07-10 10:45:24 -07:00
Roman Donchenko ca8b621b4f Refactored detecting several Apple-related technologies.
Now the HAVE_* macros are set using cvconfig.h. Previously most
of them already were there, but were always undefined. One,
HAVE_COCOA, I had to add.

This also makes the CMake code more consistent; now, WITH_* variables
are always checked in cmake/*, while HAVE_* variables are checked in
modules/highgui/CMakeLists.txt.
2013-07-10 19:45:56 +04:00
Roman Donchenko 241e2d2360 Merge pull request #1077 from bitwangyaoyao:2.4_kmeans 2013-07-10 18:32:14 +04:00
Roman Donchenko 4f9554eead Removed a few more unused configuration macros.
I've left HAVE_LIBPTHREAD as a CMake variable, since TBB's build depends on it.

Some macros in internal.hpp depended on HAVE_ALLOCA_H, but they were, in turn,
unused, so I've just deleted them all.
2013-07-10 18:29:11 +04:00
Roman Donchenko 2d9b3a8334 Deleted a bunch of unused configuration macros. 2013-07-10 18:29:10 +04:00
Roman Donchenko 894b30b34d Merge pull request #1088 from apacha:brisk_noDescriptors_fix 2013-07-10 18:18:31 +04:00
Roman Donchenko f0c7cce87a Merge pull request #1080 from hhofbaue:matchTemplate_bugfix 2013-07-10 18:17:06 +04:00
Roman Donchenko ac39bfb4cc Remove HAVE_CVCONFIG_H - it's always defined. 2013-07-10 16:02:07 +04:00
Roman Donchenko a0f6e1ba1d Merge pull request #1103 from apavlenko:ver_2.4.6.1 2013-07-10 15:49:00 +04:00
Andrey Pavlenko 2b2e02166e setting version to 2.4.6.1 (hot-fix release for Linux camera support) 2013-07-10 15:12:39 +04:00
Roman Donchenko ea3239a00e xls-report.py: Added an option to show per-pixel times 2013-07-10 14:58:51 +04:00
Roman Donchenko 5b2dc26f2c Made the crude ability less crude. 2013-07-10 14:58:51 +04:00
Roman Donchenko 215b3e749f Added to the test log parser a crude ability to detect non-implemented tests. 2013-07-10 14:58:51 +04:00
Roman Donchenko 1080c4295a xls-report.py: removed image size and type from the list of other parameters.
Also, shrunk the corresponding column and the test name column.
2013-07-10 14:58:18 +04:00
Roman Donchenko 63d151a29c xls-report.py: add ability to specify arbitrary sheet properties 2013-07-10 14:58:17 +04:00
kdrobnyh f8eb806565 Add IPP support to integral function 2013-07-10 11:25:36 +04:00
peng xiao 5032240c9d Fix ocl gftt file name typo. 2013-07-10 14:51:40 +08:00
Roman Donchenko 2dedfd9762 Merge pull request #1099 from asmorkalov:linux_vcap_fix 2013-07-09 17:13:05 +04:00
Alexander Smorkalov f77d1f57ee V4L and V4L2 based Video capture bug fix (Bugfix #3144). 2013-07-09 16:07:55 +04:00
Roman Donchenko b1f04c5388 Merge pull request #1097 from apavlenko:ocl_tests_fixes 2013-07-09 14:00:38 +04:00
Andrey Pavlenko fcb4c0e51c fixing working with test data and a small fix for init code
- set init value for `numsdev` to prevent use of uninitialized value
- stop use of 'workdir' and files from samples
- forcing use of 'opencv_extra' instead
Note: set OPENCV_TEST_DATA_PATH to full path to 'opencv_extra/testdata' (gitolite@code.opencv.org:opencv_extra.git) before running the test!
2013-07-09 13:25:21 +04:00
Andrew Senin aa2ca3aa8f Improve FPS on black and white Ximea cameras 2013-07-09 00:33:39 +04:00
Andrey Pavlenko 1a2458885b Merge pull request #1094 from asmorkalov:android_na_fix 2013-07-08 11:25:40 +04:00
Alexander Smorkalov 69b308a368 Various fixes in android sample NativeActivity. 2013-07-05 14:08:37 +04:00
Roman Donchenko f5089100b9 Merge pull request #1073 from asmorkalov:android_cvjavaframe 2013-07-05 13:41:51 +04:00
Roman Donchenko c4e59866a2 Merge pull request #1074 from devernay:2.4-cap_qt-multithread 2013-07-05 13:28:38 +04:00
Andrey Pavlenko b6b1d5e75d Merge pull request #1092 from asmorkalov:manager_version_inc 2013-07-05 13:02:10 +04:00
Roman Donchenko 36a4d246f4 Merge pull request #1087 from znah:2.4 2013-07-05 12:07:45 +04:00
Alexander Smorkalov e905c81ccc OpenCV Manager version++. 2013-07-05 12:07:04 +04:00
Roman Donchenko dbf02c71b6 Merge pull request #1091 from SpecLad:xls-updates 2013-07-05 12:00:52 +04:00
yao 88ed74a7ec fix the function name 2013-07-05 08:59:21 +08:00
Roman Donchenko 2b44172026 xls-report.py: make behaviour more intelligent in case of repeated results 2013-07-04 20:01:27 +04:00
Roman Donchenko 0732905cff xls-report.py: write tests in sorted order 2013-07-04 20:01:27 +04:00
Roman Donchenko ea054e2888 xls-report.py: made most columns a little wider 2013-07-04 20:01:27 +04:00
Roman Donchenko 4e939e2fce xls-report.py: added an option to include data from unrecognized XMLs 2013-07-04 20:00:59 +04:00
Roman Donchenko ec1df9f54d Merge pull request #1090 from asmorkalov:android_tbb_downgrade 2013-07-04 19:46:53 +04:00
Alexander Smorkalov c2e6668414 Bug #3124 libopencv_java.so v 2.4.6 hangs on some Android 4.0.3 devices fixed.
Downgrade TBB to 4.1u2 for all platforms, except WinRT.
2013-07-04 18:52:52 +04:00
Roman Donchenko 83fd385bbd xls-report.py: don't eat all errors when reading sheet.conf 2013-07-04 18:03:03 +04:00
Alexander Mordvintsev 3677a66403 line realign 2013-07-04 17:43:38 +04:00
Roman Donchenko a2d576c1bb Merge pull request #1085 from bitwangyaoyao:2.4_optBP 2013-07-04 17:24:21 +04:00
Roman Donchenko 4d569732b9 Merge pull request #1086 from melody-rain:2.4_fix_oclMat_constructor 2013-07-04 17:23:53 +04:00
Jin Ma 97e620b8f3 Fix oclMat constructor when roi is provided. 2013-07-04 16:14:55 +08:00
yao f2333e90f6 optimize stereoBP kernel 2013-07-04 14:46:38 +08:00
Alexander Pacha eaa29110e1 Fixed issue 3130 (http://code.opencv.org/issues/3130), where one argument of the BRISK-call was ignored. Previously it was not possible to use BRISK without creating descriptors.
Now it behaves like ORB (and how it is documented), and you can call BRISK to just generate feature points and no descriptors.
2013-07-04 16:36:29 +12:00
yao c23510785b remove the redundant function 2013-07-04 08:59:42 +08:00
Alexander Mordvintsev 8045093cfb GFTT wrapped to python 2013-07-03 22:26:18 +04:00
Heinz Hofbauer a26c4fa2a2 Bugfix for an overlapping size of image and template for matchTemplate.
Example: img of size 10x10 and templ of size 11x9.
In subsequent code this will results in either width or height of
corrSize to be zero (0).
Line 261 will call crossCorr which will then have a zero size of either
blocksize.width or blocksize.height resulting in a division by zero
crach in lines 137 or 138.
2013-07-03 14:58:40 +02:00
yao 8d8dc29ced add kmeans 2013-07-03 13:13:04 +08:00
Philippe FOUBERT 639450efdc PvAPI support on Windows with MinGW (PR #1038 applied to the branch 2.4) 2013-07-03 00:19:22 +02:00
Frédéric Devernay b524e275c1 allow QtKit capture in secondary threads
[NSRunLoop currentRunLoop] is not the same as in the main thread.
see
https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/F
oundation/Classes/nsrunloop_Class/Reference/Reference.html
"If no input sources or timers are attached to the run loop, this
method exits immediately"

The old code caused grabFrame() to return immediately if the capture
was not done in the main thread.
This code works correctly, even in secondary threads, provided that all
capture functions are called in the *same* thread
2013-07-02 18:08:12 +02:00
Alexander Smorkalov 91b713b8c9 JavaCameraView delivers same frame twice (Bug #3123) fixed. 2013-07-02 12:58:59 +04:00
Roman Donchenko 6bf8f474fa Merge pull request #1051 from pengx17:2.4_fback_ocl 2013-07-01 13:45:43 +04:00
Roman Donchenko c8cd2cf601 Merge pull request #1061 from bitwangyaoyao:2.4_fix2 2013-07-01 13:21:12 +04:00
Roman Donchenko 087bab6ceb Merge pull request #1060 from pengx17:2.4_setbinary_fix 2013-07-01 13:20:51 +04:00
Roman Donchenko 38cf0a692e Merge pull request #1055 from pengx17:2.4_ocl_hang_workaround 2013-07-01 13:20:04 +04:00
Andrey Pavlenko a4c38196bc Merge pull request #1069 from apavlenko:fix_bin_compat_checker 2013-07-01 12:10:57 +04:00
Andrey Pavlenko 97b939195f adding 'ios.h' to ignore list should work on non-Mac) 2013-07-01 10:03:08 +04:00
Roman Donchenko eedc032b98 Merge pull request #1067 from asmorkalov:android_service_readme 2013-06-28 19:47:30 +04:00
Roman Donchenko 43632bf973 Merge pull request #1065 from apavlenko:fix_eclipse_warning 2013-06-28 19:32:44 +04:00
Roman Donchenko d60cb1d00a Merge pull request #1064 from asmorkalov:winrt_sample_fix 2013-06-28 19:08:12 +04:00
Alexander Smorkalov 8b6f1d9bd9 OpenCV Version++; Manager Version++ 2013-06-28 18:25:53 +04:00
Andrey Pavlenko 6069967109 removing unused import 2013-06-28 17:28:57 +04:00
Alexander Smorkalov 67d4d9e9f4 Path to OpenCV dll libs fixes. 2013-06-28 16:48:27 +04:00
Roman Donchenko 4b51b1e3a8 Merge pull request #1059 from dominikrose:dc1394_2-1394b 2013-06-28 14:47:45 +04:00
Roman Donchenko 1707b1769f Merge pull request #1063 from alekcac:conversion 2013-06-28 14:41:35 +04:00
Roman Donchenko a96466a73a Merge pull request #1062 from kirill-kornyakov:fixes-for-documentation 2013-06-28 14:35:51 +04:00
Roman Donchenko 156155addb Merge pull request #1018 from jet47:cuda-5.5-arm 2013-06-28 14:26:45 +04:00
yao c66e27d49e stereoBM fix an error on Linux when running full performance test 2013-06-28 17:45:39 +08:00
Alexander Shishkov 7b06592dea added conversions between UIImage and cv::Mat 2013-06-28 13:26:54 +04:00
Kirill Kornyakov aef347e7b3 Removed references to opencv.itseez.com 2013-06-28 12:48:12 +04:00
Kirill Kornyakov 0339dd51f1 Removed all references to trunk 2013-06-28 12:38:44 +04:00
yao c73a10cb4d warnings fix 2013-06-28 16:23:01 +08:00
Kirill Kornyakov cbed07bc18 Removed references to YG from samples 2013-06-28 12:21:52 +04:00
Kirill Kornyakov f065c46fbe Completely get rid of opencv_group 2013-06-28 12:15:14 +04:00
Kirill Kornyakov a78ebc1175 Updated a couple of more links 2013-06-28 12:12:53 +04:00
Kirill Kornyakov 2cacad9470 updated email address 2013-06-28 11:53:39 +04:00
Kirill Kornyakov 2980a88570 Mentioned 2.4 and master branches 2013-06-28 11:51:40 +04:00
Kirill Kornyakov e447d87496 Added link to contribution process, updated formatting 2013-06-28 11:44:10 +04:00
Alexander Shishkov a8db327574 changed contacts in tutorual 2013-06-28 11:44:09 +04:00
Roman Donchenko 3b78fe2684 Merge pull request #1054 from asmorkalov:opencv_version 2013-06-28 11:29:55 +04:00
yao 6982ea5a66 some tweaks to samples 2013-06-28 15:08:39 +08:00
yao c1a59b8d80 more fix to HOG 2013-06-28 13:38:58 +08:00
yao f1d9680ba8 format the ocl's samples name 2013-06-28 11:44:43 +08:00
yao 587fb4940d some accuracy fix of HOG 2013-06-28 11:43:43 +08:00
peng xiao a5383b8627 Move function definition from header to cpp. 2013-06-28 10:52:39 +08:00
peng xiao e858a6c347 Renew function logic. 2013-06-28 10:39:09 +08:00
peng xiao 14dd345cdf Fix ocl::setBinaryDiskCache
Previously the function requires Info::Impl implicitly. A call will create
new Context this function which is not intended.
The properties are now moved to global scope to fix this issue.
2013-06-28 10:12:18 +08:00
Dominik Rose d39aeeca0f Merge remote-tracking branch 'remotes/upstream/2.4' into dc1394_2-1394b 2013-06-27 19:43:05 +02:00
Dominik Rose e32700cf8f dc1394-2: support for operation mode 1394b added 2013-06-27 15:05:32 +02:00
Roman Donchenko d76468c223 Merge pull request #1040 from asmorkalov:winrt 2013-06-27 16:59:25 +04:00
Roman Donchenko 5d7419e658 Merge pull request #1056 from asmorkalov:android_old_remove 2013-06-27 16:29:56 +04:00
Roman Donchenko 51008322c5 Merge pull request #1057 from SpecLad:gtest-param-filter 2013-06-27 15:50:31 +04:00
Alexander Smorkalov 7c5bd78804 Test fixes
Calib3d badarg tests fixed. Default exception handling enabled;
Highgui Video I/O tests fixed on ARM;
Code cleanup.
2013-06-27 15:47:37 +04:00
Alexander Smorkalov 070a77ae0d TBB updated to version 4.1 update 4. 2013-06-27 15:47:23 +04:00
Roman Donchenko 664b720e4d Extended Google Test to allow filtering by parameter value. 2013-06-27 13:14:37 +04:00
Roman Donchenko f477696cc5 Merge pull request #1050 from pengx17:2.4_clach_mod 2013-06-27 12:22:01 +04:00
Alexander Smorkalov e241c14b94 OpenCV Library and Manager version incremented.
OpenCV Version 2.4.6;
OpenCV Manager Version 2.8;
Doc fixes.
2013-06-27 12:05:25 +04:00
Alexander Smorkalov 5de7627806 Old android folder removed.
The changes must be applied after buildbot update only!
2013-06-27 11:26:51 +04:00
peng xiao b2da1cdcc2 Temporarily disable command queue release as it causes program hang at exit 2013-06-27 10:20:21 +08:00
peng xiao fc64faa22e Remove empty cv::ocl::CLAHE class. 2013-06-27 10:06:37 +08:00
peng xiao dcc4766129 Fix white-spacing 2013-06-27 09:57:42 +08:00
Roman Donchenko 76efc9853a Merge pull request #1053 from snosov1:unreliable-results-fix 2013-06-26 17:00:15 +04:00
Roman Donchenko bf6b119a3f Merge pull request #1045 from bitwangyaoyao:2.4_fix 2013-06-26 16:55:06 +04:00
Roman Donchenko 1cfe5aa41e Merge pull request #1048 from SpecLad:xls-conf 2013-06-26 16:53:50 +04:00
Alexander Smorkalov 347c86d9b5 Windows RT related code cleanup.
Windows RT sample cleanup.
Video I/O code cleanup.
2013-06-26 05:44:10 -07:00
Roman Donchenko a335fc591f Merge pull request #1052 from SpecLad:ocl-mingw-warnings 2013-06-26 16:13:47 +04:00
Sergei Nosov 29955620e0 multiruns added to avoid the 'unreliable results' error 2013-06-26 15:07:39 +04:00
Roman Donchenko 5b2b76763e Fix miscellaneous warnings from compiling with MinGW.
Note that MinGW defines NOMINMAX by default.
2013-06-26 14:59:00 +04:00
peng xiao 9270205947 Fix build errors 2013-06-26 17:24:09 +08:00
yao 2ec1140b25 fix pyrlk 2013-06-26 16:58:20 +08:00
peng xiao 132b885b24 Add opencl implementation of Farnback optical flow. 2013-06-26 16:35:19 +08:00
peng xiao 30239ad58e Fix build error. 2013-06-26 16:06:05 +08:00
peng xiao cc3fb3d182 Let CLAHE_OCL reuse cv::CLAHE abstract class. 2013-06-26 10:50:51 +08:00
peng xiao 9b3c318e85 Add super resolution's OpenCL implementation.
Accuracy and performance tests are also provided.
2013-06-26 08:43:23 +08:00
Alexander Smorkalov 91c519467d WinRT build fix for samples and static libs. 2013-06-25 03:36:07 -07:00
Alexander Smorkalov b0854c605a Windows RT sample improved.
Corrent histogram output on YUV image implemented;
Some code refactoring done.
2013-06-25 03:36:05 -07:00
Alexander Smorkalov bf22567c09 Transform selection implemented in sample GUI.
Gistogram output does not work propertly due color conversion problems.
2013-06-25 03:36:04 -07:00
Alexander Smorkalov de9f659f1e Several transforms added to sample IMFTransform. 2013-06-25 03:36:03 -07:00
Alexander Smorkalov 9e06287121 Windows RT sample updated.
Unused scenarious removed.
Grey scale convertion replaced with cv::Canny call.
2013-06-25 03:36:01 -07:00
Alexander Smorkalov 4990336760 Base camera access sample for Windows RT added.
Microsoft Media Foundation Camera Sample for Windows RT added.
2013-06-25 03:36:00 -07:00
Alexander Smorkalov ee591efb9f Build fix for Windows RT. 2013-06-25 03:35:58 -07:00
Alexander Smorkalov 34c6598752 Perf test failure fixes for Media Foundation. 2013-06-25 03:35:57 -07:00
Alexander Smorkalov 2bc1d3709c GetProperty method for MSMF VideoCapture implemented. 2013-06-25 03:35:56 -07:00
Alexander Smorkalov 08a0e1c91b TBB support for WinRT fixed.
Development release of TBB with WinRT support added;
TBB.dll is placed in bin folder now.
2013-06-25 03:35:54 -07:00
Alexander Smorkalov 43122939cb Media foundation video i/o fixes.
Bug in Video for Windows capture init fixed;
Media Foundation based capture finalization fixed;
Highgui tests for video i/o updated.
2013-06-25 03:35:30 -07:00
yao 1227e00f3d fix moments 2013-06-25 16:26:33 +08:00
Roman Donchenko 381057eaad Merge pull request #1002 from asmorkalov:doc_warning_fix 2013-06-25 11:42:00 +04:00
Roman Donchenko f8e187e1e1 Merge pull request #1035 from SpecLad:cv-concurrency 2013-06-25 11:33:16 +04:00
Roman Donchenko e6784ca8a0 Merge pull request #1021 from alekcac:platforms 2013-06-25 11:32:52 +04:00
yao dbdeff2069 fix stereobm crash on some cpu ocl 2013-06-25 14:12:02 +08:00
yao 6db776f957 add "-c" for cpu ocl mode in perf tests 2013-06-25 14:11:28 +08:00
Roman Donchenko c244f000ab Merge pull request #1030 from SpecLad:ts-impl-variants 2013-06-24 18:28:13 +04:00
Roman Donchenko 961251f0ca Merge pull request #1029 from SpecLad:have-qt-config 2013-06-24 17:03:51 +04:00
Alexander Shishkov bb9a0b7253 Update Info.plist.in 2013-06-24 14:52:17 +04:00
Alexander Smorkalov 996f02a531 Multiple Media Foundation video i/o fixes.
Video i/o tests enabled for media foundation;
Negative stride support added to VideoCapture;
Error handling improved, dead lock in case of playback error fixed;
Some code refacotring done.
2013-06-24 02:45:27 -07:00
Alexander Smorkalov 0c9d776083 Media Foundation-based code refactoring.
I* + SafeRelease -> ComPtr.
2013-06-24 02:45:26 -07:00
Alexander Smorkalov e94cc0b5ee Media Foundation camera capture fixed.
Camera-based VideoCapture updated to fit changes in ImageGrabber from prev
commit
2013-06-24 02:45:25 -07:00
Alexander Smorkalov 9fb762ccec VideoCapture for video files implemented.
Set and Get methods are not implemented;
Camera based video capture is broken due to modifications.
2013-06-24 02:45:24 -07:00
Alexander Smorkalov 22b0cfbaa2 Media Foundation-based VideoWriter improvements.
FourCC parameter handlig added;
Smart pointers instead SafeRelease call;
Windows RT support (vertical mirroring).
2013-06-24 02:45:23 -07:00
Alexander Smorkalov ccb8292e8e Media Foundation-based VideoWriter added 2013-06-24 02:45:22 -07:00
Alexander Smorkalov 033e3092a3 Media Foundation based VideoCapture improved
Code formating fixed;
GrabFrame method implemented correclty.
2013-06-24 02:45:21 -07:00
Alexander Smorkalov e3577c2f58 Build with dev release of TBB enabled. 2013-06-24 02:45:21 -07:00
Roman Donchenko 3bab7391d0 Merge pull request #1028 from SpecLad:ocl-clahe-dtor 2013-06-24 13:18:28 +04:00
Roman Donchenko c16316c4b4 Replaced the semi-public CV_PARALLEL_FRAMEWORK macro with a function.
That way, core/internal.hpp doesn't have to depend on cvconfig.h, which we
don't ship.
2013-06-24 12:57:14 +04:00
Roman Donchenko 171a56fe82 Merge pull request #1034 from pengx17:2.4_oclmat_inoutarray 2013-06-24 12:27:26 +04:00
Roman Donchenko 7cb047e2d9 Merge pull request #1031 from pengx17:2.4_fix_converTo 2013-06-24 12:25:48 +04:00
Roman Donchenko 4ed3d33dd7 Merge pull request #1025 from bitwangyaoyao:2.4_tests 2013-06-24 12:11:04 +04:00
Roman Donchenko b0421cafab Merge pull request #1022 from bitwangyaoyao:2.4_hog 2013-06-24 12:08:59 +04:00
Roman Donchenko 5fa200763f Merge pull request #1026 from SpecLad:ts-version-prop 2013-06-21 18:00:59 +04:00
Roman Donchenko e3ae36dcb3 Merge pull request #1033 from SpecLad:xls++ 2013-06-21 17:13:33 +04:00
Roman Donchenko d4a8b87645 Wrote relevant docs. 2013-06-21 16:45:17 +04:00
Roman Donchenko 0e3a9eaf98 Made Collector render property sets as dicts instead of tuples of pairs. 2013-06-21 13:43:16 +04:00
peng xiao 290c8db0a8 Revise naming for getOclMat function. 2013-06-21 14:51:23 +08:00
yao 6326739b44 a bug fix in stereo_match sample 2013-06-21 14:50:08 +08:00
peng xiao e129638263 Add a workaround to interpolate between oclMat and Input/OutputArray. 2013-06-21 14:05:29 +08:00
Roman Donchenko 2688e22cb5 Made xls-report.py use global properties in XML files.
Now it can determine, without looking at the file name, both the module
name and the configuration name (the latter with a little help from the
configuration file).
2013-06-20 19:57:45 +04:00
Roman Donchenko 57317c3196 Use log formatting as intended. 2013-06-20 19:39:02 +04:00
Vladislav Vinogradov af2fc1a22a added documentation for OpenGL interoperability 2013-06-20 16:11:10 +04:00
Roman Donchenko 3ea4836a0a Changed the impls argument to be an array name.
Turns out, you can't use preprocessor directives inside macro arguments.
Who'd have thought?
2013-06-20 15:18:35 +04:00
Roman Donchenko 3e2c456313 A few minor improvements to the XLS report generator.
* In comparison column headers, switched the order of labels, so that
  it's "to" vs "from".

* When a test was present, but not run successfully, put its status in
  the corresponding cell instead of coloring it gray.
2013-06-20 14:38:01 +04:00
Roman Donchenko e600beb484 Merge pull request #1017 from jet47:fix-gpu-warnings 2013-06-20 12:13:14 +04:00
peng xiao c1f4fe1637 Fix a bug of convertTo.
The bug was found that all 3-channel oclMat's were converted to
4-channel oclMat's after using convertTo function.
2013-06-20 11:26:22 +08:00
Roman Donchenko 51a672ec40 Disabled the cuda variant when CUDA is not available. 2013-06-19 19:16:18 +04:00
Roman Donchenko 7a104d2793 Added an option to print available implementation variants. 2013-06-19 18:47:15 +04:00
Roman Donchenko b581f27249 Made perf tests record module name, selected implementation and number of threads. 2013-06-19 17:55:42 +04:00
Roman Donchenko 936236e4b1 Extended the CPU/GPU selection mechanism in performance tests.
Now it allows choosing between arbitrary implementation variants.
2013-06-19 17:55:42 +04:00
Roman Donchenko 37d19b9c46 Pass the HAVE_QT* flags through the config header, like all others.
I don't know why it didn't work for the original author, but it definitely
works now.
2013-06-19 17:44:12 +04:00
Roman Donchenko 1d9660c6d2 Merge pull request #954 from LeszekSwirski:24_fix-qtwindow 2013-06-19 17:01:57 +04:00
Roman Donchenko 1ed5fb937d Give cv::ocl::CLAHE a virtual destructor, for the usual reasons. 2013-06-19 15:39:11 +04:00
Roman Donchenko d58421c08e Make version-related test properties more useful.
Namely, normalize their names to a common convention and remove useless text
from their values.
2013-06-19 14:45:03 +04:00
Roman Donchenko 1aa7b1596b Merge pull request #1023 from pengx17:2.4_fix_amd_path 2013-06-19 14:43:29 +04:00
yao f1c549fabf revise ocl samples, add tvl1 sample 2013-06-19 16:36:23 +08:00
Roman Donchenko fa158304fe Merge pull request #1016 from SpecLad:xls-report 2013-06-19 12:24:34 +04:00
Roman Donchenko dd23a3c227 Merge pull request #1020 from SpecLad:tests-record-more 2013-06-19 12:24:05 +04:00
yao 2c198f6cd6 revise accuracy and perf tests 2013-06-19 13:03:35 +08:00
peng xiao 9ecbce0111 Fix cmake path finding for amd libs.
There is no WIN64 defined in the environment.
2013-06-19 11:31:42 +08:00
yao 26c246140a optimize hog 2013-06-19 11:20:45 +08:00
Alexander Shishkov 68741bf8a0 moved iOS part to platforms folder 2013-06-19 00:20:21 +04:00
Roman Donchenko 25613fbfd7 Merge pull request #1008 from ivan-korolev:fix_sift_bug_2892 2013-06-18 18:32:03 +04:00
Roman Donchenko 4af7d65224 Made tests record information about CPU features and Tegra optimization status. 2013-06-18 18:26:53 +04:00
Roman Donchenko 24d84a45b1 Made tests record in the XML output which parallel framework was used. 2013-06-18 18:26:53 +04:00
Vladislav Vinogradov 371a9cd833 fixed build with CUDA 5.5 on arm platforms 2013-06-18 17:46:57 +04:00
Vladislav Vinogradov 1492b20472 fix gpu warnings with signed/unsigned char 2013-06-18 17:44:49 +04:00
Alexander Smorkalov 8f7ba03ed2 Some fixes for incorrectly documented parameters identified by rst_parser.py (Bug #1205) 2013-06-18 16:48:24 +04:00
Roman Donchenko 748210e11b Merge pull request #994 from asmorkalov:android_java_wrappers 2013-06-18 16:46:04 +04:00
Alexander Smorkalov 16c4aad36d Java/Python bindings for computeCorrespondEpilines added.
Simle Java test for computeCorrespondEpilines added.
2013-06-18 16:44:23 +04:00
Roman Donchenko 5b39c02c39 Merge pull request #1007 from alekcac:i_camera 2013-06-18 15:54:01 +04:00
Roman Donchenko 584f0745d0 Made xls-report.py ignore tests that were not successful. 2013-06-18 13:41:41 +04:00
Roman Donchenko 0f1156bbb6 Made the order of tests in XLS reports deterministic. 2013-06-18 13:37:40 +04:00
Roman Donchenko 4d7b1b5ede In the XLS report, enabled word wrapping for header cells.
Otherwise, Excel ignores line breaks in them.
2013-06-18 12:31:43 +04:00
Roman Donchenko 6ff207b53a Added a new and improved version of the XLS report generator. 2013-06-18 12:31:43 +04:00
Roman Donchenko f003e29dc0 Updated testlog_parser.py to the latest version from the private repo. 2013-06-18 12:31:43 +04:00
Alexander Shishkov 24fd2cc326 updated licenses 2013-06-18 07:02:09 +04:00
Alexander Shishkov 5db08961ce fixed Kirill's comments 2013-06-18 06:59:52 +04:00
Ivan Korolev fee8121040 Added regression tests for SURF/SIFT (related to #2892) 2013-06-14 17:08:01 +04:00
Roman Donchenko 843094a07f Merge pull request #996 from jet47:gpu-nvcuvid-libraries 2013-06-14 16:23:02 +04:00
Roman Donchenko 7308a4a845 Merge pull request #995 from jet47:fix-bug-2985 2013-06-14 16:22:47 +04:00
Roman Donchenko 918f37542b Merge pull request #999 from snosov1:unreliable-results-fix 2013-06-14 16:19:50 +04:00
Roman Donchenko 9cbeea03fa Merge pull request #1005 from alekcac:doc_fix 2013-06-14 15:53:36 +04:00
Roman Donchenko c4974a2511 Merge pull request #1004 from jet47:fix-bug-3068 2013-06-14 15:52:56 +04:00
Roman Donchenko fbc6814023 Merge pull request #987 from jet47:bug-3085-fix 2013-06-14 15:49:33 +04:00
Roman Donchenko 47ea0614dc Merge pull request #969 from pengx17:2.4_binary_cache 2013-06-14 15:47:23 +04:00
Roman Donchenko 0124902f42 Merge pull request #929 from dominikrose:mingw-libdc1394-2-windows 2013-06-14 15:46:25 +04:00
Alexander Shishkov 0cee15eb7f Updated iOS camera. Added rotation flag. Added functions to lock/unlock focus, white balance and exposure. 2013-06-14 15:10:25 +04:00
Roman Donchenko 308c7f5f6e Merge pull request #1000 from ivan-korolev:fix_sift_bug_2892 2013-06-14 13:50:01 +04:00
Roman Donchenko aea96e98bb Merge pull request #1001 from ivan-korolev:fix_stitching_bug_2405 2013-06-14 13:47:33 +04:00
Alexander Shishkov 93200922fd Fix bug with indices 2013-06-14 13:12:35 +04:00
Vladislav Vinogradov a4750f49c6 fix for bug #3068 (PCA::computeVar for double input):
The matrix g  can have CV_32F or CV_64F type,  but g.at uses only float template.
This fix adds specialization for double type.
2013-06-14 12:53:44 +04:00
peng xiao e6b18fc492 Fix a bug caused by NDEBUG macro; it is now removed.
Revise some descriptions of the enums.
2013-06-14 16:37:00 +08:00
Ivan Korolev 58fa401b4d Fixed a bug #2405 2013-06-14 10:43:20 +04:00
Andrey Pavlenko b84296c02e Merge pull request #998 from asmorkalov:android_cmake_mips_fix 2013-06-14 10:17:23 +04:00
Ivan Korolev fc82150edc Fixed a bug #2892 2013-06-14 08:21:42 +04:00
Sergei Nosov c90abb6a03 add multiruns to fix "unreliable results" error 2013-06-13 21:14:42 +04:00
Roman Donchenko 8fa1e756e2 Merge pull request #993 from ivan-korolev:fix_videostab_bug_3023 2013-06-13 16:57:12 +04:00
Roman Donchenko 533d4fe051 Merge pull request #988 from snosov1:3071-fix 2013-06-13 16:56:41 +04:00
Roman Donchenko b725cbf73f Merge pull request #986 from pengx17:2.4_initiated_context 2013-06-13 16:55:56 +04:00
Roman Donchenko 5bb6d36684 Merge pull request #982 from pengx17:2.4_fix_two_bugs 2013-06-13 16:55:12 +04:00
Roman Donchenko 462047d1e4 Merge pull request #981 from SeninAndrew:ximea_camera_support_fix 2013-06-13 16:54:45 +04:00
Alexander Smorkalov 80f6ede233 Fix build problems on MIPS and Linaro NDK.
Merged android.toolchain.cmake from project
https://github.com/taka-no-me/android-cmake
commit: fd1f7055f8b7338644d58d9a2015a784dfa3a5ca
2013-06-13 16:51:45 +04:00
Vladislav Vinogradov 0367a7f992 link with nvcuvenc and ffmpeg libraries only if WITH_NVCUVID is enabled 2013-06-13 16:46:34 +04:00
Roman Donchenko 7aac543570 Merge pull request #991 from asmorkalov:android_javadoc_fix 2013-06-13 16:30:14 +04:00
Vladislav Vinogradov 055137582c fix for bug #2985:
OPENCLAMDBLAS and OPENCLAMDFFT never detected under linux.
lib64/import and lib32/import is the path on Windows but not Linux.
for CLAMDBLAS library we should use CLAMDBLAS_PATH (not CLAMDFFT_PATH)
2013-06-13 16:13:46 +04:00
Ivan Korolev de4c3f0178 Fixed a bug related to video stabilization crashes with a blank video (Bug #3023) 2013-06-13 13:41:43 +04:00
Alexander Smorkalov 83e9b0a87a Javadoc waring fix. 2013-06-13 12:40:14 +04:00
Sergei Nosov 982ef83f80 Fixes bug #3071.
If we have perfect matches (min_dist == 0.0), then strict comparison
fails. Making it non-strict results in treating perfect matches as
good.
2013-06-13 11:51:45 +04:00
Vladislav Vinogradov e433145b7e fix for Bug #3085:
weights array is only allocated for (l_count+1) elements,
but then weights[l_count+1] element is accessed.
2013-06-13 10:22:56 +04:00
peng xiao 5fd724b54a Add a function to query if global OpenCL context is initialized. 2013-06-13 10:46:12 +08:00
Peng Xiao d9ab22e4ed Fix two bugs related to opencl context.
1. As getDevice will implicitly call setDevice, in getContext we should not need to call it again.
2. Fix an incorrect type casting.
2013-06-12 13:55:20 +08:00
Andrew Senin 8eb6decb25 Fixed Ximea cameras support 2013-06-11 21:17:31 +04:00
Roman Donchenko 98f6a4a615 Merge pull request #972 from jet47:mog2-params-bug-2168 2013-06-11 18:21:52 +04:00
Roman Donchenko a4ecd32176 Merge pull request #980 from SpecLad:include-config 2013-06-11 18:18:14 +04:00
Roman Donchenko 572cfc99a8 Merge pull request #973 from pengx17:2.4_oclclahe 2013-06-11 18:17:57 +04:00
Roman Donchenko 3af21cad4c Merge pull request #903 from aks2:2.4 2013-06-11 17:35:39 +04:00
Peng Xiao c8398c9fdc Use anonymous enumerations instead of constants 2013-06-11 20:32:55 +08:00
Roman Donchenko a75fbb0031 Merge pull request #968 from asmorkalov:android_na_cproj_fix 2013-06-11 11:59:32 +04:00
Roman Donchenko d583a79869 Revert "Add a variant of detectMultiScale with an argument 'weights'"
It was merged by mistake.

This reverts commit ab6be9b7b7.
2013-06-10 17:06:34 +04:00
Vadim Pisarevsky 52e9974431 Merge pull request #961 from PeterMinin:detected_objects_weight 2013-06-10 15:22:46 +04:00
Roman Donchenko 1b689a7431 Merge pull request #971 from SpecLad:matchers-ctor 2013-06-10 15:06:31 +04:00
Roman Donchenko 55e83b8d18 Merge pull request #970 from asmorkalov:dshow_valid_check_fix 2013-06-10 15:06:14 +04:00
Alexander Smorkalov 956d8027ef Bug #3044 cap_dshow.cpp forgotten validity check fixed. 2013-06-10 13:29:45 -07:00
Roman Donchenko 3016986833 Merge pull request #965 from apavlenko:fix_java_empty_mats 2013-06-10 15:04:16 +04:00
Peng Xiao 1d8cd3a717 Add ocl CLACH implementation.
Test cases (accuracy and performance) are provided.
2013-06-10 18:37:48 +08:00
Vladislav Vinogradov 99a5b3417a added missing BackgroundSubtractorMOG2 parameters 2013-06-10 13:41:46 +04:00
Roman Donchenko 41482fe56c Erase MatchPairsBody's copy constructor.
It's the same as the implicitly defined one, and it causes a -Wextra warning
(not initializing the base class in a copy constructor).
2013-06-10 13:30:23 +04:00
Peng Xiao e77abeef16 Add a new global function to control ocl binary storage
Previously the feature is controlled by setBinpath implicitly.
We add the function to cope with setBinpath and setBinpath is only
useful when setBinaryDiskCache is set.
Refer to the header to see more info.
2013-06-10 16:38:22 +08:00
Alexander Smorkalov a39a9f677f NativeActivity sample build with Eclipse CDT fixed. 2013-06-10 11:06:28 +04:00
Andrey Pavlenko 264d26e671 fixing empty Mat case 2013-06-08 12:41:57 +04:00
Roman Donchenko 33d1f67501 Include the OpenCV config headers into every module.
This has no bearing on compilation, but it makes them show up in IDEs.
2013-06-07 19:07:55 +04:00
Vadim Pisarevsky 4cf7a963a0 Merge pull request #946 from bitwangyaoyao:2.4_samples2 2013-06-07 13:44:29 +04:00
Vadim Pisarevsky 51f81eec36 Merge pull request #957 from pengx17:2.4_fix_corner_detector 2013-06-07 13:44:10 +04:00
Roman Donchenko 68e4256fd2 Merge pull request #960 from SpecLad:extra-modules 2013-06-07 11:29:40 +04:00
Roman Donchenko 9b46c6fb8a Merge pull request #959 from SpecLad:qt4-build 2013-06-07 11:27:46 +04:00
Peter Minin ab6be9b7b7 Add a variant of detectMultiScale with an argument 'weights' that
receives the number of neighbors joined into each detected object
2013-06-06 19:00:55 +04:00
Roman Donchenko e53b7d040c Merge pull request #955 from SpecLad:symlink 2013-06-06 17:58:15 +04:00
Leszek Swirski 7d0f6b4d68 Fix image saving from QT toolbar 2013-06-06 11:15:00 +01:00
Leszek Swirski 9a1cc06ebe Fix pixel value rendering for non-fixed-size QT windows 2013-06-06 11:14:52 +01:00
Roman Donchenko 8714cbac91 Fix a missing header path when building with Qt 4.
Also, removing explicit include path configuration,
since QT_USE_FILE takes care of that.
2013-06-06 14:09:33 +04:00
peng xiao 429f84e59e Fix a bug of cornerHarris and cornerMinEigenVal.
The bug is a buffer overrun when border type is reflect101.
It is found that gfft crashed with input of size 100x100 on Intel CPU.
2013-06-06 11:44:35 +08:00
Roman Donchenko a954d3630f Add support for adding custom OpenCV modules. 2013-06-05 18:10:44 +04:00
Roman Donchenko 7f9675bcc0 Merge pull request #953 from jet47:fix-bug-3069 2013-06-05 17:56:35 +04:00
Roman Donchenko 7a80b9adaf Merge pull request #952 from SpecLad:jepg 2013-06-05 17:50:12 +04:00
Roman Donchenko 985bfea556 Don't resolve symlinks when looking for modules.
We don't really need it, it makes the code longer, and it can lead to
inconsistent paths when OpenCV is itself inside a symlink.
2013-06-05 17:17:13 +04:00
Roman Donchenko 087db2949a Merge pull request #948 from jet47:cuda-5.5-support 2013-06-05 17:04:22 +04:00
Roman Donchenko 127a152f76 Merge pull request #890 from caorong:patch-1 2013-06-05 16:00:25 +04:00
caorong a2adafd508 fix a bug(DetectorType never change)
changed line281 -> line220
Presentation:
because line 220 give the globle var mDetectorType,and in line 230 it will be compared with mDeteorType !!!  it will never be unequal ~
fix:
change mDetectorType(previous globle var) to a new local val tmpDetectorType
2013-06-05 15:57:54 +04:00
Vladislav Vinogradov 31a5f7ef3c fixed bug #3069 (infinite loop in GPU LBP Cascade detectMultiScale) 2013-06-05 14:08:55 +04:00
Roman Donchenko 93a44d4236 Fix typo in .gitattributes. 2013-06-05 13:51:11 +04:00
Roman Donchenko 27bff3c175 Merge pull request #947 from jet47:fix-gpu-arm-build 2013-06-05 11:50:12 +04:00
Roman Donchenko 99340b5613 Merge pull request #941 from apavlenko:signed_char 2013-06-05 11:27:08 +04:00
Roman Donchenko 5b5815d8cf Merge pull request #893 from jet47:gpu-arm-fixes 2013-06-04 17:52:30 +04:00
Roman Donchenko f527b6a93f Merge pull request #940 from SpecLad:autolock 2013-06-04 17:50:31 +04:00
Vladislav Vinogradov 89f3c40d79 fixed BroxOpticalFlow sanity test (increase epsilon value)
+ interpolateFrames and createOpticalFlowNeedleMap
2013-06-04 15:01:06 +04:00
Vladislav Vinogradov 4a770535c4 fixed BoxFilter sanity test (different rounding results) 2013-06-04 14:59:47 +04:00
Vladislav Vinogradov 516e5b2563 fixed BroxOpticalFlow regression test
the output of BroxOpticalFlow differs a bit in CUDA 5.5
2013-06-04 13:58:45 +04:00
Vladislav Vinogradov 918381875a rewrite gpu/device/vec_math.hpp file
old version isn't compiled with CUDA 5.5
new version doesn't depend on functional.hpp
2013-06-04 13:57:35 +04:00
Vadim Pisarevsky 119b7a298d Merge pull request #933 from pengx17:2.4_macfix_cont 2013-06-04 13:34:53 +04:00
Vadim Pisarevsky 2d88f20c1e Merge pull request #935 from pengx17:2.4_filter2d_fix 2013-06-04 13:34:40 +04:00
Vadim Pisarevsky 0cb1644825 Merge pull request #936 from bitwangyaoyao:2.4_perf 2013-06-04 13:34:25 +04:00
Vadim Pisarevsky e0c2daadbf Merge pull request #937 from bitwangyaoyao:2.4_fixPyrLK 2013-06-04 13:34:09 +04:00
Vadim Pisarevsky 267eb99a7d Merge pull request #938 from pengx17:2.4_surf_sample 2013-06-04 13:33:49 +04:00
Vadim Pisarevsky 37953b7cf0 Merge pull request #939 from pengx17:2.4_getDevice 2013-06-04 13:33:21 +04:00
Vladislav Vinogradov 3aea7e8f8d fixed gpu module build on arm platform
links with CUDA driver library only if we use video encoding/decoding
2013-06-04 12:51:36 +04:00
yao f049aa7674 use GoodFeaturesToTrackDetector_OCL 2013-06-04 15:59:21 +08:00
peng xiao a7a94de74a Fix a bug of gfft.
When user provided corners buffer is big enough to be copied to from
tmpCorners_, we allow the buffer to be reused other than allocate a new
cl_mem object.
2013-06-04 15:55:33 +08:00
yao dc937c10f9 change a test image of pyrlk 2013-06-04 11:31:54 +08:00
Roman Donchenko 75cf5cc4ee Merge pull request #943 from jet47:cuda-5.5-support 2013-06-03 16:08:23 +04:00
Roman Donchenko 5237647f75 Merge pull request #944 from jet47:cmake-2.8.11-cuda-fix 2013-06-03 16:08:06 +04:00
Vladislav Vinogradov bcf8bdb401 fixed constructors for functional objects (added __host__ modifier) 2013-06-03 14:41:23 +04:00
Vladislav Vinogradov ff28bf831f disabled samples with driver api 2013-06-03 14:01:04 +04:00
Vladislav Vinogradov 58e472754a fixed norm diff function (it uses pre-allocated buffer now) 2013-06-03 13:37:44 +04:00
Vladislav Vinogradov 0521e8908c fixed NPP error constants usage 2013-06-03 13:37:36 +04:00
Vladislav Vinogradov 09a7e86a39 fixed NPP library search (it was splitted) 2013-06-03 13:37:30 +04:00
Vladislav Vinogradov 013581f371 fixed GPU module compialtion with CMake 2.8.11
CMake 2.8.11 removed linkage with CUDA driver library,
but it's used by gpu video encoding/decoding
2013-06-03 13:29:26 +04:00
Roman Donchenko e9c298b784 Merge pull request #912 from SpecLad:contributing 2013-06-03 12:13:45 +04:00
Roman Donchenko 34c5f47f60 Merge pull request #934 from SpecLad:parallel-for 2013-06-03 12:13:16 +04:00
Andrey Pavlenko 081c47e3df making the comment less ambigous 2013-05-31 19:55:51 +04:00
Andrey Pavlenko 6f006e50dc setting 'char' to be signed by default since some tests fail when it's wrong (e.g. native compilation on ARM Linux) 2013-05-31 18:58:30 +04:00
Roman Donchenko 8a4090fe3f Make AutoLock noncopyable (it would break on copying, anyway). 2013-05-31 17:27:42 +04:00
Roman Donchenko 85360572b0 Merge pull request #931 from jet47:gpu-test-fixes 2013-05-31 16:46:31 +04:00
peng xiao cdb16f1120 Fix build error 2013-05-31 17:29:55 +08:00
peng xiao 97b86aa259 Initialize OpenCL context at the end of getDevice call.
Added for better compatibility with the current samples/test cases.
User now will be able to initialize OpenCL context explicitly with
ocl::getDevice api.
This may be obsoleted in future releases.
2013-05-31 16:48:40 +08:00
Roman Donchenko f90fd5b0da Split CLAHE into its own file, because it's faster that way.
Yes, it's as ludicrous as it sounds, but it's still true. Bizarrely,
the previous commit makes CLAHE run about 10% slower on Android, even
though it doesn't even touch any CLAHE code. Splitting it off fixes that,
although the reason it does is a mystery for the ages.

It's cleaner when it's in its own file, anyway. ;=]
2013-05-31 12:22:04 +04:00
Roman Donchenko 29b13ec1de Replaced most of the usages of parallel_for with that of parallel_for_.
This should allow many algorithms to take advantage of more parallelization
technologies.
2013-05-31 12:22:04 +04:00
peng xiao d85f27b537 Update ocl::surf_matcher sample.
The new sample adjust some parameters thus it should always be able to
calculate valid homography matrix when input is box.png and
box_in_scene.png.
Pure cpp surf and bfmatcher implementation is also added to show the user
its accuracy and performance.
2013-05-31 16:06:56 +08:00
yao 15a213d3fc fix a crash on Linux 2013-05-31 15:35:54 +08:00
yao abefcc6061 Adjust perf_filters, as this function only supports 3x3 kernel 2013-05-31 15:16:03 +08:00
peng xiao b1c248fcc9 Fix ocl::filter2D.
In current implementation, this function only works when anchor point is
in the kernel center and kernel size supported is either 3x3 or 5x5.
2013-05-31 10:53:52 +08:00
peng xiao fdc133d8c9 Fix ocl::pyrup kernel build on Mac. 2013-05-30 16:34:20 +08:00
Vadim Pisarevsky 37091b086c Merge pull request #932 from bitwangyaoyao:2.4_fixBFM 2013-05-30 12:21:27 +04:00
yao 5b598f8a0e a few fixes of ocl::perf test cases 2013-05-30 16:20:31 +08:00
Vadim Pisarevsky 6bb9342a5f Merge pull request #918 from bitwangyaoyao:2.4_samples 2013-05-30 12:01:40 +04:00
Vadim Pisarevsky 5a4efe8bcf Merge pull request #924 from pengx17:2.4_arithm_fix 2013-05-30 12:01:25 +04:00
Vadim Pisarevsky 678371be39 Merge pull request #925 from pengx17:2.4_canny_tmp_fix 2013-05-30 12:01:09 +04:00
Vadim Pisarevsky c176131a67 Merge pull request #927 from bitwangyaoyao:2.4_perf 2013-05-30 12:00:47 +04:00
Roman Donchenko c3f5e73769 Merge pull request #930 from pengx17:2.4_haar_ext 2013-05-30 11:57:24 +04:00
yao 7ed9c0e87a Fix brute_force_matcher's hung on some Intel CPU OCL 2013-05-30 14:57:15 +08:00
peng xiao fd7ba355ee Add non-stump based ocl Haar cascade classifier support.
For example, haarcascade_frontalface_alt2.xml is now supported.
Note that classifier's pattern of a cascade file must be consistent,
i.e., all trees must either have two nodes or one node, otherwise
unexpected results will occur.

Other fixes:
Test cases are updated.
Some unused codes are removed.
Fix some problems of haar when using OclCascadeClassifierBuf.
2013-05-30 14:01:19 +08:00
Vladislav Vinogradov 6b1c28ce6d fixed some gpu tests (different rounding results due to float arithmetics) 2013-05-29 17:38:32 +04:00
Roman Donchenko 0ae40507e5 Merge pull request #928 from apavlenko:bugfix_3027 2013-05-29 17:10:48 +04:00
Roman Donchenko fbb25787cd Merge pull request #920 from asmorkalov:android_move 2013-05-29 16:53:04 +04:00
Roman Donchenko b890274738 Merge pull request #910 from pengx17:2.4_oclgfft 2013-05-29 15:27:19 +04:00
peng xiao 006e4242b2 Merge branch '2.4' of https://github.com/Itseez/opencv into 2.4_oclgfft 2013-05-29 17:57:14 +08:00
Andrey Pavlenko e28f6fae49 fixing #3027 (searching JNI even if no ant), fixing java tests status message (ON/OFF) 2013-05-29 12:51:26 +04:00
yao a9b7ff41bd adjust test cases 2013-05-29 15:48:56 +08:00
peng xiao d015fa76fa Fix 2.4 ocl Canny.
This fix is a workaround for current 2.4 branch without introducing an
additional oclMat buffer into CannyBuf object.
Test case is cleaned up.
Volatile keywords in kernels are removed for performance concern.
2013-05-29 14:15:26 +08:00
Vadim Pisarevsky 2ccdf56119 Merge pull request #913 from janm399:2.4 2013-05-28 22:05:14 +04:00
Vadim Pisarevsky 24ca620c32 Merge pull request #916 from bitwangyaoyao:2.4_fixPyrLK 2013-05-28 22:04:37 +04:00
Vadim Pisarevsky d3c7ae6adf Merge pull request #919 from abidrahmank:2.4 2013-05-28 21:54:51 +04:00
Vadim Pisarevsky ecb1f3c4d2 Merge pull request #923 from pengx17:2.4_macfix 2013-05-28 21:54:25 +04:00
yao d81c145fa9 fix memory leak 2013-05-28 18:07:41 +08:00
yao 14bd6402be revise perf 2013-05-28 17:53:06 +08:00
peng xiao 1d0c283508 Fix a bug when pushing pointers of arguments into std::vector.
When argument pointers pushed into an vector and the pointers point to
address on stack, we need to make sure they are valid until kernels are
successfully flushed onto the queue.
2013-05-28 17:27:55 +08:00
Alexander Smorkalov f85cf5bdd9 Build fixes. Build scrips reorganized. 2013-05-28 12:27:56 +04:00
peng xiao 6fae02c05d Fix some OpenCL kernel file build errors on Mac. 2013-05-28 11:12:05 +08:00
Roman Donchenko 7561b1c6e5 Replace the pull request guidelines with a link to the wiki.
I've moved the contents of CONTRIBUTING.md to the wiki (and slightly
expanded it), so the former is no longer required. I've put a link to the
wiki page and a summary in the README.
2013-05-27 17:48:34 +04:00
Alexander Smorkalov 20fef00a77 android -> plarforms/android 2013-05-27 11:10:38 +04:00
abidrahmank 2dd3bf116e ANDed waitkey result with 0xFF for x64 systems 2013-05-27 10:30:30 +05:30
Bahram Dahi e2d6a3abe5 Added spacing in a nested template argument list. 2013-05-24 18:44:03 -04:00
Bahram Dahi dcad6ce65a Reverted back to the previous method where a public method groupRectangles was added to HOGDescriptor to take care of ROI and weight grouping 2013-05-24 18:25:23 -04:00
abidrahmank ca09ba6852 Bug #2960 : docs about CV_BGR2GRAY 2013-05-25 01:50:41 +05:30
abidrahmank 98960bf201 A new python sample on grabcut 2013-05-25 00:55:31 +05:30
yao fad96b95ad add results verification to facedetect and hog samples 2013-05-24 15:52:33 +08:00
yao c58e0d5d73 fix hog 2013-05-24 13:46:21 +08:00
yao 036b0579f1 remove the images in ocl sample folder 2013-05-23 18:12:09 +08:00
yao 33a3a19207 add two samples 2013-05-23 18:10:38 +08:00
yao d45f9ef866 fix Linux build errors 2013-05-23 17:58:50 +08:00
yao a223b5624f fix pyrLK's mismatch on Intel GPUs 2013-05-23 10:55:08 +08:00
Roman Donchenko 324cafdda6 Merge pull request #904 from ograycode:2.4 2013-05-22 18:46:40 +04:00
Jan Machacek 46b770f255 Fixed include name in OpenCL on OS X 2013-05-22 13:22:16 +01:00
Roman Donchenko 519ee72f6f Merge pull request #905 from bitwangyaoyao:2.4_TVL1 2013-05-22 12:08:16 +04:00
peng xiao b4a4a05bdc Add ocl's good features to track implementation.
Additional notes with this commit:
1. Add cornerHarris_dxdy and cornerMinEigenVal_dxdy to get
the interim dx and dy output of Sobel operator;
2. Add minMax_buf to allow user to reuse buffers in minMax;
3. Fix an error when either min or max pointer fed into minMax is NULL;
4. Corner sorter temporarily uses C++ STL's quick sort. A parallel
 selection sort in OpneCL is contained in the implementation but disabled
due to poor performance at the moment.
5. Accuracy test for ocl gfft.
2013-05-22 13:46:42 +08:00
Andrey Pavlenko d4255b7f75 Merge pull request #902 from apavlenko:fix_run_py 2013-05-21 14:07:32 +04:00
Bahram Dahi 8c25f9f28a [3rd attempt] fixed HOGDescriptor::detectMultiScale() to group weights as well as ROIs 2013-05-20 13:20:57 -04:00
alex77git 445860d619 (typo) 2013-05-20 13:19:36 +02:00
alex77git c8abaea368 (tab to space) 2x 2013-05-20 12:06:25 +02:00
Vadim Pisarevsky cbbc82a789 Merge pull request #882 from pengx17:2.4_rewrite_query_info 2013-05-20 14:01:03 +04:00
Vadim Pisarevsky b51a1a7d15 Merge pull request #895 from bitwangyaoyao:2.4_perf 2013-05-20 14:00:47 +04:00
Roman Donchenko 389be67605 Merge pull request #853 from icylord:2.4 2013-05-20 12:11:47 +04:00
yao d8b192c84d Fix the mismatch on NV GPUs 2013-05-20 14:46:17 +08:00
ograycode 97e9368e75 Simple set of the camera index to allow the user to change it after the object has been initialized. 2013-05-19 22:04:56 -04:00
alex77git bc59428b3a Bug #2966, insert CV_Assert(size.width>0 && size.height>0); in imshow() 2013-05-20 02:28:40 +02:00
alex77git 6e7b1ef252 Bug #2967, void DescriptorMatcher::radiusMatch() // description unclear,
only file:  common_interfaces_of_descriptor_matchers.rst
2013-05-20 02:26:58 +02:00
alex77git 44a2b109b7 Bug #2967, basic_structures.rst, fix 2 typos 2013-05-20 02:24:09 +02:00
Andrey Pavlenko 4af104aaae 'aapt' tool moved in SDK r22, adding support to run.py 2013-05-19 14:57:21 +04:00
Vadim Pisarevsky aee6a617a6 Merge pull request #897 from bitwangyaoyao:2.4_TVL1 2013-05-19 00:23:24 +04:00
yao 04399a27d0 fix a warning 2013-05-17 15:44:22 +08:00
yao 4162ebfad3 add OpticalFlowDual_TVL1_OCL function 2013-05-17 15:34:22 +08:00
yao 03c55db4fb fix the waring in gemm test 2013-05-17 13:19:09 +08:00
yao 5f20fce6fd add accuracy tests while running perf 2013-05-17 13:18:46 +08:00
Andrey Pavlenko 528db00095 Merge pull request #892 from jet47:removed-vibe 2013-05-16 18:44:07 +04:00
Vladislav Vinogradov ec52096e30 removed VIBE implementation 2013-05-16 13:47:24 +04:00
Vadim Pisarevsky 7d9041460a Merge pull request #885 from pengx17:2.4_bfmatcher_ocl 2013-05-15 14:21:50 +04:00
Vadim Pisarevsky 4d866ea32e Merge pull request #884 from pengx17:2.4_pyrup_fix 2013-05-15 14:18:54 +04:00
Dominik Rose 66c9029fd5 libdc1394 - removed validation for msvc compiler in CMakeLists.txt 2013-05-15 12:15:16 +02:00
peng xiao d053f2165d Add BFMatcher_OCL class alias for BruteForceMatcher_OCL.
This adds a similar interface with pure-cpp and gpu versions.
2013-05-15 10:47:17 +08:00
peng xiao 3f93c3cc4e Clean up spaces in ocl.hpp 2013-05-15 10:43:47 +08:00
peng xiao 1ecc765903 Merge branch '2.4' of https://github.com/Itseez/opencv into 2.4_pyrup_fix 2013-05-15 08:55:43 +08:00
peng xiao df3997b108 Fix ocl::pyrUp
Use predefined OpenCL function to convert integers to floating points.
This is more accurate than before as it enables:
1. saturate cast
2. customized rounding
2013-05-15 08:51:21 +08:00
Dominik Rose 1a34c7fab3 Merge branch 'mingw-libdc1394-2-windows' of https://github.com/dominikrose/opencv into mingw-libdc1394-2-windows 2013-05-14 16:49:08 +02:00
Dominik Rose 76d1fa0ef6 Merge branch 'mingw-libdc1394-2-windows' of https://github.com/dominikrose/opencv into mingw-libdc1394-2-windows 2013-05-14 16:48:29 +02:00
Dominik Rose d9c9fb079b Merge branch 'mingw-libdc1394-2-windows' of https://github.com/dominikrose/opencv into mingw-libdc1394-2-windows 2013-05-14 16:34:02 +02:00
Dominik Rose 23eb41d1be Merge branch 'mingw-libdc1394-2-windows' of https://github.com/dominikrose/opencv into mingw-libdc1394-2-windows 2013-05-14 16:33:31 +02:00
Dominik Rose d0788be129 Merge branch 'mingw-libdc1394-2-windows' of https://github.com/dominikrose/opencv into mingw-libdc1394-2-windows 2013-05-14 16:31:01 +02:00
Dominik Rose 86ec9b79fd libd1394 2.x support for mingw on windows added 2013-05-14 16:30:12 +02:00
Dominik Rose 9247ad634f libd1394 2.x support for mingw on windows added 2013-05-14 16:20:01 +02:00
Vadim Pisarevsky 2a646f7626 Merge pull request #862 from piponazo:v4lFPS 2013-05-14 16:00:28 +04:00
Vadim Pisarevsky 25e6902a43 Merge pull request #818 from bitwangyaoyao:2.4_optBlur 2013-05-14 15:56:56 +04:00
Vadim Pisarevsky bd1d7cd208 Merge pull request #839 from pengx17:2.4_ocl_csbp 2013-05-14 15:56:07 +04:00
Vadim Pisarevsky 87765c0f16 Merge pull request #883 from bitwangyaoyao:2.4_fixMoments 2013-05-14 15:55:38 +04:00
yao 1d1d28baf2 fix black screen when input Mat is large 2013-05-14 18:02:53 +08:00
peng xiao ac21cabda2 Copy ocl::queryDeviceInfo interface from master to 2.4.
Affected functions surf.ocl, pyrlk.ocl and hog.ocl are updated with the change.
2013-05-14 17:50:38 +08:00
Andrey Pavlenko 87fcd2342f Merge pull request #878 from apavlenko:better_glue_search 2013-05-14 11:57:25 +04:00
Vadim Pisarevsky 35d8fa444b Merge pull request #849 from dominikrose:dom_2.4 2013-05-13 23:38:26 +04:00
Vadim Pisarevsky d79c05fec9 Merge pull request #872 from pengx17:2.4_create2dimage_fix 2013-05-13 23:12:25 +04:00
Vadim Pisarevsky 6eb5a95a59 Merge pull request #871 from bitwangyaoyao:2.4_acry 2013-05-13 23:04:11 +04:00
Vadim Pisarevsky fd83f2f5ca Merge pull request #819 from bitwangyaoyao:2.4_haarBuf 2013-05-13 22:36:10 +04:00
Vadim Pisarevsky c549ec8371 Merge pull request #850 from SpecLad:convhull-orientation 2013-05-13 22:18:54 +04:00
Andrey Pavlenko d94ecf40e6 Merge pull request #880 from apavlenko:qt-5.0 2013-05-13 21:18:47 +04:00
Andrey Pavlenko 0fec2eb6e5 Merge pull request #879 from apavlenko:gcc-4.8 2013-05-13 21:17:04 +04:00
Vadim Pisarevsky e4d4b07f00 Merge pull request #873 from prclibo:2.4 2013-05-13 21:06:54 +04:00
Andrey Kamaev f856f78ac0 Update CMake scripts to recognize Qt 5.0 2013-05-13 17:10:32 +04:00
Andrey Kamaev 2665c39a0d Fix build warnings from gcc 4.8 2013-05-13 17:07:30 +04:00
Andrey Kamaev 60059a7aa0 Improve handling of native_app_glue dependency in Android samples 2013-05-13 17:01:18 +04:00
yao e23884a238 fix the warnings in fft tests 2013-05-13 15:04:23 +08:00
Vadim Pisarevsky 9cce8ca4b6 Merge pull request #864 from pengx17:2.4_stereobm 2013-05-12 22:16:03 +04:00
Vadim Pisarevsky 1348e7cd4d Merge pull request #877 from apavlenko:version_info_in_test_log 2013-05-12 22:15:47 +04:00
Andrey Pavlenko d5881bc00a adding version info to test log 2013-05-12 18:36:55 +04:00
yao ada8f92cc7 fix warnings, unify test names 2013-05-09 17:57:13 +08:00
Bo Li 81779d8287 fixed pca bug for fixed mean input 2013-05-09 15:20:00 +08:00
peng xiao e14acabb3d Fix ocl moudle build with latest Intel OpenCL SDK.
We found that cl.h file provided in latest Intel SDK muted deprecated interfaces.
2013-05-09 14:00:36 +08:00
peng xiao 69e6d0016e Optimize stereobm a bit.
Speedup about 30% on 6730M GPU.
2013-05-08 17:29:24 +08:00
yao b6313951dc use clean EXPECT_MAT_NEAR (no string output) 2013-05-08 17:07:44 +08:00
yao 35c6860f06 further simplify the logics in filter tests 2013-05-08 16:08:33 +08:00
yao 1a53e2cfb2 remove interpolation.hpp 2013-05-08 15:27:35 +08:00
yao 3928c1ee26 add copyrights 2013-05-08 15:21:53 +08:00
yao e4d3378230 simplify logics in filter tests, remove redundant code in arithm tests 2013-05-08 15:12:12 +08:00
Andrey Pavlenko 2aa5f1bfd1 Merge pull request #866 from MadEgg:RetrieveFrame_index_argument 2013-05-07 17:00:29 +04:00
Vadim Pisarevsky 741fb9b7d1 Merge pull request #865 from pengx17:2.4_ocl_ver 2013-05-07 16:39:49 +04:00
Andrey Pavlenko 2faa2adae2 Merge pull request #846 from smart-mobile-software:tuto_crash 2013-05-07 15:15:16 +04:00
poiuytrez 7dda8e2cb8 Link to bug tracker replaced by bug description 2013-05-07 11:45:18 +02:00
yao 52dbbae82c some cleanup, remove some commented codes 2013-05-07 16:14:50 +08:00
peng xiao d34e7eca60 Suppress warning when compiling deprecated OpenCL function on GNU compilers. 2013-05-06 17:16:45 +08:00
Egbert van der Wal dc6a144396 add (optional) index argument to RetrieveFrame method 2013-05-04 17:18:12 +02:00
peng xiao ed2199a497 Fix build 2013-05-03 09:54:11 +08:00
peng xiao 1eca49f40b ocl: Enable backward binary portability for setTo function. 2013-05-03 09:45:56 +08:00
peng xiao 168c0b0385 Optimize ocl::stereobm.
1. Use macro defines for some parameters(radius).
2. Reduce local memory usage.
3. Fix accuracy problem on Intel GPU.
2013-05-02 16:14:28 +08:00
peng xiao 355bc691fc Add OpenCL version 1.2 query into ocl::Context::supportsFeature().
Add backwards portability for OpenCL 1.1 when OpenCV executables
are compiled with OpenCL 1.2 profile support.
2013-05-02 14:44:59 +08:00
poiuytrez bef6de9025 Fix tuto3 picture taken crash on all devices
A modification of the JavaCameraView is needed to avoid a crash when the
app is exited. It is a good practice to remove the callback after the
stopPreview method.
2013-05-01 16:58:15 +02:00
Luis Díaz Más d13d5c0c12 Added setting feature of FPS in cap_libv4l 2013-05-01 01:07:03 +02:00
Andrey Pavlenko 48a8aefd6b Merge pull request #854 from asmorkalov:android_null_invalid_cam 2013-04-30 17:36:39 +04:00
Andrey Pavlenko f21e99de0f Merge pull request #858 from apavlenko:fix_ocl_build_on_bb 2013-04-30 11:25:31 +04:00
Andrey Pavlenko 108bb811c5 fixing precommit build on ubuntu-64 (now it takes OCL headers from non-default OCL SDK, but libs from default one) 2013-04-29 23:10:03 +04:00
Alexander Smorkalov 456c56fe90 NullPointerException in case of error on opening native camera fixed. 2013-04-29 11:00:52 +04:00
Andrey Pavlenko 5ce4e3c265 Merge pull request #800 from asmorkalov:android_cam_idx_semantic 2013-04-29 10:00:08 +04:00
Andrey Pavlenko 6d89e1f412 Merge pull request #827 from apavlenko:fix_android_tutorial1 2013-04-29 09:59:19 +04:00
ShengyinWu ef5578a7ce Fixs: After scaling back to original image, some detected ROI will outside the original image ROI 2013-04-29 12:16:42 +08:00
Vadim Pisarevsky 2068c4582c Merge pull request #844 from bitwangyaoyao:2.4_integral 2013-04-28 00:37:40 +04:00
Vadim Pisarevsky 4f26f0c2e2 Merge pull request #843 from pengx17:2.4_stereobp_fix 2013-04-28 00:32:26 +04:00
Roman Donchenko 2dc8642508 Changed convexHull's documentation to essentially invert the meaning of `clockwise`.
The orientation of convexHull's result is currently the opposite of what the
documentation would suggest:

>>> import cv2, numpy as np
>>> points = np.array([[0,0],[0,1],[1,0]], dtype=np.int32)
>>> cv2.convexHull(points, clockwise=False)
array([[[1, 0]],
       [[0, 1]],
       [[0, 0]]], dtype=int32)
>>> cv2.convexHull(points, clockwise=True)
array([[[0, 0]],
       [[0, 1]],
       [[1, 0]]], dtype=int32)

Changing the function itself is probably not a good idea at this point, so
this fixes the documentation by flipping the coordinate system.

I also removed the mention of the origin, since it's irrelevant for this
function.
2013-04-26 14:22:55 +04:00
Dominik Rose cfaae5917b Calib3d documentation:
- fixed reference to Slabaugh
2013-04-26 11:34:35 +02:00
poiuytrez 60bf018781 Fix android tutorial 3 second picture taken bug 2013-04-24 12:38:15 +02:00
Alexander Smorkalov 8606ee4beb Front/Back camera semantic support added to Android VideoCapture back-end. 2013-04-24 10:56:16 +04:00
yao f788d010f7 fix a crash on CPU OCL for some specified image sizes 2013-04-24 14:12:41 +08:00
peng xiao 9cfa24e515 Fix thread sync for csbp. 2013-04-23 17:35:40 +08:00
yao b386ea72aa use float when sum overflow 2013-04-23 17:23:05 +08:00
peng xiao 3282aaa1f5 Fix a bug found on Intel OpenCL SDK. 2013-04-23 15:34:40 +08:00
Peng Xiao c701d54281 Fix build errors 2013-04-21 11:19:37 +08:00
Peng Xiao 7b08d5ec69 Add OpenCL stereo CSBP implementation 2013-04-20 00:34:37 +08:00
Andrey Kamaev a9a269505c Merge pull request #829 from SpecLad:sphinx-ver-1 2013-04-17 15:45:53 +04:00
Andrey Kamaev 28aefc4f5a Merge pull request #817 from pengx17:2.4_ocl_bitwise_cleanup 2013-04-17 15:45:38 +04:00
Roman Donchenko bd6f80faf3 Redo the Sphinx check to do the same thing on all platforms.
This also fixes the bug where the Sphinx version gets detected as
"Sphinx vX.Y.Z" instead of "X.Y.Z" on Unix-like systems.
2013-04-17 12:33:11 +04:00
Andrey Kamaev f6848b66d6 Merge pull request #826 from pengx17:2.4_canny_clampfix 2013-04-17 11:09:49 +04:00
Andrey Kamaev bf551df4cf Merge pull request #825 from pengx17:2.4_query_cpu_wavesize 2013-04-17 11:09:37 +04:00
Andrey Kamaev 5eff4f8340 Merge pull request #822 from taka-no-me:better_cv_enum 2013-04-17 11:08:58 +04:00
Andrey Pavlenko 8c40f0ccf2 fixing build and lint warnings 2013-04-16 15:30:43 +04:00
peng xiao 0f7d7100e5 Add clamping for y dimension. 2013-04-16 15:49:15 +08:00
peng xiao 6f63a5d8d5 Let wave_size=1 on CPU. 2013-04-16 14:41:30 +08:00
Andrey Kamaev c02095ae1c Merge pull request #821 from taka-no-me:contributing 2013-04-16 10:16:14 +04:00
Andrey Kamaev 96b008cd29 Eliminate the need of ::testsing::ValuesIn() for CV_ENUM
Also cv::, cv::gpu:: and cv::ocl:: namespace prefixes can be safely omitted
inside CV_ENUM and CV_FLAGS
2013-04-15 19:39:49 +04:00
Andrey Kamaev ecf28cc21e Add contributing page for Github 2013-04-15 16:57:58 +04:00
yao 69a0b5dde5 Add OclCascadeClassifierBuf interface 2013-04-15 17:24:30 +08:00
yao dec6a3b080 make boxfilter kernel compile on Mac GPU OCL 2013-04-15 16:46:25 +08:00
Andrey Kamaev 2ae3ab11e3 Merge pull request #814 from taka-no-me:gtest_r652 2013-04-15 12:13:16 +04:00
Andrey Kamaev 0df6dc16a5 Merge pull request #811 from pengx17:2.4_ocl_bfmatcher_newtype 2013-04-15 12:12:18 +04:00
peng xiao 06a4bad809 Merge ocl and/or/xor operators into one kernel each. 2013-04-15 10:36:03 +08:00
Andrey Kamaev 802d004bbb Fix build issues 2013-04-13 16:53:59 +04:00
Andrey Kamaev 9deea80b83 Update gtest to upstream r652
It is already marked as a gtest 1.7.0
2013-04-13 16:29:05 +04:00
Peng Xiao 6dd6013546 Use a faster way to count 1's (used by Hamming) 2013-04-13 14:34:30 +08:00
Peng Xiao f2dc445412 Merge branch '2.4_ocl_bfmatcher_newtype' of https://github.com/pengx17/opencv into 2.4_ocl_bfmatcher_newtype 2013-04-13 14:09:21 +08:00
Peng Xiao 6b6b1c9cbf Allow more query/train types for ocl::bfmatcher 2013-04-13 14:08:58 +08:00
Peng Xiao d9de84091c Allow more input query/train types for ocl::bfmatcher
RadiusMatch for HammingDist cannot pass yet.
2013-04-13 13:42:26 +08:00
Peng Xiao 1db20099a9 Enable runtime type definition in kernels 2013-04-13 12:50:17 +08:00
Peng Xiao fd1528795e Pass query type T into kernel 2013-04-13 11:39:13 +08:00
Peng Xiao 63813e83ae Untabify 2013-04-13 11:22:22 +08:00
Peng Xiao 6a40383aee Add HammingDist test case 2013-04-13 11:07:26 +08:00
Andrey Kamaev abe2ea59ed Merge pull request #802 from SpecLad:shebang 2013-04-12 15:00:28 +04:00
Andrey Kamaev 36028bd8ad Merge pull request #808 from bitwangyaoyao:2.4_mac 2013-04-12 14:59:45 +04:00
Andrey Kamaev d2de68c14c Merge pull request #804 from gpsinghsandhu:staticCast 2013-04-12 14:59:26 +04:00
Andrey Kamaev b696d49d5a Merge pull request #801 from kirill-kornyakov:lkdemo-fix 2013-04-12 14:59:11 +04:00
Vadim Pisarevsky 03e2a52e2c Merge pull request #807 from pengx17:2.4_ocl_bfm_opt 2013-04-12 13:46:55 +04:00
Vadim Pisarevsky 3d39087a67 Merge pull request #806 from bitwangyaoyao:2.4_fix 2013-04-12 13:46:33 +04:00
Vadim Pisarevsky a770d04e78 Merge pull request #781 from bitwangyaoyao:2.4_fixerr 2013-04-12 13:44:59 +04:00
yao 719e8674ad fix the compile errors on Mac 2013-04-12 17:38:59 +08:00
peng xiao 2338a895f5 Capitalize macro namings. 2013-04-12 16:56:49 +08:00
peng xiao 1bea9ee26c Rename test case category and code clean up. 2013-04-12 16:54:06 +08:00
peng xiao c9d8eb7a84 Fix build error on linux. 2013-04-12 16:52:21 +08:00
peng xiao 6eefd276cf Further optimize bfmatcher by passing macros. 2013-04-12 16:51:36 +08:00
peng xiao 113b7584e0 Optimize bfmatcher by passing macros. 2013-04-12 16:50:30 +08:00
peng xiao 1e49c00f4b Replace create with ensureSizeIsEnough thus buffer objects can be reused. 2013-04-12 16:47:44 +08:00
yao 61e041673e remove the OpenCL Dir finding in CMake 2013-04-12 14:44:55 +08:00
Gurpinder Singh Sandhu 36aad46fe1 changed reinterpret_cast to static_cast
This issue seem to be lingering around for quite some time
https://github.com/Itseez/opencv/pull/639
http://code.opencv.org/issues/2819
2013-04-11 22:32:50 +05:30
Roman Donchenko 57d4c86b2b Fixed the shebang lines on the Python scripts.
Also, removed the one from modules/python/src2/cv.py and cleared its
executable bit, since it's not a script.
2013-04-11 18:37:23 +04:00
Kirill Kornyakov 53a06913cb Minor code cleanings in lkdemo.cpp 2013-04-11 17:57:33 +04:00
Kirill Kornyakov e351538697 #2813 bugfix 2013-04-11 17:50:10 +04:00
Andrey Kamaev ca56e99a62 Merge pull request #796 from SpecLad:more-backports 2013-04-11 15:48:17 +04:00
Andrey Kamaev a1fa63ffc9 Merge pull request #799 from SpecLad:boost-initial-weights 2013-04-11 15:47:57 +04:00
Roman Donchenko 4143071e22 In CvBoost, delegated update_weights's implementation to a helper method.
This allows subclasses of CvBoost to override initial weights that
update_weights uses without duplicating its entire implementation.
2013-04-11 13:50:10 +04:00
Andrey Kamaev 62b593ca8b Merge pull request #793 from SpecLad:auto-cuda 2013-04-11 12:24:04 +04:00
Andrey Kamaev 7711fe2f43 Merge pull request #794 from asmorkalov:android_no_layout 2013-04-11 11:34:42 +04:00
Andrey Kamaev 18d4f14892 Merge pull request #792 from asmorkalov:manager_incompat_wh 2013-04-11 11:34:21 +04:00
Andrey Kamaev 9ba25e9d09 Merge pull request #742 from bitwangyaoyao:2.4_fix 2013-04-11 11:33:45 +04:00
Andrey Kamaev 0c64fc61dc Merge pull request #740 from evil0sheep:2.4 2013-04-11 11:33:31 +04:00
Roman Donchenko 484607fb6f Backported RNG_MT19937 from master. 2013-04-10 19:39:38 +04:00
Roman Donchenko f64d512774 Backported globbing from master. 2013-04-10 19:36:39 +04:00
Alexander Smorkalov 6e8f5ae574 Front/back camera constants semantic for Android fixed (Bug #2839).
Front/Back camera constants' values changed;
Additional camera facing check added for JavaCameraView.
2013-04-10 16:57:34 +04:00
Alexander Smorkalov 82c61eba49 Feature #2893 Create Java sample without layout.xml implemented. 2013-04-10 13:38:59 +04:00
Roman Donchenko e8721f1f6f Automatically add CUDA support to a module if it has CUDA sources.
Backport from master.
2013-04-10 12:20:54 +04:00
Alexander Smorkalov ec6f0e1baf Incompatible hardware detetction added to OpenCV Manager(Feature #2941) 2013-04-10 12:10:13 +04:00
Andrey Kamaev 71896544ca Merge pull request #789 from asmorkalov:android_na_mk_fix 2013-04-09 13:14:22 +04:00
Alexander Smorkalov 7bd169caa9 Native activity build with Android.mk fixed. 2013-04-09 10:17:22 +04:00
Andrey Kamaev aef8e6ba59 Merge pull request #782 from taka-no-me:bitness_detection 2013-04-09 08:52:32 +04:00
Andrey Kamaev 6d7313cd3d Merge pull request #776 from virtuald:2.4 2013-04-09 08:51:09 +04:00
Andrey Kamaev d3083ecf6d Fix bitness detection for target platform 2013-04-08 11:25:36 +04:00
Andrey Kamaev 5cfb6a848e Merge pull request #780 from sivapvarma:2.4 2013-04-08 10:11:16 +04:00
yao 7726e273a9 merge add and sub into one set of kernels 2013-04-06 13:37:36 +08:00
Siva Prasad Varma e2df8c7e62 Fix bug #2590
replaced wrong check to correct check
2013-04-05 19:09:09 +05:30
yao bee970ab94 remove the C3 kernels in arithm, as the oclMat will never store 3 channels data 2013-04-05 21:29:29 +08:00
Andrey Kamaev 74e5ff2ec7 Merge pull request #778 from asmorkalov:android_wanr_fix 2013-04-05 13:00:20 +04:00
Andrey Kamaev 72e49dc790 Merge pull request #777 from taka-no-me:ocl_win_hang 2013-04-05 13:00:03 +04:00
Andrey Kamaev a2d27429e4 Merge pull request #775 from bitwangyaoyao:2.4_fixerr 2013-04-05 12:59:45 +04:00
Andrey Kamaev 977562b614 Merge pull request #771 from gpsinghsandhu:surfFeatureFinder 2013-04-05 12:59:22 +04:00
Andrey Kamaev 3b6a82b57c Merge pull request #769 from apavlenko:fix_2901 2013-04-05 12:59:02 +04:00
Alexander Smorkalov f89cc191a4 Waning fixes for Android samples 2013-04-05 12:17:45 +04:00
Andrey Kamaev 5163986e7d Merge pull request #772 from gpsinghsandhu:featureDescriptionTutorials 2013-04-05 11:46:06 +04:00
Andrey Kamaev 3400d83778 Workaround hanging of ocl module when ocl API in not really used 2013-04-05 11:01:28 +04:00
Andrey Pavlenko 4c31c26acf fix for #2901 (en exception was raised when getting empty MatOfDMatch) 2013-04-05 08:50:37 +04:00
Andrey Pavlenko 09fe5cddf1 test for the issue #2901 2013-04-05 08:50:24 +04:00
Andrey Pavlenko 18b2d6bdbb copying '.classpath' and '.project' to build dir, useful for opening in eclipse 2013-04-05 08:50:08 +04:00
Dustin Spicuzza 64b5784c0b Catch exceptions when large allocations fail 2013-04-05 00:43:10 -04:00
yao 8cc5b98051 Fix the problem of device selection on hybrid video systems. 2013-04-05 09:19:59 +08:00
yao 5022bc8c25 move the "cpu device checking" from supportsFeatures() to queryDeviceInfo() 2013-04-05 09:17:14 +08:00
yao bcc086baa9 fix all redefine build errors on some Intel OCL 2013-04-05 08:15:05 +08:00
Gurpinder Singh Sandhu 87b84a4197 another update 2013-04-04 23:13:03 +05:30
Gurpinder Singh Sandhu d51d05fc44 Feature description tutorials made in sync with sample code
sample code : https://github.com/Itseez/opencv/blob/master/samples/cpp/tutorial_code/features2D/SURF_descriptor.cpp

Bug #2888
2013-04-04 23:12:18 +05:30
Gurpinder Singh Sandhu 69127e4105 some typo 2013-04-04 22:54:27 +05:30
Gurpinder Singh Sandhu 2b1e13f8f4 changed surfFeaturesFinder::find() to allow CV_8UC1 type images
http://code.opencv.org/issues/2926
2013-04-04 22:52:07 +05:30
Andrey Kamaev 652606f780 Merge pull request #770 from asmorkalov:winrt 2013-04-04 20:01:55 +04:00
Andrey Kamaev 80fed87d53 Merge pull request #760 from alekcac:2.4 2013-04-04 18:44:35 +04:00
Alexander Smorkalov a914088f29 Build warning fixes. 2013-04-04 07:29:53 -07:00
Andrey Kamaev 6570215205 Merge pull request #767 from asmorkalov:version_increment 2013-04-04 18:00:44 +04:00
Andrey Kamaev c34820b53a Merge pull request #766 from taka-no-me:try_compile_fix 2013-04-04 18:00:23 +04:00
Andrey Kamaev 1d7ff721ed Merge pull request #764 from taka-no-me:svd 2013-04-04 17:59:57 +04:00
Andrey Kamaev 579f723fc6 Merge pull request #762 from vpisarev:cvt_fix 2013-04-04 17:59:28 +04:00
Andrey Kamaev 7c402d1e15 Merge pull request #759 from asmorkalov:android_common_fixes 2013-04-04 17:58:44 +04:00
Andrey Kamaev e7885bb8e4 Merge pull request #758 from taka-no-me:do_not_use_opengl_without_ui 2013-04-04 17:57:38 +04:00
Andrey Kamaev 6f288615a2 Merge pull request #756 from taka-no-me:libavcodec53.25.0 2013-04-04 17:57:17 +04:00
Andrey Kamaev 6a0f605f51 Merge pull request #755 from taka-no-me:add_checkinclude 2013-04-04 17:56:53 +04:00
Andrey Kamaev e22983ddb6 Merge pull request #753 from taka-no-me:fix_osx_fat_java 2013-04-04 17:55:28 +04:00
Alexander Smorkalov 1e332d690f OpenCV verison incremented
OpenCV Manager verison incremeneted;
Docs and tests updated accordingly;
COnstant for Manager initialization added.
2013-04-04 15:50:36 +04:00
Andrey Kamaev fa64f28c6b Fix binary directory used in CMake try_compile commands
Old paths can have problems with cross-compilation
2013-04-04 15:43:49 +04:00
Alexander Shishkov 35f75147b0 removed willowgarage.com links 2013-04-04 14:33:00 +04:00
Vadim Pisarevsky 6aa4f533fa attempt to fix stereobm failures on Mac and Linux 2013-04-04 14:27:11 +04:00
Andrey Kamaev 235a678458 SVD: always update W vector for better algorithm convergency 2013-04-04 13:55:36 +04:00
Alexander Shishkov 382695ba5a removed links to the http://opencv.willowgarage.com/ 2013-04-04 13:44:28 +04:00
Alexander Smorkalov 36367ec027 Several fixes android related fixes
Native activity build warning fixed;
Logcat messages for JavaCameraView updated (Bug #2876);
Some fixes for feature #2893 done.
2013-04-04 12:18:13 +04:00
Andrey Kamaev 2c57445ffe Improve CMake checks for the OpenGL availability
Issue #2868
2013-04-04 11:57:00 +04:00
Andrey Kamaev eb3c9ed1ab Fix ffmpeg wrapper compatibility with libavcodec > 53.25.0
Based on pull request #685
2013-04-04 11:27:43 +04:00
Andrey Kamaev bf3264b197 Add missed CMake include for check_include_file
Issue #2820
2013-04-04 11:04:51 +04:00
Andrey Kamaev 1e9ed14205 Merge pull request #752 from khzimmer:2.4 2013-04-04 00:57:33 +04:00
Andrey Kamaev 17a914d2d0 Merge pull request #749 from taka-no-me:mingw64 2013-04-04 00:56:10 +04:00
Andrey Kamaev 0e53c56cf6 Merge pull request #744 from pengx17:Branch_2.4_stereobp_ocl 2013-04-04 00:55:03 +04:00
Andrey Kamaev eeaa1e8751 Fix link of fat java wrapper on OS X 2013-04-03 20:02:13 +04:00
Karl-Heinz Zimmer 2122627877 Set ptr to NULL, so this method can be called repeatedly. This fixes a crash after unplugging web cam and trying to re-scan the cameras. 2013-04-03 17:54:29 +02:00
Andrey Kamaev 18536fe8f9 Fix target platform detection for x64 MinGW 2013-04-03 16:30:33 +04:00
Andrey Kamaev 91f6eb7cab Merge pull request #745 from jet47:fix-gpu-warnings 2013-04-03 15:44:46 +04:00
Andrey Kamaev 795a513ac4 Merge pull request #716 from asmorkalov:winrt 2013-04-03 15:39:58 +04:00
Andrey Kamaev a2d89aced4 Merge pull request #748 from asmorkalov:android_na_install_fix 2013-04-03 15:21:09 +04:00
Andrey Kamaev 6c58a22e32 Merge pull request #743 from jet47:fix-sparsemat-iterator 2013-04-03 15:18:11 +04:00
Andrey Kamaev d7a7d05dd6 Merge pull request #738 from jet47:gpu-disable-videoenc-test 2013-04-03 15:17:53 +04:00
Andrey Kamaev a089cf8d9b Merge pull request #728 from taka-no-me:ndk-r8e 2013-04-03 15:17:37 +04:00
Alexander Smorkalov a2561ee0cd Code review notes fixed. 2013-04-03 04:14:40 -07:00
Alexander Smorkalov 3929a43873 Native activity install fixed. 2013-04-03 14:43:23 +04:00
Vladislav Vinogradov 870563ba25 fixed compilation warning for CUDA files
command line option '-Wsign-promo' is valid for C++/ObjC++ but not for C [enabled by default]
2013-04-03 13:47:59 +04:00
peng xiao 917138f565 Fix compilation errors. 2013-04-03 17:36:05 +08:00
peng xiao 7758322fd3 Fix some build errors. 2013-04-03 16:42:44 +08:00
Vladislav Vinogradov 9d7e51eb46 fixed SparseMat Iterator compilation error (bug #2921) 2013-04-03 12:39:03 +04:00
peng xiao ecea583afd Add ocl::stereobp function.
OpenCL StereoBeliefPropagation, ported from GPU implementation.
2013-04-03 15:57:26 +08:00
yao d5aaea2749 fix some mismatch on cpu device running OCL 2013-04-03 14:24:55 +08:00
yao cb63bbf001 fix hog on some CPU device running ocl 2013-04-03 13:58:44 +08:00
yao fd4a6f0af0 make the sparse method give correct results on CPU ocl
Add CL_CPU to supportsFeature check
simplify the logic of pyrlk
2013-04-03 13:23:04 +08:00
Alexander Smorkalov 4703f4552a Experimental MS Media Foundation API support added 2013-04-02 18:10:55 -07:00
dave 8db1a73102 Added v4l2 support for getting capture property CV_CAP_PROP_POS_MSEC 2013-04-02 10:31:02 -07:00
Vladislav Vinogradov 8d521d4704 disabled perf tests for gpu VideoWriter and VideoReader 2013-04-02 16:49:09 +04:00
Andrey Kamaev 656594ad4f Merge pull request #736 from bitwangyaoyao:2.4_clflush 2013-04-02 15:25:19 +04:00
Andrey Kamaev baa4882a2a Merge pull request #735 from jet47:fix-windows-issues 2013-04-02 15:25:06 +04:00
Andrey Kamaev f9f1261469 Merge pull request #734 from apavlenko:fix_2806 2013-04-02 15:24:53 +04:00
Andrey Kamaev 74097a426b Merge pull request #732 from apavlenko:disable_unstable_test 2013-04-02 15:24:40 +04:00
Andrey Kamaev 04f0d31472 Merge pull request #731 from bitwangyaoyao:2.4_fixDft 2013-04-02 15:24:26 +04:00
Andrey Kamaev 727a339455 Merge pull request #730 from vpisarev:ba_fix 2013-04-02 15:24:12 +04:00
Vladislav Vinogradov 642d7d6826 fixed nonfree test (run it only on one gpu device) 2013-04-02 13:24:39 +04:00
Vladislav Vinogradov 9086efa8e9 fixed warnings 2013-04-02 13:24:00 +04:00
Vladislav Vinogradov b47a2012d2 fixed assert condition (trueRightDisp can be empty) 2013-04-02 13:23:03 +04:00
Andrey Pavlenko 75ea10e6ff fix for #2806 (missing 'nu03' field of moments) 2013-04-02 12:14:43 +04:00
Andrey Pavlenko 9aa29373b4 this test is unstable (fails from time to time), let's disable it until fixed 2013-04-02 11:39:26 +04:00
yao f3254b28f2 use clflush replaces clfinish 2013-04-02 14:41:02 +08:00
yao 10f6ebfdf7 fix the crash when calling dft 2013-04-02 11:35:40 +08:00
Vadim Pisarevsky 10702c6d75 fixes in bundle adjustment code by Nils Hasler 2013-04-01 15:20:35 +04:00
Andrey Kamaev e640985e22 Update Android toolchain to the latest version supporting NDK r8e 2013-04-01 15:18:43 +04:00
Andrey Kamaev 2a1cf23fab Merge pull request #713 from bitwangyaoyao:2.4_perf 2013-04-01 15:16:48 +04:00
Andrey Kamaev a3954fb223 Merge pull request #729 from jet47:fix-gpu-windows-build 2013-04-01 15:11:40 +04:00
Andrey Kamaev d619625576 Merge pull request #727 from asmorkalov:android_na_cmake 2013-04-01 15:11:25 +04:00
Andrey Kamaev aebffb712a Merge pull request #726 from jet47:fix-pvs-studio-warnings 2013-04-01 15:11:02 +04:00
Andrey Kamaev 52fc9f7794 Merge pull request #725 from taka-no-me:fix_array_create 2013-04-01 15:10:49 +04:00
Vladislav Vinogradov 8e10cd8946 fixed gpu module compilation under windows 2013-04-01 14:15:06 +04:00
Alexander Smorkalov f2fe89c6d8 CMakeLists.txt for Android native activity added. 2013-04-01 12:38:26 +04:00
Vladislav Vinogradov b62cf65b91 fixed inconsistent new/delete operators 2013-04-01 11:55:02 +04:00
Vladislav Vinogradov 3d095ccc82 fixed condition in KeyPointsFilter::retainBest 2013-04-01 11:53:43 +04:00
Vladislav Vinogradov d27d091e59 fixed mind/maxd search in CvFuzzyMeanShiftTracker::SearchWindow::initDepthValues 2013-04-01 11:53:05 +04:00
Vladislav Vinogradov 43f38df1d2 fixed incorrect sizeof() expression in CvCalibFilter::SetCameraCount 2013-04-01 11:37:48 +04:00
Vladislav Vinogradov 3c86788b1f fixed incorrect sizeof() expression in CvCaptureCAM_VFW::open 2013-04-01 11:35:33 +04:00
Vladislav Vinogradov d2b093d809 fixed potential dereference of null pointer 2013-04-01 11:31:56 +04:00
Vladislav Vinogradov ce2284e2e6 removed duplication 2013-04-01 11:29:13 +04:00
Vladislav Vinogradov 5a4fa4607b fixed misprint in imgwarp.cpp 2013-04-01 11:26:49 +04:00
Vladislav Vinogradov ae47b8f06c fixed misprint in icvCreateIsometricImage 2013-04-01 11:23:27 +04:00
Vladislav Vinogradov 10774ff068 removed unnecessary tmp variable (convertTo can work in-place) 2013-04-01 11:18:30 +04:00
Vladislav Vinogradov b28677bd90 fixed misprint in MatOp::augAssignXor 2013-04-01 11:16:47 +04:00
Andrey Kamaev 87bb7ff558 Merge pull request #721 from jet47:tvl1-bug-fix 2013-03-31 13:46:25 +04:00
Andrey Kamaev 6bf0181d87 Merge pull request #723 from virtuald:2.4 2013-03-31 13:45:55 +04:00
Andrey Kamaev ea5225ef3e Fix typo leading to heap corruption in OutputArray::create 2013-03-31 13:40:09 +04:00
Dustin Spicuzza b08432cfe7 Port dft.py sample from cv to cv2 2013-03-29 17:37:00 -04:00
Misty De Meo e143706ef9 Fix ant/Java detection in cmake scripts
Mac OS X 10.7 and newer don't come with Java installed. They do
include some stub binaries, which ask the user if they want to
install Java when run.

OpenCV's cmake script just checks for the existence of an ant
binary and assumes that Java's available if ant is. As a result,
cmake will configure the build to use Java and it will fail once
it tries to compile the Java bindings.

This fixes the issue by checking for the exit status of
`ant -version` - it exits 0 if Java is installed, or 1
otherwise.(cherry picked from commit a423afddc1)
2013-03-29 18:29:40 +04:00
Ryan Rawson f5c3cb8b7c Update operations_on_arrays.rst
Remove weirdo unicode – and just use a normal -(cherry picked from commit 0d49de51b7)
2013-03-29 18:29:29 +04:00
Andrey Kamaev 7d37625fc3 Merge pull request #718 from apavlenko:java_tests_fix 2013-03-29 18:21:14 +04:00
Andrey Kamaev 56d62118d5 Merge pull request #707 from pengx17:2.4_surf 2013-03-29 18:20:45 +04:00
Andrey Kamaev b5dd26e4c7 Merge pull request #704 from taka-no-me:folders 2013-03-29 18:20:27 +04:00
Vladislav Vinogradov 924b0ef786 fixed bug in TVL1 optical flow:
initial optical flow was not cleaned during the second call
2013-03-29 10:40:28 +04:00
Alexander Smorkalov c6cab50c5c Perf tests for Video IO on WInRT fixed. 2013-03-28 00:15:30 -07:00
Alexander Smorkalov 09bc99a0c0 HAVE_WIN32UI and HAVE_VFW checks and defines added. 2013-03-27 08:03:51 -07:00
Alexander Bohn / FI$H2k c66cf08ced Fix for encoding errors when building Java source
The generated OpenCV Java source can contain characters outside of ASCII on some systems – this patch allows the ant task to compile them.
(cherry picked from commit f3ee55e042)
2013-03-27 17:43:00 +04:00
Andrey Kamaev cdddecbb93 Merge pull request #715 from pengx17:2.4_canny_buf 2013-03-27 13:19:40 +04:00
Andrey Kamaev db17382d3a Merge pull request #712 from apavlenko:fix-2912 2013-03-27 13:19:27 +04:00
Alexander Smorkalov de95a2b278 Video IO tests turned off for ARM WinRT. 2013-03-27 00:45:41 -07:00
peng xiao 04a6ab4144 Fix OCL Canny 2013-03-27 15:08:51 +08:00
peng xiao f2ecf4f905 Disable ocl::SURF accurate test 2013-03-27 13:25:08 +08:00
yao 5539e85a11 use perf test replace performance sample 2013-03-27 12:04:48 +08:00
peng xiao ad58c084a9 Fix compiler errors 2013-03-27 08:56:31 +08:00
Alexander Smorkalov 6f68640d4d Multiple fixes for WinRT
Fixed flann build with NEON;
Fixed Haming distance with NEON;
Honest cvRound for WinRT added;
cvRound test added;
Video IO with direct show disabled;
2013-03-26 17:19:52 -07:00
Andrey Pavlenko bbf43e8b16 fix for bug #2912 (DescriptorExtractor::compute Java wrapper loses native arg change) 2013-03-26 19:31:16 +04:00
Andrey Kamaev 6c99b5c9e5 Merge pull request #705 from bitwangyaoyao:2.4_oclFix 2013-03-26 18:38:36 +04:00
Andrey Kamaev 6a6ae355b1 Merge pull request #710 from jet47:gpu-fix-compilation-issues 2013-03-26 15:31:22 +04:00
peng xiao 8ffc15371d Fix compiler errors 2013-03-26 17:23:38 +08:00
peng xiao 7476bf5cd7 Fix compiler errors 2013-03-26 16:40:30 +08:00
Vladislav Vinogradov 4dbd0f0e8f fixed compilation issues with gpu modules:
* disabled warnings from thrust
* fixed warnings from ts_gtest.h
* possibly fixed superres compilation in Debug mode on Windows
2013-03-26 12:33:13 +04:00
peng xiao 9698079ca5 Pass warp size into SURF 2013-03-26 15:48:15 +08:00
peng xiao 0c19a07bf4 Add a function to query ocl device info
Currently the function only supports wavefront size query
2013-03-26 15:36:49 +08:00
yao d6f1ad8c14 more fix 2013-03-26 14:23:26 +08:00
yao f36db3a037 more fix of mismatch 2013-03-26 14:10:29 +08:00
yao ad6aae4583 more fix of mismatch functions on CPU OCL 2013-03-26 13:41:13 +08:00
yao 2c06e59a69 fix some mismatch 2013-03-26 13:05:01 +08:00
yao f428d1874a discard comments in kernels.cpp 2013-03-26 12:01:01 +08:00
peng xiao f7b40cdc63 Add a macro to call additional barrier function on the fly 2013-03-26 11:51:02 +08:00
yao 7e495a1d66 fix amdFft and amdBlas path 2013-03-26 11:48:14 +08:00
Andrey Kamaev f282498b1d Drop outdated targets and fix solution folders 2013-03-25 21:57:53 +04:00
Andrey Kamaev 55c9a7c87d Merge pull request #701 from jet47:clahe 2013-03-25 20:26:22 +04:00
Vladislav Vinogradov 4d23e2c8c9 GPU implementation of CLAHE 2013-03-25 17:45:13 +04:00
Vladislav Vinogradov 5810a73d30 CPU implementation of CLAHE 2013-03-25 17:44:31 +04:00
Andrey Kamaev 5c327030eb Merge pull request #698 from vpisarev/ms_visimage_tut24
added tutorial by Wolf Kienzle on using "image watch" plugin for ms visual studio
2013-03-25 03:29:13 -07:00
Andrey Kamaev 04ec0bdbf0 Merge pull request #697 from Nerei/ios_png_jpeg
Enabled png and jpeg for iOS
2013-03-25 03:28:29 -07:00
Anatoly Baksheev 7fa01e3fcc enabled png and jpeg for iOS 2013-03-25 11:19:29 +04:00
Vadim Pisarevsky 2be7d9b4d5 added tutorial by Wolf Kienzle on using "image watch" plugin for ms visual studio 2013-03-24 23:48:35 +04:00
Andrey Kamaev ec8aec09ec Merge pull request #691 from vpisarev:fix_2899 2013-03-22 17:18:55 +04:00
Andrey Kamaev 2c9f651230 Merge pull request #688 from jet47:fix-nonfree-compilation 2013-03-22 17:18:40 +04:00
Andrey Kamaev c6eb7c3b12 Merge pull request #683 from jet47:gpu-license 2013-03-22 17:18:15 +04:00
Vadim Pisarevsky a4815cf359 removed extra whitespaces 2013-03-22 15:12:55 +04:00
Vadim Pisarevsky 38693ef37c fixed http://code.opencv.org/issues/2899 2013-03-22 15:10:54 +04:00
Vadim Pisarevsky 5febc07b6b Merge pull request #687 from vpisarev:fast_lin_svm2 2013-03-22 14:34:45 +04:00
Vladislav Vinogradov f0b19d4659 updated license header in whole gpu module 2013-03-22 14:03:15 +04:00
Vladislav Vinogradov 3ef2e1136f fixed nonfree compilation with gpu (perf tests) 2013-03-22 10:20:57 +04:00
Vadim Pisarevsky e01335bf47 fixed buffer size and restored the use of compressed files in ml's load_save tests. 2013-03-22 01:53:41 +04:00
Andrey Kamaev b6365699ee Merge pull request #664 from taka-no-me/ocl
Move OpenCL SURF to nonfree module
2013-03-21 09:01:59 -07:00
Andrey Kamaev 07cd18adaf Merge pull request #686 from taka-no-me/stereobm_sobel
Fixed wrong index in prefilterXSobel function
2013-03-21 08:59:59 -07:00
Andrey Kamaev 8a962d348e Merge pull request #676 from vpisarev/svd_stuff
added test for bug #1448 and hopefully fixes the bug #2898
2013-03-21 08:59:48 -07:00
Andrey Kamaev 172b4554f3 Merge pull request #675 from jet47/gpu-test-fixes
GPU test fixes
2013-03-21 08:59:34 -07:00
Vadim Pisarevsky 4331f76d18 add hack to disable optimization of linear svms; improved precision of optimize_linear_svm; add the relevant test, which however requires some big database (so it's disabled by default) 2013-03-21 19:17:59 +04:00
Andrey Kamaev 4bd721ad3b Fix build errors 2013-03-21 18:37:34 +04:00
Dong Nguyen 73f5697749 Fixed wrong in row index of SSE implementation in prefilterXSobel function. 2013-03-21 18:28:23 +04:00
Andrey Kamaev 1b4afcca30 Move OpenCl SURF perf tests to nonfree and fix build of samples 2013-03-21 18:19:52 +04:00
Andrey Kamaev 77ad07adf3 Disable crashing ocl tests 2013-03-21 18:18:17 +04:00
Andrey Kamaev 7b8ad4cb04 Refactor OpenCL initialization and allow to use ocl module witout explicit setup 2013-03-21 18:18:15 +04:00
Andrey Kamaev dd678121b3 Trying to make ocl surf work
1. Added more sync to reduction.
2. Turned off Image2D feature. Probably its support is not detected correctly.
3. Temporary disabled descriptor tests - can't localize a problem of the ocl descriptor.
2013-03-21 18:16:59 +04:00
Andrey Kamaev 1be58f9a00 SURF accuracy test is moved to nonfree 2013-03-21 18:15:46 +04:00
Andrey Kamaev 6846f881a2 Move OpenCL SURF to nonfree module 2013-03-21 17:59:35 +04:00
Andrey Kamaev 91ac9688a8 Allow OpenCL acceleration in every OpenCV module 2013-03-21 17:57:01 +04:00
Andrey Kamaev d28df08eb0 Refactor OpenCL search 2013-03-21 17:56:59 +04:00
Andrey Kamaev 2afad8b575 Turn on OpenCL by default 2013-03-21 17:56:57 +04:00
Vadim Pisarevsky 63a5587d0d exploring possible bug in optimize_linear_svm 2013-03-21 17:00:08 +04:00
Alexander Smorkalov 7ec2b6bad0 Highgui tests for GUI disabled for WinRT;
Warnings fix;
2013-03-21 16:18:19 +04:00
Andrey Kamaev d756de176f Merge pull request #679 from jet47:gpu-simd-functions 2013-03-21 14:59:55 +04:00
Andrey Kamaev 1b10699996 Merge pull request #677 from jet47:gpu-lut-fix 2013-03-21 14:48:03 +04:00
Andrey Kamaev 40c26e21d2 Merge pull request #662 from asmorkalov:android_native_activity 2013-03-21 14:47:14 +04:00
Vladislav Vinogradov 33ff3d6016 added simd_functions.hpp to device layer 2013-03-21 14:09:19 +04:00
Vladislav Vinogradov d87b709c26 fixed minMax perf test 2013-03-21 13:46:32 +04:00
Vladislav Vinogradov 0149969463 disable tests that requires video support if it is not available 2013-03-21 13:40:07 +04:00
Vladislav Vinogradov b07bce11ef increased epsilon in sanity test 2013-03-21 13:40:07 +04:00
Vladislav Vinogradov 83def21ba9 increased time limits in perf tests 2013-03-21 13:40:07 +04:00
Vladislav Vinogradov 99c49648fa fixed gpu::LUT on multi device system 2013-03-21 13:39:25 +04:00
Vadim Pisarevsky 321070ccf0 Merge pull request #669 from vpisarev:fast_lin_svm 2013-03-21 12:22:36 +04:00
cuda-geek ecdc7da6b1 Merge pull request #656 from jet47:gpu-nonfree 2013-03-21 08:57:09 +04:00
Alexander Smorkalov 429cd85b46 More accurate guards for WinRT features in CMake. 2013-03-20 12:21:29 -07:00
Vadim Pisarevsky 9a86245242 added test for bug #1448 and hopefully fixes the bug #2898 2013-03-20 11:58:19 +04:00
Alexander Smorkalov 3d594c70ff Multiple Windows RT fixes
TIFF build was fixed;
Direct Show back-end was enabled;
More accurate guards implemented.
2013-03-19 17:46:01 -07:00
Vadim Pisarevsky 24c614f686 added load/save feature for SVM classifier in letter_recog sample 2013-03-19 18:41:38 +04:00
Vadim Pisarevsky a06af5ca25 dramatic speedup of SVM::predict in the case of linear SVM 2013-03-19 18:28:17 +04:00
Alexander Smorkalov b37d65ff2b Code refactoring was done. 2013-03-18 17:36:48 +04:00
Vladislav Vinogradov 0a65f2f4af merged gpunonfree and nonfree module 2013-03-18 16:14:37 +04:00
Andrey Kamaev 79e0e948a7 Merge pull request #663 from asmorkalov:manager_tegra4 2013-03-18 16:00:55 +04:00
Andrey Kamaev da00252963 Merge pull request #652 from Daniil-Osokin:fixCvtColorHeader 2013-03-18 15:56:33 +04:00
Vladislav Vinogradov 3b065e38be fixed warnings 2013-03-18 14:06:29 +04:00
Vladislav Vinogradov fd7bf0b766 moved SURF_GPU and VIBE to gpunonfree module 2013-03-18 14:06:29 +04:00
Vladislav Vinogradov abc9ef6809 moved utility functions from gpu_perf_test and gpu_test to ts module 2013-03-18 14:06:19 +04:00
Alexander Smorkalov fca1f006d8 Tegra4 support added. 2013-03-18 12:12:17 +04:00
Alexander Smorkalov dc2bca0772 Initialization with Manager instead static link added. 2013-03-18 10:37:11 +04:00
Alexander Smorkalov 436d9bbcbb Base for Native Activity example added. 2013-03-18 10:37:11 +04:00
Daniil Osokin e153f0631c Added missing enums for cvtColor RGB to YUV420p 2013-03-18 10:33:44 +04:00
cuda-geek 819ac111a2 Merge pull request #660 from Nerei:2.4 2013-03-17 23:00:04 +04:00
Vadim Pisarevsky 959a5c980d Merge pull request #532 from jet47:super-resolution 2013-03-17 19:13:37 +04:00
Anatoly Baksheev 2bf3104ee5 bugfix in sample to support LBP classifier. To merge to master also. 2013-03-17 18:43:55 +04:00
cuda-geek 1d626194af Merge pull request #644 from jet47:gpu-debayer-mht 2013-03-15 13:55:03 +04:00
Andrey Kamaev 00d8ad9e7e Merge pull request #632 from pengx17:2.4 2013-03-15 10:34:43 +04:00
Andrey Kamaev 18ca645fd2 Merge pull request #631 from bitwangyaoyao:2.4_stereo 2013-03-15 10:34:27 +04:00
Vladislav Vinogradov 4a237af814 implemented Malvar, He, and Cutler Bayer Demosaicing on gpu 2013-03-14 18:11:12 +04:00
Andrey Kamaev ecf770d49d Merge pull request #638 from bitwangyaoyao:2.4_fixErode 2013-03-14 11:41:02 +04:00
Andrey Kamaev 5f3eb0fc49 Merge pull request #628 from bitwangyaoyao:2.4_fixMoments 2013-03-14 11:40:47 +04:00
peng xiao 34c7162104 Merge remote-tracking branch 'upstream/2.4' into 2.4 2013-03-14 09:24:45 +08:00
Alexander Smorkalov 06aff4e7b0 Initial Windows RT support commit.
GPU module turned off;
TIFF support turned off;
Windows Managment and Video IO (VFW) turned off.
2013-03-13 09:02:15 -07:00
yao 084385cf38 Fix a bug in ocl::Erode/Dilate, simplify the host logic 2013-03-12 16:45:43 +08:00
peng xiao 3a565e001e Remove unnecessary HAVE_OPENCL macro block. 2013-03-12 09:10:15 +08:00
yao f8985bb7fc fix warnings on Linux 2013-03-12 08:55:50 +08:00
Andrey Kamaev 1d3219747a Merge pull request #633 from jet47:gpu-debayer-gray 2013-03-11 21:15:00 +04:00
Andrey Kamaev 632211eb27 Merge pull request #630 from asmorkalov:android_view_stretch 2013-03-11 21:14:43 +04:00
Andrey Kamaev 980fc93b4d Fix clang + ccache build warnings 2013-03-11 18:41:22 +04:00
Andrey Kamaev d1a148b06f Merge pull request #635 from taka-no-me:c++11 2013-03-11 17:35:46 +04:00
Vladislav Vinogradov 4ddf634c30 gpu : implement Bayer* -> Gray color conversion 2013-03-11 15:41:50 +04:00
Andrey Kamaev ec8637a990 Fix build errors 2013-03-11 14:52:22 +04:00
peng xiao 34998b6034 Add ocl::SURF accurate test.
The test cases are ported from gpu module (masked version is still
missing).
Key point direction definition is synchronized with cv::SURF.
nonfree module dependency is added into ocl module's cmake file.
2013-03-11 18:35:30 +08:00
yao 3f81a152b9 remove the OpenCL define 2013-03-11 17:21:31 +08:00
yao 0f0a4c3099 add stereoBM function 2013-03-11 17:10:58 +08:00
Alexander Smorkalov 8942eaf0d7 Stetch support for Android View classes added (Feature #2840) 2013-03-11 11:17:19 +04:00
yao 7f0d6d42f0 fix mismatch on NV OCL and some AMD GPUs 2013-03-08 10:30:01 +08:00
Andrey Kamaev 13f402a554 Merge pull request #620 from apavlenko:java_tutorial_fix 2013-03-06 15:47:09 +04:00
Andrey Pavlenko 0e64baaec5 removing redundant code 2013-03-06 13:00:00 +04:00
Andrey Pavlenko de3767df0a minor formatting 2013-03-06 12:59:38 +04:00
Andrey Pavlenko aaefd31844 more formatting 2013-03-05 19:03:36 +04:00
Andrey Pavlenko 23fb570cbd updating JNI lib location for Unix; formatting update 2013-03-05 18:42:14 +04:00
Andrey Pavlenko 116d3be9c0 moving JNI library to 'build/lib' dir on non-Win 2013-03-05 18:41:44 +04:00
Andrey Kamaev bbac4bc4cf Merge pull request #491 from Daniil-Osokin:cvtRGB2YUV420p 2013-03-05 15:26:16 +04:00
Andrey Kamaev facab40745 Disable -fomit-frame-pointer for OS X Clang as it leads to crash on exception thrown 2013-03-01 19:44:17 +04:00
Andrey Kamaev 08545b8f96 Merge pull request #603 from taka-no-me:avoid_deps_on_missing_lib 2013-03-01 17:10:46 +04:00
Andrey Kamaev f22ee8fc19 Merge pull request #602 from bitwangyaoyao:2.4_fixAdd 2013-03-01 17:10:11 +04:00
Andrey Kamaev e6cb44edc3 Merge pull request #600 from taka-no-me:fix_build_warnings 2013-03-01 17:09:56 +04:00
Andrey Kamaev 1094179155 Avoid build falure in armeabi build with Android SDK 2013-03-01 16:50:42 +04:00
cuda-geek a706de2446 Merge pull request #601 from apavlenko:android_tutorial_update 2013-03-01 16:09:25 +04:00
yao 65bb4250a4 Fix a bug in addWeighted x64 mode
And a potential problem in remap
2013-03-01 18:08:53 +08:00
Andrey Pavlenko 07b1ccdeb0 removing redundant picture resize 2013-03-01 13:56:50 +04:00
Andrey Kamaev 2128b82c6b Merge pull request #598 from asmorkalov:lib_info_fix 2013-03-01 13:52:57 +04:00
Andrey Pavlenko 978132edc1 minor Android tutorial fixes 2013-03-01 13:52:14 +04:00
Andrey Kamaev 22d33373fa Fix build warnings on MSVC x64 and OS X clang 2013-03-01 13:29:43 +04:00
Andrey Kamaev eaaba1336a Merge pull request #595 from bitwangyaoyao:2.4_perfTest 2013-03-01 12:49:43 +04:00
Andrey Kamaev 85c7a36f93 Merge pull request #594 from asmorkalov:android_all_build_fix 2013-03-01 12:49:27 +04:00
Andrey Kamaev 6be6adbbed Merge pull request #593 from apavlenko:java_tutorial_fixes 2013-03-01 12:49:15 +04:00
Alexander Smorkalov da455efc26 Full package version fixed. 2013-03-01 12:44:14 +04:00
Vadim Pisarevsky a910360689 Merge pull request #586 from bitwangyaoyao:2.4_FixBFMatcher 2013-03-01 10:55:11 +04:00
yao 8f3883a28d fix a compile warning 2013-03-01 10:06:51 +08:00
yao 82b9854837 fix compile warnings 2013-03-01 08:47:20 +08:00
Alexander 3cfd3d3ee0 Build with OpenCV.mk for all terget fixed. 2013-02-28 21:43:57 +04:00
Andrey Pavlenko af2552d72c fixing issues from http://www.code.opencv.org/issues/2807 2013-02-28 19:11:24 +04:00
Andrey Kamaev c865b28243 Merge pull request #591 from jet47:gpu-sanity-tests 2013-02-28 18:08:11 +04:00
Andrey Kamaev 79cf292d78 Merge pull request #590 from apavlenko:java_fixes 2013-02-28 18:07:33 +04:00
Andrey Kamaev 1018d110d6 Merge pull request #589 from taka-no-me:2digit_pyversion 2013-02-28 18:06:43 +04:00
Andrey Kamaev fba0e6fc5c Merge pull request #587 from bitwangyaoyao:2.4_fixHog 2013-02-28 18:06:28 +04:00
Andrey Kamaev 4811988caf Merge pull request #585 from bitwangyaoyao:2.4_SURF 2013-02-28 18:06:14 +04:00
Andrey Kamaev 2a73a6c445 Merge pull request #525 from odeniz:2.4 2013-02-28 18:05:55 +04:00
Andrey Pavlenko d18b2c2502 patch -> revision 2013-02-28 17:19:52 +04:00
Andrey Pavlenko c24d7cc066 adding more version-related variables 2013-02-28 16:56:53 +04:00
Vladislav Vinogradov f533f0dca9 fixed gpu sanity tests 2013-02-28 16:54:37 +04:00
Andrey Kamaev bd38a1945d Honor 2-digit python version 2013-02-28 16:32:13 +04:00
Andrey Pavlenko 29b763dc60 updating samples to load JNI lib with correct suffix 2013-02-28 16:24:52 +04:00
Andrey Pavlenko 5321da92cb adding/fixing version suffix for desktop java library on all OSes 2013-02-28 16:12:44 +04:00
Andrey Kamaev f4b413e830 Merge pull request #570 from taka-no-me:fix_android_cmakeconfig 2013-02-28 15:45:45 +04:00
Andrey Kamaev 1f411b5a2b Merge pull request #572 from asmorkalov:manager_4_digit_version 2013-02-28 15:44:57 +04:00
Andrey Kamaev bf4c8c6ff1 Merge pull request #584 from bitwangyaoyao:2.4_perfTest 2013-02-28 15:44:06 +04:00
Andrey Kamaev d0e340bc80 Merge pull request #582 from bitwangyaoyao:2.4_fixBlend 2013-02-28 15:43:51 +04:00
Alexander Smorkalov ddc2e334da OpenCV version swithed to 4 digit in GUI and package revision number. 2013-02-28 12:59:24 +04:00
yao f12369a53c Fix ocl::HOG crash on Intel OCL 2013-02-28 16:56:39 +08:00
Andrey Kamaev 831580ef31 Merge pull request #578 from jet47:nmake-ffmpeg-copy 2013-02-28 12:56:26 +04:00
Andrey Kamaev 6ce51d88a4 Merge pull request #573 from jet47:config-cross-compilation 2013-02-28 12:56:08 +04:00
cuda-geek 0771fd82c0 Merge pull request #557 from jet47:gpu-sanity 2013-02-28 11:17:12 +04:00
yao f791344810 linux warning fix 2013-02-28 14:37:37 +08:00
Vladislav Vinogradov 61ef48eee6 fixed OpenCVConfig for cross-compilation:
* added CUDA to EXTRA libs if OpenCV uses it
* added -rpath-link option for linker if OpenCV was built as SHARED libs
2013-02-28 10:33:05 +04:00
yao 504008dbe0 Fix ocl::bruteforcematcher crash on Intel OCL 2013-02-28 14:31:08 +08:00
Vladislav Vinogradov df456245e7 fixed ffmpeg destination folder for NMake generator 2013-02-28 10:16:41 +04:00
yao 7c1f1d8837 fix bug #2787 2013-02-28 14:05:36 +08:00
yao ed3c3822fc adjust some test cases, use original template file name in Haar 2013-02-28 12:15:13 +08:00
yao 69eebdd608 fix the blend crash in some cases 2013-02-28 09:03:10 +08:00
Andrey Kamaev 2be893a21e Revise git attributes 2013-02-28 03:18:54 +04:00
Andrey Kamaev a5d2253be8 Merge pull request #544 from AnnaKogan8:added-regressions-only-option 2013-02-28 00:38:47 +04:00
Andrey Kamaev 5b7a4cd955 Merge pull request #579 from bitwangyaoyao:2.4_perfTest 2013-02-27 19:34:17 +04:00
Andrey Kamaev 0a8711d76b Merge pull request #576 from bitwangyaoyao:2.4_customMat2 2013-02-27 19:33:54 +04:00
Andrey Kamaev af13c8604d Merge pull request #568 from bitwangyaoyao:2.4_moments 2013-02-27 19:33:26 +04:00
yao cbff75db9e fix build errors 2013-02-27 21:56:03 +08:00
yao bf427c01c1 adjust matchTemplate in performance sample, as current version is too slow when template size isn't small 2013-02-27 21:41:04 +08:00
Andrey Kamaev 024185b9ed Fix OpenCVConfig.cmake generated for Android platform (issue #2496)
* fix path to libraries in Android SDK
* allow to link to opencv_java.so as Android.mk does

To link to opencv_java.so you can either change your cmake to find OpenCV as

    find_package(OpenCV opencv_java)

or pass -DOpenCV_FIND_COMPONENTS=opencv_java to your cmake command
2013-02-27 15:04:29 +04:00
Vladislav Vinogradov 7a0d6f7733 Super Resolution module 2013-02-27 13:41:15 +04:00
yao 9ccf27c7f5 add interfaces enable custom oclMat device memory type 2013-02-27 17:32:32 +08:00
cuda-geek 5d43ce853e Merge pull request #559 from jet47:gpu-hough-circles 2013-02-27 12:29:45 +04:00
Andrey Kamaev 1a82ceac9c Merge pull request #563 from taka-no-me:perf_classify_speedups 2013-02-27 11:37:18 +04:00
Andrey Kamaev b836e3c65b Merge pull request #556 from bitwangyaoyao:2.4_SURF 2013-02-27 11:37:04 +04:00
Andrey Kamaev f03c04c151 Merge pull request #554 from bitwangyaoyao:2.4_impvInterFrame 2013-02-27 11:36:40 +04:00
Andrey Kamaev c54c7c8b2c Merge pull request #553 from bitwangyaoyao:2.4_perfTest 2013-02-27 11:36:23 +04:00
yao dba2ec0539 remove the compile warnings 2013-02-27 14:53:27 +08:00
yao 6df23428af Add moments function 2013-02-27 13:45:16 +08:00
yao 6409a4b112 fix the compile warnings 2013-02-27 11:16:46 +08:00
yao 9ec5333a9b pyrlk also take advantages of cl_image support detection 2013-02-27 10:45:07 +08:00
yao da47ccec9c Put the cl_image support detection in utils 2013-02-27 10:24:03 +08:00
Andrey Kamaev 8304f17d63 Merge pull request #565 from cuda-geek:auto-arch 2013-02-27 00:05:16 +04:00
Andrey Kamaev e9307259d7 Merge pull request #564 from apavlenko:eclipse_import_fix 2013-02-27 00:05:02 +04:00
marina.kolpakova 7a08bbbcc7 add CUDA_GENERATION macro 2013-02-26 20:13:47 +04:00
cuda-geek 0e5255d4fb Merge pull request #561 from asmorkalov:android_tutorial_2_4_4_update 2013-02-26 19:58:34 +04:00
Andrey Pavlenko 1c1c3c29c3 fixing eclipse import errors 2013-02-26 19:52:59 +04:00
Andrey Kamaev 4d2c864bea Add option --with-score to summary.py to automatically classify speedups
Legend for new column is:
* FASTER - strong speedup
* faster - spedup is detected but it is unreliable
* <empty> - no change in speed
* slower - slowdown is detected but it is unreliable
* SLOWER - strong slowdown
2013-02-26 19:42:51 +04:00
Andrey Kamaev 2304d5367f Merge pull request #549 from asmorkalov:android_mips_static_build_fix 2013-02-26 19:03:43 +04:00
Andrey Kamaev f6dd3651ea Merge pull request #552 from taka-no-me:fix_invert 2013-02-26 18:31:30 +04:00
Andrey Kamaev dcf7a69430 Merge pull request #555 from bitwangyaoyao:2.4_fixFft 2013-02-26 18:31:17 +04:00
yao 04faaa9e35 Fix ocl::dft the compile warning on Linux 2013-02-26 21:18:51 +08:00
Alexander Smorkalov 8458f5c489 Android tutorial updated
OpenCV version incremented;
New CvCameraViewListener interface description added.
2013-02-26 16:35:02 +04:00
yao 3ff5689fe5 Merge branch '2.4_fixFft' of https://github.com/bitwangyaoyao/opencv into 2.4 2013-02-26 20:30:42 +08:00
Vladislav Vinogradov 10402c8a85 fixed gpu HoughCircles test 2013-02-26 16:10:35 +04:00
Vladislav Vinogradov c9868fc01f fixed warp tests 2013-02-26 13:53:39 +04:00
Vladislav Vinogradov 4f7cfbc26e fixed gpu bitwise operations with scalars 2013-02-26 13:53:39 +04:00
Vladislav Vinogradov a138e12a26 refactored gpu perf tests and fixed sanity tests 2013-02-26 13:53:38 +04:00
yao ea433cc496 remove the device specific logic 2013-02-26 17:53:08 +08:00
yao 62f8b0fc48 Fix ocl::dft error when program end on Linux 2013-02-26 17:44:19 +08:00
yao 0ac7f0d374 Simplify the bind texture logic of interpolate frame function 2013-02-26 17:12:03 +08:00
yao e3a715882e fix the mismatch of perf_test, add a performance sample for ocl module 2013-02-26 16:52:30 +08:00
Alexander Smorkalov 11885e86ee Feature #2833 Sepia size in Image Manipulations demo implemented. 2013-02-26 11:25:33 +04:00
Andrey Kamaev ab221e94c0 Fix invert under MSVC 2013-02-26 11:16:57 +04:00
Anna Kogan a9b1c5db78 Added --regressions-only=X-FACTOR option 2013-02-26 11:09:17 +04:00
Alexander Smorkalov 3c7bc6a51e Static ANdroid samples build for MIPS fixed 2013-02-26 10:32:10 +04:00
Andrey Kamaev 0d12f451be Merge pull request #524 from LeonidBeynenson:add_float_and_unsigned_parameters_to_cv_algorithm 2013-02-26 01:00:55 +04:00
Andrey Kamaev 11b83d4000 Merge pull request #547 from vpisarev:fixes_244 2013-02-26 01:00:36 +04:00
Vadim Pisarevsky 416432a8e5 replaced tabs with spaces 2013-02-25 23:10:38 +04:00
Vadim Pisarevsky 087537463d attempt to make the ultimate fix for the failure in Core_Invert.small 2013-02-25 22:46:30 +04:00
Vadim Pisarevsky 25bbcba0ea fixed Core_MulSpectrums failure 2013-02-25 22:02:24 +04:00
Andrey Kamaev 9f15daf0a0 Merge pull request #542 from asmorkalov:manager_2.4.4_filter 2013-02-25 18:00:14 +04:00
Daniil Osokin cf5e272878 Added multithreaded implementation for RGB to YUV420p color conversion 2013-02-25 17:01:07 +04:00
Daniil Osokin d8f538d67b Added tests for RGB to YUV420p color conversion 2013-02-25 17:01:07 +04:00
LeonidBeynenson 41dc829341 Made changes to avoid warnings (Windows compilation). 2013-02-25 15:38:59 +04:00
Alexander Smorkalov bb7af3f78e OpenCV Manager preparation to 2.4.4 release
2.4.4 constant added to Manager filter;
Added additional native tests.
2013-02-25 15:34:06 +04:00
Andrey Kamaev 6082f351ab Merge pull request #541 from bitwangyaoyao:2.4_fixCvtColor 2013-02-25 14:04:02 +04:00
Andrey Kamaev b6cdc849db Merge pull request #540 from hgaspar:244 2013-02-25 14:03:36 +04:00
yao 59ebf4ed9f Fix the ocl::cvtColor mismatch on some devices 2013-02-25 15:19:39 +08:00
hgaspar 60981565fa updated the ocl module introduction 2013-02-24 22:34:44 -05:00
Daniil Osokin 7255ede3af Added implementation for RGB to YUV420p color conversion 2013-02-24 23:07:05 +04:00
Andrey Kamaev 620c699456 Merge pull request #538 from NCBee:patch-2 2013-02-24 15:27:01 +04:00
Andrey Kamaev cfd019e2a2 Merge pull request #537 from bitwangyaoyao:2.4_fixWarpAffine 2013-02-24 15:26:42 +04:00
Andrey Kamaev 7047c23489 Merge pull request #535 from bitwangyaoyao:2.4_clean 2013-02-24 15:26:24 +04:00
Andrey Kamaev 3b1fc16f36 Merge pull request #536 from bitwangyaoyao:2.4_fixHaar 2013-02-24 15:26:06 +04:00
NCBee 7249457771 Update doc/tutorials/core/adding_images/adding_images.rst
Quick fix for: http://code.opencv.org/issues/2803
2013-02-23 10:28:24 -05:00
yao f1a5c1328c remove the empty implementation when HAVE_OPENCL not defined 2013-02-23 20:50:03 +08:00
yao b7ebedc23e fix mismatch of WarpAffine 2013-02-23 17:43:10 +08:00
yao 9bbf170054 some cleanup 2013-02-23 15:34:43 +08:00
yao 720eaf1e1a fix the haar kernel problems on Nvidia and Intel OCL 2013-02-23 15:19:46 +08:00
yao d050159f07 Remove the perf running from ocl::matchTemplate accuracy tests 2013-02-23 14:30:04 +08:00
Oscar Deniz Suarez 07ea88b8c6 Update samples/c/smiledetect.cpp
Fixed isdigit() Android build error
2013-02-22 16:23:42 +01:00
OpenCV Buildbot e6dd4e840d Update FFMPEG wrapper binaries 2013-02-22 16:56:01 +04:00
Andrey Kamaev dfbd5f6a02 Merge pull request #506 from asmorkalov:crosscompile_tutorial 2013-02-22 16:41:16 +04:00
Andrey Kamaev 9bbb0ed060 Merge pull request #531 from asmorkalov:android_mips_fix 2013-02-22 16:40:20 +04:00
Andrey Kamaev 051aa4cb98 Merge pull request #530 from bitwangyaoyao:2.4_fixEqHist 2013-02-22 16:40:06 +04:00
Andrey Kamaev 58f546dd93 Merge pull request #529 from bitwangyaoyao:2.4_fixGemm 2013-02-22 16:39:50 +04:00
Andrey Kamaev 3406832aa2 Merge pull request #528 from bitwangyaoyao:2.4_fixPyrLK 2013-02-22 16:35:30 +04:00
Andrey Kamaev b1975fb13d Merge pull request #527 from bitwangyaoyao:2.4_fixMeanShift 2013-02-22 16:35:18 +04:00
Andrey Kamaev e68901bbce Merge pull request #523 from taka-no-me:fix_2815 2013-02-22 16:34:28 +04:00
Andrey Kamaev 7cd4edd695 Merge pull request #518 from asmorkalov:ts_refactor 2013-02-22 16:34:14 +04:00
yao 1a488c0542 fix the warning on Linux when OpenCL 1.2 not supported 2013-02-22 18:33:16 +08:00
Alexander Smorkalov 4bbdfbc9e7 Bug #2821 Installation of OpenCV modules breaks build on MIPS Android fixed.
Native camera libs for MIPS installation fixed.
2013-02-22 11:57:42 +04:00
yao 7810254198 Fix ocl::equalizeHist mismatch 2013-02-22 15:48:31 +08:00
yao 3316d0bfb2 Fix the compiling errors of gemm on Linux 2013-02-22 15:05:49 +08:00
cuda-geek dea6148a1a Merge pull request #526 from taka-no-me:fix_compatibility 2013-02-22 09:18:19 +04:00
yao 2e3f4fdada fix pyrLK's mismatch on Linux 2013-02-22 11:23:43 +08:00
yao f4ef0c1598 fix meanShift mismatch on none-double GPUs 2013-02-22 10:13:20 +08:00
Andrey Kamaev c17e9ef7ba Repair binary compatibility of ocl module 2013-02-22 01:58:01 +04:00
Oscar Deniz Suarez 8cfba6456b Update samples/c/smiledetect.cpp
- Changed to floating neighbor maximum mode
- Fixed some previous errors.
2013-02-21 22:55:28 +01:00
Andrey Kamaev 995154d10d Fix binary compatibility of gpu module 2013-02-22 00:14:58 +04:00
Oscar Deniz Suarez 379dcf87d5 Added smile detector 2013-02-21 17:17:34 +01:00
LeonidBeynenson bfb644ac04 Changed error message in Algorithm::get. 2013-02-21 20:10:42 +04:00
LeonidBeynenson e7b214b6d2 Removed urequired functions 2013-02-21 19:49:37 +04:00
Andrey Kamaev eda2a76ee9 Merge pull request #520 from jet47:gpu-updates 2013-02-21 18:03:06 +04:00
gferry e3803f9985 fix for OpenCV issue #2815
- libavcodec issue
- some decoders alter AVCodecContext width/height values, in a wrong way
- eg. in issue 2815, vp6f decoder changes these values, resulting in distorted / invalid frames
- this patch forces default AVCodecContext values
2013-02-21 17:37:24 +04:00
Andrey Kamaev f0dce1fa35 Merge pull request #521 from asmorkalov:2.4.4_preparation 2013-02-21 17:25:21 +04:00
Vladislav Vinogradov 73ffd71a22 Fixed documentation build 2013-02-21 17:06:53 +04:00
Vladislav Vinogradov 8b1f88c40f updated gpu module API 2013-02-21 16:12:33 +04:00
Andrey Kamaev afa993316f Merge pull request #502 from jet47:opengl-updates 2013-02-21 15:12:43 +04:00
Alexander Smorkalov 9f39c8eaa1 OpenCV 2.4.4 preparation
Manager verison incremented;
Additional constatnt for library intialization added;
Documents updated.
2013-02-21 14:42:28 +04:00
Andrey Kamaev 16461247ce Merge pull request #498 from asmorkalov:doc_ptr 2013-02-21 13:30:34 +04:00
Andrey Kamaev ff0d23e55b Merge pull request #519 from bitwangyaoyao:2.4_findOCL 2013-02-21 13:30:20 +04:00
Vladislav Vinogradov 21f95a3b11 restored source compatibility 2013-02-21 12:38:12 +04:00
Andrey Kamaev d4e7bec29a Merge pull request #440 from AnnaKogan8:fixed-perfomance-tests 2013-02-21 12:29:57 +04:00
Andrey Kamaev decf04dfec Merge pull request #512 from jet47:core-gpu-updates 2013-02-21 12:22:04 +04:00
Vladislav Vinogradov a938534a7e restored binary compatibility 2013-02-21 12:18:08 +04:00
Alexander 4091eab45e cv::Ptr description extended. 2013-02-21 12:14:42 +04:00
yao f816e10ac9 Add auto detection to Intel OCL 2013-02-21 16:11:18 +08:00
Alexander Smorkalov e21a1d3124 Test system refactoring
cmpEps replaced on cmpEps2 to reduce code dublication;
Constants for cmpEps return values added.
2013-02-21 12:07:04 +04:00
Andrey Kamaev c1a5d1c44a Merge pull request #508 from bitwangyaoyao:2.4_interpKernel 2013-02-21 11:51:06 +04:00
Vladislav Vinogradov ce2559b332 optimized DeviceInfo class and ensureSizeIsEnough 2013-02-20 19:30:57 +04:00
Anna Kogan f6e0d327b0 Increased time limits 2013-02-20 17:34:00 +04:00
Anna Kogan a567c03fdf Switched to TEST_CYCLE_MULTIRUN for fast tests 2013-02-20 17:05:54 +04:00
yao 429ae44ae3 add openCLExecuteKernelInterop method 2013-02-20 17:46:43 +08:00
Alexander Smorkalov 637b48eec8 Tutorial for ARM Linux cross compilation added. 2013-02-20 12:48:30 +04:00
Andrey Kamaev 6ebb0e2ad2 Merge pull request #505 from abidrahmank:2.4 2013-02-20 12:29:53 +04:00
Abid K 96b2898f38 Update samples/python2/hist.py
range in calcHist() changed from [0,255] to [0,256]. Otherwise, it won't count pixels with value 255. It can be verified taking sum of histogram values and checking it with image size.
2013-02-19 19:31:53 +05:30
Andrey Kamaev 5691fd3abe Merge pull request #503 from taka-no-me:fix_docs 2013-02-19 18:01:51 +04:00
Andrey Kamaev 5cc2a6bdbf Merge pull request #500 from nielsgm:predict_python_wrapper_to_docs 2013-02-19 18:01:30 +04:00
Andrey Kamaev afa8e4e645 Merge pull request #492 from taka-no-me:fix_warnings_gcov 2013-02-19 18:01:06 +04:00
Andrey Kamaev 60f7b1d98d Whitelist functions/structs in check_docs2 that are impossible to fix in 2.4 2013-02-19 16:22:20 +04:00
Andrey Kamaev 2fe7482b73 Add support for enums into rst ocv domain 2013-02-19 16:22:20 +04:00
Andrey Kamaev ff7b604a25 Fix several inconsistent declarations identified by check_doc2 script 2013-02-19 16:22:20 +04:00
Vladislav Vinogradov e06c3ec7c5 updated OpenGL functionality:
* removed OpenGLFuncTab, now extensions are loaded internally
* added support of GlBuffer and GlTexture2D to InputArray/OutputArray
* added ELEMENT_ARRAY_BUFFER and PIXEL_PACK_BUFFER targets
* added copyFrom/copyTo method for GlBuffer and GlTexture2D
* removed GlFont
* removed pointCloudShow
* removed OpenGLCleanCallback
* added Access parameter to GlBuffer::mapHost
* added autoRelease parameter to all create methods
2013-02-19 14:13:11 +04:00
Andrey Kamaev 2bbb777d95 Fix warnings about missing parent for class members 2013-02-19 11:49:05 +04:00
Andrey Kamaev 535f1fb2e2 Hack to stop parsing of problematic CvStatModel::train definition 2013-02-19 10:39:31 +04:00
Andrey Kamaev 0570aa6494 Avoid problem of old sphinx reporting an error on lines starting from :
See http://sourceforge.net/tracker/?func=detail&aid=3484857&group_id=38414&atid=422030
2013-02-19 10:34:43 +04:00
Niels Gerlif Myrtue 7697d79d93 Added the predict_all function wrapper for python that was missing from the documentation
Copied the docstring description
2013-02-19 13:11:30 +11:00
Andrey Kamaev 39baa2237e Merge pull request #499 from vpisarev:zeroelem_fix 2013-02-18 18:05:02 +04:00
Andrey Kamaev c6f6f9ab35 Merge pull request #451 from bitwangyaoyao:2.4_operator 2013-02-18 18:04:44 +04:00
Vadim Pisarevsky a1c7e0368c fixed problem reported by Thouis (Ray) Jones 2013-02-18 17:01:21 +04:00
Andrey Kamaev 6503836b4d Merge pull request #469 from asmorkalov:android_manager_4number_version 2013-02-18 15:41:25 +04:00
yao 9613135e8d fix compiling errors on Linux
more operators use oclMatExpr
2013-02-16 18:41:43 +08:00
yao 69fd2d8273 add oclMatExpr class to prevent extra allocations 2013-02-16 11:05:23 +08:00
Andrey Kamaev 7e5eee5bf1 Merge pull request #301 from emchristiansen:javasample2.4 2013-02-15 18:38:25 +04:00
Andrey Kamaev 3ead4449ad Fix several warnings about uninitialized variables from gcov build 2013-02-15 17:28:23 +04:00
Andrey Pavlenko 2853bab471 converting images to PNG 2013-02-15 16:46:30 +04:00
Andrey Pavlenko edb15dee3d review feed-back considered 2013-02-15 16:33:13 +04:00
Andrey Kamaev f58dffe31f Merge pull request #401 from Daniil-Osokin:bugfix_doc_setNumThreads 2013-02-14 19:07:41 +04:00
OpenCV Buildbot 50d3e565c5 Update FFMPEG wrapper binaries 2013-02-14 18:39:24 +04:00
Andrey Kamaev 49c664fad4 Merge pull request #489 from jet47:carma-obsolete 2013-02-14 18:20:31 +04:00
Andrey Pavlenko a8c2fc6908 changing layout, adding ant and eclipse sections, more pictures 2013-02-14 17:54:37 +04:00
Daniil Osokin 5f32e0e24d Rewrote doc for set-get number of threads functionality with support new frameworks (bug #2064) 2013-02-14 17:11:16 +04:00
Daniil Osokin 6deda2531c Fixed getNumThreads() for C= 2013-02-14 17:07:36 +04:00
Andrey Kamaev da1ddc752b Merge pull request #487 from asmorkalov:manager_localref_fix 2013-02-14 16:50:16 +04:00
Vladislav Vinogradov 78c924baad removed obsolete CARMA toolchain and CMake variable 2013-02-14 16:27:17 +04:00
Andrey Kamaev f3874abf68 Merge pull request #488 from AnnaKogan8:updated-ABI-compliance-descriptor-script 2013-02-14 16:08:05 +04:00
Andrey Kamaev 37c6357b97 Merge pull request #485 from jet47:gpu-new-functionality 2013-02-14 16:00:55 +04:00
Anna Kogan f9cf70e93e Updated script for ABI compliance check 2013-02-14 14:59:26 +04:00
Alexander Smorkalov 6619941c90 Issues in management of local reference to jni objects fixed. 2013-02-14 13:29:51 +04:00
Vladislav Vinogradov a3a09cf4d1 refactored OpticalFlowDual_TVL1:
* added DenseOpticalFlow interface
* moved OpticalFlowDual_TVL1 to src folder
2013-02-14 13:26:47 +04:00
Andrey Kamaev 8547984d29 Merge pull request #486 from amroamroamro:2.4 2013-02-14 11:21:16 +04:00
Andrey Kamaev 37e2664cf0 Merge pull request #479 from ilya-lavrenov:TestHighGUI 2013-02-14 11:21:01 +04:00
Amro 42a2cb0a38 add description of ddepth param of cv::boxFilter
bug #2709
2013-02-13 15:16:17 +03:00
Vladislav Vinogradov 2181a41a07 added perf4au app 2013-02-13 15:58:24 +04:00
Vladislav Vinogradov aa73bf6079 added gpu optical flow sample 2013-02-13 15:58:12 +04:00
Vladislav Vinogradov 50f28c9e25 added Warp::reduce function 2013-02-13 15:57:55 +04:00
Vladislav Vinogradov 36e42084f0 added gpu BM optical flow implementation 2013-02-13 15:57:40 +04:00
Vladislav Vinogradov fe2e89df1b added gpu::HoughLinesP function 2013-02-13 15:56:58 +04:00
Vladislav Vinogradov 86bd325131 added gpu::normalize function 2013-02-13 15:55:58 +04:00
Vladislav Vinogradov 61b54149b1 added mask support to gpu norm and sum 2013-02-13 15:54:50 +04:00
Vladislav Vinogradov 08914aa708 added gpu compare with scalar 2013-02-13 15:53:03 +04:00
Vladislav Vinogradov a828b60765 added enqueueHostCallback method to gpu::Stream 2013-02-13 15:51:27 +04:00
Vladislav Vinogradov ce2fd7fec9 added dual tvl1 optical flow gpu implementation 2013-02-13 15:50:05 +04:00
Andrey Kamaev 54a0e5085c Merge pull request #483 from taka-no-me:cmake_tweaks 2013-02-13 15:50:02 +04:00
Vladislav Vinogradov 1498d2f427 added dual tvl1 optical flow implementation 2013-02-13 15:42:58 +04:00
Andrey Kamaev c7df17e77b Detect and report parallel framework used 2013-02-13 15:09:30 +04:00
Andrey Kamaev 0b20faf3d2 Use git describe to get source control version 2013-02-13 14:50:32 +04:00
Andrey Kamaev 9e4792af1f Add separate status section for java 2013-02-13 14:36:56 +04:00
Andrey Kamaev 82313b3f6c Add OpenCL section to status report 2013-02-13 14:27:12 +04:00
Andrey Kamaev 247df9f3fc Detect version of clang compiler 2013-02-13 14:11:56 +04:00
Andrey Kamaev ca5e6f9522 Merge pull request #480 from taka-no-me:ffmpeg_warnings 2013-02-12 20:29:03 +04:00
Andrey Kamaev ac389507a0 Fix warnings from ffmpeg wrapper 2013-02-12 19:58:59 +04:00
Andrey Kamaev 8b7a28a7e4 Merge pull request #477 from asmorkalov:android_version_info 2013-02-12 17:06:27 +04:00
Andrey Kamaev 0cf9c16adc Merge pull request #478 from jet47:gpu-reduction-fix 2013-02-12 17:06:07 +04:00
Andrey Kamaev 7c77b402db Merge pull request #468 from kirill-kornyakov:test-for-saturate-cast 2013-02-12 17:04:54 +04:00
Ilya Lavrenov 5512f91d08 removed libstdc++ dependency 2013-02-12 14:20:23 +04:00
Alexander Smorkalov 1751a963f2 Build info output for all android apps added.
OpenCV build information output to logcat added to OpenCV initialization code;
Documenation for cv::getBuildInformation() added.
2013-02-12 11:19:05 +04:00
Vladislav Vinogradov fdb07a0ac1 fix performance issue of gpu reduction 2013-02-12 09:50:41 +04:00
Andrey Kamaev b6e7aeabe0 Merge pull request #476 from apavlenko:eclipse_import_fix 2013-02-11 21:38:07 +04:00
Andrey Kamaev 3990564a83 Merge pull request #470 from kirill-kornyakov:bug_2788_testing_add_method_for_column 2013-02-11 21:16:39 +04:00
Andrey Kamaev 2495b23a7d Merge pull request #473 from prclibo:2.4 2013-02-11 20:48:03 +04:00
Andrey Kamaev 059ea5bebe Merge pull request #471 from apavlenko:jar_install 2013-02-11 20:46:48 +04:00
Andrey Pavlenko 54bcaa4934 fixing eclipse import errors that can also be fixed via 'Fix Project Properties' menu 2013-02-11 19:49:18 +04:00
Andrey Kamaev 80d760c96e Merge pull request #467 from asmorkalov:manager_jni_overflow 2013-02-11 19:17:41 +04:00
Andrey Kamaev a370404d9c Merge pull request #416 from asmaloney:mat-docs-cleanup 2013-02-11 18:51:03 +04:00
Bo Li 92e7e7d8e8 fix issue 2788 2013-02-11 15:09:42 +01:00
Kirill Kornyakov 74e5650350 Reenabled second test 2013-02-11 16:53:41 +04:00
Andrey Kamaev 5cae645ba1 Temporary disabled parallel_writers_and_readers test 2013-02-11 16:52:20 +04:00
Andrey Pavlenko b337d84adf configure desktop Java install, making JNI library name correct, and making it fat when possible 2013-02-11 16:28:19 +04:00
Alexander Smorkalov 9f9c333a26 Bug #2759 android.os.DeadObjectException on OpenCV Manager connection fixed.
DeleteLocalRef calls for jclass objects added.
2013-02-11 16:03:19 +04:00
Kirill Kornyakov 7071bd63ab Added two tests to highlight bug #2788 2013-02-11 15:25:15 +04:00
Alexander Smorkalov 9f01074f4c Bug in hardware ratings fixed. 2013-02-11 15:03:52 +04:00
Alexander Smorkalov 8c44e1ff81 Native testing for OpenCV Manager enabled
All tests added to CMake;
All tests ported on 4 digit version support;
Some test fixes and bug fixes were done.
2013-02-11 15:03:52 +04:00
Kirill Kornyakov 81b9f9b16b Added a test that documents that negative numbers are not clipped by cv::saturate_cast 2013-02-11 14:58:38 +04:00
Andrey Kamaev 1869f77c0f Merge pull request #457 from taka-no-me:fix_vars_expansion 2013-02-11 14:37:14 +04:00
Andrey Kamaev ffb3b5ddbe Adjust OpenCV version to 2.4.4 2013-02-11 14:17:29 +04:00
Andrey Kamaev 2ed6bc8aaf Revert ffmpeg related changes from "thread-safe VideoWriter and VideoCapture"
This reverts commit 4abf0b3193.

Changes are reverted because they break build of proxy dlls on Windows
2013-02-11 14:15:29 +04:00
Andrey Kamaev 9d7300f003 Merge pull request #465 from asmorkalov:android_camera_connect 2013-02-11 14:05:37 +04:00
Andrey Kamaev c61d7088ae Merge pull request #466 from taka-no-me:fix_android_package 2013-02-11 14:04:07 +04:00
Andrey Kamaev 5335c2f920 Merge pull request #464 from asmaloney:missing_fclose 2013-02-11 14:03:51 +04:00
Andrey Kamaev d92a56ee2d Merge pull request #458 from taka-no-me:tbb_4.1u2 2013-02-11 14:03:11 +04:00
Andrey Kamaev cc79f40e2b Merge pull request #454 from asmorkalov:android_samples_reorganize 2013-02-11 14:02:54 +04:00
Andrey Kamaev 2a98c1f89c Merge pull request #446 from AnnaKogan8:updated-perf-timing-script 2013-02-11 14:02:39 +04:00
Andrey Kamaev 81832d76a8 Fix build of package for Google Play 2013-02-11 12:59:37 +04:00
Alexander Smorkalov d067dc5a05 Code review notes fixed. 2013-02-11 11:36:12 +04:00
Alexander Smorkalov 283b26e2db Issue in NativeCameraView and JavaCameraView fixed.
In previous version getWidth() and getHeight() values were used instead method parameters.
2013-02-11 09:43:44 +04:00
Andy Maloney 2075236757 If generating a bin file (second half of conditional), make sure the file is closed
(Also fix spelling in comment)
2013-02-10 21:55:20 -05:00
Andrey Kamaev 716e0192b3 Merge pull request #456 from vpisarev:python_ptseq_fix 2013-02-08 18:52:04 +04:00
Andrey Kamaev 3ed6c09485 Merge pull request #428 from bitwangyaoyao:2.4_erode_dilate 2013-02-08 18:48:37 +04:00
Andrey Kamaev 504264ab7b Merge pull request #402 from asmorkalov:samples_data_rase_fix 2013-02-08 18:48:13 +04:00
Andrey Kamaev 4045e6e588 Update tbb to version 4.1 update 2 2013-02-08 18:45:24 +04:00
Andrey Kamaev 46ca5c32cd Merge pull request #455 from AlexeySpizhevoy:2.4 2013-02-08 18:45:24 +04:00
Andrey Kamaev bb25111d23 Merge pull request #452 from asmorkalov:android_tutorial_update 2013-02-08 18:43:57 +04:00
Andrey Kamaev 4f4fe553bc Merge pull request #450 from bitwangyaoyao:2.4_dft 2013-02-08 18:43:34 +04:00
Andrey Kamaev 571665b559 Fix CMake variables substitution in Android project files 2013-02-08 18:21:49 +04:00
Vadim Pisarevsky 43d61d961e fixed problem with Nx2 numpy arrays in geometrical functions (#2783) 2013-02-08 18:11:56 +04:00
Alexey Spizhevoy e0ead7b606 fixed assertion failure (vector out of range) for the 'vc10,debug' build (#2775) 2013-02-08 17:44:57 +04:00
Alexander Smorkalov c7e7b77093 Tutorial for Android synchronized with actual application framework. 2013-02-08 16:53:06 +04:00
Andrey Kamaev 6ffd5edfb5 Merge pull request #442 from asmorkalov:linux_cross_compile 2013-02-08 14:37:09 +04:00
Andrey Kamaev 9591fb8f63 Merge pull request #448 from Nerei:bp_doc_change_24 2013-02-08 14:29:56 +04:00
Alexander Smorkalov 9a2d6f854b Tutorial-1-Java -> Tutorial-1-CameraPreview
Issues fix.
2013-02-08 13:13:37 +04:00
Alexander Smorkalov 507e2dc0ad Project files for Eclipse updated. 2013-02-08 12:50:58 +04:00
Alexander Smorkalov b558bb4894 Tutorial-5 -> Tutorial-3 2013-02-08 12:50:58 +04:00
Alexander Smorkalov 902463b6e9 Tutorial4 sample renamed to Tutorial-2-MixedProcessing 2013-02-08 12:50:07 +04:00
Alexander Smorkalov 08cd51df1f Tutorial-3 removed as dublicate part of tutorial-4. 2013-02-08 12:47:45 +04:00
Alexander Smorkalov b943277559 Tutorial-2 removed as dublicate of tutorial-1 and image manipulations sample. 2013-02-08 12:47:23 +04:00
Alexander Smorkalov 33502c86ac Tutorial 1 renamed 2013-02-08 12:45:48 +04:00
Alexander Smorkalov 192ee15520 Code review notes fixed;
HardFP and SoftFP toolchains joined to one;
RPATH skiping added.
2013-02-08 12:42:03 +04:00
Alexander Smorkalov 076941bb07 15-puzzle app reverted to usage of old CvCameraViewListener implementation;
super.onPause() call moved to begining of onPause method according Google recomandations.
2013-02-08 12:36:33 +04:00
yao 0b365f6aa5 add +-*/ operators to oclMat 2013-02-08 11:41:46 +08:00
yao 4d6827212d some bugs fix in using AmdFft library 2013-02-08 10:46:43 +08:00
Anatoly Baksheev 79d5724794 BP doc change according to Adrian's request (OpenCV book co-author) 2013-02-07 22:31:39 +04:00
Anna Kogan 51e58aeb25 Added --failed-only option and multiple input files support 2013-02-07 19:08:31 +04:00
Alexander Smorkalov f8720ec60e Code review issues fixed. Compatibility issues fixed. 2013-02-07 13:11:08 +04:00
Andrey Kamaev 03f7d2f1ca Merge pull request #444 from taka-no-me:fix_o0_warnings 2013-02-07 00:15:52 +04:00
Andrey Kamaev afe85e7e51 Fix some warnings from -O0 build 2013-02-06 20:57:36 +04:00
LeonidBeynenson 203849d5e4 The next attempt to fix a build error on Mac. 2013-02-06 18:07:02 +04:00
Andrey Kamaev 93d4abecf8 Merge pull request #443 from taka-no-me:fix_cascade_test 2013-02-06 16:40:38 +04:00
LeonidBeynenson 50cd5d9ce7 Try to fix Mac compilation issue. 2013-02-06 15:31:51 +04:00
Andrey Kamaev 6e4aeff4c9 Merge pull request #441 from jet47:filter-speckles-8u 2013-02-06 15:12:02 +04:00
Andrey Kamaev 37d695a62e Use gtest assertions in cascade test
This simplifies test debugging a lot
2013-02-06 15:07:31 +04:00
Alexander Smorkalov b81f0887f0 Carma board support fixed. 2013-02-06 14:47:42 +04:00
Alexander Smorkalov 4e243e1759 TBB build for arm linux fixed. Processors count detected correctly. 2013-02-06 14:43:57 +04:00
Alexander Smorkalov 6645f50dd0 CUDA toolkit support added to crosscompilation toolchain. 2013-02-06 14:43:57 +04:00
Alexander Smorkalov 1120289fdb Compiler and linker flags for arm cross compilation fixed. 2013-02-06 14:43:57 +04:00
Alexander Smorkalov 3ed99b7700 Code review notes applied.
Toolchain for arm hardfp added.
2013-02-06 14:43:57 +04:00
Alexander Smorkalov ffb9da14fb TBB build defines for Linux added. 2013-02-06 14:43:57 +04:00
Alexander Smorkalov 60f056061a Cross compilation toolchain for arm linux added. 2013-02-06 14:43:57 +04:00
Alexander Smorkalov 7882aba7af TBB download and build option enabled for non Android platfroms. 2013-02-06 14:43:57 +04:00
Alexander Smorkalov 2e2e1355ac Video IO perf tests guarded. 2013-02-06 14:43:57 +04:00
Vladislav Vinogradov bb3b1441c5 added 8u type support to filterSpeckles function 2013-02-06 14:14:45 +04:00
Andrey Kamaev bf575ba7fb Merge pull request #434 from taka-no-me:fix_parallel_writer_test 2013-02-06 14:04:59 +04:00
Andrey Kamaev 7cdede0c55 Merge pull request #438 from bitwangyaoyao:2.4_fixwarings 2013-02-06 14:04:28 +04:00
yao e31e924cf7 remove the warnings in accuracy test 2013-02-06 09:12:40 +08:00
Andrey Kamaev fe0516c877 Merge pull request #432 from bitwangyaoyao:2.4_blend 2013-02-05 14:53:49 +04:00
Andrey Kamaev 53e77ed468 Merge pull request #431 from snosov1:matchTemplate-tegra 2013-02-05 14:50:15 +04:00
yao 568b935246 remove a warning on Linux
fix a error in doc
2013-02-05 17:16:40 +08:00
LeonidBeynenson b85a098d9c Added float, uint64, and uchar params to Algorithm
Made changes to work in cv::Algorithm with parameters of these types.
Also fixed SimpleBlobDetector -- now it can be created by
cv::Algorithm::create and it can work with cv::Algorithm::set/get.
2013-02-04 20:25:18 +04:00
Alexander Smorkalov 6b5eac328f Android samples updated according onCameraFrame callback signature change.
FpsMeter class removed from Image Manipulations and Face Detection examples as unused code.
2013-02-04 17:43:46 +04:00
Alexander Smorkalov 3ef588b877 onCameraFrame callback signature changed. CvCameraFame interface added.
New interface allows to get one RGBA or Gray frame from camera or both in the same time;
New interface fixes data rase in samples also.
2013-02-04 17:43:45 +04:00
Andrey Kamaev f608df9640 Merge pull request #427 from vrabaud:brisk_fixes_2.4 2013-02-04 17:10:02 +04:00
Sergei Nosov c0e3d48ebc stricter eps for normed methods 2013-02-04 16:02:01 +04:00
Andrey Kamaev 7244fc1f6a Merge pull request #404 from asmorkalov:android_opencvmk_fix 2013-02-04 15:49:48 +04:00
Andrey Kamaev 727b6a7259 Merge pull request #408 from asmorkalov:giganetix_cams_patch 2013-02-04 14:56:54 +04:00
Andrey Kamaev 3c39e146a3 Make parallel video writer test pass if compiled without threading support 2013-02-04 14:34:44 +04:00
Vincent Rabaud d235c3a678 define the default remapping in the right scope 2013-02-04 11:08:00 +01:00
Vincent Rabaud 0b1599d88a write documentation for BRISK 2013-02-04 11:07:53 +01:00
yao 9711ef6dee blend use vector to optimize 2013-02-04 17:29:20 +08:00
Sergei Nosov 15d0484485 matchTemplate perf tests added 2013-02-04 12:57:22 +04:00
Sergei Nosov c768731e89 enable Tegra optimizations 2013-02-04 12:57:03 +04:00
Andrey Kamaev 9c939a8dcf Merge pull request #420 from asmaloney:check-mem-alloc 2013-02-04 12:56:36 +04:00
Alexander Smorkalov e58f4e44c8 Modules redifinition in case of multiple includes of OpenCV.mk in single Android.mk fixed. 2013-02-04 12:22:22 +04:00
Andrey Kamaev 650609aaeb Merge pull request #429 from bitwangyaoyao:2.4_setdevEx 2013-02-04 12:03:24 +04:00
Andrey Kamaev 6dc3b662f6 Merge pull request #425 from asmaloney:vector_empty 2013-02-04 12:03:03 +04:00
Andrey Kamaev 58c4d5f4b4 Merge pull request #424 from asmaloney:additional-checks 2013-02-04 12:02:43 +04:00
Andrey Kamaev fc4a2244fa Merge pull request #421 from asmaloney:check-mem-alloc2 2013-02-04 12:02:28 +04:00
Andrey Kamaev 37460acb21 Merge pull request #410 from taka-no-me:fix_cap_dshow_setfps 2013-02-04 11:57:33 +04:00
Andrey Kamaev e2536f1c35 Merge pull request #395 from LeonidBeynenson:fix_ml_large_data_bug__2.4 2013-02-04 11:54:43 +04:00
yao a639a1ae5c add setDeviceEx interface
simplify the logic of save binary
2013-02-04 15:06:36 +08:00
yao 3c5cb4931e simplify the kernel logic when using rect kernel or without ROI 2013-02-04 13:33:27 +08:00
Andy Maloney ac8744af6a No need to check vector size before clear() 2013-02-02 19:00:41 -05:00
Andy Maloney c8cad0857e Remove unused constructor
Add checks for valid values
Fix wording on some errors
2013-02-02 16:09:10 -05:00
Andy Maloney b79e8053c1 Check memory allocation
Declare vars as locally as possible
2013-02-02 08:44:25 -05:00
Andy Maloney b497380a68 Check memory allocation
Initialize local variables
2013-02-02 08:33:40 -05:00
Andrey Kamaev 2a669555de Merge pull request #414 from asmaloney:remove-unused-vars2 2013-02-02 14:34:47 +04:00
Andrey Kamaev 7e06b4755b Merge pull request #415 from asmaloney:cvCopyHist-fix 2013-02-02 14:34:33 +04:00
Andy Maloney e7ea90f87f Mat tutorial - grammar and spelling fixes 2013-02-01 23:39:40 -05:00
Andy Maloney 3154cdf8ac Fix subtle bug when src & dst agree on sparsity but have different dimensions
Remove unused var "total"
Declare vars as locally as possible
2013-02-01 22:57:22 -05:00
Andy Maloney bc68dfb4e8 Remove unused vars 2013-02-01 18:09:58 -05:00
Andrey Kamaev 0cd8684ade Fix setting of FPS after frame width and height with DShow cameras
Issue #2114
2013-02-01 18:01:13 +04:00
cuda-geek db9de43fa5 Merge pull request #407 from taka-no-me:fix_java_after_surf_change 2013-02-01 17:48:21 +04:00
Andrey Kamaev 6f1961031c Update regression checks in Java test
This follows SURF changes in 1f261c2
2013-02-01 17:16:28 +04:00
LeonidBeynenson 87b0126e0d Fixed dummy warning. 2013-02-01 16:16:43 +04:00
Alexander Smorkalov 25086ed257 Smartek Giganetix Cameras support (Patch #2192) integrated. 2013-02-01 16:07:32 +04:00
Andrey Kamaev 9e32c6993a Merge pull request #405 from vpisarev:znah_patch 2013-02-01 16:06:54 +04:00
LeonidBeynenson 013d54c230 Changed types of some variables from int64 back to int.
Also corrected some indexes to be size_t.
2013-02-01 14:41:14 +04:00
Vadim Pisarevsky 51eba617a8 a part of PR269 (parallelization of several functions) by Alexander Mordvintsev 2013-02-01 14:01:44 +04:00
Andrey Kamaev b179e2dd2d Merge pull request #396 from vpisarev:facedetect_fixes 2013-02-01 12:49:48 +04:00
Andrey Kamaev 992d47e9dc Merge pull request #400 from ilysenkov:bugfix_2560 2013-02-01 12:05:48 +04:00
Andrey Kamaev 5ef58a474a Merge pull request #397 from ilysenkov:bugfix_2677 2013-02-01 12:04:38 +04:00
Andrey Kamaev 0b6677f6d3 Merge pull request #398 from ilysenkov:bugfix_2330 2013-02-01 11:19:33 +04:00
Vadim Pisarevsky 638c0d1bf4 fixed compile warnings 2013-02-01 10:47:27 +04:00
Andrey Kamaev 57aa089ad6 Merge pull request #392 from vpisarev:python_fixes2 2013-02-01 10:20:52 +04:00
Ilya Lysenkov b24e4bddb1 Documented the TermCriteria class (#2560) 2013-02-01 10:16:30 +04:00
Ilya Lysenkov 7745c8806c Added info() method in descriptor matchers (#2330) 2013-02-01 02:23:40 +04:00
Ilya Lysenkov 098ea6fcb7 Checked key_size in LSH table for validness (#2677) 2013-01-31 23:19:19 +04:00
Ilya Lysenkov 1becbd9fcc Added a test for invalid key sizes in LSH tables 2013-01-31 23:17:07 +04:00
Vadim Pisarevsky 50299c1d5e disabled the use of SSE4 instructions as well to make the code compatible with the old Intel and AMD chips 2013-01-31 22:57:46 +04:00
Vadim Pisarevsky 18039d7829 added test for the old cvHaarDetectObjects. disabled AVX optimization in haar.cpp. it should cover tickets #2534, #2591, #2669 2013-01-31 22:55:04 +04:00
Andrey Kamaev 39b4bf1828 Merge pull request #390 from taka-no-me:fix_relative_error_check 2013-01-31 21:32:45 +04:00
Andrey Kamaev a8c014de33 Merge pull request #318 from AnnaKogan8:fixed-perf-tests 2013-01-31 21:01:44 +04:00
Andrey Kamaev 13d2412d24 Merge pull request #394 from taka-no-me:fix_tiff_test 2013-01-31 20:52:35 +04:00
Andrey Kamaev 34ef209940 Merge pull request #393 from Daniil-Osokin:bugfix_doc_multi_issues 2013-01-31 20:30:33 +04:00
Vadim Pisarevsky 54e0765d80 yet another minor fix in cv::transpose() 2013-01-31 20:26:16 +04:00
Vadim Pisarevsky 7ca38d63d9 fixed failure of the C++ test for estimateAffine3D 2013-01-31 19:44:16 +04:00
LeonidBeynenson 6de422701a Made changes to allow ml module to work with big data. 2013-01-31 19:37:20 +04:00
Andrey Kamaev 92460adebe Merge pull request #391 from taka-no-me:fix_buildbot_issues 2013-01-31 18:55:09 +04:00
Andrey Kamaev 55b90d7bae Modify decode_tile16384x16384 test to not fail when available memory is not enough for test 2013-01-31 18:51:24 +04:00
Daniil Osokin fe5b9df45f Fixed multiple issues in docs (bug #2410) 2013-01-31 17:34:40 +04:00
Vadim Pisarevsky 79e278c008 applied patch #2587 2013-01-31 16:19:20 +04:00
Anna Kogan ed4c687d45 Increased time limits, eliminated extra params 2013-01-31 16:18:52 +04:00
Vadim Pisarevsky 82b6419d12 added tests for fast (ticket #2613) and estimateAffine3D (#2375) 2013-01-31 16:15:40 +04:00
Andrey Kamaev e3b45910aa Temporary disable unstable Features2d_RotationInvariance_Detector_SIFT test 2013-01-31 16:06:22 +04:00
Andrey Kamaev e63b4591ff Suppress clang build warning 2013-01-31 16:01:04 +04:00
Andrey Kamaev 4f1913ed26 Correct tolerance value for sanity checks with ERROR_RELATIVE
Use min/max bounds instead of local value to calculate acceptance threshold.
Threshold based on local values somethimes does not work because cancellation
of big values may produce error bigger than local value.
2013-01-31 15:47:14 +04:00
Vadim Pisarevsky abd9675a99 fixed bugs #1718, #2375; attached the new tests to test.py. 2013-01-31 15:34:09 +04:00
Andrey Kamaev acb2cb5bf0 Merge pull request #389 from Daniil-Osokin:bugfix_doc_opencv_with_cmake 2013-01-31 15:04:56 +04:00
cuda-geek 53b0df87f1 Merge pull request #385 from etalanin:bug2607 2013-01-31 13:46:01 +04:00
cuda-geek bf53ebd590 Merge pull request #381 from vpisarev:surf_fixes 2013-01-31 13:36:10 +04:00
Daniil Osokin b5ed86c6a1 Fixed sample files in "Using OpenCV with gcc and CMake" tutorial (bug #2663, #2588) 2013-01-31 13:26:29 +04:00
cuda-geek fe30da6e2c Merge pull request #387 from taka-no-me:fix_dshow_fourcc_conversion 2013-01-31 13:26:26 +04:00
Andrey Kamaev fda32d3d8d Merge pull request #382 from cuda-geek:fix-broken-links-bug-2689 2013-01-31 13:08:01 +04:00
Evgeny Talanin 50c2f87add Fix and test for #2607 2013-01-31 12:23:08 +04:00
cuda-geek f3ae185fd0 Merge pull request #383 from cuda-geek:apply-opencv-macosx-patch 2013-01-31 12:04:13 +04:00
Andrey Kamaev 2d6253609c Fix truncation of fourcc value in dshow capture property setter (bug #2535)
Added test checking that all valid fourcc values are converted properly
2013-01-31 12:00:04 +04:00
Andrey Kamaev e0426148ba Merge pull request #374 from ivan-korolev:fix_estimateRigidTransform 2013-01-30 20:26:54 +04:00
marina.kolpakova 8b3c717e8f apply patch #2686 2013-01-30 20:20:06 +04:00
cuda-geek e72c7736e7 Merge pull request #375 from taka-no-me:fix_opticalflow_2075 2013-01-30 20:18:53 +04:00
Andrey Kamaev 9b4f2d1b53 Merge pull request #373 from ilysenkov:bugfix_2440 2013-01-30 19:37:16 +04:00
Andrey Kamaev 33c26a93c6 Merge pull request #376 from taka-no-me:solve_tiff_conflict 2013-01-30 19:36:09 +04:00
marina.kolpakova 5b03d47fb8 fix broken links in cascade classification documentation 2013-01-30 19:28:16 +04:00
Andrey Kamaev 4ceb8dd149 Merge pull request #378 from ivan-korolev:fix_OpenCVDetectTBB_cmake 2013-01-30 19:16:31 +04:00
cuda-geek bc53a054f2 Merge pull request #380 from asmorkalov:java_test_fix2 2013-01-30 19:03:35 +04:00
cuda-geek 31d3c508db Merge pull request #377 from ivan-korolev:fix_v4l_yes-yes_build 2013-01-30 18:59:56 +04:00
Vadim Pisarevsky 1f261c2f9d changed default parameters of SURF, which improved its performance. Restored bi-linear interpolation in SURF descriptor extractor. Added test for SURF homography + check for non-zero (positive) responses. 2013-01-30 18:07:37 +04:00
Andrey Kamaev f65a14d1ef Merge pull request #379 from taka-no-me:fix_ocl_samples_warnings 2013-01-30 18:06:49 +04:00
Alexander Smorkalov 5bc6365ba5 TestCheckVector java test fixed. Warning fixed. 2013-01-30 17:28:22 +04:00
Andrey Kamaev f489eb9a5d Fix build warnings in OpenCL samples 2013-01-30 17:25:03 +04:00
Ivan Korolev 26c7e7f292 fix default include dirs for TBB 2013-01-30 17:17:04 +04:00
Ivan Korolev eaa5012163 fix v4l yes-yes build 2013-01-30 17:04:33 +04:00
Andrey Kamaev 11871528ce Solve conflict between tiff.h and opencv2/core/types_c.h
Сonflict exists between some versions of libtiff and opencv headers
2013-01-30 16:36:50 +04:00
Andrey Kamaev c9d8e9900f Allow input of calcOpticalFlowPyrLK be submats of different size images
This fixes bug #2075
2013-01-30 16:07:55 +04:00
Andrey Kamaev 6a29b13c45 Add test for issue #2075 2013-01-30 16:07:38 +04:00
Ivan Korolev b362affd13 Fixed bug in the cv::estimateRigidTransform (#1949) 2013-01-30 15:27:23 +04:00
Ilya Lysenkov 3c8787980c Fixed cvDestroyAllWindows() without windows in QT (#2440) 2013-01-30 15:26:49 +04:00
Ilya Lysenkov 56fbcc541f Tested cvDestroyAllWindows() without windows 2013-01-30 15:25:10 +04:00
Andrey Kamaev 3a55fb9d1b Merge pull request #365 from ivan-korolev:fix_HoughLines_segfault 2013-01-30 15:16:30 +04:00
Andrey Kamaev 52b32ba8f0 Merge pull request #371 from taka-no-me:fix_build 2013-01-30 15:06:19 +04:00
Andrey Kamaev b6de1fccc3 Merge pull request #370 from ilysenkov:bugfix_1747 2013-01-30 14:42:10 +04:00
Andrey Kamaev d7874238f6 Merge pull request #369 from asmorkalov:corner_detection_tutorial 2013-01-30 14:41:56 +04:00
Andrey Kamaev 62b9180c50 Merge pull request #368 from ilysenkov:checkSubset-fix 2013-01-30 14:41:37 +04:00
Andrey Kamaev 81f5e72630 Merge pull request #366 from asmorkalov:gstreamer_codec_list 2013-01-30 14:41:22 +04:00
Andrey Kamaev 8d9af7de61 Merge pull request #362 from Daniil-Osokin:bugfix_doc_StereoSGBM 2013-01-30 14:41:06 +04:00
Andrey Kamaev ae7460440e Merge pull request #361 from taka-no-me:tiff_big_tile 2013-01-30 14:40:51 +04:00
Andrey Kamaev 86b4b30a6d Merge pull request #358 from taka-no-me:objc_exceptions 2013-01-30 14:40:32 +04:00
Andrey Kamaev 68be50bbab Fix clang build warning 2013-01-30 13:31:00 +04:00
Andrey Kamaev e79e81c6cd Fix Windows build warnings 2013-01-30 13:24:49 +04:00
Ilya Lysenkov 6feade3110 Added support of different resolution in rectify3Collinear 2013-01-30 13:19:12 +04:00
Andrey Kamaev eeb865ee8a Fix Android build warnings 2013-01-30 13:11:33 +04:00
Alexander Smorkalov 627b441022 Bugfix #2532 patch 4 corner detection sample possible bug solved.
Tutorial text was not consistent with tutorial source code in samples directory.
Inline source code was replaced on "includeliteral" directive with link to cpp file.
2013-01-30 13:05:57 +04:00
Andrey Kamaev 7e5f877ad9 Merge pull request #364 from Daniil-Osokin:bugfix_doc_features2d_tutorial 2013-01-30 13:05:47 +04:00
Andrey Kamaev d0350402de Merge pull request #356 from Daniil-Osokin:bugfix_imread_tutorial 2013-01-30 13:05:31 +04:00
Ilya Lysenkov 9ce2197e9d Added processing of trivial subsets 2013-01-30 13:03:03 +04:00
Andrey Kamaev 9690ed8232 Fix build of OpenCV samples (Linux) 2013-01-30 12:48:01 +04:00
Alexander Smorkalov 82e325cbfa Patch #2721 More FourCC for gstreamer applied. 2013-01-30 11:44:14 +04:00
Ivan Korolev 9908ff33de Added regression test for HoughLines algorithm 2013-01-30 11:27:19 +04:00
Daniil Osokin 7305f955a5 Added nonfree header in "Feature description" tutorial code sample (bug #2527) 2013-01-30 11:07:09 +04:00
Daniil Osokin f9de98ec64 Fixed proposed values for speckleRange in StereoSGBM docs (bug #1937) 2013-01-30 09:02:17 +04:00
Daniil Osokin 568591670c Fixed color code in cvtColor in "Load, Modify, and Save an Image" tutorial (bug #2739) 2013-01-30 08:16:47 +04:00
Andrey Kamaev 62ce815197 Fix rollover when computing buffer size in tiff decoder (bug #2161) 2013-01-30 00:07:33 +04:00
Andrey Kamaev b4d0dff4c5 Added minimal support for tiff encoder parameters and test for issue #2161 2013-01-30 00:07:30 +04:00
Andrey Kamaev daa02aaa98 Merge pull request #360 from vpisarev:sift_fixes 2013-01-29 20:39:13 +04:00
Vadim Pisarevsky c69312ea0d fixed #2580, #2210. some work on #2025.
modified SIFT to 1) double image before finding keypoints, 2) use floating-point internally instead of 16-bit integers, 3) set the keypoint response to the abs(interpolated_DoG_value). step 1) increases the number of detected keypoints significantly and together with 2) and 3) it improves some detection benchmarks. On the other hand, the stability of the small keypoints is lower, so the rotation and scale invariance tests now struggle a bit. In 2.5 need to make this feature optional and add some more intelligence to the algorithm.

added test that finds a planar object using SIFT.
2013-01-29 19:38:56 +04:00
Andrey Kamaev 3dbb98e454 Merge pull request #357 from taka-no-me:build_opencv_apps 2013-01-29 19:25:52 +04:00
Andrey Kamaev c78cb21999 Merge pull request #346 from taka-no-me:decouple_V4L2 2013-01-29 19:25:30 +04:00
Andrey Kamaev 0b1fe53a46 Add -fobjc-exceptions flag to ObjectiveC sources if supported (bug #2657) 2013-01-29 17:09:23 +04:00
Andrey Kamaev daead680cd Add option to control build of applications (feature #2568) 2013-01-29 16:38:59 +04:00
Andrey Kamaev ab8d92e1b8 Rebase and merge pull request #342 from ilysenkov/bugfix_2470 2013-01-29 15:53:42 +04:00
Ilya Lysenkov 5021a792b1 Fixed #2470 2013-01-29 15:53:28 +04:00
Ilya Lysenkov fe86f31f44 Added a test of CvModelEstimator2::checkSubset(...) 2013-01-29 15:53:28 +04:00
Andrey Kamaev 98fdd70466 Merge pull request #339 from vpisarev:core_fixes 2013-01-29 15:51:22 +04:00
Andrey Kamaev 287fb2c611 Fix build warning 2013-01-29 14:52:03 +04:00
Andrey Kamaev 63873a8393 Merge pull request #355 from asmaloney:copy_paste_cond 2013-01-29 14:13:01 +04:00
Andrey Kamaev 519e23bf0b Merge pull request #354 from asmaloney:fix_mem_dealloc 2013-01-29 14:12:12 +04:00
Andrey Kamaev da884b4e1d Merge pull request #347 from asmorkalov:WITH_FFMPEG_logic 2013-01-29 14:00:10 +04:00
Vadim Pisarevsky e7cbf65280 Merge pull request #351 from vpisarev:python_fixes 2013-01-29 13:34:50 +04:00
Alexander Smorkalov 8c45b9d03d Video IO perf tests guarded. 2013-01-29 11:09:49 +04:00
cuda-geek 04f01ed21d Merge pull request #353 from asmaloney:arg_checks 2013-01-29 11:04:33 +04:00
cuda-geek 11dfceb2c9 Merge pull request #328 from jet47:new-gpu-fixes 2013-01-29 11:00:37 +04:00
Andy Maloney bdf189faac {calib3d} Fix copy-paste error in conditional 2013-01-28 18:09:10 -05:00
Andy Maloney 5bd56e7464 Fix mem leak and mismatched new/delete 2013-01-28 17:57:19 -05:00
Andy Maloney 7a6475c3f9 Check pointers before using them in var init 2013-01-28 16:51:28 -05:00
Andrey Kamaev 2b4ffd1161 Merge pull request #350 from asmorkalov:android_java_warnings 2013-01-28 23:57:14 +04:00
Andrey Kamaev d7ea27b279 Merge pull request #349 from Daniil-Osokin:bugfix_opencv_cheatsheet 2013-01-28 23:56:55 +04:00
Andrey Kamaev 3a9c978b5e Merge pull request #348 from Daniil-Osokin:bugfix_YCrCb_formula 2013-01-28 23:56:42 +04:00
Andrey Kamaev 6abb69bd25 Merge pull request #345 from Daniil-Osokin:bugfix_2550 2013-01-28 23:56:26 +04:00
Andrey Kamaev 17130477c9 Merge pull request #344 from taka-no-me:improve_jpeg_encoder_errors 2013-01-28 23:56:01 +04:00
Vadim Pisarevsky 4044fbcb33 hopefully fixed handling of 'long' Python type in OpenCV bindings (bug #2193). added the corresponding test 2013-01-28 21:03:59 +04:00
Vadim Pisarevsky 2320ec76b4 Extended python bindings to support scalar values and tuples in place of InputArray (i.e. Mat) - ticket #2658. Added tests for #2611, #2505, #2658 2013-01-28 20:45:00 +04:00
Vadim Pisarevsky a519bbc617 Extended python bindings to support scalar values and tuples in place of InputArray (i.e. Mat) - ticket #2658. Added tests for #2611, #2505, #2658 2013-01-28 20:44:47 +04:00
Andrey Kamaev 09d93af975 Merge pull request #343 from taka-no-me:fix_nlmeans_2646 2013-01-28 20:35:39 +04:00
Alexander Smorkalov ca98710640 Resolve warning in OpenCV Library project in Eclipse (Bug #2714)
Warning in auto generated code was suppressed by project settings.
2013-01-28 19:44:58 +04:00
Daniil Osokin e33f3e8345 Fixed cheatsheet for loop (bug #2701) 2013-01-28 18:41:59 +04:00
Vadim Pisarevsky cd46a674d1 applied patch #2611 that also likely fixes #2505 2013-01-28 18:30:20 +04:00
Daniil Osokin 4c9c27b244 Fixed formula of YCrCb to RGB conversion (bug #2725) 2013-01-28 18:29:01 +04:00
Andrey Kamaev cf407c2ec0 Don't check for EINTR and replace xioctl with ioctl
This should be safe todo unless we are writing a signal handler.
2013-01-28 17:58:57 +04:00
Daniil Osokin f9bff103dd Removed obsolete steps from Windows installation tutorial (bug #2550) 2013-01-28 17:46:03 +04:00
Vadim Pisarevsky 146ca61a27 added tests for #1373, #2629, #2719; fixed another bug in determinant(Matx<T,n,n>) 2013-01-28 17:27:08 +04:00
Patrick Welche 1a84bcc565 NetBSD video(4) support, patch 3 of 3
xioctl() assumes that ioctl takes int request. Cope with
  int ioctl(int d, unsigned long request, ...)
to avoid "invalid argument".
2013-01-28 17:11:44 +04:00
Patrick Welche 681ffd9a21 NetBSD video(4) support, patch 2 of 3
* Decouple Video4Linux2 support from Video4Linux as existence of
  v4l2 on a system does not imply support for v4l.
* Don't use V4L's struct video_window in V4L2 code.
* Removed __USE_GNU as comment says:
      /* support for MJPEG is only available with libjpeg and gcc,
         because it's use libjepg and fmemopen()
  so replace with test for fmemopen() if found necessary.
2013-01-28 17:11:41 +04:00
Patrick Welche d90b8d615c NetBSD video(4) support, patch 1 of 3
The video(4) driver provides a Video4Linux2 compatible API for
various video peripherals. This patch propagates HAVE_VIDEOIO if
the sys/videoio.h include file is found, which is the signature of
video(4).
2013-01-28 17:11:36 +04:00
Andrey Kamaev 255cd61a8c Improve error reporting of JPEG image encoder
OpenCV issue #2604

After this patch applied an attempt to encode empty images produces exception
saying "Raw image encoder error: Empty JPEG image (DNL not supported)"
2013-01-28 16:55:00 +04:00
Andrey Kamaev 7374445398 Fix integer overflow in NL-Means denoising on white input
Issues #2646
2013-01-28 14:35:51 +04:00
Andrey Kamaev 7e92826efc Add test for issue #2646 2013-01-28 14:35:51 +04:00
Andrey Kamaev d83914d478 Change Imgproc_ prefix to Photo_ in all accuracy tests of photo module 2013-01-28 14:01:22 +04:00
Andrey Kamaev 8521ac5d21 Merge branch 'fix_jpg2000' into 2.4 2013-01-28 12:41:35 +04:00
Andy Maloney e87355463f {highgui} Fix copy-paste error in conditional 2013-01-26 16:38:01 -05:00
Vadim Pisarevsky 1df10553bb fixed bugs #1373, #2629, #2719 2013-01-25 23:45:41 +04:00
Andrey Kamaev d8f749da52 Merge pull request #337 from taka-no-me:ocl_appsdk 2013-01-25 16:23:36 +04:00
Andrey Kamaev 9509dfd1de Fix OpenCL build warnings 2013-01-25 16:19:59 +04:00
Andrey Kamaev b445f4b01d Find OpenCL in AMD APP SDK 2013-01-25 14:15:26 +04:00
Andrey Kamaev dc11acf041 Merge pull request #336 from ivan-korolev:fix_relative_error_formula 2013-01-25 14:10:06 +04:00
Ivan Korolev 6385b0f7ed Fixed a formula to calculate the relative error 2013-01-25 11:19:38 +04:00
Andrey Kamaev ed949bc211 Merge pull request #324 from bitwangyaoyao:2.4_cvtcolor 2013-01-25 00:53:42 +04:00
Andrey Kamaev 20de2f35f9 Merge pull request #325 from bitwangyaoyao:2.4_fixcanny 2013-01-25 00:46:35 +04:00
Andrey Kamaev f9ed0037b3 Merge pull request #327 from bitwangyaoyao:2.4_vs2012 2013-01-25 00:46:20 +04:00
Andrey Kamaev 14c31bfda0 Merge pull request #334 from asmaloney:2.4 2013-01-25 00:45:34 +04:00
Andy Maloney 5d65d000ab Docs: Fix invalid conversion format in example (CV_BGR2GREY -> CV_BGR2GRAY) 2013-01-24 10:08:58 -05:00
Andrey Kamaev 94e2b5c140 Merge pull request #305 from stephenfalken:2.4 2013-01-24 18:24:36 +04:00
Andrey Kamaev 7ad81ed46f Merge pull request #332 from taka-no-me:fix_ocl_warnings 2013-01-24 17:44:11 +04:00
Andrey Kamaev d5b15d6523 Fix ocl build warnings 2013-01-24 17:08:30 +04:00
Andrey Kamaev 33ca4ba5c7 Merge pull request #331 from taka-no-me:fix_java_debug 2013-01-24 15:49:14 +04:00
Siegfried Hochdorfer 195d501b43 fixed broken indentation 2013-01-24 11:40:35 +01:00
Andrey Kamaev cc399e2ade Merge pull request #330 from sromberg:2.4 2013-01-24 14:26:54 +04:00
Andrey Kamaev a441980d68 Fix debug build of Java warppers 2013-01-24 13:25:12 +04:00
Andrey Kamaev 3c4cfccc88 Merge pull request #321 from apavlenko:warp_sanity_check 2013-01-24 13:05:54 +04:00
Stefan Romberg 9f417268b3 Fixed visualization by choosing the color appropriate to the detection
Fixed visualization by choosing the color appropriate to the detection
score.
Previously the example showed all detections with the same color
disregarding the confidence. This led to the impression that the object
detection did not work at all because there are many detections with low
confidences.

PR to master was
https://github.com/Itseez/opencv/pull/320
2013-01-24 10:01:18 +01:00
yao 2aae501234 make ocl module compile on VS2012 2013-01-24 15:45:29 +08:00
yao d574e6dc09 fix canny crash in bug #2279 2013-01-24 14:58:41 +08:00
yao 4f778436b5 ocl::cvtColor support YUV and YCbCr formats 2013-01-24 14:33:28 +08:00
Vladislav Vinogradov 395f0201e3 fixed build for CARMA:
- added CMake toolchain file
- added WITH_NVCUVID flag
2013-01-23 21:05:08 +04:00
Vladislav Vinogradov 9cb4292d5c implemented Luv/Lab <-> RGB conversion 2013-01-23 21:05:08 +04:00
Vladislav Vinogradov e446903aac added more types support for gpu separable filters 2013-01-23 21:05:07 +04:00
Vladislav Vinogradov 281d036fcf optimizations:
- new reduce implementation (with kepler optimizations)
- saturate_cast via asm command
- video SIMD instructions in element operations
- float arithmetics instead of double
- new deviceSupports function
2013-01-23 21:05:07 +04:00
Vladislav Vinogradov ae6266e101 fixes for gpu module:
- fixed printCudaDeviceInfo for new CC
- fixed some compilation errors and warnings
- removed unset command from CMake script
- removed unused std imports
2013-01-23 21:05:06 +04:00
Vladislav Vinogradov b7e6b5af1b fixed tests (call resetDevice, if there was a gpu failure) 2013-01-23 21:05:04 +04:00
Andrey Kamaev 0773ab4d07 Merge pull request #315 from taka-no-me:java_on 2013-01-23 19:02:27 +04:00
Andrey Pavlenko e287dea91b fixing build warnings 2013-01-23 18:45:06 +04:00
Andrey Kamaev 2c32536bf4 Enable Java bindings on all platforms by default 2013-01-23 18:08:09 +04:00
Andrey Kamaev caa2c06e50 Quiet output of cv::error in Java tests
Introduced new Java API
void org.opencv.core.Core.setErrorVerbosity(boolean verbose)
used to suppress output to stderr from OpenCV's asserts
2013-01-23 18:08:09 +04:00
Andrey Kamaev 5eabcf8e4f Java tests: print summary for tests run 2013-01-23 18:08:09 +04:00
Andrey Kamaev 4668a133f0 Java API: fix build warning on OS X
Common part of all source files is extracted to special header
2013-01-23 18:08:09 +04:00
Andrey Kamaev 3889b34ec3 Add option to run java tests with run.py 2013-01-23 18:08:08 +04:00
Andrey Pavlenko 81721d0dce enabling sanity checks for warp and resize functions on Android
- add syntetic images generation function to ts
- use generated syntetic images
2013-01-23 17:25:30 +04:00
Andrey Kamaev 311d799344 Merge pull request #299 from branch 'bitwangyaoyao_ocl' into 2.4 2013-01-23 14:50:29 +04:00
yao e05112a364 some host side optimizations to ocl::GaussianBlur 2013-01-23 14:48:04 +04:00
yao 9060365f5e use format on filtering.cpp 2013-01-23 14:48:04 +04:00
yao 56c1a7fab6 make oclHaarDetectObjects running on more ocl platforms 2013-01-23 14:48:04 +04:00
yao b5bd2cde9e A few optimizations to ocl::pyrLK::sparse, make it running on more OCL platforms 2013-01-23 14:48:04 +04:00
yao 02c9e0a3e0 add default clAmdFft and clAmdBlas path 2013-01-23 14:48:04 +04:00
yao f6d82773f9 fix bug #2674 2013-01-23 14:48:04 +04:00
Andrey Kamaev 78dc44a7fd Merge pull request #295 from apavlenko:test_surf_keypoints_invariance 2013-01-23 14:40:05 +04:00
Andrey Kamaev 4d64db8be7 Merge pull request #319 from AnnaKogan8:added-surf-keypoints-cleanup 2013-01-23 10:36:02 +04:00
Anna Kogan 608fab60fd Added cleanup of keypoints vector 2013-01-22 18:05:18 +04:00
Andrey Kamaev 46c4390a2e Hardly refactored CMake script for Java wrappers 2013-01-22 17:59:01 +04:00
Andrey Kamaev c92743d124 Eliminate intermediate build target "opencv_java_api" 2013-01-22 17:59:00 +04:00
Andrey Kamaev 594f969641 Merge pull request #316 from mdim:draw_matches_fix 2013-01-22 16:09:48 +04:00
Eric Christiansen c2c2403a79 Added a desktop Java tutorial 2013-01-21 14:57:25 -08:00
mdim 93f8e7ba74 check of keypoint index range in drawMatches 2013-01-22 00:37:27 +04:00
Andrey Kamaev a45eb275e3 Merge pull request #306 from AnnaKogan8:perf_tests_timing.py-improvement 2013-01-21 18:10:08 +04:00
Andrey Kamaev abb9e08671 Merge pull request #314 from vpisarev:2.4 2013-01-21 17:52:35 +04:00
Vadim Pisarevsky f14b7af5ac changed diagnostic from "warning" to "note" in the python wrapper generator, to suppress some noise in opencv utilities 2013-01-21 15:00:32 +04:00
Andrey Kamaev 9c7a8dd584 Merge pull request #312 from taka-no-me:cheatsheet 2013-01-19 12:03:20 +04:00
Andrey Kamaev 1ed507c065 Merge pull request #310 from taka-no-me:4digit_version 2013-01-19 12:03:04 +04:00
Andrey Kamaev 55c74ebea8 Merge pull request #309 from asmorkalov:android_manager_4number_version 2013-01-19 12:02:49 +04:00
Andrey Kamaev e9301c3c4b Add opencv_cheatsheet.pdf to documentation build and silence Latex output 2013-01-18 18:27:43 +04:00
Andrey Kamaev e3474878b6 Consistently use 4-digit library version 2013-01-18 14:57:55 +04:00
Alexander Smorkalov 4feae810fa 4 digit library version numeration implemented in OpenCV Manager
Code refactoring done.
OpenCV library version type changed to int.
Some UI labels updated.
OpenCV Manager verison incremented.
2013-01-18 11:42:48 +04:00
Andrey Kamaev 101e9bd456 Merge pull request #304 from apavlenko:test_java_fix_double 2013-01-17 18:20:47 +04:00
Siegfried Hochdorfer 82a9f9a5a9 MeanshiftGrouping Bugfix (Bug #2685) 2013-01-17 11:46:24 +01:00
Andrey Pavlenko a8c0f1d962 fixing test failure on some systems 2013-01-16 18:33:35 +04:00
Andrey Kamaev 7341eaa654 Merge pull request #296 from asmorkalov:html_docs_warning_fix 2013-01-16 16:44:13 +04:00
Andrey Kamaev 28afa8d2d4 Merge pull request #297 from taka-no-me:fix_deps 2013-01-16 16:30:38 +04:00
Andrey Kamaev 0fed75a880 Merge pull request #302 from taka-no-me:fix_doc_sphinx107 2013-01-16 16:07:49 +04:00
Andrey Kamaev 069844cd4e Merge pull request #300 from taka-no-me:java_64bit 2013-01-16 14:49:46 +04:00
Andrey Kamaev b362d47d95 Fix documentation build with Sphinx 1.07 2013-01-16 12:43:12 +04:00
Eric Christiansen 6169b1dc90 Adds samples for Java and Scala 2013-01-15 12:03:55 -08:00
Andrey Kamaev bf3c2b0bbb Fix incorrect Mat address reconstruction on 64-bit platforms
This fixes random failures in Java wrappers.
2013-01-15 19:23:49 +04:00
Anna Kogan 0587bef667 Switched time from seconds to minutes 2013-01-15 15:32:22 +04:00
Anna Kogan 3cdfa654ae Added 'Num of tests' col, changed headers, added 'overall time' row 2013-01-15 15:26:43 +04:00
Andrey Kamaev 3cb84ed17c Fix dependencies inference for auto-disabled targets
Sometimes information about dependencies causing disabling were loosed and it
was not possible to correctly display these dependencies in status report
2013-01-14 18:58:24 +04:00
Andrey Pavlenko 9f0d5f60b5 fixinf warning on non-Windows systems 2013-01-14 18:15:51 +04:00
Alexander Smorkalov 8cb0343f4c Documentation build warning fixes.
Invalid links and refences fixed.
SpaeseMat class documentation updated.
2013-01-14 17:58:27 +04:00
Andrey Pavlenko 8e42ca1764 SURF keypoints rotation invariance test.
It calcs kpts for a cross and checks that 4 kpts at the edges have equal responce.
2013-01-14 14:06:00 +04:00
Andrey Kamaev c49b23d4dd Merge pull request #240 from emchristiansen:javatest2.4 2013-01-14 11:06:44 +04:00
Andrey Pavlenko b0e1cb473a more tests fixes 2013-01-11 09:13:25 +04:00
Andrey Kamaev 5e2726fb17 Merge pull request #287 from taka-no-me:fix_cvCalcOpticalFlow_2526 2013-01-10 19:56:44 +04:00
Andrey Kamaev 64d89d3546 Merge pull request #288 from taka-no-me:fix_unused_cmake_variable 2013-01-10 19:56:26 +04:00
Andrey Kamaev cf8deac2b2 Always touch variable controlling build of the module
This suppresses "unused variable" CMake warning when user explicilty disables
module unavailable in selected configuration
2013-01-10 19:05:39 +04:00
Andrey Kamaev b1384a6da8 Fix cvCalcOpticalFlow when the status parameter is NULL
issue 2526
2013-01-10 18:14:08 +04:00
Andrey Kamaev dff59ec960 Merge pull request #284 from taka-no-me:fix_equalize_hist_2678 2013-01-10 16:58:36 +04:00
Andrey Kamaev 59c6e2cc44 Merge pull request #283 from AnnaKogan8:perf_tests_timing.py-improved-console-output 2013-01-10 16:58:22 +04:00
Andrey Kamaev 6131a847a2 Fix histogram calculation in equalizeHist
issue #2678
2013-01-10 14:48:31 +04:00
Andrey Kamaev b81d1b25c7 Merge pull request #280 from vpisarev:bug_fixes_jan9 2013-01-10 13:31:04 +04:00
Anna Kogan 3271e395c8 Improved console output 2013-01-10 13:19:59 +04:00
Anna Kogan 0d7ce141aa Cleaned code 2013-01-10 13:18:26 +04:00
Anna Kogan 0334cf11cc Fixed last testsuit disregarding 2013-01-10 13:16:46 +04:00
Vadim Pisarevsky e383d39598 fixed bug #2679 2013-01-09 17:53:19 +04:00
Andrey Kamaev 399c20a928 Merge pull request #272 from 5kg:fix_haar 2013-01-09 16:53:11 +04:00
Andrey Kamaev e34aba60d9 Merge pull request #278 from taka-no-me:fix_build_jpeg9 2013-01-09 16:52:56 +04:00
Andrey Kamaev 873aefae19 Merge pull request #279 from taka-no-me:mingw_java 2013-01-09 16:52:41 +04:00
Vadim Pisarevsky 46cf2e96b5 Merge pull request #265 from taka-no-me:doc_signatures 2013-01-09 15:40:39 +04:00
Andrey Kamaev 4e1ba6f02f Fix build with libjpeg release 9 2013-01-08 19:55:29 +04:00
Andrey Kamaev da9089612a Fix build of java bindings on mingw 2012-12-30 23:24:39 +04:00
cuda-geek 47df8f4c2a Merge pull request #275 from mdim:bug_fix_cvboost 2012-12-30 00:31:03 +04:00
Andrey Kamaev dcde359181 Merge pull request #270 from wswld:2.4 2012-12-29 16:47:39 +04:00
Andrey Kamaev 7f4bcd3d72 Merge pull request #271 from 5kg:fix_cascade 2012-12-29 15:04:11 +04:00
Maria Dimashova 0e2958e888 fixed CvBoost::predict
(Sometimes sample_data became bad because the buffer with its values was deallocated early).
2012-12-29 00:30:52 +04:00
Zifei Tong 260bdc057c Changed parallel_for to parallel_for_ in haar.cpp 2012-12-28 22:56:47 +08:00
Andrey Pavlenko c49b1bc6d5 partial fix for failing tests; fix for Windows launcher script; more quiet output 2012-12-28 17:03:35 +04:00
Zifei Tong e331787645 Fix race condition for Cascade Classifier when TBB enabled. 2012-12-28 20:51:02 +08:00
Vsevolod Glumov c0411caef4 Fixed a bunch of minor issues in 'dev_with_OCV_on_Android.rst'. 2012-12-28 16:37:05 +04:00
Andrey Kamaev b401c6a0c3 Fix discrepancies between function signatures in headers and documentation 2012-12-26 18:24:50 +04:00
Andrey Kamaev aabbe11e64 Improve function arguments parsing and checking
* always use "argN" names for unnamed arguments
* honor space symbol between typename and "*", "&" symbols
* fix indent errors
2012-12-26 17:55:03 +04:00
Andrey Kamaev 5f41971305 Merge pull request #264 from kirill-kornyakov:remove-hack-from-hough-lines-perf-test 2012-12-26 12:53:50 +04:00
Kirill Kornyakov 5023afffc7 Removed hack from perf test on HoughLines, since I hope it is fixed by pr263 2012-12-26 10:33:02 +04:00
Eric Christiansen ad326cb0be adds desktop java junit tests 2012-12-19 14:28:59 -08:00
2045 arquivos alterados com 166401 adições e 101041 exclusões
+61 -33
Ver Arquivo
@@ -1,55 +1,83 @@
.git* export-ignore
* text=auto whitespace=trailing-space,space-before-tab,-indent-with-non-tab,tab-in-indent,tabwidth=4
* text=auto
* whitespace=!indent,trail,space
.git* text export-ignore
*.py text whitespace=tab-in-indent,trail,space,fix
*.cpp text whitespace=tab-in-indent,trail,space,fix
*.hpp text whitespace=tab-in-indent,trail,space,fix
*.cxx text whitespace=tab-in-indent,trail,space,fix
*.hxx text whitespace=tab-in-indent,trail,space,fix
*.mm text whitespace=tab-in-indent,trail,space,fix
*.c text whitespace=tab-in-indent,trail,space,fix
*.h text whitespace=tab-in-indent,trail,space,fix
*.i text whitespace=tab-in-indent,trail,space,fix
*.java text whitespace=tab-in-indent,trail,space,fix
*.cu text whitespace=tab-in-indent,trail,space,fix
*.cl text whitespace=tab-in-indent,trail,space,fix
*.aidl text
*.appxmanifest text
*.bib text
*.c text
*.cl text
*.conf text
*.cpp text
*.css_t text
*.cu text
*.cxx text
*.def text
*.filelist text
*.h text
*.hpp text
*.htm text
*.html text
*.hxx text
*.i text
*.idl text
*.java text
*.js text
*.mk text
*.mm text
*.plist text
*.properties text
*.py text
*.qrc text
*.qss text
*.S text
*.sbt text
*.scala text
*.sty text
*.tex text
*.txt text
*.xaml text
*.cmake text whitespace=tab-in-indent,trail,space,fix
*.cmakein text whitespace=tab-in-indent,trail,space,fix
*.in text whitespace=tab-in-indent,trail,space,fix
CMakeLists.txt text whitespace=tab-in-indent,trail,space,fix
# reST underlines/overlines can look like conflict markers
*.rst text conflict-marker-size=80
*.rst text whitespace=tab-in-indent,trail,space,fix
*.cmake text whitespace=tabwidth=2
*.cmakein text whitespace=tabwidth=2
*.in text whitespace=tabwidth=2
CMakeLists.txt text whitespace=tabwidth=2
*.png binary
*.jepg binary
*.jpg binary
*.avi binary
*.bmp binary
*.exr binary
*.ico binary
*.jpeg binary
*.jpg binary
*.png binary
*.a binary
*.so binary
*.dll binary
*.jar binary
*.pdf binary
*.pbxproj binary
*.vec binary
*.doc binary
*.dia binary
*.css_t text
*.qrc text
*.qss text
*.S text
*.xml -text whitespace=cr-at-eol
*.yml -text whitespace=cr-at-eol
.project -text whitespace=cr-at-eol merge=union
.classpath -text whitespace=cr-at-eol merge=union
.cproject -text whitespace=cr-at-eol merge=union
org.eclipse.jdt.core.prefs -text whitespace=cr-at-eol merge=union
*.xml -text
*.yml -text
*.vcproj text eol=crlf merge=union
*.cproject text eol=crlf merge=union
*.bat text eol=crlf
*.cmd text eol=crlf
*.cmd.tmpl text eol=crlf
*.dsp text eol=crlf -whitespace
*.sln text eol=crlf -whitespace
*.vcproj text eol=crlf -whitespace merge=union
*.vcxproj text eol=crlf -whitespace merge=union
*.sh text eol=lf
*.sh text eol=lf
+5 -4
Ver Arquivo
@@ -1,8 +1,9 @@
*.autosave
*.pyc
.DS_Store
refman.rst
OpenCV4Tegra/
*.user
.sw[a-z]
.*.swp
.DS_Store
.sw[a-z]
/modules/refman.rst
tags
tegra/
+1
Ver Arquivo
@@ -0,0 +1 @@
* -whitespace
+5 -5
Ver Arquivo
@@ -1,11 +1,11 @@
set(NEW_FFMPEG 1)
set(HAVE_FFMPEG 1)
set(HAVE_FFMPEG_CODEC 1)
set(HAVE_FFMPEG_FORMAT 1)
set(HAVE_FFMPEG_UTIL 1)
set(HAVE_FFMPEG_SWSCALE 1)
set(HAVE_GENTOO_FFMPEG 1)
set(ALIASOF_libavcodec_VERSION 53.61.100)
set(ALIASOF_libavformat_VERSION 53.32.100)
set(ALIASOF_libavutil_VERSION 51.35.100)
set(ALIASOF_libswscale_VERSION 2.1.100)
set(ALIASOF_libavcodec_VERSION 55.18.102)
set(ALIASOF_libavformat_VERSION 55.12.100)
set(ALIASOF_libavutil_VERSION 52.38.100)
set(ALIASOF_libswscale_VERSION 2.3.100)
+2 -2
Ver Arquivo
@@ -1,2 +1,2 @@
set path=c:\dev\msys32\bin;%path% & gcc -Wall -shared -o opencv_ffmpeg.dll -O2 -x c++ -I../include -I../include/ffmpeg_ -I../../modules/highgui/src ffopencv.c -L../lib -lavformat -lavcodec -lavdevice -lswscale -lavutil -lwsock32
set path=c:\dev\msys64\bin;%path% & gcc -m64 -Wall -shared -o opencv_ffmpeg_64.dll -O2 -x c++ -I../include -I../include/ffmpeg_ -I../../modules/highgui/src ffopencv.c -L../lib -lavformat64 -lavcodec64 -lavdevice64 -lswscale64 -lavutil64 -lavcore64 -lwsock32 -lws2_32
set path=c:\dev\msys32\bin;%path% & gcc -Wall -shared -o opencv_ffmpeg.dll -O2 -x c++ -I../include -I../include/ffmpeg_ -I../../modules/highgui/src ffopencv.c -L../lib -lavformat -lavcodec -lavdevice -lswscale -lavutil -liconv -lws2_32
set path=c:\dev\msys64\bin;%path% & gcc -m64 -Wall -shared -o opencv_ffmpeg_64.dll -O2 -x c++ -I../include -I../include/ffmpeg_ -I../../modules/highgui/src ffopencv.c -L../lib -lavformat64 -lavcodec64 -lavdevice64 -lswscale64 -lavutil64 -lws2_32
Arquivo binário não exibido.
Arquivo binário não exibido.
+1 -3
Ver Arquivo
@@ -16,7 +16,7 @@ How to update opencv_ffmpeg.dll and opencv_ffmpeg_64.dll when a new version of F
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.
@@ -40,5 +40,3 @@ How to update opencv_ffmpeg.dll and opencv_ffmpeg_64.dll when a new version of F
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
Diferenças do arquivo suprimidas por serem muito extensas Carregar Diff
+17
Ver Arquivo
@@ -19,6 +19,19 @@
#ifndef AVCODEC_AVFFT_H
#define AVCODEC_AVFFT_H
/**
* @file
* @ingroup lavc_fft
* FFT functions
*/
/**
* @defgroup lavc_fft FFT functions
* @ingroup lavc_misc
*
* @{
*/
typedef float FFTSample;
typedef struct FFTComplex {
@@ -96,4 +109,8 @@ DCTContext *av_dct_init(int nbits, enum DCTTransformType type);
void av_dct_calc(DCTContext *s, FFTSample *data);
void av_dct_end (DCTContext *s);
/**
* @}
*/
#endif /* AVCODEC_AVFFT_H */
+25 -1
Ver Arquivo
@@ -23,11 +23,31 @@
#ifndef AVCODEC_DXVA_H
#define AVCODEC_DXVA_H
#include <stdint.h>
/**
* @file
* @ingroup lavc_codec_hwaccel_dxva2
* Public libavcodec DXVA2 header.
*/
#if defined(_WIN32_WINNT) && _WIN32_WINNT < 0x0600
#undef _WIN32_WINNT
#endif
#if !defined(_WIN32_WINNT)
#define _WIN32_WINNT 0x0600
#endif
#include <stdint.h>
#include <d3d9.h>
#include <dxva2api.h>
/**
* @defgroup lavc_codec_hwaccel_dxva2 DXVA2
* @ingroup lavc_codec_hwaccel
*
* @{
*/
#define FF_DXVA2_WORKAROUND_SCALING_LIST_ZIGZAG 1 ///< Work around for DXVA2 and old UVD/UVD+ ATI video cards
/**
@@ -68,4 +88,8 @@ struct dxva_context {
unsigned report_id;
};
/**
* @}
*/
#endif /* AVCODEC_DXVA_H */
+397
Ver Arquivo
@@ -0,0 +1,397 @@
/*
* This file is part of FFmpeg.
*
* FFmpeg is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* FFmpeg is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with FFmpeg; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#ifndef AVCODEC_OLD_CODEC_IDS_H
#define AVCODEC_OLD_CODEC_IDS_H
#include "libavutil/common.h"
/*
* This header exists to prevent new codec IDs from being accidentally added to
* the deprecated list.
* Do not include it directly. It will be removed on next major bump
*
* Do not add new items to this list. Use the AVCodecID enum instead.
*/
CODEC_ID_NONE = AV_CODEC_ID_NONE,
/* video codecs */
CODEC_ID_MPEG1VIDEO,
CODEC_ID_MPEG2VIDEO, ///< preferred ID for MPEG-1/2 video decoding
CODEC_ID_MPEG2VIDEO_XVMC,
CODEC_ID_H261,
CODEC_ID_H263,
CODEC_ID_RV10,
CODEC_ID_RV20,
CODEC_ID_MJPEG,
CODEC_ID_MJPEGB,
CODEC_ID_LJPEG,
CODEC_ID_SP5X,
CODEC_ID_JPEGLS,
CODEC_ID_MPEG4,
CODEC_ID_RAWVIDEO,
CODEC_ID_MSMPEG4V1,
CODEC_ID_MSMPEG4V2,
CODEC_ID_MSMPEG4V3,
CODEC_ID_WMV1,
CODEC_ID_WMV2,
CODEC_ID_H263P,
CODEC_ID_H263I,
CODEC_ID_FLV1,
CODEC_ID_SVQ1,
CODEC_ID_SVQ3,
CODEC_ID_DVVIDEO,
CODEC_ID_HUFFYUV,
CODEC_ID_CYUV,
CODEC_ID_H264,
CODEC_ID_INDEO3,
CODEC_ID_VP3,
CODEC_ID_THEORA,
CODEC_ID_ASV1,
CODEC_ID_ASV2,
CODEC_ID_FFV1,
CODEC_ID_4XM,
CODEC_ID_VCR1,
CODEC_ID_CLJR,
CODEC_ID_MDEC,
CODEC_ID_ROQ,
CODEC_ID_INTERPLAY_VIDEO,
CODEC_ID_XAN_WC3,
CODEC_ID_XAN_WC4,
CODEC_ID_RPZA,
CODEC_ID_CINEPAK,
CODEC_ID_WS_VQA,
CODEC_ID_MSRLE,
CODEC_ID_MSVIDEO1,
CODEC_ID_IDCIN,
CODEC_ID_8BPS,
CODEC_ID_SMC,
CODEC_ID_FLIC,
CODEC_ID_TRUEMOTION1,
CODEC_ID_VMDVIDEO,
CODEC_ID_MSZH,
CODEC_ID_ZLIB,
CODEC_ID_QTRLE,
CODEC_ID_TSCC,
CODEC_ID_ULTI,
CODEC_ID_QDRAW,
CODEC_ID_VIXL,
CODEC_ID_QPEG,
CODEC_ID_PNG,
CODEC_ID_PPM,
CODEC_ID_PBM,
CODEC_ID_PGM,
CODEC_ID_PGMYUV,
CODEC_ID_PAM,
CODEC_ID_FFVHUFF,
CODEC_ID_RV30,
CODEC_ID_RV40,
CODEC_ID_VC1,
CODEC_ID_WMV3,
CODEC_ID_LOCO,
CODEC_ID_WNV1,
CODEC_ID_AASC,
CODEC_ID_INDEO2,
CODEC_ID_FRAPS,
CODEC_ID_TRUEMOTION2,
CODEC_ID_BMP,
CODEC_ID_CSCD,
CODEC_ID_MMVIDEO,
CODEC_ID_ZMBV,
CODEC_ID_AVS,
CODEC_ID_SMACKVIDEO,
CODEC_ID_NUV,
CODEC_ID_KMVC,
CODEC_ID_FLASHSV,
CODEC_ID_CAVS,
CODEC_ID_JPEG2000,
CODEC_ID_VMNC,
CODEC_ID_VP5,
CODEC_ID_VP6,
CODEC_ID_VP6F,
CODEC_ID_TARGA,
CODEC_ID_DSICINVIDEO,
CODEC_ID_TIERTEXSEQVIDEO,
CODEC_ID_TIFF,
CODEC_ID_GIF,
CODEC_ID_DXA,
CODEC_ID_DNXHD,
CODEC_ID_THP,
CODEC_ID_SGI,
CODEC_ID_C93,
CODEC_ID_BETHSOFTVID,
CODEC_ID_PTX,
CODEC_ID_TXD,
CODEC_ID_VP6A,
CODEC_ID_AMV,
CODEC_ID_VB,
CODEC_ID_PCX,
CODEC_ID_SUNRAST,
CODEC_ID_INDEO4,
CODEC_ID_INDEO5,
CODEC_ID_MIMIC,
CODEC_ID_RL2,
CODEC_ID_ESCAPE124,
CODEC_ID_DIRAC,
CODEC_ID_BFI,
CODEC_ID_CMV,
CODEC_ID_MOTIONPIXELS,
CODEC_ID_TGV,
CODEC_ID_TGQ,
CODEC_ID_TQI,
CODEC_ID_AURA,
CODEC_ID_AURA2,
CODEC_ID_V210X,
CODEC_ID_TMV,
CODEC_ID_V210,
CODEC_ID_DPX,
CODEC_ID_MAD,
CODEC_ID_FRWU,
CODEC_ID_FLASHSV2,
CODEC_ID_CDGRAPHICS,
CODEC_ID_R210,
CODEC_ID_ANM,
CODEC_ID_BINKVIDEO,
CODEC_ID_IFF_ILBM,
CODEC_ID_IFF_BYTERUN1,
CODEC_ID_KGV1,
CODEC_ID_YOP,
CODEC_ID_VP8,
CODEC_ID_PICTOR,
CODEC_ID_ANSI,
CODEC_ID_A64_MULTI,
CODEC_ID_A64_MULTI5,
CODEC_ID_R10K,
CODEC_ID_MXPEG,
CODEC_ID_LAGARITH,
CODEC_ID_PRORES,
CODEC_ID_JV,
CODEC_ID_DFA,
CODEC_ID_WMV3IMAGE,
CODEC_ID_VC1IMAGE,
CODEC_ID_UTVIDEO,
CODEC_ID_BMV_VIDEO,
CODEC_ID_VBLE,
CODEC_ID_DXTORY,
CODEC_ID_V410,
CODEC_ID_XWD,
CODEC_ID_CDXL,
CODEC_ID_XBM,
CODEC_ID_ZEROCODEC,
CODEC_ID_MSS1,
CODEC_ID_MSA1,
CODEC_ID_TSCC2,
CODEC_ID_MTS2,
CODEC_ID_CLLC,
CODEC_ID_Y41P = MKBETAG('Y','4','1','P'),
CODEC_ID_ESCAPE130 = MKBETAG('E','1','3','0'),
CODEC_ID_EXR = MKBETAG('0','E','X','R'),
CODEC_ID_AVRP = MKBETAG('A','V','R','P'),
CODEC_ID_G2M = MKBETAG( 0 ,'G','2','M'),
CODEC_ID_AVUI = MKBETAG('A','V','U','I'),
CODEC_ID_AYUV = MKBETAG('A','Y','U','V'),
CODEC_ID_V308 = MKBETAG('V','3','0','8'),
CODEC_ID_V408 = MKBETAG('V','4','0','8'),
CODEC_ID_YUV4 = MKBETAG('Y','U','V','4'),
CODEC_ID_SANM = MKBETAG('S','A','N','M'),
CODEC_ID_PAF_VIDEO = MKBETAG('P','A','F','V'),
CODEC_ID_SNOW = AV_CODEC_ID_SNOW,
/* various PCM "codecs" */
CODEC_ID_FIRST_AUDIO = 0x10000, ///< A dummy id pointing at the start of audio codecs
CODEC_ID_PCM_S16LE = 0x10000,
CODEC_ID_PCM_S16BE,
CODEC_ID_PCM_U16LE,
CODEC_ID_PCM_U16BE,
CODEC_ID_PCM_S8,
CODEC_ID_PCM_U8,
CODEC_ID_PCM_MULAW,
CODEC_ID_PCM_ALAW,
CODEC_ID_PCM_S32LE,
CODEC_ID_PCM_S32BE,
CODEC_ID_PCM_U32LE,
CODEC_ID_PCM_U32BE,
CODEC_ID_PCM_S24LE,
CODEC_ID_PCM_S24BE,
CODEC_ID_PCM_U24LE,
CODEC_ID_PCM_U24BE,
CODEC_ID_PCM_S24DAUD,
CODEC_ID_PCM_ZORK,
CODEC_ID_PCM_S16LE_PLANAR,
CODEC_ID_PCM_DVD,
CODEC_ID_PCM_F32BE,
CODEC_ID_PCM_F32LE,
CODEC_ID_PCM_F64BE,
CODEC_ID_PCM_F64LE,
CODEC_ID_PCM_BLURAY,
CODEC_ID_PCM_LXF,
CODEC_ID_S302M,
CODEC_ID_PCM_S8_PLANAR,
/* various ADPCM codecs */
CODEC_ID_ADPCM_IMA_QT = 0x11000,
CODEC_ID_ADPCM_IMA_WAV,
CODEC_ID_ADPCM_IMA_DK3,
CODEC_ID_ADPCM_IMA_DK4,
CODEC_ID_ADPCM_IMA_WS,
CODEC_ID_ADPCM_IMA_SMJPEG,
CODEC_ID_ADPCM_MS,
CODEC_ID_ADPCM_4XM,
CODEC_ID_ADPCM_XA,
CODEC_ID_ADPCM_ADX,
CODEC_ID_ADPCM_EA,
CODEC_ID_ADPCM_G726,
CODEC_ID_ADPCM_CT,
CODEC_ID_ADPCM_SWF,
CODEC_ID_ADPCM_YAMAHA,
CODEC_ID_ADPCM_SBPRO_4,
CODEC_ID_ADPCM_SBPRO_3,
CODEC_ID_ADPCM_SBPRO_2,
CODEC_ID_ADPCM_THP,
CODEC_ID_ADPCM_IMA_AMV,
CODEC_ID_ADPCM_EA_R1,
CODEC_ID_ADPCM_EA_R3,
CODEC_ID_ADPCM_EA_R2,
CODEC_ID_ADPCM_IMA_EA_SEAD,
CODEC_ID_ADPCM_IMA_EA_EACS,
CODEC_ID_ADPCM_EA_XAS,
CODEC_ID_ADPCM_EA_MAXIS_XA,
CODEC_ID_ADPCM_IMA_ISS,
CODEC_ID_ADPCM_G722,
CODEC_ID_ADPCM_IMA_APC,
CODEC_ID_VIMA = MKBETAG('V','I','M','A'),
/* AMR */
CODEC_ID_AMR_NB = 0x12000,
CODEC_ID_AMR_WB,
/* RealAudio codecs*/
CODEC_ID_RA_144 = 0x13000,
CODEC_ID_RA_288,
/* various DPCM codecs */
CODEC_ID_ROQ_DPCM = 0x14000,
CODEC_ID_INTERPLAY_DPCM,
CODEC_ID_XAN_DPCM,
CODEC_ID_SOL_DPCM,
/* audio codecs */
CODEC_ID_MP2 = 0x15000,
CODEC_ID_MP3, ///< preferred ID for decoding MPEG audio layer 1, 2 or 3
CODEC_ID_AAC,
CODEC_ID_AC3,
CODEC_ID_DTS,
CODEC_ID_VORBIS,
CODEC_ID_DVAUDIO,
CODEC_ID_WMAV1,
CODEC_ID_WMAV2,
CODEC_ID_MACE3,
CODEC_ID_MACE6,
CODEC_ID_VMDAUDIO,
CODEC_ID_FLAC,
CODEC_ID_MP3ADU,
CODEC_ID_MP3ON4,
CODEC_ID_SHORTEN,
CODEC_ID_ALAC,
CODEC_ID_WESTWOOD_SND1,
CODEC_ID_GSM, ///< as in Berlin toast format
CODEC_ID_QDM2,
CODEC_ID_COOK,
CODEC_ID_TRUESPEECH,
CODEC_ID_TTA,
CODEC_ID_SMACKAUDIO,
CODEC_ID_QCELP,
CODEC_ID_WAVPACK,
CODEC_ID_DSICINAUDIO,
CODEC_ID_IMC,
CODEC_ID_MUSEPACK7,
CODEC_ID_MLP,
CODEC_ID_GSM_MS, /* as found in WAV */
CODEC_ID_ATRAC3,
CODEC_ID_VOXWARE,
CODEC_ID_APE,
CODEC_ID_NELLYMOSER,
CODEC_ID_MUSEPACK8,
CODEC_ID_SPEEX,
CODEC_ID_WMAVOICE,
CODEC_ID_WMAPRO,
CODEC_ID_WMALOSSLESS,
CODEC_ID_ATRAC3P,
CODEC_ID_EAC3,
CODEC_ID_SIPR,
CODEC_ID_MP1,
CODEC_ID_TWINVQ,
CODEC_ID_TRUEHD,
CODEC_ID_MP4ALS,
CODEC_ID_ATRAC1,
CODEC_ID_BINKAUDIO_RDFT,
CODEC_ID_BINKAUDIO_DCT,
CODEC_ID_AAC_LATM,
CODEC_ID_QDMC,
CODEC_ID_CELT,
CODEC_ID_G723_1,
CODEC_ID_G729,
CODEC_ID_8SVX_EXP,
CODEC_ID_8SVX_FIB,
CODEC_ID_BMV_AUDIO,
CODEC_ID_RALF,
CODEC_ID_IAC,
CODEC_ID_ILBC,
CODEC_ID_FFWAVESYNTH = MKBETAG('F','F','W','S'),
CODEC_ID_SONIC = MKBETAG('S','O','N','C'),
CODEC_ID_SONIC_LS = MKBETAG('S','O','N','L'),
CODEC_ID_PAF_AUDIO = MKBETAG('P','A','F','A'),
CODEC_ID_OPUS = MKBETAG('O','P','U','S'),
/* subtitle codecs */
CODEC_ID_FIRST_SUBTITLE = 0x17000, ///< A dummy ID pointing at the start of subtitle codecs.
CODEC_ID_DVD_SUBTITLE = 0x17000,
CODEC_ID_DVB_SUBTITLE,
CODEC_ID_TEXT, ///< raw UTF-8 text
CODEC_ID_XSUB,
CODEC_ID_SSA,
CODEC_ID_MOV_TEXT,
CODEC_ID_HDMV_PGS_SUBTITLE,
CODEC_ID_DVB_TELETEXT,
CODEC_ID_SRT,
CODEC_ID_MICRODVD = MKBETAG('m','D','V','D'),
CODEC_ID_EIA_608 = MKBETAG('c','6','0','8'),
CODEC_ID_JACOSUB = MKBETAG('J','S','U','B'),
CODEC_ID_SAMI = MKBETAG('S','A','M','I'),
CODEC_ID_REALTEXT = MKBETAG('R','T','X','T'),
CODEC_ID_SUBVIEWER = MKBETAG('S','u','b','V'),
/* other specific kind of codecs (generally used for attachments) */
CODEC_ID_FIRST_UNKNOWN = 0x18000, ///< A dummy ID pointing at the start of various fake codecs.
CODEC_ID_TTF = 0x18000,
CODEC_ID_BINTEXT = MKBETAG('B','T','X','T'),
CODEC_ID_XBIN = MKBETAG('X','B','I','N'),
CODEC_ID_IDF = MKBETAG( 0 ,'I','D','F'),
CODEC_ID_OTF = MKBETAG( 0 ,'O','T','F'),
CODEC_ID_PROBE = 0x19000, ///< codec_id is not known (like CODEC_ID_NONE) but lavf should attempt to identify it
CODEC_ID_MPEG2TS = 0x20000, /**< _FAKE_ codec to indicate a raw MPEG-2 TS
* stream (only used by libavformat) */
CODEC_ID_MPEG4SYSTEMS = 0x20001, /**< _FAKE_ codec to indicate a MPEG-4 Systems
* stream (only used by libavformat) */
CODEC_ID_FFMETADATA = 0x21000, ///< Dummy codec for streams containing only metadata information.
#endif /* AVCODEC_OLD_CODEC_IDS_H */
-34
Ver Arquivo
@@ -1,34 +0,0 @@
/*
* This file is part of Libav.
*
* Libav is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* Libav is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with Libav; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/**
* @file
* This header is provided for compatibility only and will be removed
* on next major bump
*/
#ifndef AVCODEC_OPT_H
#define AVCODEC_OPT_H
#include "libavcodec/version.h"
#if FF_API_OPT_H
#include "libavutil/opt.h"
#endif
#endif /* AVCODEC_OPT_H */
+8 -2
Ver Arquivo
@@ -24,11 +24,17 @@
#ifndef AVCODEC_VAAPI_H
#define AVCODEC_VAAPI_H
/**
* @file
* @ingroup lavc_codec_hwaccel_vaapi
* Public libavcodec VA API header.
*/
#include <stdint.h>
/**
* @defgroup VAAPI_Decoding VA API Decoding
* @ingroup Decoder
* @defgroup lavc_codec_hwaccel_vaapi VA API Decoding
* @ingroup lavc_codec_hwaccel
* @{
*/
+81 -87
Ver Arquivo
@@ -23,7 +23,12 @@
#ifndef AVCODEC_VDA_H
#define AVCODEC_VDA_H
#include <pthread.h>
/**
* @file
* @ingroup lavc_codec_hwaccel_vda
* Public libavcodec VDA header.
*/
#include <stdint.h>
// emmintrin.h is unable to compile with -std=c99 -Werror=missing-prototypes
@@ -34,34 +39,14 @@
#include <VideoDecodeAcceleration/VDADecoder.h>
#undef Picture
#include "libavcodec/version.h"
/**
* This structure is used to store a decoded frame information and data.
* @defgroup lavc_codec_hwaccel_vda VDA
* @ingroup lavc_codec_hwaccel
*
* @{
*/
typedef struct {
/**
* The PTS of the frame.
*
* - encoding: unused
* - decoding: Set/Unset by libavcodec.
*/
int64_t pts;
/**
* The CoreVideo buffer that contains the decoded data.
*
* - encoding: unused
* - decoding: Set/Unset by libavcodec.
*/
CVPixelBufferRef cv_buffer;
/**
* A pointer to the next frame.
*
* - encoding: unused
* - decoding: Set/Unset by libavcodec.
*/
struct vda_frame *next_frame;
} vda_frame;
/**
* This structure is used to provide the necessary configurations and data
@@ -71,84 +56,95 @@ typedef struct {
*/
struct vda_context {
/**
* VDA decoder object.
*
* - encoding: unused
* - decoding: Set/Unset by libavcodec.
*/
* VDA decoder object.
*
* - encoding: unused
* - decoding: Set/Unset by libavcodec.
*/
VDADecoder decoder;
/**
* VDA frames queue ordered by presentation timestamp.
*
* - encoding: unused
* - decoding: Set/Unset by libavcodec.
*/
vda_frame *queue;
* The Core Video pixel buffer that contains the current image data.
*
* encoding: unused
* decoding: Set by libavcodec. Unset by user.
*/
CVPixelBufferRef cv_buffer;
/**
* Mutex for locking queue operations.
*
* - encoding: unused
* - decoding: Set/Unset by libavcodec.
*/
pthread_mutex_t queue_mutex;
* Use the hardware decoder in synchronous mode.
*
* encoding: unused
* decoding: Set by user.
*/
int use_sync_decoding;
/**
* The frame width.
*
* - encoding: unused
* - decoding: Set/Unset by user.
*/
* The frame width.
*
* - encoding: unused
* - decoding: Set/Unset by user.
*/
int width;
/**
* The frame height.
*
* - encoding: unused
* - decoding: Set/Unset by user.
*/
* The frame height.
*
* - encoding: unused
* - decoding: Set/Unset by user.
*/
int height;
/**
* The frame format.
*
* - encoding: unused
* - decoding: Set/Unset by user.
*/
* The frame format.
*
* - encoding: unused
* - decoding: Set/Unset by user.
*/
int format;
/**
* The pixel format for output image buffers.
*
* - encoding: unused
* - decoding: Set/Unset by user.
*/
* The pixel format for output image buffers.
*
* - encoding: unused
* - decoding: Set/Unset by user.
*/
OSType cv_pix_fmt_type;
/**
* The current bitstream buffer.
*
* - encoding: unused
* - decoding: Set/Unset by libavcodec.
*/
uint8_t *bitstream;
* The current bitstream buffer.
*
* - encoding: unused
* - decoding: Set/Unset by libavcodec.
*/
uint8_t *priv_bitstream;
/**
* The current size of the bitstream.
*
* - encoding: unused
* - decoding: Set/Unset by libavcodec.
*/
int bitstream_size;
* The current size of the bitstream.
*
* - encoding: unused
* - decoding: Set/Unset by libavcodec.
*/
int priv_bitstream_size;
/**
* The reference size used for fast reallocation.
*
* - encoding: unused
* - decoding: Set/Unset by libavcodec.
*/
int ref_size;
* The reference size used for fast reallocation.
*
* - encoding: unused
* - decoding: Set/Unset by libavcodec.
*/
int priv_allocated_size;
/**
* Use av_buffer to manage buffer.
* When the flag is set, the CVPixelBuffers returned by the decoder will
* be released automatically, so you have to retain them if necessary.
* Not setting this flag may cause memory leak.
*
* encoding: unused
* decoding: Set by user.
*/
int use_ref_buffer;
};
/** Create the video decoder. */
@@ -159,10 +155,8 @@ int ff_vda_create_decoder(struct vda_context *vda_ctx,
/** Destroy the video decoder. */
int ff_vda_destroy_decoder(struct vda_context *vda_ctx);
/** Return the top frame of the queue. */
vda_frame *ff_vda_queue_pop(struct vda_context *vda_ctx);
/** Release the given frame. */
void ff_vda_release_vda_frame(vda_frame *frame);
/**
* @}
*/
#endif /* AVCODEC_VDA_H */
+80 -9
Ver Arquivo
@@ -25,7 +25,15 @@
#define AVCODEC_VDPAU_H
/**
* @defgroup Decoder VDPAU Decoder and Renderer
* @file
* @ingroup lavc_codec_hwaccel_vdpau
* Public libavcodec VDPAU header.
*/
/**
* @defgroup lavc_codec_hwaccel_vdpau VDPAU Decoder and Renderer
* @ingroup lavc_codec_hwaccel
*
* VDPAU hardware acceleration has two modules
* - VDPAU decoding
@@ -38,13 +46,74 @@
* and rendering (API calls) are done as part of the VDPAU
* presentation (vo_vdpau.c) module.
*
* @defgroup VDPAU_Decoding VDPAU Decoding
* @ingroup Decoder
* @{
*/
#include <vdpau/vdpau.h>
#include <vdpau/vdpau_x11.h>
#include "libavutil/avconfig.h"
union FFVdpPictureInfo {
VdpPictureInfoH264 h264;
VdpPictureInfoMPEG1Or2 mpeg;
VdpPictureInfoVC1 vc1;
VdpPictureInfoMPEG4Part2 mpeg4;
};
/**
* This structure is used to share data between the libavcodec library and
* the client video application.
* The user shall zero-allocate the structure and make it available as
* AVCodecContext.hwaccel_context. Members can be set by the user once
* during initialization or through each AVCodecContext.get_buffer()
* function call. In any case, they must be valid prior to calling
* decoding functions.
*/
typedef struct AVVDPAUContext {
/**
* VDPAU decoder handle
*
* Set by user.
*/
VdpDecoder decoder;
/**
* VDPAU decoder render callback
*
* Set by the user.
*/
VdpDecoderRender *render;
/**
* VDPAU picture information
*
* Set by libavcodec.
*/
union FFVdpPictureInfo info;
/**
* Allocated size of the bitstream_buffers table.
*
* Set by libavcodec.
*/
int bitstream_buffers_allocated;
/**
* Useful bitstream buffers in the bitstream buffers table.
*
* Set by libavcodec.
*/
int bitstream_buffers_used;
/**
* Table of bitstream buffers.
* The user is responsible for freeing this buffer using av_freep().
*
* Set by libavcodec.
*/
VdpBitstreamBuffer *bitstream_buffers;
} AVVDPAUContext;
/** @brief The videoSurface is used for rendering. */
#define FF_VDPAU_STATE_USED_FOR_RENDER 1
@@ -67,6 +136,11 @@ struct vdpau_render_state {
int state; ///< Holds FF_VDPAU_STATE_* values.
#if AV_HAVE_INCOMPATIBLE_LIBAV_ABI
/** picture parameter information for all supported codecs */
union FFVdpPictureInfo info;
#endif
/** Describe size/location of the compressed video data.
Set to 0 when freeing bitstream_buffers. */
int bitstream_buffers_allocated;
@@ -74,13 +148,10 @@ struct vdpau_render_state {
/** The user is responsible for freeing this buffer using av_freep(). */
VdpBitstreamBuffer *bitstream_buffers;
#if !AV_HAVE_INCOMPATIBLE_LIBAV_ABI
/** picture parameter information for all supported codecs */
union VdpPictureInfo {
VdpPictureInfoH264 h264;
VdpPictureInfoMPEG1Or2 mpeg;
VdpPictureInfoVC1 vc1;
VdpPictureInfoMPEG4Part2 mpeg4;
} info;
union FFVdpPictureInfo info;
#endif
};
/* @}*/
+45 -80
Ver Arquivo
@@ -20,9 +20,17 @@
#ifndef AVCODEC_VERSION_H
#define AVCODEC_VERSION_H
#define LIBAVCODEC_VERSION_MAJOR 53
#define LIBAVCODEC_VERSION_MINOR 61
#define LIBAVCODEC_VERSION_MICRO 100
/**
* @file
* @ingroup libavc
* Libavcodec version macros.
*/
#include "libavutil/avutil.h"
#define LIBAVCODEC_VERSION_MAJOR 55
#define LIBAVCODEC_VERSION_MINOR 18
#define LIBAVCODEC_VERSION_MICRO 102
#define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
LIBAVCODEC_VERSION_MINOR, \
@@ -35,96 +43,53 @@
#define LIBAVCODEC_IDENT "Lavc" AV_STRINGIFY(LIBAVCODEC_VERSION)
/**
* Those FF_API_* defines are not part of public API.
* They may change, break or disappear at any time.
* FF_API_* defines may be placed below to indicate public API that will be
* dropped at a future version bump. The defines themselves are not part of
* the public API and may change, break or disappear at any time.
*/
#ifndef FF_API_PALETTE_CONTROL
#define FF_API_PALETTE_CONTROL (LIBAVCODEC_VERSION_MAJOR < 54)
#endif
#ifndef FF_API_OLD_SAMPLE_FMT
#define FF_API_OLD_SAMPLE_FMT (LIBAVCODEC_VERSION_MAJOR < 54)
#endif
#ifndef FF_API_OLD_AUDIOCONVERT
#define FF_API_OLD_AUDIOCONVERT (LIBAVCODEC_VERSION_MAJOR < 54)
#endif
#ifndef FF_API_ANTIALIAS_ALGO
#define FF_API_ANTIALIAS_ALGO (LIBAVCODEC_VERSION_MAJOR < 54)
#endif
#ifndef FF_API_REQUEST_CHANNELS
#define FF_API_REQUEST_CHANNELS (LIBAVCODEC_VERSION_MAJOR < 55)
#endif
#ifndef FF_API_OPT_H
#define FF_API_OPT_H (LIBAVCODEC_VERSION_MAJOR < 54)
#endif
#ifndef FF_API_THREAD_INIT
#define FF_API_THREAD_INIT (LIBAVCODEC_VERSION_MAJOR < 54)
#endif
#ifndef FF_API_OLD_FF_PICT_TYPES
#define FF_API_OLD_FF_PICT_TYPES (LIBAVCODEC_VERSION_MAJOR < 54)
#endif
#ifndef FF_API_FLAC_GLOBAL_OPTS
#define FF_API_FLAC_GLOBAL_OPTS (LIBAVCODEC_VERSION_MAJOR < 54)
#endif
#ifndef FF_API_GET_PIX_FMT_NAME
#define FF_API_GET_PIX_FMT_NAME (LIBAVCODEC_VERSION_MAJOR < 54)
#define FF_API_REQUEST_CHANNELS (LIBAVCODEC_VERSION_MAJOR < 56)
#endif
#ifndef FF_API_ALLOC_CONTEXT
#define FF_API_ALLOC_CONTEXT (LIBAVCODEC_VERSION_MAJOR < 54)
#define FF_API_ALLOC_CONTEXT (LIBAVCODEC_VERSION_MAJOR < 55)
#endif
#ifndef FF_API_AVCODEC_OPEN
#define FF_API_AVCODEC_OPEN (LIBAVCODEC_VERSION_MAJOR < 54)
#endif
#ifndef FF_API_DRC_SCALE
#define FF_API_DRC_SCALE (LIBAVCODEC_VERSION_MAJOR < 54)
#endif
#ifndef FF_API_ER
#define FF_API_ER (LIBAVCODEC_VERSION_MAJOR < 54)
#endif
#ifndef FF_API_AVCODEC_INIT
#define FF_API_AVCODEC_INIT (LIBAVCODEC_VERSION_MAJOR < 54)
#endif
#ifndef FF_API_X264_GLOBAL_OPTS
#define FF_API_X264_GLOBAL_OPTS (LIBAVCODEC_VERSION_MAJOR < 54)
#endif
#ifndef FF_API_MPEGVIDEO_GLOBAL_OPTS
#define FF_API_MPEGVIDEO_GLOBAL_OPTS (LIBAVCODEC_VERSION_MAJOR < 54)
#endif
#ifndef FF_API_LAME_GLOBAL_OPTS
#define FF_API_LAME_GLOBAL_OPTS (LIBAVCODEC_VERSION_MAJOR < 54)
#endif
#ifndef FF_API_SNOW_GLOBAL_OPTS
#define FF_API_SNOW_GLOBAL_OPTS (LIBAVCODEC_VERSION_MAJOR < 54)
#endif
#ifndef FF_API_MJPEG_GLOBAL_OPTS
#define FF_API_MJPEG_GLOBAL_OPTS (LIBAVCODEC_VERSION_MAJOR < 54)
#endif
#ifndef FF_API_GET_ALPHA_INFO
#define FF_API_GET_ALPHA_INFO (LIBAVCODEC_VERSION_MAJOR < 54)
#endif
#ifndef FF_API_PARSE_FRAME
#define FF_API_PARSE_FRAME (LIBAVCODEC_VERSION_MAJOR < 54)
#endif
#ifndef FF_API_INTERNAL_CONTEXT
#define FF_API_INTERNAL_CONTEXT (LIBAVCODEC_VERSION_MAJOR < 54)
#endif
#ifndef FF_API_TIFFENC_COMPLEVEL
#define FF_API_TIFFENC_COMPLEVEL (LIBAVCODEC_VERSION_MAJOR < 54)
#endif
#ifndef FF_API_DATA_POINTERS
#define FF_API_DATA_POINTERS (LIBAVCODEC_VERSION_MAJOR < 54)
#define FF_API_AVCODEC_OPEN (LIBAVCODEC_VERSION_MAJOR < 55)
#endif
#ifndef FF_API_OLD_DECODE_AUDIO
#define FF_API_OLD_DECODE_AUDIO (LIBAVCODEC_VERSION_MAJOR < 55)
#define FF_API_OLD_DECODE_AUDIO (LIBAVCODEC_VERSION_MAJOR < 56)
#endif
#ifndef FF_API_OLD_TIMECODE
#define FF_API_OLD_TIMECODE (LIBAVCODEC_VERSION_MAJOR < 54)
#define FF_API_OLD_TIMECODE (LIBAVCODEC_VERSION_MAJOR < 55)
#endif
#ifndef FF_API_AVFRAME_AGE
#define FF_API_AVFRAME_AGE (LIBAVCODEC_VERSION_MAJOR < 54)
#endif
#ifndef FF_API_OLD_ENCODE_AUDIO
#define FF_API_OLD_ENCODE_AUDIO (LIBAVCODEC_VERSION_MAJOR < 55)
#define FF_API_OLD_ENCODE_AUDIO (LIBAVCODEC_VERSION_MAJOR < 56)
#endif
#ifndef FF_API_OLD_ENCODE_VIDEO
#define FF_API_OLD_ENCODE_VIDEO (LIBAVCODEC_VERSION_MAJOR < 56)
#endif
#ifndef FF_API_CODEC_ID
#define FF_API_CODEC_ID (LIBAVCODEC_VERSION_MAJOR < 56)
#endif
#ifndef FF_API_AVCODEC_RESAMPLE
#define FF_API_AVCODEC_RESAMPLE (LIBAVCODEC_VERSION_MAJOR < 56)
#endif
#ifndef FF_API_DEINTERLACE
#define FF_API_DEINTERLACE (LIBAVCODEC_VERSION_MAJOR < 56)
#endif
#ifndef FF_API_DESTRUCT_PACKET
#define FF_API_DESTRUCT_PACKET (LIBAVCODEC_VERSION_MAJOR < 56)
#endif
#ifndef FF_API_GET_BUFFER
#define FF_API_GET_BUFFER (LIBAVCODEC_VERSION_MAJOR < 56)
#endif
#ifndef FF_API_MISSING_SAMPLE
#define FF_API_MISSING_SAMPLE (LIBAVCODEC_VERSION_MAJOR < 56)
#endif
#ifndef FF_API_LOWRES
#define FF_API_LOWRES (LIBAVCODEC_VERSION_MAJOR < 56)
#endif
#endif /* AVCODEC_VERSION_H */
+18 -1
Ver Arquivo
@@ -21,10 +21,23 @@
#ifndef AVCODEC_XVMC_H
#define AVCODEC_XVMC_H
/**
* @file
* @ingroup lavc_codec_hwaccel_xvmc
* Public libavcodec XvMC header.
*/
#include <X11/extensions/XvMC.h>
#include "avcodec.h"
/**
* @defgroup lavc_codec_hwaccel_xvmc XvMC
* @ingroup lavc_codec_hwaccel
*
* @{
*/
#define AV_XVMC_ID 0x1DC711C0 /**< special value to ensure that regular pixel routines haven't corrupted the struct
the number is 1337 speak for the letters IDCT MCo (motion compensation) */
@@ -134,7 +147,7 @@ struct xvmc_pix_fmt {
*/
int filled_mv_blocks_num;
/** Number of the the next free data block; one data block consists of
/** Number of the next free data block; one data block consists of
64 short values in the data_blocks array.
All blocks before this one have already been claimed by placing their
position into the corresponding block description structure field,
@@ -148,4 +161,8 @@ struct xvmc_pix_fmt {
int next_free_data_block_num;
};
/**
* @}
*/
#endif /* AVCODEC_XVMC_H */
+3 -15
Ver Arquivo
@@ -19,6 +19,8 @@
#ifndef AVDEVICE_AVDEVICE_H
#define AVDEVICE_AVDEVICE_H
#include "version.h"
/**
* @file
* @ingroup lavd
@@ -34,28 +36,15 @@
* (de)muxers in libavdevice are of the AVFMT_NOFILE type (they use their own
* I/O functions). The filename passed to avformat_open_input() often does not
* refer to an actually existing file, but has some special device-specific
* meaning - e.g. for the x11grab device it is the display name.
* meaning - e.g. for x11grab it is the display name.
*
* To use libavdevice, simply call avdevice_register_all() to register all
* compiled muxers and demuxers. They all use standard libavformat API.
* @}
*/
#include "libavutil/avutil.h"
#include "libavformat/avformat.h"
#define LIBAVDEVICE_VERSION_MAJOR 53
#define LIBAVDEVICE_VERSION_MINOR 4
#define LIBAVDEVICE_VERSION_MICRO 100
#define LIBAVDEVICE_VERSION_INT AV_VERSION_INT(LIBAVDEVICE_VERSION_MAJOR, \
LIBAVDEVICE_VERSION_MINOR, \
LIBAVDEVICE_VERSION_MICRO)
#define LIBAVDEVICE_VERSION AV_VERSION(LIBAVDEVICE_VERSION_MAJOR, \
LIBAVDEVICE_VERSION_MINOR, \
LIBAVDEVICE_VERSION_MICRO)
#define LIBAVDEVICE_BUILD LIBAVDEVICE_VERSION_INT
/**
* Return the LIBAVDEVICE_VERSION_INT constant.
*/
@@ -78,4 +67,3 @@ const char *avdevice_license(void);
void avdevice_register_all(void);
#endif /* AVDEVICE_AVDEVICE_H */
+50
Ver Arquivo
@@ -0,0 +1,50 @@
/*
* This file is part of FFmpeg.
*
* FFmpeg is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* FFmpeg is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with FFmpeg; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#ifndef AVDEVICE_VERSION_H
#define AVDEVICE_VERSION_H
/**
* @file
* @ingroup lavd
* Libavdevice version macros
*/
#include "libavutil/avutil.h"
#define LIBAVDEVICE_VERSION_MAJOR 55
#define LIBAVDEVICE_VERSION_MINOR 3
#define LIBAVDEVICE_VERSION_MICRO 100
#define LIBAVDEVICE_VERSION_INT AV_VERSION_INT(LIBAVDEVICE_VERSION_MAJOR, \
LIBAVDEVICE_VERSION_MINOR, \
LIBAVDEVICE_VERSION_MICRO)
#define LIBAVDEVICE_VERSION AV_VERSION(LIBAVDEVICE_VERSION_MAJOR, \
LIBAVDEVICE_VERSION_MINOR, \
LIBAVDEVICE_VERSION_MICRO)
#define LIBAVDEVICE_BUILD LIBAVDEVICE_VERSION_INT
#define LIBAVDEVICE_IDENT "Lavd" AV_STRINGIFY(LIBAVDEVICE_VERSION)
/**
* FF_API_* defines may be placed below to indicate public API that will be
* dropped at a future version bump. The defines themselves are not part of
* the public API and may change, break or disappear at any time.
*/
#endif /* AVDEVICE_VERSION_H */
Diferenças do arquivo suprimidas por serem muito extensas Carregar Diff
+64 -278
Ver Arquivo
@@ -48,7 +48,7 @@
* new elements have been added after this struct in AVFormatContext
* or AVIOContext.
*/
typedef struct {
typedef struct AVIOInterruptCB {
int (*callback)(void*);
void *opaque;
} AVIOInterruptCB;
@@ -65,8 +65,7 @@ typedef struct {
* when implementing custom I/O. Normally these are set to the
* function pointers specified in avio_alloc_context()
*/
typedef struct {
#if !FF_API_OLD_AVIO
typedef struct AVIOContext {
/**
* A class for private options.
*
@@ -79,8 +78,7 @@ typedef struct {
* warning -- this field can be NULL, be sure to not pass this AVIOContext
* to any av_opt_* functions in that case.
*/
AVClass *av_class;
#endif
const AVClass *av_class;
unsigned char *buffer; /**< Start of the buffer. */
int buffer_size; /**< Maximum buffer size */
unsigned char *buf_ptr; /**< Current position in the buffer */
@@ -97,9 +95,6 @@ typedef struct {
int must_flush; /**< true if the next seek should flush */
int eof_reached; /**< true if eof reached */
int write_flag; /**< true if open for writing */
#if FF_API_OLD_AVIO
attribute_deprecated int is_streamed;
#endif
int max_packet_size;
unsigned long checksum;
unsigned char *checksum_ptr;
@@ -125,264 +120,36 @@ typedef struct {
* max filesize, used to limit allocations
* This field is internal to libavformat and access from outside is not allowed.
*/
int64_t maxsize;
int64_t maxsize;
/**
* avio_read and avio_write should if possible be satisfied directly
* instead of going through a buffer, and avio_seek will always
* call the underlying seek function directly.
*/
int direct;
/**
* Bytes read statistic
* This field is internal to libavformat and access from outside is not allowed.
*/
int64_t bytes_read;
/**
* seek statistic
* This field is internal to libavformat and access from outside is not allowed.
*/
int seek_count;
/**
* writeout statistic
* This field is internal to libavformat and access from outside is not allowed.
*/
int writeout_count;
} AVIOContext;
/* unbuffered I/O */
#if FF_API_OLD_AVIO
/**
* URL Context.
* New fields can be added to the end with minor version bumps.
* Removal, reordering and changes to existing fields require a major
* version bump.
* sizeof(URLContext) must not be used outside libav*.
* @deprecated This struct will be made private
*/
typedef struct URLContext {
const AVClass *av_class; ///< information for av_log(). Set by url_open().
struct URLProtocol *prot;
int flags;
int is_streamed; /**< true if streamed (no seek possible), default = false */
int max_packet_size; /**< if non zero, the stream is packetized with this max packet size */
void *priv_data;
char *filename; /**< specified URL */
int is_connected;
AVIOInterruptCB interrupt_callback;
} URLContext;
#define URL_PROTOCOL_FLAG_NESTED_SCHEME 1 /*< The protocol name can be the first part of a nested protocol scheme */
#define URL_PROTOCOL_FLAG_NETWORK 2 /*< The protocol uses network */
/**
* @deprecated This struct is to be made private. Use the higher-level
* AVIOContext-based API instead.
*/
typedef struct URLProtocol {
const char *name;
int (*url_open)(URLContext *h, const char *url, int flags);
int (*url_read)(URLContext *h, unsigned char *buf, int size);
int (*url_write)(URLContext *h, const unsigned char *buf, int size);
int64_t (*url_seek)(URLContext *h, int64_t pos, int whence);
int (*url_close)(URLContext *h);
struct URLProtocol *next;
int (*url_read_pause)(URLContext *h, int pause);
int64_t (*url_read_seek)(URLContext *h, int stream_index,
int64_t timestamp, int flags);
int (*url_get_file_handle)(URLContext *h);
int priv_data_size;
const AVClass *priv_data_class;
int flags;
int (*url_check)(URLContext *h, int mask);
} URLProtocol;
typedef struct URLPollEntry {
URLContext *handle;
int events;
int revents;
} URLPollEntry;
/* not implemented */
attribute_deprecated int url_poll(URLPollEntry *poll_table, int n, int timeout);
/**
* @name URL open modes
* The flags argument to url_open and cosins must be one of the following
* constants, optionally ORed with other flags.
* @{
*/
#define URL_RDONLY 1 /**< read-only */
#define URL_WRONLY 2 /**< write-only */
#define URL_RDWR (URL_RDONLY|URL_WRONLY) /**< read-write */
/**
* @}
*/
/**
* Use non-blocking mode.
* If this flag is set, operations on the context will return
* AVERROR(EAGAIN) if they can not be performed immediately.
* If this flag is not set, operations on the context will never return
* AVERROR(EAGAIN).
* Note that this flag does not affect the opening/connecting of the
* context. Connecting a protocol will always block if necessary (e.g. on
* network protocols) but never hang (e.g. on busy devices).
* Warning: non-blocking protocols is work-in-progress; this flag may be
* silently ignored.
*/
#define URL_FLAG_NONBLOCK 8
typedef int URLInterruptCB(void);
extern URLInterruptCB *url_interrupt_cb;
/**
* @defgroup old_url_funcs Old url_* functions
* The following functions are deprecated. Use the buffered API based on #AVIOContext instead.
* @{
* @ingroup lavf_io
*/
attribute_deprecated int url_open_protocol (URLContext **puc, struct URLProtocol *up,
const char *url, int flags);
attribute_deprecated int url_alloc(URLContext **h, const char *url, int flags);
attribute_deprecated int url_connect(URLContext *h);
attribute_deprecated int url_open(URLContext **h, const char *url, int flags);
attribute_deprecated int url_read(URLContext *h, unsigned char *buf, int size);
attribute_deprecated int url_read_complete(URLContext *h, unsigned char *buf, int size);
attribute_deprecated int url_write(URLContext *h, const unsigned char *buf, int size);
attribute_deprecated int64_t url_seek(URLContext *h, int64_t pos, int whence);
attribute_deprecated int url_close(URLContext *h);
attribute_deprecated int64_t url_filesize(URLContext *h);
attribute_deprecated int url_get_file_handle(URLContext *h);
attribute_deprecated int url_get_max_packet_size(URLContext *h);
attribute_deprecated void url_get_filename(URLContext *h, char *buf, int buf_size);
attribute_deprecated int av_url_read_pause(URLContext *h, int pause);
attribute_deprecated int64_t av_url_read_seek(URLContext *h, int stream_index,
int64_t timestamp, int flags);
attribute_deprecated void url_set_interrupt_cb(int (*interrupt_cb)(void));
/**
* returns the next registered protocol after the given protocol (the first if
* NULL is given), or NULL if protocol is the last one.
*/
URLProtocol *av_protocol_next(URLProtocol *p);
/**
* Register the URLProtocol protocol.
*
* @param size the size of the URLProtocol struct referenced
*/
attribute_deprecated int av_register_protocol2(URLProtocol *protocol, int size);
/**
* @}
*/
typedef attribute_deprecated AVIOContext ByteIOContext;
attribute_deprecated int init_put_byte(AVIOContext *s,
unsigned char *buffer,
int buffer_size,
int write_flag,
void *opaque,
int (*read_packet)(void *opaque, uint8_t *buf, int buf_size),
int (*write_packet)(void *opaque, uint8_t *buf, int buf_size),
int64_t (*seek)(void *opaque, int64_t offset, int whence));
attribute_deprecated AVIOContext *av_alloc_put_byte(
unsigned char *buffer,
int buffer_size,
int write_flag,
void *opaque,
int (*read_packet)(void *opaque, uint8_t *buf, int buf_size),
int (*write_packet)(void *opaque, uint8_t *buf, int buf_size),
int64_t (*seek)(void *opaque, int64_t offset, int whence));
/**
* @defgroup old_avio_funcs Old put_/get_*() functions
* The following functions are deprecated. Use the "avio_"-prefixed functions instead.
* @{
* @ingroup lavf_io
*/
attribute_deprecated int get_buffer(AVIOContext *s, unsigned char *buf, int size);
attribute_deprecated int get_partial_buffer(AVIOContext *s, unsigned char *buf, int size);
attribute_deprecated int get_byte(AVIOContext *s);
attribute_deprecated unsigned int get_le16(AVIOContext *s);
attribute_deprecated unsigned int get_le24(AVIOContext *s);
attribute_deprecated unsigned int get_le32(AVIOContext *s);
attribute_deprecated uint64_t get_le64(AVIOContext *s);
attribute_deprecated unsigned int get_be16(AVIOContext *s);
attribute_deprecated unsigned int get_be24(AVIOContext *s);
attribute_deprecated unsigned int get_be32(AVIOContext *s);
attribute_deprecated uint64_t get_be64(AVIOContext *s);
attribute_deprecated void put_byte(AVIOContext *s, int b);
attribute_deprecated void put_nbyte(AVIOContext *s, int b, int count);
attribute_deprecated void put_buffer(AVIOContext *s, const unsigned char *buf, int size);
attribute_deprecated void put_le64(AVIOContext *s, uint64_t val);
attribute_deprecated void put_be64(AVIOContext *s, uint64_t val);
attribute_deprecated void put_le32(AVIOContext *s, unsigned int val);
attribute_deprecated void put_be32(AVIOContext *s, unsigned int val);
attribute_deprecated void put_le24(AVIOContext *s, unsigned int val);
attribute_deprecated void put_be24(AVIOContext *s, unsigned int val);
attribute_deprecated void put_le16(AVIOContext *s, unsigned int val);
attribute_deprecated void put_be16(AVIOContext *s, unsigned int val);
attribute_deprecated void put_tag(AVIOContext *s, const char *tag);
/**
* @}
*/
attribute_deprecated int av_url_read_fpause(AVIOContext *h, int pause);
attribute_deprecated int64_t av_url_read_fseek (AVIOContext *h, int stream_index,
int64_t timestamp, int flags);
/**
* @defgroup old_url_f_funcs Old url_f* functions
* The following functions are deprecated, use the "avio_"-prefixed functions instead.
* @{
* @ingroup lavf_io
*/
attribute_deprecated int url_fopen( AVIOContext **s, const char *url, int flags);
attribute_deprecated int url_fclose(AVIOContext *s);
attribute_deprecated int64_t url_fseek(AVIOContext *s, int64_t offset, int whence);
attribute_deprecated int url_fskip(AVIOContext *s, int64_t offset);
attribute_deprecated int64_t url_ftell(AVIOContext *s);
attribute_deprecated int64_t url_fsize(AVIOContext *s);
#define URL_EOF (-1)
attribute_deprecated int url_fgetc(AVIOContext *s);
attribute_deprecated int url_setbufsize(AVIOContext *s, int buf_size);
attribute_deprecated int url_fprintf(AVIOContext *s, const char *fmt, ...) av_printf_format(2, 3);
attribute_deprecated void put_flush_packet(AVIOContext *s);
attribute_deprecated int url_open_dyn_buf(AVIOContext **s);
attribute_deprecated int url_open_dyn_packet_buf(AVIOContext **s, int max_packet_size);
attribute_deprecated int url_close_dyn_buf(AVIOContext *s, uint8_t **pbuffer);
attribute_deprecated int url_fdopen(AVIOContext **s, URLContext *h);
/**
* @}
*/
attribute_deprecated int url_ferror(AVIOContext *s);
attribute_deprecated int udp_set_remote_url(URLContext *h, const char *uri);
attribute_deprecated int udp_get_local_port(URLContext *h);
attribute_deprecated void init_checksum(AVIOContext *s,
unsigned long (*update_checksum)(unsigned long c, const uint8_t *p, unsigned int len),
unsigned long checksum);
attribute_deprecated unsigned long get_checksum(AVIOContext *s);
attribute_deprecated void put_strz(AVIOContext *s, const char *buf);
/** @note unlike fgets, the EOL character is not returned and a whole
line is parsed. return NULL if first char read was EOF */
attribute_deprecated char *url_fgets(AVIOContext *s, char *buf, int buf_size);
/**
* @deprecated use avio_get_str instead
*/
attribute_deprecated char *get_strz(AVIOContext *s, char *buf, int maxlen);
/**
* @deprecated Use AVIOContext.seekable field directly.
*/
attribute_deprecated static inline int url_is_streamed(AVIOContext *s)
{
return !s->seekable;
}
attribute_deprecated URLContext *url_fileno(AVIOContext *s);
/**
* @deprecated use AVIOContext.max_packet_size directly.
*/
attribute_deprecated int url_fget_max_packet_size(AVIOContext *s);
attribute_deprecated int url_open_buf(AVIOContext **s, uint8_t *buf, int buf_size, int flags);
/** return the written or read size */
attribute_deprecated int url_close_buf(AVIOContext *s);
/**
* Return a non-zero value if the resource indicated by url
* exists, 0 otherwise.
* @deprecated Use avio_check instead.
*/
attribute_deprecated int url_exist(const char *url);
#endif // FF_API_OLD_AVIO
/**
* Return AVIO_FLAG_* access flags corresponding to the access permissions
* of the resource in url, or a negative value corresponding to an
@@ -397,18 +164,6 @@ attribute_deprecated int url_exist(const char *url);
*/
int avio_check(const char *url, int flags);
#if FF_API_OLD_INTERRUPT_CB
/**
* The callback is called in blocking functions to test regulary if
* asynchronous interruption is needed. AVERROR_EXIT is returned
* in this case by the interrupted function. 'NULL' means no interrupt
* callback is given.
* @deprecated Use interrupt_callback in AVFormatContext/avio_open2
* instead.
*/
attribute_deprecated void avio_set_interrupt_cb(int (*interrupt_cb)(void));
#endif
/**
* Allocate and initialize an AVIOContext for buffered I/O. It must be later
* freed with av_free().
@@ -422,6 +177,7 @@ attribute_deprecated void avio_set_interrupt_cb(int (*interrupt_cb)(void));
* @param opaque An opaque pointer to user-specific data.
* @param read_packet A function for refilling the buffer, may be NULL.
* @param write_packet A function for writing the buffer contents, may be NULL.
* The function may not change the input buffers content.
* @param seek A function for seeking to specified byte position, may be NULL.
*
* @return Allocated AVIOContext or NULL on failure.
@@ -467,8 +223,8 @@ int avio_put_str16le(AVIOContext *s, const char *str);
/**
* Oring this flag as into the "whence" parameter to a seek function causes it to
* seek by any means (like reopening and linear reading) or other normally unreasonble
* means that can be extreemly slow.
* seek by any means (like reopening and linear reading) or other normally unreasonable
* means that can be extremely slow.
* This may be ignored by the seek code.
*/
#define AVSEEK_FORCE 0x20000
@@ -509,9 +265,14 @@ int url_feof(AVIOContext *s);
/** @warning currently size is limited */
int avio_printf(AVIOContext *s, const char *fmt, ...) av_printf_format(2, 3);
/**
* Force flushing of buffered data to the output s.
*
* Force the buffered data to be immediately written to the output,
* without to wait to fill the internal buffer.
*/
void avio_flush(AVIOContext *s);
/**
* Read size bytes from AVIOContext into buf.
* @return number of bytes read or AVERROR
@@ -589,6 +350,14 @@ int avio_get_str16be(AVIOContext *pb, int maxlen, char *buf, int buflen);
*/
#define AVIO_FLAG_NONBLOCK 8
/**
* Use direct mode.
* avio_read and avio_write should if possible be satisfied directly
* instead of going through a buffer, and avio_seek will always
* call the underlying seek function directly.
*/
#define AVIO_FLAG_DIRECT 0x8000
/**
* Create and initialize a AVIOContext for accessing the
* resource indicated by url.
@@ -628,10 +397,28 @@ int avio_open2(AVIOContext **s, const char *url, int flags,
* Close the resource accessed by the AVIOContext s and free it.
* This function can only be used if s was opened by avio_open().
*
* The internal buffer is automatically flushed before closing the
* resource.
*
* @return 0 on success, an AVERROR < 0 on error.
* @see avio_closep
*/
int avio_close(AVIOContext *s);
/**
* Close the resource accessed by the AVIOContext *s, free it
* and set the pointer pointing to it to NULL.
* This function can only be used if s was opened by avio_open().
*
* The internal buffer is automatically flushed before closing the
* resource.
*
* @return 0 on success, an AVERROR < 0 on error.
* @see avio_close
*/
int avio_closep(AVIOContext **s);
/**
* Open a write only memory stream.
*
@@ -653,7 +440,6 @@ int avio_close_dyn_buf(AVIOContext *s, uint8_t **pbuffer);
/**
* Iterate through names of available protocols.
* @note it is recommanded to use av_protocol_next() instead of this
*
* @param opaque A private pointer representing current protocol.
* It must be a pointer to NULL on first iteration and will
+21 -68
Ver Arquivo
@@ -29,8 +29,8 @@
#include "libavutil/avutil.h"
#define LIBAVFORMAT_VERSION_MAJOR 53
#define LIBAVFORMAT_VERSION_MINOR 32
#define LIBAVFORMAT_VERSION_MAJOR 55
#define LIBAVFORMAT_VERSION_MINOR 12
#define LIBAVFORMAT_VERSION_MICRO 100
#define LIBAVFORMAT_VERSION_INT AV_VERSION_INT(LIBAVFORMAT_VERSION_MAJOR, \
@@ -44,86 +44,39 @@
#define LIBAVFORMAT_IDENT "Lavf" AV_STRINGIFY(LIBAVFORMAT_VERSION)
/**
* Those FF_API_* defines are not part of public API.
* They may change, break or disappear at any time.
* FF_API_* defines may be placed below to indicate public API that will be
* dropped at a future version bump. The defines themselves are not part of
* the public API and may change, break or disappear at any time.
*/
#ifndef FF_API_OLD_METADATA2
#define FF_API_OLD_METADATA2 (LIBAVFORMAT_VERSION_MAJOR < 54)
#endif
#ifndef FF_API_OLD_AVIO
#define FF_API_OLD_AVIO (LIBAVFORMAT_VERSION_MAJOR < 54)
#endif
#ifndef FF_API_DUMP_FORMAT
#define FF_API_DUMP_FORMAT (LIBAVFORMAT_VERSION_MAJOR < 54)
#endif
#ifndef FF_API_PARSE_DATE
#define FF_API_PARSE_DATE (LIBAVFORMAT_VERSION_MAJOR < 54)
#endif
#ifndef FF_API_FIND_INFO_TAG
#define FF_API_FIND_INFO_TAG (LIBAVFORMAT_VERSION_MAJOR < 54)
#define FF_API_OLD_AVIO (LIBAVFORMAT_VERSION_MAJOR < 55)
#endif
#ifndef FF_API_PKT_DUMP
#define FF_API_PKT_DUMP (LIBAVFORMAT_VERSION_MAJOR < 54)
#endif
#ifndef FF_API_GUESS_IMG2_CODEC
#define FF_API_GUESS_IMG2_CODEC (LIBAVFORMAT_VERSION_MAJOR < 54)
#endif
#ifndef FF_API_SDP_CREATE
#define FF_API_SDP_CREATE (LIBAVFORMAT_VERSION_MAJOR < 54)
#endif
#ifndef FF_API_ALLOC_OUTPUT_CONTEXT
#define FF_API_ALLOC_OUTPUT_CONTEXT (LIBAVFORMAT_VERSION_MAJOR < 54)
#define FF_API_ALLOC_OUTPUT_CONTEXT (LIBAVFORMAT_VERSION_MAJOR < 56)
#endif
#ifndef FF_API_FORMAT_PARAMETERS
#define FF_API_FORMAT_PARAMETERS (LIBAVFORMAT_VERSION_MAJOR < 54)
#endif
#ifndef FF_API_FLAG_RTP_HINT
#define FF_API_FLAG_RTP_HINT (LIBAVFORMAT_VERSION_MAJOR < 54)
#endif
#ifndef FF_API_AVSTREAM_QUALITY
#define FF_API_AVSTREAM_QUALITY (LIBAVFORMAT_VERSION_MAJOR < 54)
#endif
#ifndef FF_API_LOOP_INPUT
#define FF_API_LOOP_INPUT (LIBAVFORMAT_VERSION_MAJOR < 54)
#endif
#ifndef FF_API_LOOP_OUTPUT
#define FF_API_LOOP_OUTPUT (LIBAVFORMAT_VERSION_MAJOR < 54)
#endif
#ifndef FF_API_TIMESTAMP
#define FF_API_TIMESTAMP (LIBAVFORMAT_VERSION_MAJOR < 54)
#endif
#ifndef FF_API_FILESIZE
#define FF_API_FILESIZE (LIBAVFORMAT_VERSION_MAJOR < 54)
#endif
#ifndef FF_API_MUXRATE
#define FF_API_MUXRATE (LIBAVFORMAT_VERSION_MAJOR < 54)
#endif
#ifndef FF_API_RTSP_URL_OPTIONS
#define FF_API_RTSP_URL_OPTIONS (LIBAVFORMAT_VERSION_MAJOR < 54)
#define FF_API_FORMAT_PARAMETERS (LIBAVFORMAT_VERSION_MAJOR < 56)
#endif
#ifndef FF_API_NEW_STREAM
#define FF_API_NEW_STREAM (LIBAVFORMAT_VERSION_MAJOR < 54)
#endif
#ifndef FF_API_PRELOAD
#define FF_API_PRELOAD (LIBAVFORMAT_VERSION_MAJOR < 54)
#endif
#ifndef FF_API_STREAM_COPY
#define FF_API_STREAM_COPY (LIBAVFORMAT_VERSION_MAJOR < 54)
#endif
#ifndef FF_API_SEEK_PUBLIC
#define FF_API_SEEK_PUBLIC (LIBAVFORMAT_VERSION_MAJOR < 54)
#endif
#ifndef FF_API_REORDER_PRIVATE
#define FF_API_REORDER_PRIVATE (LIBAVFORMAT_VERSION_MAJOR < 54)
#endif
#ifndef FF_API_OLD_INTERRUPT_CB
#define FF_API_OLD_INTERRUPT_CB (LIBAVFORMAT_VERSION_MAJOR < 54)
#define FF_API_NEW_STREAM (LIBAVFORMAT_VERSION_MAJOR < 56)
#endif
#ifndef FF_API_SET_PTS_INFO
#define FF_API_SET_PTS_INFO (LIBAVFORMAT_VERSION_MAJOR < 54)
#define FF_API_SET_PTS_INFO (LIBAVFORMAT_VERSION_MAJOR < 56)
#endif
#ifndef FF_API_CLOSE_INPUT_FILE
#define FF_API_CLOSE_INPUT_FILE (LIBAVFORMAT_VERSION_MAJOR < 55)
#define FF_API_CLOSE_INPUT_FILE (LIBAVFORMAT_VERSION_MAJOR < 56)
#endif
#ifndef FF_API_READ_PACKET
#define FF_API_READ_PACKET (LIBAVFORMAT_VERSION_MAJOR < 56)
#endif
#ifndef FF_API_ASS_SSA
#define FF_API_ASS_SSA (LIBAVFORMAT_VERSION_MAJOR < 56)
#endif
#ifndef FF_API_R_FRAME_RATE
#define FF_API_R_FRAME_RATE 1
#endif
#endif /* AVFORMAT_VERSION_H */
+9
Ver Arquivo
@@ -25,7 +25,12 @@
#include "attributes.h"
/**
* @defgroup lavu_adler32 Adler32
* @ingroup lavu_crypto
* @{
*/
/**
* Calculate the Adler32 checksum of a buffer.
*
* Passing the return value to a subsequent av_adler32_update() call
@@ -40,4 +45,8 @@
unsigned long av_adler32_update(unsigned long adler, const uint8_t *buf,
unsigned int len) av_pure;
/**
* @}
*/
#endif /* AVUTIL_ADLER32_H */
+8
Ver Arquivo
@@ -23,6 +23,9 @@
#include <stdint.h>
#include "attributes.h"
#include "version.h"
/**
* @defgroup lavu_aes AES
* @ingroup lavu_crypto
@@ -33,6 +36,11 @@ extern const int av_aes_size;
struct AVAES;
/**
* Allocate an AVAES context.
*/
struct AVAES *av_aes_alloc(void);
/**
* Initialize an AVAES context.
* @param key_bits 128, 192 or 256
+16 -24
Ver Arquivo
@@ -35,66 +35,60 @@
#ifndef av_always_inline
#if AV_GCC_VERSION_AT_LEAST(3,1)
# define av_always_inline __attribute__((always_inline)) inline
#elif defined(_MSC_VER)
# define av_always_inline __forceinline
#else
# define av_always_inline inline
#endif
#endif
#ifndef av_noreturn
#if AV_GCC_VERSION_AT_LEAST(2,5)
# define av_noreturn __attribute__((noreturn))
#ifndef av_extern_inline
#if defined(__ICL) && __ICL >= 1210 || defined(__GNUC_STDC_INLINE__)
# define av_extern_inline extern inline
#else
# define av_noreturn
# define av_extern_inline inline
#endif
#endif
#ifndef av_noinline
#if AV_GCC_VERSION_AT_LEAST(3,1)
# define av_noinline __attribute__((noinline))
#else
# define av_noinline
#endif
#endif
#ifndef av_pure
#if AV_GCC_VERSION_AT_LEAST(3,1)
# define av_pure __attribute__((pure))
#else
# define av_pure
#endif
#ifndef av_restrict
#define av_restrict restrict
#endif
#ifndef av_const
#if AV_GCC_VERSION_AT_LEAST(2,6)
# define av_const __attribute__((const))
#else
# define av_const
#endif
#endif
#ifndef av_cold
#if AV_GCC_VERSION_AT_LEAST(4,3)
# define av_cold __attribute__((cold))
#else
# define av_cold
#endif
#endif
#ifndef av_flatten
#if AV_GCC_VERSION_AT_LEAST(4,1)
# define av_flatten __attribute__((flatten))
#else
# define av_flatten
#endif
#endif
#ifndef attribute_deprecated
#if AV_GCC_VERSION_AT_LEAST(3,1)
# define attribute_deprecated __attribute__((deprecated))
#else
# define attribute_deprecated
#endif
#endif
/**
* Disable warnings about deprecated features
@@ -114,42 +108,34 @@
#endif
#ifndef av_unused
#if defined(__GNUC__)
# define av_unused __attribute__((unused))
#else
# define av_unused
#endif
#endif
/**
* Mark a variable as used and prevent the compiler from optimizing it
* away. This is useful for variables accessed only from inline
* assembler without the compiler being aware.
*/
#ifndef av_used
#if AV_GCC_VERSION_AT_LEAST(3,1)
# define av_used __attribute__((used))
#else
# define av_used
#endif
#endif
#ifndef av_alias
#if AV_GCC_VERSION_AT_LEAST(3,3)
# define av_alias __attribute__((may_alias))
#else
# define av_alias
#endif
#endif
#ifndef av_uninit
#if defined(__GNUC__) && !defined(__INTEL_COMPILER)
#if defined(__GNUC__) && !defined(__INTEL_COMPILER) && !defined(__clang__)
# define av_uninit(x) x=x
#else
# define av_uninit(x) x
#endif
#endif
#ifdef __GNUC__
# define av_builtin_constant_p __builtin_constant_p
@@ -159,4 +145,10 @@
# define av_printf_format(fmtpos, attrpos)
#endif
#if AV_GCC_VERSION_AT_LEAST(2,5)
# define av_noreturn __attribute__((noreturn))
#else
# define av_noreturn
#endif
#endif /* AVUTIL_ATTRIBUTES_H */
+149
Ver Arquivo
@@ -0,0 +1,149 @@
/*
* Audio FIFO
* Copyright (c) 2012 Justin Ruggles <justin.ruggles@gmail.com>
*
* This file is part of Libav.
*
* Libav is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* Libav is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with Libav; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/**
* @file
* Audio FIFO Buffer
*/
#ifndef AVUTIL_AUDIO_FIFO_H
#define AVUTIL_AUDIO_FIFO_H
#include "avutil.h"
#include "fifo.h"
#include "samplefmt.h"
/**
* @addtogroup lavu_audio
* @{
*/
/**
* Context for an Audio FIFO Buffer.
*
* - Operates at the sample level rather than the byte level.
* - Supports multiple channels with either planar or packed sample format.
* - Automatic reallocation when writing to a full buffer.
*/
typedef struct AVAudioFifo AVAudioFifo;
/**
* Free an AVAudioFifo.
*
* @param af AVAudioFifo to free
*/
void av_audio_fifo_free(AVAudioFifo *af);
/**
* Allocate an AVAudioFifo.
*
* @param sample_fmt sample format
* @param channels number of channels
* @param nb_samples initial allocation size, in samples
* @return newly allocated AVAudioFifo, or NULL on error
*/
AVAudioFifo *av_audio_fifo_alloc(enum AVSampleFormat sample_fmt, int channels,
int nb_samples);
/**
* Reallocate an AVAudioFifo.
*
* @param af AVAudioFifo to reallocate
* @param nb_samples new allocation size, in samples
* @return 0 if OK, or negative AVERROR code on failure
*/
int av_audio_fifo_realloc(AVAudioFifo *af, int nb_samples);
/**
* Write data to an AVAudioFifo.
*
* The AVAudioFifo will be reallocated automatically if the available space
* is less than nb_samples.
*
* @see enum AVSampleFormat
* The documentation for AVSampleFormat describes the data layout.
*
* @param af AVAudioFifo to write to
* @param data audio data plane pointers
* @param nb_samples number of samples to write
* @return number of samples actually written, or negative AVERROR
* code on failure. If successful, the number of samples
* actually written will always be nb_samples.
*/
int av_audio_fifo_write(AVAudioFifo *af, void **data, int nb_samples);
/**
* Read data from an AVAudioFifo.
*
* @see enum AVSampleFormat
* The documentation for AVSampleFormat describes the data layout.
*
* @param af AVAudioFifo to read from
* @param data audio data plane pointers
* @param nb_samples number of samples to read
* @return number of samples actually read, or negative AVERROR code
* on failure. The number of samples actually read will not
* be greater than nb_samples, and will only be less than
* nb_samples if av_audio_fifo_size is less than nb_samples.
*/
int av_audio_fifo_read(AVAudioFifo *af, void **data, int nb_samples);
/**
* Drain data from an AVAudioFifo.
*
* Removes the data without reading it.
*
* @param af AVAudioFifo to drain
* @param nb_samples number of samples to drain
* @return 0 if OK, or negative AVERROR code on failure
*/
int av_audio_fifo_drain(AVAudioFifo *af, int nb_samples);
/**
* Reset the AVAudioFifo buffer.
*
* This empties all data in the buffer.
*
* @param af AVAudioFifo to reset
*/
void av_audio_fifo_reset(AVAudioFifo *af);
/**
* Get the current number of samples in the AVAudioFifo available for reading.
*
* @param af the AVAudioFifo to query
* @return number of samples available for reading
*/
int av_audio_fifo_size(AVAudioFifo *af);
/**
* Get the current number of samples in the AVAudioFifo available for writing.
*
* @param af the AVAudioFifo to query
* @return number of samples available for writing
*/
int av_audio_fifo_space(AVAudioFifo *af);
/**
* @}
*/
#endif /* AVUTIL_AUDIO_FIFO_H */
+4 -145
Ver Arquivo
@@ -1,147 +1,6 @@
/*
* Copyright (c) 2006 Michael Niedermayer <michaelni@gmx.at>
* Copyright (c) 2008 Peter Ross
*
* This file is part of FFmpeg.
*
* FFmpeg is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* FFmpeg is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with FFmpeg; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#ifndef AVUTIL_AUDIOCONVERT_H
#define AVUTIL_AUDIOCONVERT_H
#include "version.h"
#include <stdint.h>
/**
* @file
* audio conversion routines
*/
/**
* @addtogroup lavu_audio
* @{
*/
/**
* @defgroup channel_masks Audio channel masks
* @{
*/
#define AV_CH_FRONT_LEFT 0x00000001
#define AV_CH_FRONT_RIGHT 0x00000002
#define AV_CH_FRONT_CENTER 0x00000004
#define AV_CH_LOW_FREQUENCY 0x00000008
#define AV_CH_BACK_LEFT 0x00000010
#define AV_CH_BACK_RIGHT 0x00000020
#define AV_CH_FRONT_LEFT_OF_CENTER 0x00000040
#define AV_CH_FRONT_RIGHT_OF_CENTER 0x00000080
#define AV_CH_BACK_CENTER 0x00000100
#define AV_CH_SIDE_LEFT 0x00000200
#define AV_CH_SIDE_RIGHT 0x00000400
#define AV_CH_TOP_CENTER 0x00000800
#define AV_CH_TOP_FRONT_LEFT 0x00001000
#define AV_CH_TOP_FRONT_CENTER 0x00002000
#define AV_CH_TOP_FRONT_RIGHT 0x00004000
#define AV_CH_TOP_BACK_LEFT 0x00008000
#define AV_CH_TOP_BACK_CENTER 0x00010000
#define AV_CH_TOP_BACK_RIGHT 0x00020000
#define AV_CH_STEREO_LEFT 0x20000000 ///< Stereo downmix.
#define AV_CH_STEREO_RIGHT 0x40000000 ///< See AV_CH_STEREO_LEFT.
#define AV_CH_WIDE_LEFT 0x0000000080000000ULL
#define AV_CH_WIDE_RIGHT 0x0000000100000000ULL
#define AV_CH_SURROUND_DIRECT_LEFT 0x0000000200000000ULL
#define AV_CH_SURROUND_DIRECT_RIGHT 0x0000000400000000ULL
/** Channel mask value used for AVCodecContext.request_channel_layout
to indicate that the user requests the channel order of the decoder output
to be the native codec channel order. */
#define AV_CH_LAYOUT_NATIVE 0x8000000000000000ULL
/**
* @}
* @defgroup channel_mask_c Audio channel convenience macros
* @{
* */
#define AV_CH_LAYOUT_MONO (AV_CH_FRONT_CENTER)
#define AV_CH_LAYOUT_STEREO (AV_CH_FRONT_LEFT|AV_CH_FRONT_RIGHT)
#define AV_CH_LAYOUT_2POINT1 (AV_CH_LAYOUT_STEREO|AV_CH_LOW_FREQUENCY)
#define AV_CH_LAYOUT_2_1 (AV_CH_LAYOUT_STEREO|AV_CH_BACK_CENTER)
#define AV_CH_LAYOUT_SURROUND (AV_CH_LAYOUT_STEREO|AV_CH_FRONT_CENTER)
#define AV_CH_LAYOUT_3POINT1 (AV_CH_LAYOUT_SURROUND|AV_CH_LOW_FREQUENCY)
#define AV_CH_LAYOUT_4POINT0 (AV_CH_LAYOUT_SURROUND|AV_CH_BACK_CENTER)
#define AV_CH_LAYOUT_4POINT1 (AV_CH_LAYOUT_4POINT0|AV_CH_LOW_FREQUENCY)
#define AV_CH_LAYOUT_2_2 (AV_CH_LAYOUT_STEREO|AV_CH_SIDE_LEFT|AV_CH_SIDE_RIGHT)
#define AV_CH_LAYOUT_QUAD (AV_CH_LAYOUT_STEREO|AV_CH_BACK_LEFT|AV_CH_BACK_RIGHT)
#define AV_CH_LAYOUT_5POINT0 (AV_CH_LAYOUT_SURROUND|AV_CH_SIDE_LEFT|AV_CH_SIDE_RIGHT)
#define AV_CH_LAYOUT_5POINT1 (AV_CH_LAYOUT_5POINT0|AV_CH_LOW_FREQUENCY)
#define AV_CH_LAYOUT_5POINT0_BACK (AV_CH_LAYOUT_SURROUND|AV_CH_BACK_LEFT|AV_CH_BACK_RIGHT)
#define AV_CH_LAYOUT_5POINT1_BACK (AV_CH_LAYOUT_5POINT0_BACK|AV_CH_LOW_FREQUENCY)
#define AV_CH_LAYOUT_6POINT0 (AV_CH_LAYOUT_5POINT0|AV_CH_BACK_CENTER)
#define AV_CH_LAYOUT_6POINT0_FRONT (AV_CH_LAYOUT_2_2|AV_CH_FRONT_LEFT_OF_CENTER|AV_CH_FRONT_RIGHT_OF_CENTER)
#define AV_CH_LAYOUT_HEXAGONAL (AV_CH_LAYOUT_5POINT0_BACK|AV_CH_BACK_CENTER)
#define AV_CH_LAYOUT_6POINT1 (AV_CH_LAYOUT_5POINT1|AV_CH_BACK_CENTER)
#define AV_CH_LAYOUT_6POINT1_BACK (AV_CH_LAYOUT_5POINT1_BACK|AV_CH_BACK_CENTER)
#define AV_CH_LAYOUT_6POINT1_FRONT (AV_CH_LAYOUT_6POINT0_FRONT|AV_CH_LOW_FREQUENCY)
#define AV_CH_LAYOUT_7POINT0 (AV_CH_LAYOUT_5POINT0|AV_CH_BACK_LEFT|AV_CH_BACK_RIGHT)
#define AV_CH_LAYOUT_7POINT0_FRONT (AV_CH_LAYOUT_5POINT0|AV_CH_FRONT_LEFT_OF_CENTER|AV_CH_FRONT_RIGHT_OF_CENTER)
#define AV_CH_LAYOUT_7POINT1 (AV_CH_LAYOUT_5POINT1|AV_CH_BACK_LEFT|AV_CH_BACK_RIGHT)
#define AV_CH_LAYOUT_7POINT1_WIDE (AV_CH_LAYOUT_5POINT1|AV_CH_FRONT_LEFT_OF_CENTER|AV_CH_FRONT_RIGHT_OF_CENTER)
#define AV_CH_LAYOUT_OCTAGONAL (AV_CH_LAYOUT_5POINT0|AV_CH_BACK_LEFT|AV_CH_BACK_CENTER|AV_CH_BACK_RIGHT)
#define AV_CH_LAYOUT_STEREO_DOWNMIX (AV_CH_STEREO_LEFT|AV_CH_STEREO_RIGHT)
/**
* @}
*/
/**
* Return a channel layout id that matches name, 0 if no match.
* name can be one or several of the following notations,
* separated by '+' or '|':
* - the name of an usual channel layout (mono, stereo, 4.0, quad, 5.0,
* 5.0(side), 5.1, 5.1(side), 7.1, 7.1(wide), downmix);
* - the name of a single channel (FL, FR, FC, LFE, BL, BR, FLC, FRC, BC,
* SL, SR, TC, TFL, TFC, TFR, TBL, TBC, TBR, DL, DR);
* - a number of channels, in decimal, optionnally followed by 'c', yielding
* the default channel layout for that number of channels (@see
* av_get_default_channel_layout);
* - a channel layout mask, in hexadecimal starting with "0x" (see the
* AV_CH_* macros).
+ Example: "stereo+FC" = "2+FC" = "2c+1c" = "0x7"
*/
uint64_t av_get_channel_layout(const char *name);
/**
* Return a description of a channel layout.
* If nb_channels is <= 0, it is guessed from the channel_layout.
*
* @param buf put here the string containing the channel layout
* @param buf_size size in bytes of the buffer
*/
void av_get_channel_layout_string(char *buf, int buf_size, int nb_channels, uint64_t channel_layout);
/**
* Return the number of channels in the channel layout.
*/
int av_get_channel_layout_nb_channels(uint64_t channel_layout);
/**
* Return default channel layout for a given number of channels.
*/
int64_t av_get_default_channel_layout(int nb_channels);
/**
* @}
*/
#endif /* AVUTIL_AUDIOCONVERT_H */
#if FF_API_AUDIOCONVERT
#include "channel_layout.h"
#endif
+1 -1
Ver Arquivo
@@ -36,7 +36,7 @@
*/
#define av_assert0(cond) do { \
if (!(cond)) { \
av_log(NULL, AV_LOG_FATAL, "Assertion %s failed at %s:%d\n", \
av_log(NULL, AV_LOG_PANIC, "Assertion %s failed at %s:%d\n", \
AV_STRINGIFY(cond), __FILE__, __LINE__); \
abort(); \
} \
+2
Ver Arquivo
@@ -3,4 +3,6 @@
#define AVUTIL_AVCONFIG_H
#define AV_HAVE_BIGENDIAN 0
#define AV_HAVE_FAST_UNALIGNED 1
#define AV_HAVE_INCOMPATIBLE_LIBAV_ABI 0
#define AV_HAVE_INCOMPATIBLE_FORK_ABI 0
#endif /* AVUTIL_AVCONFIG_H */
+93
Ver Arquivo
@@ -66,6 +66,21 @@ int av_stristart(const char *str, const char *pfx, const char **ptr);
*/
char *av_stristr(const char *haystack, const char *needle);
/**
* Locate the first occurrence of the string needle in the string haystack
* where not more than hay_length characters are searched. A zero-length
* string needle is considered to match at the start of haystack.
*
* This function is a length-limited version of the standard strstr().
*
* @param haystack string to search in
* @param needle string to search for
* @param hay_length length of string to search in
* @return pointer to the located match within haystack
* or a null pointer if no match
*/
char *av_strnstr(const char *haystack, const char *needle, size_t hay_length);
/**
* Copy the string src to dst, but no more than size - 1 bytes, and
* null-terminate dst.
@@ -170,6 +185,21 @@ char *av_get_token(const char **buf, const char *term);
*/
char *av_strtok(char *s, const char *delim, char **saveptr);
/**
* Locale-independent conversion of ASCII isdigit.
*/
int av_isdigit(int c);
/**
* Locale-independent conversion of ASCII isgraph.
*/
int av_isgraph(int c);
/**
* Locale-independent conversion of ASCII isspace.
*/
int av_isspace(int c);
/**
* Locale-independent conversion of ASCII characters to uppercase.
*/
@@ -190,6 +220,11 @@ static inline int av_tolower(int c)
return c;
}
/**
* Locale-independent conversion of ASCII isxdigit.
*/
int av_isxdigit(int c);
/**
* Locale-independent case-insensitive compare.
* @note This means only ASCII-range characters are case-insensitive
@@ -202,6 +237,64 @@ int av_strcasecmp(const char *a, const char *b);
*/
int av_strncasecmp(const char *a, const char *b, size_t n);
/**
* Thread safe basename.
* @param path the path, on DOS both \ and / are considered separators.
* @return pointer to the basename substring.
*/
const char *av_basename(const char *path);
/**
* Thread safe dirname.
* @param path the path, on DOS both \ and / are considered separators.
* @return the path with the separator replaced by the string terminator or ".".
* @note the function may change the input string.
*/
const char *av_dirname(char *path);
enum AVEscapeMode {
AV_ESCAPE_MODE_AUTO, ///< Use auto-selected escaping mode.
AV_ESCAPE_MODE_BACKSLASH, ///< Use backslash escaping.
AV_ESCAPE_MODE_QUOTE, ///< Use single-quote escaping.
};
/**
* Consider spaces special and escape them even in the middle of the
* string.
*
* This is equivalent to adding the whitespace characters to the special
* characters lists, except it is guaranteed to use the exact same list
* of whitespace characters as the rest of libavutil.
*/
#define AV_ESCAPE_FLAG_WHITESPACE 0x01
/**
* Escape only specified special characters.
* Without this flag, escape also any characters that may be considered
* special by av_get_token(), such as the single quote.
*/
#define AV_ESCAPE_FLAG_STRICT 0x02
/**
* Escape string in src, and put the escaped string in an allocated
* string in *dst, which must be freed with av_free().
*
* @param dst pointer where an allocated string is put
* @param src string to escape, must be non-NULL
* @param special_chars string containing the special characters which
* need to be escaped, can be NULL
* @param mode escape mode to employ, see AV_ESCAPE_MODE_* macros.
* Any unknown value for mode will be considered equivalent to
* AV_ESCAPE_MODE_BACKSLASH, but this behaviour can change without
* notice.
* @param flags flags which control how to escape, see AV_ESCAPE_FLAG_ macros
* @return the length of the allocated string, or a negative error code in case of error
* @see av_bprint_escape()
*/
int av_escape(char **dst, const char *src, const char *special_chars,
enum AVEscapeMode mode, int flags);
/**
* @}
*/
+61 -96
Ver Arquivo
@@ -29,19 +29,52 @@
/**
* @mainpage
*
* @section libav_intro Introduction
* @section ffmpeg_intro Introduction
*
* This document describe the usage of the different libraries
* This document describes the usage of the different libraries
* provided by FFmpeg.
*
* @li @ref libavc "libavcodec" encoding/decoding library
* @li @subpage libavfilter graph based frame editing library
* @li @ref lavfi "libavfilter" graph-based frame editing library
* @li @ref libavf "libavformat" I/O and muxing/demuxing library
* @li @ref lavd "libavdevice" special devices muxing/demuxing library
* @li @ref lavu "libavutil" common utility library
* @li @subpage libpostproc post processing library
* @li @subpage libswscale color conversion and scaling library
* @li @ref lswr "libswresample" audio resampling, format conversion and mixing
* @li @ref lpp "libpostproc" post processing library
* @li @ref lsws "libswscale" color conversion and scaling library
*
* @section ffmpeg_versioning Versioning and compatibility
*
* Each of the FFmpeg libraries contains a version.h header, which defines a
* major, minor and micro version number with the
* <em>LIBRARYNAME_VERSION_{MAJOR,MINOR,MICRO}</em> macros. The major version
* number is incremented with backward incompatible changes - e.g. removing
* parts of the public API, reordering public struct members, etc. The minor
* version number is incremented for backward compatible API changes or major
* new features - e.g. adding a new public function or a new decoder. The micro
* version number is incremented for smaller changes that a calling program
* might still want to check for - e.g. changing behavior in a previously
* unspecified situation.
*
* FFmpeg guarantees backward API and ABI compatibility for each library as long
* as its major version number is unchanged. This means that no public symbols
* will be removed or renamed. Types and names of the public struct members and
* values of public macros and enums will remain the same (unless they were
* explicitly declared as not part of the public API). Documented behavior will
* not change.
*
* In other words, any correct program that works with a given FFmpeg snapshot
* should work just as well without any changes with any later snapshot with the
* same major versions. This applies to both rebuilding the program against new
* FFmpeg versions or to replacing the dynamic FFmpeg libraries that a program
* links against.
*
* However, new public symbols may be added and new members may be appended to
* public structs whose size is not part of public ABI (most public structs in
* FFmpeg). New macros and enum values may be added. Behavior in undocumented
* situations may change slightly (and be documented). All those are accompanied
* by an entry in doc/APIchanges and incrementing either the minor or micro
* version number.
*/
/**
@@ -109,96 +142,6 @@
*/
/**
* @defgroup preproc_misc Preprocessor String Macros
*
* String manipulation macros
*
* @{
*/
#define AV_STRINGIFY(s) AV_TOSTRING(s)
#define AV_TOSTRING(s) #s
#define AV_GLUE(a, b) a ## b
#define AV_JOIN(a, b) AV_GLUE(a, b)
#define AV_PRAGMA(s) _Pragma(#s)
/**
* @}
*/
/**
* @defgroup version_utils Library Version Macros
*
* Useful to check and match library version in order to maintain
* backward compatibility.
*
* @{
*/
#define AV_VERSION_INT(a, b, c) (a<<16 | b<<8 | c)
#define AV_VERSION_DOT(a, b, c) a ##.## b ##.## c
#define AV_VERSION(a, b, c) AV_VERSION_DOT(a, b, c)
/**
* @}
*
* @defgroup lavu_ver Version and Build diagnostics
*
* Macros and function useful to check at compiletime and at runtime
* which version of libavutil is in use.
*
* @{
*/
#define LIBAVUTIL_VERSION_MAJOR 51
#define LIBAVUTIL_VERSION_MINOR 35
#define LIBAVUTIL_VERSION_MICRO 100
#define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \
LIBAVUTIL_VERSION_MINOR, \
LIBAVUTIL_VERSION_MICRO)
#define LIBAVUTIL_VERSION AV_VERSION(LIBAVUTIL_VERSION_MAJOR, \
LIBAVUTIL_VERSION_MINOR, \
LIBAVUTIL_VERSION_MICRO)
#define LIBAVUTIL_BUILD LIBAVUTIL_VERSION_INT
#define LIBAVUTIL_IDENT "Lavu" AV_STRINGIFY(LIBAVUTIL_VERSION)
/**
* @}
*
* @defgroup depr_guards Deprecation guards
* Those FF_API_* defines are not part of public API.
* They may change, break or disappear at any time.
*
* They are used mostly internally to mark code that will be removed
* on the next major version.
*
* @{
*/
#ifndef FF_API_OLD_EVAL_NAMES
#define FF_API_OLD_EVAL_NAMES (LIBAVUTIL_VERSION_MAJOR < 52)
#endif
#ifndef FF_API_GET_BITS_PER_SAMPLE_FMT
#define FF_API_GET_BITS_PER_SAMPLE_FMT (LIBAVUTIL_VERSION_MAJOR < 52)
#endif
#ifndef FF_API_FIND_OPT
#define FF_API_FIND_OPT (LIBAVUTIL_VERSION_MAJOR < 52)
#endif
#ifndef FF_API_AV_FIFO_PEEK
#define FF_API_AV_FIFO_PEEK (LIBAVUTIL_VERSION_MAJOR < 52)
#endif
#ifndef FF_API_OLD_AVOPTIONS
#define FF_API_OLD_AVOPTIONS (LIBAVUTIL_VERSION_MAJOR < 52)
#endif
/**
* @}
*/
/**
* @addtogroup lavu_ver
* @{
@@ -277,7 +220,7 @@ const char *av_get_media_type_string(enum AVMediaType media_type);
* either pts or dts.
*/
#define AV_NOPTS_VALUE INT64_C(0x8000000000000000)
#define AV_NOPTS_VALUE ((int64_t)UINT64_C(0x8000000000000000))
/**
* Internal time base represented as integer
@@ -327,6 +270,7 @@ char av_get_picture_type_char(enum AVPictureType pict_type);
#include "common.h"
#include "error.h"
#include "version.h"
#include "mathematics.h"
#include "rational.h"
#include "intfloat_readwrite.h"
@@ -341,6 +285,27 @@ static inline void *av_x_if_null(const void *p, const void *x)
return (void *)(intptr_t)(p ? p : x);
}
/**
* Compute the length of an integer list.
*
* @param elsize size in bytes of each list element (only 1, 2, 4 or 8)
* @param term list terminator (usually 0 or -1)
* @param list pointer to the list
* @return length of the list, in elements, not counting the terminator
*/
unsigned av_int_list_length_for_size(unsigned elsize,
const void *list, uint64_t term) av_pure;
/**
* Compute the length of an integer list.
*
* @param term list terminator (usually 0 or -1)
* @param list pointer to the list
* @return length of the list, in elements, not counting the terminator
*/
#define av_int_list_length(list, term) \
av_int_list_length_for_size(sizeof(*(list)), list, term)
/**
* @}
* @}
+7 -5
Ver Arquivo
@@ -46,15 +46,17 @@ int av_base64_decode(uint8_t *out, const char *in, int out_size);
* Encode data to base64 and null-terminate.
*
* @param out buffer for encoded data
* @param out_size size in bytes of the output buffer, must be at
* least AV_BASE64_SIZE(in_size)
* @param in_size size in bytes of the 'in' buffer
* @return 'out' or NULL in case of error
* @param out_size size in bytes of the out buffer (including the
* null terminator), must be at least AV_BASE64_SIZE(in_size)
* @param in input buffer containing the data to encode
* @param in_size size in bytes of the in buffer
* @return out or NULL in case of error
*/
char *av_base64_encode(char *out, int out_size, const uint8_t *in, int in_size);
/**
* Calculate the output size needed to base64-encode x bytes.
* Calculate the output size needed to base64-encode x bytes to a
* null-terminated string.
*/
#define AV_BASE64_SIZE(x) (((x)+2) / 3 * 4 + 1)
+77
Ver Arquivo
@@ -0,0 +1,77 @@
/*
* Blowfish algorithm
* Copyright (c) 2012 Samuel Pitoiset
*
* This file is part of FFmpeg.
*
* FFmpeg is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* FFmpeg is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with FFmpeg; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#ifndef AVUTIL_BLOWFISH_H
#define AVUTIL_BLOWFISH_H
#include <stdint.h>
/**
* @defgroup lavu_blowfish Blowfish
* @ingroup lavu_crypto
* @{
*/
#define AV_BF_ROUNDS 16
typedef struct AVBlowfish {
uint32_t p[AV_BF_ROUNDS + 2];
uint32_t s[4][256];
} AVBlowfish;
/**
* Initialize an AVBlowfish context.
*
* @param ctx an AVBlowfish context
* @param key a key
* @param key_len length of the key
*/
void av_blowfish_init(struct AVBlowfish *ctx, const uint8_t *key, int key_len);
/**
* Encrypt or decrypt a buffer using a previously initialized context.
*
* @param ctx an AVBlowfish context
* @param xl left four bytes halves of input to be encrypted
* @param xr right four bytes halves of input to be encrypted
* @param decrypt 0 for encryption, 1 for decryption
*/
void av_blowfish_crypt_ecb(struct AVBlowfish *ctx, uint32_t *xl, uint32_t *xr,
int decrypt);
/**
* Encrypt or decrypt a buffer using a previously initialized context.
*
* @param ctx an AVBlowfish context
* @param dst destination array, can be equal to src
* @param src source array, can be equal to dst
* @param count number of 8 byte blocks
* @param iv initialization vector for CBC mode, if NULL ECB will be used
* @param decrypt 0 for encryption, 1 for decryption
*/
void av_blowfish_crypt(struct AVBlowfish *ctx, uint8_t *dst, const uint8_t *src,
int count, uint8_t *iv, int decrypt);
/**
* @}
*/
#endif /* AVUTIL_BLOWFISH_H */
+200
Ver Arquivo
@@ -0,0 +1,200 @@
/*
* Copyright (c) 2012 Nicolas George
*
* This file is part of FFmpeg.
*
* FFmpeg is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* FFmpeg is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with FFmpeg; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#ifndef AVUTIL_BPRINT_H
#define AVUTIL_BPRINT_H
#include "attributes.h"
#include "avstring.h"
/**
* Define a structure with extra padding to a fixed size
* This helps ensuring binary compatibility with future versions.
*/
#define FF_PAD_STRUCTURE(size, ...) \
__VA_ARGS__ \
char reserved_padding[size - sizeof(struct { __VA_ARGS__ })];
/**
* Buffer to print data progressively
*
* The string buffer grows as necessary and is always 0-terminated.
* The content of the string is never accessed, and thus is
* encoding-agnostic and can even hold binary data.
*
* Small buffers are kept in the structure itself, and thus require no
* memory allocation at all (unless the contents of the buffer is needed
* after the structure goes out of scope). This is almost as lightweight as
* declaring a local "char buf[512]".
*
* The length of the string can go beyond the allocated size: the buffer is
* then truncated, but the functions still keep account of the actual total
* length.
*
* In other words, buf->len can be greater than buf->size and records the
* total length of what would have been to the buffer if there had been
* enough memory.
*
* Append operations do not need to be tested for failure: if a memory
* allocation fails, data stop being appended to the buffer, but the length
* is still updated. This situation can be tested with
* av_bprint_is_complete().
*
* The size_max field determines several possible behaviours:
*
* size_max = -1 (= UINT_MAX) or any large value will let the buffer be
* reallocated as necessary, with an amortized linear cost.
*
* size_max = 0 prevents writing anything to the buffer: only the total
* length is computed. The write operations can then possibly be repeated in
* a buffer with exactly the necessary size
* (using size_init = size_max = len + 1).
*
* size_max = 1 is automatically replaced by the exact size available in the
* structure itself, thus ensuring no dynamic memory allocation. The
* internal buffer is large enough to hold a reasonable paragraph of text,
* such as the current paragraph.
*/
typedef struct AVBPrint {
FF_PAD_STRUCTURE(1024,
char *str; /**< string so far */
unsigned len; /**< length so far */
unsigned size; /**< allocated memory */
unsigned size_max; /**< maximum allocated memory */
char reserved_internal_buffer[1];
)
} AVBPrint;
/**
* Convenience macros for special values for av_bprint_init() size_max
* parameter.
*/
#define AV_BPRINT_SIZE_UNLIMITED ((unsigned)-1)
#define AV_BPRINT_SIZE_AUTOMATIC 1
#define AV_BPRINT_SIZE_COUNT_ONLY 0
/**
* Init a print buffer.
*
* @param buf buffer to init
* @param size_init initial size (including the final 0)
* @param size_max maximum size;
* 0 means do not write anything, just count the length;
* 1 is replaced by the maximum value for automatic storage;
* any large value means that the internal buffer will be
* reallocated as needed up to that limit; -1 is converted to
* UINT_MAX, the largest limit possible.
* Check also AV_BPRINT_SIZE_* macros.
*/
void av_bprint_init(AVBPrint *buf, unsigned size_init, unsigned size_max);
/**
* Init a print buffer using a pre-existing buffer.
*
* The buffer will not be reallocated.
*
* @param buf buffer structure to init
* @param buffer byte buffer to use for the string data
* @param size size of buffer
*/
void av_bprint_init_for_buffer(AVBPrint *buf, char *buffer, unsigned size);
/**
* Append a formatted string to a print buffer.
*/
void av_bprintf(AVBPrint *buf, const char *fmt, ...) av_printf_format(2, 3);
/**
* Append char c n times to a print buffer.
*/
void av_bprint_chars(AVBPrint *buf, char c, unsigned n);
struct tm;
/**
* Append a formatted date and time to a print buffer.
*
* param buf bprint buffer to use
* param fmt date and time format string, see strftime()
* param tm broken-down time structure to translate
*
* @note due to poor design of the standard strftime function, it may
* produce poor results if the format string expands to a very long text and
* the bprint buffer is near the limit stated by the size_max option.
*/
void av_bprint_strftime(AVBPrint *buf, const char *fmt, const struct tm *tm);
/**
* Allocate bytes in the buffer for external use.
*
* @param[in] buf buffer structure
* @param[in] size required size
* @param[out] mem pointer to the memory area
* @param[out] actual_size size of the memory area after allocation;
* can be larger or smaller than size
*/
void av_bprint_get_buffer(AVBPrint *buf, unsigned size,
unsigned char **mem, unsigned *actual_size);
/**
* Reset the string to "" but keep internal allocated data.
*/
void av_bprint_clear(AVBPrint *buf);
/**
* Test if the print buffer is complete (not truncated).
*
* It may have been truncated due to a memory allocation failure
* or the size_max limit (compare size and size_max if necessary).
*/
static inline int av_bprint_is_complete(AVBPrint *buf)
{
return buf->len < buf->size;
}
/**
* Finalize a print buffer.
*
* The print buffer can no longer be used afterwards,
* but the len and size fields are still valid.
*
* @arg[out] ret_str if not NULL, used to return a permanent copy of the
* buffer contents, or NULL if memory allocation fails;
* if NULL, the buffer is discarded and freed
* @return 0 for success or error code (probably AVERROR(ENOMEM))
*/
int av_bprint_finalize(AVBPrint *buf, char **ret_str);
/**
* Escape the content in src and append it to dstbuf.
*
* @param dstbuf already inited destination bprint buffer
* @param src string containing the text to escape
* @param special_chars string containing the special characters which
* need to be escaped, can be NULL
* @param mode escape mode to employ, see AV_ESCAPE_MODE_* macros.
* Any unknown value for mode will be considered equivalent to
* AV_ESCAPE_MODE_BACKSLASH, but this behaviour can change without
* notice.
* @param flags flags which control how to escape, see AV_ESCAPE_FLAG_* macros
*/
void av_bprint_escape(AVBPrint *dstbuf, const char *src, const char *special_chars,
enum AVEscapeMode mode, int flags);
#endif /* AVUTIL_BPRINT_H */
+274
Ver Arquivo
@@ -0,0 +1,274 @@
/*
* This file is part of FFmpeg.
*
* FFmpeg is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* FFmpeg is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with FFmpeg; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/**
* @file
* @ingroup lavu_buffer
* refcounted data buffer API
*/
#ifndef AVUTIL_BUFFER_H
#define AVUTIL_BUFFER_H
#include <stdint.h>
/**
* @defgroup lavu_buffer AVBuffer
* @ingroup lavu_data
*
* @{
* AVBuffer is an API for reference-counted data buffers.
*
* There are two core objects in this API -- AVBuffer and AVBufferRef. AVBuffer
* represents the data buffer itself; it is opaque and not meant to be accessed
* by the caller directly, but only through AVBufferRef. However, the caller may
* e.g. compare two AVBuffer pointers to check whether two different references
* are describing the same data buffer. AVBufferRef represents a single
* reference to an AVBuffer and it is the object that may be manipulated by the
* caller directly.
*
* There are two functions provided for creating a new AVBuffer with a single
* reference -- av_buffer_alloc() to just allocate a new buffer, and
* av_buffer_create() to wrap an existing array in an AVBuffer. From an existing
* reference, additional references may be created with av_buffer_ref().
* Use av_buffer_unref() to free a reference (this will automatically free the
* data once all the references are freed).
*
* The convention throughout this API and the rest of FFmpeg is such that the
* buffer is considered writable if there exists only one reference to it (and
* it has not been marked as read-only). The av_buffer_is_writable() function is
* provided to check whether this is true and av_buffer_make_writable() will
* automatically create a new writable buffer when necessary.
* Of course nothing prevents the calling code from violating this convention,
* however that is safe only when all the existing references are under its
* control.
*
* @note Referencing and unreferencing the buffers is thread-safe and thus
* may be done from multiple threads simultaneously without any need for
* additional locking.
*
* @note Two different references to the same buffer can point to different
* parts of the buffer (i.e. their AVBufferRef.data will not be equal).
*/
/**
* A reference counted buffer type. It is opaque and is meant to be used through
* references (AVBufferRef).
*/
typedef struct AVBuffer AVBuffer;
/**
* A reference to a data buffer.
*
* The size of this struct is not a part of the public ABI and it is not meant
* to be allocated directly.
*/
typedef struct AVBufferRef {
AVBuffer *buffer;
/**
* The data buffer. It is considered writable if and only if
* this is the only reference to the buffer, in which case
* av_buffer_is_writable() returns 1.
*/
uint8_t *data;
/**
* Size of data in bytes.
*/
int size;
} AVBufferRef;
/**
* Allocate an AVBuffer of the given size using av_malloc().
*
* @return an AVBufferRef of given size or NULL when out of memory
*/
AVBufferRef *av_buffer_alloc(int size);
/**
* Same as av_buffer_alloc(), except the returned buffer will be initialized
* to zero.
*/
AVBufferRef *av_buffer_allocz(int size);
/**
* Always treat the buffer as read-only, even when it has only one
* reference.
*/
#define AV_BUFFER_FLAG_READONLY (1 << 0)
/**
* Create an AVBuffer from an existing array.
*
* If this function is successful, data is owned by the AVBuffer. The caller may
* only access data through the returned AVBufferRef and references derived from
* it.
* If this function fails, data is left untouched.
* @param data data array
* @param size size of data in bytes
* @param free a callback for freeing this buffer's data
* @param opaque parameter to be got for processing or passed to free
* @param flags a combination of AV_BUFFER_FLAG_*
*
* @return an AVBufferRef referring to data on success, NULL on failure.
*/
AVBufferRef *av_buffer_create(uint8_t *data, int size,
void (*free)(void *opaque, uint8_t *data),
void *opaque, int flags);
/**
* Default free callback, which calls av_free() on the buffer data.
* This function is meant to be passed to av_buffer_create(), not called
* directly.
*/
void av_buffer_default_free(void *opaque, uint8_t *data);
/**
* Create a new reference to an AVBuffer.
*
* @return a new AVBufferRef referring to the same AVBuffer as buf or NULL on
* failure.
*/
AVBufferRef *av_buffer_ref(AVBufferRef *buf);
/**
* Free a given reference and automatically free the buffer if there are no more
* references to it.
*
* @param buf the reference to be freed. The pointer is set to NULL on return.
*/
void av_buffer_unref(AVBufferRef **buf);
/**
* @return 1 if the caller may write to the data referred to by buf (which is
* true if and only if buf is the only reference to the underlying AVBuffer).
* Return 0 otherwise.
* A positive answer is valid until av_buffer_ref() is called on buf.
*/
int av_buffer_is_writable(const AVBufferRef *buf);
/**
* @return the opaque parameter set by av_buffer_create.
*/
void *av_buffer_get_opaque(const AVBufferRef *buf);
int av_buffer_get_ref_count(const AVBufferRef *buf);
/**
* Create a writable reference from a given buffer reference, avoiding data copy
* if possible.
*
* @param buf buffer reference to make writable. On success, buf is either left
* untouched, or it is unreferenced and a new writable AVBufferRef is
* written in its place. On failure, buf is left untouched.
* @return 0 on success, a negative AVERROR on failure.
*/
int av_buffer_make_writable(AVBufferRef **buf);
/**
* Reallocate a given buffer.
*
* @param buf a buffer reference to reallocate. On success, buf will be
* unreferenced and a new reference with the required size will be
* written in its place. On failure buf will be left untouched. *buf
* may be NULL, then a new buffer is allocated.
* @param size required new buffer size.
* @return 0 on success, a negative AVERROR on failure.
*
* @note the buffer is actually reallocated with av_realloc() only if it was
* initially allocated through av_buffer_realloc(NULL) and there is only one
* reference to it (i.e. the one passed to this function). In all other cases
* a new buffer is allocated and the data is copied.
*/
int av_buffer_realloc(AVBufferRef **buf, int size);
/**
* @}
*/
/**
* @defgroup lavu_bufferpool AVBufferPool
* @ingroup lavu_data
*
* @{
* AVBufferPool is an API for a lock-free thread-safe pool of AVBuffers.
*
* Frequently allocating and freeing large buffers may be slow. AVBufferPool is
* meant to solve this in cases when the caller needs a set of buffers of the
* same size (the most obvious use case being buffers for raw video or audio
* frames).
*
* At the beginning, the user must call av_buffer_pool_init() to create the
* buffer pool. Then whenever a buffer is needed, call av_buffer_pool_get() to
* get a reference to a new buffer, similar to av_buffer_alloc(). This new
* reference works in all aspects the same way as the one created by
* av_buffer_alloc(). However, when the last reference to this buffer is
* unreferenced, it is returned to the pool instead of being freed and will be
* reused for subsequent av_buffer_pool_get() calls.
*
* When the caller is done with the pool and no longer needs to allocate any new
* buffers, av_buffer_pool_uninit() must be called to mark the pool as freeable.
* Once all the buffers are released, it will automatically be freed.
*
* Allocating and releasing buffers with this API is thread-safe as long as
* either the default alloc callback is used, or the user-supplied one is
* thread-safe.
*/
/**
* The buffer pool. This structure is opaque and not meant to be accessed
* directly. It is allocated with av_buffer_pool_init() and freed with
* av_buffer_pool_uninit().
*/
typedef struct AVBufferPool AVBufferPool;
/**
* Allocate and initialize a buffer pool.
*
* @param size size of each buffer in this pool
* @param alloc a function that will be used to allocate new buffers when the
* pool is empty. May be NULL, then the default allocator will be used
* (av_buffer_alloc()).
* @return newly created buffer pool on success, NULL on error.
*/
AVBufferPool *av_buffer_pool_init(int size, AVBufferRef* (*alloc)(int size));
/**
* Mark the pool as being available for freeing. It will actually be freed only
* once all the allocated buffers associated with the pool are released. Thus it
* is safe to call this function while some of the allocated buffers are still
* in use.
*
* @param pool pointer to the pool to be freed. It will be set to NULL.
* @see av_buffer_pool_can_uninit()
*/
void av_buffer_pool_uninit(AVBufferPool **pool);
/**
* Allocate a new AVBuffer, reusing an old buffer from the pool when available.
* This function may be called simultaneously from multiple threads.
*
* @return a reference to the new buffer on success, NULL on error.
*/
AVBufferRef *av_buffer_pool_get(AVBufferPool *pool);
/**
* @}
*/
#endif /* AVUTIL_BUFFER_H */
+216
Ver Arquivo
@@ -0,0 +1,216 @@
/*
* Copyright (c) 2006 Michael Niedermayer <michaelni@gmx.at>
* Copyright (c) 2008 Peter Ross
*
* This file is part of FFmpeg.
*
* FFmpeg is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* FFmpeg is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with FFmpeg; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#ifndef AVUTIL_CHANNEL_LAYOUT_H
#define AVUTIL_CHANNEL_LAYOUT_H
#include <stdint.h>
/**
* @file
* audio channel layout utility functions
*/
/**
* @addtogroup lavu_audio
* @{
*/
/**
* @defgroup channel_masks Audio channel masks
*
* A channel layout is a 64-bits integer with a bit set for every channel.
* The number of bits set must be equal to the number of channels.
* The value 0 means that the channel layout is not known.
* @note this data structure is not powerful enough to handle channels
* combinations that have the same channel multiple times, such as
* dual-mono.
*
* @{
*/
#define AV_CH_FRONT_LEFT 0x00000001
#define AV_CH_FRONT_RIGHT 0x00000002
#define AV_CH_FRONT_CENTER 0x00000004
#define AV_CH_LOW_FREQUENCY 0x00000008
#define AV_CH_BACK_LEFT 0x00000010
#define AV_CH_BACK_RIGHT 0x00000020
#define AV_CH_FRONT_LEFT_OF_CENTER 0x00000040
#define AV_CH_FRONT_RIGHT_OF_CENTER 0x00000080
#define AV_CH_BACK_CENTER 0x00000100
#define AV_CH_SIDE_LEFT 0x00000200
#define AV_CH_SIDE_RIGHT 0x00000400
#define AV_CH_TOP_CENTER 0x00000800
#define AV_CH_TOP_FRONT_LEFT 0x00001000
#define AV_CH_TOP_FRONT_CENTER 0x00002000
#define AV_CH_TOP_FRONT_RIGHT 0x00004000
#define AV_CH_TOP_BACK_LEFT 0x00008000
#define AV_CH_TOP_BACK_CENTER 0x00010000
#define AV_CH_TOP_BACK_RIGHT 0x00020000
#define AV_CH_STEREO_LEFT 0x20000000 ///< Stereo downmix.
#define AV_CH_STEREO_RIGHT 0x40000000 ///< See AV_CH_STEREO_LEFT.
#define AV_CH_WIDE_LEFT 0x0000000080000000ULL
#define AV_CH_WIDE_RIGHT 0x0000000100000000ULL
#define AV_CH_SURROUND_DIRECT_LEFT 0x0000000200000000ULL
#define AV_CH_SURROUND_DIRECT_RIGHT 0x0000000400000000ULL
#define AV_CH_LOW_FREQUENCY_2 0x0000000800000000ULL
/** Channel mask value used for AVCodecContext.request_channel_layout
to indicate that the user requests the channel order of the decoder output
to be the native codec channel order. */
#define AV_CH_LAYOUT_NATIVE 0x8000000000000000ULL
/**
* @}
* @defgroup channel_mask_c Audio channel convenience macros
* @{
* */
#define AV_CH_LAYOUT_MONO (AV_CH_FRONT_CENTER)
#define AV_CH_LAYOUT_STEREO (AV_CH_FRONT_LEFT|AV_CH_FRONT_RIGHT)
#define AV_CH_LAYOUT_2POINT1 (AV_CH_LAYOUT_STEREO|AV_CH_LOW_FREQUENCY)
#define AV_CH_LAYOUT_2_1 (AV_CH_LAYOUT_STEREO|AV_CH_BACK_CENTER)
#define AV_CH_LAYOUT_SURROUND (AV_CH_LAYOUT_STEREO|AV_CH_FRONT_CENTER)
#define AV_CH_LAYOUT_3POINT1 (AV_CH_LAYOUT_SURROUND|AV_CH_LOW_FREQUENCY)
#define AV_CH_LAYOUT_4POINT0 (AV_CH_LAYOUT_SURROUND|AV_CH_BACK_CENTER)
#define AV_CH_LAYOUT_4POINT1 (AV_CH_LAYOUT_4POINT0|AV_CH_LOW_FREQUENCY)
#define AV_CH_LAYOUT_2_2 (AV_CH_LAYOUT_STEREO|AV_CH_SIDE_LEFT|AV_CH_SIDE_RIGHT)
#define AV_CH_LAYOUT_QUAD (AV_CH_LAYOUT_STEREO|AV_CH_BACK_LEFT|AV_CH_BACK_RIGHT)
#define AV_CH_LAYOUT_5POINT0 (AV_CH_LAYOUT_SURROUND|AV_CH_SIDE_LEFT|AV_CH_SIDE_RIGHT)
#define AV_CH_LAYOUT_5POINT1 (AV_CH_LAYOUT_5POINT0|AV_CH_LOW_FREQUENCY)
#define AV_CH_LAYOUT_5POINT0_BACK (AV_CH_LAYOUT_SURROUND|AV_CH_BACK_LEFT|AV_CH_BACK_RIGHT)
#define AV_CH_LAYOUT_5POINT1_BACK (AV_CH_LAYOUT_5POINT0_BACK|AV_CH_LOW_FREQUENCY)
#define AV_CH_LAYOUT_6POINT0 (AV_CH_LAYOUT_5POINT0|AV_CH_BACK_CENTER)
#define AV_CH_LAYOUT_6POINT0_FRONT (AV_CH_LAYOUT_2_2|AV_CH_FRONT_LEFT_OF_CENTER|AV_CH_FRONT_RIGHT_OF_CENTER)
#define AV_CH_LAYOUT_HEXAGONAL (AV_CH_LAYOUT_5POINT0_BACK|AV_CH_BACK_CENTER)
#define AV_CH_LAYOUT_6POINT1 (AV_CH_LAYOUT_5POINT1|AV_CH_BACK_CENTER)
#define AV_CH_LAYOUT_6POINT1_BACK (AV_CH_LAYOUT_5POINT1_BACK|AV_CH_BACK_CENTER)
#define AV_CH_LAYOUT_6POINT1_FRONT (AV_CH_LAYOUT_6POINT0_FRONT|AV_CH_LOW_FREQUENCY)
#define AV_CH_LAYOUT_7POINT0 (AV_CH_LAYOUT_5POINT0|AV_CH_BACK_LEFT|AV_CH_BACK_RIGHT)
#define AV_CH_LAYOUT_7POINT0_FRONT (AV_CH_LAYOUT_5POINT0|AV_CH_FRONT_LEFT_OF_CENTER|AV_CH_FRONT_RIGHT_OF_CENTER)
#define AV_CH_LAYOUT_7POINT1 (AV_CH_LAYOUT_5POINT1|AV_CH_BACK_LEFT|AV_CH_BACK_RIGHT)
#define AV_CH_LAYOUT_7POINT1_WIDE (AV_CH_LAYOUT_5POINT1|AV_CH_FRONT_LEFT_OF_CENTER|AV_CH_FRONT_RIGHT_OF_CENTER)
#define AV_CH_LAYOUT_7POINT1_WIDE_BACK (AV_CH_LAYOUT_5POINT1_BACK|AV_CH_FRONT_LEFT_OF_CENTER|AV_CH_FRONT_RIGHT_OF_CENTER)
#define AV_CH_LAYOUT_OCTAGONAL (AV_CH_LAYOUT_5POINT0|AV_CH_BACK_LEFT|AV_CH_BACK_CENTER|AV_CH_BACK_RIGHT)
#define AV_CH_LAYOUT_STEREO_DOWNMIX (AV_CH_STEREO_LEFT|AV_CH_STEREO_RIGHT)
enum AVMatrixEncoding {
AV_MATRIX_ENCODING_NONE,
AV_MATRIX_ENCODING_DOLBY,
AV_MATRIX_ENCODING_DPLII,
AV_MATRIX_ENCODING_NB
};
/**
* @}
*/
/**
* Return a channel layout id that matches name, or 0 if no match is found.
*
* name can be one or several of the following notations,
* separated by '+' or '|':
* - the name of an usual channel layout (mono, stereo, 4.0, quad, 5.0,
* 5.0(side), 5.1, 5.1(side), 7.1, 7.1(wide), downmix);
* - the name of a single channel (FL, FR, FC, LFE, BL, BR, FLC, FRC, BC,
* SL, SR, TC, TFL, TFC, TFR, TBL, TBC, TBR, DL, DR);
* - a number of channels, in decimal, optionally followed by 'c', yielding
* the default channel layout for that number of channels (@see
* av_get_default_channel_layout);
* - a channel layout mask, in hexadecimal starting with "0x" (see the
* AV_CH_* macros).
*
* Example: "stereo+FC" = "2+FC" = "2c+1c" = "0x7"
*/
uint64_t av_get_channel_layout(const char *name);
/**
* Return a description of a channel layout.
* If nb_channels is <= 0, it is guessed from the channel_layout.
*
* @param buf put here the string containing the channel layout
* @param buf_size size in bytes of the buffer
*/
void av_get_channel_layout_string(char *buf, int buf_size, int nb_channels, uint64_t channel_layout);
struct AVBPrint;
/**
* Append a description of a channel layout to a bprint buffer.
*/
void av_bprint_channel_layout(struct AVBPrint *bp, int nb_channels, uint64_t channel_layout);
/**
* Return the number of channels in the channel layout.
*/
int av_get_channel_layout_nb_channels(uint64_t channel_layout);
/**
* Return default channel layout for a given number of channels.
*/
int64_t av_get_default_channel_layout(int nb_channels);
/**
* Get the index of a channel in channel_layout.
*
* @param channel a channel layout describing exactly one channel which must be
* present in channel_layout.
*
* @return index of channel in channel_layout on success, a negative AVERROR
* on error.
*/
int av_get_channel_layout_channel_index(uint64_t channel_layout,
uint64_t channel);
/**
* Get the channel with the given index in channel_layout.
*/
uint64_t av_channel_layout_extract_channel(uint64_t channel_layout, int index);
/**
* Get the name of a given channel.
*
* @return channel name on success, NULL on error.
*/
const char *av_get_channel_name(uint64_t channel);
/**
* Get the description of a given channel.
*
* @param channel a channel layout with a single channel
* @return channel description on success, NULL on error
*/
const char *av_get_channel_description(uint64_t channel);
/**
* Get the value and name of a standard channel layout.
*
* @param[in] index index in an internal list, starting at 0
* @param[out] layout channel layout mask
* @param[out] name name of the layout
* @return 0 if the layout exists,
* <0 if index is beyond the limits
*/
int av_get_standard_channel_layout(unsigned index, uint64_t *layout,
const char **name);
/**
* @}
*/
#endif /* AVUTIL_CHANNEL_LAYOUT_H */
+102 -43
Ver Arquivo
@@ -26,7 +26,6 @@
#ifndef AVUTIL_COMMON_H
#define AVUTIL_COMMON_H
#include <ctype.h>
#include <errno.h>
#include <inttypes.h>
#include <limits.h>
@@ -34,7 +33,9 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "attributes.h"
#include "version.h"
#include "libavutil/avconfig.h"
#if AV_HAVE_BIGENDIAN
@@ -47,6 +48,9 @@
#define RSHIFT(a,b) ((a) > 0 ? ((a) + ((1<<(b))>>1))>>(b) : ((a) + ((1<<(b))>>1)-1)>>(b))
/* assume b>0 */
#define ROUNDED_DIV(a,b) (((a)>0 ? (a) + ((b)>>1) : (a) - ((b)>>1))/(b))
/* assume a>0 and b>0 */
#define FF_CEIL_RSHIFT(a,b) (!av_builtin_constant_p(b) ? -((-(a)) >> (b)) \
: ((a) + (1<<(b)) - 1) >> (b))
#define FFUDIV(a,b) (((a)>0 ?(a):(a)-(b)+1) / (b))
#define FFUMOD(a,b) ((a)-(b)*FFUDIV(a,b))
#define FFABS(a) ((a) >= 0 ? (a) : (-(a)))
@@ -62,37 +66,13 @@
#define FFALIGN(x, a) (((x)+(a)-1)&~((a)-1))
/* misc math functions */
extern const uint8_t ff_log2_tab[256];
extern const uint8_t av_reverse[256];
static av_always_inline av_const int av_log2_c(unsigned int v)
{
int n = 0;
if (v & 0xffff0000) {
v >>= 16;
n += 16;
}
if (v & 0xff00) {
v >>= 8;
n += 8;
}
n += ff_log2_tab[v];
return n;
}
static av_always_inline av_const int av_log2_16bit_c(unsigned int v)
{
int n = 0;
if (v & 0xff00) {
v >>= 8;
n += 8;
}
n += ff_log2_tab[v];
return n;
}
/**
* Reverse the order of the bits of an 8-bits unsigned integer.
*/
#if FF_API_AV_REVERSE
extern attribute_deprecated const uint8_t av_reverse[256];
#endif
#ifdef HAVE_AV_CONFIG_H
# include "config.h"
@@ -102,6 +82,14 @@ static av_always_inline av_const int av_log2_16bit_c(unsigned int v)
/* Pull in unguarded fallback defines at the end of this file. */
#include "common.h"
#ifndef av_log2
av_const int av_log2(unsigned v);
#endif
#ifndef av_log2_16bit
av_const int av_log2_16bit(unsigned v);
#endif
/**
* Clip a signed integer value into the amin-amax range.
* @param a value to clip
@@ -111,6 +99,26 @@ static av_always_inline av_const int av_log2_16bit_c(unsigned int v)
*/
static av_always_inline av_const int av_clip_c(int a, int amin, int amax)
{
#if defined(HAVE_AV_CONFIG_H) && defined(ASSERT_LEVEL) && ASSERT_LEVEL >= 2
if (amin > amax) abort();
#endif
if (a < amin) return amin;
else if (a > amax) return amax;
else return a;
}
/**
* Clip a signed 64bit integer value into the amin-amax range.
* @param a value to clip
* @param amin minimum value of the clip range
* @param amax maximum value of the clip range
* @return clipped value
*/
static av_always_inline av_const int64_t av_clip64_c(int64_t a, int64_t amin, int64_t amax)
{
#if defined(HAVE_AV_CONFIG_H) && defined(ASSERT_LEVEL) && ASSERT_LEVEL >= 2
if (amin > amax) abort();
#endif
if (a < amin) return amin;
else if (a > amax) return amax;
else return a;
@@ -168,7 +176,7 @@ static av_always_inline av_const int16_t av_clip_int16_c(int a)
static av_always_inline av_const int32_t av_clipl_int32_c(int64_t a)
{
if ((a+0x80000000u) & ~UINT64_C(0xFFFFFFFF)) return (a>>63) ^ 0x7FFFFFFF;
else return a;
else return (int32_t)a;
}
/**
@@ -183,6 +191,30 @@ static av_always_inline av_const unsigned av_clip_uintp2_c(int a, int p)
else return a;
}
/**
* Add two signed 32-bit values with saturation.
*
* @param a one value
* @param b another value
* @return sum with signed saturation
*/
static av_always_inline int av_sat_add32_c(int a, int b)
{
return av_clipl_int32((int64_t)a + b);
}
/**
* Add a doubled value to another value with saturation at both stages.
*
* @param a first value
* @param b value doubled and added to a
* @return sum with signed saturation
*/
static av_always_inline int av_sat_dadd32_c(int a, int b)
{
return av_sat_add32(a, av_sat_add32(b, b));
}
/**
* Clip a float value into the amin-amax range.
* @param a value to clip
@@ -192,6 +224,26 @@ static av_always_inline av_const unsigned av_clip_uintp2_c(int a, int p)
*/
static av_always_inline av_const float av_clipf_c(float a, float amin, float amax)
{
#if defined(HAVE_AV_CONFIG_H) && defined(ASSERT_LEVEL) && ASSERT_LEVEL >= 2
if (amin > amax) abort();
#endif
if (a < amin) return amin;
else if (a > amax) return amax;
else return a;
}
/**
* Clip a double value into the amin-amax range.
* @param a value to clip
* @param amin minimum value of the clip range
* @param amax maximum value of the clip range
* @return clipped value
*/
static av_always_inline av_const double av_clipd_c(double a, double amin, double amax)
{
#if defined(HAVE_AV_CONFIG_H) && defined(ASSERT_LEVEL) && ASSERT_LEVEL >= 2
if (amin > amax) abort();
#endif
if (a < amin) return amin;
else if (a > amax) return amax;
else return a;
@@ -227,7 +279,7 @@ static av_always_inline av_const int av_popcount_c(uint32_t x)
*/
static av_always_inline av_const int av_popcount64_c(uint64_t x)
{
return av_popcount(x) + av_popcount(x >> 32);
return av_popcount((uint32_t)x) + av_popcount(x >> 32);
}
#define MKTAG(a,b,c,d) ((a) | ((b) << 8) | ((c) << 16) | ((unsigned)(d) << 24))
@@ -247,16 +299,17 @@ static av_always_inline av_const int av_popcount64_c(uint64_t x)
#define GET_UTF8(val, GET_BYTE, ERROR)\
val= GET_BYTE;\
{\
int ones= 7 - av_log2(val ^ 255);\
if(ones==1)\
uint32_t top = (val & 128) >> 1;\
if ((val & 0xc0) == 0x80 || val >= 0xFE)\
ERROR\
val&= 127>>ones;\
while(--ones > 0){\
while (val & top) {\
int tmp= GET_BYTE - 128;\
if(tmp>>6)\
ERROR\
val= (val<<6) + tmp;\
top <<= 5;\
}\
val &= (top << 1) - 1;\
}
/**
@@ -359,18 +412,15 @@ static av_always_inline av_const int av_popcount64_c(uint64_t x)
* to ensure they are immediately available in intmath.h.
*/
#ifndef av_log2
# define av_log2 av_log2_c
#endif
#ifndef av_log2_16bit
# define av_log2_16bit av_log2_16bit_c
#endif
#ifndef av_ceil_log2
# define av_ceil_log2 av_ceil_log2_c
#endif
#ifndef av_clip
# define av_clip av_clip_c
#endif
#ifndef av_clip64
# define av_clip64 av_clip64_c
#endif
#ifndef av_clip_uint8
# define av_clip_uint8 av_clip_uint8_c
#endif
@@ -389,9 +439,18 @@ static av_always_inline av_const int av_popcount64_c(uint64_t x)
#ifndef av_clip_uintp2
# define av_clip_uintp2 av_clip_uintp2_c
#endif
#ifndef av_sat_add32
# define av_sat_add32 av_sat_add32_c
#endif
#ifndef av_sat_dadd32
# define av_sat_dadd32 av_sat_dadd32_c
#endif
#ifndef av_clipf
# define av_clipf av_clipf_c
#endif
#ifndef av_clipd
# define av_clipd av_clipd_c
#endif
#ifndef av_popcount
# define av_popcount av_popcount_c
#endif
+52 -2
Ver Arquivo
@@ -21,10 +21,13 @@
#ifndef AVUTIL_CPU_H
#define AVUTIL_CPU_H
#include "attributes.h"
#define AV_CPU_FLAG_FORCE 0x80000000 /* force usage of selected flags (OR) */
/* lower 16 bits - CPU features */
#define AV_CPU_FLAG_MMX 0x0001 ///< standard MMX
#define AV_CPU_FLAG_MMXEXT 0x0002 ///< SSE integer functions or AMD MMX ext
#define AV_CPU_FLAG_MMX2 0x0002 ///< SSE integer functions or AMD MMX ext
#define AV_CPU_FLAG_3DNOW 0x0004 ///< AMD 3DNOW
#define AV_CPU_FLAG_SSE 0x0008 ///< SSE functions
@@ -40,20 +43,67 @@
#define AV_CPU_FLAG_AVX 0x4000 ///< AVX functions: requires OS support even if YMM registers aren't used
#define AV_CPU_FLAG_XOP 0x0400 ///< Bulldozer XOP functions
#define AV_CPU_FLAG_FMA4 0x0800 ///< Bulldozer FMA4 functions
#define AV_CPU_FLAG_IWMMXT 0x0100 ///< XScale IWMMXT
// #if LIBAVUTIL_VERSION_MAJOR <52
#define AV_CPU_FLAG_CMOV 0x1001000 ///< supports cmov instruction
// #else
// #define AV_CPU_FLAG_CMOV 0x1000 ///< supports cmov instruction
// #endif
#define AV_CPU_FLAG_ALTIVEC 0x0001 ///< standard
#define AV_CPU_FLAG_ARMV5TE (1 << 0)
#define AV_CPU_FLAG_ARMV6 (1 << 1)
#define AV_CPU_FLAG_ARMV6T2 (1 << 2)
#define AV_CPU_FLAG_VFP (1 << 3)
#define AV_CPU_FLAG_VFPV3 (1 << 4)
#define AV_CPU_FLAG_NEON (1 << 5)
/**
* Return the flags which specify extensions supported by the CPU.
* The returned value is affected by av_force_cpu_flags() if that was used
* before. So av_get_cpu_flags() can easily be used in a application to
* detect the enabled cpu flags.
*/
int av_get_cpu_flags(void);
/**
* Disables cpu detection and forces the specified flags.
* -1 is a special case that disables forcing of specific flags.
*/
void av_force_cpu_flags(int flags);
/**
* Set a mask on flags returned by av_get_cpu_flags().
* This function is mainly useful for testing.
* Please use av_force_cpu_flags() and av_get_cpu_flags() instead which are more flexible
*
* @warning this function is not thread safe.
*/
attribute_deprecated void av_set_cpu_flags_mask(int mask);
/**
* Parse CPU flags from a string.
*
* The returned flags contain the specified flags as well as related unspecified flags.
*
* This function exists only for compatibility with libav.
* Please use av_parse_cpu_caps() when possible.
* @return a combination of AV_CPU_* flags, negative on error.
*/
attribute_deprecated
int av_parse_cpu_flags(const char *s);
/**
* Parse CPU caps from a string and update the given AV_CPU_* flags based on that.
*
* @return negative on error.
*/
int av_parse_cpu_caps(unsigned *flags, const char *s);
/**
* @return the number of logical CPU cores present.
*/
int av_cpu_count(void);
/* The following CPU-specific functions shall not be called directly. */
int ff_get_cpu_flags_arm(void);
+42 -2
Ver Arquivo
@@ -25,6 +25,12 @@
#include <stddef.h>
#include "attributes.h"
/**
* @defgroup lavu_crc32 CRC32
* @ingroup lavu_crypto
* @{
*/
typedef uint32_t AVCRC;
typedef enum {
@@ -36,9 +42,43 @@ typedef enum {
AV_CRC_MAX, /*< Not part of public API! Do not use outside libavutil. */
}AVCRCId;
/**
* Initialize a CRC table.
* @param ctx must be an array of size sizeof(AVCRC)*257 or sizeof(AVCRC)*1024
* @param le If 1, the lowest bit represents the coefficient for the highest
* exponent of the corresponding polynomial (both for poly and
* actual CRC).
* If 0, you must swap the CRC parameter and the result of av_crc
* if you need the standard representation (can be simplified in
* most cases to e.g. bswap16):
* av_bswap32(crc << (32-bits))
* @param bits number of bits for the CRC
* @param poly generator polynomial without the x**bits coefficient, in the
* representation as specified by le
* @param ctx_size size of ctx in bytes
* @return <0 on failure
*/
int av_crc_init(AVCRC *ctx, int le, int bits, uint32_t poly, int ctx_size);
/**
* Get an initialized standard CRC table.
* @param crc_id ID of a standard CRC
* @return a pointer to the CRC table or NULL on failure
*/
const AVCRC *av_crc_get_table(AVCRCId crc_id);
uint32_t av_crc(const AVCRC *ctx, uint32_t start_crc, const uint8_t *buffer, size_t length) av_pure;
/**
* Calculate the CRC of a block.
* @param crc CRC of previous blocks if any or initial value for CRC
* @return CRC updated with the data from the given block
*
* @see av_crc_init() "le" parameter
*/
uint32_t av_crc(const AVCRC *ctx, uint32_t crc,
const uint8_t *buffer, size_t length) av_pure;
/**
* @}
*/
#endif /* AVUTIL_CRC_H */
+28 -3
Ver Arquivo
@@ -74,7 +74,7 @@
#define AV_DICT_APPEND 32 /**< If the entry already exists, append to it. Note that no
delimiter is added, the strings are simply concatenated. */
typedef struct {
typedef struct AVDictionaryEntry {
char *key;
char *value;
} AVDictionaryEntry;
@@ -92,6 +92,14 @@ typedef struct AVDictionary AVDictionary;
AVDictionaryEntry *
av_dict_get(AVDictionary *m, const char *key, const AVDictionaryEntry *prev, int flags);
/**
* Get number of entries in dictionary.
*
* @param m dictionary
* @return number of entries in dictionary
*/
int av_dict_count(const AVDictionary *m);
/**
* Set the given entry in *pm, overwriting an existing entry.
*
@@ -99,11 +107,28 @@ av_dict_get(AVDictionary *m, const char *key, const AVDictionaryEntry *prev, int
* a dictionary struct is allocated and put in *pm.
* @param key entry key to add to *pm (will be av_strduped depending on flags)
* @param value entry value to add to *pm (will be av_strduped depending on flags).
* Passing a NULL value will cause an existing tag to be deleted.
* Passing a NULL value will cause an existing entry to be deleted.
* @return >= 0 on success otherwise an error code <0
*/
int av_dict_set(AVDictionary **pm, const char *key, const char *value, int flags);
/**
* Parse the key/value pairs list and add to a dictionary.
*
* @param key_val_sep a 0-terminated list of characters used to separate
* key from value
* @param pairs_sep a 0-terminated list of characters used to separate
* two pairs from each other
* @param flags flags to use when adding to dictionary.
* AV_DICT_DONT_STRDUP_KEY and AV_DICT_DONT_STRDUP_VAL
* are ignored since the key/value tokens will always
* be duplicated.
* @return 0 on success, negative AVERROR code on failure
*/
int av_dict_parse_string(AVDictionary **pm, const char *str,
const char *key_val_sep, const char *pairs_sep,
int flags);
/**
* Copy entries from one AVDictionary struct into another.
* @param dst pointer to a pointer to a AVDictionary struct. If *dst is NULL,
@@ -124,4 +149,4 @@ void av_dict_free(AVDictionary **m);
* @}
*/
#endif // AVUTIL_DICT_H
#endif /* AVUTIL_DICT_H */
+47 -17
Ver Arquivo
@@ -25,7 +25,7 @@
#define AVUTIL_ERROR_H
#include <errno.h>
#include "avutil.h"
#include <stddef.h>
/**
* @addtogroup lavu_error
@@ -44,27 +44,34 @@
#define AVUNERROR(e) (e)
#endif
#define AVERROR_BSF_NOT_FOUND (-MKTAG(0xF8,'B','S','F')) ///< Bitstream filter not found
#define AVERROR_BUG (-MKTAG( 'B','U','G','!')) ///< Internal bug, also see AVERROR_BUG2
#define AVERROR_DECODER_NOT_FOUND (-MKTAG(0xF8,'D','E','C')) ///< Decoder not found
#define AVERROR_DEMUXER_NOT_FOUND (-MKTAG(0xF8,'D','E','M')) ///< Demuxer not found
#define AVERROR_ENCODER_NOT_FOUND (-MKTAG(0xF8,'E','N','C')) ///< Encoder not found
#define AVERROR_EOF (-MKTAG( 'E','O','F',' ')) ///< End of file
#define AVERROR_EXIT (-MKTAG( 'E','X','I','T')) ///< Immediate exit was requested; the called function should not be restarted
#define AVERROR_FILTER_NOT_FOUND (-MKTAG(0xF8,'F','I','L')) ///< Filter not found
#define AVERROR_INVALIDDATA (-MKTAG( 'I','N','D','A')) ///< Invalid data found when processing input
#define AVERROR_MUXER_NOT_FOUND (-MKTAG(0xF8,'M','U','X')) ///< Muxer not found
#define AVERROR_OPTION_NOT_FOUND (-MKTAG(0xF8,'O','P','T')) ///< Option not found
#define AVERROR_PATCHWELCOME (-MKTAG( 'P','A','W','E')) ///< Not yet implemented in FFmpeg, patches welcome
#define AVERROR_PROTOCOL_NOT_FOUND (-MKTAG(0xF8,'P','R','O')) ///< Protocol not found
#define AVERROR_STREAM_NOT_FOUND (-MKTAG(0xF8,'S','T','R')) ///< Stream not found
#define FFERRTAG(a, b, c, d) (-(int)MKTAG(a, b, c, d))
#define AVERROR_BSF_NOT_FOUND FFERRTAG(0xF8,'B','S','F') ///< Bitstream filter not found
#define AVERROR_BUG FFERRTAG( 'B','U','G','!') ///< Internal bug, also see AVERROR_BUG2
#define AVERROR_BUFFER_TOO_SMALL FFERRTAG( 'B','U','F','S') ///< Buffer too small
#define AVERROR_DECODER_NOT_FOUND FFERRTAG(0xF8,'D','E','C') ///< Decoder not found
#define AVERROR_DEMUXER_NOT_FOUND FFERRTAG(0xF8,'D','E','M') ///< Demuxer not found
#define AVERROR_ENCODER_NOT_FOUND FFERRTAG(0xF8,'E','N','C') ///< Encoder not found
#define AVERROR_EOF FFERRTAG( 'E','O','F',' ') ///< End of file
#define AVERROR_EXIT FFERRTAG( 'E','X','I','T') ///< Immediate exit was requested; the called function should not be restarted
#define AVERROR_EXTERNAL FFERRTAG( 'E','X','T',' ') ///< Generic error in an external library
#define AVERROR_FILTER_NOT_FOUND FFERRTAG(0xF8,'F','I','L') ///< Filter not found
#define AVERROR_INVALIDDATA FFERRTAG( 'I','N','D','A') ///< Invalid data found when processing input
#define AVERROR_MUXER_NOT_FOUND FFERRTAG(0xF8,'M','U','X') ///< Muxer not found
#define AVERROR_OPTION_NOT_FOUND FFERRTAG(0xF8,'O','P','T') ///< Option not found
#define AVERROR_PATCHWELCOME FFERRTAG( 'P','A','W','E') ///< Not yet implemented in FFmpeg, patches welcome
#define AVERROR_PROTOCOL_NOT_FOUND FFERRTAG(0xF8,'P','R','O') ///< Protocol not found
#define AVERROR_STREAM_NOT_FOUND FFERRTAG(0xF8,'S','T','R') ///< Stream not found
/**
* This is semantically identical to AVERROR_BUG
* it has been introduced in Libav after our AVERROR_BUG and with a modified value.
*/
#define AVERROR_BUG2 (-MKTAG( 'B','U','G',' '))
#define AVERROR_UNKNOWN (-MKTAG( 'U','N','K','N')) ///< Unknown error, typically from an external library
#define AVERROR_BUG2 FFERRTAG( 'B','U','G',' ')
#define AVERROR_UNKNOWN FFERRTAG( 'U','N','K','N') ///< Unknown error, typically from an external library
#define AVERROR_EXPERIMENTAL (-0x2bb2afa8) ///< Requested feature is flagged experimental. Set strict_std_compliance if you really want to use it.
#define AV_ERROR_MAX_STRING_SIZE 64
/**
* Put a description of the AVERROR code errnum in errbuf.
@@ -80,6 +87,29 @@
*/
int av_strerror(int errnum, char *errbuf, size_t errbuf_size);
/**
* Fill the provided buffer with a string containing an error string
* corresponding to the AVERROR code errnum.
*
* @param errbuf a buffer
* @param errbuf_size size in bytes of errbuf
* @param errnum error code to describe
* @return the buffer in input, filled with the error description
* @see av_strerror()
*/
static inline char *av_make_error_string(char *errbuf, size_t errbuf_size, int errnum)
{
av_strerror(errnum, errbuf, errbuf_size);
return errbuf;
}
/**
* Convenience macro, the return value should be used only directly in
* function arguments but never stand-alone.
*/
#define av_err2str(errnum) \
av_make_error_string((char[AV_ERROR_MAX_STRING_SIZE]){0}, AV_ERROR_MAX_STRING_SIZE, errnum)
/**
* @}
*/
-33
Ver Arquivo
@@ -91,39 +91,6 @@ double av_expr_eval(AVExpr *e, const double *const_values, void *opaque);
*/
void av_expr_free(AVExpr *e);
#if FF_API_OLD_EVAL_NAMES
/**
* @deprecated Deprecated in favor of av_expr_parse_and_eval().
*/
attribute_deprecated
int av_parse_and_eval_expr(double *res, const char *s,
const char * const *const_names, const double *const_values,
const char * const *func1_names, double (* const *funcs1)(void *, double),
const char * const *func2_names, double (* const *funcs2)(void *, double, double),
void *opaque, int log_offset, void *log_ctx);
/**
* @deprecated Deprecated in favor of av_expr_parse().
*/
attribute_deprecated
int av_parse_expr(AVExpr **expr, const char *s,
const char * const *const_names,
const char * const *func1_names, double (* const *funcs1)(void *, double),
const char * const *func2_names, double (* const *funcs2)(void *, double, double),
int log_offset, void *log_ctx);
/**
* @deprecated Deprecated in favor of av_expr_eval().
*/
attribute_deprecated
double av_eval_expr(AVExpr *e, const double *const_values, void *opaque);
/**
* @deprecated Deprecated in favor of av_expr_free().
*/
attribute_deprecated
void av_free_expr(AVExpr *e);
#endif /* FF_API_OLD_EVAL_NAMES */
/**
* Parse the string in numstr and return its value as a double. If
* the string is empty, contains only whitespaces, or does not contain
+12 -11
Ver Arquivo
@@ -26,6 +26,7 @@
#include <stdint.h>
#include "avutil.h"
#include "attributes.h"
typedef struct AVFifoBuffer {
uint8_t *buffer;
@@ -102,6 +103,17 @@ int av_fifo_generic_write(AVFifoBuffer *f, void *src, int size, int (*func)(void
*/
int av_fifo_realloc2(AVFifoBuffer *f, unsigned int size);
/**
* Enlarge an AVFifoBuffer.
* In case of reallocation failure, the old FIFO is kept unchanged.
* The new fifo size may be larger than the requested size.
*
* @param f AVFifoBuffer to resize
* @param additional_space the amount of space in bytes to allocate in addition to av_fifo_size()
* @return <0 for failure, >=0 otherwise
*/
int av_fifo_grow(AVFifoBuffer *f, unsigned int additional_space);
/**
* Read and discard the specified amount of data from an AVFifoBuffer.
* @param f AVFifoBuffer to read from
@@ -129,15 +141,4 @@ static inline uint8_t *av_fifo_peek2(const AVFifoBuffer *f, int offs)
return ptr;
}
#if FF_API_AV_FIFO_PEEK
/**
* @deprecated Use av_fifo_peek2() instead.
*/
attribute_deprecated
static inline uint8_t av_fifo_peek(AVFifoBuffer *f, int offs)
{
return *av_fifo_peek2(f, offs);
}
#endif
#endif /* AVUTIL_FIFO_H */
+5
Ver Arquivo
@@ -19,6 +19,8 @@
#ifndef AVUTIL_FILE_H
#define AVUTIL_FILE_H
#include <stdint.h>
#include "avutil.h"
/**
@@ -55,6 +57,9 @@ void av_file_unmap(uint8_t *bufptr, size_t size);
* *prefix can be a character constant; *filename will be allocated internally.
* @return file descriptor of opened file (or -1 on error)
* and opened file name in **filename.
* @note On very old libcs it is necessary to set a secure umask before
* calling this, av_tempfile() can't call umask itself as it is used in
* libraries and could interfere with the calling application.
*/
int av_tempfile(const char *prefix, char **filename, int log_offset, void *log_ctx);
+607
Ver Arquivo
@@ -0,0 +1,607 @@
/*
*
* This file is part of FFmpeg.
*
* FFmpeg is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* FFmpeg is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with FFmpeg; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#ifndef AVUTIL_FRAME_H
#define AVUTIL_FRAME_H
#include <stdint.h>
#include "libavcodec/version.h"
#include "avutil.h"
#include "buffer.h"
#include "dict.h"
#include "rational.h"
#include "samplefmt.h"
enum AVFrameSideDataType {
/**
* The data is the AVPanScan struct defined in libavcodec.
*/
AV_FRAME_DATA_PANSCAN,
};
typedef struct AVFrameSideData {
enum AVFrameSideDataType type;
uint8_t *data;
int size;
AVDictionary *metadata;
} AVFrameSideData;
/**
* This structure describes decoded (raw) audio or video data.
*
* AVFrame must be allocated using av_frame_alloc(). Note that this only
* allocates the AVFrame itself, the buffers for the data must be managed
* through other means (see below).
* AVFrame must be freed with av_frame_free().
*
* AVFrame is typically allocated once and then reused multiple times to hold
* different data (e.g. a single AVFrame to hold frames received from a
* decoder). In such a case, av_frame_unref() will free any references held by
* the frame and reset it to its original clean state before it
* is reused again.
*
* The data described by an AVFrame is usually reference counted through the
* AVBuffer API. The underlying buffer references are stored in AVFrame.buf /
* AVFrame.extended_buf. An AVFrame is considered to be reference counted if at
* least one reference is set, i.e. if AVFrame.buf[0] != NULL. In such a case,
* every single data plane must be contained in one of the buffers in
* AVFrame.buf or AVFrame.extended_buf.
* There may be a single buffer for all the data, or one separate buffer for
* each plane, or anything in between.
*
* sizeof(AVFrame) is not a part of the public ABI, so new fields may be added
* to the end with a minor bump.
* Similarly fields that are marked as to be only accessed by
* av_opt_ptr() can be reordered. This allows 2 forks to add fields
* without breaking compatibility with each other.
*/
typedef struct AVFrame {
#define AV_NUM_DATA_POINTERS 8
/**
* pointer to the picture/channel planes.
* This might be different from the first allocated byte
*
* Some decoders access areas outside 0,0 - width,height, please
* see avcodec_align_dimensions2(). Some filters and swscale can read
* up to 16 bytes beyond the planes, if these filters are to be used,
* then 16 extra bytes must be allocated.
*/
uint8_t *data[AV_NUM_DATA_POINTERS];
/**
* For video, size in bytes of each picture line.
* For audio, size in bytes of each plane.
*
* For audio, only linesize[0] may be set. For planar audio, each channel
* plane must be the same size.
*
* For video the linesizes should be multiplies of the CPUs alignment
* preference, this is 16 or 32 for modern desktop CPUs.
* Some code requires such alignment other code can be slower without
* correct alignment, for yet other it makes no difference.
*/
int linesize[AV_NUM_DATA_POINTERS];
/**
* pointers to the data planes/channels.
*
* For video, this should simply point to data[].
*
* For planar audio, each channel has a separate data pointer, and
* linesize[0] contains the size of each channel buffer.
* For packed audio, there is just one data pointer, and linesize[0]
* contains the total size of the buffer for all channels.
*
* Note: Both data and extended_data should always be set in a valid frame,
* but for planar audio with more channels that can fit in data,
* extended_data must be used in order to access all channels.
*/
uint8_t **extended_data;
/**
* width and height of the video frame
*/
int width, height;
/**
* number of audio samples (per channel) described by this frame
*/
int nb_samples;
/**
* format of the frame, -1 if unknown or unset
* Values correspond to enum AVPixelFormat for video frames,
* enum AVSampleFormat for audio)
*/
int format;
/**
* 1 -> keyframe, 0-> not
*/
int key_frame;
/**
* Picture type of the frame.
*/
enum AVPictureType pict_type;
#if FF_API_AVFRAME_LAVC
attribute_deprecated
uint8_t *base[AV_NUM_DATA_POINTERS];
#endif
/**
* Sample aspect ratio for the video frame, 0/1 if unknown/unspecified.
*/
AVRational sample_aspect_ratio;
/**
* Presentation timestamp in time_base units (time when frame should be shown to user).
*/
int64_t pts;
/**
* PTS copied from the AVPacket that was decoded to produce this frame.
*/
int64_t pkt_pts;
/**
* DTS copied from the AVPacket that triggered returning this frame. (if frame threading isnt used)
* This is also the Presentation time of this AVFrame calculated from
* only AVPacket.dts values without pts values.
*/
int64_t pkt_dts;
/**
* picture number in bitstream order
*/
int coded_picture_number;
/**
* picture number in display order
*/
int display_picture_number;
/**
* quality (between 1 (good) and FF_LAMBDA_MAX (bad))
*/
int quality;
#if FF_API_AVFRAME_LAVC
attribute_deprecated
int reference;
/**
* QP table
*/
attribute_deprecated
int8_t *qscale_table;
/**
* QP store stride
*/
attribute_deprecated
int qstride;
attribute_deprecated
int qscale_type;
/**
* mbskip_table[mb]>=1 if MB didn't change
* stride= mb_width = (width+15)>>4
*/
attribute_deprecated
uint8_t *mbskip_table;
/**
* motion vector table
* @code
* example:
* int mv_sample_log2= 4 - motion_subsample_log2;
* int mb_width= (width+15)>>4;
* int mv_stride= (mb_width << mv_sample_log2) + 1;
* motion_val[direction][x + y*mv_stride][0->mv_x, 1->mv_y];
* @endcode
*/
attribute_deprecated
int16_t (*motion_val[2])[2];
/**
* macroblock type table
* mb_type_base + mb_width + 2
*/
attribute_deprecated
uint32_t *mb_type;
/**
* DCT coefficients
*/
attribute_deprecated
short *dct_coeff;
/**
* motion reference frame index
* the order in which these are stored can depend on the codec.
*/
attribute_deprecated
int8_t *ref_index[2];
#endif
/**
* for some private data of the user
*/
void *opaque;
/**
* error
*/
uint64_t error[AV_NUM_DATA_POINTERS];
#if FF_API_AVFRAME_LAVC
attribute_deprecated
int type;
#endif
/**
* When decoding, this signals how much the picture must be delayed.
* extra_delay = repeat_pict / (2*fps)
*/
int repeat_pict;
/**
* The content of the picture is interlaced.
*/
int interlaced_frame;
/**
* If the content is interlaced, is top field displayed first.
*/
int top_field_first;
/**
* Tell user application that palette has changed from previous frame.
*/
int palette_has_changed;
#if FF_API_AVFRAME_LAVC
attribute_deprecated
int buffer_hints;
/**
* Pan scan.
*/
attribute_deprecated
struct AVPanScan *pan_scan;
#endif
/**
* reordered opaque 64bit (generally an integer or a double precision float
* PTS but can be anything).
* The user sets AVCodecContext.reordered_opaque to represent the input at
* that time,
* the decoder reorders values as needed and sets AVFrame.reordered_opaque
* to exactly one of the values provided by the user through AVCodecContext.reordered_opaque
* @deprecated in favor of pkt_pts
*/
int64_t reordered_opaque;
#if FF_API_AVFRAME_LAVC
/**
* @deprecated this field is unused
*/
attribute_deprecated void *hwaccel_picture_private;
attribute_deprecated
struct AVCodecContext *owner;
attribute_deprecated
void *thread_opaque;
/**
* log2 of the size of the block which a single vector in motion_val represents:
* (4->16x16, 3->8x8, 2-> 4x4, 1-> 2x2)
*/
attribute_deprecated
uint8_t motion_subsample_log2;
#endif
/**
* Sample rate of the audio data.
*/
int sample_rate;
/**
* Channel layout of the audio data.
*/
uint64_t channel_layout;
/**
* AVBuffer references backing the data for this frame. If all elements of
* this array are NULL, then this frame is not reference counted.
*
* There may be at most one AVBuffer per data plane, so for video this array
* always contains all the references. For planar audio with more than
* AV_NUM_DATA_POINTERS channels, there may be more buffers than can fit in
* this array. Then the extra AVBufferRef pointers are stored in the
* extended_buf array.
*/
AVBufferRef *buf[AV_NUM_DATA_POINTERS];
/**
* For planar audio which requires more than AV_NUM_DATA_POINTERS
* AVBufferRef pointers, this array will hold all the references which
* cannot fit into AVFrame.buf.
*
* Note that this is different from AVFrame.extended_data, which always
* contains all the pointers. This array only contains the extra pointers,
* which cannot fit into AVFrame.buf.
*
* This array is always allocated using av_malloc() by whoever constructs
* the frame. It is freed in av_frame_unref().
*/
AVBufferRef **extended_buf;
/**
* Number of elements in extended_buf.
*/
int nb_extended_buf;
AVFrameSideData **side_data;
int nb_side_data;
/**
* frame timestamp estimated using various heuristics, in stream time base
* Code outside libavcodec should access this field using:
* av_frame_get_best_effort_timestamp(frame)
* - encoding: unused
* - decoding: set by libavcodec, read by user.
*/
int64_t best_effort_timestamp;
/**
* reordered pos from the last AVPacket that has been input into the decoder
* Code outside libavcodec should access this field using:
* av_frame_get_pkt_pos(frame)
* - encoding: unused
* - decoding: Read by user.
*/
int64_t pkt_pos;
/**
* duration of the corresponding packet, expressed in
* AVStream->time_base units, 0 if unknown.
* Code outside libavcodec should access this field using:
* av_frame_get_pkt_duration(frame)
* - encoding: unused
* - decoding: Read by user.
*/
int64_t pkt_duration;
/**
* metadata.
* Code outside libavcodec should access this field using:
* av_frame_get_metadata(frame)
* - encoding: Set by user.
* - decoding: Set by libavcodec.
*/
AVDictionary *metadata;
/**
* decode error flags of the frame, set to a combination of
* FF_DECODE_ERROR_xxx flags if the decoder produced a frame, but there
* were errors during the decoding.
* Code outside libavcodec should access this field using:
* av_frame_get_decode_error_flags(frame)
* - encoding: unused
* - decoding: set by libavcodec, read by user.
*/
int decode_error_flags;
#define FF_DECODE_ERROR_INVALID_BITSTREAM 1
#define FF_DECODE_ERROR_MISSING_REFERENCE 2
/**
* number of audio channels, only used for audio.
* Code outside libavcodec should access this field using:
* av_frame_get_channels(frame)
* - encoding: unused
* - decoding: Read by user.
*/
int channels;
/**
* size of the corresponding packet containing the compressed
* frame. It must be accessed using av_frame_get_pkt_size() and
* av_frame_set_pkt_size().
* It is set to a negative value if unknown.
* - encoding: unused
* - decoding: set by libavcodec, read by user.
*/
int pkt_size;
/**
* Not to be accessed directly from outside libavutil
*/
AVBufferRef *qp_table_buf;
} AVFrame;
/**
* Accessors for some AVFrame fields.
* The position of these field in the structure is not part of the ABI,
* they should not be accessed directly outside libavcodec.
*/
int64_t av_frame_get_best_effort_timestamp(const AVFrame *frame);
void av_frame_set_best_effort_timestamp(AVFrame *frame, int64_t val);
int64_t av_frame_get_pkt_duration (const AVFrame *frame);
void av_frame_set_pkt_duration (AVFrame *frame, int64_t val);
int64_t av_frame_get_pkt_pos (const AVFrame *frame);
void av_frame_set_pkt_pos (AVFrame *frame, int64_t val);
int64_t av_frame_get_channel_layout (const AVFrame *frame);
void av_frame_set_channel_layout (AVFrame *frame, int64_t val);
int av_frame_get_channels (const AVFrame *frame);
void av_frame_set_channels (AVFrame *frame, int val);
int av_frame_get_sample_rate (const AVFrame *frame);
void av_frame_set_sample_rate (AVFrame *frame, int val);
AVDictionary *av_frame_get_metadata (const AVFrame *frame);
void av_frame_set_metadata (AVFrame *frame, AVDictionary *val);
int av_frame_get_decode_error_flags (const AVFrame *frame);
void av_frame_set_decode_error_flags (AVFrame *frame, int val);
int av_frame_get_pkt_size(const AVFrame *frame);
void av_frame_set_pkt_size(AVFrame *frame, int val);
AVDictionary **avpriv_frame_get_metadatap(AVFrame *frame);
int8_t *av_frame_get_qp_table(AVFrame *f, int *stride, int *type);
int av_frame_set_qp_table(AVFrame *f, AVBufferRef *buf, int stride, int type);
/**
* Allocate an AVFrame and set its fields to default values. The resulting
* struct must be freed using av_frame_free().
*
* @return An AVFrame filled with default values or NULL on failure.
*
* @note this only allocates the AVFrame itself, not the data buffers. Those
* must be allocated through other means, e.g. with av_frame_get_buffer() or
* manually.
*/
AVFrame *av_frame_alloc(void);
/**
* Free the frame and any dynamically allocated objects in it,
* e.g. extended_data. If the frame is reference counted, it will be
* unreferenced first.
*
* @param frame frame to be freed. The pointer will be set to NULL.
*/
void av_frame_free(AVFrame **frame);
/**
* Setup a new reference to the data described by an given frame.
*
* Copy frame properties from src to dst and create a new reference for each
* AVBufferRef from src.
*
* If src is not reference counted, new buffers are allocated and the data is
* copied.
*
* @return 0 on success, a negative AVERROR on error
*/
int av_frame_ref(AVFrame *dst, AVFrame *src);
/**
* Create a new frame that references the same data as src.
*
* This is a shortcut for av_frame_alloc()+av_frame_ref().
*
* @return newly created AVFrame on success, NULL on error.
*/
AVFrame *av_frame_clone(AVFrame *src);
/**
* Unreference all the buffers referenced by frame and reset the frame fields.
*/
void av_frame_unref(AVFrame *frame);
/**
* Move everythnig contained in src to dst and reset src.
*/
void av_frame_move_ref(AVFrame *dst, AVFrame *src);
/**
* Allocate new buffer(s) for audio or video data.
*
* The following fields must be set on frame before calling this function:
* - format (pixel format for video, sample format for audio)
* - width and height for video
* - nb_samples and channel_layout for audio
*
* This function will fill AVFrame.data and AVFrame.buf arrays and, if
* necessary, allocate and fill AVFrame.extended_data and AVFrame.extended_buf.
* For planar formats, one buffer will be allocated for each plane.
*
* @param frame frame in which to store the new buffers.
* @param align required buffer size alignment
*
* @return 0 on success, a negative AVERROR on error.
*/
int av_frame_get_buffer(AVFrame *frame, int align);
/**
* Check if the frame data is writable.
*
* @return A positive value if the frame data is writable (which is true if and
* only if each of the underlying buffers has only one reference, namely the one
* stored in this frame). Return 0 otherwise.
*
* If 1 is returned the answer is valid until av_buffer_ref() is called on any
* of the underlying AVBufferRefs (e.g. through av_frame_ref() or directly).
*
* @see av_frame_make_writable(), av_buffer_is_writable()
*/
int av_frame_is_writable(AVFrame *frame);
/**
* Ensure that the frame data is writable, avoiding data copy if possible.
*
* Do nothing if the frame is writable, allocate new buffers and copy the data
* if it is not.
*
* @return 0 on success, a negative AVERROR on error.
*
* @see av_frame_is_writable(), av_buffer_is_writable(),
* av_buffer_make_writable()
*/
int av_frame_make_writable(AVFrame *frame);
/**
* Copy only "metadata" fields from src to dst.
*
* Metadata for the purpose of this function are those fields that do not affect
* the data layout in the buffers. E.g. pts, sample rate (for audio) or sample
* aspect ratio (for video), but not width/height or channel layout.
* Side data is also copied.
*/
int av_frame_copy_props(AVFrame *dst, const AVFrame *src);
/**
* Get the buffer reference a given data plane is stored in.
*
* @param plane index of the data plane of interest in frame->extended_data.
*
* @return the buffer reference that contains the plane or NULL if the input
* frame is not valid.
*/
AVBufferRef *av_frame_get_plane_buffer(AVFrame *frame, int plane);
/**
* Add a new side data to a frame.
*
* @param frame a frame to which the side data should be added
* @param type type of the added side data
* @param size size of the side data
*
* @return newly added side data on success, NULL on error
*/
AVFrameSideData *av_frame_new_side_data(AVFrame *frame,
enum AVFrameSideDataType type,
int size);
/**
* @return a pointer to the side data of a given type on success, NULL if there
* is no side data with such type in this frame.
*/
AVFrameSideData *av_frame_get_side_data(AVFrame *frame,
enum AVFrameSideDataType type);
#endif /* AVUTIL_FRAME_H */
+99
Ver Arquivo
@@ -0,0 +1,99 @@
/*
* Copyright (C) 2012 Martin Storsjo
*
* This file is part of FFmpeg.
*
* FFmpeg is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* FFmpeg is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with FFmpeg; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#ifndef AVUTIL_HMAC_H
#define AVUTIL_HMAC_H
#include <stdint.h>
/**
* @defgroup lavu_hmac HMAC
* @ingroup lavu_crypto
* @{
*/
enum AVHMACType {
AV_HMAC_MD5,
AV_HMAC_SHA1,
AV_HMAC_SHA224 = 10,
AV_HMAC_SHA256,
AV_HMAC_SHA384,
AV_HMAC_SHA512,
};
typedef struct AVHMAC AVHMAC;
/**
* Allocate an AVHMAC context.
* @param type The hash function used for the HMAC.
*/
AVHMAC *av_hmac_alloc(enum AVHMACType type);
/**
* Free an AVHMAC context.
* @param ctx The context to free, may be NULL
*/
void av_hmac_free(AVHMAC *ctx);
/**
* Initialize an AVHMAC context with an authentication key.
* @param ctx The HMAC context
* @param key The authentication key
* @param keylen The length of the key, in bytes
*/
void av_hmac_init(AVHMAC *ctx, const uint8_t *key, unsigned int keylen);
/**
* Hash data with the HMAC.
* @param ctx The HMAC context
* @param data The data to hash
* @param len The length of the data, in bytes
*/
void av_hmac_update(AVHMAC *ctx, const uint8_t *data, unsigned int len);
/**
* Finish hashing and output the HMAC digest.
* @param ctx The HMAC context
* @param out The output buffer to write the digest into
* @param outlen The length of the out buffer, in bytes
* @return The number of bytes written to out, or a negative error code.
*/
int av_hmac_final(AVHMAC *ctx, uint8_t *out, unsigned int outlen);
/**
* Hash an array of data with a key.
* @param ctx The HMAC context
* @param data The data to hash
* @param len The length of the data, in bytes
* @param key The authentication key
* @param keylen The length of the key, in bytes
* @param out The output buffer to write the digest into
* @param outlen The length of the out buffer, in bytes
* @return The number of bytes written to out, or a negative error code.
*/
int av_hmac_calc(AVHMAC *ctx, const uint8_t *data, unsigned int len,
const uint8_t *key, unsigned int keylen,
uint8_t *out, unsigned int outlen);
/**
* @}
*/
#endif /* AVUTIL_HMAC_H */
+68 -6
Ver Arquivo
@@ -55,7 +55,7 @@ void av_image_fill_max_pixsteps(int max_pixsteps[4], int max_pixstep_comps[4],
*
* @return the computed size in bytes
*/
int av_image_get_linesize(enum PixelFormat pix_fmt, int width, int plane);
int av_image_get_linesize(enum AVPixelFormat pix_fmt, int width, int plane);
/**
* Fill plane linesizes for an image with pixel format pix_fmt and
@@ -64,7 +64,7 @@ int av_image_get_linesize(enum PixelFormat pix_fmt, int width, int plane);
* @param linesizes array to be filled with the linesize for each plane
* @return >= 0 in case of success, a negative error code otherwise
*/
int av_image_fill_linesizes(int linesizes[4], enum PixelFormat pix_fmt, int width);
int av_image_fill_linesizes(int linesizes[4], enum AVPixelFormat pix_fmt, int width);
/**
* Fill plane data pointers for an image with pixel format pix_fmt and
@@ -77,7 +77,7 @@ int av_image_fill_linesizes(int linesizes[4], enum PixelFormat pix_fmt, int widt
* @return the size in bytes required for the image buffer, a negative
* error code in case of failure
*/
int av_image_fill_pointers(uint8_t *data[4], enum PixelFormat pix_fmt, int height,
int av_image_fill_pointers(uint8_t *data[4], enum AVPixelFormat pix_fmt, int height,
uint8_t *ptr, const int linesizes[4]);
/**
@@ -91,7 +91,7 @@ int av_image_fill_pointers(uint8_t *data[4], enum PixelFormat pix_fmt, int heigh
* error code in case of failure
*/
int av_image_alloc(uint8_t *pointers[4], int linesizes[4],
int w, int h, enum PixelFormat pix_fmt, int align);
int w, int h, enum AVPixelFormat pix_fmt, int align);
/**
* Copy image plane from src to dst.
@@ -99,6 +99,9 @@ int av_image_alloc(uint8_t *pointers[4], int linesizes[4],
* The first byte of each successive line is separated by *_linesize
* bytes.
*
* bytewidth must be contained by both absolute values of dst_linesize
* and src_linesize, otherwise the function behavior is undefined.
*
* @param dst_linesize linesize for the image plane in dst
* @param src_linesize linesize for the image plane in src
*/
@@ -114,7 +117,66 @@ void av_image_copy_plane(uint8_t *dst, int dst_linesize,
*/
void av_image_copy(uint8_t *dst_data[4], int dst_linesizes[4],
const uint8_t *src_data[4], const int src_linesizes[4],
enum PixelFormat pix_fmt, int width, int height);
enum AVPixelFormat pix_fmt, int width, int height);
/**
* Setup the data pointers and linesizes based on the specified image
* parameters and the provided array.
*
* The fields of the given image are filled in by using the src
* address which points to the image data buffer. Depending on the
* specified pixel format, one or multiple image data pointers and
* line sizes will be set. If a planar format is specified, several
* pointers will be set pointing to the different picture planes and
* the line sizes of the different planes will be stored in the
* lines_sizes array. Call with src == NULL to get the required
* size for the src buffer.
*
* To allocate the buffer and fill in the dst_data and dst_linesize in
* one call, use av_image_alloc().
*
* @param dst_data data pointers to be filled in
* @param dst_linesizes linesizes for the image in dst_data to be filled in
* @param src buffer which will contain or contains the actual image data, can be NULL
* @param pix_fmt the pixel format of the image
* @param width the width of the image in pixels
* @param height the height of the image in pixels
* @param align the value used in src for linesize alignment
* @return the size in bytes required for src, a negative error code
* in case of failure
*/
int av_image_fill_arrays(uint8_t *dst_data[4], int dst_linesize[4],
const uint8_t *src,
enum AVPixelFormat pix_fmt, int width, int height, int align);
/**
* Return the size in bytes of the amount of data required to store an
* image with the given parameters.
*
* @param[in] align the assumed linesize alignment
*/
int av_image_get_buffer_size(enum AVPixelFormat pix_fmt, int width, int height, int align);
/**
* Copy image data from an image into a buffer.
*
* av_image_get_buffer_size() can be used to compute the required size
* for the buffer to fill.
*
* @param dst a buffer into which picture data will be copied
* @param dst_size the size in bytes of dst
* @param src_data pointers containing the source image data
* @param src_linesizes linesizes for the image in src_data
* @param pix_fmt the pixel format of the source image
* @param width the width of the source image in pixels
* @param height the height of the source image in pixels
* @param align the assumed linesize alignment for dst
* @return the number of bytes written to dst, or a negative value
* (error code) on error
*/
int av_image_copy_to_buffer(uint8_t *dst, int dst_size,
const uint8_t * const src_data[4], const int src_linesize[4],
enum AVPixelFormat pix_fmt, int width, int height, int align);
/**
* Check if the given dimension of an image is valid, meaning that all
@@ -128,7 +190,7 @@ void av_image_copy(uint8_t *dst_data[4], int dst_linesizes[4],
*/
int av_image_check_size(unsigned int w, unsigned int h, int log_offset, void *log_ctx);
int ff_set_systematic_pal2(uint32_t pal[256], enum PixelFormat pix_fmt);
int avpriv_set_systematic_pal2(uint32_t pal[256], enum AVPixelFormat pix_fmt);
/**
* @}
+8 -4
Ver Arquivo
@@ -39,7 +39,8 @@ union av_intfloat64 {
*/
static av_always_inline float av_int2float(uint32_t i)
{
union av_intfloat32 v = { .i = i };
union av_intfloat32 v;
v.i = i;
return v.f;
}
@@ -48,7 +49,8 @@ static av_always_inline float av_int2float(uint32_t i)
*/
static av_always_inline uint32_t av_float2int(float f)
{
union av_intfloat32 v = { .f = f };
union av_intfloat32 v;
v.f = f;
return v.i;
}
@@ -57,7 +59,8 @@ static av_always_inline uint32_t av_float2int(float f)
*/
static av_always_inline double av_int2double(uint64_t i)
{
union av_intfloat64 v = { .i = i };
union av_intfloat64 v;
v.i = i;
return v.f;
}
@@ -66,7 +69,8 @@ static av_always_inline double av_int2double(uint64_t i)
*/
static av_always_inline uint64_t av_double2int(double f)
{
union av_intfloat64 v = { .f = f };
union av_intfloat64 v;
v.f = f;
return v.i;
}
+106 -7
Ver Arquivo
@@ -47,7 +47,7 @@ typedef union {
/*
* Arch-specific headers can provide any combination of
* AV_[RW][BLN](16|24|32|64) and AV_(COPY|SWAP|ZERO)(64|128) macros.
* AV_[RW][BLN](16|24|32|48|64) and AV_(COPY|SWAP|ZERO)(64|128) macros.
* Preprocessor symbols must be defined, even if these are implemented
* as inline functions.
*/
@@ -114,6 +114,18 @@ typedef union {
# define AV_WN32(p, v) AV_WB32(p, v)
# endif
# if defined(AV_RN48) && !defined(AV_RB48)
# define AV_RB48(p) AV_RN48(p)
# elif !defined(AV_RN48) && defined(AV_RB48)
# define AV_RN48(p) AV_RB48(p)
# endif
# if defined(AV_WN48) && !defined(AV_WB48)
# define AV_WB48(p, v) AV_WN48(p, v)
# elif !defined(AV_WN48) && defined(AV_WB48)
# define AV_WN48(p, v) AV_WB48(p, v)
# endif
# if defined(AV_RN64) && !defined(AV_RB64)
# define AV_RB64(p) AV_RN64(p)
# elif !defined(AV_RN64) && defined(AV_RB64)
@@ -164,6 +176,18 @@ typedef union {
# define AV_WN32(p, v) AV_WL32(p, v)
# endif
# if defined(AV_RN48) && !defined(AV_RL48)
# define AV_RL48(p) AV_RN48(p)
# elif !defined(AV_RN48) && defined(AV_RL48)
# define AV_RN48(p) AV_RL48(p)
# endif
# if defined(AV_WN48) && !defined(AV_WL48)
# define AV_WL48(p, v) AV_WN48(p, v)
# elif !defined(AV_WN48) && defined(AV_WL48)
# define AV_WN48(p, v) AV_WL48(p, v)
# endif
# if defined(AV_RN64) && !defined(AV_RL64)
# define AV_RL64(p) AV_RN64(p)
# elif !defined(AV_RN64) && defined(AV_RL64)
@@ -210,7 +234,8 @@ union unaligned_16 { uint16_t l; } __attribute__((packed)) av_alias;
((const uint8_t*)(x))[1])
#endif
#ifndef AV_WB16
# define AV_WB16(p, d) do { \
# define AV_WB16(p, darg) do { \
unsigned d = (darg); \
((uint8_t*)(p))[1] = (d); \
((uint8_t*)(p))[0] = (d)>>8; \
} while(0)
@@ -222,7 +247,8 @@ union unaligned_16 { uint16_t l; } __attribute__((packed)) av_alias;
((const uint8_t*)(x))[0])
#endif
#ifndef AV_WL16
# define AV_WL16(p, d) do { \
# define AV_WL16(p, darg) do { \
unsigned d = (darg); \
((uint8_t*)(p))[0] = (d); \
((uint8_t*)(p))[1] = (d)>>8; \
} while(0)
@@ -236,7 +262,8 @@ union unaligned_16 { uint16_t l; } __attribute__((packed)) av_alias;
((const uint8_t*)(x))[3])
#endif
#ifndef AV_WB32
# define AV_WB32(p, d) do { \
# define AV_WB32(p, darg) do { \
unsigned d = (darg); \
((uint8_t*)(p))[3] = (d); \
((uint8_t*)(p))[2] = (d)>>8; \
((uint8_t*)(p))[1] = (d)>>16; \
@@ -252,7 +279,8 @@ union unaligned_16 { uint16_t l; } __attribute__((packed)) av_alias;
((const uint8_t*)(x))[0])
#endif
#ifndef AV_WL32
# define AV_WL32(p, d) do { \
# define AV_WL32(p, darg) do { \
unsigned d = (darg); \
((uint8_t*)(p))[0] = (d); \
((uint8_t*)(p))[1] = (d)>>8; \
((uint8_t*)(p))[2] = (d)>>16; \
@@ -272,7 +300,8 @@ union unaligned_16 { uint16_t l; } __attribute__((packed)) av_alias;
(uint64_t)((const uint8_t*)(x))[7])
#endif
#ifndef AV_WB64
# define AV_WB64(p, d) do { \
# define AV_WB64(p, darg) do { \
uint64_t d = (darg); \
((uint8_t*)(p))[7] = (d); \
((uint8_t*)(p))[6] = (d)>>8; \
((uint8_t*)(p))[5] = (d)>>16; \
@@ -296,7 +325,8 @@ union unaligned_16 { uint16_t l; } __attribute__((packed)) av_alias;
(uint64_t)((const uint8_t*)(x))[0])
#endif
#ifndef AV_WL64
# define AV_WL64(p, d) do { \
# define AV_WL64(p, darg) do { \
uint64_t d = (darg); \
((uint8_t*)(p))[0] = (d); \
((uint8_t*)(p))[1] = (d)>>8; \
((uint8_t*)(p))[2] = (d)>>16; \
@@ -430,6 +460,48 @@ union unaligned_16 { uint16_t l; } __attribute__((packed)) av_alias;
} while(0)
#endif
#ifndef AV_RB48
# define AV_RB48(x) \
(((uint64_t)((const uint8_t*)(x))[0] << 40) | \
((uint64_t)((const uint8_t*)(x))[1] << 32) | \
((uint64_t)((const uint8_t*)(x))[2] << 24) | \
((uint64_t)((const uint8_t*)(x))[3] << 16) | \
((uint64_t)((const uint8_t*)(x))[4] << 8) | \
(uint64_t)((const uint8_t*)(x))[5])
#endif
#ifndef AV_WB48
# define AV_WB48(p, darg) do { \
uint64_t d = (darg); \
((uint8_t*)(p))[5] = (d); \
((uint8_t*)(p))[4] = (d)>>8; \
((uint8_t*)(p))[3] = (d)>>16; \
((uint8_t*)(p))[2] = (d)>>24; \
((uint8_t*)(p))[1] = (d)>>32; \
((uint8_t*)(p))[0] = (d)>>40; \
} while(0)
#endif
#ifndef AV_RL48
# define AV_RL48(x) \
(((uint64_t)((const uint8_t*)(x))[5] << 40) | \
((uint64_t)((const uint8_t*)(x))[4] << 32) | \
((uint64_t)((const uint8_t*)(x))[3] << 24) | \
((uint64_t)((const uint8_t*)(x))[2] << 16) | \
((uint64_t)((const uint8_t*)(x))[1] << 8) | \
(uint64_t)((const uint8_t*)(x))[0])
#endif
#ifndef AV_WL48
# define AV_WL48(p, darg) do { \
uint64_t d = (darg); \
((uint8_t*)(p))[0] = (d); \
((uint8_t*)(p))[1] = (d)>>8; \
((uint8_t*)(p))[2] = (d)>>16; \
((uint8_t*)(p))[3] = (d)>>24; \
((uint8_t*)(p))[4] = (d)>>32; \
((uint8_t*)(p))[5] = (d)>>40; \
} while(0)
#endif
/*
* The AV_[RW]NA macros access naturally aligned data
* in a type-safe way.
@@ -462,6 +534,33 @@ union unaligned_16 { uint16_t l; } __attribute__((packed)) av_alias;
# define AV_WN64A(p, v) AV_WNA(64, p, v)
#endif
/*
* The AV_COPYxxU macros are suitable for copying data to/from unaligned
* memory locations.
*/
#define AV_COPYU(n, d, s) AV_WN##n(d, AV_RN##n(s));
#ifndef AV_COPY16U
# define AV_COPY16U(d, s) AV_COPYU(16, d, s)
#endif
#ifndef AV_COPY32U
# define AV_COPY32U(d, s) AV_COPYU(32, d, s)
#endif
#ifndef AV_COPY64U
# define AV_COPY64U(d, s) AV_COPYU(64, d, s)
#endif
#ifndef AV_COPY128U
# define AV_COPY128U(d, s) \
do { \
AV_COPY64U(d, s); \
AV_COPY64U((char *)(d) + 8, (const char *)(s) + 8); \
} while(0)
#endif
/* Parameters for AV_COPY*, AV_SWAP*, AV_ZERO* must be
* naturally aligned. They may be implemented using MMX,
* so emms_c() must be called before using any float code
+1 -1
Ver Arquivo
@@ -22,7 +22,7 @@
#ifndef AVUTIL_LFG_H
#define AVUTIL_LFG_H
typedef struct {
typedef struct AVLFG {
unsigned int state[64];
int index;
} AVLFG;
+45 -5
Ver Arquivo
@@ -25,6 +25,23 @@
#include "avutil.h"
#include "attributes.h"
typedef enum {
AV_CLASS_CATEGORY_NA = 0,
AV_CLASS_CATEGORY_INPUT,
AV_CLASS_CATEGORY_OUTPUT,
AV_CLASS_CATEGORY_MUXER,
AV_CLASS_CATEGORY_DEMUXER,
AV_CLASS_CATEGORY_ENCODER,
AV_CLASS_CATEGORY_DECODER,
AV_CLASS_CATEGORY_FILTER,
AV_CLASS_CATEGORY_BITSTREAM_FILTER,
AV_CLASS_CATEGORY_SWSCALER,
AV_CLASS_CATEGORY_SWRESAMPLER,
AV_CLASS_CATEGORY_NB, ///< not part of ABI/API
}AVClassCategory;
struct AVOptionRanges;
/**
* Describe the class of an AVClass context structure. That is an
* arbitrary struct of which the first field is a pointer to an
@@ -65,10 +82,11 @@ typedef struct AVClass {
int log_level_offset_offset;
/**
* Offset in the structure where a pointer to the parent context for loging is stored.
* for example a decoder that uses eval.c could pass its AVCodecContext to eval as such
* parent context. And a av_log() implementation could then display the parent context
* can be NULL of course
* Offset in the structure where a pointer to the parent context for
* logging is stored. For example a decoder could pass its AVCodecContext
* to eval as such a parent context, which an av_log() implementation
* could then leverage to display the parent context.
* The offset can be NULL.
*/
int parent_log_context_offset;
@@ -78,7 +96,7 @@ typedef struct AVClass {
void* (*child_next)(void *obj, void *prev);
/**
* Return an AVClass corresponding to next potential
* Return an AVClass corresponding to the next potential
* AVOptions-enabled child.
*
* The difference between child_next and this is that
@@ -86,6 +104,25 @@ typedef struct AVClass {
* child_class_next iterates over _all possible_ children.
*/
const struct AVClass* (*child_class_next)(const struct AVClass *prev);
/**
* Category used for visualization (like color)
* This is only set if the category is equal for all objects using this class.
* available since version (51 << 16 | 56 << 8 | 100)
*/
AVClassCategory category;
/**
* Callback to return the category.
* available since version (51 << 16 | 59 << 8 | 100)
*/
AVClassCategory (*get_category)(void* ctx);
/**
* Callback to return the supported/allowed ranges.
* available since version (52.12)
*/
int (*query_ranges)(struct AVOptionRanges **, void *obj, const char *key, int flags);
} AVClass;
/* av_log API */
@@ -124,6 +161,8 @@ typedef struct AVClass {
*/
#define AV_LOG_DEBUG 48
#define AV_LOG_MAX_OFFSET (AV_LOG_DEBUG - AV_LOG_QUIET)
/**
* Send the specified message to the log if the level is less than or equal
* to the current av_log_level. By default, all logging messages are sent to
@@ -146,6 +185,7 @@ void av_log_set_level(int);
void av_log_set_callback(void (*)(void*, int, const char*, va_list));
void av_log_default_callback(void* ptr, int level, const char* fmt, va_list vl);
const char* av_default_item_name(void* ctx);
AVClassCategory av_default_get_category(void *ptr);
/**
* Format a line of log the same way as the default callback.
+5 -16
Ver Arquivo
@@ -32,18 +32,18 @@
#include <stdint.h>
/** @name Error flags returned by av_lzo1x_decode
* @{ */
* @{ */
/// end of the input buffer reached before decoding finished
#define AV_LZO_INPUT_DEPLETED 1
#define AV_LZO_INPUT_DEPLETED 1
/// decoded data did not fit into output buffer
#define AV_LZO_OUTPUT_FULL 2
#define AV_LZO_OUTPUT_FULL 2
/// a reference to previously decoded data was wrong
#define AV_LZO_INVALID_BACKPTR 4
/// a non-specific error in the compressed bitstream
#define AV_LZO_ERROR 8
#define AV_LZO_ERROR 8
/** @} */
#define AV_LZO_INPUT_PADDING 8
#define AV_LZO_INPUT_PADDING 8
#define AV_LZO_OUTPUT_PADDING 12
/**
@@ -59,17 +59,6 @@
*/
int av_lzo1x_decode(void *out, int *outlen, const void *in, int *inlen);
/**
* @brief deliberately overlapping memcpy implementation
* @param dst destination buffer; must be padded with 12 additional bytes
* @param back how many bytes back we start (the initial size of the overlapping window), must be > 0
* @param cnt number of bytes to copy, must be >= 0
*
* cnt > back is valid, this will copy the bytes we just copied,
* thus creating a repeating pattern with a period length of back.
*/
void av_memcpy_backptr(uint8_t *dst, int back, int cnt);
/**
* @}
*/
+28 -3
Ver Arquivo
@@ -1,5 +1,5 @@
/*
* copyright (c) 2005 Michael Niedermayer <michaelni@gmx.at>
* copyright (c) 2005-2012 Michael Niedermayer <michaelni@gmx.at>
*
* This file is part of FFmpeg.
*
@@ -25,6 +25,7 @@
#include <math.h>
#include "attributes.h"
#include "rational.h"
#include "intfloat.h"
#ifndef M_E
#define M_E 2.7182818284590452354 /* e */
@@ -51,10 +52,10 @@
#define M_SQRT2 1.41421356237309504880 /* sqrt(2) */
#endif
#ifndef NAN
#define NAN (0.0/0.0)
#define NAN av_int2float(0x7fc00000)
#endif
#ifndef INFINITY
#define INFINITY (1.0/0.0)
#define INFINITY av_int2float(0x7f800000)
#endif
/**
@@ -69,6 +70,7 @@ enum AVRounding {
AV_ROUND_DOWN = 2, ///< Round toward -infinity.
AV_ROUND_UP = 3, ///< Round toward +infinity.
AV_ROUND_NEAR_INF = 5, ///< Round to nearest and halfway cases away from zero.
AV_ROUND_PASS_MINMAX = 8192, ///< Flag to pass INT64_MIN/MAX through instead of rescaling, this avoids special cases for AV_NOPTS_VALUE
};
/**
@@ -87,6 +89,9 @@ int64_t av_rescale(int64_t a, int64_t b, int64_t c) av_const;
/**
* Rescale a 64-bit integer with specified rounding.
* A simple a*b/c isn't possible as it can overflow.
*
* @return rescaled value a, or if AV_ROUND_PASS_MINMAX is set and a is
* INT64_MIN or INT64_MAX then a is passed through unchanged.
*/
int64_t av_rescale_rnd(int64_t a, int64_t b, int64_t c, enum AVRounding) av_const;
@@ -95,6 +100,15 @@ int64_t av_rescale_rnd(int64_t a, int64_t b, int64_t c, enum AVRounding) av_cons
*/
int64_t av_rescale_q(int64_t a, AVRational bq, AVRational cq) av_const;
/**
* Rescale a 64-bit integer by 2 rational numbers with specified rounding.
*
* @return rescaled value a, or if AV_ROUND_PASS_MINMAX is set and a is
* INT64_MIN or INT64_MAX then a is passed through unchanged.
*/
int64_t av_rescale_q_rnd(int64_t a, AVRational bq, AVRational cq,
enum AVRounding) av_const;
/**
* Compare 2 timestamps each in its own timebases.
* The result of the function is undefined if one of the timestamps
@@ -115,6 +129,17 @@ int av_compare_ts(int64_t ts_a, AVRational tb_a, int64_t ts_b, AVRational tb_b);
*/
int64_t av_compare_mod(uint64_t a, uint64_t b, uint64_t mod);
/**
* Rescale a timestamp while preserving known durations.
*
* @param in_ts Input timestamp
* @param in_tb Input timesbase
* @param fs_tb Duration and *last timebase
* @param duration duration till the next call
* @param out_tb Output timesbase
*/
int64_t av_rescale_delta(AVRational in_tb, int64_t in_ts, AVRational fs_tb, int duration, int64_t *last, AVRational out_tb);
/**
* @}
*/
+37 -2
Ver Arquivo
@@ -23,6 +23,9 @@
#include <stdint.h>
#include "attributes.h"
#include "version.h"
/**
* @defgroup lavu_md5 MD5
* @ingroup lavu_crypto
@@ -33,9 +36,42 @@ extern const int av_md5_size;
struct AVMD5;
/**
* Allocate an AVMD5 context.
*/
struct AVMD5 *av_md5_alloc(void);
/**
* Initialize MD5 hashing.
*
* @param ctx pointer to the function context (of size av_md5_size)
*/
void av_md5_init(struct AVMD5 *ctx);
void av_md5_update(struct AVMD5 *ctx, const uint8_t *src, const int len);
/**
* Update hash value.
*
* @param ctx hash function context
* @param src input data to update hash with
* @param len input data length
*/
void av_md5_update(struct AVMD5 *ctx, const uint8_t *src, int len);
/**
* Finish hashing and output digest value.
*
* @param ctx hash function context
* @param dst buffer where output digest value is stored
*/
void av_md5_final(struct AVMD5 *ctx, uint8_t *dst);
/**
* Hash an array of data.
*
* @param dst The output buffer to write the digest into
* @param src The data to hash
* @param len The length of the data, in bytes
*/
void av_md5_sum(uint8_t *dst, const uint8_t *src, const int len);
/**
@@ -43,4 +79,3 @@ void av_md5_sum(uint8_t *dst, const uint8_t *src, const int len);
*/
#endif /* AVUTIL_MD5_H */
+124 -5
Ver Arquivo
@@ -26,6 +26,9 @@
#ifndef AVUTIL_MEM_H
#define AVUTIL_MEM_H
#include <limits.h>
#include <stdint.h>
#include "attributes.h"
#include "error.h"
#include "avutil.h"
@@ -64,9 +67,9 @@
#endif
#if AV_GCC_VERSION_AT_LEAST(4,3)
#define av_alloc_size(n) __attribute__((alloc_size(n)))
#define av_alloc_size(...) __attribute__((alloc_size(__VA_ARGS__)))
#else
#define av_alloc_size(n)
#define av_alloc_size(...)
#endif
/**
@@ -79,6 +82,22 @@
*/
void *av_malloc(size_t size) av_malloc_attrib av_alloc_size(1);
/**
* Helper function to allocate a block of size * nmemb bytes with
* using av_malloc()
* @param nmemb Number of elements
* @param size Size of the single element
* @return Pointer to the allocated block, NULL if the block cannot
* be allocated.
* @see av_malloc()
*/
av_alloc_size(1, 2) static inline void *av_malloc_array(size_t nmemb, size_t size)
{
if (size <= 0 || nmemb >= INT_MAX / size)
return NULL;
return av_malloc(nmemb * size);
}
/**
* Allocate or reallocate a block of memory.
* If ptr is NULL and size > 0, allocate a new block. If
@@ -103,6 +122,32 @@ void *av_realloc(void *ptr, size_t size) av_alloc_size(2);
*/
void *av_realloc_f(void *ptr, size_t nelem, size_t elsize);
/**
* Allocate or reallocate an array.
* If ptr is NULL and nmemb > 0, allocate a new block. If
* nmemb is zero, free the memory block pointed to by ptr.
* @param ptr Pointer to a memory block already allocated with
* av_malloc(z)() or av_realloc() or NULL.
* @param nmemb Number of elements
* @param size Size of the single element
* @return Pointer to a newly reallocated block or NULL if the block
* cannot be reallocated or the function is used to free the memory block.
*/
av_alloc_size(2, 3) void *av_realloc_array(void *ptr, size_t nmemb, size_t size);
/**
* Allocate or reallocate an array.
* If *ptr is NULL and nmemb > 0, allocate a new block. If
* nmemb is zero, free the memory block pointed to by ptr.
* @param ptr Pointer to a pointer to a memory block already allocated
* with av_malloc(z)() or av_realloc(), or pointer to a pointer to NULL.
* The pointer is updated on success, or freed on failure.
* @param nmemb Number of elements
* @param size Size of the single element
* @return Zero on success, an AVERROR error code on failure.
*/
av_alloc_size(2, 3) int av_reallocp_array(void *ptr, size_t nmemb, size_t size);
/**
* Free a memory block which has been allocated with av_malloc(z)() or
* av_realloc().
@@ -135,6 +180,23 @@ void *av_mallocz(size_t size) av_malloc_attrib av_alloc_size(1);
*/
void *av_calloc(size_t nmemb, size_t size) av_malloc_attrib;
/**
* Helper function to allocate a block of size * nmemb bytes with
* using av_mallocz()
* @param nmemb Number of elements
* @param size Size of the single element
* @return Pointer to the allocated block, NULL if the block cannot
* be allocated.
* @see av_mallocz()
* @see av_malloc_array()
*/
av_alloc_size(1, 2) static inline void *av_mallocz_array(size_t nmemb, size_t size)
{
if (size <= 0 || nmemb >= INT_MAX / size)
return NULL;
return av_mallocz(nmemb * size);
}
/**
* Duplicate the string s.
* @param s string to be duplicated
@@ -143,6 +205,14 @@ void *av_calloc(size_t nmemb, size_t size) av_malloc_attrib;
*/
char *av_strdup(const char *s) av_malloc_attrib;
/**
* Duplicate the buffer p.
* @param p buffer to be duplicated
* @return Pointer to a newly allocated buffer containing a
* copy of p or NULL if the buffer cannot be allocated.
*/
void *av_memdup(const void *p, size_t size);
/**
* Free a memory block which has been allocated with av_malloc(z)() or
* av_realloc() and set the pointer pointing to it to NULL.
@@ -155,12 +225,50 @@ void av_freep(void *ptr);
/**
* Add an element to a dynamic array.
*
* @param tab_ptr Pointer to the array.
* @param nb_ptr Pointer to the number of elements in the array.
* @param elem Element to be added.
* The array to grow is supposed to be an array of pointers to
* structures, and the element to add must be a pointer to an already
* allocated structure.
*
* The array is reallocated when its size reaches powers of 2.
* Therefore, the amortized cost of adding an element is constant.
*
* In case of success, the pointer to the array is updated in order to
* point to the new grown array, and the number pointed to by nb_ptr
* is incremented.
* In case of failure, the array is freed, *tab_ptr is set to NULL and
* *nb_ptr is set to 0.
*
* @param tab_ptr pointer to the array to grow
* @param nb_ptr pointer to the number of elements in the array
* @param elem element to add
* @see av_dynarray2_add()
*/
void av_dynarray_add(void *tab_ptr, int *nb_ptr, void *elem);
/**
* Add an element of size elem_size to a dynamic array.
*
* The array is reallocated when its number of elements reaches powers of 2.
* Therefore, the amortized cost of adding an element is constant.
*
* In case of success, the pointer to the array is updated in order to
* point to the new grown array, and the number pointed to by nb_ptr
* is incremented.
* In case of failure, the array is freed, *tab_ptr is set to NULL and
* *nb_ptr is set to 0.
*
* @param tab_ptr pointer to the array to grow
* @param nb_ptr pointer to the number of elements in the array
* @param elem_size size in bytes of the elements in the array
* @param elem_data pointer to the data of the element to add. If NULL, the space of
* the new added element is not filled.
* @return pointer to the data of the element to copy in the new allocated space.
* If NULL, the new allocated space is left uninitialized."
* @see av_dynarray_add()
*/
void *av_dynarray2_add(void **tab_ptr, int *nb_ptr, size_t elem_size,
const uint8_t *elem_data);
/**
* Multiply two size_t values checking for overflow.
* @return 0 if success, AVERROR(EINVAL) if overflow.
@@ -181,6 +289,17 @@ static inline int av_size_mult(size_t a, size_t b, size_t *r)
*/
void av_max_alloc(size_t max);
/**
* @brief deliberately overlapping memcpy implementation
* @param dst destination buffer
* @param back how many bytes back we start (the initial size of the overlapping window), must be > 0
* @param cnt number of bytes to copy, must be >= 0
*
* cnt > back is valid, this will copy the bytes we just copied,
* thus creating a repeating pattern with a period length of back.
*/
void av_memcpy_backptr(uint8_t *dst, int back, int cnt);
/**
* @}
*/
+32
Ver Arquivo
@@ -0,0 +1,32 @@
/*
* Copyright (C) 2013 Reimar Döffinger <Reimar.Doeffinger@gmx.de>
*
* This file is part of FFmpeg.
*
* FFmpeg is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* FFmpeg is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with FFmpeg; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#ifndef AVUTIL_MURMUR3_H
#define AVUTIL_MURMUR3_H
#include <stdint.h>
struct AVMurMur3 *av_murmur3_alloc(void);
void av_murmur3_init_seeded(struct AVMurMur3 *c, uint64_t seed);
void av_murmur3_init(struct AVMurMur3 *c);
void av_murmur3_update(struct AVMurMur3 *c, const uint8_t *src, int len);
void av_murmur3_final(struct AVMurMur3 *c, uint8_t dst[16]);
#endif /* AVUTIL_MURMUR3_H */
+171
Ver Arquivo
@@ -0,0 +1,171 @@
/*
* copyright (c) 2006-2012 Michael Niedermayer <michaelni@gmx.at>
*
* This file is part of FFmpeg.
*
* FFmpeg is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* FFmpeg is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with FFmpeg; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#ifndef AVUTIL_OLD_PIX_FMTS_H
#define AVUTIL_OLD_PIX_FMTS_H
/*
* This header exists to prevent new pixel formats from being accidentally added
* to the deprecated list.
* Do not include it directly. It will be removed on next major bump
*
* Do not add new items to this list. Use the AVPixelFormat enum instead.
*/
PIX_FMT_NONE = AV_PIX_FMT_NONE,
PIX_FMT_YUV420P, ///< planar YUV 4:2:0, 12bpp, (1 Cr & Cb sample per 2x2 Y samples)
PIX_FMT_YUYV422, ///< packed YUV 4:2:2, 16bpp, Y0 Cb Y1 Cr
PIX_FMT_RGB24, ///< packed RGB 8:8:8, 24bpp, RGBRGB...
PIX_FMT_BGR24, ///< packed RGB 8:8:8, 24bpp, BGRBGR...
PIX_FMT_YUV422P, ///< planar YUV 4:2:2, 16bpp, (1 Cr & Cb sample per 2x1 Y samples)
PIX_FMT_YUV444P, ///< planar YUV 4:4:4, 24bpp, (1 Cr & Cb sample per 1x1 Y samples)
PIX_FMT_YUV410P, ///< planar YUV 4:1:0, 9bpp, (1 Cr & Cb sample per 4x4 Y samples)
PIX_FMT_YUV411P, ///< planar YUV 4:1:1, 12bpp, (1 Cr & Cb sample per 4x1 Y samples)
PIX_FMT_GRAY8, ///< Y , 8bpp
PIX_FMT_MONOWHITE, ///< Y , 1bpp, 0 is white, 1 is black, in each byte pixels are ordered from the msb to the lsb
PIX_FMT_MONOBLACK, ///< Y , 1bpp, 0 is black, 1 is white, in each byte pixels are ordered from the msb to the lsb
PIX_FMT_PAL8, ///< 8 bit with PIX_FMT_RGB32 palette
PIX_FMT_YUVJ420P, ///< planar YUV 4:2:0, 12bpp, full scale (JPEG), deprecated in favor of PIX_FMT_YUV420P and setting color_range
PIX_FMT_YUVJ422P, ///< planar YUV 4:2:2, 16bpp, full scale (JPEG), deprecated in favor of PIX_FMT_YUV422P and setting color_range
PIX_FMT_YUVJ444P, ///< planar YUV 4:4:4, 24bpp, full scale (JPEG), deprecated in favor of PIX_FMT_YUV444P and setting color_range
PIX_FMT_XVMC_MPEG2_MC,///< XVideo Motion Acceleration via common packet passing
PIX_FMT_XVMC_MPEG2_IDCT,
PIX_FMT_UYVY422, ///< packed YUV 4:2:2, 16bpp, Cb Y0 Cr Y1
PIX_FMT_UYYVYY411, ///< packed YUV 4:1:1, 12bpp, Cb Y0 Y1 Cr Y2 Y3
PIX_FMT_BGR8, ///< packed RGB 3:3:2, 8bpp, (msb)2B 3G 3R(lsb)
PIX_FMT_BGR4, ///< packed RGB 1:2:1 bitstream, 4bpp, (msb)1B 2G 1R(lsb), a byte contains two pixels, the first pixel in the byte is the one composed by the 4 msb bits
PIX_FMT_BGR4_BYTE, ///< packed RGB 1:2:1, 8bpp, (msb)1B 2G 1R(lsb)
PIX_FMT_RGB8, ///< packed RGB 3:3:2, 8bpp, (msb)2R 3G 3B(lsb)
PIX_FMT_RGB4, ///< packed RGB 1:2:1 bitstream, 4bpp, (msb)1R 2G 1B(lsb), a byte contains two pixels, the first pixel in the byte is the one composed by the 4 msb bits
PIX_FMT_RGB4_BYTE, ///< packed RGB 1:2:1, 8bpp, (msb)1R 2G 1B(lsb)
PIX_FMT_NV12, ///< planar YUV 4:2:0, 12bpp, 1 plane for Y and 1 plane for the UV components, which are interleaved (first byte U and the following byte V)
PIX_FMT_NV21, ///< as above, but U and V bytes are swapped
PIX_FMT_ARGB, ///< packed ARGB 8:8:8:8, 32bpp, ARGBARGB...
PIX_FMT_RGBA, ///< packed RGBA 8:8:8:8, 32bpp, RGBARGBA...
PIX_FMT_ABGR, ///< packed ABGR 8:8:8:8, 32bpp, ABGRABGR...
PIX_FMT_BGRA, ///< packed BGRA 8:8:8:8, 32bpp, BGRABGRA...
PIX_FMT_GRAY16BE, ///< Y , 16bpp, big-endian
PIX_FMT_GRAY16LE, ///< Y , 16bpp, little-endian
PIX_FMT_YUV440P, ///< planar YUV 4:4:0 (1 Cr & Cb sample per 1x2 Y samples)
PIX_FMT_YUVJ440P, ///< planar YUV 4:4:0 full scale (JPEG), deprecated in favor of PIX_FMT_YUV440P and setting color_range
PIX_FMT_YUVA420P, ///< planar YUV 4:2:0, 20bpp, (1 Cr & Cb sample per 2x2 Y & A samples)
PIX_FMT_VDPAU_H264,///< H.264 HW decoding with VDPAU, data[0] contains a vdpau_render_state struct which contains the bitstream of the slices as well as various fields extracted from headers
PIX_FMT_VDPAU_MPEG1,///< MPEG-1 HW decoding with VDPAU, data[0] contains a vdpau_render_state struct which contains the bitstream of the slices as well as various fields extracted from headers
PIX_FMT_VDPAU_MPEG2,///< MPEG-2 HW decoding with VDPAU, data[0] contains a vdpau_render_state struct which contains the bitstream of the slices as well as various fields extracted from headers
PIX_FMT_VDPAU_WMV3,///< WMV3 HW decoding with VDPAU, data[0] contains a vdpau_render_state struct which contains the bitstream of the slices as well as various fields extracted from headers
PIX_FMT_VDPAU_VC1, ///< VC-1 HW decoding with VDPAU, data[0] contains a vdpau_render_state struct which contains the bitstream of the slices as well as various fields extracted from headers
PIX_FMT_RGB48BE, ///< packed RGB 16:16:16, 48bpp, 16R, 16G, 16B, the 2-byte value for each R/G/B component is stored as big-endian
PIX_FMT_RGB48LE, ///< packed RGB 16:16:16, 48bpp, 16R, 16G, 16B, the 2-byte value for each R/G/B component is stored as little-endian
PIX_FMT_RGB565BE, ///< packed RGB 5:6:5, 16bpp, (msb) 5R 6G 5B(lsb), big-endian
PIX_FMT_RGB565LE, ///< packed RGB 5:6:5, 16bpp, (msb) 5R 6G 5B(lsb), little-endian
PIX_FMT_RGB555BE, ///< packed RGB 5:5:5, 16bpp, (msb)1A 5R 5G 5B(lsb), big-endian, most significant bit to 0
PIX_FMT_RGB555LE, ///< packed RGB 5:5:5, 16bpp, (msb)1A 5R 5G 5B(lsb), little-endian, most significant bit to 0
PIX_FMT_BGR565BE, ///< packed BGR 5:6:5, 16bpp, (msb) 5B 6G 5R(lsb), big-endian
PIX_FMT_BGR565LE, ///< packed BGR 5:6:5, 16bpp, (msb) 5B 6G 5R(lsb), little-endian
PIX_FMT_BGR555BE, ///< packed BGR 5:5:5, 16bpp, (msb)1A 5B 5G 5R(lsb), big-endian, most significant bit to 1
PIX_FMT_BGR555LE, ///< packed BGR 5:5:5, 16bpp, (msb)1A 5B 5G 5R(lsb), little-endian, most significant bit to 1
PIX_FMT_VAAPI_MOCO, ///< HW acceleration through VA API at motion compensation entry-point, Picture.data[3] contains a vaapi_render_state struct which contains macroblocks as well as various fields extracted from headers
PIX_FMT_VAAPI_IDCT, ///< HW acceleration through VA API at IDCT entry-point, Picture.data[3] contains a vaapi_render_state struct which contains fields extracted from headers
PIX_FMT_VAAPI_VLD, ///< HW decoding through VA API, Picture.data[3] contains a vaapi_render_state struct which contains the bitstream of the slices as well as various fields extracted from headers
PIX_FMT_YUV420P16LE, ///< planar YUV 4:2:0, 24bpp, (1 Cr & Cb sample per 2x2 Y samples), little-endian
PIX_FMT_YUV420P16BE, ///< planar YUV 4:2:0, 24bpp, (1 Cr & Cb sample per 2x2 Y samples), big-endian
PIX_FMT_YUV422P16LE, ///< planar YUV 4:2:2, 32bpp, (1 Cr & Cb sample per 2x1 Y samples), little-endian
PIX_FMT_YUV422P16BE, ///< planar YUV 4:2:2, 32bpp, (1 Cr & Cb sample per 2x1 Y samples), big-endian
PIX_FMT_YUV444P16LE, ///< planar YUV 4:4:4, 48bpp, (1 Cr & Cb sample per 1x1 Y samples), little-endian
PIX_FMT_YUV444P16BE, ///< planar YUV 4:4:4, 48bpp, (1 Cr & Cb sample per 1x1 Y samples), big-endian
PIX_FMT_VDPAU_MPEG4, ///< MPEG4 HW decoding with VDPAU, data[0] contains a vdpau_render_state struct which contains the bitstream of the slices as well as various fields extracted from headers
PIX_FMT_DXVA2_VLD, ///< HW decoding through DXVA2, Picture.data[3] contains a LPDIRECT3DSURFACE9 pointer
PIX_FMT_RGB444LE, ///< packed RGB 4:4:4, 16bpp, (msb)4A 4R 4G 4B(lsb), little-endian, most significant bits to 0
PIX_FMT_RGB444BE, ///< packed RGB 4:4:4, 16bpp, (msb)4A 4R 4G 4B(lsb), big-endian, most significant bits to 0
PIX_FMT_BGR444LE, ///< packed BGR 4:4:4, 16bpp, (msb)4A 4B 4G 4R(lsb), little-endian, most significant bits to 1
PIX_FMT_BGR444BE, ///< packed BGR 4:4:4, 16bpp, (msb)4A 4B 4G 4R(lsb), big-endian, most significant bits to 1
PIX_FMT_GRAY8A, ///< 8bit gray, 8bit alpha
PIX_FMT_BGR48BE, ///< packed RGB 16:16:16, 48bpp, 16B, 16G, 16R, the 2-byte value for each R/G/B component is stored as big-endian
PIX_FMT_BGR48LE, ///< packed RGB 16:16:16, 48bpp, 16B, 16G, 16R, the 2-byte value for each R/G/B component is stored as little-endian
//the following 10 formats have the disadvantage of needing 1 format for each bit depth, thus
//If you want to support multiple bit depths, then using PIX_FMT_YUV420P16* with the bpp stored separately
//is better
PIX_FMT_YUV420P9BE, ///< planar YUV 4:2:0, 13.5bpp, (1 Cr & Cb sample per 2x2 Y samples), big-endian
PIX_FMT_YUV420P9LE, ///< planar YUV 4:2:0, 13.5bpp, (1 Cr & Cb sample per 2x2 Y samples), little-endian
PIX_FMT_YUV420P10BE,///< planar YUV 4:2:0, 15bpp, (1 Cr & Cb sample per 2x2 Y samples), big-endian
PIX_FMT_YUV420P10LE,///< planar YUV 4:2:0, 15bpp, (1 Cr & Cb sample per 2x2 Y samples), little-endian
PIX_FMT_YUV422P10BE,///< planar YUV 4:2:2, 20bpp, (1 Cr & Cb sample per 2x1 Y samples), big-endian
PIX_FMT_YUV422P10LE,///< planar YUV 4:2:2, 20bpp, (1 Cr & Cb sample per 2x1 Y samples), little-endian
PIX_FMT_YUV444P9BE, ///< planar YUV 4:4:4, 27bpp, (1 Cr & Cb sample per 1x1 Y samples), big-endian
PIX_FMT_YUV444P9LE, ///< planar YUV 4:4:4, 27bpp, (1 Cr & Cb sample per 1x1 Y samples), little-endian
PIX_FMT_YUV444P10BE,///< planar YUV 4:4:4, 30bpp, (1 Cr & Cb sample per 1x1 Y samples), big-endian
PIX_FMT_YUV444P10LE,///< planar YUV 4:4:4, 30bpp, (1 Cr & Cb sample per 1x1 Y samples), little-endian
PIX_FMT_YUV422P9BE, ///< planar YUV 4:2:2, 18bpp, (1 Cr & Cb sample per 2x1 Y samples), big-endian
PIX_FMT_YUV422P9LE, ///< planar YUV 4:2:2, 18bpp, (1 Cr & Cb sample per 2x1 Y samples), little-endian
PIX_FMT_VDA_VLD, ///< hardware decoding through VDA
#ifdef AV_PIX_FMT_ABI_GIT_MASTER
PIX_FMT_RGBA64BE, ///< packed RGBA 16:16:16:16, 64bpp, 16R, 16G, 16B, 16A, the 2-byte value for each R/G/B/A component is stored as big-endian
PIX_FMT_RGBA64LE, ///< packed RGBA 16:16:16:16, 64bpp, 16R, 16G, 16B, 16A, the 2-byte value for each R/G/B/A component is stored as little-endian
PIX_FMT_BGRA64BE, ///< packed RGBA 16:16:16:16, 64bpp, 16B, 16G, 16R, 16A, the 2-byte value for each R/G/B/A component is stored as big-endian
PIX_FMT_BGRA64LE, ///< packed RGBA 16:16:16:16, 64bpp, 16B, 16G, 16R, 16A, the 2-byte value for each R/G/B/A component is stored as little-endian
#endif
PIX_FMT_GBRP, ///< planar GBR 4:4:4 24bpp
PIX_FMT_GBRP9BE, ///< planar GBR 4:4:4 27bpp, big endian
PIX_FMT_GBRP9LE, ///< planar GBR 4:4:4 27bpp, little endian
PIX_FMT_GBRP10BE, ///< planar GBR 4:4:4 30bpp, big endian
PIX_FMT_GBRP10LE, ///< planar GBR 4:4:4 30bpp, little endian
PIX_FMT_GBRP16BE, ///< planar GBR 4:4:4 48bpp, big endian
PIX_FMT_GBRP16LE, ///< planar GBR 4:4:4 48bpp, little endian
#ifndef AV_PIX_FMT_ABI_GIT_MASTER
PIX_FMT_RGBA64BE=0x123, ///< packed RGBA 16:16:16:16, 64bpp, 16R, 16G, 16B, 16A, the 2-byte value for each R/G/B/A component is stored as big-endian
PIX_FMT_RGBA64LE, ///< packed RGBA 16:16:16:16, 64bpp, 16R, 16G, 16B, 16A, the 2-byte value for each R/G/B/A component is stored as little-endian
PIX_FMT_BGRA64BE, ///< packed RGBA 16:16:16:16, 64bpp, 16B, 16G, 16R, 16A, the 2-byte value for each R/G/B/A component is stored as big-endian
PIX_FMT_BGRA64LE, ///< packed RGBA 16:16:16:16, 64bpp, 16B, 16G, 16R, 16A, the 2-byte value for each R/G/B/A component is stored as little-endian
#endif
PIX_FMT_0RGB=0x123+4, ///< packed RGB 8:8:8, 32bpp, 0RGB0RGB...
PIX_FMT_RGB0, ///< packed RGB 8:8:8, 32bpp, RGB0RGB0...
PIX_FMT_0BGR, ///< packed BGR 8:8:8, 32bpp, 0BGR0BGR...
PIX_FMT_BGR0, ///< packed BGR 8:8:8, 32bpp, BGR0BGR0...
PIX_FMT_YUVA444P, ///< planar YUV 4:4:4 32bpp, (1 Cr & Cb sample per 1x1 Y & A samples)
PIX_FMT_YUVA422P, ///< planar YUV 4:2:2 24bpp, (1 Cr & Cb sample per 2x1 Y & A samples)
PIX_FMT_YUV420P12BE, ///< planar YUV 4:2:0,18bpp, (1 Cr & Cb sample per 2x2 Y samples), big-endian
PIX_FMT_YUV420P12LE, ///< planar YUV 4:2:0,18bpp, (1 Cr & Cb sample per 2x2 Y samples), little-endian
PIX_FMT_YUV420P14BE, ///< planar YUV 4:2:0,21bpp, (1 Cr & Cb sample per 2x2 Y samples), big-endian
PIX_FMT_YUV420P14LE, ///< planar YUV 4:2:0,21bpp, (1 Cr & Cb sample per 2x2 Y samples), little-endian
PIX_FMT_YUV422P12BE, ///< planar YUV 4:2:2,24bpp, (1 Cr & Cb sample per 2x1 Y samples), big-endian
PIX_FMT_YUV422P12LE, ///< planar YUV 4:2:2,24bpp, (1 Cr & Cb sample per 2x1 Y samples), little-endian
PIX_FMT_YUV422P14BE, ///< planar YUV 4:2:2,28bpp, (1 Cr & Cb sample per 2x1 Y samples), big-endian
PIX_FMT_YUV422P14LE, ///< planar YUV 4:2:2,28bpp, (1 Cr & Cb sample per 2x1 Y samples), little-endian
PIX_FMT_YUV444P12BE, ///< planar YUV 4:4:4,36bpp, (1 Cr & Cb sample per 1x1 Y samples), big-endian
PIX_FMT_YUV444P12LE, ///< planar YUV 4:4:4,36bpp, (1 Cr & Cb sample per 1x1 Y samples), little-endian
PIX_FMT_YUV444P14BE, ///< planar YUV 4:4:4,42bpp, (1 Cr & Cb sample per 1x1 Y samples), big-endian
PIX_FMT_YUV444P14LE, ///< planar YUV 4:4:4,42bpp, (1 Cr & Cb sample per 1x1 Y samples), little-endian
PIX_FMT_GBRP12BE, ///< planar GBR 4:4:4 36bpp, big endian
PIX_FMT_GBRP12LE, ///< planar GBR 4:4:4 36bpp, little endian
PIX_FMT_GBRP14BE, ///< planar GBR 4:4:4 42bpp, big endian
PIX_FMT_GBRP14LE, ///< planar GBR 4:4:4 42bpp, little endian
PIX_FMT_NB, ///< number of pixel formats, DO NOT USE THIS if you want to link with shared libav* because the number of formats might differ between versions
#endif /* AVUTIL_OLD_PIX_FMTS_H */
+159 -8
Ver Arquivo
@@ -31,6 +31,8 @@
#include "avutil.h"
#include "dict.h"
#include "log.h"
#include "pixfmt.h"
#include "samplefmt.h"
/**
* @defgroup avoptions AVOptions
@@ -44,7 +46,7 @@
* This section describes how to add AVOptions capabilities to a struct.
*
* All AVOptions-related information is stored in an AVClass. Therefore
* the first member of the struct must be a pointer to an AVClass describing it.
* the first member of the struct should be a pointer to an AVClass describing it.
* The option field of the AVClass must be set to a NULL-terminated static array
* of AVOptions. Each AVOption must have a non-empty name, a type, a default
* value and for number-type AVOptions also a range of allowed values. It must
@@ -64,7 +66,7 @@
*
* static const AVOption options[] = {
* { "test_int", "This is a test option of int type.", offsetof(test_struct, int_opt),
* AV_OPT_TYPE_INT, { -1 }, INT_MIN, INT_MAX },
* AV_OPT_TYPE_INT, { .i64 = -1 }, INT_MIN, INT_MAX },
* { "test_str", "This is a test option of string type.", offsetof(test_struct, str_opt),
* AV_OPT_TYPE_STRING },
* { "test_bin", "This is a test option of binary type.", offsetof(test_struct, bin_opt),
@@ -81,7 +83,7 @@
* @endcode
*
* Next, when allocating your struct, you must ensure that the AVClass pointer
* is set to the correct value. Then, av_opt_set_defaults() must be called to
* is set to the correct value. Then, av_opt_set_defaults() can be called to
* initialize defaults. After that the struct is ready to be used with the
* AVOptions API.
*
@@ -123,7 +125,7 @@
* } child_struct;
* static const AVOption child_opts[] = {
* { "test_flags", "This is a test option of flags type.",
* offsetof(child_struct, flags_opt), AV_OPT_TYPE_FLAGS, { 0 }, INT_MIN, INT_MAX },
* offsetof(child_struct, flags_opt), AV_OPT_TYPE_FLAGS, { .i64 = 0 }, INT_MIN, INT_MAX },
* { NULL },
* };
* static const AVClass child_class = {
@@ -170,8 +172,8 @@
* above, put the following into the child_opts array:
* @code
* { "test_flags", "This is a test option of flags type.",
* offsetof(child_struct, flags_opt), AV_OPT_TYPE_FLAGS, { 0 }, INT_MIN, INT_MAX, "test_unit" },
* { "flag1", "This is a flag with value 16", 0, AV_OPT_TYPE_CONST, { 16 }, 0, 0, "test_unit" },
* offsetof(child_struct, flags_opt), AV_OPT_TYPE_FLAGS, { .i64 = 0 }, INT_MIN, INT_MAX, "test_unit" },
* { "flag1", "This is a flag with value 16", 0, AV_OPT_TYPE_CONST, { .i64 = 16 }, 0, 0, "test_unit" },
* @endcode
*
* @section avoptions_use Using AVOptions
@@ -225,6 +227,12 @@ enum AVOptionType{
AV_OPT_TYPE_RATIONAL,
AV_OPT_TYPE_BINARY, ///< offset must point to a pointer immediately followed by an int for the length
AV_OPT_TYPE_CONST = 128,
AV_OPT_TYPE_IMAGE_SIZE = MKBETAG('S','I','Z','E'), ///< offset must point to two consecutive integers
AV_OPT_TYPE_PIXEL_FMT = MKBETAG('P','F','M','T'),
AV_OPT_TYPE_SAMPLE_FMT = MKBETAG('S','F','M','T'),
AV_OPT_TYPE_VIDEO_RATE = MKBETAG('V','R','A','T'), ///< offset must point to AVRational
AV_OPT_TYPE_DURATION = MKBETAG('D','U','R',' '),
AV_OPT_TYPE_COLOR = MKBETAG('C','O','L','R'),
#if FF_API_OLD_AVOPTIONS
FF_OPT_TYPE_FLAGS = 0,
FF_OPT_TYPE_INT,
@@ -261,10 +269,10 @@ typedef struct AVOption {
* the default value for scalar options
*/
union {
int64_t i64;
double dbl;
const char *str;
/* TODO those are unused now */
int64_t i64;
AVRational q;
} default_val;
double min; ///< minimum valid value for the option
@@ -277,6 +285,7 @@ typedef struct AVOption {
#define AV_OPT_FLAG_AUDIO_PARAM 8
#define AV_OPT_FLAG_VIDEO_PARAM 16
#define AV_OPT_FLAG_SUBTITLE_PARAM 32
#define AV_OPT_FLAG_FILTERING_PARAM (1<<16) ///< a generic parameter which can be set by the user for filtering
//FIXME think about enc-audio, ... style flags
/**
@@ -287,6 +296,25 @@ typedef struct AVOption {
const char *unit;
} AVOption;
/**
* A single allowed range of values, or a single allowed value.
*/
typedef struct AVOptionRange {
const char *str;
double value_min, value_max; ///< For string ranges this represents the min/max length, for dimensions this represents the min/max pixel count
double component_min, component_max; ///< For string this represents the unicode range for chars, 0-127 limits to ASCII
int is_range; ///< if set to 1 the struct encodes a range, if set to 0 a single value
} AVOptionRange;
/**
* List of AVOptionRange structs
*/
typedef struct AVOptionRanges {
AVOptionRange **range;
int nb_ranges;
} AVOptionRanges;
#if FF_API_FIND_OPT
/**
* Look for an option in obj. Look only for the options which
@@ -390,6 +418,36 @@ void av_opt_set_defaults2(void *s, int mask, int flags);
int av_set_options_string(void *ctx, const char *opts,
const char *key_val_sep, const char *pairs_sep);
/**
* Parse the key-value pairs list in opts. For each key=value pair found,
* set the value of the corresponding option in ctx.
*
* @param ctx the AVClass object to set options on
* @param opts the options string, key-value pairs separated by a
* delimiter
* @param shorthand a NULL-terminated array of options names for shorthand
* notation: if the first field in opts has no key part,
* the key is taken from the first element of shorthand;
* then again for the second, etc., until either opts is
* finished, shorthand is finished or a named option is
* found; after that, all options must be named
* @param key_val_sep a 0-terminated list of characters used to separate
* key from value, for example '='
* @param pairs_sep a 0-terminated list of characters used to separate
* two pairs from each other, for example ':' or ','
* @return the number of successfully set key=value pairs, or a negative
* value corresponding to an AVERROR code in case of error:
* AVERROR(EINVAL) if opts cannot be parsed,
* the error code issued by av_set_string3() if a key/value pair
* cannot be set
*
* Options names must use only the following characters: a-z A-Z 0-9 - . / _
* Separators must use characters distinct from option names and from each
* other.
*/
int av_opt_set_from_string(void *ctx, const char *opts,
const char *const *shorthand,
const char *key_val_sep, const char *pairs_sep);
/**
* Free all string and binary options in obj.
*/
@@ -405,7 +463,7 @@ void av_opt_free(void *obj);
*/
int av_opt_flag_is_set(void *obj, const char *field_name, const char *flag_name);
/*
/**
* Set all the options from a given dictionary on an object.
*
* @param obj a struct whose first element is a pointer to AVClass
@@ -421,6 +479,39 @@ int av_opt_flag_is_set(void *obj, const char *field_name, const char *flag_name)
*/
int av_opt_set_dict(void *obj, struct AVDictionary **options);
/**
* Extract a key-value pair from the beginning of a string.
*
* @param ropts pointer to the options string, will be updated to
* point to the rest of the string (one of the pairs_sep
* or the final NUL)
* @param key_val_sep a 0-terminated list of characters used to separate
* key from value, for example '='
* @param pairs_sep a 0-terminated list of characters used to separate
* two pairs from each other, for example ':' or ','
* @param flags flags; see the AV_OPT_FLAG_* values below
* @param rkey parsed key; must be freed using av_free()
* @param rval parsed value; must be freed using av_free()
*
* @return >=0 for success, or a negative value corresponding to an
* AVERROR code in case of error; in particular:
* AVERROR(EINVAL) if no key is present
*
*/
int av_opt_get_key_value(const char **ropts,
const char *key_val_sep, const char *pairs_sep,
unsigned flags,
char **rkey, char **rval);
enum {
/**
* Accept to parse a value without a key; the key will then be returned
* as NULL.
*/
AV_OPT_FLAG_IMPLICIT_KEY = 1,
};
/**
* @defgroup opt_eval_funcs Evaluating option strings
* @{
@@ -561,6 +652,27 @@ int av_opt_set (void *obj, const char *name, const char *val, int search_f
int av_opt_set_int (void *obj, const char *name, int64_t val, int search_flags);
int av_opt_set_double(void *obj, const char *name, double val, int search_flags);
int av_opt_set_q (void *obj, const char *name, AVRational val, int search_flags);
int av_opt_set_bin (void *obj, const char *name, const uint8_t *val, int size, int search_flags);
int av_opt_set_image_size(void *obj, const char *name, int w, int h, int search_flags);
int av_opt_set_pixel_fmt (void *obj, const char *name, enum AVPixelFormat fmt, int search_flags);
int av_opt_set_sample_fmt(void *obj, const char *name, enum AVSampleFormat fmt, int search_flags);
int av_opt_set_video_rate(void *obj, const char *name, AVRational val, int search_flags);
/**
* Set a binary option to an integer list.
*
* @param obj AVClass object to set options on
* @param name name of the binary option
* @param val pointer to an integer list (must have the correct type with
* regard to the contents of the list)
* @param term list terminator (usually 0 or -1)
* @param flags search flags
*/
#define av_opt_set_int_list(obj, name, val, term, flags) \
(av_int_list_length(val, term) > INT_MAX / sizeof(*(val)) ? \
AVERROR(EINVAL) : \
av_opt_set_bin(obj, name, (const uint8_t *)(val), \
av_int_list_length(val, term) * sizeof(*(val)), flags))
/**
* @}
*/
@@ -584,6 +696,10 @@ int av_opt_get (void *obj, const char *name, int search_flags, uint8_t *
int av_opt_get_int (void *obj, const char *name, int search_flags, int64_t *out_val);
int av_opt_get_double(void *obj, const char *name, int search_flags, double *out_val);
int av_opt_get_q (void *obj, const char *name, int search_flags, AVRational *out_val);
int av_opt_get_image_size(void *obj, const char *name, int search_flags, int *w_out, int *h_out);
int av_opt_get_pixel_fmt (void *obj, const char *name, int search_flags, enum AVPixelFormat *out_fmt);
int av_opt_get_sample_fmt(void *obj, const char *name, int search_flags, enum AVSampleFormat *out_fmt);
int av_opt_get_video_rate(void *obj, const char *name, int search_flags, AVRational *out_val);
/**
* @}
*/
@@ -596,6 +712,41 @@ int av_opt_get_q (void *obj, const char *name, int search_flags, AVRational
* or written to.
*/
void *av_opt_ptr(const AVClass *avclass, void *obj, const char *name);
/**
* Free an AVOptionRanges struct and set it to NULL.
*/
void av_opt_freep_ranges(AVOptionRanges **ranges);
/**
* Get a list of allowed ranges for the given option.
*
* The returned list may depend on other fields in obj like for example profile.
*
* @param flags is a bitmask of flags, undefined flags should not be set and should be ignored
* AV_OPT_SEARCH_FAKE_OBJ indicates that the obj is a double pointer to a AVClass instead of a full instance
*
* The result must be freed with av_opt_freep_ranges.
*
* @return >= 0 on success, a negative errro code otherwise
*/
int av_opt_query_ranges(AVOptionRanges **, void *obj, const char *key, int flags);
/**
* Get a default list of allowed ranges for the given option.
*
* This list is constructed without using the AVClass.query_ranges() callback
* and can be used as fallback from within the callback.
*
* @param flags is a bitmask of flags, undefined flags should not be set and should be ignored
* AV_OPT_SEARCH_FAKE_OBJ indicates that the obj is a double pointer to a AVClass instead of a full instance
*
* The result must be freed with av_opt_free_ranges.
*
* @return >= 0 on success, a negative errro code otherwise
*/
int av_opt_query_ranges_default(AVOptionRanges **, void *obj, const char *key, int flags);
/**
* @}
*/
+52 -2
Ver Arquivo
@@ -28,6 +28,30 @@
* misc parsing utilities
*/
/**
* Parse str and store the parsed ratio in q.
*
* Note that a ratio with infinite (1/0) or negative value is
* considered valid, so you should check on the returned value if you
* want to exclude those values.
*
* The undefined value can be expressed using the "0:0" string.
*
* @param[in,out] q pointer to the AVRational which will contain the ratio
* @param[in] str the string to parse: it has to be a string in the format
* num:den, a float number or an expression
* @param[in] max the maximum allowed numerator and denominator
* @param[in] log_offset log level offset which is applied to the log
* level of log_ctx
* @param[in] log_ctx parent logging context
* @return >= 0 on success, a negative error code otherwise
*/
int av_parse_ratio(AVRational *q, const char *str, int max,
int log_offset, void *log_ctx);
#define av_parse_ratio_quiet(rate, str, max) \
av_parse_ratio(rate, str, max, AV_LOG_MAX_OFFSET, NULL)
/**
* Parse str and put in width_ptr and height_ptr the detected values.
*
@@ -88,7 +112,7 @@ int av_parse_color(uint8_t *rgba_color, const char *color_string, int slen,
* @param timestr a string representing a date or a duration.
* - If a date the syntax is:
* @code
* [{YYYY-MM-DD|YYYYMMDD}[T|t| ]]{{HH[:MM[:SS[.m...]]]}|{HH[MM[SS[.m...]]]}}[Z]
* [{YYYY-MM-DD|YYYYMMDD}[T|t| ]]{{HH:MM:SS[.m...]]]}|{HHMMSS[.m...]]]}}[Z]
* now
* @endcode
* If the value is "now" it takes the current time.
@@ -98,7 +122,7 @@ int av_parse_color(uint8_t *rgba_color, const char *color_string, int slen,
* year-month-day.
* - If a duration the syntax is:
* @code
* [-]HH[:MM[:SS[.m...]]]
* [-][HH:]MM:SS[.m...]
* [-]S+[.m...]
* @endcode
* @param duration flag which tells how to interpret timestr, if not
@@ -108,6 +132,32 @@ int av_parse_color(uint8_t *rgba_color, const char *color_string, int slen,
*/
int av_parse_time(int64_t *timeval, const char *timestr, int duration);
/**
* Parse the input string p according to the format string fmt and
* store its results in the structure dt.
* This implementation supports only a subset of the formats supported
* by the standard strptime().
*
* In particular it actually supports the parameters:
* - %H: the hour as a decimal number, using a 24-hour clock, in the
* range '00' through '23'
* - %J: hours as a decimal number, in the range '0' through INT_MAX
* - %M: the minute as a decimal number, using a 24-hour clock, in the
* range '00' through '59'
* - %S: the second as a decimal number, using a 24-hour clock, in the
* range '00' through '59'
* - %Y: the year as a decimal number, using the Gregorian calendar
* - %m: the month as a decimal number, in the range '1' through '12'
* - %d: the day of the month as a decimal number, in the range '1'
* through '31'
* - %%: a literal '%'
*
* @return a pointer to the first character not processed in this
* function call, or NULL in case the function fails to match all of
* the fmt string and therefore an error occurred
*/
char *av_small_strptime(const char *p, const char *fmt, struct tm *dt);
/**
* Attempt to find a specific tag in a URL.
*
+126 -14
Ver Arquivo
@@ -76,24 +76,71 @@ typedef struct AVPixFmtDescriptor{
uint8_t flags;
/**
* Parameters that describe how pixels are packed. If the format
* has chroma components, they must be stored in comp[1] and
* comp[2].
* Parameters that describe how pixels are packed.
* If the format has 2 or 4 components, then alpha is last.
* If the format has 1 or 2 components, then luma is 0.
* If the format has 3 or 4 components,
* if the RGB flag is set then 0 is red, 1 is green and 2 is blue;
* otherwise 0 is luma, 1 is chroma-U and 2 is chroma-V.
*/
AVComponentDescriptor comp[4];
}AVPixFmtDescriptor;
#define PIX_FMT_BE 1 ///< Pixel format is big-endian.
#define PIX_FMT_PAL 2 ///< Pixel format has a palette in data[1], values are indexes in this palette.
#define PIX_FMT_BITSTREAM 4 ///< All values of a component are bit-wise packed end to end.
#define PIX_FMT_HWACCEL 8 ///< Pixel format is an HW accelerated format.
#define PIX_FMT_PLANAR 16 ///< At least one pixel component is not in the first data plane
#define PIX_FMT_RGB 32 ///< The pixel format contains RGB-like data (as opposed to YUV/grayscale)
/**
* Pixel format is big-endian.
*/
#define AV_PIX_FMT_FLAG_BE (1 << 0)
/**
* Pixel format has a palette in data[1], values are indexes in this palette.
*/
#define AV_PIX_FMT_FLAG_PAL (1 << 1)
/**
* All values of a component are bit-wise packed end to end.
*/
#define AV_PIX_FMT_FLAG_BITSTREAM (1 << 2)
/**
* Pixel format is an HW accelerated format.
*/
#define AV_PIX_FMT_FLAG_HWACCEL (1 << 3)
/**
* At least one pixel component is not in the first data plane.
*/
#define AV_PIX_FMT_FLAG_PLANAR (1 << 4)
/**
* The pixel format contains RGB-like data (as opposed to YUV/grayscale).
*/
#define AV_PIX_FMT_FLAG_RGB (1 << 5)
/**
* The pixel format is "pseudo-paletted". This means that FFmpeg treats it as
* paletted internally, but the palette is generated by the decoder and is not
* stored in the file.
*/
#define AV_PIX_FMT_FLAG_PSEUDOPAL (1 << 6)
/**
* The pixel format has an alpha channel.
*/
#define AV_PIX_FMT_FLAG_ALPHA (1 << 7)
#if FF_API_PIX_FMT
/**
* @deprecate use the AV_PIX_FMT_FLAG_* flags
*/
#define PIX_FMT_BE AV_PIX_FMT_FLAG_BE
#define PIX_FMT_PAL AV_PIX_FMT_FLAG_PAL
#define PIX_FMT_BITSTREAM AV_PIX_FMT_FLAG_BITSTREAM
#define PIX_FMT_HWACCEL AV_PIX_FMT_FLAG_HWACCEL
#define PIX_FMT_PLANAR AV_PIX_FMT_FLAG_PLANAR
#define PIX_FMT_RGB AV_PIX_FMT_FLAG_RGB
#define PIX_FMT_PSEUDOPAL AV_PIX_FMT_FLAG_PSEUDOPAL
#define PIX_FMT_ALPHA AV_PIX_FMT_FLAG_ALPHA
#endif
#if FF_API_PIX_FMT_DESC
/**
* The array of all the pixel format descriptors.
*/
extern const AVPixFmtDescriptor av_pix_fmt_descriptors[];
#endif
/**
* Read a line from an image, and write the values of the
@@ -140,9 +187,9 @@ void av_write_image_line(const uint16_t *src, uint8_t *data[4], const int linesi
* For example in a little-endian system, first looks for "gray16",
* then for "gray16le".
*
* Finally if no pixel format has been found, returns PIX_FMT_NONE.
* Finally if no pixel format has been found, returns AV_PIX_FMT_NONE.
*/
enum PixelFormat av_get_pix_fmt(const char *name);
enum AVPixelFormat av_get_pix_fmt(const char *name);
/**
* Return the short name for a pixel format, NULL in case pix_fmt is
@@ -150,7 +197,7 @@ enum PixelFormat av_get_pix_fmt(const char *name);
*
* @see av_get_pix_fmt(), av_get_pix_fmt_string()
*/
const char *av_get_pix_fmt_name(enum PixelFormat pix_fmt);
const char *av_get_pix_fmt_name(enum AVPixelFormat pix_fmt);
/**
* Print in buf the string corresponding to the pixel format with
@@ -162,11 +209,12 @@ const char *av_get_pix_fmt_name(enum PixelFormat pix_fmt);
* corresponding info string, or a negative value to print the
* corresponding header.
*/
char *av_get_pix_fmt_string (char *buf, int buf_size, enum PixelFormat pix_fmt);
char *av_get_pix_fmt_string (char *buf, int buf_size, enum AVPixelFormat pix_fmt);
/**
* Return the number of bits per pixel used by the pixel format
* described by pixdesc.
* described by pixdesc. Note that this is not the same as the number
* of bits per sample.
*
* The returned number of bits refers to the number of bits actually
* used for storing the pixel information, that is padding bits are
@@ -174,4 +222,68 @@ char *av_get_pix_fmt_string (char *buf, int buf_size, enum PixelFormat pix_fmt);
*/
int av_get_bits_per_pixel(const AVPixFmtDescriptor *pixdesc);
/**
* Return the number of bits per pixel for the pixel format
* described by pixdesc, including any padding or unused bits.
*/
int av_get_padded_bits_per_pixel(const AVPixFmtDescriptor *pixdesc);
/**
* @return a pixel format descriptor for provided pixel format or NULL if
* this pixel format is unknown.
*/
const AVPixFmtDescriptor *av_pix_fmt_desc_get(enum AVPixelFormat pix_fmt);
/**
* Iterate over all pixel format descriptors known to libavutil.
*
* @param prev previous descriptor. NULL to get the first descriptor.
*
* @return next descriptor or NULL after the last descriptor
*/
const AVPixFmtDescriptor *av_pix_fmt_desc_next(const AVPixFmtDescriptor *prev);
/**
* @return an AVPixelFormat id described by desc, or AV_PIX_FMT_NONE if desc
* is not a valid pointer to a pixel format descriptor.
*/
enum AVPixelFormat av_pix_fmt_desc_get_id(const AVPixFmtDescriptor *desc);
/**
* Utility function to access log2_chroma_w log2_chroma_h from
* the pixel format AVPixFmtDescriptor.
*
* See avcodec_get_chroma_sub_sample() for a function that asserts a
* valid pixel format instead of returning an error code.
* Its recommanded that you use avcodec_get_chroma_sub_sample unless
* you do check the return code!
*
* @param[in] pix_fmt the pixel format
* @param[out] h_shift store log2_chroma_w
* @param[out] v_shift store log2_chroma_h
*
* @return 0 on success, AVERROR(ENOSYS) on invalid or unknown pixel format
*/
int av_pix_fmt_get_chroma_sub_sample(enum AVPixelFormat pix_fmt,
int *h_shift, int *v_shift);
/**
* @return number of planes in pix_fmt, a negative AVERROR if pix_fmt is not a
* valid pixel format.
*/
int av_pix_fmt_count_planes(enum AVPixelFormat pix_fmt);
void ff_check_pixfmt_descriptors(void);
/**
* Utility function to swap the endianness of a pixel format.
*
* @param[in] pix_fmt the pixel format
*
* @return pixel format with swapped endianness if it exists,
* otherwise AV_PIX_FMT_NONE
*/
enum AVPixelFormat av_pix_fmt_swap_endianness(enum AVPixelFormat pix_fmt);
#endif /* AVUTIL_PIXDESC_H */
+283 -144
Ver Arquivo
@@ -28,6 +28,10 @@
*/
#include "libavutil/avconfig.h"
#include "libavutil/version.h"
#define AVPALETTE_SIZE 1024
#define AVPALETTE_COUNT 256
/**
* Pixel format.
@@ -55,173 +59,308 @@
* allocating the picture.
*
* @note
* make sure that all newly added big endian formats have pix_fmt&1==1
* and that all newly added little endian formats have pix_fmt&1==0
* this allows simpler detection of big vs little endian.
* Make sure that all newly added big-endian formats have pix_fmt & 1 == 1
* and that all newly added little-endian formats have pix_fmt & 1 == 0.
* This allows simpler detection of big vs little-endian.
*/
enum PixelFormat {
PIX_FMT_NONE= -1,
PIX_FMT_YUV420P, ///< planar YUV 4:2:0, 12bpp, (1 Cr & Cb sample per 2x2 Y samples)
PIX_FMT_YUYV422, ///< packed YUV 4:2:2, 16bpp, Y0 Cb Y1 Cr
PIX_FMT_RGB24, ///< packed RGB 8:8:8, 24bpp, RGBRGB...
PIX_FMT_BGR24, ///< packed RGB 8:8:8, 24bpp, BGRBGR...
PIX_FMT_YUV422P, ///< planar YUV 4:2:2, 16bpp, (1 Cr & Cb sample per 2x1 Y samples)
PIX_FMT_YUV444P, ///< planar YUV 4:4:4, 24bpp, (1 Cr & Cb sample per 1x1 Y samples)
PIX_FMT_YUV410P, ///< planar YUV 4:1:0, 9bpp, (1 Cr & Cb sample per 4x4 Y samples)
PIX_FMT_YUV411P, ///< planar YUV 4:1:1, 12bpp, (1 Cr & Cb sample per 4x1 Y samples)
PIX_FMT_GRAY8, ///< Y , 8bpp
PIX_FMT_MONOWHITE, ///< Y , 1bpp, 0 is white, 1 is black, in each byte pixels are ordered from the msb to the lsb
PIX_FMT_MONOBLACK, ///< Y , 1bpp, 0 is black, 1 is white, in each byte pixels are ordered from the msb to the lsb
PIX_FMT_PAL8, ///< 8 bit with PIX_FMT_RGB32 palette
PIX_FMT_YUVJ420P, ///< planar YUV 4:2:0, 12bpp, full scale (JPEG), deprecated in favor of PIX_FMT_YUV420P and setting color_range
PIX_FMT_YUVJ422P, ///< planar YUV 4:2:2, 16bpp, full scale (JPEG), deprecated in favor of PIX_FMT_YUV422P and setting color_range
PIX_FMT_YUVJ444P, ///< planar YUV 4:4:4, 24bpp, full scale (JPEG), deprecated in favor of PIX_FMT_YUV444P and setting color_range
PIX_FMT_XVMC_MPEG2_MC,///< XVideo Motion Acceleration via common packet passing
PIX_FMT_XVMC_MPEG2_IDCT,
PIX_FMT_UYVY422, ///< packed YUV 4:2:2, 16bpp, Cb Y0 Cr Y1
PIX_FMT_UYYVYY411, ///< packed YUV 4:1:1, 12bpp, Cb Y0 Y1 Cr Y2 Y3
PIX_FMT_BGR8, ///< packed RGB 3:3:2, 8bpp, (msb)2B 3G 3R(lsb)
PIX_FMT_BGR4, ///< packed RGB 1:2:1 bitstream, 4bpp, (msb)1B 2G 1R(lsb), a byte contains two pixels, the first pixel in the byte is the one composed by the 4 msb bits
PIX_FMT_BGR4_BYTE, ///< packed RGB 1:2:1, 8bpp, (msb)1B 2G 1R(lsb)
PIX_FMT_RGB8, ///< packed RGB 3:3:2, 8bpp, (msb)2R 3G 3B(lsb)
PIX_FMT_RGB4, ///< packed RGB 1:2:1 bitstream, 4bpp, (msb)1R 2G 1B(lsb), a byte contains two pixels, the first pixel in the byte is the one composed by the 4 msb bits
PIX_FMT_RGB4_BYTE, ///< packed RGB 1:2:1, 8bpp, (msb)1R 2G 1B(lsb)
PIX_FMT_NV12, ///< planar YUV 4:2:0, 12bpp, 1 plane for Y and 1 plane for the UV components, which are interleaved (first byte U and the following byte V)
PIX_FMT_NV21, ///< as above, but U and V bytes are swapped
enum AVPixelFormat {
AV_PIX_FMT_NONE = -1,
AV_PIX_FMT_YUV420P, ///< planar YUV 4:2:0, 12bpp, (1 Cr & Cb sample per 2x2 Y samples)
AV_PIX_FMT_YUYV422, ///< packed YUV 4:2:2, 16bpp, Y0 Cb Y1 Cr
AV_PIX_FMT_RGB24, ///< packed RGB 8:8:8, 24bpp, RGBRGB...
AV_PIX_FMT_BGR24, ///< packed RGB 8:8:8, 24bpp, BGRBGR...
AV_PIX_FMT_YUV422P, ///< planar YUV 4:2:2, 16bpp, (1 Cr & Cb sample per 2x1 Y samples)
AV_PIX_FMT_YUV444P, ///< planar YUV 4:4:4, 24bpp, (1 Cr & Cb sample per 1x1 Y samples)
AV_PIX_FMT_YUV410P, ///< planar YUV 4:1:0, 9bpp, (1 Cr & Cb sample per 4x4 Y samples)
AV_PIX_FMT_YUV411P, ///< planar YUV 4:1:1, 12bpp, (1 Cr & Cb sample per 4x1 Y samples)
AV_PIX_FMT_GRAY8, ///< Y , 8bpp
AV_PIX_FMT_MONOWHITE, ///< Y , 1bpp, 0 is white, 1 is black, in each byte pixels are ordered from the msb to the lsb
AV_PIX_FMT_MONOBLACK, ///< Y , 1bpp, 0 is black, 1 is white, in each byte pixels are ordered from the msb to the lsb
AV_PIX_FMT_PAL8, ///< 8 bit with PIX_FMT_RGB32 palette
AV_PIX_FMT_YUVJ420P, ///< planar YUV 4:2:0, 12bpp, full scale (JPEG), deprecated in favor of PIX_FMT_YUV420P and setting color_range
AV_PIX_FMT_YUVJ422P, ///< planar YUV 4:2:2, 16bpp, full scale (JPEG), deprecated in favor of PIX_FMT_YUV422P and setting color_range
AV_PIX_FMT_YUVJ444P, ///< planar YUV 4:4:4, 24bpp, full scale (JPEG), deprecated in favor of PIX_FMT_YUV444P and setting color_range
AV_PIX_FMT_XVMC_MPEG2_MC,///< XVideo Motion Acceleration via common packet passing
AV_PIX_FMT_XVMC_MPEG2_IDCT,
AV_PIX_FMT_UYVY422, ///< packed YUV 4:2:2, 16bpp, Cb Y0 Cr Y1
AV_PIX_FMT_UYYVYY411, ///< packed YUV 4:1:1, 12bpp, Cb Y0 Y1 Cr Y2 Y3
AV_PIX_FMT_BGR8, ///< packed RGB 3:3:2, 8bpp, (msb)2B 3G 3R(lsb)
AV_PIX_FMT_BGR4, ///< packed RGB 1:2:1 bitstream, 4bpp, (msb)1B 2G 1R(lsb), a byte contains two pixels, the first pixel in the byte is the one composed by the 4 msb bits
AV_PIX_FMT_BGR4_BYTE, ///< packed RGB 1:2:1, 8bpp, (msb)1B 2G 1R(lsb)
AV_PIX_FMT_RGB8, ///< packed RGB 3:3:2, 8bpp, (msb)2R 3G 3B(lsb)
AV_PIX_FMT_RGB4, ///< packed RGB 1:2:1 bitstream, 4bpp, (msb)1R 2G 1B(lsb), a byte contains two pixels, the first pixel in the byte is the one composed by the 4 msb bits
AV_PIX_FMT_RGB4_BYTE, ///< packed RGB 1:2:1, 8bpp, (msb)1R 2G 1B(lsb)
AV_PIX_FMT_NV12, ///< planar YUV 4:2:0, 12bpp, 1 plane for Y and 1 plane for the UV components, which are interleaved (first byte U and the following byte V)
AV_PIX_FMT_NV21, ///< as above, but U and V bytes are swapped
PIX_FMT_ARGB, ///< packed ARGB 8:8:8:8, 32bpp, ARGBARGB...
PIX_FMT_RGBA, ///< packed RGBA 8:8:8:8, 32bpp, RGBARGBA...
PIX_FMT_ABGR, ///< packed ABGR 8:8:8:8, 32bpp, ABGRABGR...
PIX_FMT_BGRA, ///< packed BGRA 8:8:8:8, 32bpp, BGRABGRA...
AV_PIX_FMT_ARGB, ///< packed ARGB 8:8:8:8, 32bpp, ARGBARGB...
AV_PIX_FMT_RGBA, ///< packed RGBA 8:8:8:8, 32bpp, RGBARGBA...
AV_PIX_FMT_ABGR, ///< packed ABGR 8:8:8:8, 32bpp, ABGRABGR...
AV_PIX_FMT_BGRA, ///< packed BGRA 8:8:8:8, 32bpp, BGRABGRA...
PIX_FMT_GRAY16BE, ///< Y , 16bpp, big-endian
PIX_FMT_GRAY16LE, ///< Y , 16bpp, little-endian
PIX_FMT_YUV440P, ///< planar YUV 4:4:0 (1 Cr & Cb sample per 1x2 Y samples)
PIX_FMT_YUVJ440P, ///< planar YUV 4:4:0 full scale (JPEG), deprecated in favor of PIX_FMT_YUV440P and setting color_range
PIX_FMT_YUVA420P, ///< planar YUV 4:2:0, 20bpp, (1 Cr & Cb sample per 2x2 Y & A samples)
PIX_FMT_VDPAU_H264,///< H.264 HW decoding with VDPAU, data[0] contains a vdpau_render_state struct which contains the bitstream of the slices as well as various fields extracted from headers
PIX_FMT_VDPAU_MPEG1,///< MPEG-1 HW decoding with VDPAU, data[0] contains a vdpau_render_state struct which contains the bitstream of the slices as well as various fields extracted from headers
PIX_FMT_VDPAU_MPEG2,///< MPEG-2 HW decoding with VDPAU, data[0] contains a vdpau_render_state struct which contains the bitstream of the slices as well as various fields extracted from headers
PIX_FMT_VDPAU_WMV3,///< WMV3 HW decoding with VDPAU, data[0] contains a vdpau_render_state struct which contains the bitstream of the slices as well as various fields extracted from headers
PIX_FMT_VDPAU_VC1, ///< VC-1 HW decoding with VDPAU, data[0] contains a vdpau_render_state struct which contains the bitstream of the slices as well as various fields extracted from headers
PIX_FMT_RGB48BE, ///< packed RGB 16:16:16, 48bpp, 16R, 16G, 16B, the 2-byte value for each R/G/B component is stored as big-endian
PIX_FMT_RGB48LE, ///< packed RGB 16:16:16, 48bpp, 16R, 16G, 16B, the 2-byte value for each R/G/B component is stored as little-endian
AV_PIX_FMT_GRAY16BE, ///< Y , 16bpp, big-endian
AV_PIX_FMT_GRAY16LE, ///< Y , 16bpp, little-endian
AV_PIX_FMT_YUV440P, ///< planar YUV 4:4:0 (1 Cr & Cb sample per 1x2 Y samples)
AV_PIX_FMT_YUVJ440P, ///< planar YUV 4:4:0 full scale (JPEG), deprecated in favor of PIX_FMT_YUV440P and setting color_range
AV_PIX_FMT_YUVA420P, ///< planar YUV 4:2:0, 20bpp, (1 Cr & Cb sample per 2x2 Y & A samples)
AV_PIX_FMT_VDPAU_H264,///< H.264 HW decoding with VDPAU, data[0] contains a vdpau_render_state struct which contains the bitstream of the slices as well as various fields extracted from headers
AV_PIX_FMT_VDPAU_MPEG1,///< MPEG-1 HW decoding with VDPAU, data[0] contains a vdpau_render_state struct which contains the bitstream of the slices as well as various fields extracted from headers
AV_PIX_FMT_VDPAU_MPEG2,///< MPEG-2 HW decoding with VDPAU, data[0] contains a vdpau_render_state struct which contains the bitstream of the slices as well as various fields extracted from headers
AV_PIX_FMT_VDPAU_WMV3,///< WMV3 HW decoding with VDPAU, data[0] contains a vdpau_render_state struct which contains the bitstream of the slices as well as various fields extracted from headers
AV_PIX_FMT_VDPAU_VC1, ///< VC-1 HW decoding with VDPAU, data[0] contains a vdpau_render_state struct which contains the bitstream of the slices as well as various fields extracted from headers
AV_PIX_FMT_RGB48BE, ///< packed RGB 16:16:16, 48bpp, 16R, 16G, 16B, the 2-byte value for each R/G/B component is stored as big-endian
AV_PIX_FMT_RGB48LE, ///< packed RGB 16:16:16, 48bpp, 16R, 16G, 16B, the 2-byte value for each R/G/B component is stored as little-endian
PIX_FMT_RGB565BE, ///< packed RGB 5:6:5, 16bpp, (msb) 5R 6G 5B(lsb), big-endian
PIX_FMT_RGB565LE, ///< packed RGB 5:6:5, 16bpp, (msb) 5R 6G 5B(lsb), little-endian
PIX_FMT_RGB555BE, ///< packed RGB 5:5:5, 16bpp, (msb)1A 5R 5G 5B(lsb), big-endian, most significant bit to 0
PIX_FMT_RGB555LE, ///< packed RGB 5:5:5, 16bpp, (msb)1A 5R 5G 5B(lsb), little-endian, most significant bit to 0
AV_PIX_FMT_RGB565BE, ///< packed RGB 5:6:5, 16bpp, (msb) 5R 6G 5B(lsb), big-endian
AV_PIX_FMT_RGB565LE, ///< packed RGB 5:6:5, 16bpp, (msb) 5R 6G 5B(lsb), little-endian
AV_PIX_FMT_RGB555BE, ///< packed RGB 5:5:5, 16bpp, (msb)1A 5R 5G 5B(lsb), big-endian, most significant bit to 0
AV_PIX_FMT_RGB555LE, ///< packed RGB 5:5:5, 16bpp, (msb)1A 5R 5G 5B(lsb), little-endian, most significant bit to 0
PIX_FMT_BGR565BE, ///< packed BGR 5:6:5, 16bpp, (msb) 5B 6G 5R(lsb), big-endian
PIX_FMT_BGR565LE, ///< packed BGR 5:6:5, 16bpp, (msb) 5B 6G 5R(lsb), little-endian
PIX_FMT_BGR555BE, ///< packed BGR 5:5:5, 16bpp, (msb)1A 5B 5G 5R(lsb), big-endian, most significant bit to 1
PIX_FMT_BGR555LE, ///< packed BGR 5:5:5, 16bpp, (msb)1A 5B 5G 5R(lsb), little-endian, most significant bit to 1
AV_PIX_FMT_BGR565BE, ///< packed BGR 5:6:5, 16bpp, (msb) 5B 6G 5R(lsb), big-endian
AV_PIX_FMT_BGR565LE, ///< packed BGR 5:6:5, 16bpp, (msb) 5B 6G 5R(lsb), little-endian
AV_PIX_FMT_BGR555BE, ///< packed BGR 5:5:5, 16bpp, (msb)1A 5B 5G 5R(lsb), big-endian, most significant bit to 1
AV_PIX_FMT_BGR555LE, ///< packed BGR 5:5:5, 16bpp, (msb)1A 5B 5G 5R(lsb), little-endian, most significant bit to 1
PIX_FMT_VAAPI_MOCO, ///< HW acceleration through VA API at motion compensation entry-point, Picture.data[3] contains a vaapi_render_state struct which contains macroblocks as well as various fields extracted from headers
PIX_FMT_VAAPI_IDCT, ///< HW acceleration through VA API at IDCT entry-point, Picture.data[3] contains a vaapi_render_state struct which contains fields extracted from headers
PIX_FMT_VAAPI_VLD, ///< HW decoding through VA API, Picture.data[3] contains a vaapi_render_state struct which contains the bitstream of the slices as well as various fields extracted from headers
AV_PIX_FMT_VAAPI_MOCO, ///< HW acceleration through VA API at motion compensation entry-point, Picture.data[3] contains a vaapi_render_state struct which contains macroblocks as well as various fields extracted from headers
AV_PIX_FMT_VAAPI_IDCT, ///< HW acceleration through VA API at IDCT entry-point, Picture.data[3] contains a vaapi_render_state struct which contains fields extracted from headers
AV_PIX_FMT_VAAPI_VLD, ///< HW decoding through VA API, Picture.data[3] contains a vaapi_render_state struct which contains the bitstream of the slices as well as various fields extracted from headers
PIX_FMT_YUV420P16LE, ///< planar YUV 4:2:0, 24bpp, (1 Cr & Cb sample per 2x2 Y samples), little-endian
PIX_FMT_YUV420P16BE, ///< planar YUV 4:2:0, 24bpp, (1 Cr & Cb sample per 2x2 Y samples), big-endian
PIX_FMT_YUV422P16LE, ///< planar YUV 4:2:2, 32bpp, (1 Cr & Cb sample per 2x1 Y samples), little-endian
PIX_FMT_YUV422P16BE, ///< planar YUV 4:2:2, 32bpp, (1 Cr & Cb sample per 2x1 Y samples), big-endian
PIX_FMT_YUV444P16LE, ///< planar YUV 4:4:4, 48bpp, (1 Cr & Cb sample per 1x1 Y samples), little-endian
PIX_FMT_YUV444P16BE, ///< planar YUV 4:4:4, 48bpp, (1 Cr & Cb sample per 1x1 Y samples), big-endian
PIX_FMT_VDPAU_MPEG4, ///< MPEG4 HW decoding with VDPAU, data[0] contains a vdpau_render_state struct which contains the bitstream of the slices as well as various fields extracted from headers
PIX_FMT_DXVA2_VLD, ///< HW decoding through DXVA2, Picture.data[3] contains a LPDIRECT3DSURFACE9 pointer
AV_PIX_FMT_YUV420P16LE, ///< planar YUV 4:2:0, 24bpp, (1 Cr & Cb sample per 2x2 Y samples), little-endian
AV_PIX_FMT_YUV420P16BE, ///< planar YUV 4:2:0, 24bpp, (1 Cr & Cb sample per 2x2 Y samples), big-endian
AV_PIX_FMT_YUV422P16LE, ///< planar YUV 4:2:2, 32bpp, (1 Cr & Cb sample per 2x1 Y samples), little-endian
AV_PIX_FMT_YUV422P16BE, ///< planar YUV 4:2:2, 32bpp, (1 Cr & Cb sample per 2x1 Y samples), big-endian
AV_PIX_FMT_YUV444P16LE, ///< planar YUV 4:4:4, 48bpp, (1 Cr & Cb sample per 1x1 Y samples), little-endian
AV_PIX_FMT_YUV444P16BE, ///< planar YUV 4:4:4, 48bpp, (1 Cr & Cb sample per 1x1 Y samples), big-endian
AV_PIX_FMT_VDPAU_MPEG4, ///< MPEG4 HW decoding with VDPAU, data[0] contains a vdpau_render_state struct which contains the bitstream of the slices as well as various fields extracted from headers
AV_PIX_FMT_DXVA2_VLD, ///< HW decoding through DXVA2, Picture.data[3] contains a LPDIRECT3DSURFACE9 pointer
PIX_FMT_RGB444LE, ///< packed RGB 4:4:4, 16bpp, (msb)4A 4R 4G 4B(lsb), little-endian, most significant bits to 0
PIX_FMT_RGB444BE, ///< packed RGB 4:4:4, 16bpp, (msb)4A 4R 4G 4B(lsb), big-endian, most significant bits to 0
PIX_FMT_BGR444LE, ///< packed BGR 4:4:4, 16bpp, (msb)4A 4B 4G 4R(lsb), little-endian, most significant bits to 1
PIX_FMT_BGR444BE, ///< packed BGR 4:4:4, 16bpp, (msb)4A 4B 4G 4R(lsb), big-endian, most significant bits to 1
PIX_FMT_GRAY8A, ///< 8bit gray, 8bit alpha
PIX_FMT_BGR48BE, ///< packed RGB 16:16:16, 48bpp, 16B, 16G, 16R, the 2-byte value for each R/G/B component is stored as big-endian
PIX_FMT_BGR48LE, ///< packed RGB 16:16:16, 48bpp, 16B, 16G, 16R, the 2-byte value for each R/G/B component is stored as little-endian
AV_PIX_FMT_RGB444LE, ///< packed RGB 4:4:4, 16bpp, (msb)4A 4R 4G 4B(lsb), little-endian, most significant bits to 0
AV_PIX_FMT_RGB444BE, ///< packed RGB 4:4:4, 16bpp, (msb)4A 4R 4G 4B(lsb), big-endian, most significant bits to 0
AV_PIX_FMT_BGR444LE, ///< packed BGR 4:4:4, 16bpp, (msb)4A 4B 4G 4R(lsb), little-endian, most significant bits to 1
AV_PIX_FMT_BGR444BE, ///< packed BGR 4:4:4, 16bpp, (msb)4A 4B 4G 4R(lsb), big-endian, most significant bits to 1
AV_PIX_FMT_GRAY8A, ///< 8bit gray, 8bit alpha
AV_PIX_FMT_BGR48BE, ///< packed RGB 16:16:16, 48bpp, 16B, 16G, 16R, the 2-byte value for each R/G/B component is stored as big-endian
AV_PIX_FMT_BGR48LE, ///< packed RGB 16:16:16, 48bpp, 16B, 16G, 16R, the 2-byte value for each R/G/B component is stored as little-endian
//the following 10 formats have the disadvantage of needing 1 format for each bit depth, thus
//If you want to support multiple bit depths, then using PIX_FMT_YUV420P16* with the bpp stored seperately
//If you want to support multiple bit depths, then using AV_PIX_FMT_YUV420P16* with the bpp stored separately
//is better
PIX_FMT_YUV420P9BE, ///< planar YUV 4:2:0, 13.5bpp, (1 Cr & Cb sample per 2x2 Y samples), big-endian
PIX_FMT_YUV420P9LE, ///< planar YUV 4:2:0, 13.5bpp, (1 Cr & Cb sample per 2x2 Y samples), little-endian
PIX_FMT_YUV420P10BE,///< planar YUV 4:2:0, 15bpp, (1 Cr & Cb sample per 2x2 Y samples), big-endian
PIX_FMT_YUV420P10LE,///< planar YUV 4:2:0, 15bpp, (1 Cr & Cb sample per 2x2 Y samples), little-endian
PIX_FMT_YUV422P10BE,///< planar YUV 4:2:2, 20bpp, (1 Cr & Cb sample per 2x1 Y samples), big-endian
PIX_FMT_YUV422P10LE,///< planar YUV 4:2:2, 20bpp, (1 Cr & Cb sample per 2x1 Y samples), little-endian
PIX_FMT_YUV444P9BE, ///< planar YUV 4:4:4, 27bpp, (1 Cr & Cb sample per 1x1 Y samples), big-endian
PIX_FMT_YUV444P9LE, ///< planar YUV 4:4:4, 27bpp, (1 Cr & Cb sample per 1x1 Y samples), little-endian
PIX_FMT_YUV444P10BE,///< planar YUV 4:4:4, 30bpp, (1 Cr & Cb sample per 1x1 Y samples), big-endian
PIX_FMT_YUV444P10LE,///< planar YUV 4:4:4, 30bpp, (1 Cr & Cb sample per 1x1 Y samples), little-endian
PIX_FMT_YUV422P9BE, ///< planar YUV 4:2:2, 18bpp, (1 Cr & Cb sample per 2x1 Y samples), big-endian
PIX_FMT_YUV422P9LE, ///< planar YUV 4:2:2, 18bpp, (1 Cr & Cb sample per 2x1 Y samples), little-endian
PIX_FMT_VDA_VLD, ///< hardware decoding through VDA
AV_PIX_FMT_YUV420P9BE, ///< planar YUV 4:2:0, 13.5bpp, (1 Cr & Cb sample per 2x2 Y samples), big-endian
AV_PIX_FMT_YUV420P9LE, ///< planar YUV 4:2:0, 13.5bpp, (1 Cr & Cb sample per 2x2 Y samples), little-endian
AV_PIX_FMT_YUV420P10BE,///< planar YUV 4:2:0, 15bpp, (1 Cr & Cb sample per 2x2 Y samples), big-endian
AV_PIX_FMT_YUV420P10LE,///< planar YUV 4:2:0, 15bpp, (1 Cr & Cb sample per 2x2 Y samples), little-endian
AV_PIX_FMT_YUV422P10BE,///< planar YUV 4:2:2, 20bpp, (1 Cr & Cb sample per 2x1 Y samples), big-endian
AV_PIX_FMT_YUV422P10LE,///< planar YUV 4:2:2, 20bpp, (1 Cr & Cb sample per 2x1 Y samples), little-endian
AV_PIX_FMT_YUV444P9BE, ///< planar YUV 4:4:4, 27bpp, (1 Cr & Cb sample per 1x1 Y samples), big-endian
AV_PIX_FMT_YUV444P9LE, ///< planar YUV 4:4:4, 27bpp, (1 Cr & Cb sample per 1x1 Y samples), little-endian
AV_PIX_FMT_YUV444P10BE,///< planar YUV 4:4:4, 30bpp, (1 Cr & Cb sample per 1x1 Y samples), big-endian
AV_PIX_FMT_YUV444P10LE,///< planar YUV 4:4:4, 30bpp, (1 Cr & Cb sample per 1x1 Y samples), little-endian
AV_PIX_FMT_YUV422P9BE, ///< planar YUV 4:2:2, 18bpp, (1 Cr & Cb sample per 2x1 Y samples), big-endian
AV_PIX_FMT_YUV422P9LE, ///< planar YUV 4:2:2, 18bpp, (1 Cr & Cb sample per 2x1 Y samples), little-endian
AV_PIX_FMT_VDA_VLD, ///< hardware decoding through VDA
#ifdef AV_PIX_FMT_ABI_GIT_MASTER
PIX_FMT_RGBA64BE, ///< packed RGBA 16:16:16:16, 64bpp, 16R, 16G, 16B, 16A, the 2-byte value for each R/G/B/A component is stored as big-endian
PIX_FMT_RGBA64LE, ///< packed RGBA 16:16:16:16, 64bpp, 16R, 16G, 16B, 16A, the 2-byte value for each R/G/B/A component is stored as little-endian
PIX_FMT_BGRA64BE, ///< packed RGBA 16:16:16:16, 64bpp, 16B, 16G, 16R, 16A, the 2-byte value for each R/G/B/A component is stored as big-endian
PIX_FMT_BGRA64LE, ///< packed RGBA 16:16:16:16, 64bpp, 16B, 16G, 16R, 16A, the 2-byte value for each R/G/B/A component is stored as little-endian
AV_PIX_FMT_RGBA64BE, ///< packed RGBA 16:16:16:16, 64bpp, 16R, 16G, 16B, 16A, the 2-byte value for each R/G/B/A component is stored as big-endian
AV_PIX_FMT_RGBA64LE, ///< packed RGBA 16:16:16:16, 64bpp, 16R, 16G, 16B, 16A, the 2-byte value for each R/G/B/A component is stored as little-endian
AV_PIX_FMT_BGRA64BE, ///< packed RGBA 16:16:16:16, 64bpp, 16B, 16G, 16R, 16A, the 2-byte value for each R/G/B/A component is stored as big-endian
AV_PIX_FMT_BGRA64LE, ///< packed RGBA 16:16:16:16, 64bpp, 16B, 16G, 16R, 16A, the 2-byte value for each R/G/B/A component is stored as little-endian
#endif
PIX_FMT_GBRP, ///< planar GBR 4:4:4 24bpp
PIX_FMT_GBRP9BE, ///< planar GBR 4:4:4 27bpp, big endian
PIX_FMT_GBRP9LE, ///< planar GBR 4:4:4 27bpp, little endian
PIX_FMT_GBRP10BE, ///< planar GBR 4:4:4 30bpp, big endian
PIX_FMT_GBRP10LE, ///< planar GBR 4:4:4 30bpp, little endian
PIX_FMT_GBRP16BE, ///< planar GBR 4:4:4 48bpp, big endian
PIX_FMT_GBRP16LE, ///< planar GBR 4:4:4 48bpp, little endian
AV_PIX_FMT_GBRP, ///< planar GBR 4:4:4 24bpp
AV_PIX_FMT_GBRP9BE, ///< planar GBR 4:4:4 27bpp, big-endian
AV_PIX_FMT_GBRP9LE, ///< planar GBR 4:4:4 27bpp, little-endian
AV_PIX_FMT_GBRP10BE, ///< planar GBR 4:4:4 30bpp, big-endian
AV_PIX_FMT_GBRP10LE, ///< planar GBR 4:4:4 30bpp, little-endian
AV_PIX_FMT_GBRP16BE, ///< planar GBR 4:4:4 48bpp, big-endian
AV_PIX_FMT_GBRP16LE, ///< planar GBR 4:4:4 48bpp, little-endian
/**
* duplicated pixel formats for compatibility with libav.
* FFmpeg supports these formats since May 8 2012 and Jan 28 2012 (commits f9ca1ac7 and 143a5c55)
* Libav added them Oct 12 2012 with incompatible values (commit 6d5600e85)
*/
AV_PIX_FMT_YUVA422P_LIBAV, ///< planar YUV 4:2:2 24bpp, (1 Cr & Cb sample per 2x1 Y & A samples)
AV_PIX_FMT_YUVA444P_LIBAV, ///< planar YUV 4:4:4 32bpp, (1 Cr & Cb sample per 1x1 Y & A samples)
AV_PIX_FMT_YUVA420P9BE, ///< planar YUV 4:2:0 22.5bpp, (1 Cr & Cb sample per 2x2 Y & A samples), big-endian
AV_PIX_FMT_YUVA420P9LE, ///< planar YUV 4:2:0 22.5bpp, (1 Cr & Cb sample per 2x2 Y & A samples), little-endian
AV_PIX_FMT_YUVA422P9BE, ///< planar YUV 4:2:2 27bpp, (1 Cr & Cb sample per 2x1 Y & A samples), big-endian
AV_PIX_FMT_YUVA422P9LE, ///< planar YUV 4:2:2 27bpp, (1 Cr & Cb sample per 2x1 Y & A samples), little-endian
AV_PIX_FMT_YUVA444P9BE, ///< planar YUV 4:4:4 36bpp, (1 Cr & Cb sample per 1x1 Y & A samples), big-endian
AV_PIX_FMT_YUVA444P9LE, ///< planar YUV 4:4:4 36bpp, (1 Cr & Cb sample per 1x1 Y & A samples), little-endian
AV_PIX_FMT_YUVA420P10BE, ///< planar YUV 4:2:0 25bpp, (1 Cr & Cb sample per 2x2 Y & A samples, big-endian)
AV_PIX_FMT_YUVA420P10LE, ///< planar YUV 4:2:0 25bpp, (1 Cr & Cb sample per 2x2 Y & A samples, little-endian)
AV_PIX_FMT_YUVA422P10BE, ///< planar YUV 4:2:2 30bpp, (1 Cr & Cb sample per 2x1 Y & A samples, big-endian)
AV_PIX_FMT_YUVA422P10LE, ///< planar YUV 4:2:2 30bpp, (1 Cr & Cb sample per 2x1 Y & A samples, little-endian)
AV_PIX_FMT_YUVA444P10BE, ///< planar YUV 4:4:4 40bpp, (1 Cr & Cb sample per 1x1 Y & A samples, big-endian)
AV_PIX_FMT_YUVA444P10LE, ///< planar YUV 4:4:4 40bpp, (1 Cr & Cb sample per 1x1 Y & A samples, little-endian)
AV_PIX_FMT_YUVA420P16BE, ///< planar YUV 4:2:0 40bpp, (1 Cr & Cb sample per 2x2 Y & A samples, big-endian)
AV_PIX_FMT_YUVA420P16LE, ///< planar YUV 4:2:0 40bpp, (1 Cr & Cb sample per 2x2 Y & A samples, little-endian)
AV_PIX_FMT_YUVA422P16BE, ///< planar YUV 4:2:2 48bpp, (1 Cr & Cb sample per 2x1 Y & A samples, big-endian)
AV_PIX_FMT_YUVA422P16LE, ///< planar YUV 4:2:2 48bpp, (1 Cr & Cb sample per 2x1 Y & A samples, little-endian)
AV_PIX_FMT_YUVA444P16BE, ///< planar YUV 4:4:4 64bpp, (1 Cr & Cb sample per 1x1 Y & A samples, big-endian)
AV_PIX_FMT_YUVA444P16LE, ///< planar YUV 4:4:4 64bpp, (1 Cr & Cb sample per 1x1 Y & A samples, little-endian)
AV_PIX_FMT_VDPAU, ///< HW acceleration through VDPAU, Picture.data[3] contains a VdpVideoSurface
AV_PIX_FMT_XYZ12LE, ///< packed XYZ 4:4:4, 36 bpp, (msb) 12X, 12Y, 12Z (lsb), the 2-byte value for each X/Y/Z is stored as little-endian, the 4 lower bits are set to 0
AV_PIX_FMT_XYZ12BE, ///< packed XYZ 4:4:4, 36 bpp, (msb) 12X, 12Y, 12Z (lsb), the 2-byte value for each X/Y/Z is stored as big-endian, the 4 lower bits are set to 0
#ifndef AV_PIX_FMT_ABI_GIT_MASTER
PIX_FMT_RGBA64BE=0x123, ///< packed RGBA 16:16:16:16, 64bpp, 16R, 16G, 16B, 16A, the 2-byte value for each R/G/B/A component is stored as big-endian
PIX_FMT_RGBA64LE, ///< packed RGBA 16:16:16:16, 64bpp, 16R, 16G, 16B, 16A, the 2-byte value for each R/G/B/A component is stored as little-endian
PIX_FMT_BGRA64BE, ///< packed RGBA 16:16:16:16, 64bpp, 16B, 16G, 16R, 16A, the 2-byte value for each R/G/B/A component is stored as big-endian
PIX_FMT_BGRA64LE, ///< packed RGBA 16:16:16:16, 64bpp, 16B, 16G, 16R, 16A, the 2-byte value for each R/G/B/A component is stored as little-endian
AV_PIX_FMT_RGBA64BE=0x123, ///< packed RGBA 16:16:16:16, 64bpp, 16R, 16G, 16B, 16A, the 2-byte value for each R/G/B/A component is stored as big-endian
AV_PIX_FMT_RGBA64LE, ///< packed RGBA 16:16:16:16, 64bpp, 16R, 16G, 16B, 16A, the 2-byte value for each R/G/B/A component is stored as little-endian
AV_PIX_FMT_BGRA64BE, ///< packed RGBA 16:16:16:16, 64bpp, 16B, 16G, 16R, 16A, the 2-byte value for each R/G/B/A component is stored as big-endian
AV_PIX_FMT_BGRA64LE, ///< packed RGBA 16:16:16:16, 64bpp, 16B, 16G, 16R, 16A, the 2-byte value for each R/G/B/A component is stored as little-endian
#endif
AV_PIX_FMT_0RGB=0x123+4, ///< packed RGB 8:8:8, 32bpp, 0RGB0RGB...
AV_PIX_FMT_RGB0, ///< packed RGB 8:8:8, 32bpp, RGB0RGB0...
AV_PIX_FMT_0BGR, ///< packed BGR 8:8:8, 32bpp, 0BGR0BGR...
AV_PIX_FMT_BGR0, ///< packed BGR 8:8:8, 32bpp, BGR0BGR0...
AV_PIX_FMT_YUVA444P, ///< planar YUV 4:4:4 32bpp, (1 Cr & Cb sample per 1x1 Y & A samples)
AV_PIX_FMT_YUVA422P, ///< planar YUV 4:2:2 24bpp, (1 Cr & Cb sample per 2x1 Y & A samples)
AV_PIX_FMT_YUV420P12BE, ///< planar YUV 4:2:0,18bpp, (1 Cr & Cb sample per 2x2 Y samples), big-endian
AV_PIX_FMT_YUV420P12LE, ///< planar YUV 4:2:0,18bpp, (1 Cr & Cb sample per 2x2 Y samples), little-endian
AV_PIX_FMT_YUV420P14BE, ///< planar YUV 4:2:0,21bpp, (1 Cr & Cb sample per 2x2 Y samples), big-endian
AV_PIX_FMT_YUV420P14LE, ///< planar YUV 4:2:0,21bpp, (1 Cr & Cb sample per 2x2 Y samples), little-endian
AV_PIX_FMT_YUV422P12BE, ///< planar YUV 4:2:2,24bpp, (1 Cr & Cb sample per 2x1 Y samples), big-endian
AV_PIX_FMT_YUV422P12LE, ///< planar YUV 4:2:2,24bpp, (1 Cr & Cb sample per 2x1 Y samples), little-endian
AV_PIX_FMT_YUV422P14BE, ///< planar YUV 4:2:2,28bpp, (1 Cr & Cb sample per 2x1 Y samples), big-endian
AV_PIX_FMT_YUV422P14LE, ///< planar YUV 4:2:2,28bpp, (1 Cr & Cb sample per 2x1 Y samples), little-endian
AV_PIX_FMT_YUV444P12BE, ///< planar YUV 4:4:4,36bpp, (1 Cr & Cb sample per 1x1 Y samples), big-endian
AV_PIX_FMT_YUV444P12LE, ///< planar YUV 4:4:4,36bpp, (1 Cr & Cb sample per 1x1 Y samples), little-endian
AV_PIX_FMT_YUV444P14BE, ///< planar YUV 4:4:4,42bpp, (1 Cr & Cb sample per 1x1 Y samples), big-endian
AV_PIX_FMT_YUV444P14LE, ///< planar YUV 4:4:4,42bpp, (1 Cr & Cb sample per 1x1 Y samples), little-endian
AV_PIX_FMT_GBRP12BE, ///< planar GBR 4:4:4 36bpp, big-endian
AV_PIX_FMT_GBRP12LE, ///< planar GBR 4:4:4 36bpp, little-endian
AV_PIX_FMT_GBRP14BE, ///< planar GBR 4:4:4 42bpp, big-endian
AV_PIX_FMT_GBRP14LE, ///< planar GBR 4:4:4 42bpp, little-endian
AV_PIX_FMT_GBRAP, ///< planar GBRA 4:4:4:4 32bpp
AV_PIX_FMT_GBRAP16BE, ///< planar GBRA 4:4:4:4 64bpp, big-endian
AV_PIX_FMT_GBRAP16LE, ///< planar GBRA 4:4:4:4 64bpp, little-endian
AV_PIX_FMT_YUVJ411P, ///< planar YUV 4:1:1, 12bpp, (1 Cr & Cb sample per 4x1 Y samples) full scale (JPEG), deprecated in favor of PIX_FMT_YUV411P and setting color_range
AV_PIX_FMT_NB, ///< number of pixel formats, DO NOT USE THIS if you want to link with shared libav* because the number of formats might differ between versions
#if FF_API_PIX_FMT
#include "old_pix_fmts.h"
#endif
PIX_FMT_0RGB=0x123+4, ///< packed RGB 8:8:8, 32bpp, 0RGB0RGB...
PIX_FMT_RGB0, ///< packed RGB 8:8:8, 32bpp, RGB0RGB0...
PIX_FMT_0BGR, ///< packed BGR 8:8:8, 32bpp, 0BGR0BGR...
PIX_FMT_BGR0, ///< packed BGR 8:8:8, 32bpp, BGR0BGR0...
PIX_FMT_NB, ///< number of pixel formats, DO NOT USE THIS if you want to link with shared libav* because the number of formats might differ between versions
};
#define PIX_FMT_Y400A PIX_FMT_GRAY8A
#define PIX_FMT_GBR24P PIX_FMT_GBRP
#if AV_HAVE_BIGENDIAN
# define PIX_FMT_NE(be, le) PIX_FMT_##be
#else
# define PIX_FMT_NE(be, le) PIX_FMT_##le
#if AV_HAVE_INCOMPATIBLE_LIBAV_ABI
#define AV_PIX_FMT_YUVA422P AV_PIX_FMT_YUVA422P_LIBAV
#define AV_PIX_FMT_YUVA444P AV_PIX_FMT_YUVA444P_LIBAV
#endif
#define PIX_FMT_RGB32 PIX_FMT_NE(ARGB, BGRA)
#define PIX_FMT_RGB32_1 PIX_FMT_NE(RGBA, ABGR)
#define PIX_FMT_BGR32 PIX_FMT_NE(ABGR, RGBA)
#define PIX_FMT_BGR32_1 PIX_FMT_NE(BGRA, ARGB)
#define PIX_FMT_0RGB32 PIX_FMT_NE(0RGB, BGR0)
#define PIX_FMT_0BGR32 PIX_FMT_NE(0BGR, RGB0)
#define PIX_FMT_GRAY16 PIX_FMT_NE(GRAY16BE, GRAY16LE)
#define PIX_FMT_RGB48 PIX_FMT_NE(RGB48BE, RGB48LE)
#define PIX_FMT_RGB565 PIX_FMT_NE(RGB565BE, RGB565LE)
#define PIX_FMT_RGB555 PIX_FMT_NE(RGB555BE, RGB555LE)
#define PIX_FMT_RGB444 PIX_FMT_NE(RGB444BE, RGB444LE)
#define PIX_FMT_BGR48 PIX_FMT_NE(BGR48BE, BGR48LE)
#define PIX_FMT_BGR565 PIX_FMT_NE(BGR565BE, BGR565LE)
#define PIX_FMT_BGR555 PIX_FMT_NE(BGR555BE, BGR555LE)
#define PIX_FMT_BGR444 PIX_FMT_NE(BGR444BE, BGR444LE)
#define AV_PIX_FMT_Y400A AV_PIX_FMT_GRAY8A
#define AV_PIX_FMT_GBR24P AV_PIX_FMT_GBRP
#define PIX_FMT_YUV420P9 PIX_FMT_NE(YUV420P9BE , YUV420P9LE)
#define PIX_FMT_YUV422P9 PIX_FMT_NE(YUV422P9BE , YUV422P9LE)
#define PIX_FMT_YUV444P9 PIX_FMT_NE(YUV444P9BE , YUV444P9LE)
#define PIX_FMT_YUV420P10 PIX_FMT_NE(YUV420P10BE, YUV420P10LE)
#define PIX_FMT_YUV422P10 PIX_FMT_NE(YUV422P10BE, YUV422P10LE)
#define PIX_FMT_YUV444P10 PIX_FMT_NE(YUV444P10BE, YUV444P10LE)
#define PIX_FMT_YUV420P16 PIX_FMT_NE(YUV420P16BE, YUV420P16LE)
#define PIX_FMT_YUV422P16 PIX_FMT_NE(YUV422P16BE, YUV422P16LE)
#define PIX_FMT_YUV444P16 PIX_FMT_NE(YUV444P16BE, YUV444P16LE)
#if AV_HAVE_BIGENDIAN
# define AV_PIX_FMT_NE(be, le) AV_PIX_FMT_##be
#else
# define AV_PIX_FMT_NE(be, le) AV_PIX_FMT_##le
#endif
#define PIX_FMT_RGBA64 PIX_FMT_NE(RGBA64BE, RGBA64LE)
#define PIX_FMT_BGRA64 PIX_FMT_NE(BGRA64BE, BGRA64LE)
#define PIX_FMT_GBRP9 PIX_FMT_NE(GBRP9BE , GBRP9LE)
#define PIX_FMT_GBRP10 PIX_FMT_NE(GBRP10BE, GBRP10LE)
#define PIX_FMT_GBRP16 PIX_FMT_NE(GBRP16BE, GBRP16LE)
#define AV_PIX_FMT_RGB32 AV_PIX_FMT_NE(ARGB, BGRA)
#define AV_PIX_FMT_RGB32_1 AV_PIX_FMT_NE(RGBA, ABGR)
#define AV_PIX_FMT_BGR32 AV_PIX_FMT_NE(ABGR, RGBA)
#define AV_PIX_FMT_BGR32_1 AV_PIX_FMT_NE(BGRA, ARGB)
#define AV_PIX_FMT_0RGB32 AV_PIX_FMT_NE(0RGB, BGR0)
#define AV_PIX_FMT_0BGR32 AV_PIX_FMT_NE(0BGR, RGB0)
#define AV_PIX_FMT_GRAY16 AV_PIX_FMT_NE(GRAY16BE, GRAY16LE)
#define AV_PIX_FMT_RGB48 AV_PIX_FMT_NE(RGB48BE, RGB48LE)
#define AV_PIX_FMT_RGB565 AV_PIX_FMT_NE(RGB565BE, RGB565LE)
#define AV_PIX_FMT_RGB555 AV_PIX_FMT_NE(RGB555BE, RGB555LE)
#define AV_PIX_FMT_RGB444 AV_PIX_FMT_NE(RGB444BE, RGB444LE)
#define AV_PIX_FMT_BGR48 AV_PIX_FMT_NE(BGR48BE, BGR48LE)
#define AV_PIX_FMT_BGR565 AV_PIX_FMT_NE(BGR565BE, BGR565LE)
#define AV_PIX_FMT_BGR555 AV_PIX_FMT_NE(BGR555BE, BGR555LE)
#define AV_PIX_FMT_BGR444 AV_PIX_FMT_NE(BGR444BE, BGR444LE)
#define AV_PIX_FMT_YUV420P9 AV_PIX_FMT_NE(YUV420P9BE , YUV420P9LE)
#define AV_PIX_FMT_YUV422P9 AV_PIX_FMT_NE(YUV422P9BE , YUV422P9LE)
#define AV_PIX_FMT_YUV444P9 AV_PIX_FMT_NE(YUV444P9BE , YUV444P9LE)
#define AV_PIX_FMT_YUV420P10 AV_PIX_FMT_NE(YUV420P10BE, YUV420P10LE)
#define AV_PIX_FMT_YUV422P10 AV_PIX_FMT_NE(YUV422P10BE, YUV422P10LE)
#define AV_PIX_FMT_YUV444P10 AV_PIX_FMT_NE(YUV444P10BE, YUV444P10LE)
#define AV_PIX_FMT_YUV420P12 AV_PIX_FMT_NE(YUV420P12BE, YUV420P12LE)
#define AV_PIX_FMT_YUV422P12 AV_PIX_FMT_NE(YUV422P12BE, YUV422P12LE)
#define AV_PIX_FMT_YUV444P12 AV_PIX_FMT_NE(YUV444P12BE, YUV444P12LE)
#define AV_PIX_FMT_YUV420P14 AV_PIX_FMT_NE(YUV420P14BE, YUV420P14LE)
#define AV_PIX_FMT_YUV422P14 AV_PIX_FMT_NE(YUV422P14BE, YUV422P14LE)
#define AV_PIX_FMT_YUV444P14 AV_PIX_FMT_NE(YUV444P14BE, YUV444P14LE)
#define AV_PIX_FMT_YUV420P16 AV_PIX_FMT_NE(YUV420P16BE, YUV420P16LE)
#define AV_PIX_FMT_YUV422P16 AV_PIX_FMT_NE(YUV422P16BE, YUV422P16LE)
#define AV_PIX_FMT_YUV444P16 AV_PIX_FMT_NE(YUV444P16BE, YUV444P16LE)
#define AV_PIX_FMT_RGBA64 AV_PIX_FMT_NE(RGBA64BE, RGBA64LE)
#define AV_PIX_FMT_BGRA64 AV_PIX_FMT_NE(BGRA64BE, BGRA64LE)
#define AV_PIX_FMT_GBRP9 AV_PIX_FMT_NE(GBRP9BE , GBRP9LE)
#define AV_PIX_FMT_GBRP10 AV_PIX_FMT_NE(GBRP10BE, GBRP10LE)
#define AV_PIX_FMT_GBRP12 AV_PIX_FMT_NE(GBRP12BE, GBRP12LE)
#define AV_PIX_FMT_GBRP14 AV_PIX_FMT_NE(GBRP14BE, GBRP14LE)
#define AV_PIX_FMT_GBRP16 AV_PIX_FMT_NE(GBRP16BE, GBRP16LE)
#define AV_PIX_FMT_YUVA420P9 AV_PIX_FMT_NE(YUVA420P9BE , YUVA420P9LE)
#define AV_PIX_FMT_YUVA422P9 AV_PIX_FMT_NE(YUVA422P9BE , YUVA422P9LE)
#define AV_PIX_FMT_YUVA444P9 AV_PIX_FMT_NE(YUVA444P9BE , YUVA444P9LE)
#define AV_PIX_FMT_YUVA420P10 AV_PIX_FMT_NE(YUVA420P10BE, YUVA420P10LE)
#define AV_PIX_FMT_YUVA422P10 AV_PIX_FMT_NE(YUVA422P10BE, YUVA422P10LE)
#define AV_PIX_FMT_YUVA444P10 AV_PIX_FMT_NE(YUVA444P10BE, YUVA444P10LE)
#define AV_PIX_FMT_YUVA420P16 AV_PIX_FMT_NE(YUVA420P16BE, YUVA420P16LE)
#define AV_PIX_FMT_YUVA422P16 AV_PIX_FMT_NE(YUVA422P16BE, YUVA422P16LE)
#define AV_PIX_FMT_YUVA444P16 AV_PIX_FMT_NE(YUVA444P16BE, YUVA444P16LE)
#define AV_PIX_FMT_XYZ12 AV_PIX_FMT_NE(XYZ12BE, XYZ12LE)
#if FF_API_PIX_FMT
#define PixelFormat AVPixelFormat
#define PIX_FMT_Y400A AV_PIX_FMT_Y400A
#define PIX_FMT_GBR24P AV_PIX_FMT_GBR24P
#define PIX_FMT_NE(be, le) AV_PIX_FMT_NE(be, le)
#define PIX_FMT_RGB32 AV_PIX_FMT_RGB32
#define PIX_FMT_RGB32_1 AV_PIX_FMT_RGB32_1
#define PIX_FMT_BGR32 AV_PIX_FMT_BGR32
#define PIX_FMT_BGR32_1 AV_PIX_FMT_BGR32_1
#define PIX_FMT_0RGB32 AV_PIX_FMT_0RGB32
#define PIX_FMT_0BGR32 AV_PIX_FMT_0BGR32
#define PIX_FMT_GRAY16 AV_PIX_FMT_GRAY16
#define PIX_FMT_RGB48 AV_PIX_FMT_RGB48
#define PIX_FMT_RGB565 AV_PIX_FMT_RGB565
#define PIX_FMT_RGB555 AV_PIX_FMT_RGB555
#define PIX_FMT_RGB444 AV_PIX_FMT_RGB444
#define PIX_FMT_BGR48 AV_PIX_FMT_BGR48
#define PIX_FMT_BGR565 AV_PIX_FMT_BGR565
#define PIX_FMT_BGR555 AV_PIX_FMT_BGR555
#define PIX_FMT_BGR444 AV_PIX_FMT_BGR444
#define PIX_FMT_YUV420P9 AV_PIX_FMT_YUV420P9
#define PIX_FMT_YUV422P9 AV_PIX_FMT_YUV422P9
#define PIX_FMT_YUV444P9 AV_PIX_FMT_YUV444P9
#define PIX_FMT_YUV420P10 AV_PIX_FMT_YUV420P10
#define PIX_FMT_YUV422P10 AV_PIX_FMT_YUV422P10
#define PIX_FMT_YUV444P10 AV_PIX_FMT_YUV444P10
#define PIX_FMT_YUV420P12 AV_PIX_FMT_YUV420P12
#define PIX_FMT_YUV422P12 AV_PIX_FMT_YUV422P12
#define PIX_FMT_YUV444P12 AV_PIX_FMT_YUV444P12
#define PIX_FMT_YUV420P14 AV_PIX_FMT_YUV420P14
#define PIX_FMT_YUV422P14 AV_PIX_FMT_YUV422P14
#define PIX_FMT_YUV444P14 AV_PIX_FMT_YUV444P14
#define PIX_FMT_YUV420P16 AV_PIX_FMT_YUV420P16
#define PIX_FMT_YUV422P16 AV_PIX_FMT_YUV422P16
#define PIX_FMT_YUV444P16 AV_PIX_FMT_YUV444P16
#define PIX_FMT_RGBA64 AV_PIX_FMT_RGBA64
#define PIX_FMT_BGRA64 AV_PIX_FMT_BGRA64
#define PIX_FMT_GBRP9 AV_PIX_FMT_GBRP9
#define PIX_FMT_GBRP10 AV_PIX_FMT_GBRP10
#define PIX_FMT_GBRP12 AV_PIX_FMT_GBRP12
#define PIX_FMT_GBRP14 AV_PIX_FMT_GBRP14
#define PIX_FMT_GBRP16 AV_PIX_FMT_GBRP16
#endif
#endif /* AVUTIL_PIXFMT_H */
+11
Ver Arquivo
@@ -114,6 +114,17 @@ AVRational av_add_q(AVRational b, AVRational c) av_const;
*/
AVRational av_sub_q(AVRational b, AVRational c) av_const;
/**
* Invert a rational.
* @param q value
* @return 1 / q
*/
static av_always_inline AVRational av_inv_q(AVRational q)
{
AVRational r = { q.den, q.num };
return r;
}
/**
* Convert a double precision floating point number to a rational.
* inf is expressed as {1,0} or {-1,0} depending on the sign.
+75
Ver Arquivo
@@ -0,0 +1,75 @@
/*
* Copyright (C) 2007 Michael Niedermayer <michaelni@gmx.at>
* Copyright (C) 2013 James Almer <jamrial@gmail.com>
*
* This file is part of FFmpeg.
*
* FFmpeg is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* FFmpeg is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with FFmpeg; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#ifndef AVUTIL_RIPEMD_H
#define AVUTIL_RIPEMD_H
#include <stdint.h>
#include "attributes.h"
#include "version.h"
/**
* @defgroup lavu_ripemd RIPEMD
* @ingroup lavu_crypto
* @{
*/
extern const int av_ripemd_size;
struct AVRIPEMD;
/**
* Allocate an AVRIPEMD context.
*/
struct AVRIPEMD *av_ripemd_alloc(void);
/**
* Initialize RIPEMD hashing.
*
* @param context pointer to the function context (of size av_ripemd_size)
* @param bits number of bits in digest (128, 160, 256 or 320 bits)
* @return zero if initialization succeeded, -1 otherwise
*/
int av_ripemd_init(struct AVRIPEMD* context, int bits);
/**
* Update hash value.
*
* @param context hash function context
* @param data input data to update hash with
* @param len input data length
*/
void av_ripemd_update(struct AVRIPEMD* context, const uint8_t* data, unsigned int len);
/**
* Finish hashing and output digest value.
*
* @param context hash function context
* @param digest buffer where output digest value is stored
*/
void av_ripemd_final(struct AVRIPEMD* context, uint8_t *digest);
/**
* @}
*/
#endif /* AVUTIL_RIPEMD_H */
+113 -13
Ver Arquivo
@@ -19,10 +19,32 @@
#ifndef AVUTIL_SAMPLEFMT_H
#define AVUTIL_SAMPLEFMT_H
#include <stdint.h>
#include "avutil.h"
#include "attributes.h"
/**
* all in native-endian format
* Audio Sample Formats
*
* @par
* The data described by the sample format is always in native-endian order.
* Sample values can be expressed by native C types, hence the lack of a signed
* 24-bit sample format even though it is a common raw audio data format.
*
* @par
* The floating-point formats are based on full volume being in the range
* [-1.0, 1.0]. Any values outside this range are beyond full volume level.
*
* @par
* The data layout as used in av_samples_fill_arrays() and elsewhere in FFmpeg
* (such as AVFrame in libavcodec) is as follows:
*
* For planar sample formats, each audio channel is in a separate data plane,
* and linesize is the buffer size, in bytes, for a single plane. All data
* planes must be the same size. For packed sample formats, only the first data
* plane is used, and samples for each channel are interleaved. In this case,
* linesize is the buffer size, in bytes, for the 1 plane.
*/
enum AVSampleFormat {
AV_SAMPLE_FMT_NONE = -1,
@@ -61,6 +83,28 @@ enum AVSampleFormat av_get_sample_fmt(const char *name);
*/
enum AVSampleFormat av_get_alt_sample_fmt(enum AVSampleFormat sample_fmt, int planar);
/**
* Get the packed alternative form of the given sample format.
*
* If the passed sample_fmt is already in packed format, the format returned is
* the same as the input.
*
* @return the packed alternative form of the given sample format or
AV_SAMPLE_FMT_NONE on error.
*/
enum AVSampleFormat av_get_packed_sample_fmt(enum AVSampleFormat sample_fmt);
/**
* Get the planar alternative form of the given sample format.
*
* If the passed sample_fmt is already in planar format, the format returned is
* the same as the input.
*
* @return the planar alternative form of the given sample format or
AV_SAMPLE_FMT_NONE on error.
*/
enum AVSampleFormat av_get_planar_sample_fmt(enum AVSampleFormat sample_fmt);
/**
* Generate a string corresponding to the sample format with
* sample_fmt, or a header if sample_fmt is negative.
@@ -107,33 +151,44 @@ int av_sample_fmt_is_planar(enum AVSampleFormat sample_fmt);
* @param nb_channels the number of channels
* @param nb_samples the number of samples in a single channel
* @param sample_fmt the sample format
* @param align buffer size alignment (0 = default, 1 = no alignment)
* @return required buffer size, or negative error code on failure
*/
int av_samples_get_buffer_size(int *linesize, int nb_channels, int nb_samples,
enum AVSampleFormat sample_fmt, int align);
/**
* Fill channel data pointers and linesize for samples with sample
* Fill plane data pointers and linesize for samples with sample
* format sample_fmt.
*
* The pointers array is filled with the pointers to the samples data:
* The audio_data array is filled with the pointers to the samples data planes:
* for planar, set the start point of each channel's data within the buffer,
* for packed, set the start point of the entire buffer only.
*
* The linesize array is filled with the aligned size of each channel's data
* buffer for planar layout, or the aligned size of the buffer for all channels
* for packed layout.
* The value pointed to by linesize is set to the aligned size of each
* channel's data buffer for planar layout, or to the aligned size of the
* buffer for all channels for packed layout.
*
* The buffer in buf must be big enough to contain all the samples
* (use av_samples_get_buffer_size() to compute its minimum size),
* otherwise the audio_data pointers will point to invalid data.
*
* @see enum AVSampleFormat
* The documentation for AVSampleFormat describes the data layout.
*
* @param[out] audio_data array to be filled with the pointer for each channel
* @param[out] linesize calculated linesize
* @param[out] linesize calculated linesize, may be NULL
* @param buf the pointer to a buffer containing the samples
* @param nb_channels the number of channels
* @param nb_samples the number of samples in a single channel
* @param sample_fmt the sample format
* @param align buffer size alignment (1 = no alignment required)
* @return 0 on success or a negative error code on failure
* @param align buffer size alignment (0 = default, 1 = no alignment)
* @return >=0 on success or a negative error code on failure
* @todo return minimum size in bytes required for the buffer in case
* of success at the next bump
*/
int av_samples_fill_arrays(uint8_t **audio_data, int *linesize, uint8_t *buf,
int av_samples_fill_arrays(uint8_t **audio_data, int *linesize,
const uint8_t *buf,
int nb_channels, int nb_samples,
enum AVSampleFormat sample_fmt, int align);
@@ -141,16 +196,61 @@ int av_samples_fill_arrays(uint8_t **audio_data, int *linesize, uint8_t *buf,
* Allocate a samples buffer for nb_samples samples, and fill data pointers and
* linesize accordingly.
* The allocated samples buffer can be freed by using av_freep(&audio_data[0])
* Allocated data will be initialized to silence.
*
* @see enum AVSampleFormat
* The documentation for AVSampleFormat describes the data layout.
*
* @param[out] audio_data array to be filled with the pointer for each channel
* @param[out] linesize aligned size for audio buffer(s)
* @param[out] linesize aligned size for audio buffer(s), may be NULL
* @param nb_channels number of audio channels
* @param nb_samples number of samples per channel
* @param align buffer size alignment (1 = no alignment required)
* @return 0 on success or a negative error code on failure
* @param align buffer size alignment (0 = default, 1 = no alignment)
* @return >=0 on success or a negative error code on failure
* @todo return the size of the allocated buffer in case of success at the next bump
* @see av_samples_fill_arrays()
* @see av_samples_alloc_array_and_samples()
*/
int av_samples_alloc(uint8_t **audio_data, int *linesize, int nb_channels,
int nb_samples, enum AVSampleFormat sample_fmt, int align);
/**
* Allocate a data pointers array, samples buffer for nb_samples
* samples, and fill data pointers and linesize accordingly.
*
* This is the same as av_samples_alloc(), but also allocates the data
* pointers array.
*
* @see av_samples_alloc()
*/
int av_samples_alloc_array_and_samples(uint8_t ***audio_data, int *linesize, int nb_channels,
int nb_samples, enum AVSampleFormat sample_fmt, int align);
/**
* Copy samples from src to dst.
*
* @param dst destination array of pointers to data planes
* @param src source array of pointers to data planes
* @param dst_offset offset in samples at which the data will be written to dst
* @param src_offset offset in samples at which the data will be read from src
* @param nb_samples number of samples to be copied
* @param nb_channels number of audio channels
* @param sample_fmt audio sample format
*/
int av_samples_copy(uint8_t **dst, uint8_t * const *src, int dst_offset,
int src_offset, int nb_samples, int nb_channels,
enum AVSampleFormat sample_fmt);
/**
* Fill an audio buffer with silence.
*
* @param audio_data array of pointers to data planes
* @param offset offset in samples at which to start filling
* @param nb_samples number of samples to fill
* @param nb_channels number of audio channels
* @param sample_fmt audio sample format
*/
int av_samples_set_silence(uint8_t **audio_data, int offset, int nb_samples,
int nb_channels, enum AVSampleFormat sample_fmt);
#endif /* AVUTIL_SAMPLEFMT_H */
+8
Ver Arquivo
@@ -23,6 +23,9 @@
#include <stdint.h>
#include "attributes.h"
#include "version.h"
/**
* @defgroup lavu_sha SHA
* @ingroup lavu_crypto
@@ -33,6 +36,11 @@ extern const int av_sha_size;
struct AVSHA;
/**
* Allocate an AVSHA context.
*/
struct AVSHA *av_sha_alloc(void);
/**
* Initialize SHA-1 or SHA-2 hashing.
*
@@ -1,5 +1,6 @@
/*
* Copyright (C) 2007 Michael Niedermayer <michaelni@gmx.at>
* Copyright (C) 2013 James Almer <jamrial@gmail.com>
*
* This file is part of FFmpeg.
*
@@ -18,40 +19,57 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#ifndef AVUTIL_SHA1_H
#define AVUTIL_SHA1_H
#ifndef AVUTIL_SHA512_H
#define AVUTIL_SHA512_H
#include <msc_stdint.h>
#include <stdint.h>
extern const int av_sha1_size;
struct AVSHA1;
#include "attributes.h"
#include "version.h"
/**
* Initializes SHA-1 hashing.
*
* @param context pointer to the function context (of size av_sha_size)
* @deprecated use av_sha_init() instead
* @defgroup lavu_sha512 SHA512
* @ingroup lavu_crypto
* @{
*/
void av_sha1_init(struct AVSHA1* context);
extern const int av_sha512_size;
struct AVSHA512;
/**
* Updates hash value.
* Allocate an AVSHA512 context.
*/
struct AVSHA512 *av_sha512_alloc(void);
/**
* Initialize SHA-2 512 hashing.
*
* @param context pointer to the function context (of size av_sha512_size)
* @param bits number of bits in digest (224, 256, 384 or 512 bits)
* @return zero if initialization succeeded, -1 otherwise
*/
int av_sha512_init(struct AVSHA512* context, int bits);
/**
* Update hash value.
*
* @param context hash function context
* @param data input data to update hash with
* @param len input data length
* @deprecated use av_sha_update() instead
*/
void av_sha1_update(struct AVSHA1* context, const uint8_t* data, unsigned int len);
void av_sha512_update(struct AVSHA512* context, const uint8_t* data, unsigned int len);
/**
* Finishes hashing and output digest value.
* Finish hashing and output digest value.
*
* @param context hash function context
* @param digest buffer where output digest value is stored
* @deprecated use av_sha_final() instead
*/
void av_sha1_final(struct AVSHA1* context, uint8_t digest[20]);
void av_sha512_final(struct AVSHA512* context, uint8_t *digest);
#endif /* AVUTIL_SHA1_H */
/**
* @}
*/
#endif /* AVUTIL_SHA512_H */
+41
Ver Arquivo
@@ -0,0 +1,41 @@
/*
* Copyright (c) 2000-2003 Fabrice Bellard
*
* This file is part of FFmpeg.
*
* FFmpeg is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* FFmpeg is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with FFmpeg; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#ifndef AVUTIL_TIME_H
#define AVUTIL_TIME_H
#include <stdint.h>
/**
* Get the current time in microseconds.
*/
int64_t av_gettime(void);
/**
* Sleep for a period of time. Although the duration is expressed in
* microseconds, the actual delay may be rounded to the precision of the
* system timer.
*
* @param usec Number of microseconds to sleep.
* @return zero on success or (negative) error code.
*/
int av_usleep(unsigned usec);
#endif /* AVUTIL_TIME_H */
+140
Ver Arquivo
@@ -0,0 +1,140 @@
/*
* Copyright (c) 2006 Smartjog S.A.S, Baptiste Coudurier <baptiste.coudurier@gmail.com>
* Copyright (c) 2011-2012 Smartjog S.A.S, Clément Bœsch <clement.boesch@smartjog.com>
*
* This file is part of FFmpeg.
*
* FFmpeg is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* FFmpeg is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with FFmpeg; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/**
* @file
* Timecode helpers header
*/
#ifndef AVUTIL_TIMECODE_H
#define AVUTIL_TIMECODE_H
#include <stdint.h>
#include "rational.h"
#define AV_TIMECODE_STR_SIZE 16
enum AVTimecodeFlag {
AV_TIMECODE_FLAG_DROPFRAME = 1<<0, ///< timecode is drop frame
AV_TIMECODE_FLAG_24HOURSMAX = 1<<1, ///< timecode wraps after 24 hours
AV_TIMECODE_FLAG_ALLOWNEGATIVE = 1<<2, ///< negative time values are allowed
};
typedef struct {
int start; ///< timecode frame start (first base frame number)
uint32_t flags; ///< flags such as drop frame, +24 hours support, ...
AVRational rate; ///< frame rate in rational form
unsigned fps; ///< frame per second; must be consistent with the rate field
} AVTimecode;
/**
* Adjust frame number for NTSC drop frame time code.
*
* @param framenum frame number to adjust
* @param fps frame per second, 30 or 60
* @return adjusted frame number
* @warning adjustment is only valid in NTSC 29.97 and 59.94
*/
int av_timecode_adjust_ntsc_framenum2(int framenum, int fps);
/**
* Convert frame number to SMPTE 12M binary representation.
*
* @param tc timecode data correctly initialized
* @param framenum frame number
* @return the SMPTE binary representation
*
* @note Frame number adjustment is automatically done in case of drop timecode,
* you do NOT have to call av_timecode_adjust_ntsc_framenum2().
* @note The frame number is relative to tc->start.
* @note Color frame (CF), binary group flags (BGF) and biphase mark polarity
* correction (PC) bits are set to zero.
*/
uint32_t av_timecode_get_smpte_from_framenum(const AVTimecode *tc, int framenum);
/**
* Load timecode string in buf.
*
* @param buf destination buffer, must be at least AV_TIMECODE_STR_SIZE long
* @param tc timecode data correctly initialized
* @param framenum frame number
* @return the buf parameter
*
* @note Timecode representation can be a negative timecode and have more than
* 24 hours, but will only be honored if the flags are correctly set.
* @note The frame number is relative to tc->start.
*/
char *av_timecode_make_string(const AVTimecode *tc, char *buf, int framenum);
/**
* Get the timecode string from the SMPTE timecode format.
*
* @param buf destination buffer, must be at least AV_TIMECODE_STR_SIZE long
* @param tcsmpte the 32-bit SMPTE timecode
* @param prevent_df prevent the use of a drop flag when it is known the DF bit
* is arbitrary
* @return the buf parameter
*/
char *av_timecode_make_smpte_tc_string(char *buf, uint32_t tcsmpte, int prevent_df);
/**
* Get the timecode string from the 25-bit timecode format (MPEG GOP format).
*
* @param buf destination buffer, must be at least AV_TIMECODE_STR_SIZE long
* @param tc25bit the 25-bits timecode
* @return the buf parameter
*/
char *av_timecode_make_mpeg_tc_string(char *buf, uint32_t tc25bit);
/**
* Init a timecode struct with the passed parameters.
*
* @param log_ctx a pointer to an arbitrary struct of which the first field
* is a pointer to an AVClass struct (used for av_log)
* @param tc pointer to an allocated AVTimecode
* @param rate frame rate in rational form
* @param flags miscellaneous flags such as drop frame, +24 hours, ...
* (see AVTimecodeFlag)
* @param frame_start the first frame number
* @return 0 on success, AVERROR otherwise
*/
int av_timecode_init(AVTimecode *tc, AVRational rate, int flags, int frame_start, void *log_ctx);
/**
* Parse timecode representation (hh:mm:ss[:;.]ff).
*
* @param log_ctx a pointer to an arbitrary struct of which the first field is a
* pointer to an AVClass struct (used for av_log).
* @param tc pointer to an allocated AVTimecode
* @param rate frame rate in rational form
* @param str timecode string which will determine the frame start
* @return 0 on success, AVERROR otherwise
*/
int av_timecode_init_from_string(AVTimecode *tc, AVRational rate, const char *str, void *log_ctx);
/**
* Check if the timecode feature is available for the given frame rate
*
* @return 0 if supported, <0 otherwise
*/
int av_timecode_check_frame_rate(AVRational rate);
#endif /* AVUTIL_TIMECODE_H */
+74
Ver Arquivo
@@ -0,0 +1,74 @@
/*
* This file is part of FFmpeg.
*
* FFmpeg is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* FFmpeg is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with FFmpeg; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/**
* @file
* timestamp utils, mostly useful for debugging/logging purposes
*/
#ifndef AVUTIL_TIMESTAMP_H
#define AVUTIL_TIMESTAMP_H
#include "common.h"
#define AV_TS_MAX_STRING_SIZE 32
/**
* Fill the provided buffer with a string containing a timestamp
* representation.
*
* @param buf a buffer with size in bytes of at least AV_TS_MAX_STRING_SIZE
* @param ts the timestamp to represent
* @return the buffer in input
*/
static inline char *av_ts_make_string(char *buf, int64_t ts)
{
if (ts == AV_NOPTS_VALUE) snprintf(buf, AV_TS_MAX_STRING_SIZE, "NOPTS");
else snprintf(buf, AV_TS_MAX_STRING_SIZE, "%"PRId64, ts);
return buf;
}
/**
* Convenience macro, the return value should be used only directly in
* function arguments but never stand-alone.
*/
#define av_ts2str(ts) av_ts_make_string((char[AV_TS_MAX_STRING_SIZE]){0}, ts)
/**
* Fill the provided buffer with a string containing a timestamp time
* representation.
*
* @param buf a buffer with size in bytes of at least AV_TS_MAX_STRING_SIZE
* @param ts the timestamp to represent
* @param tb the timebase of the timestamp
* @return the buffer in input
*/
static inline char *av_ts_make_time_string(char *buf, int64_t ts, AVRational *tb)
{
if (ts == AV_NOPTS_VALUE) snprintf(buf, AV_TS_MAX_STRING_SIZE, "NOPTS");
else snprintf(buf, AV_TS_MAX_STRING_SIZE, "%.6g", av_q2d(*tb) * ts);
return buf;
}
/**
* Convenience macro, the return value should be used only directly in
* function arguments but never stand-alone.
*/
#define av_ts2timestr(ts, tb) av_ts_make_time_string((char[AV_TS_MAX_STRING_SIZE]){0}, ts, tb)
#endif /* AVUTIL_TIMESTAMP_H */
+144
Ver Arquivo
@@ -0,0 +1,144 @@
/*
* copyright (c) 2003 Fabrice Bellard
*
* This file is part of FFmpeg.
*
* FFmpeg is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* FFmpeg is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with FFmpeg; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#ifndef AVUTIL_VERSION_H
#define AVUTIL_VERSION_H
/**
* @defgroup preproc_misc Preprocessor String Macros
*
* String manipulation macros
*
* @{
*/
#define AV_STRINGIFY(s) AV_TOSTRING(s)
#define AV_TOSTRING(s) #s
#define AV_GLUE(a, b) a ## b
#define AV_JOIN(a, b) AV_GLUE(a, b)
#define AV_PRAGMA(s) _Pragma(#s)
/**
* @}
*/
/**
* @defgroup version_utils Library Version Macros
*
* Useful to check and match library version in order to maintain
* backward compatibility.
*
* @{
*/
#define AV_VERSION_INT(a, b, c) (a<<16 | b<<8 | c)
#define AV_VERSION_DOT(a, b, c) a ##.## b ##.## c
#define AV_VERSION(a, b, c) AV_VERSION_DOT(a, b, c)
/**
* @}
*/
/**
* @file
* @ingroup lavu
* Libavutil version macros
*/
/**
* @defgroup lavu_ver Version and Build diagnostics
*
* Macros and function useful to check at compiletime and at runtime
* which version of libavutil is in use.
*
* @{
*/
#define LIBAVUTIL_VERSION_MAJOR 52
#define LIBAVUTIL_VERSION_MINOR 38
#define LIBAVUTIL_VERSION_MICRO 100
#define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \
LIBAVUTIL_VERSION_MINOR, \
LIBAVUTIL_VERSION_MICRO)
#define LIBAVUTIL_VERSION AV_VERSION(LIBAVUTIL_VERSION_MAJOR, \
LIBAVUTIL_VERSION_MINOR, \
LIBAVUTIL_VERSION_MICRO)
#define LIBAVUTIL_BUILD LIBAVUTIL_VERSION_INT
#define LIBAVUTIL_IDENT "Lavu" AV_STRINGIFY(LIBAVUTIL_VERSION)
/**
* @}
*
* @defgroup depr_guards Deprecation guards
* FF_API_* defines may be placed below to indicate public API that will be
* dropped at a future version bump. The defines themselves are not part of
* the public API and may change, break or disappear at any time.
*
* @{
*/
#ifndef FF_API_GET_BITS_PER_SAMPLE_FMT
#define FF_API_GET_BITS_PER_SAMPLE_FMT (LIBAVUTIL_VERSION_MAJOR < 53)
#endif
#ifndef FF_API_FIND_OPT
#define FF_API_FIND_OPT (LIBAVUTIL_VERSION_MAJOR < 53)
#endif
#ifndef FF_API_OLD_AVOPTIONS
#define FF_API_OLD_AVOPTIONS (LIBAVUTIL_VERSION_MAJOR < 53)
#endif
#ifndef FF_API_PIX_FMT
#define FF_API_PIX_FMT (LIBAVUTIL_VERSION_MAJOR < 53)
#endif
#ifndef FF_API_CONTEXT_SIZE
#define FF_API_CONTEXT_SIZE (LIBAVUTIL_VERSION_MAJOR < 53)
#endif
#ifndef FF_API_PIX_FMT_DESC
#define FF_API_PIX_FMT_DESC (LIBAVUTIL_VERSION_MAJOR < 53)
#endif
#ifndef FF_API_AV_REVERSE
#define FF_API_AV_REVERSE (LIBAVUTIL_VERSION_MAJOR < 53)
#endif
#ifndef FF_API_AUDIOCONVERT
#define FF_API_AUDIOCONVERT (LIBAVUTIL_VERSION_MAJOR < 53)
#endif
#ifndef FF_API_CPU_FLAG_MMX2
#define FF_API_CPU_FLAG_MMX2 (LIBAVUTIL_VERSION_MAJOR < 53)
#endif
#ifndef FF_API_SAMPLES_UTILS_RETURN_ZERO
#define FF_API_SAMPLES_UTILS_RETURN_ZERO (LIBAVUTIL_VERSION_MAJOR < 53)
#endif
#ifndef FF_API_LLS_PRIVATE
#define FF_API_LLS_PRIVATE (LIBAVUTIL_VERSION_MAJOR < 53)
#endif
#ifndef FF_API_AVFRAME_LAVC
#define FF_API_AVFRAME_LAVC (LIBAVUTIL_VERSION_MAJOR < 53)
#endif
/**
* @}
*/
#endif /* AVUTIL_VERSION_H */
+62
Ver Arquivo
@@ -0,0 +1,62 @@
/*
* A 32-bit implementation of the XTEA algorithm
* Copyright (c) 2012 Samuel Pitoiset
*
* This file is part of FFmpeg.
*
* FFmpeg is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* FFmpeg is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with FFmpeg; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#ifndef AVUTIL_XTEA_H
#define AVUTIL_XTEA_H
#include <stdint.h>
/**
* @defgroup lavu_xtea XTEA
* @ingroup lavu_crypto
* @{
*/
typedef struct AVXTEA {
uint32_t key[16];
} AVXTEA;
/**
* Initialize an AVXTEA context.
*
* @param ctx an AVXTEA context
* @param key a key of 16 bytes used for encryption/decryption
*/
void av_xtea_init(struct AVXTEA *ctx, const uint8_t key[16]);
/**
* Encrypt or decrypt a buffer using a previously initialized context.
*
* @param ctx an AVXTEA context
* @param dst destination array, can be equal to src
* @param src source array, can be equal to dst
* @param count number of 8 byte blocks
* @param iv initialization vector for CBC mode, if NULL then ECB will be used
* @param decrypt 0 for encryption, 1 for decryption
*/
void av_xtea_crypt(struct AVXTEA *ctx, uint8_t *dst, const uint8_t *src,
int count, uint8_t *iv, int decrypt);
/**
* @}
*/
#endif /* AVUTIL_XTEA_H */
+38 -39
Ver Arquivo
@@ -23,41 +23,21 @@
/**
* @file
* @brief
* external api for the swscale stuff
* @ingroup lsws
* external API header
*/
/**
* @defgroup lsws Libswscale
* @{
*/
#include <stdint.h>
#include "libavutil/avutil.h"
#include "libavutil/log.h"
#include "libavutil/pixfmt.h"
#define LIBSWSCALE_VERSION_MAJOR 2
#define LIBSWSCALE_VERSION_MINOR 1
#define LIBSWSCALE_VERSION_MICRO 100
#define LIBSWSCALE_VERSION_INT AV_VERSION_INT(LIBSWSCALE_VERSION_MAJOR, \
LIBSWSCALE_VERSION_MINOR, \
LIBSWSCALE_VERSION_MICRO)
#define LIBSWSCALE_VERSION AV_VERSION(LIBSWSCALE_VERSION_MAJOR, \
LIBSWSCALE_VERSION_MINOR, \
LIBSWSCALE_VERSION_MICRO)
#define LIBSWSCALE_BUILD LIBSWSCALE_VERSION_INT
#define LIBSWSCALE_IDENT "SwS" AV_STRINGIFY(LIBSWSCALE_VERSION)
/**
* Those FF_API_* defines are not part of public API.
* They may change, break or disappear at any time.
*/
#ifndef FF_API_SWS_GETCONTEXT
#define FF_API_SWS_GETCONTEXT (LIBSWSCALE_VERSION_MAJOR < 3)
#endif
#ifndef FF_API_SWS_CPU_CAPS
#define FF_API_SWS_CPU_CAPS (LIBSWSCALE_VERSION_MAJOR < 3)
#endif
#ifndef FF_API_SWS_FORMAT_NAME
#define FF_API_SWS_FORMAT_NAME (LIBSWSCALE_VERSION_MAJOR < 3)
#endif
#include "version.h"
/**
* Return the LIBSWSCALE_VERSION_INT constant.
@@ -102,6 +82,7 @@ const char *swscale_license(void);
#define SWS_DIRECT_BGR 0x8000
#define SWS_ACCURATE_RND 0x40000
#define SWS_BITEXACT 0x80000
#define SWS_ERROR_DIFFUSION 0x800000
#if FF_API_SWS_CPU_CAPS
/**
@@ -109,6 +90,7 @@ const char *swscale_license(void);
* are only provided for API compatibility.
*/
#define SWS_CPU_CAPS_MMX 0x80000000
#define SWS_CPU_CAPS_MMXEXT 0x20000000
#define SWS_CPU_CAPS_MMX2 0x20000000
#define SWS_CPU_CAPS_3DNOW 0x40000000
#define SWS_CPU_CAPS_ALTIVEC 0x10000000
@@ -137,13 +119,13 @@ const int *sws_getCoefficients(int colorspace);
// when used for filters they must have an odd number of elements
// coeffs cannot be shared between vectors
typedef struct {
typedef struct SwsVector {
double *coeff; ///< pointer to the list of coefficients
int length; ///< number of coefficients in the vector
} SwsVector;
// vectors can be shared
typedef struct {
typedef struct SwsFilter {
SwsVector *lumH;
SwsVector *lumV;
SwsVector *chrH;
@@ -156,13 +138,20 @@ struct SwsContext;
* Return a positive value if pix_fmt is a supported input format, 0
* otherwise.
*/
int sws_isSupportedInput(enum PixelFormat pix_fmt);
int sws_isSupportedInput(enum AVPixelFormat pix_fmt);
/**
* Return a positive value if pix_fmt is a supported output format, 0
* otherwise.
*/
int sws_isSupportedOutput(enum PixelFormat pix_fmt);
int sws_isSupportedOutput(enum AVPixelFormat pix_fmt);
/**
* @param[in] pix_fmt the pixel format
* @return a positive value if an endianness conversion for pix_fmt is
* supported, 0 otherwise.
*/
int sws_isSupportedEndiannessConversion(enum AVPixelFormat pix_fmt);
/**
* Allocate an empty SwsContext. This must be filled and passed to
@@ -202,8 +191,8 @@ void sws_freeContext(struct SwsContext *swsContext);
* written
* @deprecated Use sws_getCachedContext() instead.
*/
struct SwsContext *sws_getContext(int srcW, int srcH, enum PixelFormat srcFormat,
int dstW, int dstH, enum PixelFormat dstFormat,
struct SwsContext *sws_getContext(int srcW, int srcH, enum AVPixelFormat srcFormat,
int dstW, int dstH, enum AVPixelFormat dstFormat,
int flags, SwsFilter *srcFilter,
SwsFilter *dstFilter, const double *param);
#endif
@@ -239,7 +228,13 @@ int sws_scale(struct SwsContext *c, const uint8_t *const srcSlice[],
uint8_t *const dst[], const int dstStride[]);
/**
* @param inv_table the yuv2rgb coefficients, normally ff_yuv2rgb_coeffs[x]
* @param dstRange flag indicating the while-black range of the output (1=jpeg / 0=mpeg)
* @param srcRange flag indicating the while-black range of the input (1=jpeg / 0=mpeg)
* @param table the yuv2rgb coefficients describing the output yuv space, normally ff_yuv2rgb_coeffs[x]
* @param inv_table the yuv2rgb coefficients describing the input yuv space, normally ff_yuv2rgb_coeffs[x]
* @param brightness 16.16 fixed point brightness correction
* @param contrast 16.16 fixed point contrast correction
* @param saturation 16.16 fixed point saturation correction
* @return -1 if not supported
*/
int sws_setColorspaceDetails(struct SwsContext *c, const int inv_table[4],
@@ -323,8 +318,8 @@ void sws_freeFilter(SwsFilter *filter);
* are assumed to remain the same.
*/
struct SwsContext *sws_getCachedContext(struct SwsContext *context,
int srcW, int srcH, enum PixelFormat srcFormat,
int dstW, int dstH, enum PixelFormat dstFormat,
int srcW, int srcH, enum AVPixelFormat srcFormat,
int dstW, int dstH, enum AVPixelFormat dstFormat,
int flags, SwsFilter *srcFilter,
SwsFilter *dstFilter, const double *param);
@@ -360,4 +355,8 @@ void sws_convertPalette8ToPacked24(const uint8_t *src, uint8_t *dst, int num_pix
*/
const AVClass *sws_get_class(void);
/**
* @}
*/
#endif /* SWSCALE_SWSCALE_H */
+59
Ver Arquivo
@@ -0,0 +1,59 @@
/*
* This file is part of FFmpeg.
*
* FFmpeg is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* FFmpeg is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with FFmpeg; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#ifndef SWSCALE_VERSION_H
#define SWSCALE_VERSION_H
/**
* @file
* swscale version macros
*/
#include "libavutil/avutil.h"
#define LIBSWSCALE_VERSION_MAJOR 2
#define LIBSWSCALE_VERSION_MINOR 3
#define LIBSWSCALE_VERSION_MICRO 100
#define LIBSWSCALE_VERSION_INT AV_VERSION_INT(LIBSWSCALE_VERSION_MAJOR, \
LIBSWSCALE_VERSION_MINOR, \
LIBSWSCALE_VERSION_MICRO)
#define LIBSWSCALE_VERSION AV_VERSION(LIBSWSCALE_VERSION_MAJOR, \
LIBSWSCALE_VERSION_MINOR, \
LIBSWSCALE_VERSION_MICRO)
#define LIBSWSCALE_BUILD LIBSWSCALE_VERSION_INT
#define LIBSWSCALE_IDENT "SwS" AV_STRINGIFY(LIBSWSCALE_VERSION)
/**
* FF_API_* defines may be placed below to indicate public API that will be
* dropped at a future version bump. The defines themselves are not part of
* the public API and may change, break or disappear at any time.
*/
#ifndef FF_API_SWS_GETCONTEXT
#define FF_API_SWS_GETCONTEXT (LIBSWSCALE_VERSION_MAJOR < 3)
#endif
#ifndef FF_API_SWS_CPU_CAPS
#define FF_API_SWS_CPU_CAPS (LIBSWSCALE_VERSION_MAJOR < 3)
#endif
#ifndef FF_API_SWS_FORMAT_NAME
#define FF_API_SWS_FORMAT_NAME (LIBSWSCALE_VERSION_MAJOR < 3)
#endif
#endif /* SWSCALE_VERSION_H */
Diferenças do arquivo suprimidas por serem muito extensas Carregar Diff
Diferenças do arquivo suprimidas por serem muito extensas Carregar Diff
+126
Ver Arquivo
@@ -0,0 +1,126 @@
/**********************************************************************************
* Copyright (c) 2008-2012 The Khronos Group Inc.
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and/or associated documentation files (the
* "Materials"), to deal in the Materials without restriction, including
* without limitation the rights to use, copy, modify, merge, publish,
* distribute, sublicense, and/or sell copies of the Materials, and to
* permit persons to whom the Materials are furnished to do so, subject to
* the following conditions:
*
* The above copyright notice and this permission notice shall be included
* in all copies or substantial portions of the Materials.
*
* THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
* MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
**********************************************************************************/
/* $Revision: 11708 $ on $Date: 2010-06-13 23:36:24 -0700 (Sun, 13 Jun 2010) $ */
#ifndef __OPENCL_CL_D3D10_H
#define __OPENCL_CL_D3D10_H
#include <d3d10.h>
#include <CL/cl.h>
#include <CL/cl_platform.h>
#ifdef __cplusplus
extern "C" {
#endif
/******************************************************************************
* cl_khr_d3d10_sharing */
#define cl_khr_d3d10_sharing 1
typedef cl_uint cl_d3d10_device_source_khr;
typedef cl_uint cl_d3d10_device_set_khr;
/******************************************************************************/
// Error Codes
#define CL_INVALID_D3D10_DEVICE_KHR -1002
#define CL_INVALID_D3D10_RESOURCE_KHR -1003
#define CL_D3D10_RESOURCE_ALREADY_ACQUIRED_KHR -1004
#define CL_D3D10_RESOURCE_NOT_ACQUIRED_KHR -1005
// cl_d3d10_device_source_nv
#define CL_D3D10_DEVICE_KHR 0x4010
#define CL_D3D10_DXGI_ADAPTER_KHR 0x4011
// cl_d3d10_device_set_nv
#define CL_PREFERRED_DEVICES_FOR_D3D10_KHR 0x4012
#define CL_ALL_DEVICES_FOR_D3D10_KHR 0x4013
// cl_context_info
#define CL_CONTEXT_D3D10_DEVICE_KHR 0x4014
#define CL_CONTEXT_D3D10_PREFER_SHARED_RESOURCES_KHR 0x402C
// cl_mem_info
#define CL_MEM_D3D10_RESOURCE_KHR 0x4015
// cl_image_info
#define CL_IMAGE_D3D10_SUBRESOURCE_KHR 0x4016
// cl_command_type
#define CL_COMMAND_ACQUIRE_D3D10_OBJECTS_KHR 0x4017
#define CL_COMMAND_RELEASE_D3D10_OBJECTS_KHR 0x4018
/******************************************************************************/
typedef CL_API_ENTRY cl_int (CL_API_CALL *clGetDeviceIDsFromD3D10KHR_fn)(
cl_platform_id platform,
cl_d3d10_device_source_khr d3d_device_source,
void * d3d_object,
cl_d3d10_device_set_khr d3d_device_set,
cl_uint num_entries,
cl_device_id * devices,
cl_uint * num_devices) CL_API_SUFFIX__VERSION_1_0;
typedef CL_API_ENTRY cl_mem (CL_API_CALL *clCreateFromD3D10BufferKHR_fn)(
cl_context context,
cl_mem_flags flags,
ID3D10Buffer * resource,
cl_int * errcode_ret) CL_API_SUFFIX__VERSION_1_0;
typedef CL_API_ENTRY cl_mem (CL_API_CALL *clCreateFromD3D10Texture2DKHR_fn)(
cl_context context,
cl_mem_flags flags,
ID3D10Texture2D * resource,
UINT subresource,
cl_int * errcode_ret) CL_API_SUFFIX__VERSION_1_0;
typedef CL_API_ENTRY cl_mem (CL_API_CALL *clCreateFromD3D10Texture3DKHR_fn)(
cl_context context,
cl_mem_flags flags,
ID3D10Texture3D * resource,
UINT subresource,
cl_int * errcode_ret) CL_API_SUFFIX__VERSION_1_0;
typedef CL_API_ENTRY cl_int (CL_API_CALL *clEnqueueAcquireD3D10ObjectsKHR_fn)(
cl_command_queue command_queue,
cl_uint num_objects,
const cl_mem * mem_objects,
cl_uint num_events_in_wait_list,
const cl_event * event_wait_list,
cl_event * event) CL_API_SUFFIX__VERSION_1_0;
typedef CL_API_ENTRY cl_int (CL_API_CALL *clEnqueueReleaseD3D10ObjectsKHR_fn)(
cl_command_queue command_queue,
cl_uint num_objects,
const cl_mem * mem_objects,
cl_uint num_events_in_wait_list,
const cl_event * event_wait_list,
cl_event * event) CL_API_SUFFIX__VERSION_1_0;
#ifdef __cplusplus
}
#endif
#endif // __OPENCL_CL_D3D10_H
+126
Ver Arquivo
@@ -0,0 +1,126 @@
/**********************************************************************************
* Copyright (c) 2008-2012 The Khronos Group Inc.
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and/or associated documentation files (the
* "Materials"), to deal in the Materials without restriction, including
* without limitation the rights to use, copy, modify, merge, publish,
* distribute, sublicense, and/or sell copies of the Materials, and to
* permit persons to whom the Materials are furnished to do so, subject to
* the following conditions:
*
* The above copyright notice and this permission notice shall be included
* in all copies or substantial portions of the Materials.
*
* THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
* MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
**********************************************************************************/
/* $Revision: 11708 $ on $Date: 2010-06-13 23:36:24 -0700 (Sun, 13 Jun 2010) $ */
#ifndef __OPENCL_CL_D3D11_H
#define __OPENCL_CL_D3D11_H
#include <d3d11.h>
#include <CL/cl.h>
#include <CL/cl_platform.h>
#ifdef __cplusplus
extern "C" {
#endif
/******************************************************************************
* cl_khr_d3d11_sharing */
#define cl_khr_d3d11_sharing 1
typedef cl_uint cl_d3d11_device_source_khr;
typedef cl_uint cl_d3d11_device_set_khr;
/******************************************************************************/
// Error Codes
#define CL_INVALID_D3D11_DEVICE_KHR -1006
#define CL_INVALID_D3D11_RESOURCE_KHR -1007
#define CL_D3D11_RESOURCE_ALREADY_ACQUIRED_KHR -1008
#define CL_D3D11_RESOURCE_NOT_ACQUIRED_KHR -1009
// cl_d3d11_device_source
#define CL_D3D11_DEVICE_KHR 0x4019
#define CL_D3D11_DXGI_ADAPTER_KHR 0x401A
// cl_d3d11_device_set
#define CL_PREFERRED_DEVICES_FOR_D3D11_KHR 0x401B
#define CL_ALL_DEVICES_FOR_D3D11_KHR 0x401C
// cl_context_info
#define CL_CONTEXT_D3D11_DEVICE_KHR 0x401D
#define CL_CONTEXT_D3D11_PREFER_SHARED_RESOURCES_KHR 0x402D
// cl_mem_info
#define CL_MEM_D3D11_RESOURCE_KHR 0x401E
// cl_image_info
#define CL_IMAGE_D3D11_SUBRESOURCE_KHR 0x401F
// cl_command_type
#define CL_COMMAND_ACQUIRE_D3D11_OBJECTS_KHR 0x4020
#define CL_COMMAND_RELEASE_D3D11_OBJECTS_KHR 0x4021
/******************************************************************************/
typedef CL_API_ENTRY cl_int (CL_API_CALL *clGetDeviceIDsFromD3D11KHR_fn)(
cl_platform_id platform,
cl_d3d11_device_source_khr d3d_device_source,
void * d3d_object,
cl_d3d11_device_set_khr d3d_device_set,
cl_uint num_entries,
cl_device_id * devices,
cl_uint * num_devices) CL_API_SUFFIX__VERSION_1_2;
typedef CL_API_ENTRY cl_mem (CL_API_CALL *clCreateFromD3D11BufferKHR_fn)(
cl_context context,
cl_mem_flags flags,
ID3D11Buffer * resource,
cl_int * errcode_ret) CL_API_SUFFIX__VERSION_1_2;
typedef CL_API_ENTRY cl_mem (CL_API_CALL *clCreateFromD3D11Texture2DKHR_fn)(
cl_context context,
cl_mem_flags flags,
ID3D11Texture2D * resource,
UINT subresource,
cl_int * errcode_ret) CL_API_SUFFIX__VERSION_1_2;
typedef CL_API_ENTRY cl_mem (CL_API_CALL *clCreateFromD3D11Texture3DKHR_fn)(
cl_context context,
cl_mem_flags flags,
ID3D11Texture3D * resource,
UINT subresource,
cl_int * errcode_ret) CL_API_SUFFIX__VERSION_1_2;
typedef CL_API_ENTRY cl_int (CL_API_CALL *clEnqueueAcquireD3D11ObjectsKHR_fn)(
cl_command_queue command_queue,
cl_uint num_objects,
const cl_mem * mem_objects,
cl_uint num_events_in_wait_list,
const cl_event * event_wait_list,
cl_event * event) CL_API_SUFFIX__VERSION_1_2;
typedef CL_API_ENTRY cl_int (CL_API_CALL *clEnqueueReleaseD3D11ObjectsKHR_fn)(
cl_command_queue command_queue,
cl_uint num_objects,
const cl_mem * mem_objects,
cl_uint num_events_in_wait_list,
const cl_event * event_wait_list,
cl_event * event) CL_API_SUFFIX__VERSION_1_2;
#ifdef __cplusplus
}
#endif
#endif // __OPENCL_CL_D3D11_H
+127
Ver Arquivo
@@ -0,0 +1,127 @@
/**********************************************************************************
* Copyright (c) 2008-2012 The Khronos Group Inc.
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and/or associated documentation files (the
* "Materials"), to deal in the Materials without restriction, including
* without limitation the rights to use, copy, modify, merge, publish,
* distribute, sublicense, and/or sell copies of the Materials, and to
* permit persons to whom the Materials are furnished to do so, subject to
* the following conditions:
*
* The above copyright notice and this permission notice shall be included
* in all copies or substantial portions of the Materials.
*
* THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
* MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
**********************************************************************************/
/* $Revision: 11708 $ on $Date: 2010-06-13 23:36:24 -0700 (Sun, 13 Jun 2010) $ */
#ifndef __OPENCL_CL_DX9_MEDIA_SHARING_H
#define __OPENCL_CL_DX9_MEDIA_SHARING_H
#include <CL/cl.h>
#include <CL/cl_platform.h>
#ifdef __cplusplus
extern "C" {
#endif
/******************************************************************************
/* cl_khr_dx9_media_sharing */
#define cl_khr_dx9_media_sharing 1
typedef cl_uint cl_dx9_media_adapter_type_khr;
typedef cl_uint cl_dx9_media_adapter_set_khr;
#if defined(_WIN32)
#include <d3d9.h>
typedef struct _cl_dx9_surface_info_khr
{
IDirect3DSurface9 *resource;
HANDLE shared_handle;
} cl_dx9_surface_info_khr;
#endif
/******************************************************************************/
// Error Codes
#define CL_INVALID_DX9_MEDIA_ADAPTER_KHR -1010
#define CL_INVALID_DX9_MEDIA_SURFACE_KHR -1011
#define CL_DX9_MEDIA_SURFACE_ALREADY_ACQUIRED_KHR -1012
#define CL_DX9_MEDIA_SURFACE_NOT_ACQUIRED_KHR -1013
// cl_media_adapter_type_khr
#define CL_ADAPTER_D3D9_KHR 0x2020
#define CL_ADAPTER_D3D9EX_KHR 0x2021
#define CL_ADAPTER_DXVA_KHR 0x2022
// cl_media_adapter_set_khr
#define CL_PREFERRED_DEVICES_FOR_DX9_MEDIA_ADAPTER_KHR 0x2023
#define CL_ALL_DEVICES_FOR_DX9_MEDIA_ADAPTER_KHR 0x2024
// cl_context_info
#define CL_CONTEXT_ADAPTER_D3D9_KHR 0x2025
#define CL_CONTEXT_ADAPTER_D3D9EX_KHR 0x2026
#define CL_CONTEXT_ADAPTER_DXVA_KHR 0x2027
// cl_mem_info
#define CL_MEM_DX9_MEDIA_ADAPTER_TYPE_KHR 0x2028
#define CL_MEM_DX9_MEDIA_SURFACE_INFO_KHR 0x2029
// cl_image_info
#define CL_IMAGE_DX9_MEDIA_PLANE_KHR 0x202A
// cl_command_type
#define CL_COMMAND_ACQUIRE_DX9_MEDIA_SURFACES_KHR 0x202B
#define CL_COMMAND_RELEASE_DX9_MEDIA_SURFACES_KHR 0x202C
/******************************************************************************/
typedef CL_API_ENTRY cl_int (CL_API_CALL *clGetDeviceIDsFromDX9MediaAdapterKHR_fn)(
cl_platform_id platform,
cl_uint num_media_adapters,
cl_dx9_media_adapter_type_khr * media_adapter_type,
void * media_adapters,
cl_dx9_media_adapter_set_khr media_adapter_set,
cl_uint num_entries,
cl_device_id * devices,
cl_uint * num_devices) CL_API_SUFFIX__VERSION_1_2;
typedef CL_API_ENTRY cl_mem (CL_API_CALL *clCreateFromDX9MediaSurfaceKHR_fn)(
cl_context context,
cl_mem_flags flags,
cl_dx9_media_adapter_type_khr adapter_type,
void * surface_info,
cl_uint plane,
cl_int * errcode_ret) CL_API_SUFFIX__VERSION_1_2;
typedef CL_API_ENTRY cl_int (CL_API_CALL *clEnqueueAcquireDX9MediaSurfacesKHR_fn)(
cl_command_queue command_queue,
cl_uint num_objects,
const cl_mem * mem_objects,
cl_uint num_events_in_wait_list,
const cl_event * event_wait_list,
cl_event * event) CL_API_SUFFIX__VERSION_1_2;
typedef CL_API_ENTRY cl_int (CL_API_CALL *clEnqueueReleaseDX9MediaSurfacesKHR_fn)(
cl_command_queue command_queue,
cl_uint num_objects,
const cl_mem * mem_objects,
cl_uint num_events_in_wait_list,
const cl_event * event_wait_list,
cl_event * event) CL_API_SUFFIX__VERSION_1_2;
#ifdef __cplusplus
}
#endif
#endif // __OPENCL_CL_DX9_MEDIA_SHARING_H
+131
Ver Arquivo
@@ -0,0 +1,131 @@
/*******************************************************************************
* Copyright (c) 2008-2010 The Khronos Group Inc.
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and/or associated documentation files (the
* "Materials"), to deal in the Materials without restriction, including
* without limitation the rights to use, copy, modify, merge, publish,
* distribute, sublicense, and/or sell copies of the Materials, and to
* permit persons to whom the Materials are furnished to do so, subject to
* the following conditions:
*
* The above copyright notice and this permission notice shall be included
* in all copies or substantial portions of the Materials.
*
* THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
* MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
******************************************************************************/
#ifndef __OPENCL_CL_EGL_H
#define __OPENCL_CL_EGL_H
#ifdef __APPLE__
#else
#include <CL/cl.h>
#include <EGL/egl.h>
#include <EGL/eglext.h>
#endif
#ifdef __cplusplus
extern "C" {
#endif
/* Command type for events created with clEnqueueAcquireEGLObjectsKHR */
#define CL_COMMAND_EGL_FENCE_SYNC_OBJECT_KHR 0x202F
#define CL_COMMAND_ACQUIRE_EGL_OBJECTS_KHR 0x202D
#define CL_COMMAND_RELEASE_EGL_OBJECTS_KHR 0x202E
/* Error type for clCreateFromEGLImageKHR */
#define CL_INVALID_EGL_OBJECT_KHR -1093
#define CL_EGL_RESOURCE_NOT_ACQUIRED_KHR -1092
/* CLeglImageKHR is an opaque handle to an EGLImage */
typedef void* CLeglImageKHR;
/* CLeglDisplayKHR is an opaque handle to an EGLDisplay */
typedef void* CLeglDisplayKHR;
/* properties passed to clCreateFromEGLImageKHR */
typedef intptr_t cl_egl_image_properties_khr;
#define cl_khr_egl_image 1
extern CL_API_ENTRY cl_mem CL_API_CALL
clCreateFromEGLImageKHR(cl_context /* context */,
CLeglDisplayKHR /* egldisplay */,
CLeglImageKHR /* eglimage */,
cl_mem_flags /* flags */,
const cl_egl_image_properties_khr * /* properties */,
cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_1_0;
typedef CL_API_ENTRY cl_mem (CL_API_CALL *clCreateFromEGLImageKHR_fn)(
cl_context context,
CLeglDisplayKHR egldisplay,
CLeglImageKHR eglimage,
cl_mem_flags flags,
const cl_egl_image_properties_khr * properties,
cl_int * errcode_ret);
extern CL_API_ENTRY cl_int CL_API_CALL
clEnqueueAcquireEGLObjectsKHR(cl_command_queue /* command_queue */,
cl_uint /* num_objects */,
const cl_mem * /* mem_objects */,
cl_uint /* num_events_in_wait_list */,
const cl_event * /* event_wait_list */,
cl_event * /* event */) CL_API_SUFFIX__VERSION_1_0;
typedef CL_API_ENTRY cl_int (CL_API_CALL *clEnqueueAcquireEGLObjectsKHR_fn)(
cl_command_queue command_queue,
cl_uint num_objects,
const cl_mem * mem_objects,
cl_uint num_events_in_wait_list,
const cl_event * event_wait_list,
cl_event * event);
extern CL_API_ENTRY cl_int CL_API_CALL
clEnqueueReleaseEGLObjectsKHR(cl_command_queue /* command_queue */,
cl_uint /* num_objects */,
const cl_mem * /* mem_objects */,
cl_uint /* num_events_in_wait_list */,
const cl_event * /* event_wait_list */,
cl_event * /* event */) CL_API_SUFFIX__VERSION_1_0;
typedef CL_API_ENTRY cl_int (CL_API_CALL *clEnqueueReleaseEGLObjectsKHR_fn)(
cl_command_queue command_queue,
cl_uint num_objects,
const cl_mem * mem_objects,
cl_uint num_events_in_wait_list,
const cl_event * event_wait_list,
cl_event * event);
#define cl_khr_egl_event 1
extern CL_API_ENTRY cl_event CL_API_CALL
clCreateEventFromEGLSyncKHR(cl_context /* context */,
EGLSyncKHR /* sync */,
EGLDisplay /* display */,
cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_1_0;
typedef CL_API_ENTRY cl_event (CL_API_CALL *clCreateEventFromEGLSyncKHR_fn)(
cl_context context,
EGLSyncKHR sync,
EGLDisplay display,
cl_int * errcode_ret);
#ifdef __cplusplus
}
#endif
#endif /* __OPENCL_CL_EGL_H */
+306
Ver Arquivo
@@ -0,0 +1,306 @@
/*******************************************************************************
* Copyright (c) 2008-2013 The Khronos Group Inc.
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and/or associated documentation files (the
* "Materials"), to deal in the Materials without restriction, including
* without limitation the rights to use, copy, modify, merge, publish,
* distribute, sublicense, and/or sell copies of the Materials, and to
* permit persons to whom the Materials are furnished to do so, subject to
* the following conditions:
*
* The above copyright notice and this permission notice shall be included
* in all copies or substantial portions of the Materials.
*
* THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
* MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
******************************************************************************/
/* $Revision: 11928 $ on $Date: 2010-07-13 09:04:56 -0700 (Tue, 13 Jul 2010) $ */
/* cl_ext.h contains OpenCL extensions which don't have external */
/* (OpenGL, D3D) dependencies. */
#ifndef __CL_EXT_H
#define __CL_EXT_H
#ifdef __cplusplus
extern "C" {
#endif
#ifdef __APPLE__
#include <OpenCL/cl.h>
#include <AvailabilityMacros.h>
#else
#include <CL/cl.h>
#endif
/* cl_khr_fp16 extension - no extension #define since it has no functions */
#define CL_DEVICE_HALF_FP_CONFIG 0x1033
/* Memory object destruction
*
* Apple extension for use to manage externally allocated buffers used with cl_mem objects with CL_MEM_USE_HOST_PTR
*
* Registers a user callback function that will be called when the memory object is deleted and its resources
* freed. Each call to clSetMemObjectCallbackFn registers the specified user callback function on a callback
* stack associated with memobj. The registered user callback functions are called in the reverse order in
* which they were registered. The user callback functions are called and then the memory object is deleted
* and its resources freed. This provides a mechanism for the application (and libraries) using memobj to be
* notified when the memory referenced by host_ptr, specified when the memory object is created and used as
* the storage bits for the memory object, can be reused or freed.
*
* The application may not call CL api's with the cl_mem object passed to the pfn_notify.
*
* Please check for the "cl_APPLE_SetMemObjectDestructor" extension using clGetDeviceInfo(CL_DEVICE_EXTENSIONS)
* before using.
*/
#define cl_APPLE_SetMemObjectDestructor 1
cl_int CL_API_ENTRY clSetMemObjectDestructorAPPLE( cl_mem /* memobj */,
void (* /*pfn_notify*/)( cl_mem /* memobj */, void* /*user_data*/),
void * /*user_data */ ) CL_EXT_SUFFIX__VERSION_1_0;
/* Context Logging Functions
*
* The next three convenience functions are intended to be used as the pfn_notify parameter to clCreateContext().
* Please check for the "cl_APPLE_ContextLoggingFunctions" extension using clGetDeviceInfo(CL_DEVICE_EXTENSIONS)
* before using.
*
* clLogMessagesToSystemLog fowards on all log messages to the Apple System Logger
*/
#define cl_APPLE_ContextLoggingFunctions 1
extern void CL_API_ENTRY clLogMessagesToSystemLogAPPLE( const char * /* errstr */,
const void * /* private_info */,
size_t /* cb */,
void * /* user_data */ ) CL_EXT_SUFFIX__VERSION_1_0;
/* clLogMessagesToStdout sends all log messages to the file descriptor stdout */
extern void CL_API_ENTRY clLogMessagesToStdoutAPPLE( const char * /* errstr */,
const void * /* private_info */,
size_t /* cb */,
void * /* user_data */ ) CL_EXT_SUFFIX__VERSION_1_0;
/* clLogMessagesToStderr sends all log messages to the file descriptor stderr */
extern void CL_API_ENTRY clLogMessagesToStderrAPPLE( const char * /* errstr */,
const void * /* private_info */,
size_t /* cb */,
void * /* user_data */ ) CL_EXT_SUFFIX__VERSION_1_0;
/************************
* cl_khr_icd extension *
************************/
#define cl_khr_icd 1
/* cl_platform_info */
#define CL_PLATFORM_ICD_SUFFIX_KHR 0x0920
/* Additional Error Codes */
#define CL_PLATFORM_NOT_FOUND_KHR -1001
extern CL_API_ENTRY cl_int CL_API_CALL
clIcdGetPlatformIDsKHR(cl_uint /* num_entries */,
cl_platform_id * /* platforms */,
cl_uint * /* num_platforms */);
typedef CL_API_ENTRY cl_int (CL_API_CALL *clIcdGetPlatformIDsKHR_fn)(
cl_uint /* num_entries */,
cl_platform_id * /* platforms */,
cl_uint * /* num_platforms */);
/* Extension: cl_khr_image2D_buffer
*
* This extension allows a 2D image to be created from a cl_mem buffer without a copy.
* The type associated with a 2D image created from a buffer in an OpenCL program is image2d_t.
* Both the sampler and sampler-less read_image built-in functions are supported for 2D images
* and 2D images created from a buffer. Similarly, the write_image built-ins are also supported
* for 2D images created from a buffer.
*
* When the 2D image from buffer is created, the client must specify the width,
* height, image format (i.e. channel order and channel data type) and optionally the row pitch
*
* The pitch specified must be a multiple of CL_DEVICE_IMAGE_PITCH_ALIGNMENT pixels.
* The base address of the buffer must be aligned to CL_DEVICE_IMAGE_BASE_ADDRESS_ALIGNMENT pixels.
*/
/*************************************
* cl_khr_initalize_memory extension *
*************************************/
#define CL_CONTEXT_MEMORY_INITIALIZE_KHR 0x200E
/**************************************
* cl_khr_terminate_context extension *
**************************************/
#define CL_DEVICE_TERMINATE_CAPABILITY_KHR 0x200F
#define CL_CONTEXT_TERMINATE_KHR 0x2010
#define cl_khr_terminate_context 1
extern CL_API_ENTRY cl_int CL_API_CALL clTerminateContextKHR(cl_context /* context */) CL_EXT_SUFFIX__VERSION_1_2;
typedef CL_API_ENTRY cl_int (CL_API_CALL *clTerminateContextKHR_fn)(cl_context /* context */) CL_EXT_SUFFIX__VERSION_1_2;
/*
* Extension: cl_khr_spir
*
* This extension adds support to create an OpenCL program object from a
* Standard Portable Intermediate Representation (SPIR) instance
*/
/******************************************
* cl_nv_device_attribute_query extension *
******************************************/
/* cl_nv_device_attribute_query extension - no extension #define since it has no functions */
#define CL_DEVICE_COMPUTE_CAPABILITY_MAJOR_NV 0x4000
#define CL_DEVICE_COMPUTE_CAPABILITY_MINOR_NV 0x4001
#define CL_DEVICE_REGISTERS_PER_BLOCK_NV 0x4002
#define CL_DEVICE_WARP_SIZE_NV 0x4003
#define CL_DEVICE_GPU_OVERLAP_NV 0x4004
#define CL_DEVICE_KERNEL_EXEC_TIMEOUT_NV 0x4005
#define CL_DEVICE_INTEGRATED_MEMORY_NV 0x4006
/*********************************
* cl_amd_device_attribute_query *
*********************************/
#define CL_DEVICE_PROFILING_TIMER_OFFSET_AMD 0x4036
#ifdef CL_VERSION_1_1
/***********************************
* cl_ext_device_fission extension *
***********************************/
#define cl_ext_device_fission 1
extern CL_API_ENTRY cl_int CL_API_CALL
clReleaseDeviceEXT( cl_device_id /*device*/ ) CL_EXT_SUFFIX__VERSION_1_1;
typedef CL_API_ENTRY cl_int
(CL_API_CALL *clReleaseDeviceEXT_fn)( cl_device_id /*device*/ ) CL_EXT_SUFFIX__VERSION_1_1;
extern CL_API_ENTRY cl_int CL_API_CALL
clRetainDeviceEXT( cl_device_id /*device*/ ) CL_EXT_SUFFIX__VERSION_1_1;
typedef CL_API_ENTRY cl_int
(CL_API_CALL *clRetainDeviceEXT_fn)( cl_device_id /*device*/ ) CL_EXT_SUFFIX__VERSION_1_1;
typedef cl_ulong cl_device_partition_property_ext;
extern CL_API_ENTRY cl_int CL_API_CALL
clCreateSubDevicesEXT( cl_device_id /*in_device*/,
const cl_device_partition_property_ext * /* properties */,
cl_uint /*num_entries*/,
cl_device_id * /*out_devices*/,
cl_uint * /*num_devices*/ ) CL_EXT_SUFFIX__VERSION_1_1;
typedef CL_API_ENTRY cl_int
( CL_API_CALL * clCreateSubDevicesEXT_fn)( cl_device_id /*in_device*/,
const cl_device_partition_property_ext * /* properties */,
cl_uint /*num_entries*/,
cl_device_id * /*out_devices*/,
cl_uint * /*num_devices*/ ) CL_EXT_SUFFIX__VERSION_1_1;
/* cl_device_partition_property_ext */
#define CL_DEVICE_PARTITION_EQUALLY_EXT 0x4050
#define CL_DEVICE_PARTITION_BY_COUNTS_EXT 0x4051
#define CL_DEVICE_PARTITION_BY_NAMES_EXT 0x4052
#define CL_DEVICE_PARTITION_BY_AFFINITY_DOMAIN_EXT 0x4053
/* clDeviceGetInfo selectors */
#define CL_DEVICE_PARENT_DEVICE_EXT 0x4054
#define CL_DEVICE_PARTITION_TYPES_EXT 0x4055
#define CL_DEVICE_AFFINITY_DOMAINS_EXT 0x4056
#define CL_DEVICE_REFERENCE_COUNT_EXT 0x4057
#define CL_DEVICE_PARTITION_STYLE_EXT 0x4058
/* error codes */
#define CL_DEVICE_PARTITION_FAILED_EXT -1057
#define CL_INVALID_PARTITION_COUNT_EXT -1058
#define CL_INVALID_PARTITION_NAME_EXT -1059
/* CL_AFFINITY_DOMAINs */
#define CL_AFFINITY_DOMAIN_L1_CACHE_EXT 0x1
#define CL_AFFINITY_DOMAIN_L2_CACHE_EXT 0x2
#define CL_AFFINITY_DOMAIN_L3_CACHE_EXT 0x3
#define CL_AFFINITY_DOMAIN_L4_CACHE_EXT 0x4
#define CL_AFFINITY_DOMAIN_NUMA_EXT 0x10
#define CL_AFFINITY_DOMAIN_NEXT_FISSIONABLE_EXT 0x100
/* cl_device_partition_property_ext list terminators */
#define CL_PROPERTIES_LIST_END_EXT ((cl_device_partition_property_ext) 0)
#define CL_PARTITION_BY_COUNTS_LIST_END_EXT ((cl_device_partition_property_ext) 0)
#define CL_PARTITION_BY_NAMES_LIST_END_EXT ((cl_device_partition_property_ext) 0 - 1)
/*********************************
* cl_qcom_ext_host_ptr extension
*********************************/
#define CL_MEM_EXT_HOST_PTR_QCOM (1 << 29)
#define CL_DEVICE_EXT_MEM_PADDING_IN_BYTES_QCOM 0x40A0
#define CL_DEVICE_PAGE_SIZE_QCOM 0x40A1
#define CL_IMAGE_ROW_ALIGNMENT_QCOM 0x40A2
#define CL_IMAGE_SLICE_ALIGNMENT_QCOM 0x40A3
#define CL_MEM_HOST_UNCACHED_QCOM 0x40A4
#define CL_MEM_HOST_WRITEBACK_QCOM 0x40A5
#define CL_MEM_HOST_WRITETHROUGH_QCOM 0x40A6
#define CL_MEM_HOST_WRITE_COMBINING_QCOM 0x40A7
typedef cl_uint cl_image_pitch_info_qcom;
extern CL_API_ENTRY cl_int CL_API_CALL
clGetDeviceImageInfoQCOM(cl_device_id device,
size_t image_width,
size_t image_height,
const cl_image_format *image_format,
cl_image_pitch_info_qcom param_name,
size_t param_value_size,
void *param_value,
size_t *param_value_size_ret);
typedef struct _cl_mem_ext_host_ptr
{
// Type of external memory allocation.
// Legal values will be defined in layered extensions.
cl_uint allocation_type;
// Host cache policy for this external memory allocation.
cl_uint host_cache_policy;
} cl_mem_ext_host_ptr;
/*********************************
* cl_qcom_ion_host_ptr extension
*********************************/
#define CL_MEM_ION_HOST_PTR_QCOM 0x40A8
typedef struct _cl_mem_ion_host_ptr
{
// Type of external memory allocation.
// Must be CL_MEM_ION_HOST_PTR_QCOM for ION allocations.
cl_mem_ext_host_ptr ext_host_ptr;
// ION file descriptor
int ion_filedesc;
// Host pointer to the ION allocated memory
void* ion_hostptr;
} cl_mem_ion_host_ptr;
#endif /* CL_VERSION_1_1 */
#ifdef __cplusplus
}
#endif
#endif /* __CL_EXT_H */
+162
Ver Arquivo
@@ -0,0 +1,162 @@
/**********************************************************************************
* Copyright (c) 2008 - 2012 The Khronos Group Inc.
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and/or associated documentation files (the
* "Materials"), to deal in the Materials without restriction, including
* without limitation the rights to use, copy, modify, merge, publish,
* distribute, sublicense, and/or sell copies of the Materials, and to
* permit persons to whom the Materials are furnished to do so, subject to
* the following conditions:
*
* The above copyright notice and this permission notice shall be included
* in all copies or substantial portions of the Materials.
*
* THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
* MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
**********************************************************************************/
#ifndef __OPENCL_CL_GL_H
#define __OPENCL_CL_GL_H
#ifdef __APPLE__
#include <OpenCL/cl.h>
#else
#include <CL/cl.h>
#endif
#ifdef __cplusplus
extern "C" {
#endif
typedef cl_uint cl_gl_object_type;
typedef cl_uint cl_gl_texture_info;
typedef cl_uint cl_gl_platform_info;
typedef struct __GLsync *cl_GLsync;
/* cl_gl_object_type = 0x2000 - 0x200F enum values are currently taken */
#define CL_GL_OBJECT_BUFFER 0x2000
#define CL_GL_OBJECT_TEXTURE2D 0x2001
#define CL_GL_OBJECT_TEXTURE3D 0x2002
#define CL_GL_OBJECT_RENDERBUFFER 0x2003
#define CL_GL_OBJECT_TEXTURE2D_ARRAY 0x200E
#define CL_GL_OBJECT_TEXTURE1D 0x200F
#define CL_GL_OBJECT_TEXTURE1D_ARRAY 0x2010
#define CL_GL_OBJECT_TEXTURE_BUFFER 0x2011
/* cl_gl_texture_info */
#define CL_GL_TEXTURE_TARGET 0x2004
#define CL_GL_MIPMAP_LEVEL 0x2005
#define CL_GL_NUM_SAMPLES 0x2012
extern CL_API_ENTRY cl_mem CL_API_CALL
clCreateFromGLBuffer(cl_context /* context */,
cl_mem_flags /* flags */,
cl_GLuint /* bufobj */,
int * /* errcode_ret */) CL_API_SUFFIX__VERSION_1_0;
extern CL_API_ENTRY cl_mem CL_API_CALL
clCreateFromGLTexture(cl_context /* context */,
cl_mem_flags /* flags */,
cl_GLenum /* target */,
cl_GLint /* miplevel */,
cl_GLuint /* texture */,
cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_1_2;
extern CL_API_ENTRY cl_mem CL_API_CALL
clCreateFromGLRenderbuffer(cl_context /* context */,
cl_mem_flags /* flags */,
cl_GLuint /* renderbuffer */,
cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_1_0;
extern CL_API_ENTRY cl_int CL_API_CALL
clGetGLObjectInfo(cl_mem /* memobj */,
cl_gl_object_type * /* gl_object_type */,
cl_GLuint * /* gl_object_name */) CL_API_SUFFIX__VERSION_1_0;
extern CL_API_ENTRY cl_int CL_API_CALL
clGetGLTextureInfo(cl_mem /* memobj */,
cl_gl_texture_info /* param_name */,
size_t /* param_value_size */,
void * /* param_value */,
size_t * /* param_value_size_ret */) CL_API_SUFFIX__VERSION_1_0;
extern CL_API_ENTRY cl_int CL_API_CALL
clEnqueueAcquireGLObjects(cl_command_queue /* command_queue */,
cl_uint /* num_objects */,
const cl_mem * /* mem_objects */,
cl_uint /* num_events_in_wait_list */,
const cl_event * /* event_wait_list */,
cl_event * /* event */) CL_API_SUFFIX__VERSION_1_0;
extern CL_API_ENTRY cl_int CL_API_CALL
clEnqueueReleaseGLObjects(cl_command_queue /* command_queue */,
cl_uint /* num_objects */,
const cl_mem * /* mem_objects */,
cl_uint /* num_events_in_wait_list */,
const cl_event * /* event_wait_list */,
cl_event * /* event */) CL_API_SUFFIX__VERSION_1_0;
// Deprecated OpenCL 1.1 APIs
extern CL_API_ENTRY CL_EXT_PREFIX__VERSION_1_1_DEPRECATED cl_mem CL_API_CALL
clCreateFromGLTexture2D(cl_context /* context */,
cl_mem_flags /* flags */,
cl_GLenum /* target */,
cl_GLint /* miplevel */,
cl_GLuint /* texture */,
cl_int * /* errcode_ret */) CL_EXT_SUFFIX__VERSION_1_1_DEPRECATED;
extern CL_API_ENTRY CL_EXT_PREFIX__VERSION_1_1_DEPRECATED cl_mem CL_API_CALL
clCreateFromGLTexture3D(cl_context /* context */,
cl_mem_flags /* flags */,
cl_GLenum /* target */,
cl_GLint /* miplevel */,
cl_GLuint /* texture */,
cl_int * /* errcode_ret */) CL_EXT_SUFFIX__VERSION_1_1_DEPRECATED;
/* cl_khr_gl_sharing extension */
#define cl_khr_gl_sharing 1
typedef cl_uint cl_gl_context_info;
/* Additional Error Codes */
#define CL_INVALID_GL_SHAREGROUP_REFERENCE_KHR -1000
/* cl_gl_context_info */
#define CL_CURRENT_DEVICE_FOR_GL_CONTEXT_KHR 0x2006
#define CL_DEVICES_FOR_GL_CONTEXT_KHR 0x2007
/* Additional cl_context_properties */
#define CL_GL_CONTEXT_KHR 0x2008
#define CL_EGL_DISPLAY_KHR 0x2009
#define CL_GLX_DISPLAY_KHR 0x200A
#define CL_WGL_HDC_KHR 0x200B
#define CL_CGL_SHAREGROUP_KHR 0x200C
extern CL_API_ENTRY cl_int CL_API_CALL
clGetGLContextInfoKHR(const cl_context_properties * /* properties */,
cl_gl_context_info /* param_name */,
size_t /* param_value_size */,
void * /* param_value */,
size_t * /* param_value_size_ret */) CL_API_SUFFIX__VERSION_1_0;
typedef CL_API_ENTRY cl_int (CL_API_CALL *clGetGLContextInfoKHR_fn)(
const cl_context_properties * properties,
cl_gl_context_info param_name,
size_t param_value_size,
void * param_value,
size_t * param_value_size_ret);
#ifdef __cplusplus
}
#endif
#endif /* __OPENCL_CL_GL_H */
+69
Ver Arquivo
@@ -0,0 +1,69 @@
/**********************************************************************************
* Copyright (c) 2008-2012 The Khronos Group Inc.
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and/or associated documentation files (the
* "Materials"), to deal in the Materials without restriction, including
* without limitation the rights to use, copy, modify, merge, publish,
* distribute, sublicense, and/or sell copies of the Materials, and to
* permit persons to whom the Materials are furnished to do so, subject to
* the following conditions:
*
* The above copyright notice and this permission notice shall be included
* in all copies or substantial portions of the Materials.
*
* THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
* MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
**********************************************************************************/
/* $Revision: 11708 $ on $Date: 2010-06-13 23:36:24 -0700 (Sun, 13 Jun 2010) $ */
/* cl_gl_ext.h contains vendor (non-KHR) OpenCL extensions which have */
/* OpenGL dependencies. */
#ifndef __OPENCL_CL_GL_EXT_H
#define __OPENCL_CL_GL_EXT_H
#ifdef __cplusplus
extern "C" {
#endif
#ifdef __APPLE__
#include <OpenCL/cl_gl.h>
#else
#include <CL/cl_gl.h>
#endif
/*
* For each extension, follow this template
* cl_VEN_extname extension */
/* #define cl_VEN_extname 1
* ... define new types, if any
* ... define new tokens, if any
* ... define new APIs, if any
*
* If you need GLtypes here, mirror them with a cl_GLtype, rather than including a GL header
* This allows us to avoid having to decide whether to include GL headers or GLES here.
*/
/*
* cl_khr_gl_event extension
* See section 9.9 in the OpenCL 1.1 spec for more information
*/
#define CL_COMMAND_GL_FENCE_SYNC_OBJECT_KHR 0x200D
extern CL_API_ENTRY cl_event CL_API_CALL
clCreateEventFromGLsyncKHR(cl_context /* context */,
cl_GLsync /* cl_GLsync */,
cl_int * /* errcode_ret */) CL_EXT_SUFFIX__VERSION_1_1;
#ifdef __cplusplus
}
#endif
#endif /* __OPENCL_CL_GL_EXT_H */
Diferenças do arquivo suprimidas por serem muito extensas Carregar Diff
+54
Ver Arquivo
@@ -0,0 +1,54 @@
/*******************************************************************************
* Copyright (c) 2008-2012 The Khronos Group Inc.
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and/or associated documentation files (the
* "Materials"), to deal in the Materials without restriction, including
* without limitation the rights to use, copy, modify, merge, publish,
* distribute, sublicense, and/or sell copies of the Materials, and to
* permit persons to whom the Materials are furnished to do so, subject to
* the following conditions:
*
* The above copyright notice and this permission notice shall be included
* in all copies or substantial portions of the Materials.
*
* THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
* MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
******************************************************************************/
/* $Revision: 11708 $ on $Date: 2010-06-13 23:36:24 -0700 (Sun, 13 Jun 2010) $ */
#ifndef __OPENCL_H
#define __OPENCL_H
#ifdef __cplusplus
extern "C" {
#endif
#ifdef __APPLE__
#include <OpenCL/cl.h>
#include <OpenCL/cl_gl.h>
#include <OpenCL/cl_gl_ext.h>
#include <OpenCL/cl_ext.h>
#else
#include <CL/cl.h>
#include <CL/cl_gl.h>
#include <CL/cl_gl_ext.h>
#include <CL/cl_ext.h>
#endif
#ifdef __cplusplus
}
#endif
#endif /* __OPENCL_H */
Arquivo binário não exibido.
Arquivo binário não exibido.
Arquivo binário não exibido.
Arquivo binário não exibido.
Arquivo binário não exibido.
Arquivo binário não exibido.
Arquivo binário não exibido.
BIN
Ver Arquivo
Arquivo binário não exibido.
Arquivo binário não exibido.
Arquivo binário não exibido.
Arquivo binário não exibido.
Arquivo binário não exibido.
Arquivo binário não exibido.
Arquivo binário não exibido.
Arquivo binário não exibido.

Alguns arquivos não foram exibidos porque demasiados arquivos foram alterados neste diff Mostrar Mais