4334 Commits

Autor SHA1 Mensagem Data
Roman Donchenko afa62c4161 Merge pull request #2212 from SpecLad:hog-sample-const-mat 2014-01-29 17:20:25 +04:00
Roman Donchenko 9b9eadc941 Merge pull request #2214 from cosminBoaca:add_returnDFVal_parallel_predict 2014-01-29 17:12:48 +04:00
Andrey Pavlenko fff5a6c058 Merge pull request #2213 from ilya-lavrenov:tapi_buildPyramid 2014-01-28 16:31:30 +04:00
Cosmin Boaca 3985980b2f Added returnDFVal parameter to parallel CvSVM::predict function 2014-01-28 11:54:39 +02:00
Roman Donchenko 84c29745f2 Merge pull request #2211 from SpecLad:merge-2.4 2014-01-28 12:44:29 +04:00
Andrey Pavlenko 6deda99f07 Merge pull request #2207 from ilya-lavrenov:tapi_macro 2014-01-27 18:56:06 +04:00
Ilya Lavrenov 78c2b3ca2a refactored imgproc 2014-01-27 18:47:16 +04:00
Ilya Lavrenov 48a084c236 OpenCL version of cv::buildPyramid 2014-01-27 18:42:44 +04:00
Andrey Pavlenko d9b24457fa Merge pull request #2208 from alalek:ocl_dynload_warn 2014-01-27 18:24:14 +04:00
Roman Donchenko 6a511755b2 Fixed build for samples/cpp/train_HOG.cpp.
get_hogdescriptor_visu is passed img->clone(), which is not usable
as a non-const reference (and it doesn't modify the argument, anyway).
2014-01-27 17:39:33 +04:00
Andrey Pavlenko ce48b6afde Merge pull request #2203 from ilya-lavrenov:tapi_umat_vectors 2014-01-27 16:06:12 +04:00
Andrey Pavlenko 4dd805b7a9 Merge pull request #2206 from ilya-lavrenov:ocl_warn_fix 2014-01-27 16:05:54 +04:00
Roman Donchenko bbc35d609d Merge remote-tracking branch 'origin/2.4' into merge-2.4
Conflicts:
	cmake/OpenCVDetectPython.cmake
	cmake/OpenCVModule.cmake
	modules/core/src/gpumat.cpp
	modules/cudaimgproc/test/test_hough.cpp
	modules/gpu/CMakeLists.txt
	modules/gpu/src/cuda/generalized_hough.cu
	modules/gpu/src/generalized_hough.cpp
	modules/python/CMakeLists.txt
2014-01-27 15:28:14 +04:00
Alexander Alekhin 1ff9a8ef52 core/ocl: added warning about incompatible configuration 2014-01-27 13:52:52 +04:00
Ilya Lavrenov c8f2050cc2 warn fix 2014-01-27 12:34:30 +04:00
Ilya Lavrenov 321782b9b7 added macro with ability of returning values 2014-01-27 12:32:26 +04:00
Ilya Lavrenov f767077a41 fixed condition 2014-01-27 12:00:53 +04:00
Ilya Lavrenov 2dd294cc84 fixed cv::split; enabled test 2014-01-27 12:00:53 +04:00
Ilya Lavrenov fa5492343a added STD_VECTOR_UMAT support to _OutputArray::create 2014-01-27 11:59:59 +04:00
Andrey Pavlenko 06acf7090c Merge pull request #2027 from AD-530:brief_cl 2014-01-27 09:49:46 +04:00
Andrey Pavlenko a64d3c1744 Merge pull request #2155 from vbystricky:ocl_calcOpticalFlowPyrLK 2014-01-25 17:08:07 +04:00
Andrey Pavlenko 1db8aa8628 Merge pull request #2204 from ilya-lavrenov:tapi_stitch_perf_fix 2014-01-25 16:54:00 +04:00
Andrey Pavlenko 3f61007563 Merge pull request #2191 from ilya-lavrenov:tapi_macro 2014-01-25 16:32:54 +04:00
Ilya Lavrenov 7184925105 fix 2014-01-25 11:50:28 +04:00
Ilya Lavrenov 7f785e0a11 refactored core using new macro 2014-01-24 23:59:00 +04:00
vbystricky bb09d44e0a Unused code removed 2014-01-24 17:37:54 +04:00
vbystricky 27fb7e1802 Change type of result vector of ocl version from row to column 2014-01-24 17:37:53 +04:00
vbystricky 094bc92318 Fix build error 2014-01-24 17:37:53 +04:00
vbystricky a7e5a488a8 Change method of setting arguments to kernel to safe one 2014-01-24 17:37:52 +04:00
vbystricky e96ba8140c Grow up epsilon for sanity checks 2014-01-24 17:37:52 +04:00
vbystricky 3a798a27e5 Add perfomance test 2014-01-24 17:37:52 +04:00
vbystricky ece635bf3c Fix builds errors 2014-01-24 17:37:51 +04:00
vbystricky 3ba6636651 Fix builds errors 2014-01-24 17:37:51 +04:00
vbystricky 33fc46cdec Validate parameters for using OpenCL version, before upload UMat 2014-01-24 17:37:50 +04:00
vbystricky 4152135e63 Fix error with some opencl functions on the build WITH_OPENCL=OFF 2014-01-24 17:37:50 +04:00
vbystricky c57e427fba Move OpticalFlowPyrLK from ocl module to video module 2014-01-24 17:37:50 +04:00
Andrey Pavlenko ac3f06bc7f Merge pull request #2149 from ElenaGvozdeva:ocl_matchTemplate 2014-01-24 17:33:06 +04:00
Ilya Lavrenov cc514ac7a9 added new macros useful for tracking whether OpenCL impl run or not 2014-01-24 17:16:40 +04:00
Andrey Pavlenko 22c804d97c Merge pull request #2182 from KonstantinMatskevich:ocl_tapi_samples 2014-01-24 17:03:42 +04:00
Andrey Pavlenko 5424c55565 Merge pull request #2142 from KonstantinMatskevich:ocl_tapi_bfmatcher 2014-01-24 16:50:03 +04:00
Andrey Pavlenko b0caa588ec Merge pull request #2190 from KonstantinMatskevich:ocl_dumpinfo 2014-01-24 16:44:19 +04:00
Konstantin Matskevich c7a6537b83 add brackets 2014-01-24 16:35:51 +04:00
Andrey Pavlenko d093cb54d5 Merge pull request #2194 from apavlenko:2.4_perf_haar_iter 2014-01-24 16:13:19 +04:00
Roman Donchenko 24caa80143 Merge pull request #2197 from asmorkalov:ocv_packaging2 2014-01-24 14:27:44 +04:00
Konstantin Matskevich ae827a638c fixes 2014-01-24 14:01:31 +04:00
Konstantin Matskevich 07778e1760 fixes 2014-01-24 13:37:19 +04:00
Konstantin Matskevich 450ea3131f samples 2014-01-24 12:59:19 +04:00
Alexander Smorkalov 086792ec06 Improvements in package build. 2014-01-24 12:00:44 +04:00
Elena Gvozdeva 07a88d48e9 fixed 2014-01-24 11:41:23 +04:00
Andrey Pavlenko 0a4a1d7526 temporary disabling hanging test 2014-01-24 10:07:21 +04:00
Roman Donchenko 078d49609e Merge pull request #2193 from apavlenko:2.4_lic_remove 2014-01-23 17:13:52 +04:00
Andrey Pavlenko dca5684145 removing duplicated legacy license, the actual instance is in 'opencv/LICENSE' 2014-01-23 17:05:20 +04:00
Elena Gvozdeva 4d86804f11 Fixed merge conflicts 2014-01-23 15:31:32 +04:00
Elena Gvozdeva 7bd8f9294d fixed 2014-01-23 14:50:30 +04:00
Elena Gvozdeva 8c5e19c270 fixed pref test 2014-01-23 14:50:29 +04:00
Elena Gvozdeva b4652e2cb3 Added perf test for ocl_matchTemplate 2014-01-23 14:50:29 +04:00
Elena Gvozdeva 2c0765b4d1 fixed trailing whitespace 2014-01-23 14:50:29 +04:00
Elena Gvozdeva 7e2bdb590f fixed 2014-01-23 14:50:29 +04:00
Elena Gvozdeva 4da1ba56b3 fixed 2014-01-23 14:50:29 +04:00
Elena Gvozdeva 47b572f99f fixed 2014-01-23 14:50:28 +04:00
Elena Gvozdeva da4d33ec26 Fixed test_match_template 2014-01-23 14:50:28 +04:00
Elena Gvozdeva 9de70c9a00 Fixed trailing whitespace 2014-01-23 14:50:28 +04:00
Elena Gvozdeva ba5d480f80 Fixed warnings 2014-01-23 14:50:28 +04:00
Elena Gvozdeva 86636dc265 Added ocl_matchTemplate( without dft) 2014-01-23 14:50:28 +04:00
Andrey Pavlenko ee88cc2c52 Merge pull request #2110 from hmax:master 2014-01-23 14:37:34 +04:00
Roman Donchenko 7ff9d7eb2d Merge pull request #2188 from jet47:gpumat-copyto-fix 2014-01-23 13:28:12 +04:00
Roman Donchenko 3715f71aaf Merge pull request #2175 from vrabaud:2.4 2014-01-23 13:27:38 +04:00
Konstantin Matskevich 133f91f3f2 added perf test 2014-01-23 07:51:19 +04:00
Andrey Pavlenko ba77719914 Merge pull request #2189 from ilya-lavrenov:tapi_sepFilter2D_fix 2014-01-22 19:13:05 +04:00
Andrey Pavlenko 7ce6c28bb4 Merge pull request #2186 from ilya-lavrenov:tapi_precornerdetect 2014-01-22 19:09:34 +04:00
Andrey Pavlenko 9aa4410509 Merge pull request #2134 from vbystricky:ocl_calcOpticalFlowFarneback 2014-01-22 18:57:34 +04:00
Vincent Rabaud 167a26642e fix message sent to user during cross_compilation 2014-01-22 15:26:14 +01:00
Konstantin Matskevich f90e41d54e dumpinfo 2014-01-22 17:04:44 +04:00
Konstantin Matskevich 2f8c29a1f0 removed unnecessary functions and variables 2014-01-22 15:31:27 +04:00
Konstantin Matskevich 3b7683e72f fixed docs 2014-01-22 15:31:26 +04:00
Konstantin Matskevich ca5689e0db BFMatcher
match

radiusMatch
2014-01-22 15:31:26 +04:00
Ilya Lavrenov d2ffd8ed21 implemented OpenCL version of cv::preCornerDetect 2014-01-22 13:46:26 +04:00
Ilya Lavrenov 059e6e4305 fixed cv::sepFilter2D 2014-01-22 13:40:48 +04:00
Roman Donchenko ee331001f5 Merge pull request #2161 from SpecLad:doc-req 2014-01-22 12:04:48 +04:00
Roman Donchenko a4b34e7ae1 Merge pull request #2181 from asmorkalov:ocv_packaging 2014-01-22 11:54:07 +04:00
Vladislav Vinogradov dda999545c fix GpuMat::copyTo method with mask:
fill destination matrix with zeros if it was reallocated
2014-01-22 10:40:14 +04:00
vbystricky e0c6377d58 Change the sanity checking type to ERROR_RELATIVE 2014-01-22 10:34:27 +04:00
Andrey Pavlenko 069bb9a929 Merge pull request #2185 from ilya-lavrenov:tapi_corners 2014-01-22 10:25:41 +04:00
Andrey Pavlenko 665d9cb29c Merge pull request #2168 from ilya-lavrenov:tapi_perf_stitching 2014-01-22 10:14:38 +04:00
Andrey Pavlenko 5d818c010e Merge pull request #2156 from ilya-lavrenov:tapi_reduce 2014-01-22 10:12:08 +04:00
Andrey Pavlenko 1400f53436 Merge pull request #2184 from ilya-lavrenov:bioinspired2contrib 2014-01-21 23:27:16 +04:00
Andrey Pavlenko 99942e8043 Merge pull request #2166 from ilya-lavrenov:tapi_gftt 2014-01-21 22:29:41 +04:00
Alexander Smorkalov 7821fe2bde Initial Linux packages build rools for CPack. 2014-01-21 20:34:36 +04:00
Alexander Smorkalov b75cbfde45 All installed files marked with component names for install customization. 2014-01-21 20:34:36 +04:00
Ilya Lavrenov 3177a683e9 ported corners to T-API 2014-01-21 20:13:55 +04:00
Roman Donchenko a548a08129 Merge pull request #2183 from jet47:cuda-hough-fix 2014-01-21 19:27:54 +04:00
Andrey Pavlenko c8afe7efc6 Merge pull request #1320 from mbarnach:svm_hog 2014-01-21 19:23:04 +04:00
Andrey Pavlenko 4fbd2ef87a Merge pull request #1290 from mbarnach:bow_desc 2014-01-21 19:22:47 +04:00
Andrey Pavlenko 32bc89f094 Merge pull request #2107 from nghiaho12:nn_doc 2014-01-21 19:11:12 +04:00
Ilya Lavrenov 303c37a175 removed TOC 2014-01-21 18:47:22 +04:00
vbystricky c1172b83dd Change epsilon value to 0.01 2014-01-21 18:46:26 +04:00
Ilya Lavrenov 5d206059a8 moved bioinspired to opencv_contrib 2014-01-21 18:02:53 +04:00
Andrey Pavlenko 9eca3ec8f6 Merge pull request #2177 from ilya-lavrenov:ocl_superres 2014-01-21 17:05:50 +04:00
Vladislav Vinogradov 33d42b740c disable CUDA generalized Hough Transform 2014-01-21 15:07:47 +04:00
Vladislav Vinogradov d847387694 split CUDA Hough sources 2014-01-21 15:07:47 +04:00
Ilya Lavrenov bfa382cf9d fixed copying UMat -> std::vector 2014-01-21 14:37:22 +04:00
Ilya Lavrenov ae4be413c3 added perf tests for cv::reduce 2014-01-21 14:18:38 +04:00
Vincent Rabaud eabcfa5652 reorder the if's for clarity 2014-01-21 10:27:37 +01:00
Ilya Lavrenov ac2e613975 skip OCL tests if OpenCL isn't available 2014-01-21 13:09:39 +04:00
Vincent Rabaud 6cb90c0e97 fix cross-compilation issue with Numpy 2014-01-21 10:07:19 +01:00
Andrey Pavlenko 494f7e3657 Merge pull request #2158 from KonstantinMatskevich:testdata_path_calib3d 2014-01-20 23:35:06 +04:00
Andrey Pavlenko 801d2d0a32 Merge pull request #2167 from ilya-lavrenov:tapi_kern_warn 2014-01-20 23:33:55 +04:00
Roman Donchenko 64244e160b Merge pull request #2171 from djetter99:fix_static_init_order 2014-01-20 19:30:29 +04:00
Roman Donchenko a509819b21 Merge pull request #2163 from ilya-lavrenov:tapi_channels 2014-01-20 18:48:52 +04:00
Ilya Lavrenov e5130cf83f enabled tests 2014-01-20 18:09:43 +04:00
Roman Donchenko 9710b25c7d Merge pull request #2173 from Nerei:viz 2014-01-20 18:05:11 +04:00
Roman Donchenko 9dc93ce328 Merge pull request #2176 from SpecLad:merge-2.4 2014-01-20 18:04:56 +04:00
Anatoly Baksheev ac035b9b8e review comments 2014-01-20 15:22:58 +04:00
Andrey Pavlenko 69ba0c53ad Merge pull request #2165 from ilya-lavrenov:tapi_upload 2014-01-20 15:18:56 +04:00
Roman Donchenko e45fd939c2 Merge remote-tracking branch 'origin/2.4' into merge-2.4
Conflicts:
	modules/ocl/src/cl_runtime/cl_runtime.cpp
	modules/ocl/src/cl_runtime/clamdblas_runtime.cpp
	modules/ocl/src/cl_runtime/clamdfft_runtime.cpp
	modules/ocl/src/cl_runtime/generator/template/clamdblas_runtime.cpp.in
	modules/ocl/src/cl_runtime/generator/template/clamdfft_runtime.cpp.in
2014-01-20 15:10:19 +04:00
Roman Donchenko 087371c021 Merge pull request #2164 from ilya-lavrenov:excess_commas_semicolons_v2 2014-01-20 14:15:05 +04:00
Ilya Lavrenov 5abfd40989 added perf test for cv::goodFeaturesToTrack 2014-01-20 13:57:53 +04:00
Ilya Lavrenov 52ed6d0d27 ported cv::goodFeaturesToTrack to T-API 2014-01-20 13:57:53 +04:00
Ilya Lavrenov 5d18cf9989 added cv::[extract|insert]Channel to T-API 2014-01-20 13:52:07 +04:00
Roman Donchenko 8386ce2b2f Merge pull request #2160 from SpecLad:norm-assert 2014-01-20 12:20:21 +04:00
Roman Donchenko d47f32581c Merge pull request #2174 from Nerei:yet_another_fix_for_pr2172 2014-01-20 12:06:44 +04:00
Anatoly Baksheev 4cc8f7012b closing window 2014-01-19 18:39:01 +04:00
Anatoly Baksheev 4e18007066 fixed white spaces 2014-01-19 18:39:01 +04:00
Anatoly Baksheev d29c3d2f0d fixed documentation warnings 2014-01-19 18:39:00 +04:00
Anatoly Baksheev 8f15a8abdb disabled Ubuntu workaround code for Windows 2014-01-19 18:39:00 +04:00
Anatoly Baksheev 0d12fb0346 implemented workaround of a problem with x-server for ubuntu 2014-01-19 18:39:00 +04:00
Anatoly Baksheev 7410593d55 fixed warnigns and compiler errors for Ubuntu 2014-01-19 18:39:00 +04:00
Anatoly Baksheev d7ca0bb757 merged background color with background gradient methods, updated tests to show description of scene 2014-01-19 18:38:59 +04:00
Anatoly Baksheev 16281027af resolved problem with multiple spin()/spinOnce() 2014-01-19 18:38:59 +04:00
Anatoly Baksheev 57d5ad5131 minor iteractor refactoring 2014-01-19 18:38:59 +04:00
Anatoly Baksheev ffad7b699c added test for textured mesh 2014-01-19 18:38:59 +04:00
Anatoly Baksheev 8d327fa497 updated for compatibility with VTK6.0 2014-01-19 18:38:58 +04:00
Anatoly Baksheev e472d45d99 updated mesh reading (texture support) 2014-01-19 18:38:58 +04:00
Anatoly Baksheev 625c35a9f9 added support of texture for mesh 2014-01-19 18:38:58 +04:00
Anatoly Baksheev 74206e0159 added painted cloud widget 2014-01-19 18:38:57 +04:00
Anatoly Baksheev 3086095837 improved background gradient 2014-01-19 18:38:57 +04:00
Anatoly Baksheev b0ca93b22c by default enabled tests vtk 2014-01-19 18:38:57 +04:00
Anatoly Baksheev d7c30281a5 set background texture method 2014-01-19 18:38:57 +04:00
Anatoly Baksheev e2ef558c8a refactored WGrid 2014-01-19 18:38:56 +04:00
Anatoly Baksheev 658f4a7d38 refactoed plane 2014-01-19 18:38:56 +04:00
Anatoly Baksheev 53b8218652 addeed test for text 2d/3d 2014-01-19 18:38:56 +04:00
Anatoly Baksheev bb891f0570 added cone implementation 2014-01-19 18:38:56 +04:00
Anatoly Baksheev 08f50314cb updated cylinder and cube 2014-01-19 18:38:55 +04:00
Anatoly Baksheev c0cc551228 refactored circle 2014-01-19 18:38:55 +04:00
Anatoly Baksheev dac27c9913 refactored arrow 2014-01-19 18:38:55 +04:00
Anatoly Baksheev 1449823bcd implemented showImage 2014-01-19 18:38:55 +04:00
Anatoly Baksheev d90a068e0e fixed bug with setImage 2014-01-19 18:38:54 +04:00
Anatoly Baksheev cad9a786c4 optimized Mat to vtkImageData conversion 2014-01-19 18:38:54 +04:00
Anatoly Baksheev e21f2a81ff factored camera postions with image 2014-01-19 18:38:54 +04:00
Anatoly Baksheev a23f1447a8 minor 2014-01-19 18:38:53 +04:00
Anatoly Baksheev f930f2f19d simplification of cloud collection 2014-01-19 18:38:53 +04:00
Anatoly Baksheev e3ff28dacc refactored WImage3D 2014-01-19 18:38:53 +04:00
Anatoly Baksheev f37c31742a created tests for images, created vtk/vtkImageMatSource, and switched all images to that class 2014-01-19 18:38:53 +04:00
Anatoly Baksheev 462d516743 added test for camera positions, slightly refactored the widgets 2014-01-19 18:38:52 +04:00
Anatoly Baksheev 8309d19f31 renamed Mesh3d -> Mesh 2014-01-19 18:38:52 +04:00
Anatoly Baksheev d591bd875b fixed crash in enabling shading for polydata widgets 2014-01-19 18:38:52 +04:00
Anatoly Baksheev e478d6b1e9 renamed cv::viz::get() to getWindowByName() 2014-01-19 18:38:52 +04:00
Anatoly Baksheev 25b417e8b2 added test for trajectories and fixed bug with float type 2014-01-19 18:38:51 +04:00
Anatoly Baksheev 64566e6178 minor 2014-01-19 18:38:51 +04:00
Anatoly Baksheev 0d702b83f4 updated code to use mapper->SetInput instead of SetInputConnection. All widgets except plane, images ans texts 2014-01-19 18:38:51 +04:00
Anatoly Baksheev a3b1f29d23 refactored spheres trajectory 2014-01-19 18:38:51 +04:00
Anatoly Baksheev 38c9fa4a92 more refactoring 2014-01-19 18:38:50 +04:00
Anatoly Baksheev 4833976a0c refactored frustum trajectory to use glyphs 2014-01-19 18:38:50 +04:00
Anatoly Baksheev 42dc90295d refactored camera position - simplified frustum creation 2014-01-19 18:38:50 +04:00
Anatoly Baksheev 45879fb9db more refactoring 2014-01-19 18:38:50 +04:00
Anatoly Baksheev a8556134ae refactored simple trajectory to use TensorGlyph 2014-01-19 18:38:49 +04:00
Anatoly Baksheev 771d9509a8 polyline now uses scalars for color data (for reuse by other widgets) 2014-01-19 18:38:49 +04:00
Anatoly Baksheev e94ee94be3 refactored WCoordinateSystem widget 2014-01-19 18:38:49 +04:00
Anatoly Baksheev 56819eaf19 switched completer API to doubles, updated docs 2014-01-19 18:38:48 +04:00
Anatoly Baksheev d264465422 more refactoring 2014-01-19 18:38:48 +04:00
Anatoly Baksheev 406444037d refactored polyline 2014-01-19 18:38:48 +04:00
Anatoly Baksheev b100299644 code beatification 2014-01-19 18:38:48 +04:00
Anatoly Baksheev e26b7e1e4f ported some trajectories functionality to InputArray style 2014-01-19 18:38:47 +04:00
Anatoly Baksheev 7b28f730f4 traits for Affine3 2014-01-19 18:38:47 +04:00
Anatoly Baksheev cd57c4e189 refactored CloudNormals and added test for it 2014-01-19 18:38:47 +04:00
Anatoly Baksheev b7cb3fe8e0 switched more to doubles 2014-01-19 18:38:47 +04:00
Anatoly Baksheev a76a34d28e added Affine3: 3x4 input Mat support 2014-01-19 18:38:46 +04:00
Anatoly Baksheev 3e071491c9 added Affine3 ctor from array 2014-01-19 18:38:46 +04:00
Anatoly Baksheev baee8c3aa5 refactored Mesh, added tests, added failing "twice spin()" test 2014-01-19 18:38:46 +04:00
Anatoly Baksheev 70a81db567 fixed bugs in cloud collection and added test 2014-01-19 18:38:46 +04:00
Anatoly Baksheev cb58061649 getViewerPose implementation simplified (and error seems to be fixed) 2014-01-19 18:38:45 +04:00
Anatoly Baksheev 186853a50f mass switch from Affine3f to Affine3d 2014-01-19 18:38:45 +04:00
Anatoly Baksheev b1c0bf1fee Affine::rotate(rvec) method 2014-01-19 18:38:45 +04:00
Anatoly Baksheev 1615527426 switched source to InputArrays 2014-01-19 18:38:45 +04:00
Anatoly Baksheev f610c295f2 more tests 2014-01-19 18:38:44 +04:00
Anatoly Baksheev e7791e1590 colors minor 2014-01-19 18:38:44 +04:00
Anatoly Baksheev c1b41caa7c added vtkCloudMatSink, reworked cloud IO functions, added normals support 2014-01-19 18:38:44 +04:00
Anatoly Baksheev 1c4cfd8eaf normals support for CloudMatSource 2014-01-19 18:38:43 +04:00
Anatoly Baksheev 7e952e2f10 removed incorrect and unnecessarily methods from Affine3f 2014-01-19 18:38:43 +04:00
Anatoly Baksheev bf30c33e6e getting data from opencv_extra 2014-01-19 18:38:43 +04:00
Anatoly Baksheev b131faa8f9 export scene to vrml and obj formats 2014-01-19 18:38:43 +04:00
Anatoly Baksheev b2cd526e6a removed extra code 2014-01-19 18:38:42 +04:00
Anatoly Baksheev 84d6fe397d reading/writing clouds functionality 2014-01-19 18:38:42 +04:00
Anatoly Baksheev 80ab6e889f refactoring 2014-01-19 18:38:42 +04:00
Anatoly Baksheev 7dbf6bc8df rewrote cloud widget in vtk filters style
Conflicts:
	modules/viz/src/clouds.cpp
2014-01-19 18:38:42 +04:00
Anatoly Baksheev 159de9cc47 fixed potential crash 2014-01-19 18:38:41 +04:00
Anatoly Baksheev 2705068290 refactored Keyboard and Mouse Events 2014-01-19 18:38:41 +04:00
Anatoly Baksheev cad2f98007 removed vizActor (since unnecessarily in new design concept with simplified widgets) 2014-01-19 18:38:41 +04:00
Anatoly Baksheev 45aeecb043 renaming 2014-01-19 18:38:41 +04:00
Anatoly Baksheev abc9465798 kinect camera CAD parameters 2014-01-19 18:38:40 +04:00
Anatoly Baksheev e990d5b999 reading/writing trajectories 2014-01-19 18:38:40 +04:00
Anatoly Baksheev e048df51ce for shapes switched vtkDataSetMapper to more efficient vtkPolyDataMapper 2014-01-19 18:38:40 +04:00
Anatoly Baksheev 4979f44cfa minor 2014-01-19 18:38:40 +04:00
Anatoly Baksheev 31d42ce18f refactored Trajectory: split into Trajectory and TrajectoryFrustums) 2014-01-19 18:38:39 +04:00
Anatoly Baksheev 54fa69cab2 renamed Spheres Trajectory, minor changes in Trajectory 2014-01-19 18:38:39 +04:00
Anatoly Baksheev c7ff13873d minor 2014-01-19 18:38:39 +04:00
Anatoly Baksheev f6e9b81188 reduced exported interface names (to make IntelliSense hints less littered) 2014-01-19 18:38:38 +04:00
Anatoly Baksheev 44c1d4dfdc allow fast switch between actors (except mesh, cloud, cloud collection) 2014-01-19 18:38:38 +04:00
Anatoly Baksheev 2d63f60d43 minor changes, opencv cross-branch code 2014-01-19 18:38:38 +04:00
Anatoly Baksheev 15fd3faa40 support gray color clouds 2014-01-19 18:38:38 +04:00
Anatoly Baksheev 2cbfb04144 viz: rich set of named colors 2014-01-19 18:38:37 +04:00
Anatoly Baksheev 5ea3ecdc3b horisontal mwhell support 2014-01-19 18:32:22 +04:00
Ilya Lavrenov 3db33979e1 added perf tests for stitching warpers 2014-01-19 12:01:01 +04:00
Ilya Lavrenov 5af2e6f1c9 removed useless CRC calculation 2014-01-19 11:57:50 +04:00
Andrey Pavlenko f60f8a7346 Merge pull request #2172 from Nerei:compilation_and_warnings 2014-01-19 11:44:37 +04:00
Drew Jetter 6bf599b1bc Fixed bug #3489: The code assumed that two global variables would be constructed in a particular order, but global variable initialization order is compiler-dependent. 2014-01-18 23:04:16 -07:00
Anatoly Baksheev 4e20e06ee7 warnings 2014-01-19 04:07:24 +04:00
Anatoly Baksheev 0fc4ac4f1f warnings and compilation with installed Windows 8.1 SDK 2014-01-19 04:07:17 +04:00
Ilya Lavrenov 6b8bee6e0b fixed kernel compilation warnings 2014-01-18 22:37:47 +04:00
Matthias Bady d270c9e8b6 Type conversions to fix warnings 2014-01-18 11:12:13 +01:00
Matthias Bady 67e2d7ec43 Merge branch 'master' of https://github.com/Itseez/opencv into brief_cl 2014-01-18 10:38:07 +01:00
Ilya Lavrenov 37789f015a deleted excess semicolons, commas 2014-01-18 01:31:33 +04:00
Roman Donchenko e965f3d3d4 Merge pull request #2157 from k0da:master 2014-01-17 19:00:19 +04:00
Roman Donchenko 0de799b3b0 Removed some duplicate assertions. 2014-01-17 18:25:28 +04:00
Roman Donchenko 088535fa56 Merge pull request #2159 from SpecLad:1xN 2014-01-17 18:23:53 +04:00
Roman Donchenko 79fcc06a4b Merge pull request #2146 from SpecLad:merge-2.4 2014-01-17 16:28:30 +04:00
vbystricky f1541b5287 Add perfomance test 2014-01-17 16:15:39 +04:00
vbystricky fc8b385ff6 Return false if ocl version not properly worked 2014-01-17 16:15:38 +04:00
vbystricky 3762036b08 Fix compiler warnings. Add additional test case for UseInitFlow 2014-01-17 16:15:38 +04:00
vbystricky 3b0fa68a97 Move OpticalFlowFarneback from ocl module to video module 2014-01-17 16:15:38 +04:00
Roman Donchenko 659c5345d9 Merge pull request #2122 from adishavit:feature-HandleMouseWheel 2014-01-17 14:58:28 +04:00
Roman Donchenko 58afe5dd17 Merge pull request #2140 from Daniil-Osokin:fix_saving_untrained_svm_model 2014-01-17 14:57:57 +04:00
Andrey Pavlenko 664c9b15cf Merge pull request #2152 from ilya-lavrenov:tapi_canny 2014-01-17 14:52:17 +04:00
Roman Donchenko a502ffbd2c Updated required CMake version in docs to match reality. 2014-01-17 14:50:40 +04:00
Roman Donchenko e9805e444f Fixed an overly-narrow assertion in cv::norm.
size() requires that the matrix is two-dimensional, and norm()
works on higher dimensions.
2014-01-17 14:49:42 +04:00
Roman Donchenko 5f8d8c0069 Added a test for matrix-to-vector copy and convert. 2014-01-17 14:18:31 +04:00
Roman Donchenko 4e4a7d0353 Removed an unnecessary workaround for matrix-to-vector copyTo. 2014-01-17 14:16:22 +04:00
Roman Donchenko ee97a5e757 Re-fix bug #3319 with less side effects. 2014-01-17 14:13:21 +04:00
Roman Donchenko f02204847a Revert "fixed bug #3319"
See 092f916 for explanation.

This reverts commit 4f9c081dc3.
2014-01-17 13:43:00 +04:00
Konstantin Matskevich e9e9e00d45 replaced sprintf with cv::format 2014-01-17 13:01:12 +04:00
Roman Donchenko 092f916db9 Revert 4f9c081
That commit introduces problems, as it breaks certain use cases of
OpenCV functions; for example, convertTo of an Nx1 matrix to an
std::vector.

Since vectors can't store separate width and height values, OpenCV
considers them to always be 1xN. So even though the vector is created with
.create(N, 1), the Mat passed to getContinousSize has dimensions 1xN,
and the size comparison fails, even though the operation itself is safe.

This is a use case we probably don't want to break, at the very least
for backwards compatibility. So I'm reverting the commit. This will also
unfix bug #3319; I'll submit a less intrusive solution as a PR to 2.4, which
will also revert 4f9c081 there.
2014-01-17 12:51:52 +04:00
Ilya Lavrenov 93a818684c ported cv::Canny to T-API 2014-01-17 11:13:28 +04:00
Andrey Pavlenko 8dbc96fed8 Merge pull request #2143 from Daniil-Osokin:fix_docs_cvt_color_alpha_channel 2014-01-17 10:43:40 +04:00
Dinar Valeev 711f07a34c Use __vector instead of vector as suggests Eigen
This fixes build on PowerPC where Eigen unsets vector, bool and pixel

Signed-off-by: Dinar Valeev <dvaleev@suse.com>
2014-01-16 21:53:49 +01:00
Ilya Lavrenov 63a5e39e2c added cv::reduce to T-API 2014-01-17 00:41:18 +04:00
Daniil Osokin 8ce691e679 Fixed cvtColor alpha channel docs 2014-01-16 18:36:06 +04:00
Adi Shavit 8fd0fd538d Doc fix. 2014-01-16 16:30:54 +02:00
Roman Donchenko 07e08f7a3d Merge pull request #2141 from ilya-lavrenov:perf_warp 2014-01-16 18:03:21 +04:00
Roman Donchenko 63c61b4b98 Revert "replaced sprintf with cv::format"
Fixing build breakage.

This reverts commit b83eff7ecf.
2014-01-16 17:58:26 +04:00
Roman Donchenko ddfd1854a7 Merge pull request #2151 from KonstantinMatskevich:testdata_path_calib3d 2014-01-16 16:44:24 +04:00
Konstantin Matskevich b83eff7ecf replaced sprintf with cv::format 2014-01-16 16:18:02 +04:00
Adi Shavit 46f06d82c9 Update docs. 2014-01-16 12:51:14 +02:00
Adi Shavit 8802d62cc5 Updated docs. 2014-01-16 11:25:57 +02:00
Adi Shavit 24333569aa Small fixes: typo, spacing and using ::ScreenToClient() instead of ::GetWindowRect() 2014-01-16 11:09:25 +02:00
Roman Donchenko b0af6a2b58 Merge pull request #2127 from apavlenko:perf_cascades 2014-01-16 12:37:02 +04:00
Ilya Lavrenov 82d3efc6c0 added perf test for cv::Canny 2014-01-15 20:06:24 +04:00
Konstantin Matskevich ab18c2d132 changed testdata path for calib3d 2014-01-15 15:08:09 +04:00
Andrey Pavlenko a164381cc6 Merge pull request #2150 from ilya-lavrenov:tapi_cvtcolor 2014-01-15 13:45:28 +04:00
Adi Shavit e45cf2173f [HighGUI] Updated mouse wheel delta to reside within the 'flags' variable. Updated C++ API. 2014-01-14 21:33:32 +02:00
Adi Shavit fecd5c994b Added support for mouse-wheel events on Windows.
To be used in the mouse callback like this:
    if (CV_EVENT_MOUSEWHEEL == CV_GET_MOUSEWHEEL_EVENT(event))
    {
       int delta= CV_GET_WHEEL_DELTA(event);
       // use delta...
    }
2014-01-14 21:20:05 +02:00
Adi Shavit 9dc0bfc755 Small fix for extracting mouse coordinates on Windows, in a way that will always work with multiple monitors.
This is the way recommended by Microsoft.
2014-01-14 21:20:04 +02:00
Andrey Pavlenko c7d90c8b32 adding old cascade 2014-01-14 23:15:50 +04:00
Andrey Pavlenko 9b7b360bf7 fixing compilation if WITH_OPENCL=OFF 2014-01-14 17:50:00 +04:00
Ilya Lavrenov 7ed692bf92 fixed cv::cvtColor 2014-01-14 16:16:35 +04:00
Roman Donchenko 2fde4d8a94 Merge pull request #2145 from andreasBihlmaier:2.4 2014-01-14 11:55:29 +04:00
Roman Donchenko fee2ed37fc Merge remote-tracking branch 'origin/2.4' into merge-2.4
Conflicts:
	modules/contrib/src/retina.cpp
	modules/core/include/opencv2/core/mat.hpp
	modules/core/src/algorithm.cpp
	modules/core/src/arithm.cpp
	modules/features2d/src/features2d_init.cpp
	modules/gpu/include/opencv2/gpu/gpu.hpp
	modules/gpu/perf/perf_imgproc.cpp
	modules/imgproc/src/generalized_hough.cpp
	modules/ocl/include/opencv2/ocl/ocl.hpp
	modules/video/src/tvl1flow.cpp
	modules/video/src/video_init.cpp
2014-01-14 11:53:59 +04:00
Andrey Pavlenko fdb1019b9e Merge pull request #2147 from ilya-lavrenov:tapi_sqrt 2014-01-14 11:34:03 +04:00
Matthias Bady 06fb073b8b Merge branch 'master' of https://github.com/Itseez/opencv into brief_cl 2014-01-13 18:14:56 +01:00
Ilya Lavrenov 09bff78d63 deleted extra arg in case of power=0.5 2014-01-13 19:59:10 +04:00
Roman Donchenko 2443e8090e Merge pull request #2133 from apavlenko:2.4-perf_haar 2014-01-13 19:28:09 +04:00
ahb 49dfa5a17f Fix the following error for ocl::getOpenCLPlatforms() on Ubuntu 12.04 with gcc 4.8
OpenCV Error: Unknown error code -6 (OpenCL function is not available: [clGetPlatformIDs]) in opencl_check_fn, file /home/ahb/software/opencv/modules/ocl/src/cl_runtime/cl_runtime.cpp, line 83

The issue results from modules/ocl/src/cl_runtime/cl_runtime.cpp checking for
"linux" instead of "__linux__" (cp.  http://sourceforge.net/p/predef/wiki/OperatingSystems/)

Adjust all other occurrences of "defined(linux)" as well.
2014-01-13 16:09:42 +01:00
Ilya Lavrenov 30b5234e9a added perf test for cv::sqrBoxFilter 2014-01-13 18:51:49 +04:00
Ilya Lavrenov 8702fceb4b fixed cv::integral perf test 2014-01-13 18:36:52 +04:00
Roman Donchenko c3bfe3f33e Merge pull request #2136 from SpecLad:python-ver 2014-01-13 18:17:00 +04:00
Andrey Pavlenko 4c99196399 adding finish() to flush CL queue, renaming the test to match 'master' branch 2014-01-13 18:12:30 +04:00
Ilya Lavrenov a7a7b80ff8 added perf test for cv::Moments 2014-01-13 17:50:14 +04:00
Andrey Pavlenko 520a692fda switching to CL_PERF_TEST_P, adding safeFinish() to flush CL queue 2014-01-13 16:58:36 +04:00
Roman Donchenko 9628abc786 Merge pull request #2137 from ilya-lavrenov:gitignore 2014-01-13 16:33:16 +04:00
Roman Donchenko 85c713b59e Merge pull request #2138 from alekcac:python_tutorial_fix 2014-01-13 16:32:42 +04:00
Roman Donchenko af9cd79e16 Merge pull request #2121 from ilya-lavrenov:tapi_perf 2014-01-13 16:30:33 +04:00
Roman Donchenko 87e0c26129 Merge pull request #2108 from pemmanuelviel:flannMemoryLeak 2014-01-13 16:26:02 +04:00
Ilya Lavrenov 6fb878a65f added perf tests for cv::medianBlur 2014-01-13 15:59:24 +04:00
Max Khardin d8e5f1611b Rewrite definition/declaration of variables to be more compact 2014-01-13 15:55:49 +04:00
Ilya Lavrenov 5e7fd8bd7e added perf tests for cv::morphologyEx 2014-01-13 15:43:09 +04:00
Ilya Lavrenov 5a2a0b326a added perf tests for cv::dilate 2014-01-13 15:30:35 +04:00
Ilya Lavrenov f61597dce8 added perf tests for filters 2014-01-13 15:26:50 +04:00
Ilya Lavrenov 04ae46e21c added perf tests to some imgproc functions 2014-01-13 15:01:52 +04:00
Ilya Lavrenov e76d51511e added perf test for cv::cvtColor, pyr operations 2014-01-13 14:40:42 +04:00
Ilya Lavrenov 4bd4c8d12a added perf tests for cv::blendLinear 2014-01-13 14:06:15 +04:00
Daniil Osokin 5d2edced26 Added throwing exception when saving untrained SVM model 2014-01-13 13:50:30 +04:00
Ilya Lavrenov 6fbaff6d83 added perf tests for T-API warp operations 2014-01-13 13:10:26 +04:00
Andrey Pavlenko a7821c60e5 refactoring the test as it should be in 2.4 2014-01-13 11:20:17 +04:00
Andrey Pavlenko 6071671bda Merge pull request #2135 from alalek:ocl_runtime_cleanup_2 2014-01-11 17:15:22 +04:00
Andrey Pavlenko d64f05cd59 Merge pull request #2112 from ilya-lavrenov:tapi_stitching 2014-01-11 16:39:22 +04:00
Alexander Shishkov e90d0b6e4c changed code in python tutorial, these functions don’t return image 2014-01-11 16:35:41 +04:00
Ilya Lavrenov f197d8b91c updated .gitignore 2014-01-10 18:59:06 +04:00
Ilya Lavrenov da2790249e added NORM_L2SQR type to cv::norm 2014-01-10 18:45:52 +04:00
Ilya Lavrenov 2e5e278271 added cv::PSNR performance test 2014-01-10 18:45:40 +04:00
Ilya Lavrenov a01e81c8f7 added some performance tests 2014-01-10 18:45:40 +04:00
Ilya Lavrenov 1592234f1a added mask support to cv::norm, cv::meanStdDev 2014-01-10 18:45:40 +04:00
Roman Donchenko 9e3673ef53 Don't use PYTHON_VERSION_STRING when searching for Python libraries
It may be an arbitrary string, and, for example, in Ubuntu 13.10
it's set to "2.7.5+", which breaks the find script.
2014-01-10 18:40:47 +04:00
Ilya Lavrenov 7852b2f155 updated docs according to the last changes 2014-01-10 18:19:26 +04:00
Ilya Lavrenov 8f9ccc099b replaced Mat by Input/Output arrays 2014-01-10 18:16:56 +04:00
Ilya Lavrenov 118709fd9f added OpenCL accelerated warpers 2014-01-10 18:16:56 +04:00
Roman Donchenko 5a9900481a Merge pull request #2105 from ilya-lavrenov:norm 2014-01-10 18:12:08 +04:00
Roman Donchenko 890f1baff0 Merge pull request #2132 from ComFreek:patch-2 2014-01-10 11:44:46 +04:00
Alexander Alekhin f7b0940d44 core/ocl: runtime, remove unused declarations 2014-01-10 11:42:02 +04:00
Andrey Pavlenko 4d28e8243c 'master'-like Haar perf test 2014-01-10 00:14:48 +04:00
Andrey Pavlenko 2c0e24e948 adding Haar & LBP cascades perf test using UMat, removing old incomplete test 2014-01-10 00:08:15 +04:00
ComFreek ae795e5797 Corrected package name in tutorial
See also #2101
2014-01-09 17:24:20 +01:00
Ilya Lavrenov dd302158e0 fixed case with zero mask 2014-01-09 19:26:09 +04:00
Andrey Pavlenko a75cfe13e7 Merge pull request #2128 from alalek:ocl_cleanup_runtime 2014-01-09 17:08:48 +04:00
Roman Donchenko 560cfa5672 Merge pull request #2129 from ilya-lavrenov:mix_fix 2014-01-09 17:04:03 +04:00
Roman Donchenko a13e32f5ab Merge pull request #2115 from nghiaho12:kmeans_sample 2014-01-09 16:58:29 +04:00
Roman Donchenko d509165d96 Merge pull request #2118 from ilya-lavrenov:semicolons 2014-01-09 16:21:49 +04:00
Roman Donchenko dfeba1e8dd Merge pull request #2119 from d-schmidt:patch-1 2014-01-09 14:44:07 +04:00
Ilya Lavrenov 9899cf7519 fixed cv::mixChannels perf test 2014-01-09 14:26:44 +04:00
Nghia Ho bf4994554d Removed unecessary initialisation of Mat centers. 2014-01-09 21:04:17 +11:00
Roman Donchenko b45bb60c8b Merge pull request #2126 from yinghau76:master 2014-01-09 14:00:53 +04:00
Ilya Lavrenov 6ee0b6eb56 added mask support to cv::norm, cv::meanStdDev 2014-01-09 13:49:42 +04:00
Alexander Alekhin 70a0327004 core/ocl: cleanup unused files 2014-01-09 13:47:04 +04:00
Roman Donchenko 7acea48788 Merge pull request #2106 from robbertkl:patch-2 2014-01-09 13:25:59 +04:00
Roman Donchenko 58882e5c22 Merge pull request #2114 from kazuki-ma:SparseMat_convertTo_typofix_24 2014-01-09 13:24:20 +04:00
Roman Donchenko cab67cd9ac Merge tag '3.0-ocl-tech-preview' (-s ours) 2014-01-09 12:42:58 +04:00
Roman Donchenko 6d84671e8b Merge pull request #2116 from ilya-lavrenov:tapi_mixchannels_fix 2014-01-09 12:41:57 +04:00
Roman Donchenko ea3dd9d5e7 Merge pull request #2103 from ilya-lavrenov:typo 2014-01-09 12:38:55 +04:00
Roman Donchenko 4e35ebb52f Merge pull request #2102 from Nerei:compilatin_for_windows 2014-01-09 12:35:30 +04:00
Patrick Tsai b24f7ee57c Fix compiler error with Android NDK r8e
Original error without the fix:

opencv/modules/objdetect/src/cascadedetect.cpp: In member function 'bool cv::CascadeClassifierImpl::ocl_detectSingleScale(const cv::_InputArray&, cv::Size, int, double, cv::Size)':
/opencv/modules/objdetect/src/cascadedetect.cpp:1215:
error: no matching function for call to 'cv::ocl::Kernel::args(cv::ocl::KernelArg, cv::ocl::KernelArg, cv::ocl::KernelArg, int, cv::ocl::KernelArg, cv::ocl::KernelArg, cv::ocl::KernelArg, cv::Size&, int&, float, cv::Rect&, cv::Size&, cv::CascadeClassifierImpl::<anonymous enum>)'
2014-01-09 14:49:20 +08:00
David Schmidt ef61964768 Update py_face_detection.rst
bug in example
2014-01-07 00:11:33 +01:00
Ilya Lavrenov 6b9ebcbf3d deleted extra semicolons 2014-01-07 02:52:30 +04:00
Ilya Lavrenov 0119e8553c fixed cv::mixChannels OpenCL version 2014-01-06 14:41:57 +04:00
Nghia Ho 601b7d1dd3 Fixed a valgrind 'Conditional jump or move depends on uninitialised value(s)' on cv::kmeans(...). The original code used points(sampleCount, 1, CV_32FC2), which confused generateCentersPP into thinking it is a 1 dimensional center, instead of 2. As a result it would set only the x variable and leave y unitialised. 2014-01-06 20:19:07 +11:00
Matthias Bady e17da9a843 merge with upstream 2014-01-05 19:00:25 +01:00
Kazuki Matsuda 2ae20c74a2 Fix typo of SparseMat_<_Tp>::SparseMat_(const SparseMat& m)
Fix compilation erros when compiling this constructor.
First argument type of "convertTo" should be instance, not a pointer of instance.

First pull request was created for master branch.
But it should be marged for 2.4.
https://github.com/Itseez/opencv/pull/2113
2014-01-06 02:24:14 +09:00
Max Khardin 699eda46b6 Remove three sneaky tabs 2014-01-04 20:09:30 +08:00
Ilya Lavrenov 3a4d4080f4 fixed overflow for cv::norm NORM_L2 2014-01-04 15:20:50 +04:00
Max Khardin 34b05794d6 Fix source code indents 2014-01-04 19:01:32 +08:00
Max Khardin 214e9d4b12 Add performance tests for elementwise multiplication 2014-01-04 18:56:32 +08:00
Pierre-Emmanuel Viel 3f458c6eb1 Fix: freeing previous elements has to be done before loading new parameters to avoid trying to delete unexisting objects if arrays size was modified 2014-01-03 13:16:36 +01:00
Nghia Ho d3e24f3cbf Improved documentation for neural network 2014-01-03 14:18:07 +11:00
Robbert Klarenbeek e21c6e19db Fix algorithm setter argument validation for uchar 2014-01-02 21:17:55 +01:00
Ilya Lavrenov 0c49360318 fixed typo 2014-01-01 19:41:14 +04:00
Anatoly Baksheev c2dd7fd762 compilation for windows 2014-01-01 15:39:21 +04:00
Roman Donchenko 5327482b46 Merge pull request #2084 from ilya-lavrenov:cont 2013-12-31 16:51:30 +04:00
Vadim Pisarevsky 1c3bfae212 Merge pull request #1957 from Nerei:format_declaration_by_default 2013-12-31 15:55:00 +04:00
Roman Donchenko 984c4d200f Set the version status to "-tp", for "technical preview". 2013-12-31 15:37:47 +04:00
Ilya Lavrenov 4f9c081dc3 fixed bug #3319 2013-12-31 13:56:59 +04:00
Roman Donchenko cd576c7364 Merge pull request #2096 from kamjagin:master 2013-12-31 11:53:25 +04:00
Roman Donchenko 157202fc8d Merge pull request #2094 from SpecLad:multimon-be-gone 2013-12-31 11:40:44 +04:00
Andrey Pavlenko 2d5723ccca Merge pull request #2095 from ilya-lavrenov:tapi_mixchannels_fix 2013-12-31 00:35:39 +04:00
Andrey Pavlenko 967703c3ac Merge pull request #2093 from SpecLad:merge-2.4 2013-12-31 00:26:22 +04:00
Andrey Pavlenko 8a456c5a6b Merge pull request #2073 from KonstantinMatskevich:ocl_tapi_clahe 2013-12-31 00:17:33 +04:00
Miroslav Kobetski 3f07655231 Fix for bug #3469 CV_XADD failing in clang+nvcc combination 2013-12-30 17:00:17 +01:00
Andrey Pavlenko 8151571dd6 Merge pull request #2091 from ilya-lavrenov:tapi_convertScaleAbs 2013-12-30 19:54:27 +04:00
Ilya Lavrenov 3e1bec5248 added OpenCL version of cv::patchNaNs 2013-12-30 19:53:03 +04:00
Ilya Lavrenov a2e683d133 fixed umat access 2013-12-30 19:37:20 +04:00
Roman Donchenko 4ce684e61c Merge pull request #2087 from ilya-lavrenov:remap_sse2_cond 2013-12-30 18:18:42 +04:00
Roman Donchenko 795c108f2b Fixed MinGW build by declaring the minimal required Windows version.
Also deleted miscellaneous remaining multimon cruft.
Deleted #include <winuser.h>, because <windows.h> includes it
already.

This should have a nice side effect of preventing us from
accidentally using any Windows API that's too new.
2013-12-30 18:13:42 +04:00
Roman Donchenko 6811d2ab24 Merge pull request #2086 from ilya-lavrenov:mul_fix 2013-12-30 17:57:43 +04:00
Roman Donchenko 5f9c117d78 Merge pull request #2085 from severin-lemaignan:emscripten 2013-12-30 17:57:00 +04:00
Roman Donchenko 6d4c80083e Merge pull request #2089 from ilya-lavrenov:tapi_examples 2013-12-30 17:42:50 +04:00
Roman Donchenko cdc10defa3 Merge commit '05b9c991dd' into merge-2.4
Conflicts:
	modules/cuda/test/test_objdetect.cpp
	modules/gpu/perf/perf_core.cpp
	modules/gpu/perf/perf_video.cpp
	modules/gpu/test/test_core.cpp
2013-12-30 17:30:59 +04:00
Ilya Lavrenov 5db1754d49 SSE2 optimization of cv::remap doesn't work with big images 2013-12-30 17:13:40 +04:00
Séverin Lemaignan 9e13e3a5a4 [emscripten] Do not link to system libraries
This is not meaningful when compiling to javascript, and causes warning
at linking stage.
2013-12-30 14:04:36 +01:00
Roman Donchenko e33759b358 Merge commit '46be47cb4b8' into merge-2.4 (-s ours) 2013-12-30 16:52:16 +04:00
Roman Donchenko 1312eca220 Merge commit '0566ab4d3d' into merge-2.4
Conflicts:
	modules/core/src/system.cpp
2013-12-30 16:51:46 +04:00
Roman Donchenko 82e2e6dbc3 Merge commit '719149877e' into merge-2.4 (-s ours) 2013-12-30 16:50:09 +04:00
Roman Donchenko 7f795e964f Merge commit 'ee36717d' into merge-2.4 2013-12-30 16:49:39 +04:00
Roman Donchenko 9dfb96389c Merge commit '4b885e206' into merge-2.4 2013-12-30 16:48:45 +04:00
Roman Donchenko d611509842 Merge commit '709e8e8e0' into merge-2.4 2013-12-30 16:48:30 +04:00
Ilya Lavrenov 09d25e11c6 fixed bug #3341 2013-12-30 16:47:54 +04:00
Roman Donchenko 09e154d214 Merge commit '60906d917' into merge-2.4
Conflicts:
	modules/ts/src/cuda_perf.cpp
2013-12-30 16:47:05 +04:00
Roman Donchenko 2cdbf6c0b6 Merge commit '8fe79738c' into merge-2.4 2013-12-30 16:41:10 +04:00
Roman Donchenko 39fb8e03d7 Merge commit 'b94963d38' into merge-2.4
Conflicts:
	cmake/OpenCVGenAndroidMK.cmake
2013-12-30 16:39:51 +04:00
Roman Donchenko ce7a2f7edc Merge commit '24be7b26c' into merge-2.4 (-s ours) 2013-12-30 16:38:52 +04:00
Roman Donchenko 0e552ea6e2 Merge commit '1acc1085d' into merge-2.4 2013-12-30 16:37:39 +04:00
Roman Donchenko 2de4ad0598 Merge commit 'edce617a5' into merge-2.4 (-s ours) 2013-12-30 16:37:26 +04:00
Roman Donchenko 9b7e77ccda Merge commit '83cdd43a' into merge-2.4
Conflicts:
	modules/core/include/opencv2/core/version.hpp
2013-12-30 16:36:35 +04:00
Roman Donchenko 8c589438d1 Merge commit 'f22d9a23' into merge-2.4 (-s ours) 2013-12-30 16:34:59 +04:00
Roman Donchenko a0c98dcefa Merge pull request #2092 from alalek:fix_mingw_warn 2013-12-30 15:34:16 +04:00
Konstantin Matskevich 55634c1f52 fix 2013-12-30 13:06:32 +04:00
Alexander Alekhin 44970ddf56 eliminate MINGW pragma warning 2013-12-30 12:31:00 +04:00
Ilya Lavrenov c4c913ff13 converted CPU-based example to T-API (Mat 2 UMat, etc) 2013-12-30 03:19:17 +04:00
Ilya Lavrenov 6b64257c81 added OpenCL version of cv::scaleAdd 2013-12-29 18:46:25 +04:00
Ilya Lavrenov abcf8d9e61 implemented OpenCL version of cv::convertScaleAbs 2013-12-29 18:01:19 +04:00
Ilya Lavrenov 63e4af8536 added the first T-API example - CamShift tracking 2013-12-29 14:36:59 +04:00
Andrey Pavlenko 4a6c2ce378 Merge pull request #2081 from ilya-lavrenov:tapi_perf 2013-12-28 22:06:12 +04:00
Andrey Pavlenko dbaf125fcd Merge pull request #2075 from ilya-lavrenov:tapi_mixchannels 2013-12-28 22:05:49 +04:00
Andrey Pavlenko 0913dd7ffa Merge pull request #2055 from vbystricky:ocl_sepFilter2D 2013-12-27 22:38:08 +04:00
Ilya Lavrenov bb7e96311e disabled cv::split perf test 2013-12-27 21:57:20 +04:00
Roman Donchenko 05b9c991dd Merge pull request #2083 from jet47:gpu_android_tests 2013-12-27 21:09:18 +04:00
Roman Donchenko 46be47cb4b Merge pull request #2080 from asmorkalov:ocv_dynamic_cuda_deviceinfo_fix 2013-12-27 20:53:42 +04:00
Roman Donchenko 2d2312d742 Merge pull request #2077 from ilya-lavrenov:tapi_context 2013-12-27 20:23:57 +04:00
Ilya Lavrenov 31e6251793 added new perf tests to core 2013-12-27 20:02:12 +04:00
Roman Donchenko 4eb9b9d6cf Merge pull request #2082 from asmorkalov:dynamicuda_internal_fix 2013-12-27 19:58:57 +04:00
Vladislav Vinogradov 53494ba397 increase thresholds for some tests 2013-12-27 18:20:14 +04:00
Vladislav Vinogradov 15678efe84 disable 2 problematic tests 2013-12-27 18:20:01 +04:00
Vladislav Vinogradov 8399568edf disabled GEMM test if library was built without CUBLAS 2013-12-27 18:19:29 +04:00
Roman Donchenko 0566ab4d3d Merge pull request #2078 from ilya-lavrenov:warn 2013-12-27 18:17:21 +04:00
Alexander Smorkalov df63060e4d Bugfix for DeviceInfoFuncTable in dynamicuda amd core modules. 2013-12-27 18:04:10 +04:00
Alexander Smorkalov 4175916b2a dynamicuda became private module. 2013-12-27 17:19:38 +04:00
vbystricky 26d53c7435 Change threshold from 2.0 to 1.0 in the test 2013-12-27 16:26:34 +04:00
vbystricky b719ed79c2 Change sprintf to cv::format, and EXPECT_MAT_NEAR to OCL_EXPECT_MATS_NEAR 2013-12-27 16:21:32 +04:00
Andrey Pavlenko 80816f68f3 Merge pull request #2034 from pentschev:ocl_features2d_orb_master 2013-12-27 15:49:28 +04:00
Andrey Pavlenko 5c25d821b1 Merge pull request #2063 from vpisarev:ocl_moments 2013-12-27 15:44:12 +04:00
Andrey Pavlenko 01cd957495 Merge pull request #2076 from ilya-lavrenov:tapi_dft 2013-12-27 15:38:51 +04:00
Andrey Pavlenko d649f47eeb Merge pull request #2072 from pengx17:patch-3 2013-12-27 15:36:24 +04:00
Ilya Lavrenov d014cb8fb4 fixed warning [-Wempty-body] 2013-12-27 14:44:58 +04:00
Ilya Lavrenov f221f57c7c this commit prevents segfaults in case of opencl disabled 2013-12-27 14:02:03 +04:00
Ilya Lavrenov 73c96cbd50 some fixes of cv::mixChannels 2013-12-27 13:59:55 +04:00
Ilya Lavrenov 2eab07f0a4 disabled cv::dft opencl impl for CPU devices 2013-12-27 13:39:29 +04:00
Ilya Lavrenov 52b8bb6761 fixed getUMatIndex 2013-12-27 13:18:31 +04:00
Ilya Lavrenov a7d2830d3f added cv::mixChannels to T-API 2013-12-27 13:14:37 +04:00
Roman Donchenko c45492371a Merge pull request #2036 from GregoryMorse:patch-1 2013-12-27 12:44:02 +04:00
Roman Donchenko 719149877e Merge pull request #2074 from asmorkalov:android_nonfree_cuda 2013-12-27 12:43:49 +04:00
Roman Donchenko ee36717db4 Merge pull request #2037 from GregoryMorse:patch-2 2013-12-27 12:11:52 +04:00
Alexander Smorkalov c48777a1c3 CUDA dependency in nonfree nodule removed. OpenCV.mk generation fixed. 2013-12-27 11:18:10 +04:00
Konstantin Matskevich a70a8e8680 CLAHE 2013-12-27 10:12:22 +04:00
Peng Xiao 0ccc903647 fixed a buffer overrun of ocl canny
the `map` buffer does not have the same size with CUDA and index starts at [1, 1] instead of [0, 0].
2013-12-27 11:54:08 +08:00
Peter Andreas Entschev 07c5e33023 OCL: included ORB featured detector/descriptor extractor. 2013-12-26 22:36:24 -02:00
Vadim Pisarevsky 48c7378c8f improved performance of moments (on 720p or larger images) 2013-12-26 23:29:04 +04:00
Andrey Pavlenko 41fd711ab0 Merge pull request #2069 from asmorkalov:android_ocl_1_1_fix 2013-12-26 23:07:25 +04:00
Andrey Pavlenko 4b885e2067 Merge pull request #2068 from akarsakov:disable_ipp 2013-12-26 22:41:52 +04:00
Vadim Pisarevsky e97dd57dc7 hopefully fixed test failures and complains from the doc builder 2013-12-26 22:00:29 +04:00
Alexander Smorkalov 4f6f6e8cac static function qualifier replaced on inline to enable kernel compilation with OpenCL 1.1 embedded profile. 2013-12-26 21:20:32 +04:00
Andrey Pavlenko 4644a864a5 Merge pull request #2065 from ilya-lavrenov:tapi_calcBackProject 2013-12-26 20:37:34 +04:00
Alexander Karsakov 6ef0253fb7 Disabled some IPP implementation since it breaks tests 2013-12-26 19:53:53 +04:00
Andrey Pavlenko f7b5e6544f Merge pull request #2061 from apavlenko:2.4_fix_build_vs12 2013-12-26 19:38:57 +04:00
Andrey Pavlenko fd6a74496b Merge pull request #2066 from ilya-lavrenov:tapi_ocl 2013-12-26 19:38:01 +04:00
Andrey Pavlenko a981295524 Merge pull request #2028 from KonstantinMatskevich:ocl_tapi_morphology 2013-12-26 19:20:12 +04:00
Ilya Lavrenov b23edc34e9 added cv::calcBackProject for 2-dimensional histograms 2013-12-26 19:17:32 +04:00
Roman Donchenko 648facccd6 Merge pull request #2064 from dpen2000:patch-2 2013-12-26 17:47:09 +04:00
Andrey Pavlenko c8a52daafd Merge pull request #2054 from alalek:ocl_tapi_dev_selection 2013-12-26 17:27:06 +04:00
Konstantin Matskevich ca9810e8aa hope last fix 2013-12-26 17:16:55 +04:00
Ilya Lavrenov 5b3520fa46 fixed warning [ -Wreorder ] 2013-12-26 17:14:20 +04:00
Ilya Lavrenov fc1f9ab236 removed unnecessary data copying 2013-12-26 17:13:26 +04:00
Roman Donchenko 709e8e8e07 Merge pull request #2057 from asmorkalov:android_cuda_sample 2013-12-26 16:59:56 +04:00
Andrey Pavlenko 734bf8babd removing legacy stuff 2013-12-26 15:49:12 +04:00
GregoryMorse 4880858119 Update CMakeLists.txt
WinRT native C++ support allowing building of static libraries

Update CMakeLists.txt

Update OpenCVCRTLinkage.cmake

Update OpenCVCRTLinkage.cmake
2013-12-26 19:45:21 +08:00
Ilya Lavrenov d64bea00b2 ported cv::calcBackProject to T-API 2013-12-26 14:58:50 +04:00
Alexander Smorkalov cea9a97434 CUDA support check added. 2013-12-26 14:52:41 +04:00
Alexander Smorkalov b3eee49451 New sample for CUDA on Android added. 2013-12-26 14:52:41 +04:00
Roman Donchenko 60906d9175 Merge pull request #2060 from asmorkalov:ocv_ts_cuda 2013-12-26 14:39:51 +04:00
dpen2000 d6a88397b4 Fix python sample path 2013-12-26 10:36:24 +00:00
Roman Donchenko 8fe79738ce Merge pull request #2056 from asmorkalov:java_core_cuda_wrappers 2013-12-26 14:21:21 +04:00
Roman Donchenko 86aabf704f Merge pull request #2050 from asmorkalov:android_mk_fix2 2013-12-26 14:16:29 +04:00
Andrey Pavlenko f9aa148ba9 eliminating VS2013 build warnings 2013-12-26 13:35:59 +04:00
Vadim Pisarevsky a760c454dd tuned the speed for OpenCL-based moments (still slower than the single-thread SSE2 CPU code :( ) 2013-12-26 13:25:00 +04:00
Alexander Smorkalov 358e59e91b Fake dependency from CUDA in case of satic linkage with OpenCV removed. 2013-12-26 13:07:53 +04:00
Roman Donchenko b94963d381 Merge pull request #2052 from SpecLad:seporate 2013-12-26 12:22:46 +04:00
Alexander Smorkalov e79c875fe2 Java wrappers for functions from cv::gpu namespace in core module added. 2013-12-26 12:13:23 +04:00
Roman Donchenko 24be7b26cd Merge pull request #2049 from asmorkalov:android_cuda_warning_fix 2013-12-26 12:07:01 +04:00
Alexander Smorkalov 0206f419c1 ts dependency from CUDA runtime removed. All implicit CUDA calls replaced by calls from core module. 2013-12-26 11:36:00 +04:00
Konstantin Matskevich 52df2b346b not synchronous kernel's run 2013-12-26 10:45:09 +04:00
Alexander Smorkalov 1e038e2837 CUDA warning fix/supporession for Android. 2013-12-26 10:17:38 +04:00
Alexander Smorkalov 4aa9f83100 Dynamic CUDA support library name fixed. Additional error messages added. 2013-12-26 10:16:29 +04:00
Konstantin Matskevich 7a186c72e1 some fixes 2013-12-26 09:55:18 +04:00
Konstantin Matskevich f55c85fed3 morphology 2013-12-26 09:55:17 +04:00
Alexander Alekhin 217b2282b8 fixes 2013-12-26 03:06:58 +04:00
Vadim Pisarevsky 83f749afd2 moments work now and work more or less fast 2013-12-26 02:57:08 +04:00
Andrey Pavlenko 65b020f0d3 Merge pull request #2046 from ilya-lavrenov:tapi_inrange 2013-12-26 00:14:23 +04:00
Andrey Pavlenko 6e8386f705 Merge pull request #1984 from ilya-lavrenov:tapi_perf 2013-12-26 00:13:28 +04:00
Andrey Pavlenko 1aaeea9941 Merge pull request #2053 from KonstantinMatskevich:ocl_bugfix_eqhist 2013-12-26 00:05:13 +04:00
Vadim Pisarevsky 6035925f41 experimental moments implementation (does not work yet) 2013-12-25 21:09:23 +04:00
Roman Donchenko 1acc1085d2 Merge pull request #2017 from pemmanuelviel:flannMemoryLeak 2013-12-25 19:36:49 +04:00
Andrey Pavlenko 512ddcc804 Merge pull request #2043 from ilya-lavrenov:tapi_hack 2013-12-25 19:00:26 +04:00
Andrey Pavlenko 9ec4c20280 Merge pull request #2042 from vpisarev:ocl_facedetect8 2013-12-25 19:00:06 +04:00
Ilya Lavrenov 4c23059209 added cv::inRange to T-API 2013-12-25 18:22:41 +04:00
Ilya Lavrenov d7c22343aa added perf tests for T-API core functions 2013-12-25 18:19:40 +04:00
vbystricky 9e05d18d42 Fix compilation warnings 2013-12-25 18:05:07 +04:00
vbystricky 35dc26e0b9 Add ocl implementation of the sepFilter2D into img_proc module. 2013-12-25 16:48:32 +04:00
Roman Donchenko faddd5b97f Merge pull request #2045 from SpecLad:merge-2.4 2013-12-25 16:18:00 +04:00
Alexander Alekhin e49065b1dc core/ocl: temporary move device selection from ocl module 2013-12-25 16:17:40 +04:00
Konstantin Matskevich 9d04a7aba9 bugfix in equalizeHist 2013-12-25 15:16:26 +04:00
Roman Donchenko 83fe2f3b16 Fixed the seporate/seporator typo everywhere. 2013-12-25 14:04:44 +04:00
Roman Donchenko 1e27b07e29 Merge pull request #2051 from AlexWillisson:patch-2 2013-12-25 13:14:14 +04:00
Alex Willisson 4293a54447 Fixed typo in comment 2013-12-24 19:53:50 -05:00
Matthias Bady 928924d248 Merge branch 'master' of https://github.com/Itseez/opencv into brief_cl 2013-12-23 19:47:06 +01:00
Ilya Lavrenov a70467d7a2 removed unnecessary assert 2013-12-23 21:51:25 +04:00
Vadim Pisarevsky bc730292bb workaround for some strange bug on old Mac. 2013-12-23 21:29:31 +04:00
Andrey Pavlenko 0966e5ffa1 Merge pull request #2033 from ilya-lavrenov:tapi_normalize 2013-12-23 19:19:00 +04:00
Ilya Lavrenov e3d23918fa added cv::normalize to T-API; implemented missed UMat::copyTo with mask 2013-12-23 19:17:35 +04:00
Andrey Pavlenko 6a2fb8e5d1 Merge pull request #2041 from ilya-lavrenov:tapi_mul_div 2013-12-23 19:09:59 +04:00
Roman Donchenko 3c4b24d531 Merge remote-tracking branch 'origin/2.4' into merge-2.4
Conflicts:
	CMakeLists.txt
	modules/highgui/src/cap.cpp
	modules/nonfree/src/surf.ocl.cpp
	modules/ocl/include/opencv2/ocl/ocl.hpp
	modules/ocl/src/color.cpp
	modules/ocl/src/gftt.cpp
	modules/ocl/src/imgproc.cpp
	samples/ocl/facedetect.cpp
2013-12-23 18:50:17 +04:00
Vadim Pisarevsky 8998186ce4 removed extra whitespaces and hopefully fixed the test failures 2013-12-23 18:41:54 +04:00
Roman Donchenko edce617a58 Merge pull request #2040 from asmorkalov:android_mk_fix 2013-12-23 18:02:18 +04:00
Alexander Smorkalov 51d3138dff OCV option ENABLE_DYNAMIC_CUDA mistake fix. 2013-12-23 16:40:31 +04:00
Roman Donchenko 83cdd43a4c Merge pull request #2039 from asmorkalov:ocv_version_inc3 2013-12-23 15:53:11 +04:00
Vadim Pisarevsky d084d19779 added OpenCL optimization for LBP-based face detector 2013-12-23 15:28:50 +04:00
Andrey Pavlenko 06e981f1ce Merge pull request #2035 from ilya-lavrenov:tapi_CamShift 2013-12-23 13:00:22 +04:00
Alexander Smorkalov 58e7d9f32f OpenCV.mk fixed for accurate CUDA support. 2013-12-23 12:58:12 +04:00
Roman Donchenko f22d9a232d Merge pull request #2022 from asmorkalov:ocv_dynamic_cuda 2013-12-23 12:45:49 +04:00
Alexander Smorkalov 4ec1930949 OpenCV version++; OpenCV Manager version++. 2013-12-23 12:35:06 +04:00
Alexander Smorkalov bc72f4d2a2 Code review fixes. 2013-12-23 11:34:46 +04:00
GregoryMorse 08d8faf9da Update system.cpp
Add native C++ support
2013-12-23 00:21:51 +08:00
Ilya Lavrenov febb200eee fixed cv::multuply, cv::divide 2013-12-22 15:49:36 +04:00
Ilya Lavrenov 6083efc111 refactored cv::CamShift and cv::meanShift 2013-12-21 14:40:59 +04:00
Andrey Pavlenko f9268d34dc Merge pull request #2023 from krodyush:pullreq/2.4-opt-131126-cvt 2013-12-21 12:44:06 +04:00
Andrey Pavlenko b29835a8f8 Merge pull request #2030 from LeszekSwirski:fix-imgproc-ipp 2013-12-20 21:39:10 +04:00
Andrey Pavlenko a49211a77e Merge pull request #2032 from ilya-lavrenov:tapi_mulSpectrums 2013-12-20 21:38:14 +04:00
Ilya Lavrenov c33a7cd7bf added cv::mulSpectrums to T-API 2013-12-20 18:41:20 +04:00
Vadim Pisarevsky 1540910542 started adding OpenCL acceleration of LBP-based object detectors 2013-12-20 18:39:35 +04:00
Andrey Pavlenko 14782194f4 Merge pull request #1995 from akarsakov:ocl_pyramids 2013-12-20 17:57:09 +04:00
Roman Donchenko b0ec7dafd8 Merge pull request #1950 from GregoryMorse:patch-2 2013-12-20 17:54:02 +04:00
Roman Donchenko 6e22be4100 Merge pull request #2003 from vbystricky:intelperc_camera_2.4 2013-12-20 17:06:27 +04:00
Roman Donchenko ce07840e9f Merge pull request #1966 from asmorkalov:ocv_neon_support 2013-12-20 17:04:17 +04:00
Andrey Pavlenko 6b7d890f34 Merge pull request #2014 from krodyush:pullreq/2.4-opt-131211-surf 2013-12-20 16:50:00 +04:00
Leszek Swirski 9c22d4887c imgproc: IPP compilation fix and minor cleanup 2013-12-20 12:40:40 +00:00
Alexander Smorkalov 9941c6710d NEON instruction set control unified for regular and cross-compiler builds. 2013-12-20 16:02:37 +04:00
Matthias Bady a032d947b4 Fixed doc 2013-12-20 11:45:07 +01:00
Matthias Bady 9b0a9f2a24 moved documentation of BriefDescriptorExtractor to correct place 2013-12-20 10:57:48 +01:00
Matthias Bady 6e4715309b added documentation 2013-12-20 10:53:21 +01:00
krodyush e8dd31aacd change code according reviewer suggesions 2013-12-20 13:51:51 +04:00
Vladimir Bystricky d6a7e8f84f Remove TBB ifdef form code 2013-12-20 12:33:39 +04:00
Roman Donchenko b4bd5bab6d Merge pull request #2021 from vpisarev:ocl_facedetect7 2013-12-20 12:30:49 +04:00
Roman Donchenko b633c73c46 Merge pull request #1994 from StevenPuttemans:bugfix_3431 2013-12-20 11:57:30 +04:00
Alexander Smorkalov 529bd41751 Build fixes for case where HAVE_CUDA==OFF. 2013-12-20 11:37:15 +04:00
Matthias Bady 74dfa668e2 added tests 2013-12-20 00:05:50 +01:00
krodyush 27c1bd2762 Improve ocl cvt_color performance for the following conversions: RGB<->BGR, RGB->Gray, RGB<->XYZ, RGB<->YCrCb, RGB<->YUV, and mRGBA<->RGBA.
The improvement was done basically by processing more than 1 pixel by each work-item and using vector's operations.
new performance tests were added
2013-12-19 22:56:46 +04:00
Andrey Pavlenko cdffa05c27 Merge pull request #2019 from ilya-lavrenov:tapi_repeat 2013-12-19 19:28:58 +04:00
Alexander Smorkalov 069f3d8d9a Build fixes for GPU module. 2013-12-19 19:12:18 +04:00
Alexander Smorkalov 2509fa8080 Warious fixes for case where HAVE_CUDA==OFF. 2013-12-19 18:02:59 +04:00
Alexander Smorkalov 5a5c82bb1d Additional ENABLE_DYNAMIC_CUDA option implemented in cmake. Warning fixes and refactoring. 2013-12-19 17:41:04 +04:00
Alexander Karsakov febe528363 Added ocl::pyrUp to T-API 2013-12-19 17:21:50 +04:00
Andrey Pavlenko 26f5d2d639 Merge pull request #1765 from ilya-lavrenov:cv_remap 2013-12-19 17:08:52 +04:00
Vadim Pisarevsky 242a3d1f19 2 more fixes to calm down the doc builder 2013-12-19 16:57:02 +04:00
Andrey Pavlenko dde1d6b636 Merge pull request #2018 from ilya-lavrenov:tapi_dft 2013-12-19 16:47:19 +04:00
Andrey Pavlenko b674cd8571 Merge pull request #2007 from krodyush:pullreq/2.4-opt-131202-haar 2013-12-19 16:46:58 +04:00
Andrey Pavlenko 8c91a1af71 Merge pull request #2005 from krodyush:pullreq/2.4-opt-131114-extractCovData 2013-12-19 16:46:40 +04:00
Alexander Smorkalov 037ffcdf99 Dynamic CUDA support library reimplemented as OpenCV module. 2013-12-19 16:42:11 +04:00
Vadim Pisarevsky f41f633d2d fixed various warnings from the “doc” and other builders 2013-12-19 16:31:30 +04:00
Andrey Pavlenko 22a3cf0fba Merge pull request #2008 from krodyush:pullreq/2.4-opt-131209-hog 2013-12-19 16:14:42 +04:00
Vadim Pisarevsky a1784b7320 converted old haar cascades to the new format; added the conversion function; added OpenCL optimization into CascadeClassfier; optimized the data structures and CPU code for the stump case. 2013-12-19 14:48:42 +04:00
Vadim Pisarevsky ec3f22cee2 renamed OpenCL kernel filename; made some final changes 2013-12-19 14:29:28 +04:00
Ilya Lavrenov b3af0e3154 added cv::repeat to T-API 2013-12-19 14:28:09 +04:00
Vadim Pisarevsky b7553d4e2e some attempts to tune the performance 2013-12-19 14:09:44 +04:00
Alexander Karsakov ac230cd2ae Added ocl::pyrDown to T-API 2013-12-19 13:56:42 +04:00
Andrey Pavlenko 0cea828a10 Merge pull request #2006 from krodyush:pullreq/2.4-opt-131120-gfft 2013-12-19 13:48:40 +04:00
Ilya Lavrenov c8cbfe5382 added cv::dft T-API test 2013-12-19 13:42:16 +04:00
Andrey Pavlenko bc741ab25f Merge pull request #2009 from krodyush:pullreq/2.4-opt-131211-sepFilterSinglePass_final 2013-12-19 13:38:52 +04:00
Alexander Smorkalov 64c94cb22c CUDA related func tables refactored to remove unneeded dependencies. 2013-12-19 11:18:04 +04:00
Vladimir Bystricky d449ba104a Fix comment in the cmake file from SSDK to SDK 2013-12-19 10:29:19 +04:00
Alexander Smorkalov 6da7c50fb5 Make dependency from CUDA explicit to prevent from fake dependedcies from CUDA runtime. 2013-12-19 10:27:38 +04:00
Alexander Smorkalov 442082eb0f Fixes for Android support. 2013-12-19 09:38:46 +04:00
Matthias Bady 545f02679a Optimized version. Faster than CPU 2013-12-19 01:54:57 +01:00
Matthias Bady 69d034ecdf Naive impl. Slower than CPU 2013-12-19 00:15:53 +01:00
Pierre-Emmanuel Viel 92fc763925 Fix some memory leaks in HierarchicalClusteringIndex 2013-12-18 22:46:41 +01:00
Andrey Pavlenko 2431c72d1d Merge pull request #2000 from apavlenko:license_copyright 2013-12-18 19:35:04 +04:00
Andrey Pavlenko 96f8ff2ab8 adding LICENSE file and a sample of its reference in ocl.hpp 2013-12-18 19:33:25 +04:00
Andrey Pavlenko 459e7d4a80 Merge pull request #2015 from apavlenko:2.4_fix_ts_rng-fill 2013-12-18 19:13:22 +04:00
Roman Donchenko 400fea8626 Merge pull request #2011 from ilya-lavrenov:dft_dct 2013-12-18 17:36:18 +04:00
Andrey Pavlenko a9687a341e adding more than 4 channels random Mats support
if `Scalar:all` is used, Mats with 5+ channels cause errors
2013-12-18 17:27:39 +04:00
Andrey Pavlenko ae9d24d433 Merge pull request #2013 from apavlenko:2.4_fd_sample 2013-12-18 17:05:18 +04:00
Andrey Pavlenko 8c60498673 adding timing for multi-threaded case 2013-12-18 17:02:39 +04:00
krodyush 1ae71fe205 intel device guard was added because of perf degradation on some non intel platform. 2013-12-18 14:27:51 +04:00
Andrey Pavlenko 59cab94fc7 Merge pull request #1997 from alalek:tapi_fix_memleaks 2013-12-18 13:53:17 +04:00
Andrey Pavlenko 388d0ef182 Merge pull request #2004 from ilya-lavrenov:tapi_umat_copyto 2013-12-18 13:46:14 +04:00
Alexander Smorkalov be530bd085 DeviceInfo class method that were implemented in header moved to cpp file. 2013-12-18 12:02:15 +04:00
Vladimir Bystricky 80d0593dbd Delete end comma in enumerations 2013-12-18 11:46:52 +04:00
Vladimir Bystricky 66145ea06c Add CV_CAP_INTELPERC and CV_CAP_PROP_INTELPERC_ prefixes to const_ignore_list 2013-12-18 10:55:09 +04:00
Vladimir Bystricky dd71bef6f5 Fix errors in example (samples/cpp/intelperc_capture.cpp) 2013-12-18 09:59:24 +04:00
Andrey Pavlenko e719bee2b8 minor refactoring, no functional changes 2013-12-18 00:15:02 +04:00
Vadim Pisarevsky 02fb3f0a77 it finally works!!! 2013-12-17 20:55:49 +04:00
Vladimir Bystricky 63ae0eeba5 Fix build errors 2013-12-17 18:39:52 +04:00
krodyush 34c630faf4 update doc to be consisted with headers 2013-12-17 17:46:09 +04:00
Ilya Lavrenov 3a6d248bee typo 2013-12-17 17:41:28 +04:00
krodyush ea0c9b7f5c GFFT fix for linux build 2013-12-17 17:12:57 +04:00
Andrey Pavlenko bd91b39593 Merge pull request #1917 from alalek:ocl_d3d 2013-12-17 16:44:27 +04:00
Andrey Pavlenko 586a5cb6db Merge pull request #1969 from KonstantinMatskevich:ocl_tapi_minmaxloc 2013-12-17 16:42:44 +04:00
Andrey Pavlenko 6a0fb2c7da Merge pull request #1992 from ElenaGvozdeva:ocl_medianFilter 2013-12-17 16:42:16 +04:00
Andrey Pavlenko d3fa2bfe8c Merge pull request #1998 from ilya-lavrenov:tapi_gemm 2013-12-17 16:41:59 +04:00
Vladimir Bystricky cc08e00876 Fix notes about cmake files. Fix build warning. 2013-12-17 16:13:55 +04:00
Ilya Lavrenov ac030c16f1 fixed UMat::copyTo(UMat) 2013-12-17 15:23:39 +04:00
Vadim Pisarevsky ef509ace43 trying to debug the new cascade 2013-12-17 14:51:22 +04:00
Vadim Pisarevsky 9d3e7e027a almost finished opencl-ization of cascade classifier 2013-12-17 14:29:30 +04:00
krodyush fffac2f085 optimize SURF by
Inlining and customizing sampling functions to reduce memory traffic and compute
Improve calcOrientation implementation.
Using more efficient rounding routines.
Removing unnecessary use of local memory
2013-12-17 14:12:33 +04:00
Roman Donchenko 6d77cbee7e Merge pull request #1934 from vbystricky:ocl_boxFilter 2013-12-17 14:11:51 +04:00
krodyush dfe7c98090 optimize separable filter by
Added "sep_filter_singlepass" kernel that performs separable filtering in one kernel call
Added appropriate host part - sepFilter2D_SinglePass function and SingleStepSeparableFilterEngine_GPU class
Changed function declarations to enable their usage
2013-12-17 14:09:06 +04:00
krodyush f3ee1c3d2f Changes the datatype of the angle of the gradient for Intel platforms. 2013-12-17 14:06:14 +04:00
krodyush 917b883cf0 remove extra calculations from haar to be consistent with native implementation 2013-12-17 14:04:10 +04:00
krodyush a63576e76d HOST side optimization for GFFT 2013-12-17 14:02:57 +04:00
krodyush de431609db optimize Dx and Dy calcualtion to make it as single opencl kernel 2013-12-17 14:01:01 +04:00
Roman Donchenko e49b8dee40 Merge pull request #1881 from pentschev:defaultNorm_master 2013-12-17 13:53:59 +04:00
Roman Donchenko 52a785e95a Merge pull request #1996 from SpecLad:merge-2.4 2013-12-17 13:21:48 +04:00
Roman Donchenko 0cf7607338 Merge pull request #1993 from StevenPuttemans:feature_2862 2013-12-17 13:19:59 +04:00
Roman Donchenko 5d5527d03e Merge pull request #1987 from pentschev:cv_completesymm_template_2.4 2013-12-17 13:17:25 +04:00
Konstantin Matskevich 5cf4166801 some fixes 2013-12-17 12:43:21 +04:00
Konstantin Matskevich 904dac7670 minMaxLoc 2013-12-17 12:43:21 +04:00
Vladimir Bystricky 4088013251 Add set/get depth generator properties by default. Add documentation 2013-12-17 12:00:40 +04:00
Elena Gvozdeva d9d4678599 Fixed condition for channels 2013-12-17 11:15:48 +04:00
Elena Gvozdeva 125d67130b Fixed medianFilter 2013-12-17 11:04:54 +04:00
Alexander Smorkalov 88a883e68e Build fix. 2013-12-17 10:24:00 +04:00
Ilya Lavrenov 2f34bb9aa0 added cv::gemm to T-API 2013-12-16 19:12:27 +04:00
Roman Donchenko f2befa01f4 Fixed build for the TLS-related stuff. 2013-12-16 18:45:41 +04:00
Elena Gvozdeva 8fe4e98b8a Fixed trailing whitespace 2013-12-16 18:06:11 +04:00
Alexander Alekhin 9cb31e86ae umat: fix memory leaks 2013-12-16 16:46:36 +04:00
Roman Donchenko 9d8d70d6ca Merge remote-tracking branch 'origin/2.4' into merge-2.4
Conflicts:
	doc/tutorials/definitions/tocDefinitions.rst
	modules/core/include/opencv2/core/core.hpp
	modules/core/src/system.cpp
	modules/features2d/src/freak.cpp
	modules/ocl/include/opencv2/ocl/ocl.hpp
	modules/ocl/src/cl_context.cpp
	modules/ocl/test/test_api.cpp
2013-12-16 15:02:12 +04:00
Alexander Smorkalov 8660e048bc Dynamic CUDA support library loading implemented for Linux.
Logical mistake in macro fixed;
DeviceInfo deligate reimplemented;
Build and warning fixes.
2013-12-16 14:46:44 +04:00
Alexander Smorkalov d4087f19a2 All CUDA related stuff were moved to separate dynamic library. 2013-12-16 14:46:44 +04:00
StevenPuttemans 12c25b9310 Fixed suggestion of bugfix 3431
Seems correct to me and builds fine
2013-12-16 11:05:53 +01:00
StevenPuttemans e4b41d38f1 Fixed descripotorsCount to descriptorsCount
See feature 2862
2013-12-16 10:47:24 +01:00
Elena Gvozdeva b2d8b491c0 Added ocl_medianFilter using Transparent API 2013-12-16 13:20:05 +04:00
Andrey Pavlenko 11071dd241 Merge pull request #1988 from ilya-lavrenov:tapi_umat_convertTo 2013-12-16 13:04:21 +04:00
Roman Donchenko e88253ccad Merge pull request #1990 from AD-530:Issue3164 2013-12-16 12:11:43 +04:00
Peter Andreas Entschev f44de302a0 cv::completeSymm fixed to work with any OpenCV data type and multiple channels. 2013-12-15 20:56:55 -02:00
Matthias Bady b7c97f6e30 fixed init of clCxt 2013-12-15 22:41:07 +01:00
Ilya Lavrenov 558c4a2b1d implemented UMat::convertTo 2013-12-15 14:15:30 +04:00
Andrey Pavlenko 172a5d42a9 Merge pull request #1974 from ilya-lavrenov:tapi_equalizehist 2013-12-13 19:47:34 +04:00
Ilya Lavrenov 5c0dabf1ea added cv::equalizeHist to T-API 2013-12-13 19:46:20 +04:00
Andrey Pavlenko c9ed05c3bd Merge pull request #1981 from ilya-lavrenov:tapi_sqrt 2013-12-13 19:34:28 +04:00
Andrey Pavlenko 8e15a6f98d Merge pull request #1983 from ilya-lavrenov:tapi_umat 2013-12-13 19:29:49 +04:00
Alexander Alekhin 11b9d5bf4d core: added DirectX interop implementation (OpenCL) with samples 2013-12-13 19:02:41 +04:00
Ilya Lavrenov e30875bcef fixed UMat sync problems 2013-12-13 18:38:12 +04:00
Vladimir Bystricky e8d2a9752b Add support Creative Senz3D camera by Intel Perceptual Computing SDK 2013-12-13 17:25:16 +04:00
Andrey Pavlenko 10849d1c7a Merge pull request #1980 from alalek:ocl_interop_initialization 2013-12-13 16:09:09 +04:00
Alexander Alekhin cc69d4631a cmake: detect Direct 3D 11 2013-12-13 15:57:31 +04:00
Vadim Pisarevsky d8513d627d continue adding OpenCL optimization to cascade classifier 2013-12-12 21:58:42 +04:00
Alexander Alekhin 17ca7f9545 ocl: add support for initialization from user-provided OpenCL handles 2013-12-12 19:59:22 +04:00
Ilya Lavrenov 1d6715e58a added cv::sqrt to T-API (using built-in sqrt OpenCL function) 2013-12-12 18:12:30 +04:00
Andrey Pavlenko b43d6b6858 Merge pull request #1954 from pentschev:ocl_features2d_fast_master 2013-12-12 17:37:09 +04:00
Andrey Pavlenko 5299b13434 Merge pull request #1979 from pentschev:ocl_arithm_sqrt_master 2013-12-12 17:35:01 +04:00
Andrey Pavlenko b0a9220de8 Merge pull request #1889 from alalek:ocl_core_dynamic_runtime 2013-12-12 17:27:34 +04:00
Peter Andreas Entschev 5bc9f15dda OCL: included sqrt matrix operation. 2013-12-12 08:57:27 -02:00
Andrey Pavlenko ac1c6dac93 Merge pull request #1978 from ilya-lavrenov:ocl_min_max 2013-12-12 09:55:50 +04:00
Andrey Pavlenko 658282fcbe Merge pull request #1976 from alalek:ocl_multiple_command_queues 2013-12-12 09:55:33 +04:00
Peter Andreas Entschev 41bec1b112 OCL: including FAST feature detector. 2013-12-11 21:23:27 -02:00
Ilya Lavrenov b20714a8a8 fixed kernel compilation of cv::min, cv::max for CV_64F 2013-12-12 02:42:24 +04:00
Andrey Pavlenko f3e2bfea79 Merge pull request #1970 from ilya-lavrenov:tapi_checks 2013-12-11 21:37:10 +04:00
Andrey Pavlenko eeb16a5d01 Merge pull request #1971 from ilya-lavrenov:tapi_laplacian 2013-12-11 21:25:54 +04:00
Andrey Pavlenko ee270d1a18 Merge pull request #1975 from magomimmo:clj-tut 2013-12-11 21:25:31 +04:00
Alexander Alekhin 740b1f235e ocl: implemented per-thread OpenCL command queue 2013-12-11 19:12:09 +04:00
Alexander Alekhin a118577a57 core: added TLS support 2013-12-11 18:50:11 +04:00
Andrey Pavlenko 9b29b127c5 Merge pull request #1973 from ilya-lavrenov:ocl_haar_sample 2013-12-11 17:51:36 +04:00
Vladimir Bystricky 268d814d18 Fix problems with border extrapolation in kernel. Add Isolated/Nonisolated borders. 2013-12-11 16:57:47 +04:00
Roman Donchenko ce503c64bf Merge pull request #1968 from pentschev:fix_indentation_freak_2.4 2013-12-11 16:55:26 +04:00
Alexander Alekhin 3bbf51fbfb ocl: disabled test for Split (there are problems with OutputArray and getMatRef) 2013-12-11 16:46:08 +04:00
Andrey Pavlenko 129b715e3d Merge pull request #1958 from vbystricky:ocl_filter2D 2013-12-11 16:41:12 +04:00
Mimmmo Cosenza 00a180185e remove Daniele 2013-12-11 13:35:20 +01:00
Mimmmo Cosenza 1c639befe6 add tutorial content 2013-12-11 13:30:52 +01:00
Mimmmo Cosenza b1899e5489 add clojure tutorial 2013-12-11 13:28:27 +01:00
Mimmmo Cosenza 6f292d8036 add clojure logo 2013-12-11 13:28:04 +01:00
Mimmmo Cosenza f07e9e7c5f add clojure sample 2013-12-11 13:26:47 +01:00
Mimmmo Cosenza 2784fd7b27 add Mimmo Cosenza to Authors 2013-12-11 13:25:53 +01:00
Alexander Alekhin 91fc0c3bc3 bioinspired: fix ocl test, skip them if OpenCL is not available 2013-12-11 15:56:54 +04:00
Alexander Alekhin d0114b24e0 core/ocl: replace dynamic runtime 2013-12-11 15:56:54 +04:00
Alexander Alekhin 9f388a2be7 core/ocl: autogenerated files for dynamic runtime 2013-12-11 15:56:54 +04:00
Alexander Alekhin 5ecf759742 core/ocl: update dynamic runtime 2013-12-11 15:56:54 +04:00
Alexander Alekhin 381d7851b7 core/ocl: move opencl dynamic runtime from ocl module 2013-12-11 15:56:54 +04:00
Ilya Lavrenov 1015c5c24d fixed facedetect sample 2013-12-11 15:08:49 +04:00
Vladimir Bystricky f76bf8b425 Fix error in test 2013-12-11 14:33:22 +04:00
Vladimir Bystricky e7227d3e4b Fix problems with border extrapolation in kernel. Add Isolated/Nonisolated borders. 2013-12-11 14:26:33 +04:00
Andrey Pavlenko b5cdc03b81 Merge pull request #1972 from alalek:ocl_queue_cleanup_hung 2013-12-11 14:06:49 +04:00
Alexander Alekhin bdbd3eb2bf ocl: process termination hung workaround 2013-12-11 00:31:34 +04:00
Ilya Lavrenov 8fa8b36b42 added cv::Laplacian, cv::Sobel, cv::Scharr, cv::GaussianBlur to T-API 2013-12-10 23:20:28 +04:00
Vadim Pisarevsky 302a5adcc2 converted Haar cascades to the new format; now they are handled with C++ code. 2013-12-10 22:54:37 +04:00
Ilya Lavrenov 5566d31468 more strict checks outside ROI 2013-12-10 19:30:14 +04:00
Andrey Pavlenko d802b4d143 Merge pull request #1967 from ilya-lavrenov:tapi_blendLinear 2013-12-10 18:49:42 +04:00
Peter Andreas Entschev c289c8a700 Fixing some indentation issues on FREAK source file. 2013-12-10 08:57:46 -02:00
Roman Donchenko 90c28d254f Merge pull request #1961 from SpecLad:merge-2.4 2013-12-10 14:39:35 +04:00
Ilya Lavrenov c9e6ed7a29 added cv::blendLinear 2013-12-10 13:07:52 +04:00
Roman Donchenko 464a010f53 Merge remote-tracking branch 'origin/2.4' into merge-2.4
Conflicts:
	modules/core/include/opencv2/core/operations.hpp
	modules/core/include/opencv2/core/version.hpp
	modules/core/src/gpumat.cpp
	modules/cudaimgproc/src/color.cpp
	modules/features2d/src/orb.cpp
	modules/imgproc/src/samplers.cpp
	modules/ocl/include/opencv2/ocl/matrix_operations.hpp
	modules/ocl/include/opencv2/ocl/ocl.hpp
	samples/ocl/facedetect.cpp
2013-12-10 12:51:00 +04:00
Roman Donchenko 5c72c74b09 Merge pull request #1960 from ilya-lavrenov:tapi_bilateral 2013-12-10 12:13:15 +04:00
Roman Donchenko 13c058ecf8 Merge pull request #1959 from botverse:2.4 2013-12-09 17:25:33 +04:00
Roman Donchenko 9d87f9c974 Merge pull request #1956 from ilya-lavrenov:tapi_split_merge 2013-12-09 16:56:06 +04:00
Roman Donchenko f3ba1a361e Merge pull request #1930 from alalek:cmake_msvs_subfolders 2013-12-09 16:21:16 +04:00
Ilya Lavrenov 93c6fe66ce added cv::bilateralFilter to T-API 2013-12-09 16:03:25 +04:00
Peter Andreas Entschev 6f3163f62d DescriptorExtractor: added defaultNorm() to return default norm type.
Added the defaultNorm() method to the DescriptorExtractor class. This method returns the default norm type for each descriptor type. The tests and C/C++ samples were updated to get the norm type directly from the DescriptorExtractor inherited classes.

This was reported in feature report #2182 (http://code.opencv.org/issues/2182). It will make it possible to get the norm type usually applied matching method for each descriptor, instead of passing it manually.
2013-12-09 09:54:42 -02:00
Alfonso (the fonz) de la Osa df0c43321d --no-display property fix in stereo_match.cpp sample 2013-12-09 10:55:44 +00:00
Roman Donchenko 24465bbd05 Merge pull request #1855 from Nerei:master 2013-12-09 14:13:40 +04:00
Roman Donchenko 8db53c1760 Merge pull request #1883 from philippefoubert:branch_matx_inv 2013-12-09 14:07:10 +04:00
Andrey Pavlenko 0dfa188ca5 Merge pull request #1948 from ilya-lavrenov:tapi_norm 2013-12-09 13:25:41 +04:00
Roman Donchenko 8f10ca5180 Merge pull request #1946 from asmorkalov:android_manager_version_inc3 2013-12-09 13:14:16 +04:00
Andrey Pavlenko 041ad1f4cd Merge pull request #1944 from ilya-lavrenov:minor_commits 2013-12-09 12:44:26 +04:00
Vladimir Bystricky 8d8f5665f1 Fix build errors on Linux system 2013-12-09 11:31:55 +04:00
Vladimir Bystricky 179a43ef63 Fix build errors on Linux system 2013-12-09 11:10:48 +04:00
Vladimir Bystricky 29ba7730ed Add ocl version of filter2D to the module img_proc 2013-12-09 10:45:23 +04:00
Anatoly Baksheev 262f70f3ab cv::format declaration in default headers 2013-12-08 19:00:53 +04:00
Ilya Lavrenov c16c9a2e8e added cv::split to T-API 2013-12-08 16:30:17 +04:00
Ilya Lavrenov b6c33bf86b added cv::norm to T-API 2013-12-08 15:27:48 +04:00
Ilya Lavrenov cd3f7fbf05 added cv::merge to T-API 2013-12-08 13:49:28 +04:00
Anatoly Baksheev 4c66b87698 fixed -Wshadow and other warnings, added rvec test 2013-12-07 20:33:50 +04:00
Anatoly Baksheev f62ffa2aea compilation 2013-12-07 18:58:29 +04:00
Anatoly Baksheev f9ca6cfd22 fixed ocv_module_disable() 2013-12-07 18:58:28 +04:00
Anatoly Baksheev a54ef70c04 minor insignificant corrections 2013-12-07 18:58:28 +04:00
Anatoly Baksheev 546c084fe6 fixed shadow error and added ocv_disable_module 2013-12-07 18:58:27 +04:00
Anatoly Baksheev 0e88733b13 updating Viz cmake (switched to WITH_VTK option) 2013-12-07 18:58:27 +04:00
Anatoly Baksheev 3830a0b5b2 fixed bug with deletion from std::map 2013-12-07 18:50:47 +04:00
Anatoly Baksheev a6ab9be5a6 removed VizAccessor from docs 2013-12-07 18:50:47 +04:00
Anatoly Baksheev fb62a66b69 removed unused code 2013-12-07 18:50:46 +04:00
Anatoly Baksheev b88fdc73d6 VizAccessor is now private and renamed to VizStorage 2013-12-07 18:50:46 +04:00
Anatoly Baksheev d970d58308 added Viz::tutorial2 test 2013-12-07 18:50:45 +04:00
Anatoly Baksheev ace71cef3f Added Affine3<T>::rvec() 2013-12-07 18:50:45 +04:00
Anatoly Baksheev 9f1f5aed53 compilation 2013-12-07 18:50:44 +04:00
Anatoly Baksheev a9c7aa92d9 removed CV_EXPORTS from cv::Afiine 2013-12-07 18:50:44 +04:00
Anatoly Baksheev 177f7eb339 fixed warning 2013-12-07 18:50:43 +04:00
Anatoly Baksheev 0895616576 switched from unnecessarily 'dobule' to 'float' in some places (commonly for widget scale) 2013-12-07 18:50:43 +04:00
Anatoly Baksheev b560cc35d9 removed Ptr typedef from Viz3d. It is deprecated since Viz3d itseez is a shared pointer 2013-12-07 18:50:42 +04:00
Alexander Alekhin 0eb2be762a cmake: allow source_group to preserve file-system tree (for MSVS) 2013-12-07 14:38:59 +04:00
GregoryMorse 68d8f6410f Update system.cpp
Cleaned up to use the preferred namespace code.  This can be further simplified by using the HString/HStringReference classes from wrl\wrappers\corewrappers.h
2013-12-07 15:40:30 +08:00
Vadim Pisarevsky fdf1996e2e added old=>new cascade conversion function 2013-12-07 01:51:35 +04:00
Ilya Lavrenov 73aa43d2ca fixed warnings 2013-12-07 01:05:07 +04:00
Alexander Smorkalov 9f04222a75 OpenCV Manager version++. 2013-12-06 18:53:03 +04:00
Roman Donchenko 060e58d080 Merge pull request #1945 from apavlenko:2.4_version_update 2013-12-06 17:56:59 +04:00
Roman Donchenko d368bf5210 Merge pull request #1941 from vhdirk:gst1x_default 2013-12-06 17:50:44 +04:00
Andrey Pavlenko b5936648ca Merge pull request #1943 from pentschev:ocl_oclMat_ptr_remove_2.4 2013-12-06 16:59:02 +04:00
Andrey Pavlenko a0c296fcdb Merge pull request #1936 from ElenaGvozdeva:ocl_flip 2013-12-06 16:40:30 +04:00
Andrey Pavlenko f2cf9dd8bf updating version to 2.4.7.2 2013-12-06 16:21:22 +04:00
Andrey Pavlenko 7069b4b761 Merge pull request #1927 from JBosch:issue3409 2013-12-06 16:06:03 +04:00
Andrey Pavlenko 0e3553130a Merge pull request #1872 from KonstantinMatskevich:ocl_mt_test 2013-12-06 16:00:10 +04:00
Andrey Pavlenko c34fc180a7 Merge pull request #1762 from jet47:cuda-6.0-npp-fix 2013-12-06 15:56:15 +04:00
Elena Gvozdeva f5a01f15a5 Fixed test for ocl_flip 2013-12-06 15:53:00 +04:00
Andrey Pavlenko 77d04a2622 Merge pull request #1844 from StevenPuttemans:bugfix_3370 2013-12-06 15:51:59 +04:00
Andrey Pavlenko 1d01c49a06 Merge pull request #1870 from es0m:es0m-2.4-imgproc-samplers 2013-12-06 15:47:39 +04:00
Peter Andreas Entschev def17f2baa Removing ocl::oclMat::ptr() method.
The method ocl::oclMat::ptr() is being removed because it returns a pointer to a row of oclMat::data. The data attribute is a cl_mem structure and cannot be iterated outside an OpenCL kernel.
2013-12-06 09:31:18 -02:00
Andrey Pavlenko f36858b3a0 Merge pull request #1942 from ilya-lavrenov:warn_fix 2013-12-06 15:26:43 +04:00
Andrey Pavlenko f0049fa2ed Merge pull request #1937 from ilya-lavrenov:tapi_integral 2013-12-06 15:25:56 +04:00
Ilya Lavrenov 926cab2baa fixed warnings 2013-12-06 15:20:29 +04:00
Vladimir Bystricky 44126e350a Change while(true) to for(;;) for fix compiler warning. 2013-12-06 15:11:26 +04:00
Andrey Pavlenko 72cfff4c59 Merge pull request #1940 from pentschev:ocl_bfm_oclMat_ptr_fix_2.4 2013-12-06 15:05:34 +04:00
Konstantin Matskevich 45dd18955f Merge pull request #2 from apavlenko/ocl_mt_test
minor improvements
2013-12-06 03:03:27 -08:00
Andrey Pavlenko b0b199ee8a Merge pull request #1929 from alalek:ocl_haar_amd_beta 2013-12-06 14:56:47 +04:00
Andrey Pavlenko 894724eaf0 minor improvements 2013-12-06 14:49:36 +04:00
Vladimir Bystricky 591b1a7e70 Another fix for disable "conditional expression is constant" 2013-12-06 14:42:06 +04:00
Vladimir Bystricky 3013b469fe Add check for depths of destination and source image. Fix warning C4127. 2013-12-06 14:21:51 +04:00
Dirk Van Haerenborgh 8a48802dec Enable GStreamer 1.x support by default.
GStreamer 1.x is universally available, and with 0.10 being deprecated,
there should be no reason to default to 0.10 stil.
2013-12-06 10:20:29 +01:00
Ilya Lavrenov 3eaa8f149b added cv::intergal to T-API 2013-12-06 13:18:25 +04:00
Konstantin Matskevich 7a78559708 some fixes 2013-12-06 12:12:24 +04:00
Peter Andreas Entschev 3bc952ed34 ocl::BruteForceMatcher fix wrong use of oclMat::ptr().
The oclMat::ptr() method was mistakenly used in ocl::BruteForceMatcher to pass a pointer to a oclMat object. The ptr() method returns a uchar pointer to the cl_mem data structure and this method will be removed.
2013-12-05 19:27:10 -02:00
Elena Gvozdeva b930028727 Added cv::flip using Transparent API 2013-12-05 17:54:05 +04:00
Andrey Pavlenko 9dea590ada Merge pull request #1933 from gongzg:fix-ocl-kernel-2.4 2013-12-05 17:05:25 +04:00
Andrey Pavlenko b16f0a25af Merge pull request #1925 from vpisarev:ocl_facedetect2 2013-12-05 17:02:37 +04:00
Alexander Alekhin 3dcddad88a ocl: added workaround into Haar kernels 2013-12-05 16:56:01 +04:00
Andrey Pavlenko 39754bd6f9 Merge pull request #1920 from alalek:ocl_disable_workaround 2013-12-05 16:46:25 +04:00
Vladimir Bystricky af6134b4b6 Fix issue in boxFilter with destination depth not equal to source depth. 2013-12-05 14:25:15 +04:00
Roman Donchenko bee4dff89d Merge pull request #1447 from Siddharthk:master 2013-12-05 12:38:12 +04:00
Vladimir Bystricky 968a898a1b Add ocl version of boxFilter to the module img_proc 2013-12-05 11:47:17 +04:00
Konstantin Matskevich 0a1ff0d42d multithreading facedetector 2013-12-05 09:47:36 +04:00
Konstantin Matskevich e38ba1999b facedetect 2013-12-05 09:20:36 +04:00
Zhigang Gong 6ce03b0484 Fixed some implicitly type conversions between vector and scalar data type.
There are some mixed implicitly/explicitly type conversion between
scalar and vector. Although the spec allows those conversion, I prefer
to make them consistent and use explicitly all the cases.

Signed-off-by: Zhigang Gong <zhigang.gong@intel.com>
2013-12-05 09:35:21 +08:00
Josep Bosch 2153453fd1 Fixed little issue with mouse callback refering to issue 3409. Was using round instead of floor. 2013-12-04 22:32:20 +01:00
Vadim Pisarevsky 828b0b151b another attempt to fix compile errors 2013-12-04 22:22:36 +04:00
Ilya Lavrenov eb7ff99f80 fixed cv::remap and cv::convertMaps for map types CV_16SC2 && CV_16UC1 2013-12-04 22:04:31 +04:00
Vadim Pisarevsky fe11ca886a trying to eliminate compile problems 2013-12-04 21:56:35 +04:00
Andrey Pavlenko 458ac2592b Merge pull request #1908 from ilya-lavrenov:tapi_imgproc 2013-12-04 21:41:44 +04:00
Andrey Pavlenko 098d4e6174 Merge pull request #1924 from ilya-lavrenov:svm 2013-12-04 19:56:31 +04:00
Vadim Pisarevsky ff87385201 refactored CascadeClassifier to hide implementation details (take 2) 2013-12-04 19:00:39 +04:00
Baichuan Su 632b21e090 Modify default setting, using ocl method when have ocl module 2013-12-04 18:26:54 +04:00
Baichuan Su 2cf16db683 Add Macro to decide using ocl method or not. 2013-12-04 18:26:54 +04:00
Baichuan Su 00300baa53 Add OpenCL SVM paths for bagofwords_classification and points_classifier samples. 2013-12-04 18:26:54 +04:00
siddharth 778edff9e1 Added comment in demo file 2013-12-04 19:18:00 +05:30
siddharth c48ad880f3 Errors resolved 2013-12-04 19:18:00 +05:30
Anna Kogan 944f7bac42 After-merge corrections 2013-12-04 19:18:00 +05:30
siddharth 573e818415 New changes done and removed opencv_extra folder
Removed opencv_extra folder inside opencv folder

New changes done

Removed test images
2013-12-04 19:18:00 +05:30
siddharth 33e6c07485 Removed build errors and removed test images
Removed conflict

Error fix 1

Error fix 2

Error fix 3

Error fix 3

Error fix 4

Error fix 5

Error fix 6

Error fix 7

Error fix 8

Error fix 9

Error fix 10

Error fix 11

Error fix 12

Errors fixed

Removed opencv_extra folder inside opencv folder
2013-12-04 19:18:00 +05:30
siddharth 2f65a0d4ba Changes done in npr module 2013-12-04 19:18:00 +05:30
siddharth 35d9ca6483 Changes done in cloning module 2013-12-04 19:18:00 +05:30
siddharth daa9694cab Changes done in decolorization module 2013-12-04 19:17:59 +05:30
siddharth 94eab9babe Revert Back 2013-12-04 19:17:59 +05:30
siddharth 6c7272bde1 Update to remove Android error 2013-12-04 19:17:59 +05:30
siddharth 3b239561c6 Changed STL in contrast_preserve file 2013-12-04 19:17:59 +05:30
siddharth f85a615f3f whitespaces removed and other minor changes to fix build error
Update 1

update 2

Update 3

Update 4

Update 5

update 6

Update 7

Update 8

Update 9

Update 10

Update 11

Update 12

Update 13

Update 14

Update 15

Update 16

Update 17

Update 18

Update 19

Update 20

Update 21

Update 22

Removed Headers

Update 23

Update 24

Update 25

Update 26

Update 27

Update 28
2013-12-04 19:17:59 +05:30
siddharth 05c7c9325a cloning_gui.cpp updated 2013-12-04 19:17:59 +05:30
siddharth 75b76554bf errors in samples/cpp removed 2013-12-04 19:17:59 +05:30
siddharth 01e1ccfa88 cloning_demo error removed 2013-12-04 19:17:59 +05:30
siddharth f8b00e5269 renamed 2013-12-04 19:17:59 +05:30
siddharth 7ab43585aa remove cloning_example.cpp 2013-12-04 19:17:58 +05:30
siddharth 50c19423f9 cloning demo added 2013-12-04 19:17:58 +05:30
siddharth 56ab1c18e6 new filters added and all the 3 modules updated
All 3 modules Updated
2013-12-04 19:17:58 +05:30
siddharth ae9b4003ae edge preserve filters added and windows warning removed
update1
2013-12-04 19:17:58 +05:30
siddharth 1ed0e44090 added keyboard control 2013-12-04 19:17:58 +05:30
siddharth e170115ad0 new interface added. decolor and cloning module added.
Both modules added
2013-12-04 19:17:58 +05:30
siddharth 5b0ee9e085 decolor module updated 2013-12-04 19:17:58 +05:30
siddharth 0802c06571 seamless cloning added
update1

update1

update4
2013-12-04 19:17:58 +05:30
siddharth a1b3ba02a7 add color_boost + doc 2013-12-04 19:17:58 +05:30
siddharth 88aa4a9902 decolor module updated
update3

update4

update4

update5

added test data
2013-12-04 19:17:58 +05:30
siddharth 95db69f6b9 added new files 2013-12-04 19:17:58 +05:30
Roman Donchenko 0736ede7e5 Merge pull request #1914 from SpecLad:merge-2.4 2013-12-04 16:30:57 +04:00
Roman Donchenko d8a4d3a2eb Merge pull request #1921 from SpecLad:defined-msc-ver 2013-12-04 15:46:56 +04:00
Roman Donchenko 3e1586a1c6 Merge pull request #1919 from SpecLad:platfrom 2013-12-04 13:55:45 +04:00
Roman Donchenko fa2cd93ecf Merge pull request #1915 from jet47:gpu-color-test-fix 2013-12-04 13:55:28 +04:00
Ilya Lavrenov e2b99a32b2 added cv::threshold to T-API 2013-12-04 13:45:44 +04:00
Ilya Lavrenov 474fc887a6 added cv::copyMakeBorder to T-API 2013-12-04 13:41:35 +04:00
Ilya Lavrenov 5b5f5878ce added tests to imgproc 2013-12-04 13:41:34 +04:00
Alexander Alekhin 7b551af424 ocl: try to disable clFinish workaround 2013-12-04 13:00:37 +04:00
Roman Donchenko 11c7053b0f Fixed a -Wundef warning in cl_platform.h.
_MSC_VER -> defined _MSC_VER. Fixes building with MinGW.
Similar to fbc91c5ee.
2013-12-04 12:39:20 +04:00
Andrey Pavlenko f9190cc662 Merge pull request #1909 from alalek:ocl_tapi_perf 2013-12-04 11:35:11 +04:00
Andrey Pavlenko e585f145f6 Merge pull request #1903 from ilya-lavrenov:tapi_warp 2013-12-04 11:34:52 +04:00
Andrey Pavlenko 001aa70556 Merge pull request #1902 from ilya-lavrenov:tapi_arithm 2013-12-04 11:34:35 +04:00
Ilya Lavrenov 49474903cb refactoring 2013-12-04 00:51:55 +04:00
Ilya Lavrenov 49e729f89d ability to use cv::PSNR with transparent cv::norm 2013-12-04 00:51:55 +04:00
Ilya Lavrenov 88bceb5060 added cv::meanStdDev to T-API 2013-12-04 00:51:55 +04:00
Ilya Lavrenov b8edc2cc4d added cv::sum to T-API 2013-12-04 00:51:43 +04:00
Ilya Lavrenov 28575c1969 added cv::countNonZero to T-API 2013-12-04 00:51:32 +04:00
Ilya Lavrenov fed7e61879 added cv::repeat to T-API (fix for copyTo -> UMat is needed) 2013-12-04 00:50:03 +04:00
Ilya Lavrenov e17107e864 added cv::compare to T-API 2013-12-04 00:50:03 +04:00
Ilya Lavrenov a180cebb2d added cv::polarToCart to T-API 2013-12-04 00:50:03 +04:00
Ilya Lavrenov ba850f0b64 added cv::cartToPolar to T-API 2013-12-04 00:50:03 +04:00
Ilya Lavrenov 435028ccee added cv::transpose to T-API 2013-12-04 00:50:03 +04:00
Ilya Lavrenov 6ab297718d added setIdentity to T-API 2013-12-04 00:50:03 +04:00
Ilya Lavrenov 3e586f42a0 added cv::pow to T-API 2013-12-04 00:50:02 +04:00
Ilya Lavrenov 997ec60839 added OCL-TAPI arithm tests 2013-12-04 00:50:02 +04:00
Ilya Lavrenov 803672feea added cv::remap to T-API 2013-12-04 00:43:43 +04:00
Ilya Lavrenov dcce9d7088 added cv::warpAffine to T-API 2013-12-04 00:43:43 +04:00
Ilya Lavrenov 55af7857b9 added cv::warpPerspective to T-API 2013-12-04 00:43:42 +04:00
Andrey Pavlenko 8752414718 Merge pull request #1911 from apavlenko:2.4_fix_vc12 2013-12-03 19:20:05 +04:00
Alexander Alekhin 7d9150460a core/ocl: added perf test infra + "Add" perf test 2013-12-03 18:43:50 +04:00
Alexander Alekhin fe01bc21c0 perf: test-based metrics collection strategy 2013-12-03 18:43:50 +04:00
Roman Donchenko 90c230678e Merge pull request #1912 from KonstantinMatskevich:ocl_tapi_math 2013-12-03 18:02:44 +04:00
Roman Donchenko 3509018bd6 Merge pull request #1916 from alalek:ocl_moments_fix_perf 2013-12-03 17:58:04 +04:00
Andrey Pavlenko 1966e7cea9 fixing compilation on Linux 2013-12-03 17:46:09 +04:00
Roman Donchenko d58cd9851f Merge remote-tracking branch 'origin/2.4' into merge-2.4
Conflicts:
	CMakeLists.txt
	cmake/OpenCVDetectCUDA.cmake
	doc/tutorials/features2d/feature_flann_matcher/feature_flann_matcher.rst
	modules/core/src/cmdparser.cpp
	modules/gpu/CMakeLists.txt
	modules/gpu/doc/introduction.rst
	modules/gpu/perf/perf_video.cpp
	modules/highgui/doc/reading_and_writing_images_and_video.rst
	modules/ocl/src/cl_context.cpp
	modules/video/include/opencv2/video/background_segm.hpp
	samples/cpp/image_sequence.cpp
	samples/cpp/tutorial_code/ImgTrans/HoughCircle_Demo.cpp
	samples/python/chessboard.py
	samples/python/cvutils.py
	samples/python/demhist.py
	samples/python/dft.py
	samples/python/distrans.py
	samples/python/edge.py
	samples/python/ffilldemo.py
	samples/python/fitellipse.py
	samples/python/houghlines.py
	samples/python/inpaint.py
	samples/python/logpolar.py
	samples/python/morphology.py
	samples/python/numpy_array.py
	samples/python/watershed.py
2013-12-03 17:35:21 +04:00
Roman Donchenko 2b31055914 Fixed the "platfrom" typo everywhere. 2013-12-03 17:33:28 +04:00
Andrey Pavlenko b5dbe9e04b Added patch from master for fixing VS2013 in 3rd party lib OpenEXR 2013-12-03 16:08:57 +04:00
Alexander Alekhin c962a9d61c ocl:perf: fix moments test for plain impl 2013-12-03 16:02:55 +04:00
Vladislav Vinogradov adb2040980 added additional check in cv::gpu::demosaicing that source is not empty 2013-12-03 15:55:47 +04:00
Vladislav Vinogradov 14ee306b9e fix gpu test for Demosaicing:
check that input images was loaded correctly
2013-12-03 15:55:10 +04:00
Konstantin Matskevich eaf620ddde small fix 2013-12-03 14:57:13 +04:00
Konstantin Matskevich 14dccdf23d T-API cv::log, cv::exp, cv::magnitude, cv::phase 2013-12-03 14:07:00 +04:00
Roman Donchenko 35ea600c54 Merge pull request #1891 from alalek:cv_error_noreturn 2013-12-03 13:57:35 +04:00
Roman Donchenko df136339ff Merge pull request #1907 from severin-lemaignan:emscripten-2.4 2013-12-03 13:38:10 +04:00
Andrey Pavlenko bd9d3dd561 fixing build of 2.4 branch with VC12 (aka 2013)
(master branch was fixed before, no need to merge this to master!)
- disable openexr (numerous undefined std::min & std::max)
- workaround for two compilator bugs
2013-12-03 13:16:44 +04:00
Roman Donchenko d2b46d421f Merge pull request #1910 from alalek:ts_perf_warmuptype 2013-12-03 13:08:44 +04:00
Alexander Alekhin cb4267cb38 ts/perf: int -> enum WarmUpType 2013-12-03 12:40:31 +04:00
Séverin Lemaignan 9ce9fc3361 Ensure compilation to Javascript with Emscripten 2013-12-03 09:18:59 +01:00
Roman Donchenko 17f53bc301 Merge pull request #1904 from severin-lemaignan:emscripten 2013-12-03 12:14:09 +04:00
Roman Donchenko 6e9a7706ce Merge pull request #1890 from alalek:ts_fix_seh_exceptions_handling 2013-12-03 11:56:49 +04:00
Andrey Pavlenko 3ff1620086 Merge pull request #1899 from berak:b_3171_24 2013-12-03 11:32:31 +04:00
Andrey Pavlenko 8db6d9f9b2 Merge pull request #1906 from asmorkalov:android_ocl_warn_fix 2013-12-03 11:20:48 +04:00
Andrey Pavlenko 0a624ee67d Merge pull request #1901 from vpisarev:ocl_svm3 2013-12-03 11:20:26 +04:00
Alexander Alekhin 206b56ed39 ts: catch & append general exceptions into log 2013-12-03 03:40:56 +04:00
Vadim Pisarevsky cd97d789b6 dummy commit to rerun pre-commit tests 2013-12-02 22:15:07 +04:00
Andrey Pavlenko 368bac7af6 Merge pull request #1744 from liuxing6666:2.4_fix_harris_test 2013-12-02 20:38:49 +04:00
Andrey Pavlenko 19ceab13f2 Merge pull request #1590 from ilya-lavrenov:cmd_parser_fix 2013-12-02 20:07:47 +04:00
Roman Donchenko aed69cc458 Merge pull request #1882 from philippefoubert:branch_ocl_instrumentation 2013-12-02 18:55:47 +04:00
Roman Donchenko 790f53f12a Merge pull request #1887 from jet47:android-cuda-6.0 2013-12-02 18:53:26 +04:00
Vadim Pisarevsky 161c3b71e6 hopefully, now opencv_test_imgproc should pass 2013-12-02 18:27:08 +04:00
Roman Donchenko f7f194e5dd Merge pull request #1797 from moodoki:bugfix_3344 2013-12-02 17:53:34 +04:00
Alexander Smorkalov eab7603096 Warning fixes and suppression in ocl module for gcc 4.6 from Android NDK. 2013-12-02 17:51:29 +04:00
Roman Donchenko 838961a289 Merge pull request #1897 from berak:b_3393_24 2013-12-02 17:11:56 +04:00
Séverin Lemaignan efe564e3b3 Ensure compilation to Javascript with Emscripten 2013-12-02 14:06:24 +01:00
Roman Donchenko fb568755a1 Merge pull request #1898 from berak:b_3349_24 2013-12-02 14:14:41 +04:00
Vadim Pisarevsky 5fea17ff0d still trying to fix failure in opencv_test_imgproc 2013-12-02 13:46:54 +04:00
Roman Donchenko b27d7d2a61 Merge pull request #1886 from ilya-lavrenov:tapi_lut 2013-12-02 12:28:18 +04:00
Roman Donchenko 0bbd768d9d Merge pull request #1884 from asmorkalov:winrt_img_proc_sample 2013-12-02 12:27:51 +04:00
Roman Donchenko f20af817d4 Merge pull request #1894 from asmorkalov:ocv_debug_build 2013-12-02 12:17:30 +04:00
Vadim Pisarevsky 7626a8e8de try to eliminate failure in opencv_imgproc_test 2013-12-02 12:13:50 +04:00
Vadim Pisarevsky 82b852c13c yet another attempt to make Core_UMat.getUMat test work 2013-12-02 00:12:20 +04:00
Vadim Pisarevsky 9be727b1ea another attempt to fix Core_UMat.getUMat test 2013-12-01 23:14:45 +04:00
Vadim Pisarevsky f263fe145a trying to guess and fix strange failure in core test 2013-12-01 22:14:15 +04:00
Vadim Pisarevsky d7f4a223cf fixed several compile errors/warnings; reacted on the PR comments 2013-12-01 20:58:30 +04:00
Philippe FOUBERT ec6f2e1c4d Using cv::String instead of std::string. 2013-12-01 16:41:17 +01:00
Vadim Pisarevsky 6da5d21331 fixed many bugs related to Mat::getUMat(), asynchronous kernel execution etc. Also, played a bit with ocl::cvtColor vs cv::cvtColor performance 2013-12-01 03:12:19 +04:00
berak 34a390fbc2 CV_WRAP for BackgroundSubtractorMOG2 2013-11-30 13:35:23 +01:00
berak 059bf1d9e5 corrected initialization of output_folder in facereco examples 2013-11-30 13:09:42 +01:00
berak 773616ee04 swapped x,y in elbp_ 2013-11-30 12:00:22 +01:00
Alexander Alekhin c1cfb4d422 core: added cv::error with CV_NORETURN attr 2013-11-30 03:43:31 +04:00
Andrey Pavlenko 429ab8ebee Merge pull request #1845 from StevenPuttemans:bugfix_3306 2013-11-29 23:08:20 +04:00
Andrey Pavlenko daefe6983f Merge pull request #1878 from ilya-lavrenov:ocl_resize_area_master 2013-11-29 19:21:38 +04:00
Ilya Lavrenov 09795e3265 added cv::resize INTER_AREA to T-API 2013-11-29 17:57:37 +04:00
Alexander Smorkalov d39e73365c Some debug options are removed because they are installed by Cmake automatically.
Also forcing -ggdb3 on android leads to debuging issues.
2013-11-29 15:34:50 +04:00
Roman Donchenko f8801cfdb8 Merge pull request #1892 from asmorkalov:android_native_camera_close_fix 2013-11-29 15:10:13 +04:00
Vladislav Vinogradov fc1d38ced8 fixed compilation of gpu-basics-similarity tutorial:
initialize TIMES variable with some default value (10)
2013-11-29 14:53:33 +04:00
Andrey Pavlenko d83094b412 Merge pull request #1880 from ilya-lavrenov:tapi_cvtColor 2013-11-29 12:59:09 +04:00
Alexander Smorkalov a13db7c8fa Android native camera destruction fixed for Android 4.4. 2013-11-29 10:38:26 +04:00
Alexander Smorkalov 6b09345232 Filter selection and several filters implemented for WinRT sample. 2013-11-29 09:47:25 +04:00
Roman Donchenko 9ca80961fd Merge pull request #1874 from SpecLad:merge-2.4 2013-11-28 16:43:00 +04:00
Roman Donchenko 41154b30de Merge pull request #1885 from jet47:gpu-bgfg-test-fix 2013-11-28 14:11:40 +04:00
Vladislav Vinogradov 5ac8444c22 fixed CUDA_TOOLKIT_TARGET_DIR for android:
use targets/armv7-linux-androideabi is exists
2013-11-28 13:35:23 +04:00
Ilya Lavrenov 4eba74ee19 added cv::LUT to T-API 2013-11-28 12:31:04 +04:00
Roman Donchenko 70c1b700d9 Merge pull request #1879 from LeszekSwirski:traincascade-2.4 2013-11-28 12:24:45 +04:00
Roman Donchenko 19b88a17bf Merge pull request #1873 from abak:hough_24 2013-11-28 12:11:24 +04:00
Vladislav Vinogradov 81acc5e73e added -Xptxas;-dlcm=ca and -target-os-variant=Android to nvcc flags 2013-11-28 10:00:55 +04:00
Vladislav Vinogradov 26cb0ce1d5 fixed compilation warnings in .cu files 2013-11-28 10:00:48 +04:00
Vladislav Vinogradov 20641b4a0b fixed CC arch/pts for android (used sm_32) 2013-11-28 10:00:47 +04:00
Vladislav Vinogradov 51663f5612 enable CUDA support for android 2013-11-28 10:00:47 +04:00
Vladislav Vinogradov 95ebdf4069 fixed compilation with CUDA 6.0:
GpuMat::setTo function, removed NPP call for CV_8S
2013-11-28 09:54:34 +04:00
Alexander Smorkalov 2cfd635e9e Image processing sample for WinRT added. 2013-11-27 21:54:11 -08:00
Vladislav Vinogradov 7537521f53 disabled MOG2 performance test (sanity check fails on CUDA 6.0) 2013-11-28 09:50:05 +04:00
Vladislav Vinogradov 7c43daccba fixed perf tests for bgfg segmentation 2013-11-28 09:49:50 +04:00
Adrien BAK 38904c9a11 fix exception being thrown when no arguments are passed 2013-11-28 12:09:17 +09:00
Adrien BAK 094d7c4926 build fix 2013-11-28 11:42:44 +09:00
Philippe FOUBERT 22ad487328 Comment correction 2013-11-28 00:45:58 +01:00
Philippe FOUBERT 735f704b3e Add on optional parameter to the matx invert function to know if this operation is successfull without having to analyse the matrix (it may fail in case of bad preconditioning or inappropriate decomposition method) 2013-11-28 00:42:19 +01:00
Philippe FOUBERT c056e7fc61 Correction to be able to compile using the directive PRINT_KERNEL_RUN_TIME 2013-11-28 00:26:37 +01:00
Ilya Lavrenov 41d046a2db restored ocl_cvtcolor.cl 2013-11-27 23:46:30 +04:00
Ilya Lavrenov d2e1318341 RGBA <-> mRGBA 2013-11-27 23:42:10 +04:00
Ilya Lavrenov f771a0ba81 RGB[A] <-> HLS 2013-11-27 23:37:58 +04:00
Ilya Lavrenov 0b900b54e5 RGB[A] <-> HSV 2013-11-27 23:30:29 +04:00
Ilya Lavrenov 727a5e6df4 BGR5x5 <-> Gray 2013-11-27 22:19:44 +04:00
Mathieu Barnachon fb9c59dd8d Fix default argument. 2013-11-27 18:14:37 +01:00
Ilya Lavrenov 8a23646897 RGB[A] <- RGB5x5 2013-11-27 20:00:35 +04:00
Ilya Lavrenov 81b9c9c104 RGB[A] -> RGB5x5 2013-11-27 19:52:42 +04:00
Ilya Lavrenov af367c4f85 RGB[A] <-> BGR[A] 2013-11-27 19:44:37 +04:00
Ilya Lavrenov ab9b883c69 RGB[A] <-> XYZ 2013-11-27 19:37:27 +04:00
Ilya Lavrenov 65ee06eb2b RGB[A] <-> XYZ 2013-11-27 19:25:26 +04:00
Ilya Lavrenov 506c19616d YCrCb -> RGB[A] 2013-11-27 19:24:27 +04:00
Anatoly Baksheev 37a754621a Fixed compilation errors: removed using namespace from hpp file. This led to pulling cv::ACCESS_MASK to global namespace where conflict with the same name in 'windows.h'
Conflicts:
	apps/traincascade/boost.cpp
2013-11-27 14:53:21 +00:00
Andrey Kamaev bef34093aa Remove all using directives for STL namespace and members
Made all STL usages explicit to be able automatically find all usages of
particular class or function.

(cherry picked from commit 2a6fb2867e)
(only cherry picked "apps/trancascade")
2013-11-27 14:46:47 +00:00
Andrey Pavlenko 41ae5d5f66 Merge pull request #1867 from ilya-lavrenov:ocl_resize_master 2013-11-27 18:08:11 +04:00
Roman Donchenko 28242f09d0 Merge pull request #1869 from ilya-lavrenov:ocl_cvtColor_master 2013-11-27 17:58:54 +04:00
Roman Donchenko d5ead208b7 Merge pull request #1858 from StevenPuttemans:updates_traincascade 2013-11-27 17:37:36 +04:00
Roman Donchenko 935f973575 Merge pull request #1877 from tim36272:patch-2 2013-11-27 17:35:53 +04:00
Ilya Lavrenov 90d62cacc9 fixed cv::cvtColor 2013-11-27 16:43:31 +04:00
tim36272 7539156109 Fixed minor documentation typo
In section "How do we get an Affine Transformation" subsection 2 there was a ' where there should have been a ` which caused the math to be rendered incorrectly.
2013-11-27 04:09:40 -08:00
StevenPuttemans a4239f972b Added extras to traincascade functionality 2013-11-27 12:54:11 +01:00
Mathieu Barnachon b413bcbba4 Fix shadow parameter. 2013-11-27 11:36:34 +01:00
Mathieu Barnachon 99c8b8c016 Fix parameter name to fit documentation. 2013-11-27 11:06:52 +01:00
Roman Donchenko 10aec14a4d Merge pull request #1849 from StevenPuttemans:feature_3375_documentation 2013-11-27 13:22:31 +04:00
Roman Donchenko 2fed668390 Fixed build errors. 2013-11-27 12:59:19 +04:00
Ilya Lavrenov 6679aed61e fixed ocl::resize (INTER_LINEAR) and added an accuracy test 2013-11-27 02:52:02 +04:00
Mathieu Barnachon 4f74e2509b Fix the documentation names. 2013-11-26 22:50:26 +01:00
Andrey Pavlenko 96a228fd7e Merge pull request #1866 from ilya-lavrenov:ocl_fix2 2013-11-26 23:27:49 +04:00
Andrey Pavlenko 736097a462 Merge pull request #1868 from KonstantinMatskevich:umat_bugfix 2013-11-26 23:24:51 +04:00
Andrey Pavlenko 1253c2101b Merge pull request #1875 from asmorkalov:android_bin_compat_fix 2013-11-26 23:17:28 +04:00
Alexander Smorkalov 8fe4ab280b Build error fix for binary-complience-checker tool. 2013-11-26 17:39:40 +04:00
Roman Donchenko 920fd48228 Merge remote-tracking branch 'origin/master' into merge-2.4
Conflicts:
	modules/ocl/src/arithm.cpp
2013-11-26 15:32:44 +04:00
Roman Donchenko 9c2272d520 Merge remote-tracking branch 'origin/2.4' into merge-2.4
Conflicts:
	.gitignore
	CMakeLists.txt
	doc/CMakeLists.txt
	modules/calib3d/src/stereosgbm.cpp
	modules/core/include/opencv2/core/mat.hpp
	modules/highgui/src/cap_openni.cpp
	modules/ml/include/opencv2/ml/ml.hpp
	modules/objdetect/src/hog.cpp
	modules/ocl/perf/perf_color.cpp
	modules/ocl/src/arithm.cpp
	modules/ocl/src/filtering.cpp
	modules/ocl/src/imgproc.cpp
	modules/ocl/src/optical_flow_farneback.cpp
	platforms/scripts/camera_build.conf
	platforms/scripts/cmake_android_all_cameras.py
	samples/cpp/Qt_sample/main.cpp
	samples/cpp/tutorial_code/introduction/windows_visual_studio_Opencv/Test.cpp
2013-11-26 15:05:26 +04:00
Roman Donchenko aaf97c4548 Merge pull request #1863 from nevion:master 2013-11-26 13:53:48 +04:00
Roman Donchenko e7339ac11a Merge pull request #1818 from GregoryMorse:patch-2 2013-11-26 13:00:56 +04:00
Roman Donchenko e20f7014cf Merge pull request #1835 from SpecLad:windows-xadd 2013-11-26 11:43:34 +04:00
Roman Donchenko 05e22ee8c9 Merge pull request #1859 from SpecLad:string-plus-equals 2013-11-26 11:40:37 +04:00
Adrien BAK dda3b534ad fix indent 2013-11-26 16:09:59 +09:00
Adrien BAK 1c025be068 fix typos 2013-11-26 16:09:42 +09:00
Adrien BAK 514f1fae95 improved error handling 2013-11-26 16:09:29 +09:00
Adrien BAK 8a2de2ecca modified HoughCircleDemo to introduce variable params via trackbars
Conflicts:
	samples/cpp/tutorial_code/ImgTrans/HoughCircle_Demo.cpp
2013-11-26 16:09:04 +09:00
Andrey Pavlenko d45ce086c1 Merge pull request #1856 from alalek:ocl_fix_mt 2013-11-26 09:58:22 +04:00
Eric Sommerlade 3b4f65b186 fixed comparison to stop integer wrap around 2013-11-26 00:12:30 +00:00
GregoryMorse e4793e3d5e Update system.cpp
Fixed to use native C++ instead of C++/CX although it does require significantly more code, it goes along with the spirit of keeping the project in native C++

Update system.cpp

Cleaned up whitespace, removed redundant code and added edge cases for string cleanup

Update system.cpp

Fixed compiler warning over comma operator clause

Update system.cpp

NULL initialization

Update system.cpp

Fixed use of WindowsGetStringRawBuffer which returns internal pointer to buffer

Update system.cpp

Support C++/CX and native C++ through conditional compilation.  Fixed style - long lines, comma operators, long conditional.  Optimized string usage to use reference.

Update system.cpp

Fixed conditional compilation around include and library

Update system.cpp

Fixed trailing space

Update system.cpp

Cleaned up whitespace, removed redundant code and added edge cases for string cleanup

Update system.cpp

Fixed compiler warning over comma operator clause

Update system.cpp

NULL initialization

Update system.cpp

Fixed use of WindowsGetStringRawBuffer which returns internal pointer to buffer

Update system.cpp

Support C++/CX and native C++ through conditional compilation.  Fixed style - long lines, comma operators, long conditional.  Optimized string usage to use reference.

Update system.cpp

Fixed conditional compilation around include and library

Update system.cpp

Fixed trailing space
2013-11-26 00:22:14 +08:00
Ilya Lavrenov 16a3067afc cp test_colot.cpp to imgproc ocl tests 2013-11-25 19:19:17 +04:00
Konstantin Matskevich 145855767c bugfix in deallocate 2013-11-25 17:16:22 +04:00
Ilya Lavrenov 9d23a0cb81 fixed ocl_arithm_op; fix for 3-channel images is needed 2013-11-25 14:21:12 +04:00
StevenPuttemans 6f892b10ff Applied feature #3375 and fix of pull 1842 to avoid merging problems later 2013-11-25 10:53:03 +01:00
Roman Donchenko 16a11cfb27 Merge pull request #1842 from StevenPuttemans:bugfix_3315 2013-11-25 12:38:56 +04:00
StevenPuttemans 1b0297d92b Added fixes mentioned in bugreport 3306
- Added author provided fixes
- Added code example
- Added documentation fixes
2013-11-25 09:35:23 +01:00
Roman Donchenko 75fba08042 Merge pull request #1822 from SpecLad:msvc12 2013-11-25 12:19:58 +04:00
Roman Donchenko 4c5593b633 Merge pull request #1837 from asmorkalov:android_opencl 2013-11-25 12:19:20 +04:00
Roman Donchenko 06f6f74e61 Merge pull request #1839 from pmiecielica:memory_leaks 2013-11-25 12:17:08 +04:00
Roman Donchenko 684ff70308 Merge pull request #1864 from berak:mouse_and_match 2013-11-25 12:15:52 +04:00
Roman Donchenko 52e810ed33 Merge pull request #1850 from ilya-lavrenov:pthread_mutex 2013-11-25 12:04:17 +04:00
Roman Donchenko 59aa516ca5 Merge pull request #1860 from alalek:ocl_fix_undef_warn 2013-11-25 12:00:25 +04:00
Mathieu Barnachon c90fe65f22 Fix compilation issue related to previous commit. 2013-11-24 17:16:45 +01:00
Mathieu Barnachon e8b86c8663 Fix name of one parameter to fit the documentation. 2013-11-24 17:14:23 +01:00
Mathieu Barnachon 089b8e2f4a Suppress a space! 2013-11-24 17:10:06 +01:00
berak 10639d63f5 mouse_and_match.py missing import cv2 2013-11-24 15:58:13 +01:00
Mathieu Barnachon 9dc713eaba Fix name of parameter to have proper documentation. 2013-11-24 15:45:05 +01:00
Mathieu Barnachon bf84d476fc Fix useless space... 2013-11-24 15:38:48 +01:00
Mathieu Barnachon e015691b41 Fix warnings as errors. 2013-11-24 15:32:52 +01:00
Mathieu Barnachon 0c4da123e9 Remove duplicate functions. 2013-11-24 14:33:41 +01:00
Mathieu Barnachon 67525627db Merge remote-tracking branch 'upstream/master' into bow_desc
Conflicts:
	modules/features2d/src/bagofwords.cpp
2013-11-24 14:21:44 +01:00
Mathieu Barnachon 63c23cce65 Merge remote-tracking branch 'upstream/master' into svm_hog 2013-11-24 13:24:39 +01:00
Mathieu Barnachon e1955759af Fix some warning.
Adding missing credit for a function.
2013-11-24 13:22:10 +01:00
Jason Newton 88b2fe9dbb correct upper bound for maximum number of labels for 8-way connectivity 2013-11-24 01:20:07 -08:00
Andrey Pavlenko 3ab47300ce Merge pull request #1862 from alalek:ocl_disable_tests 2013-11-23 18:54:52 +04:00
Alexander Alekhin fd4a7e7d1f ocl: disable tests 2013-11-23 18:13:32 +04:00
Andrey Pavlenko b157cc17e9 Merge pull request #1857 from alalek:ocl_ta_tests_infra 2013-11-23 16:44:58 +04:00
Andrey Pavlenko b82c55de12 Merge pull request #1861 from ilya-lavrenov:ocl_args_fix 2013-11-23 16:44:38 +04:00
Ilya Lavrenov 1af95ea12c fixed error in setting kernel arguments 2013-11-22 18:56:03 +04:00
Alexander Alekhin 881e837520 ocl/core: added prototype for tests 2013-11-22 18:37:44 +04:00
Roman Donchenko 0537747f79 Merge pull request #1853 from StevenPuttemans:bugfix_3346 2013-11-22 18:26:16 +04:00
Alexander Alekhin ddc9be9170 ocl: don't disable Undef warnings 2013-11-22 18:24:50 +04:00
Alexander Alekhin fbc91c5ee9 ocl: fix cl_platform.h:95: #elif _WIN32 -> #elif defined(_WIN32) 2013-11-22 18:24:20 +04:00
Roman Donchenko 901dc3b878 Merge pull request #1854 from asmorkalov:android_engine_tegra4i5 2013-11-22 18:15:49 +04:00
Roman Donchenko dd817857b4 Replaced most of the instances of "s = s +" with "s +=".
This resynchronizes master code with 2.4. I say "most", because I might
have missed some due to different spacing; I'll deal with those
instances later if I find them.
2013-11-22 17:59:56 +04:00
Roman Donchenko fc49d33c8d Gave cv::String appropriate += operators.
Note that since String is a reference to an immutable string,
this doesn't actually change the string; it just replaces *this
with a reference to the concatenated string.
2013-11-22 17:58:40 +04:00
Ilya Lavrenov c8abb6124f recursive mutex for linux 2013-11-22 17:30:32 +04:00
StevenPuttemans e59912f803 Applied fix mentioned in bugreport 3370. Seems to solve the issue. 2013-11-22 14:25:47 +01:00
Piotr Miecielica a19cc6cb64 Added pointer initialization 2013-11-22 13:33:33 +01:00
Alexander Smorkalov 514e97223c Some hacks to build and run OpenCL on Qualcomm S800.
Some of functions were enabled on Qualcomm S800 by changing grid size;
OpenCL kernel grid size unification for different platfroms;
Test pass rate improvements by inclreasing threshold;
Some tests were disabled for Android;
run.py was adopted for devices with brackets in in name.
2013-11-22 16:13:38 +04:00
Alexander Alekhin d650efc069 ocl: multi-threading: opencl buffer memory guard 2013-11-22 14:39:51 +04:00
Alexander Alekhin 96a4a7b339 ocl: multi-threading: fix bug in intialization 2013-11-22 14:39:33 +04:00
Alexander Smorkalov bd314bf955 VFPv4 detection implemented. Some Tegra5 related updates. 2013-11-22 14:30:23 +04:00
Andrey Pavlenko c1f59c4c76 Merge pull request #1852 from ilya-lavrenov:ocl_retina 2013-11-22 13:57:22 +04:00
StevenPuttemans 2427c03625 Wrong example at the visual studio tutorial. Fixed link, fixed sample
content and renamed to a more sensible name. Also fixed a wrong link in the
actual display_image tutorial.
2013-11-22 10:41:17 +01:00
StevenPuttemans 7a8bd31657 Fixed bug in report #3346 2013-11-22 09:57:47 +01:00
Ilya Lavrenov 8834d5e57b changed eps in Retina_OCL test 2013-11-22 12:35:46 +04:00
Alexander Smorkalov fd759223fa Package selection for Tegra 4i fixed. Initial Tegra5 support added. 2013-11-22 11:46:18 +04:00
Piotr Miecielica 923698d700 Fixes of some memory leaks 2013-11-21 18:55:09 +01:00
Andrey Pavlenko c33cb94d66 Merge pull request #1847 from ilya-lavrenov:ocl_imgproc_fix 2013-11-21 21:29:26 +04:00
Andrey Pavlenko ca8c129c57 Merge pull request #1848 from ilya-lavrenov:warn 2013-11-21 21:29:09 +04:00
Ilya Lavrenov 650f92f9cc eliminated warning C4267 2013-11-21 18:27:07 +04:00
Ilya Lavrenov 561a7f5782 fixed kernel compilation in imgproc module 2013-11-21 18:23:57 +04:00
Andrey Pavlenko 8a4f35704a Merge pull request #1840 from ilya-lavrenov:ocl_cvtColor 2013-11-21 17:32:53 +04:00
Andrey Pavlenko 9bf2516eb1 Merge pull request #1841 from ilya-lavrenov:ocl_kernel_compilation 2013-11-21 17:32:37 +04:00
Roman Donchenko 2509b7954e Merge pull request #1838 from alekcac:ios64_fix 2013-11-21 17:11:29 +04:00
Ilya Lavrenov 65b7e2018c fixed kernel compilation 2013-11-21 14:22:24 +04:00
Ilya Lavrenov d764af5318 added extra parameters to ocl::cvtColor performance test 2013-11-21 12:53:21 +04:00
Roman Donchenko 6b23cb5b02 Merge pull request #1795 from alalek:perf_report_progress 2013-11-21 12:31:36 +04:00
Roman Donchenko b8f5fcf3f9 Merge pull request #1776 from philippefoubert:merge_upstream_2.4_ximea 2013-11-21 12:03:02 +04:00
Roman Donchenko 623a02c69f Merge pull request #1834 from SpecLad:svm-copy-ctor 2013-11-21 11:55:20 +04:00
Alexander Alekhin c1541c9e79 perf report: summary.py: added --progress mode 2013-11-20 19:57:20 +04:00
Andrey Pavlenko 8d1a8df1a9 Merge pull request #1824 from vpisarev:ocl_experiments5 2013-11-20 19:14:40 +04:00
Roman Donchenko 70a4de20d7 Merge pull request #1836 from ilya-lavrenov:ocl_norm_workaround 2013-11-20 18:19:08 +04:00
Alexander Shishkov 9631cb6de9 fix for supporting 64-bit architecture 2013-11-20 18:08:05 +04:00
Roman Donchenko f6283432ff Merge pull request #1833 from SpecLad:fix-qt-sample 2013-11-20 17:59:35 +04:00
Roman Donchenko 3703c7040a Merge pull request #1828 from SpecLad:merge-2.4 2013-11-20 16:08:53 +04:00
Roman Donchenko 8ac3ddf421 Merge pull request #1829 from SpecLad:config-components-libs 2013-11-20 15:57:14 +04:00
Ilya Lavrenov 60b59eeb73 workaround for AMD bug: UNREACHABLE EXECUTED 2013-11-20 15:40:56 +04:00
Roman Donchenko cf00349b5b Gave CvSVM a private copy constructor & assignment operator.
The implicitly generated ones don't work properly, and I don't want to
write proper ones. :-)

"Fixes" <http://code.opencv.org/issues/3358>.
2013-11-20 14:59:42 +04:00
Roman Donchenko b8283edfca Fix the Qt sample, broken after #1722. 2013-11-20 14:57:21 +04:00
Roman Donchenko 4cfbee70bd Simplified the Windows implementation of CV_XADD.
_InterlockedExchangeAdd is a Visual Studio intrinsic that's available
for all architectures and in all VS versions that we care about. It's also
faster than the underscore-less function, since it's an intrinsic.
We also don't need to declare it ourselves.

It is, however, a Visual Studio-specific intrinsic, so I changed the
preprocessing condition accordingly.

Fixes <http://code.opencv.org/issues/3365>.
2013-11-20 13:47:35 +04:00
Roman Donchenko b197ec9413 Merge pull request #1761 from bhuroc:qtkit-video-file-2.4 2013-11-20 13:36:37 +04:00
Roman Donchenko 95006af170 Merge pull request #1816 from SpecLad:no-more-epoch 2013-11-20 11:52:54 +04:00
Roman Donchenko 63b3db53d7 Merge pull request #1830 from SpecLad:config-includes 2013-11-20 11:52:30 +04:00
Vadim Pisarevsky ae8b2cbd68 fixed bug with cl_long size on Win32 (thanks to Aaron Kunze) 2013-11-19 20:51:31 -05:00
Vadim Pisarevsky 677c7f27cb fixed failure in Tonemap test 2013-11-19 19:20:24 -05:00
Philippe FOUBERT 78e16a906b Back to the previous coding way (using the macro with the goto). 2013-11-19 21:51:47 +01:00
Roman Donchenko ef27ac3782 In the example in OpenCVConfig.cmake.in, explicitly add the include paths.
After #1801, the include directories are no longer added automatically,
so we should show the user how to do that.
2013-11-19 19:00:56 +04:00
Roman Donchenko 7f935717cb In OpenCVConfig.cmake.in, lowercased the commands in the example.
This is the preferred style nowadays, and more consistent with the
rest of the code.
2013-11-19 18:58:33 +04:00
Roman Donchenko 4037a4f227 Fixed OpenCV_LIBS when find_package has been used with explicit components.
Fixes <http://answers.opencv.org/question/23997/opencv-247-cmake-includes-all-modules-even-if-i/>.
2013-11-19 18:44:17 +04:00
Roman Donchenko e69d2c1bb1 Merge pull request #1819 from ilya-lavrenov:ocl_resize_AREA 2013-11-19 16:25:47 +04:00
Roman Donchenko aacf188e83 Merge remote-tracking branch 'origin/2.4' into merge-2.4
Conflicts:
	modules/ocl/include/opencv2/ocl/ocl.hpp
	modules/ocl/src/arithm.cpp
	modules/ocl/src/build_warps.cpp
	modules/ocl/src/color.cpp
	modules/ocl/src/haar.cpp
	modules/ocl/src/imgproc.cpp
	modules/ocl/src/split_merge.cpp
	modules/ocl/test/test_color.cpp
	samples/cpp/3calibration.cpp
	samples/cpp/OpenEXRimages_HDR_Retina_toneMapping.cpp
	samples/cpp/OpenEXRimages_HDR_Retina_toneMapping_video.cpp
	samples/cpp/Qt_sample/main.cpp
	samples/cpp/camshiftdemo.cpp
	samples/cpp/descriptor_extractor_matcher.cpp
	samples/cpp/distrans.cpp
	samples/cpp/generic_descriptor_match.cpp
	samples/cpp/grabcut.cpp
	samples/cpp/morphology2.cpp
	samples/cpp/segment_objects.cpp
	samples/cpp/stereo_calib.cpp
	samples/cpp/tutorial_code/Histograms_Matching/compareHist_Demo.cpp
	samples/cpp/tutorial_code/core/mat_mask_operations/mat_mask_operations.cpp
	samples/cpp/tutorial_code/introduction/display_image/display_image.cpp
	samples/cpp/tutorial_code/introduction/windows_visual_studio_Opencv/Test.cpp
	samples/cpp/tutorial_code/objectDetection/objectDetection.cpp
	samples/cpp/tutorial_code/objectDetection/objectDetection2.cpp
	samples/cpp/video_dmtx.cpp
2013-11-19 16:21:09 +04:00
Roman Donchenko 5c77784ac9 Merge pull request #1827 from asmorkalov:android_ndk_r9b 2013-11-19 14:53:16 +04:00
Roman Donchenko 0a90a36a1f Merge pull request #1793 from SpecLad:external-docs-1 2013-11-19 14:21:48 +04:00
Roman Donchenko c47190ef90 Merge pull request #1787 from hs3180:2.4 2013-11-19 14:21:25 +04:00
Ilya Lavrenov 198cd1a40d added area fast mode to ocl::resize 2013-11-19 13:43:50 +04:00
Roman Donchenko 4746a710bb Merge pull request #1820 from asmorkalov:android_native_camera_44 2013-11-19 12:47:48 +04:00
Roman Donchenko 3e55d705cc Merge pull request #1823 from ilya-lavrenov:ocl_abs_sum 2013-11-19 12:34:09 +04:00
Roman Donchenko 56f791679b Merge pull request #1825 from jet47:fix-opengl-mem-leak 2013-11-19 12:31:53 +04:00
Roman Donchenko 68d1110cde Merge pull request #1821 from SpecLad:watch-your-slashes 2013-11-19 12:29:55 +04:00
Alexander Smorkalov e08b075db0 Android NDK r9b support added. 2013-11-19 11:46:29 +04:00
Vladislav Vinogradov 66221a32b9 fixed memory leak in ogl::Texture2D 2013-11-19 10:12:22 +04:00
Vadim Pisarevsky d0b3c7a518 added some diagnostic into Tonemap test 2013-11-18 23:14:44 -05:00
Vadim Pisarevsky 8c44995ea6 another attempt to fix compile errors 2013-11-18 22:15:04 -05:00
Vadim Pisarevsky 241002384c fixed some more compile errors 2013-11-18 14:26:19 -05:00
Vadim Pisarevsky e2bbe7597b fixed few compile errors and doc build errors 2013-11-18 13:48:04 -05:00
Vadim Pisarevsky 8762ee3f6f removed unnecessary opencl kernels 2013-11-18 12:02:10 -05:00
Vadim Pisarevsky d914f20a4c updated patch to bring in the first functions with "transparent API" 2013-11-18 11:48:00 -05:00
Ilya Lavrenov c0456df611 workaround for ocl::absSum (eliminated error: unreachable executed) 2013-11-18 20:38:39 +04:00
Roman Donchenko 85f92fabbd Merge pull request #1815 from asmorkalov:android_native_camera_build_automation 2013-11-18 19:44:33 +04:00
Roman Donchenko 239704f986 Added Visual Studio 2013 detection. 2013-11-18 19:39:39 +04:00
Roman Donchenko 7973594a01 Removed all slashes after ${OpenCV_INSTALL_BINARIES_PREFIX}.
If it's followed by a slash and OpenCV_INSTALL_BINARIES_PREFIX is empty,
then the resulting path becomes absolute.

Fixes <http://code.opencv.org/issues/3350>.
2013-11-18 19:21:31 +04:00
Ilya Lavrenov f70d63e4c9 added INTER_AREA interpolation to ocl::resize 2013-11-18 18:28:49 +04:00
Alexander Smorkalov 26d3a1a036 Prebuilt libnative_camera_xxx updated. 2013-11-18 18:19:38 +04:00
Roman Donchenko bb4bf7a1f9 Merge pull request #1811 from Nerei:fixed_some_build_errors 2013-11-18 18:09:44 +04:00
Alexander Smorkalov 04d293d2c4 Initial NativeCamera support for Android 4.4 KitKat. 2013-11-18 18:07:26 +04:00
Roman Donchenko cdf4e4e0b5 Merge pull request #1810 from Nerei:2.4 2013-11-18 17:49:40 +04:00
Alexander Smorkalov e3f450cffb NativeCamera build with AndroidStub backported from OpenCV master. 2013-11-18 17:43:21 +04:00
Roman Donchenko 8b99a1e850 Merge pull request #1806 from akarsakov:ffmpeg_without_iconv 2013-11-18 17:26:40 +04:00
Roman Donchenko 7703b63cae Merge pull request #1722 from StevenPuttemans:feature_1631_second 2013-11-18 15:48:27 +04:00
Roman Donchenko 4fd1960425 Merge pull request #1807 from KonstantinMatskevich:intel_bug 2013-11-18 15:16:37 +04:00
Roman Donchenko 3f927abb4d Merge pull request #1809 from ilya-lavrenov:ocl_resize_nn 2013-11-18 14:55:24 +04:00
Alexander Karsakov 83cefcb92a FFmpeg 2.0.2 32-bit builded with mingw (4.6.1) with following additional options: --enable-w32threads --disable-iconv --cpu=i686 (workaroud for http://trac.ffmpeg.org/ticket/2363) 2013-11-18 13:56:02 +04:00
Konstantin Matskevich 327d9f274b fixed Split for device version equals 78712 2013-11-18 13:20:57 +04:00
Konstantin Matskevich 0e1717c14c fixing bugs for Intel platform CPU device 2013-11-18 13:20:54 +04:00
Roman Donchenko f5ded41016 Merge pull request #1808 from alalek:ocl_fix_cvtcolor_xyz 2013-11-18 12:20:58 +04:00
StevenPuttemans 2b106db02f Applied all fixes related to translating C to C++ code
Also fixed some typos and code alignment
Also adapted tutorial CPP samples
Fixed some identation problems
2013-11-17 20:34:50 +01:00
Anatoly Baksheev 9e3a29701e Viz code beautification 2013-11-17 19:33:55 +04:00
Anatoly Baksheev efcc341219 added viz tutorial 3 test 2013-11-17 15:18:15 +04:00
Anatoly Baksheev e154bce259 fixed compilation for vs2008 2013-11-17 14:13:13 +04:00
Anatoly Baksheev d8600d3d13 fixed all Viz warnings
moved some headers to precomp.hpp
2013-11-17 14:13:11 +04:00
Anatoly Baksheev 5c6248005a fixed warnings 2013-11-17 14:08:57 +04:00
Anatoly Baksheev dfef42f94e Fixed Viz compilation: removed CV_EXPORTS from cv::viz::Color. The macro forced instantiation of all Matx<double, 4, 1> constructors and triggered StaticAssert there. 2013-11-17 14:08:56 +04:00
Anatoly Baksheev 0dad070473 Fixed compilation errors: removed using namespace from hpp file. This led to pulling cv::ACCESS_MASK to global namespace where conflict with the same name in 'windows.h' 2013-11-17 14:08:56 +04:00
Anatoly Baksheev d275e29ea4 compilation & warnings 2013-11-17 14:08:55 +04:00
Anatoly Baksheev 13bb236ad5 fixed some warnings 2013-11-16 21:18:36 +04:00
Anatoly Baksheev 8f6f9c3e58 compilation for VS2008 2013-11-16 20:14:01 +04:00
Alexander Alekhin 0a698bf145 ocl: fix cvtColor XYZ: variables on stack 2013-11-16 13:45:39 +04:00
Ilya Lavrenov cc237b7aba generalized ocl::resize for all data types (INTER_NEAREST mode) 2013-11-15 22:52:29 +04:00
Roman Donchenko 615d6c22d1 Switched OpenCV to a 3-component version number.
Epoch is gone; now the version component names in C++ and CMake
are consistent (except REVISION corresponds to PATCH).
2013-11-15 19:41:53 +04:00
Roman Donchenko f95ff0a352 Merge pull request #1802 from SpecLad:cmake-templates 2013-11-15 16:52:56 +04:00
Roman Donchenko 4e2ec7b97d Merge pull request #1803 from ilya-lavrenov:ocl_cvtColor 2013-11-15 15:55:29 +04:00
Roman Donchenko b8c46f4cce Merge pull request #1804 from alekcac:youtube_link_fix 2013-11-15 15:53:05 +04:00
Roman Donchenko bb0d88cf6f Merge pull request #1801 from vrabaud:master 2013-11-15 12:01:16 +04:00
Roman Donchenko 2e79dde357 Merge pull request #1799 from SpecLad:avformat-53-6 2013-11-15 11:51:59 +04:00
Alexander Shishkov 4c9a6bd4ec Update widget_pose.rst
changed Youtube link to our channel
2013-11-15 04:36:22 +03:00
moodoki cebf109d39 Replaced code in .rst file with literalinclude as suggested 2013-11-15 00:27:07 +08:00
Roman Donchenko 428fb72625 Made the generated file templates' naming more consistent.
The general convention is <output file name> + ".in".
2013-11-14 19:14:38 +04:00
Vincent Rabaud 154d119e13 do not use include_directories when calling find_package(OpenCV)
This is something that should be left to the user, that's the whole
point of OpenCV_INCLUDE_DIRS.
2013-11-14 15:24:18 +01:00
Roman Donchenko 3b7acf2657 Fix building with FFmpeg 0.8.
avformat_find_stream_info was introduced in Libav avformat 53.3,
but it was only merged to FFmpeg in avformat 53.6.

In Libav avformat 53.3-53.5 av_find_stream_info is not removed
(only deprecated), so this shouldn't break building with that.
2013-11-14 17:25:46 +04:00
Roman Donchenko 01f8645bc8 Merge pull request #1794 from vrabaud:2.4 2013-11-14 16:43:50 +04:00
Roman Donchenko be88b20154 Merge pull request #1796 from ilya-lavrenov:ocl_cvtColor 2013-11-14 14:46:43 +04:00
Roman Donchenko 84da6ca265 Merge pull request #1792 from ilya-lavrenov:ocl_warp_eps 2013-11-14 14:46:06 +04:00
Roman Donchenko 19b3064706 Merge pull request #1790 from ilya-lavrenov:ocl_ref 2013-11-14 14:45:50 +04:00
Vincent Rabaud 8e944cfe70 cleaner fix 2013-11-14 11:45:42 +01:00
Ilya Lavrenov fe76b2116a added RGBA <-> mRGBA 2013-11-14 12:02:59 +04:00
moodoki b8de81749c Slight modification to example code for FLANN matcher with comment on #3344 2013-11-14 00:22:20 +08:00
Ilya Lavrenov 1b7c5b201d added HLS -> RGB[A][FULL] conversion 2013-11-13 19:35:24 +04:00
Ilya Lavrenov 98915e06bc added HSV -> RGB[A][FULL] conversion 2013-11-13 19:10:06 +04:00
Ilya Lavrenov 3bdd9626f3 added RGB[A] -> HLS[FULL] conversion 2013-11-13 17:41:40 +04:00
Roman Donchenko 15f4292a1f Merge pull request #1788 from alalek:perf_test_skip 2013-11-13 17:21:52 +04:00
Vincent Rabaud ee7c74ceeb return when OpenCV is found 2013-11-13 14:20:09 +01:00
Ilya Lavrenov af7c614438 added RGB[A] -> HSV[FULL] conversion 2013-11-13 17:09:05 +04:00
Roman Donchenko 411629a57d Merge pull request #1786 from SpecLad:cap-images-file-pattern 2013-11-13 17:00:20 +04:00
Roman Donchenko 54ea5bbac7 Merge pull request #1779 from perping:integral_2.4 2013-11-13 15:53:42 +04:00
Roman Donchenko 28e0d3d771 Merge pull request #1784 from SpecLad:ffmpeg-no-png 2013-11-13 15:52:42 +04:00
Vincent Rabaud 9007a02302 fixes http://code.opencv.org/issues/3367 2013-11-13 12:25:44 +01:00
Alexander Alekhin fb326a58fc ocl: perf tests: skip tests if we fail check for maxMemoryAllocSize 2013-11-13 14:17:57 +04:00
Alexander Alekhin f1873bbca1 perf tests: allow to skip performance tests 2013-11-13 14:17:56 +04:00
Ilya Lavrenov 6770c04073 refactored some functions from ocl arithm 2013-11-13 13:56:49 +04:00
Ilya Lavrenov c38e4f9639 added eps to ocl::buildWarpPerspectiveMaps perf test 2013-11-13 13:04:02 +04:00
Roman Donchenko 376993be4c Merge pull request #1785 from ilya-lavrenov:ocl_kern_warn 2013-11-13 12:20:09 +04:00
Roman Donchenko df6bce372b Merge pull request #1789 from ilya-lavrenov:ocl_minMaxLoc 2013-11-13 12:16:02 +04:00
Roman Donchenko a8e1d1f0b2 Merge pull request #1791 from prattmic:limit 2013-11-13 12:15:18 +04:00
Michael Pratt 73f1940b03 Add missing limits include
Without limits included, several CUDA related files fail to compile with
GCC on Ubuntu:

modules/cudaimgproc/src/hough_lines.cpp:136:9: error: ‘numeric_limits’ is not a member of ‘std’
2013-11-12 22:29:41 -05:00
perping 185059959b fix haar 2013-11-13 10:19:09 +08:00
perping 1e2fb6de30 fix match_template and haar 2013-11-13 10:09:39 +08:00
Roman Donchenko 3314bc94b6 Reworked documentation building to work with extra modules.
The main problem with extra modules is that they're located outside
of the OpenCV root, while Sphinx requires that all documents are
within the documentation root. To circumvent this, we create a
"fake root" and copy all documentation (as well as all files that
it depends on) there. It's a bit messy, but what can you do.

As a bonus, this eliminates the need to generate modules/refman.rst
inside the source tree.
2013-11-12 19:38:59 +04:00
Ilya Lavrenov 0bf7350615 fixed compilation of ocl::minMaxLoc for Intel device 2013-11-12 19:14:40 +04:00
huangs f02ce90559 minX1 should be max(-maxD,0) not max(maxD,0), avoid black band at left 2013-11-12 22:37:23 +08:00
Roman Donchenko b8e3d3f791 In the image sequence capture, only search for the ordinal in the file name.
Searching in directory names can yield confusing results; e.g. if
the input is "jpeg2000/image1.jp2", it will infer the pattern
"jpeg%04d/image1.jp2", which is likely not what the user intended.

If the user really desires for the variable part to be in the
directory name, it can always use an explicit pattern.
2013-11-12 16:26:21 +04:00
Ilya Lavrenov 96121a66c5 kernel warnings on AMD 2013-11-12 15:06:46 +04:00
Roman Donchenko a81efdbb25 Merge pull request #1775 from ilya-lavrenov:ocl_cvtColor 2013-11-12 14:26:50 +04:00
perping d6e0ef2710 fix linux warning. 2013-11-12 18:13:44 +08:00
perping dee584ee15 fix haar 2013-11-12 17:54:03 +08:00
Roman Donchenko 834705490e Merge pull request #1782 from ilya-lavrenov:ocl_adapBilat 2013-11-12 12:53:34 +04:00
Roman Donchenko ef4eadd5d3 Merge pull request #1766 from ilya-lavrenov:ocl_remap_linear 2013-11-12 12:40:14 +04:00
Roman Donchenko 46e423d217 Merge pull request #1773 from ilya-lavrenov:ocl_buildWarpPerspectiveMaps 2013-11-12 12:26:37 +04:00
Roman Donchenko 6773914144 Merge pull request #1783 from SpecLad:cap-no-pattern 2013-11-12 11:52:50 +04:00
perping 8af626d295 fix some bug about haar and match_template. 2013-11-12 13:56:47 +08:00
Ilya Lavrenov eda6360fa3 added RGB5x5 <-> Gray 2013-11-12 00:32:10 +04:00
Philippe FOUBERT 93120775cd Using four spaces for indentation. 2013-11-11 20:40:18 +01:00
Mathieu Barnachon a4ceb7b6ee Fix compilation issues. 2013-11-11 19:29:39 +01:00
Roman Donchenko f461930d07 Merge pull request #1781 from SpecLad:merge-2.4 2013-11-11 19:15:25 +04:00
Roman Donchenko 405227d531 Replaced the image used in the Highgui_Video.ffmpeg_image test.
Our prebuilt FFmpeg Windows binaries don't have PNG support enabled
(because that requires zlib), so that makes a PNG image a bad choice
for this test.

When FFmpeg doesn't support PNG, VideoCapture falls back to the
"image sequence" implementation, which doesn't work for single images.
2013-11-11 18:30:04 +04:00
Ilya Lavrenov daedc6f454 removed 2000x2000, 4000x4000 from test sizes of ocl::adaptiveBilateralFilter 2013-11-11 18:14:44 +04:00
Roman Donchenko eff53e95f9 Fixed the "image sequence" capture not failing when a pattern isn't found.
at can't be a null pointer, so the condition was always false, and
a nonsensical pattern like "image.png%00d" was being inferred.
2013-11-11 18:12:49 +04:00
Ilya Lavrenov 3727168b50 added a performance test for ocl::buildWarpPerspectiveMaps; moved warps to a separate file 2013-11-11 18:07:23 +04:00
Roman Donchenko ccbd7f8da9 Added a citation which used to be in the gpu module in 2.4. 2013-11-11 18:00:55 +04:00
Roman Donchenko bfa40e180f Removed another usage of __func__, following #1763. 2013-11-11 17:02:50 +04:00
Roman Donchenko e4dee5b372 Merge pull request #1780 from ilya-lavrenov:ocl_m_pi 2013-11-11 17:00:31 +04:00
Roman Donchenko 4f1aed98de Merge remote-tracking branch 'origin/2.4' into merge-2.4
Conflicts:
	.gitignore
	modules/contrib/src/detection_based_tracker.cpp
	modules/core/include/opencv2/core/core.hpp
	modules/core/include/opencv2/core/internal.hpp
	modules/core/src/gpumat.cpp
	modules/core/src/opengl.cpp
	modules/gpu/src/cuda/safe_call.hpp
	modules/highgui/src/cap.cpp
	modules/imgproc/include/opencv2/imgproc/imgproc.hpp
	modules/ocl/doc/image_processing.rst
	modules/ocl/include/opencv2/ocl/ocl.hpp
	modules/ocl/perf/perf_haar.cpp
	modules/ocl/src/haar.cpp
	modules/ocl/src/imgproc.cpp
	modules/ocl/src/kmeans.cpp
	modules/ocl/src/svm.cpp
	modules/ocl/test/test_objdetect.cpp
	samples/ocl/adaptive_bilateral_filter.cpp
2013-11-11 16:55:36 +04:00
Ilya Lavrenov 1f421fce01 added RGB5x5 <-> RGB conversion 2013-11-11 14:50:44 +04:00
Roman Donchenko 469d7eed72 Merge pull request #1767 from prattmic:python3_asstring 2013-11-11 14:01:07 +04:00
Philippe FOUBERT 05d9375759 Trailing whitespace removal. 2013-11-11 10:26:28 +01:00
perping 73b34e3f85 fix warning. 2013-11-11 15:06:58 +08:00
perping 50579d2524 Make Integral sum support cv_32f, sqsum support cv_64f. 2013-11-11 14:31:02 +08:00
Ilya Lavrenov 5beb887247 replaced custom PI by OpenCL M_PI constant 2013-11-11 00:55:59 +04:00
Ilya Lavrenov 3cc9502c90 added RGB[A] <-> BGR[A] conversion to ocl::cvtColor 2013-11-10 23:14:36 +04:00
Philippe FOUBERT 8b0fc04d93 Fix the build of OpenCV with XIMEA on Windows 64 bits:
- crosses initializations in "cap_ximea.cpp" (which also contained some awfull "goto" instructions)
  - the "CMAKE_CL_64" variable is not initialized when using mingw

PR#1039 modified to be able to merge on branch 2.4
2013-11-10 17:46:59 +01:00
Ilya Lavrenov 581a3e444d added XYZ to RGB conversion to ocl::cvtColor 2013-11-10 14:37:21 +04:00
Ilya Lavrenov 5e02b20482 added RGB -> XYZ conversion to ocl::cvtColor 2013-11-10 13:38:09 +04:00
Ilya Lavrenov 33ae64201c color.cpp refactoring: created generic interface for toRGB and fromRGB callers 2013-11-10 00:44:37 +04:00
Ilya Lavrenov a57030a0cd added YCrCb to RGB, BGR, RGBA, BGRA modes to ocl::cvtColor 2013-11-09 17:03:30 +04:00
Ilya Lavrenov eba6754b06 fixed ocl::cvtColor for CV_YUV2BGRA and CV_YUV2RGBA 2013-11-09 00:40:45 +04:00
Ilya Lavrenov 8b57893e40 added an accuracy test for ocl::buildWarpPerspectiveMaps 2013-11-08 18:42:13 +04:00
Ilya Lavrenov 4248f82211 added ROI support to ocl::buildWarp*Maps functions 2013-11-08 18:40:53 +04:00
Roman Donchenko c970d4bf6e Merge pull request #1742 from pengx17:master_ocl_retina_sample 2013-11-08 17:17:20 +04:00
Roman Donchenko 0ac61240c5 Merge pull request #1771 from kiranpradeep:2.4 2013-11-08 17:16:20 +04:00
Kiran Pradeep 5852a913a8 CMake's get_filename_component with NAME_WE parameters, interprets first period as start of extension. For. e.g file name with out extension of 'this.is.a.text.file.txt' will be taken as 'this'. Hence using NAME with regex replacement to get 'this.is.a.text.file' 2013-11-08 14:09:34 +05:30
Roman Donchenko 800d53f76b Merge pull request #1759 from ilya-lavrenov:ocl_distanceToCenters 2013-11-08 12:39:14 +04:00
Roman Donchenko 0be2752366 Merge pull request #1755 from KonstantinMatskevich:dump_info 2013-11-08 12:31:04 +04:00
Roman Donchenko 0fb629915f Merge pull request #1763 from SpecLad:cv-func 2013-11-08 12:29:50 +04:00
Michael Pratt 8aafd569c8 Support PyString_AsString() in Python 3 < 3.3
In Python 3, version 3.3+, PyUnicode_AsUTF8() provides similar
functionality to Python 2's PyString_AsString().

In older versions of Python 3, there is no public function to provide
the same functionality.  However, the "internal" _PyUnicode_AsString()
does provide that functionality, so use it to replace
PyString_AsString().

With this patch, cv2 should compile for Python 3.[0-2].
2013-11-07 23:47:33 -05:00
Baichuan Su 9a0d06247a Fix the whitespace warning. 2013-11-07 15:04:17 -08:00
Ilya Lavrenov 760b718981 added CV_16SC2 && CV_16UC1 map types support to ocl::remap (INTER_LINEAR mode) 2013-11-08 01:42:48 +04:00
Baichuan Su 99a00d3dd9 Fix merge conflicts 2013-11-07 09:56:59 -08:00
Baichuan Su befcbf56fe A minor fix. 2013-11-07 08:52:40 -08:00
Baichuan Su f0de1a08b8 Fix ocl::calcHarris not support CV_32FC1 bug. 2013-11-07 08:52:39 -08:00
Roman Donchenko 07db81a4bb Merge pull request #1760 from ilya-lavrenov:ocl_remap_nn 2013-11-07 17:29:16 +04:00
Roman Donchenko 2c38be079e Enabled CV_Assert and such to print the function name with Visual C++.
Also, I made a separate macro for the current function name, which
helps simplify a lot of code that uses it.
2013-11-07 17:22:02 +04:00
Konstantin Matskevich e9edfd1c54 update 2013-11-07 17:21:56 +04:00
Roman Donchenko 641bb7ac6b Merge pull request #1737 from vrabaud:2.4 2013-11-07 12:03:30 +04:00
Bo Hu c88fa27b1d Removed trailing whitespace in cap_qtkit.mm. 2013-11-06 13:33:17 -08:00
Bo Hu 114579c33b Added proper testing of the end of quicktime video files.
CvCaptureFile::grabFrame() always returns 1 regardless, which causes
dead loop when relying on the return value of VideoCapture::read().
2013-11-06 13:32:11 -08:00
Ilya Lavrenov fa15769f39 added CV_16SC2 && CV_16UC1 maps support to ocl::remap (nearest neighbour only) 2013-11-06 23:14:04 +04:00
Ilya Lavrenov 56d943388d speeded up ocl::distanceToCenters 2013-11-06 20:02:31 +04:00
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 254aece317 Merge pull request #1753 from abidrahmank:py_tutorials 2013-11-06 15:40:55 +04:00
Konstantin Matskevich 5304e9f259 extending openCL info dump 2013-11-06 15:20:05 +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
Roman Donchenko b5777efee6 Merge pull request #1716 from ilya-lavrenov:resize_area_sse2_fix 2013-11-06 13:59:44 +04:00
Ilya Lavrenov e9b54ab844 fixed cv::resize (area fast mode) - it writes outside of array boundary in SSE2 version 2013-11-06 13:53:44 +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 7a2a810de5 Update retina_ocl.cpp 2013-11-06 17:00:27 +08:00
Roman Donchenko 8b19df3fec Merge pull request #1748 from SpecLad:merge-2.4 2013-11-06 12:55:05 +04:00
Roman Donchenko 65389e41db Revert commit 994e07db0 (PR #1715), because it's irrelevant for master.
Conflicts:
	modules/java/generator/src/cpp/VideoCapture.cpp
2013-11-06 12:32:03 +04:00
abidrahmank 8bba305487 small correction in Py tutorials 2013-11-06 10:22:08 +05:30
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
Roman Donchenko 8f5eaca354 Remove the explicit setting of CMP0017, partially undoing #1720.
In master, it's already set to NEW, since we declare the minimal CMake
version as 2.8.7, which is newer than the policy.
2013-11-05 16:44:09 +04:00
Roman Donchenko 9c83f6c4fb Merge remote-tracking branch 'origin/2.4' into merge-2.4
Conflicts:
	cmake/OpenCVDetectCUDA.cmake
	modules/core/include/opencv2/core/version.hpp
	modules/cudacodec/src/ffmpeg_video_source.cpp
	modules/gpu/src/video_writer.cpp
	modules/highgui/test/test_ffmpeg.cpp
	modules/highgui/test/test_video_io.cpp
	modules/highgui/test/test_video_pos.cpp
	modules/ocl/include/opencv2/ocl/ocl.hpp
	modules/ocl/include/opencv2/ocl/private/util.hpp
	modules/ocl/src/arithm.cpp
	modules/ocl/src/blend.cpp
	modules/ocl/src/canny.cpp
	modules/ocl/src/cl_operations.cpp
	modules/ocl/src/filtering.cpp
	modules/ocl/src/haar.cpp
	modules/ocl/src/imgproc.cpp
	modules/ocl/src/kmeans.cpp
	modules/ocl/src/moments.cpp
	modules/ocl/src/safe_call.hpp
	modules/ocl/src/split_merge.cpp
	modules/ocl/test/test_moments.cpp
	samples/ocl/squares.cpp
2013-11-05 16:38:23 +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
Vincent Rabaud 0b1df62215 add VERBATIM as advised by @SpecLad 2013-11-05 12:02:22 +01:00
Vincent Rabaud 3b0108e4c1 fix the crash as suggested by @SpecLad 2013-11-05 11:18:20 +01: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 8adebcbc00 Add ocl retina sample. 2013-11-05 14:48:29 +08: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
Vincent Rabaud e1b2f593d6 fix crash when path has spaces
The paths are defined properly with an escape "\ " but you cannot have an escape and
quotes when piping (otherwise, escapes are understood as 2 characters).
So just remove the quotes.
2013-11-01 19:30:58 +01: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
Roman Donchenko 03bbee327b Merge pull request #1486 from nzjrs:cv2-logpolar 2013-10-29 16:15:57 +04:00
Roman Donchenko f68b73f831 Merge pull request #1521 from nailbiter:optimCG 2013-10-29 16:14:32 +04:00
Roman Donchenko 334292083e Merge pull request #1629 from lluisgomez:er_tree_clean_bug_fix 2013-10-29 16:03:51 +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
Roman Donchenko 75087580de Merge pull request #1704 from SpecLad:merge-2.4 2013-10-29 13:13:05 +04:00
Andrey Pavlenko 616db74e49 Merge pull request #1663 from vpisarev:ocl_experiments3 2013-10-29 11:14:16 +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
Roman Donchenko 78be4f66f7 Merge remote-tracking branch 'origin/2.4' into merge-2.4
Conflicts:
	CMakeLists.txt
	modules/calib3d/src/calibration.cpp
	modules/ocl/src/cl_programcache.cpp
	modules/ocl/src/filtering.cpp
	modules/ocl/src/imgproc.cpp
	samples/ocl/adaptive_bilateral_filter.cpp
	samples/ocl/bgfg_segm.cpp
	samples/ocl/clahe.cpp
	samples/ocl/facedetect.cpp
	samples/ocl/pyrlk_optical_flow.cpp
	samples/ocl/squares.cpp
	samples/ocl/surf_matcher.cpp
	samples/ocl/tvl1_optical_flow.cpp
2013-10-28 13:38:25 +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
Vadim Pisarevsky 485d36d3c0 changed InputArray's enumeration constant for UMat, since it may potentially conflict with existing OpenCL module. refactored Kernel's setArg API (now UMat is passed to a kernel as a structure, as Alexander A suggested). removed Kernel's cleanup callback from the external API; now each kernel keeps track of used matrices and they are dereferenced after it's complete. 2013-10-25 16:46:03 +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
Roman Donchenko 31f0ab6c80 Merge pull request #1681 from LeszekSwirski:fix-ninjabuild 2013-10-25 13:30:52 +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
Vadim Pisarevsky 6416c33020 fixed some bugs in OpenCL branch of UMat implementation; maybe now the tests will finally pass?! (please ;( ) 2013-10-25 11:19:40 +04:00
Vadim Pisarevsky ace0d4bad0 hopefully, the last test failures are fixed now 2013-10-24 23:31:00 +04:00
Vadim Pisarevsky 5920bd4f2e fixed whitespace errors 2013-10-24 23:18:05 +04:00
Vadim Pisarevsky caa33b2242 added first very simple test for UMat<=>Mat conversion 2013-10-24 22:33:41 +04:00
Roman Donchenko 3b08bf6b62 Merge pull request #1682 from SpecLad:Wmissing-declarations 2013-10-24 22:19:17 +04:00
Leszek Swirski 6e4fb8f275 Replace $(Configuration) with $<CONFIGURATION> 2013-10-24 18:20:16 +01: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
Vadim Pisarevsky b1aa4a4913 yet another attempt to fix test failures 2013-10-24 18:00:15 +04:00
Vadim Pisarevsky e14171fd33 fixed crash in Python bindings 2013-10-24 17:37:33 +04:00
Roman Donchenko 7e1ded0ebd Merge pull request #1664 from SpecLad:merge-2.4 2013-10-24 17:27:30 +04:00
Vadim Pisarevsky a9065b7d0c trying to fix failures in tests 2013-10-24 17:23:48 +04:00
Vadim Pisarevsky 303df78cca removed refcount field from Mat; that helped to find and eliminate some memory leaks. perf tests should probably pass now 2013-10-24 16:08:15 +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
Roman Donchenko dfe07df87b 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.
2013-10-24 14:09:08 +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 424a7b0ab0 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
2013-10-23 17:42:00 +04:00
Roman Donchenko 3f3ae33327 Decoupled test_ffmpeg.cpp from ffmpeg_codecs.hpp.
This should actually remove the need for the workaround from
the previous commit.
2013-10-23 14:56:37 +04:00
Roman Donchenko eb86d37b26 Removed some dubious FFmpeg hack that no longer works. 2013-10-23 14:56:37 +04:00
Roman Donchenko 66beb44286 Applied a change from 555c505b to 3rdparty/tbb/CMakeLists.txt.
Odd that it wasn't merged automatically...
2013-10-23 14:56:37 +04:00
Roman Donchenko 6dda2652cd Merge pull request #1659 from ilya-lavrenov:ocl_examples 2013-10-23 14:50:56 +04:00
Vadim Pisarevsky 5a34272150 fixed build on Windows 2013-10-23 00:17:18 +04:00
Vadim Pisarevsky de521fc9fa fixed some more compile bugs (including Python bindings) 2013-10-22 23:34:16 +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
Vadim Pisarevsky d3076c5014 hopefully, fixed compile errors on Win & Linux; fixed getMatVector() so core & imgproc tests now pass; fixed doc builder errors 2013-10-22 17:41:28 +04:00
Roman Donchenko e384a7bb95 Merge pull request #1665 from SpecLad:cuda-min-ver 2013-10-22 16:44:09 +04:00
Roman Donchenko 779acfa715 Suppressed -Wundef in bioinspired, because of OpenCL headers. 2013-10-22 15:16:22 +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
Roman Donchenko 49c6533227 Move the minimal CUDA version into the minimal version list. 2013-10-22 14:32:13 +04:00
Roman Donchenko 4036f6a3d0 Merge remote-tracking branch 'origin/2.4' into merge-2.4
Conflicts:
	apps/CMakeLists.txt
	modules/contrib/CMakeLists.txt
	modules/core/include/opencv2/core/version.hpp
	modules/imgproc/include/opencv2/imgproc/imgproc.hpp
	modules/java/generator/gen_java.py
	modules/ocl/include/opencv2/ocl/ocl.hpp
	modules/ocl/src/cl_runtime/cl_runtime.cpp
	modules/ocl/src/columnsum.cpp
	modules/ocl/src/filtering.cpp
	modules/ocl/src/imgproc.cpp
	modules/ocl/test/main.cpp
	modules/ocl/test/test_color.cpp
	modules/ocl/test/test_imgproc.cpp
	samples/gpu/CMakeLists.txt
2013-10-22 14:28:00 +04:00
Vadim Pisarevsky d8c8339bec the first draft of transparent API and new UMat class. more files 2013-10-22 14:05:15 +04:00
Vadim Pisarevsky 278fb617d2 the first draft of transparent API and new UMat class. 2013-10-22 14:04:49 +04:00
Roman Donchenko 6640846e95 Merge pull request #1653 from jlblancoc:master 2013-10-22 13:53:12 +04:00
Andrey Pavlenko 1e8b72f8c0 Merge pull request #1658 from alalek:ocl_fixes 2013-10-22 13:46:54 +04:00
Roman Donchenko 1e556e08dc Merge pull request #1661 from look4pritam:my-branch 2013-10-22 13:45:25 +04:00
look4pritam 8c121d372a Small OpenCV-CUDA bugs are fixed. 2013-10-22 12:08:43 +05:30
Ilya Lavrenov 4d86e2140d OpenCL examples refactoring 2013-10-21 23:50:54 +04:00
Jose-Luis Blanco-Claraco 80e667b647 Minimized the number of arguments required to workaround the MSVC2013 compiler bug. 2013-10-21 21:43:26 +02:00
Jose-Luis Blanco-Claraco 27b02921f3 Added patch file for fixing VS2013 in 3rd party lib OpenEXR 2013-10-21 21:41:27 +02:00
Jose-Luis Blanco-Claraco 77023e2366 Added comment to features2d_init.cpp explaining the reason for the extra parameters. 2013-10-21 21:17:15 +02: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
Jose-Luis Blanco-Claraco c33ca77838 Undo changing whitespace. 2013-10-21 15:59:26 +02:00
Jose-Luis Blanco-Claraco bec35eeddb Avoid duplicated variable declarations. 2013-10-21 15:57:11 +02: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 29f37fc130 Merge pull request #1575 from jet47:gpu-buffer-pool 2013-10-21 16:35:14 +04:00
Roman Donchenko 21233656bd Merge pull request #1540 from jet47:gpuarithm-cudev 2013-10-21 16:34:45 +04:00
Roman Donchenko e290436a4c Merge pull request #1492 from jet47:gpucodec-cudev 2013-10-21 16:30:15 +04:00
Roman Donchenko f25b77ff1e Merge pull request #1534 from jet47:fix-cuda-5.0-build 2013-10-21 16:29:37 +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
Jose-Luis Blanco-Claraco 52a904e17b Fixed MSVC 2013 build errors and workaround for an internal compiler crash. 2013-10-20 17:28:45 +02: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 4c102112dd Merge pull request #1631 from alalek:merge-2.4 2013-10-16 13:38:31 +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
lluis b50185e160 Fix a bug in the er tree clean-up process (see discussion in https://github.com/Itseez/opencv/pull/1520). It's not necessary to walk the er tree in order to clean up the memory since it's possible to cleanup the regions in the stack just by iterating over the er_stack vector instead of walking the tree structure. This turns out to be safer because the tree structure of those regions may have been modified previously in er_save function. 2013-10-15 19:44:08 +02:00
Alexander Alekhin e845184843 Merge remote-tracking branch 'upstream/2.4' into merge-2.4
* #1538 from StevenPuttemans:bugfix_3283
* #1545 from alalek:ocl_test_fix_rng
* #1551 from alalek:cmake_install_win
* #1570 from ilya-lavrenov:ipp_warn_fix
* #1573 from alalek:perf_simple_strategy
* #1574 from alalek:svm_workaround
* #1576 from alalek:ocl_fix_cl_double
* #1577 from ilya-lavrenov:ocl_setto_opencl12
* #1578 from asmorkalov:android_fd_cp_fix
* #1579 from ilya-lavrenov:ocl_norm
* #1582 from sperrholz:ocl-arithm-additions
* #1586 from ilya-lavrenov:ocl_setto_win_fix
* #1589 from ilya-lavrenov:pr1582_fix
* #1591 from alalek:ocl_remove_cl_hpp_h
* #1592 from alalek:ocl_program_cache_update
* #1593 from ilya-lavrenov:ocl_war_on_double
* #1594 from ilya-lavrenov:ocl_perf
* #1595 from alalek:cl_code_cleanup
* #1596 from alalek:test_fix_run_py
* #1597 from alalek:ocl_fix_cleanup
* #1598 from alalek:ocl_fix_build_mac
* #1599 from ilya-lavrenov:ocl_mac_kernel_warnings
* #1601 from ilya-lavrenov:ocl_fix_tvl1_and_sparse
* #1602 from alalek:ocl_test_dump_info
* #1603 from ilya-lavrenov:ocl_disable_svm_noblas
* #1605 from alalek:ocl_fixes
* #1606 from ilya-lavrenov:ocl_imgproc
* #1607 from ilya-lavrenov:ocl_fft_cleanup
* #1608 from alalek:fix_warn_upd_haar
* #1609 from ilya-lavrenov:ocl_some_optimization
* #1610 from alalek:ocl_fix_perf_kalman
* #1612 from alalek:ocl_fix_string_info
* #1614 from ilya-lavrenov:ocl_svm_misprint
* #1616 from ilya-lavrenov:ocl_cvtColor
* #1617 from ilya-lavrenov:ocl_info
* #1622 from a0byte:2.4
* #1625 from ilya-lavrenov:to_string

Conflicts:
	cmake/OpenCVConfig.cmake
	cmake/OpenCVDetectPython.cmake
	cmake/OpenCVGenConfig.cmake
	modules/core/CMakeLists.txt
	modules/nonfree/src/surf.ocl.cpp
	modules/ocl/include/opencv2/ocl/ocl.hpp
	modules/ocl/include/opencv2/ocl/private/util.hpp
	modules/ocl/perf/main.cpp
	modules/ocl/src/arithm.cpp
	modules/ocl/src/cl_operations.cpp
	modules/ocl/src/cl_programcache.cpp
	modules/ocl/src/color.cpp
	modules/ocl/src/fft.cpp
	modules/ocl/src/filtering.cpp
	modules/ocl/src/gemm.cpp
	modules/ocl/src/haar.cpp
	modules/ocl/src/imgproc.cpp
	modules/ocl/src/matrix_operations.cpp
	modules/ocl/src/pyrlk.cpp
	modules/ocl/src/split_merge.cpp
	modules/ocl/src/svm.cpp
	modules/ocl/test/main.cpp
	modules/ocl/test/test_fft.cpp
	modules/ocl/test/test_moments.cpp
	modules/ocl/test/test_objdetect.cpp
	modules/ocl/test/test_optflow.cpp
	modules/ocl/test/utility.hpp
	modules/python/CMakeLists.txt
	modules/ts/include/opencv2/ts.hpp
	modules/ts/src/ts_perf.cpp
	samples/android/face-detection/jni/DetectionBasedTracker_jni.cpp
2013-10-15 20:08:52 +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
Roman Donchenko 3f8db9d708 Merge pull request #1450 from adrians:neon-pull3 2013-10-14 15:08:37 +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 a239797271 Merge pull request #1611 from che-burashco:master 2013-10-12 16:32:39 +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
Kyrylo Shegeda d37d46d279 Fix a typo in kernel size 2013-10-11 23:31:31 -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
Adrian Stratulat 3561bc1bbc rename vBinOp64f to vBinOp64, minor fixups 2013-10-10 21:28:05 +03: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
Adrian Stratulat cb445d697c Refactor vectorized arithmetical operations 2013-10-10 15:52:48 +03: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
Ilya Lavrenov d57a7008f1 fixed cmd parser when arg is like -+ 2013-10-09 17:42:36 +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 3d4ec7ad98 Merge pull request #1583 from SpecLad:name-enum-2 2013-10-09 13:45:40 +04:00
Roman Donchenko d04c4ef72a Merge pull request #1582 from sperrholz:ocl-arithm-additions 2013-10-09 12:36:01 +04:00
Roman Donchenko dfb698dc64 Merge pull request #1581 from SpecLad:merge-2.4 2013-10-09 12:33:50 +04:00
Alexander Alekhin 076eeffd4d ocl: fix CL_RUNTIME_EXPORT for master branch 2013-10-08 19:13:58 +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 Krmer 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
Roman Donchenko cc7a13ea57 Named GraphCutSeamFinderBase to allow its usage in makePtr.
Sequel to bcb6f038.
2013-10-08 18:13:56 +04:00
Roman Donchenko f07769e9d8 Merge remote-tracking branch 'origin/2.4' into merge-2.4
Conflicts:
	cmake/OpenCVDetectOpenCL.cmake
	cmake/OpenCVModule.cmake
	modules/imgproc/src/floodfill.cpp
	modules/nonfree/src/surf.ocl.cpp
	modules/ocl/include/opencv2/ocl/ocl.hpp
	modules/ocl/include/opencv2/ocl/private/util.hpp
	modules/ocl/perf/main.cpp
	modules/ocl/src/arithm.cpp
	modules/ocl/src/blend.cpp
	modules/ocl/src/build_warps.cpp
	modules/ocl/src/canny.cpp
	modules/ocl/src/cl_programcache.hpp
	modules/ocl/src/columnsum.cpp
	modules/ocl/src/haar.cpp
	modules/ocl/src/hog.cpp
	modules/ocl/src/imgproc.cpp
	modules/ocl/src/initialization.cpp
	modules/ocl/src/match_template.cpp
	modules/ocl/src/matrix_operations.cpp
	modules/ocl/src/mcwutil.cpp
	modules/ocl/src/moments.cpp
	modules/ocl/src/mssegmentation.cpp
	modules/ocl/src/precomp.hpp
	modules/ocl/src/pyrdown.cpp
	modules/ocl/src/pyrlk.cpp
	modules/ocl/src/pyrup.cpp
	modules/ocl/src/split_merge.cpp
	modules/ocl/src/stereo_csbp.cpp
	modules/ocl/src/stereobm.cpp
	modules/ocl/test/main.cpp
	samples/ocl/bgfg_segm.cpp
	samples/ocl/facedetect.cpp
	samples/ocl/pyrlk_optical_flow.cpp
	samples/ocl/squares.cpp
	samples/ocl/stereo_match.cpp
	samples/ocl/surf_matcher.cpp
	samples/ocl/tvl1_optical_flow.cpp
2013-10-08 17:57:23 +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
Vladislav Vinogradov 342e007dc6 now Allocator accepts GpuMat* instead of 3 pointers 2013-10-08 17:21:25 +04:00
Vladislav Vinogradov 3b412b51ac moved BufferPool management functions to public 2013-10-08 17:21:22 +04:00
Vladislav Vinogradov 5ea8085220 added BufferPool class 2013-10-08 17:20:29 +04:00
Vladislav Vinogradov 988ab79acb added BufferAllocator 2013-10-08 17:20:20 +04: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 685eceb68a Merge pull request #1567 from ilya-lavrenov:warn_fix 2013-10-08 13:50:49 +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
Ilya Lavrenov 35d9ce0c0c fixed warnings 2013-10-08 12:46:43 +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 b08233a3ca Merge pull request #1569 from ilya-lavrenov:ocl_hough_circles 2013-10-07 17:47:41 +04:00
Roman Donchenko 920e15b41d Merge pull request #1572 from emchristiansen:includeLimits 2013-10-07 16:59:24 +04:00
Roman Donchenko f91f8663b6 Merge pull request #1568 from ilya-lavrenov:ocl_pyrlk 2013-10-07 15:53:20 +04:00
Roman Donchenko 801054d611 Merge pull request #1566 from SpecLad:Wshadow-openni 2013-10-07 15:48:40 +04:00
Vladislav Vinogradov e5188c7e94 added GpuMat::Allocator interface 2013-10-07 09:42:43 +04:00
emchristiansen 34f6b17c3f Merge pull request #1 from ImAlsoGreg/master
add include limits, for compilers that dont add it implicitly
2013-10-06 12:26:45 -07:00
Greg Hale 88b1847d09 add include limits, for compilers that dont add it implicitly 2013-10-06 01:21:43 -04:00
Eric Martin Christiansen c8a3a85e26 adds include to fix build 2013-10-05 15:52:19 -07:00
Ilya Lavrenov 036e99d03a fixed ipp-related warnings 2013-10-05 14:54:00 +04:00
Ilya Lavrenov 8c82decf5b added plain branch to HoughCircle perf test 2013-10-04 19:51:26 +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
Ilya Lavrenov 72c35d3a89 fixed mog2 2013-10-04 18:19:01 +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 744f4b1609 Merge pull request #1565 from SpecLad:cmake-new-ptr 2013-10-04 18:14:34 +04:00
Roman Donchenko 2660f4bc59 Merge pull request #1562 from ilya-lavrenov:ocl_integral 2013-10-04 18:12:43 +04:00
Ilya Lavrenov fb73e7b4bd fixed pyrlk optical flow 2013-10-04 17:56:02 +04:00
Roman Donchenko aa80250a3d Merge pull request #1532 from alalek:stereo_csbp 2013-10-04 16:43:51 +04:00
Roman Donchenko cca2e5d8b1 Merge pull request #1536 from asmorkalov:android_ndk_r9_master 2013-10-04 16:36:44 +04:00
Roman Donchenko 1b51270617 Merge pull request #1558 from SpecLad:Wparentheses-equality 2013-10-04 16:32:09 +04:00
Roman Donchenko f04cade607 Merge pull request #1559 from SpecLad:Wnull-conversion 2013-10-04 16:08:54 +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 b03c19a8ac Merge pull request #1554 from pablospe:fix_viz_module_compilation 2013-10-04 14:02:17 +04:00
Roman Donchenko 61778a524f Merge pull request #1563 from ilya-lavrenov:ocl_arithm 2013-10-04 13:59:19 +04:00
Roman Donchenko 32630dbf61 Adapt cap_openni.cpp to the new Ptr. 2013-10-04 13:51:58 +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
Roman Donchenko ac36ae0498 Merge pull request #1553 from pablospe:doc_include_directories_cmake 2013-10-04 12:59:09 +04: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 1817a07a5e Fixed a -Wnull-conversion Clang warning in cap_gstreamer.cpp. 2013-10-03 12:11:50 +04:00
Roman Donchenko fa9d092c43 Fix a -Wparentheses-equality Clang warning in cap_libv4l.cpp. 2013-10-03 12:04:57 +04:00
Roman Donchenko a1e239d2bf Merge pull request #1527 from vpisarev:shape_module 2013-10-03 11:54:41 +04:00
Alexander Smorkalov 1aaeb52a4c Android NDK r9 support. x64 NDK support fix for MacOS X. 2013-10-03 11:36:12 +04:00
Alexander Smorkalov ccb48ddee0 Android NDK r9 support. x64 NDK support fix for MacOS X. 2013-10-03 11:23:50 +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
Pablo Speciale f47afe5799 Fixed VIZ compilation module (Bug 3297: code.opencv.org/issues/3297) 2013-10-03 02:10:27 +02:00
Pablo Speciale 169ebae8c0 After commit c7bbd1a, 'include_directories()' is needed in the CMakeLists.txt (user side). This commit updates the documentation. 2013-10-03 00:43:12 +02: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
Roman Donchenko 447e03bc28 Merge pull request #1543 from SpecLad:name-enum 2013-10-02 19:22:35 +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
Roman Donchenko e389111b5b Merge pull request #1550 from SpecLad:flann-uninit-master 2013-10-02 18:52:38 +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
Roman Donchenko 58da54cb7a Cherry-picked mariusmuja/flann@8c8b0e0cb8.
Original author: me.
2013-10-02 16:09:45 +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 4c19e0273a Cherry-picked mariusmuja/flann@b615f26947.
Original author: Alex Wilson.
2013-10-02 16:06:56 +04:00
Roman Donchenko 78c4ffec99 Revert "Fixed a bug in FLANN resulting in uninitialized accesses."
This reverts commit a9975b144a, to prepare
for cherry-picking upstream's solution.
2013-10-02 16:02:11 +04:00
Roman Donchenko 60bcc52c4f Merge pull request #1541 from SpecLad:merge-2.4 2013-10-02 14:47:30 +04:00
Roman Donchenko e65eb4e042 Updated Google Test to 1.7.0. 2013-10-02 14:41:00 +04:00
Roman Donchenko 30d7e1c33d Merge remote-tracking branch 'origin/master' into merge-2.4
Conflicts:
	doc/tutorials/bioinspired/retina_model/retina_model.rst~
2013-10-02 13:37:33 +04:00
Roman Donchenko 4c7ecf20d8 Merge pull request #1529 from vpisarev:polyfit_accuracy_2 2013-10-02 12:52:33 +04:00
Roman Donchenko a71a891b93 Merge pull request #1451 from adrians:neon-pull2 2013-10-02 12:51:30 +04:00
Roman Donchenko 1ac1b9ae35 Merge pull request #1474 from f-morozov:for_pr 2013-10-02 11:49:54 +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 184ae873d4 Merge pull request #1526 from vpisarev:linedetector_python 2013-10-01 19:49:17 +04:00
Roman Donchenko 8c15d27619 Merge pull request #1525 from asmorkalov:ocv_custom_libv4l 2013-10-01 19:40:12 +04:00
Roman Donchenko bcb6f0386e Named FastFeatureDetector::Type to allow its use in makePtr.
It has actually worked before (likely because it's inside a class),
but C++03 does disallow unnamed types as template arguments,
and there's a report that at least in one version of GCC it's
enforced: <http://code.opencv.org/issues/3278>.
2013-10-01 18:22:03 +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
Roman Donchenko 6133aeede8 Merge branch 'master' into merge-2.4
Conflicts:
	doc/tutorials/definitions/tocDefinitions.rst
2013-10-01 17:37:05 +04:00
Roman Donchenko 8717281e0e Merge pull request #1209 from nghiaho12:master 2013-10-01 17:07:39 +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
Roman Donchenko aeedc7adec Emergency fix: rename a conflicting label in the tutorials. 2013-10-01 16:10:40 +04:00
Roman Donchenko 81eb4bd8be Merge remote-tracking branch 'origin/2.4'
Conflicts:
	doc/tutorials/features2d/feature_detection/feature_detection.rst
	modules/bioinspired/doc/retina/index.rst
	modules/core/include/opencv2/core/core.hpp
	modules/core/include/opencv2/core/mat.hpp
	modules/core/include/opencv2/core/operations.hpp
	modules/core/src/stat.cpp
	modules/features2d/include/opencv2/features2d/features2d.hpp
	modules/imgproc/src/filter.cpp
	modules/legacy/src/dpstereo.cpp
	modules/nonfree/src/surf.ocl.cpp
	modules/ocl/doc/image_processing.rst
	modules/ocl/doc/object_detection.rst
	modules/ocl/include/opencv2/ocl/ocl.hpp
	modules/ocl/include/opencv2/ocl/private/util.hpp
	modules/ocl/src/arithm.cpp
	modules/ocl/src/canny.cpp
	modules/ocl/src/filtering.cpp
	modules/ocl/src/imgproc.cpp
	modules/ocl/src/initialization.cpp
	modules/ocl/src/matrix_operations.cpp
	modules/ocl/src/pyrdown.cpp
	modules/ocl/src/pyrup.cpp
	modules/ocl/src/split_merge.cpp
	modules/ocl/test/test_objdetect.cpp
	modules/ocl/test/utility.hpp
2013-10-01 15:57:33 +04:00
Roman Donchenko 4ec5c04504 Merge pull request #1315 from dbloisi:add_bs_tutorial 2013-10-01 15:29:38 +04:00
Vladislav Vinogradov 8ed47c01b7 used new device layer for cv::cuda::norm 2013-10-01 15:28:51 +04:00
Vladislav Vinogradov 23cc31e041 used new device layer for cv::cuda::LUT 2013-10-01 15:24:17 +04:00
Nghia Ho 61f5176bad Removed trailing whitespace 2013-10-01 21:03:54 +10:00
Nghia Ho d7bf71c24a Merge remote-tracking branch 'upstream/master' 2013-10-01 19:56:47 +10:00
Ilya Lavrenov 065b40c6c3 fixed and extended ocl::norm 2013-10-01 13:21:43 +04:00
Vladislav Vinogradov 06f07944c8 removed dependecy from cudalegacy 2013-10-01 12:18:40 +04:00
Vladislav Vinogradov 7839dbd2c4 used new device layer for cv::gpu::integral 2013-10-01 12:18:39 +04:00
Vladislav Vinogradov 224f18b06c bitwise operation optimization 2013-10-01 12:18:39 +04:00
Vladislav Vinogradov eb449968b6 removed unroll_detail.hpp 2013-10-01 12:18:39 +04:00
Vladislav Vinogradov 1ef211b889 used new device layer for cv::gpu::reduce 2013-10-01 12:18:39 +04:00
Vladislav Vinogradov 31a7814395 used new device layer for cv::gpu::countNonZero 2013-10-01 12:18:39 +04:00
Vladislav Vinogradov 020624c481 used new device layer for cv::gpu::minMaxLoc 2013-10-01 12:18:39 +04:00
Vladislav Vinogradov e1aa2fd06c added gridMinMaxLoc function 2013-10-01 12:18:39 +04:00
Vladislav Vinogradov 3fb9c52272 cast to reference 2013-10-01 12:18:38 +04:00
Vladislav Vinogradov bbd519be42 fixed warnings 2013-10-01 12:18:38 +04:00
Vladislav Vinogradov 045a856c24 used new device layer for cv::gpu::minMax 2013-10-01 12:18:38 +04:00
Vladislav Vinogradov b705e0d886 used new device layer for cv::gpu::sum 2013-10-01 12:18:38 +04:00
Vladislav Vinogradov 9fe92e2111 renamed grid/glob_reduce.hpp -> grid/reduce.hpp 2013-10-01 12:18:38 +04:00
Vladislav Vinogradov e820c5c65f used new device layer for cv::gpu::mulSpectrums 2013-10-01 12:18:38 +04:00
Vladislav Vinogradov 3f62e78592 used new device layer for cv::gpu::copyMakeBorder 2013-10-01 12:18:38 +04:00
Vladislav Vinogradov 7b3bbcea71 used new device layer for cv::gpu::transpose 2013-10-01 12:18:37 +04:00
Vladislav Vinogradov 6dbb32a05d switched to new device layer in split/merge 2013-10-01 12:18:37 +04:00
Vladislav Vinogradov 3ab7f4b26a removed arithm_func_traits.hpp 2013-10-01 12:18:37 +04:00
Vladislav Vinogradov 7c8c836a7b switched to new device layer in polar <-> cart 2013-10-01 12:18:37 +04:00
Vladislav Vinogradov 5522f43b18 used new device layer for cv::gpu::threshold 2013-10-01 12:18:37 +04:00
Vladislav Vinogradov e83be009a3 used new device layer for cv::gpu::addWeighted 2013-10-01 12:18:37 +04:00
Vladislav Vinogradov c7a3a7d4d9 switched to new device layer in min/max 2013-10-01 12:18:36 +04:00
Vladislav Vinogradov b11cccaaca switched to new device layer in bitwize operations 2013-10-01 12:18:36 +04:00
Vladislav Vinogradov fdfffa5291 fixed warnings 2013-10-01 12:18:36 +04:00
Vladislav Vinogradov ef9917ecf1 used new device layer for cv::gpu::compare 2013-10-01 12:18:36 +04:00
Vladislav Vinogradov 43e811118b fixed assertion 2013-10-01 12:18:36 +04:00
Vladislav Vinogradov 766d950ff3 used new device layer in math per element operations 2013-10-01 12:18:36 +04:00
Vladislav Vinogradov 7628e57fc6 used new device layer for cv::gpu::absdiff 2013-10-01 12:18:35 +04:00
Vladislav Vinogradov 574ff47146 used new device layer for cv::gpu::divide 2013-10-01 12:18:35 +04:00
Vladislav Vinogradov e7dba695b3 used new device layer for cv::gpu::multiply 2013-10-01 12:18:35 +04:00
Vladislav Vinogradov 156f86ea0b used new device layer for cv::gpu::subtract 2013-10-01 12:18:35 +04:00
Vladislav Vinogradov 9c5da2ea22 used new device layer for cv::gpu::add 2013-10-01 12:18:35 +04:00
Vladislav Vinogradov 32d578f5f0 fixed gridTransform overloads problems 2013-10-01 12:18:35 +04:00
Vladislav Vinogradov f4fb7fe1be fixed compilation error "ambiguous symbol" on CUDA 5.0:
disabled Texture Reference API for old CUDA toolkits
2013-10-01 12:15:30 +04:00
Roman Donchenko e0f5a2e532 Merge pull request #1512 from Exocoder:pre-gtk3 2013-10-01 12:09:17 +04:00
John Stowers 51341738ba Add cv::logPolar, cv::linearPolar, and a python example 2013-09-30 22:31:19 +02:00
Tony 0d06b1dced Change true for TRUE
The second parameter of gtk_widget_set_realized is of type gboolean
(gint). This is to ensure compatibility on alternative compilers and
platforms.
2013-09-30 21:04:43 +01:00
Alexander Alekhin 958604a68e perf test: update error message about relative error 2013-09-30 20:11:39 +04:00
Vadim Pisarevsky c810d03d5c some more attempts to fix compile bug on Android 2013-09-30 19:28:11 +04:00
Roman Donchenko ada858e1c0 Merge pull request #1429 from nzjrs:fix-sketcher 2013-09-30 18:06:56 +04:00
Roman Donchenko e35bc11504 Merge pull request #1457 from pengx17:2.4_oclsvm 2013-09-30 17:50:29 +04:00
Roman Donchenko a4b3aa9e1e Merge pull request #1477 from nzjrs:python-gethardwaresupport 2013-09-30 17:44:45 +04:00
Roman Donchenko f3f7f70588 Merge pull request #1488 from abidrahmank:py_tutorials 2013-09-30 17:39:45 +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
Nghia Ho c41a5b9c2c Merge remote-tracking branch 'upstream/master' 2013-09-30 22:59:29 +10: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 4ce0a8a822 Merge pull request #1520 from lluisgomez:scene_text_erGrouping_classifier 2013-09-30 16:08:21 +04:00
Vadim Pisarevsky c3748a5f95 fixed the trailing whitespaces 2013-09-30 16:06:48 +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
Vadim Pisarevsky ca0956a7e2 this is rewrite of the github patch #674 by chouclee; the goal is to improve polyfit accuracy 2013-09-30 16:00:39 +04:00
Ilya Lavrenov b864f48274 fixed ocl::sum, ocl::sqrSum, ocl::absSum 2013-09-30 15:12:38 +04:00
Vadim Pisarevsky bc1f9d6268 fixed description of createLineSegmentDetector 2013-09-30 15:07:32 +04:00
Vadim Pisarevsky cd84742556 attempts to fix build errors on Android 2013-09-30 14:53:48 +04:00
Alex Leontiev 0324932fb3 Added the copyright statements
Added the copyrights missing in all files that required so.
2013-09-30 18:53:32 +08:00
Juan Manuel Perez f6fc39ce8f Putting definitions of SCD and SCDMatcher separated from sc_dis.cpp file 2013-09-30 14:39:17 +04:00
Juan Manuel Perez 4672a70c1f Replaced dynamic_cas with Ptr::dynamicCast<>, and & with && 2013-09-30 14:39:17 +04:00
Juan Manuel Perez 1bf4298251 Macro removal 2013-09-30 14:39:17 +04:00
Juan Manuel Perez aa73dafbbb 2 Compile error fix for Win 2013-09-30 14:39:17 +04:00
Juan Manuel Perez 752d88f5d2 Compile error fix for Win 2013-09-30 14:39:17 +04:00
Juan Manuel Perez 5a1e9876fc Corrected compilation errors Win 2013-09-30 14:39:17 +04:00
Juan Manuel Perez ead966709d Remove ~ file 2013-09-30 14:39:17 +04:00
Juan Manuel Perez fe7bab499f Corrections for compiling issues in Win, And and Doc 2013-09-30 14:39:17 +04:00
Juan Manuel Perez 61c27ac81e Shape module added 2013-09-30 14:39:17 +04:00
Vadim Pisarevsky 851a8a1cd0 fixed whitespace error 2013-09-30 14:31:39 +04:00
Alexander Mordvintsev 20fe614c2f createLineSegmentDetectorPtr -> createLineSegmentDetector in tests and samples 2013-09-30 14:30:01 +04:00
Alexander Mordvintsev 0a8d62e5fd createLineSegmentDetectorPtr -> createLineSegmentDetector 2013-09-30 14:30:01 +04:00
Alexander Mordvintsev f0b050fa88 exposed LineSegemntDetector to python 2013-09-30 14:30:00 +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
Alex Leontiev 3ac3ba0415 Minor fixes
Fix failed builds that opencv's buildbot has got.
2013-09-28 22:33:13 +08:00
Nghia Ho b9e542e35e Missing closedir with opendir 2013-09-28 21:46:48 +10:00
Alex Leontiev 891bcd8491 Finish implementing the Nonlinear Conjugate Gradient
Now everything is prepared for the pull request.
2013-09-28 15:20:45 +08:00
lluis 047b568f6d erGrouping now uses a classifier for group validation instead of a set of heuristical ifos.
Updated documentation and sample to use the new function API
2013-09-27 19:19:45 +02: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
Tony 97fc1e10a7 Replace obsolete Gtk symbols
This update replaces depreciated Gtk1.x symbols with Gtk2.x symbols in
preparation for adding Gtk3 support. These edits aim to be fully
compatible with Gtk2.x, allowing backward compatibility.

The following symbols have been replaced in this commit:

Gtk symbols that have been moved to the Gdk library:
 - GtkType -> Gtype
 - GTK_CHECK_CAST -> G_TYPE_CHECK_INSTANCE_CAST
 - GTK_CHECK_TYPE -> G_TYPE_CHECK_INSTANCE_TYPE
 - gtk_signal_connect -> g_signal_connect
 - GTK_SIGNAL_FUNC -> G_CALLBACK
 - gtk_type_class -> g_type_class_peek
 - gtk_type_new-> g_object_new
 - GtkTypeInfo -> GtypeInfo (Not required for
   g_type_register_static_simple)
 - gtk_type_unique -> g_type_register_static_simple
 - gdk_draw_image_rgb -> replaced by gdk_cairo_source_pixbuf
   NB: This requires porting to use cairo contexts and GdkPixbufs.

The following gtk symbols are changed for their modern equivalent:
 - GTK_WIDGET_REALIZED -> gtk_widget_get_realized
 - GTK_OBJECT_FLAGS -> gtk_widget_set_realized

Symbols without replacement:
 - gtk_range_set_update_policy -> No replacement; as default policy is
   set to continuous we can delete this line.
2013-09-26 18:31:44 +01:00
Alexander Smorkalov 9d626f3005 Merge pull request #1511 from apavlenko:shorten_hdr 2013-09-26 21:09:41 +04:00
Fedor Morozov c9ace38897 Docs updated, added InputArray, fixes for makePtr,... 2013-09-26 19:02:35 +04:00
Nghia Ho 5921c77613 Merge remote-tracking branch 'upstream/master' 2013-09-26 23:08:23 +10:00
Andrey Pavlenko 0a695eb314 hortening the file names (HighDynamicRange -> HDR) 2013-09-26 17:06:06 +04:00
Alexander Smorkalov 4b203f7b1a Merge pull request #1470 from IceRage:min_enclosing_triangle 2013-09-26 16:28:54 +04:00
Andrey Pavlenko 3e91350a31 Merge pull request #1503 from ilya-lavrenov:ocl_arithm 2013-09-26 15:50:54 +04:00
Nghia Ho 357e5d55f6 Removed trailing whitespaces 2013-09-26 19:14:59 +10:00
Nghia Ho e6a9c22b9d Merge remote-tracking branch 'upstream/master' 2013-09-26 19:13:01 +10: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
Alexander Smorkalov 0d49206a98 Merge pull request #1485 from vpisarev:ipp_fixes 2013-09-26 11:09:59 +04:00
perping f65286d3c6 Update the OpenCL documents. 2013-09-26 14:04:11 +08:00
Alexander Smorkalov 241aa6e5a8 Merge pull request #1497 from jet47:fix-bug-3277 2013-09-26 09:31:06 +04: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
Alexander Smorkalov c6ab8cb6ee Merge pull request #1471 from ozantonkal:master 2013-09-25 17:19:39 +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 e1f55c3fcc Merge pull request #1496 from shawke:patch-1 2013-09-25 11:29:46 +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
Vladislav Vinogradov e675684c81 fix bug #3277 (findCirclesGrid failures):
findHomagraphy can return empty Mat in master branch
2013-09-24 14:45:13 +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
shawke 720241de87 Make similar default typedefs for Point_, Size_ and Rect_
Currently, there are different default typedefs for Point_, Size_, and Rect_. This pull request at least makes sure that default typedefs exist for int, float and double variants of each of these types.
2013-09-24 11:48:04 +02: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 c8b97271cc Merge pull request #1430 from nzjrs:add-brisk-to-demos 2013-09-23 16:34:19 +04:00
Nghia Ho b4ffb0878d Merge remote-tracking branch 'upstream/master' 2013-09-23 20:05:51 +10:00
Alexander Smorkalov b5f3709ab9 Merge pull request #1484 from lluisgomez:scene_text_detection_documentation 2013-09-23 14:00:08 +04: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
lluis 5670e4f6cd fixed typos 2013-09-23 10:17:47 +02:00
Vladislav Vinogradov 776c0cb08c switched to new device layer in gpucodec module 2013-09-23 12:16:57 +04:00
abidrahmank 899781b3d6 GSoC Python Tutorials
GSoC Python Tutorials

removed white spaces

removed blank lines at EOF

removed duplicate labels
2013-09-23 13:41:14 +05:30
Jin Ma b88f5302e2 Removed unused constructor. 2013-09-23 15:10:00 +08:00
Alexander Smorkalov 298a1d50d2 Merge pull request #1299 from jet47:gpu-cuda-rename 2013-09-23 10:31:51 +04: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
Alex Leontiev 581d454536 Refined interface for Conjugate Gradient
Some interface was refined (most notably, the method for returning
Hessian was removed and the method for getting gradient was added as
optional to base Solver::Function class) and basic code for
setters/getters was added. Now is the time for the real work on an
algorithm.
2013-09-22 00:27:00 +08:00
Csaba Kertesz 6fb3b4f41c Fix a memory leak in CvNormalBayesClassifier::train() 2013-09-20 22:36:49 +02:00
lluis 5556f051f1 added rst documentation for the Class-specific Extremal Regions for Scene Text Detection 2013-09-20 21:39:11 +02:00
John Stowers 4b19fda1d6 Add brisk features to python demos 2013-09-20 21:12:49 +02:00
John Stowers 42faaa8b39 Fix mouse handling in python demos 2013-09-20 21:04:07 +02:00
John Stowers 14d225134d Redefine CPU_xx constants in cv::namespace
This makes them visible from the python bindings
2013-09-20 20:04:33 +02:00
Nghia Ho 4171767d19 Merge remote-tracking branch 'upstream/master' 2013-09-21 02:20:25 +10:00
Vadim Pisarevsky 8e7eb79f6e fixed compile errors and warnings when building master branch with IPP enabled 2013-09-20 16:02:15 +04:00
Ilya Lavrenov 362a67a695 fixed ocl::oclMat::setTo for 2-channel images 2013-09-20 15:57:38 +04:00
Alex Leontiev eb1333d0a8 Initial commit for Conjugate Gradient method
Implementation is based on
http://www.cs.cmu.edu/~quake-papers/painless-conjugate-gradient.pdf

So far we only have basic interface and empty test. But it compiles at
least.
2013-09-20 15:12:48 +08:00
Alexander Smorkalov c0c575d68e Merge pull request #1481 from Human:master 2013-09-20 11:08:09 +04:00
Alexander Smorkalov 94966b38c0 Merge pull request #1448 from StevenPuttemans:bugfix_3264 2013-09-20 10:55:24 +04:00
Alexander Smorkalov 1445a29e1c Merge pull request #1469 from lluisgomez:scene_text_detection_erGrouping 2013-09-20 10:54:53 +04:00
Bob Igo 2eb5ca0024 fixed malformed XML 2013-09-19 16:32:32 -04:00
Ovidiu Parvu 2bf36c312f Removed static variables which were not read-only and used more function parameters instead. 2013-09-19 18:32:03 +01:00
Ovidiu Parvu e324446c70 Changed the signature of the minEnclosingTriangle function such that it returns the area automatically. Moreover, the overloaded function was no longer required so it was removed. Sample code, documentation and unit tests were updated correspondingly. 2013-09-19 16:22:30 +01:00
Ovidiu Parvu 52cdae6e2b Removed the cvMinEnclosingTriangle function since the C API will be deprecated starting with OpenCV 3.0 2013-09-19 15:37:10 +01:00
Ovidiu Parvu 21390d806f Removed non-ASCII characters from the comments 2013-09-19 15:12:07 +01:00
Nghia Ho 8e8ff4dd33 Merge remote-tracking branch 'upstream/master' 2013-09-19 23:58:19 +10:00
Alexander Smorkalov 0ecd7913f8 Merge pull request #1472 from alalek:master_fix_debug_builds_on_win 2013-09-19 14:41:55 +04:00
lluis 2837bfd9fa Added erGrouping function: Find groups of Extremal Regions that are organized as text blocks. Updated sample/cpp to use the complete text detection pipeline 2013-09-19 10:30:25 +02:00
Alexander Smorkalov c550e452f9 Merge pull request #1384 from hbristow:matlab_public 2013-09-19 10:25:02 +04:00
Fedor Morozov f99be6bda6 Mergin itseez 2013-09-18 18:55:12 +04:00
Ovidiu Parvu 73f476bd4b Added a namespace and prefixed global variables with "G_" in order to prevent variable shadowing problems. 2013-09-18 15:51:10 +01:00
Fedor Morozov 90b6af1496 Merge new changes 2013-09-18 18:21:45 +04:00
Fedor Morozov b1af5cc478 Remove ghost removal 2013-09-18 18:15:51 +04:00
Ozan Tonkal 5780b418c9 delete duplicate bunny.ply, remove tabs and extra lines 2013-09-18 13:46:43 +01:00
Ovidiu Parvu 737c5fe781 Updated the return type of the cvMinEnclosingTriangle function in the documentation 2013-09-18 13:09:55 +01:00
Alexander Alekhin 81ac97c6bd fix for broken debug builds (MSVS2010/2012) 2013-09-18 16:05:21 +04:00
Ozan Tonkal 8de46e1f81 removed trailing spaces 2013-09-18 12:50:55 +01:00
Ovidiu Parvu dc64dd7315 Made the following changes after code inspection (min_enclosing_triangle.cpp):
* Corrected minor typos in comments/function signatures
* Added new details to copyright statement
* Removed unreferenced macros
* Removed the assert statement which was checking the type of the OutputArray triangle
* When returning results using Mat::copyTo instead of Mat::convertTo
* Changed C-style casts to static_casts
* Added division by zero check to distanceFromPointToLine() function
* Updated reference webpages last access dates
* Moved the declaration of the gammaOfA variable outside the while loop in moveAIfLowAndBIfHigh() function for efficiency reasons
2013-09-18 12:21:24 +01:00
Andrey Pavlenko d08b163657 Merge pull request #1468 from alalek:fix_alignSize_usage 2013-09-18 13:30:38 +04:00
hbristow d84ab09ab7 Updated documentation 2013-09-18 18:52:23 +10:00
Ozan Tonkal 824c28a588 Merge remote-tracking branch 'itseez/master' 2013-09-18 08:44:37 +01:00
hbristow 1dd017e9d0 Fixed a memory leak in mxarray 2013-09-18 17:10:54 +10:00
Alexander Smorkalov 99a43257d5 Merge pull request #1465 from jet47:cudev-old-cc 2013-09-18 10:39:53 +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 3fa3722641 Merge pull request #1458 from look4pritam:my-branch 2013-09-17 22:50:48 +04:00
Ozan Tonkal 223fb39d94 include viz tutorials in the main tutorials file. ignore viz samples 2013-09-17 20:17:13 +02:00
Ozan Tonkal a117400577 ignore viz tutorials when BUILD_opencv_viz is not set 2013-09-17 18:55:10 +02:00
Ozan Tonkal e3e5fd5baa Merge remote-tracking branch 'itseezstream/master' 2013-09-17 17:50:14 +02:00
Andrey Pavlenko ad404ef44f Merge pull request #1446 from lluisgomez:scene_text_detection_NM_fix2 2013-09-17 17:50:46 +04:00
Vladislav Vinogradov 20f636fcee fixed cudev compilation for old pre-Fermi archs 2013-09-17 17:43:12 +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
Fedor Morozov 89508bf7ab NO exr now 2013-09-17 00:46:15 +04:00
Fedor Morozov 76c6fa9348 No EXR in tests 2013-09-17 00:39:22 +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
look4pritam a430abd02e The thin prism distortion coefficient related small bug is fixed. 2013-09-16 13:39:11 +05:30
Ovidiu Parvu b570a4ac47 Added the C interface function signature and the overloaded minEnclosingTriangle Python function to the documentation. 2013-09-15 23:40:40 +01:00
Ovidiu Parvu 130b4d8e26 Changed the return type of cvMinEnclosingTriangle to CVAPI(void). Added the implementation of the function to the min_enclosing_triangle.cpp source file. 2013-09-15 23:25:36 +01:00
Ovidiu Parvu 7ac768651f Added the signature cvMinEnclosingTriangle (C version) to the imgproc_c.h header 2013-09-15 22:40:57 +01:00
Ovidiu Parvu 0117d77cd1 Added the tests for the minEnclosingTriangle function in the existing test_convhull.cpp file. 2013-09-15 22:25:58 +01: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
Ozan Tonkal 3165b526f2 merge with Itseez/opencv 2013-09-15 17:51:27 +02:00
hbristow eb3a83209c Added TODO for the future of Matlab version sorting 2013-09-16 00:48:07 +10:00
Ozan Tonkal c31fb8ffff rename widgets from *Widgets to W* 2013-09-15 16:26:53 +02:00
Ovidiu Parvu caaa9e0f2d - Wrote the documentation for the minEnclosingTriangle function (+1 extra picture depicting a sample output) 2013-09-15 15:07:17 +01:00
hbristow 31c58d23e0 Streamlined mexext detection, with removal of trailing whitespace/newlines handled by execute_process 2013-09-15 23:53:29 +10:00
Alexander Alekhin 0ee47502d9 remove CV_EXPORT from templates 2013-09-15 13:48:54 +04:00
Ozan Tonkal f570b3e18d cmake check if VTK version is lower than 5, and give fatal error if it is 2013-09-15 11:24:20 +02:00
hbristow 86b7e3d15d Moved Jinja2 into 3rdparty. Now using latest stable version from pypi (2.7.1) 2013-09-15 17:36:13 +10:00
Adrian Stratulat f9ea3772b0 Add compile option for enabling NEON 2013-09-14 13:32:20 +03:00
hbristow 224f44a255 Made changes to OpenCVFindMatlab suggested by SpecLad 2013-09-14 13:32:15 +10:00
Andrey Pavlenko f9c6123439 Merge pull request #1444 from ilya-lavrenov:ocl_test_mog 2013-09-13 19:53:21 +04:00
lluis d25309f82e first parameter of createERFilterNM1/createERFilterNM2 is now mandatory. changed the sample program to use the new prototypes 2013-09-13 16:29:21 +02:00
lluis 75fdfba281 renamed getDefaultClassifierNM{1,2}() to loadClassifierNM{1,2}() and added "const std::string& filename" parameter (mandatory). 2013-09-13 16:19:52 +02: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
Roman Donchenko eff21788a8 Merge pull request #1445 from vpisarev:stereocalib_quick_fix 2013-09-13 15:01:14 +04:00
lluis 95d92c099c functions getDefaultClassifierNM1() and getDefaultClassifierNM2() allow to implicitly load the default classifiers when creating a ERFilter object 2013-09-13 12:54:23 +02:00
Roman Donchenko 160ab8415e Merge pull request #1330 from lenlen:plantuml 2013-09-13 14:31:01 +04:00
Vadim Pisarevsky 84022b0c19 fix thin-prism coefficients at 0's in the stereo calibration function unless the flag CALIB_THIN_PRISM_MODEL is explicitly set 2013-09-13 13:32:42 +04:00
Roman Donchenko c511d5d649 Merge pull request #1414 from lluisgomez:scene_text_detection_computeNMChannels 2013-09-13 13:31:14 +04:00
Roman Donchenko 0033d453f2 Merge pull request #1426 from nailbiter:optimPD 2013-09-13 13:27:02 +04:00
Roman Donchenko e3b92a9591 Merge pull request #1441 from look4pritam:prism-stereo 2013-09-13 13:17:06 +04:00
Roman Donchenko 4082a0c64e Merge pull request #1442 from SpecLad:version-status 2013-09-13 13:16:30 +04:00
Ilya Lavrenov 9311f84109 disabled MOG tests if no video input support 2013-09-13 12:47:25 +04:00
hbristow 232f11e256 Updated OpenCVFindMatlab with changes suggested by SpecLad 2013-09-13 18:08:33 +10:00
hbristow 530ad447bc Added fixes to CMakeLists.txt 2013-09-13 17:22:12 +10:00
Ovidiu Parvu 8bada4c751 Overloaded the minEnclosingTriangle function such that there is an alternative function with the same name which does not require the output parameter ``area''.
Changed the sample source file minarea.cpp to use the overloaded version of the function.
Updated some comments in the min_enclosing_triangle.cpp source file.
2013-09-12 23:47:48 +01:00
Ozan Tonkal 3f27ba54e0 re-render the scene after changing camera properties 2013-09-12 19:23:05 +02:00
Mathieu Barnachon 0934344a3d Update sample and code with external computation of HOG detector. 2013-09-12 18:38:49 +02:00
Ovidiu Parvu 0ed2f6201d Optimised one assert statement in the min_enclosing_triangle.cpp file. Added the minEnclosingTriangle functionality to the existing minarea.cpp sample file. 2013-09-12 15:01:21 +01:00
Ovidiu Parvu 9902affae6 Added some assert statements to constrain the type of the input and output parameters. Convert the input set of points to vector<Point2f> before passing it to the findMinimumAreaEnclosingTriangle function. 2013-09-12 14:34:08 +01: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 d669559ec3 Bumped version to 3.0. 2013-09-12 16:40:14 +04:00
Roman Donchenko b525c28244 Updated the Java bindings and docs to support the version status. 2013-09-12 16:39:14 +04:00
Roman Donchenko 473bfb0019 Updated the build config files to deal with the version status.
I didn't make the status part of the version variables here, because
letters don't play too well with version comparison algorithms
(especially with CMake's, which only supports numbers).
2013-09-12 16:37:30 +04:00
Roman Donchenko cd8ff69637 Added version status support into the build system. 2013-09-12 16:37:05 +04:00
Ovidiu Parvu 4fce8e6b0e Changed the semantics of the minEnclosingTriangle function such that:
1. The function receives a set of points as input instead of a convex polygon with more than three vertices
2. The convex hull P is computed inside the function
3.1. If the number of vertices of P is greater than three then the algorithm which was implemented before executes
3.2. Otherwise the vertices of the triangle are picked from the vertices of the given polygon and the area computed
2013-09-12 13:29:10 +01:00
Roman Donchenko 887825e831 Added an additional version component - the development status.
This will allow us to distinguish between regular releases, prereleases
and development versions.
2013-09-12 16:20:09 +04:00
antonella 5b2d557502 Added plantuml extension
Aligned strings in CMakeList

Modified the check on plantuml extension

Some fixes

Moved find_host_program for plantuml script
2013-09-12 10:41:21 +00:00
Roman Donchenko dee2a65978 Merge pull request #1440 from SpecLad:wcast-align 2013-09-12 13:56:23 +04:00
look4pritam 7fd7bbc9f1 The prism distortion coefficients are added for the stereo calibration. 2013-09-12 15:17:11 +05:30
Ovidiu Parvu 510ad8e779 - Changed the type of the minEnclosingTriangle function parameters by using proxy classes InputArray/OutputArray instead of std::vector<T>
- Adapted the source code to accommodate this change
2013-09-12 10:11:38 +01: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
Ovidiu Parvu e6b58c4e79 - Added the minEnclosingTriangle function declaration to the imgproc header
- Added the source code for the function in the separate file min_enclosing_triangle.cpp
2013-09-11 18:07:19 +01:00
Roman Donchenko 4fe8e377ed Merge pull request #1436 from SpecLad:host-git 2013-09-11 19:06:50 +04:00
Roman Donchenko 03926fac20 Fixed finding Git when cross-compiling. 2013-09-11 17:54:34 +04:00
Ozan Tonkal 620d92824c hide VizMap and VizPair from public interface 2013-09-11 13:23:57 +02: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
Vladislav Vinogradov 6bbac2a7d9 Merge branch 'master' into gpu-cuda-rename 2013-09-11 09:41:23 +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
Roman Donchenko acc2ca484c Merge pull request #1425 from pengx17:master_retina_ocl_fix 2013-09-10 18:29:25 +04:00
Roman Donchenko 242e4254f3 Merge pull request #1427 from SpecLad:merge-2.4 2013-09-10 18:28:20 +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 7238479813 Merge pull request #1415 from znah:sfm_py 2013-09-10 11:37:05 +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 54c6830937 Merge pull request #1422 from SpecLad:nat-act-upd 2013-09-10 11:32:09 +04:00
Roman Donchenko 95c2e8b51f Merge remote-tracking branch 'origin/2.4' into merge-2.4
Conflicts:
	.gitignore
	doc/tutorials/objdetect/cascade_classifier/cascade_classifier.rst
	modules/gpu/src/match_template.cpp
	modules/imgproc/include/opencv2/imgproc/imgproc.hpp
	modules/ocl/include/opencv2/ocl/ocl.hpp
	modules/ocl/perf/perf_precomp.hpp
2013-09-10 11:30:19 +04:00
Roman Donchenko 260b283fb3 Merge pull request #1413 from melody-rain:2.4_kalman_filter 2013-09-10 11:28:22 +04:00
peng xiao 8767c47463 Fix whitespaces. 2013-09-10 15:13:53 +08:00
pengxiao a92721b569 Fix retina ocl on NV.
Previously we incorrectly assumed data was aligned in 16 bytes, which should be 32.
2013-09-10 14:33:23 +08:00
Alex Leontiev a29863ee7b Eliminate use of 32-bit floating pt type
Replace all "float" by "double" (64-bit) to avoid "lose precision"
warnings.
2013-09-10 13:53:26 +08:00
Alex Leontiev 1207cd132b Minor fixes
Fixed integer vs unsigned integer comparison in .cpp test source and
trailing whitespaces in source code
2013-09-10 13:53:26 +08:00
Alex Leontiev 11fa0651c6 Minor fixes
As the opencv's build-bot did not want to compile this revision, I had
to do some changes. In particular,
1) Removed unsigned int vs int comparisons, that were treated as errors
2) Removed unused variables and functions
3) Removed functions without previous declaration
4) Fixed whitespaces
2013-09-10 13:53:26 +08:00
Alex Leontiev ccc71ac190 Primal-dual algorithm
This is an implementation of primal-dual algorithm, based on the C++
source code by Vadim Pisarevsky. It was extended to handle the denoising
based on multiple observations. It also contains documentation and
tests.
2013-09-10 13:53:26 +08:00
lluis ad94628038 Using cv::magnitude instead of custom loop and Mat<float> instead of Mat<double> to compute gradient magnitude channel. 2013-09-09 18:37:55 +02:00
Roman Donchenko 4ee5599d4b Merge pull request #1381 from 23pointsNorth:master 2013-09-09 19:53:56 +04:00
Roman Donchenko 41b8479d03 Merge pull request #1376 from StevenPuttemans:bugfix_3186 2013-09-09 18:33:11 +04:00
Roman Donchenko 3609bb41a7 Updated the native activity sample to master's API. 2013-09-09 18:17:02 +04:00
Ilya Lavrenov 16357418d5 increased time limit for bilateral filter performance tests 2013-09-09 18:16:53 +04:00
Roman Donchenko 59dd5aea00 Reenabled adding native app glue for Android samples. 2013-09-09 18:16:20 +04:00
Roman Donchenko d5aaab745f Merge pull request #1282 from nailbiter:optimDS 2013-09-09 18:10:13 +04:00
Nghia Ho 0e06465a23 Merge remote-tracking branch 'upstream/master' 2013-09-09 23:23:12 +10: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 Mordvintsev 79d51c3398 expose findEssentialMat, decomposeEssentialMat and recoverPose to Python 2013-09-09 14:02:05 +04:00
Alexander Smorkalov 40212e1eb9 Link to Hough Circle Transform sample fixed in tutorial. 2013-09-09 13:53:49 +04:00
lluis e8d3732aaf added computeNMChannels helper function to compute the diferent channels to be processed independently in the N&M algorithm. 2013-09-09 11:37:58 +02:00
Jin Ma a4ab3f4ea8 Removed whitespace. 2013-09-09 17:00:33 +08:00
Vladislav Vinogradov 1036ce807c Merge branch 'master' into gpu-cuda-rename
Conflicts:
	modules/core/include/opencv2/core/cuda.hpp
	modules/cudaimgproc/src/gftt.cpp
	modules/objdetect/include/opencv2/objdetect/erfilter.hpp
	modules/objdetect/src/erfilter.cpp
	modules/superres/perf/perf_superres.cpp
	modules/superres/src/btv_l1_cuda.cpp
	modules/superres/src/optical_flow.cpp
	modules/videostab/src/global_motion.cpp
	modules/videostab/src/inpainting.cpp
	samples/cpp/stitching_detailed.cpp
	samples/cpp/videostab.cpp
	samples/gpu/stereo_multi.cpp
2013-09-09 12:57:35 +04: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
Roman Donchenko 77a2529eb7 Merge pull request #1408 from jet47:new-ptr-fixes 2013-09-09 12:27:27 +04:00
Jin Ma 2d5a1dacd0 Added Kalman Filter of OpenCL version. 2013-09-09 16:08:23 +08:00
Roman Donchenko 74578f56a9 Merge pull request #1403 from lluisgomez:scene_text_detection_NM_fix 2013-09-09 12:05:57 +04:00
Roman Donchenko a03c6decaf Merge pull request #1409 from SpecLad:imgproc-test-memerr 2013-09-09 12:03:58 +04:00
Vladislav Vinogradov 6ad72bfcb4 removed detail:: prefix int video_reader
it conflicts with cv::detail
2013-09-09 10:57:51 +04:00
Vladislav Vinogradov a0771630b0 restored original behaviour or release functions for (Buffer and Texture) 2013-09-09 10:57:45 +04:00
Vladislav Vinogradov c439702f0c added missing gpu::matchTemplate implementation for non-CUDA build 2013-09-09 10:51:44 +04:00
Ozan Tonkal 9895093524 check if vtk 5.10.0 exists, if not require 6.0.0 2013-09-08 19:41:35 +02:00
Ozan Tonkal 56f9168ac1 support VTK 6.0.0: cmakelist.txt might need to be refactored 2013-09-08 19:07:15 +02:00
Ozan Tonkal 26005a19bd add license headers 2013-09-08 19:05:24 +02:00
Ozan Tonkal c773061457 updated documentation 2013-09-08 19:03:55 +02:00
Ozan Tonkal 3bdb55e1ef another constructor for CameraPositionWidget for displaying image by also using field of view instead of intrinsic matrix 2013-09-08 19:03:55 +02:00
Ozan Tonkal 2170559bed text3dwidget offers now users to decide whether it should face the camera or not 2013-09-08 19:03:54 +02:00
Ozan Tonkal 286f81f305 fix crucial bug in get method, hide add and remove methods from user 2013-09-08 19:03:54 +02:00
Ozan Tonkal 2969ec0274 transformations tutorial rst 2013-09-08 19:03:54 +02:00
Ozan Tonkal 5307339f85 tutorial code for makeTransformToGlobal, makeCameraPose, minor fixes in widget_pose tutorial 2013-09-08 19:03:54 +02:00
Ozan Tonkal 7116e22b52 some of the tutorials 2013-09-08 19:03:54 +02:00
Ozan Tonkal fcf437cf69 combine representation methods to one as setRepresentation 2013-09-08 19:03:54 +02:00
Ozan Tonkal 94ca5d65d0 remove VIZ prefix from rendering properties, fix setRenderingProperties and getRenderingProperties methods 2013-09-08 19:03:54 +02:00
Ozan Tonkal fdbf20c172 delete common.h, viz_types.hpp, rendering properties are public, setcolor in creating_widgets tutorial 2013-09-08 19:03:54 +02:00
Jin Ma 2fb0d23104 Removed unnecessary process for conversion to 4-channel format. 2013-09-07 10:40:30 +08:00
lluis cd33ca0009 changed default parameters in CreateERFiltersNM{1,2} functions. They are not needed now in the sample example. 2013-09-06 19:10:53 +02:00
Anatoly Baksheev 9a91a12fb2 VIZ disabled by default, VTK search is performed iff BUILD_opencv_viz is enabled 2013-09-06 19:50:47 +04:00
Anatoly Baksheev 477ca067f0 compilation for macos 2013-09-06 19:32:35 +04:00
Anatoly Baksheev eed7bf6902 compilation for windows 2013-09-06 18:43:14 +04:00
Anatoly Baksheev 07d55b05b3 Merge pull request #20 from ozantonkal/low_order_tasks
Low order tasks
2013-09-06 07:39:23 -07:00
Fedor Morozov a7bcf63765 Robertson docs 2013-09-06 18:21:59 +04:00
Fedor Morozov c118f3c529 Robertson update 2013-09-06 17:30:43 +04: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
lluis 6ef1d456dd fixed rebase conflicts 2013-09-06 14:00:11 +02:00
Roman Donchenko 2de8487e58 Fixed a few tests that use uninitialized inputs. 2013-09-06 15:53:42 +04:00
Vladislav Vinogradov b7eff94137 fixed compilation issues with new Ptr 2013-09-06 15:52:07 +04:00
Vladislav Vinogradov 0c7663eb3b Merge branch 'master' into gpu-cuda-rename
Conflicts:
	modules/core/include/opencv2/core/cuda.hpp
	modules/cudacodec/src/thread.cpp
	modules/cudacodec/src/thread.hpp
	modules/superres/perf/perf_superres.cpp
	modules/superres/src/btv_l1_cuda.cpp
	modules/superres/src/optical_flow.cpp
	modules/videostab/src/global_motion.cpp
	modules/videostab/src/inpainting.cpp
	samples/cpp/stitching_detailed.cpp
	samples/cpp/videostab.cpp
	samples/gpu/stereo_multi.cpp
2013-09-06 15:44:44 +04:00
Roman Donchenko f88d8b9545 Merge pull request #1405 from SpecLad:retina-ocl-warn 2013-09-06 15:10:06 +04:00
Fedor Morozov deeaddb0a9 Doc update 2013-09-06 14:49:19 +04:00
Fedor Morozov f4792f8a44 Doc update 2013-09-06 14:43:04 +04:00
lluis 512111af9c removed blank line at EOF 2013-09-06 12:32:10 +02:00
lluis 1cc6502db3 removed unnecessary commented block 2013-09-06 12:32:10 +02:00
lluis 04913f5af7 removed trailing whitespaces 2013-09-06 12:32:10 +02:00
lluis b9a5e919e2 better parameter settings for the ERFilter sample 2013-09-06 12:31:49 +02:00
lluis 15511bff40 better classifiers performance by training them with a new dataset of "manually" selected regions 2013-09-06 12:31:49 +02:00
lluis f4d01175b8 fixed a bug in the calculation of the number of inflexion points feature 2013-09-06 12:31:49 +02:00
lluis 765921cc25 fixed a typo error in the default min_Probability param of CreateERFilterNM2 2013-09-06 12:30:22 +02:00
lluis dba336c0e3 fixed a bug in the non-max-suppression filter procedure 2013-09-06 12:27:19 +02: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 439e90f4f4 retina_ocl.cpp: removed two unused arrays. 2013-09-06 12:34:37 +04:00
Roman Donchenko af594c8e44 retina_ocl.hpp: switched BasicRetinaFilter's members around to fix a -Wreorder warning. 2013-09-06 12:33:54 +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
Roman Donchenko bad927325f Merge pull request #1281 from SpecLad:the-smartest-pointer 2013-09-06 11:53:34 +04:00
hbristow 74accbd969 Added <algorithm> to mxarray.hpp, which seems to be needed explictly by some compilers 2013-09-06 16:42:32 +10:00
Jin Ma 172242a94e Revised performance test according to the feedback of the community. 2013-09-06 13:39:41 +08:00
hbristow 6964f6aacc Removed unused Dynamic from matlab namespace - clashing with Eigen 2013-09-06 15:26:05 +10:00
Ozan Tonkal 5eed0d6bef remove common.h include from widgets.hpp 2013-09-05 21:03:40 +02:00
Ozan Tonkal f99e874704 tutorial: creating_widgets code 2013-09-05 21:03:40 +02:00
Ozan Tonkal b60894c1dd launching viz tutorial 2013-09-05 21:03:40 +02:00
Ozan Tonkal 31501ebf4f replace tabs by spaces 2013-09-05 21:03:39 +02:00
Ozan Tonkal a5b75769a3 initial documentation 2013-09-05 21:03:39 +02:00
Ozan Tonkal 2822845ba6 set get RenderingProperty id comes first 2013-09-05 21:03:39 +02:00
Ozan Tonkal 9d4fe6984b remove setWindowName method to avoid complications 2013-09-05 21:03:39 +02:00
Ozan Tonkal 21be9796ae comments on widgets where constructors might be confusing 2013-09-05 21:03:39 +02:00
ozantonkal 2705113bc4 remove common.cpp, remove commented code in common.h 2013-09-05 21:03:39 +02:00
ozantonkal ffbb5e9524 resetCamera, resetViewpoint in Viz3d 2013-09-05 21:03:39 +02:00
ozantonkal 4aa61dee50 minor refactoring interactor_style 2013-09-05 21:03:39 +02:00
ozantonkal af8a918e04 fix minor bug, minor cleaning, cv_assert with messages 2013-09-05 21:03:39 +02:00
ozantonkal 69f135ec57 fix memory leak in viz3d 2013-09-05 21:03:39 +02:00
ozantonkal 6c0c217562 removed reference counter in widgets, fixed memory leak 2013-09-05 21:03:39 +02:00
ozantonkal 4b443059ec reverted widget reference count in order to avoid memory leak 2013-09-05 21:03:39 +02:00
ozantonkal 8007e07ad2 load mesh function is finalized: color range is always 0-255 and RGB due to vtkPLYReader limitations 2013-09-05 21:03:39 +02:00
ozantonkal e4b13f2ef0 update reader after setting file name 2013-09-05 21:03:39 +02:00
ozantonkal 3da7dd9849 fix yellow and magenta color bgr codes 2013-09-05 21:03:39 +02:00
ozantonkal 9086cf5d79 remove unused includes and libraries from linking 2013-09-05 21:03:39 +02:00
ozantonkal 3038ffb886 setDesiredUpdateRate implementation in Viz3d 2013-09-05 20:56:33 +02:00
ozantonkal ed0162ad0b remove reference counting in widgets 2013-09-05 20:56:33 +02:00
ozantonkal 08917908f3 remove eigen dependency 2013-09-05 20:56:33 +02:00
ozantonkal f98614ece0 remove cloudactormap, shapeactormap. only vtkProp is stored and view transformation can be obtained using GetUserMatrix of vtkProp3D 2013-09-05 20:56:33 +02:00
ozantonkal f6e1a093cd implement window relevant methods in Viz3d 2013-09-05 20:56:33 +02:00
ozantonkal 4f416352e1 implemented actor representation methods in viz3d 2013-09-05 20:56:33 +02:00
ozantonkal cf36b8f817 rendering properties in Widget and Viz3d 2013-09-05 20:56:33 +02:00
ozantonkal b032b4dded move frompolyfile to widget class as static method, remove addpolygon and its alikes 2013-09-05 20:56:33 +02:00
ozantonkal 0bbaf5d47a removeAllWidgets implementation, removed other remove methods 2013-09-05 20:56:33 +02:00
ozantonkal e106dcc606 remove include vtk headers from outside of precomp.hpp 2013-09-05 20:56:32 +02:00
Ilya Lavrenov be98cd2f7f replaced explicit __stdcall by CV_STDCALL 2013-09-05 19:25:03 +04:00
Roman Donchenko 86b841563b Added tests for Ptr. 2013-09-05 19:03:00 +04:00
Roman Donchenko c7d2fdc4b2 Fixed some dubious uses of tbb::task_scheduler_init. 2013-09-05 19:03:00 +04:00
Roman Donchenko a97ffe6513 Rewrote the documentation for Ptr to fit the new implementation. 2013-09-05 19:03:00 +04:00
Roman Donchenko a50d75d362 Made Filestorage able to not own its CvFileStorage instance.
This allows to get rid of the last remaining Ptr<T>::addref calls.
2013-09-05 19:03:00 +04:00
Roman Donchenko 3e189a2b41 Replaced calls to Ptr<T>::ptr to ::dynamicCast. 2013-09-05 19:03:00 +04:00
Roman Donchenko 24dee16b12 Added to CV_INIT_ALGORITHM a Ptr creation function, for convenience.
Also changed the static functions to inline, to stop GCC complaining
about unused functions.
2013-09-05 19:03:00 +04:00
Roman Donchenko dadee3752c Adapt Python bindings to the new Ptr. 2013-09-05 19:03:00 +04:00
Roman Donchenko 2f942efdf7 Java: removed usages of Ptr<T>::addref().
Now the features2d class wrappers use composition instead of inheritance.
2013-09-05 19:03:00 +04:00
Roman Donchenko 2a2c21bb63 Replace an incorrect usage of Ptr with a simple vector. 2013-09-05 19:02:59 +04:00
Roman Donchenko 62353b7980 Boring changes - samples. 2013-09-05 19:02:59 +04:00
Roman Donchenko 34af7eeb84 Boring changes - apps. 2013-09-05 19:02:59 +04:00
Roman Donchenko eaa7fcc3e6 Boring changes - legacy. 2013-09-05 19:02:59 +04:00
Roman Donchenko 34127ba80f Boring changes - contrib. 2013-09-05 19:02:59 +04:00
Roman Donchenko 3bca57ac25 Boring changes - ocl. 2013-09-05 19:02:59 +04:00
Roman Donchenko fc0e835762 Boring changes - gpuwarping. 2013-09-05 19:02:59 +04:00
Roman Donchenko d33ff4bb11 Boring changes - gpustereo. 2013-09-05 19:02:59 +04:00
Roman Donchenko d6146e9543 Boring changes - gpulegacy. 2013-09-05 19:02:59 +04:00
Roman Donchenko a007c7b980 Boring changes - gpuimgproc. 2013-09-05 19:02:58 +04:00
Roman Donchenko b165016ba7 Boring changes - gpufilters. 2013-09-05 19:02:58 +04:00
Roman Donchenko a57f93ee92 Boring changes - gpucodec. 2013-09-05 19:02:58 +04:00
Roman Donchenko 2c033251db Boring changes - gpubgsegm. 2013-09-05 19:02:58 +04:00
Roman Donchenko f8f0685397 Boring changes - gpuarithm. 2013-09-05 19:02:58 +04:00
Roman Donchenko 57595a8308 Boring changes - gpu. 2013-09-05 19:02:58 +04:00
Roman Donchenko 0dcb4f1f66 Boring changes - videostab. 2013-09-05 19:02:58 +04:00
Roman Donchenko 808e0cf10b Boring changes - video. 2013-09-05 19:02:58 +04:00
Roman Donchenko 93f757f8a2 Boring changes - superres. 2013-09-05 19:02:58 +04:00
Roman Donchenko f21851f0f4 Boring changes - stitching. 2013-09-05 19:02:58 +04:00
Roman Donchenko cce0f48d3e Boring changes - softcascade. 2013-09-05 19:02:58 +04:00
Roman Donchenko 32205d3c5b Boring changes - photo. 2013-09-05 19:02:58 +04:00
Roman Donchenko b12894d95a Boring changes - objdetect. 2013-09-05 19:02:58 +04:00
Roman Donchenko de6a934f66 Boring changes - nonfree. 2013-09-05 18:26:44 +04:00
Roman Donchenko 345bc633cc Boring changes - ml. 2013-09-05 18:26:44 +04:00
Roman Donchenko 1eacb485c5 Boring changes - features2d. 2013-09-05 18:26:44 +04:00
Roman Donchenko bd70a033fc Boring changes - calib3d. 2013-09-05 18:26:43 +04:00
Roman Donchenko 711fb6bd92 Boring changes - bioinspired. 2013-09-05 18:26:43 +04:00
Roman Donchenko beeb932d22 Boring changes - highgui. 2013-09-05 18:26:43 +04:00
Roman Donchenko 254d4ae429 Boring changes - imgproc. 2013-09-05 18:26:43 +04:00
Roman Donchenko 8200a95ced Boring changes - core.
This and several following commits contain the "boring" changes required
to support the new Ptr. These are changes like:

* new T -> makePtr<T> or .reset(new T) or Ptr<T>(new T)
  (depending on the situation)
* p.empty() -> !p
* delete_obj -> DefaultDeleter::operator()

and similar changes that are numerous, but primitive.
2013-09-05 18:26:43 +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 461c98fa86 Replaced Ptr with my new implementation. 2013-09-05 14:54:20 +04:00
Fedor Morozov e33a4f79f8 Merge branch 'devel' of https://github.com/f-morozov/opencv into devel 2013-09-05 14:49:18 +04:00
Fedor Morozov 85eb52b8af Debevec Calibrate 2013-09-05 14:41:35 +04:00
fm cb27740de4 Linux compilation 2013-09-05 14:26:21 +04:00
Fedor Morozov 0f703b8162 Calibrate Debevec changes 2013-09-05 14:10:53 +04:00
Roman Donchenko 70711ac6c2 Merge pull request #1400 from ilya-lavrenov:ocl_test_mog 2013-09-05 11:58:52 +04:00
Roman Donchenko ecc51817d9 Merge pull request #1399 from pengx17:master_retina_ocl_fix 2013-09-05 11:57:46 +04:00
Roman Donchenko b9ae8623b2 Merge pull request #1398 from ilya-lavrenov:ocl_perf_gemm 2013-09-05 11:56:24 +04:00
Mathieu Barnachon 2fe340bf8a adding sample to train HOG and compare it with default people detector. 2013-09-05 17:33:08 +12:00
Mathieu Barnachon 464985205c Update PR after mdim review. 2013-09-05 16:05:54 +12:00
Daniel Angelov 25c0d5978c Update on the compare lines method. 2013-09-05 00:02:24 +03: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
Daniel Angelov b5e1eb7d48 Removed IOArray constness. 2013-09-04 14:59:57 +03:00
Roman Donchenko 33d8d8ffd1 Merge pull request #1392 from SpecLad:flann-uninit 2013-09-04 15:49:14 +04:00
Alexander Shishkov cf275acbce small changes in the tutorial 2013-09-04 15:14:49 +04:00
Nghia Ho cc15898353 Merged with HEAD and removed C interface to rotatedRectangleIntersection 2013-09-04 20:45:10 +10: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
pengxiao e45f92a9e1 Fix a bug of ocl retina on NVIDIA platform. 2013-09-04 16:38:36 +08:00
ilya-lavrenov f538e50385 updated .gitignore 2013-09-04 11:56:44 +04:00
Roman Donchenko fd3b2326b4 Merge pull request #1373 from abidrahmank:pykeypoints 2013-09-04 11:53:33 +04:00
Vladislav Vinogradov f46b7fcf86 fixed warnings in resize.cu 2013-09-04 11:15:18 +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
Vladislav Vinogradov 1ad4592bfc Merge branch 'master' into gpu-cuda-rename
Conflicts:
	modules/cudaoptflow/perf/perf_optflow.cpp
	modules/cudaoptflow/src/tvl1flow.cpp
	samples/gpu/stereo_multi.cpp
2013-09-04 09:58:32 +04:00
Roman Donchenko 009919872f Merge pull request #1389 from SpecLad:merge-2.4 2013-09-03 19:42:06 +04:00
Abid K 0902f183ca alignment of parameters as per speclad 2013-09-03 21:12:03 +05:30
Roman Donchenko 79457f8f49 Merge pull request #1224 from mbarnach:pca_io 2013-09-03 18:43:54 +04: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
Alexander Shishkov 359771fdac small fixes in the tutorial 2013-09-03 17:07:49 +04:00
Alexander Shishkov e354fa3fd1 fixed test data in highgui test for HDR 2013-09-03 14:24:14 +04:00
Alexander Shishkov 924f7ce373 small changes for compilation 2013-09-03 14:05:14 +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
hbristow 7e5bbec895 Removing trailing whitespace and expanded tabs 2013-09-03 10:14:45 +10:00
Anatoly Baksheev 35e7952909 simplify modules/viz/CMakeLists.txt 2013-09-03 01:59:00 +04:00
Roman Donchenko 18bb951574 Nuked the rest of the precomp.cpp files.
Consider this a part of merging #1357.
2013-09-02 19:53:45 +04:00
Roman Donchenko 9218f4976c Merge remote-tracking branch 'origin/2.4' into merge-2.4
Conflicts:
	modules/contrib/src/retina.cpp
	modules/gpu/perf/perf_video.cpp
	modules/gpuoptflow/src/tvl1flow.cpp
	modules/ocl/include/opencv2/ocl/ocl.hpp
	modules/ocl/perf/perf_calib3d.cpp
	modules/ocl/perf/perf_color.cpp
	modules/ocl/perf/perf_match_template.cpp
	modules/ocl/src/precomp.hpp
	samples/gpu/stereo_multi.cpp
2013-09-02 19:44:51 +04: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
Fedor Morozov e15eabe3fa Ghostbusters 2013-09-02 16:03:10 +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
hbristow f57145dc64 Fixed regular expression for finding Matlab in Windows PATH 2013-09-02 20:43:33 +10:00
Roman Donchenko ff2b12334d Merge pull request #1355 from jet47:gpu-stereo-multi-gpu-sample 2013-09-02 14:10:06 +04:00
Vladislav Vinogradov 12f50d7f67 fixed video_writer sample 2013-09-02 14:00:44 +04:00
Vladislav Vinogradov ba4bf04c6c fixed incorrect GPUs -> CUDAs replacement 2013-09-02 14:00:44 +04:00
Vladislav Vinogradov a41006754e fix documentation 2013-09-02 14:00:44 +04:00
Vladislav Vinogradov 429bfad225 removed precomp.cpp files 2013-09-02 14:00:44 +04:00
Vladislav Vinogradov cbe437571e fixed docs 2013-09-02 14:00:44 +04:00
Vladislav Vinogradov f936c1283b fixed sanity test for cuda module 2013-09-02 14:00:44 +04:00
Vladislav Vinogradov fd88654b45 replaced GPU -> CUDA 2013-09-02 14:00:44 +04:00
Vladislav Vinogradov 3c34b24f1f replaced gpu->cuda in files names 2013-09-02 14:00:44 +04:00
Vladislav Vinogradov 80b9fd87dc removed gpu module from OPENCV2_BASE_MODULES 2013-09-02 14:00:44 +04:00
Vladislav Vinogradov ae94256edc renmaed gpu module -> cuda 2013-09-02 14:00:44 +04:00
Vladislav Vinogradov 29386f1449 renamed gpubgsegm -> cudabgsegm 2013-09-02 14:00:43 +04:00
Vladislav Vinogradov 259ceb7eaa renamed gpufeatures2d -> cudafeatures2d 2013-09-02 14:00:43 +04:00
Vladislav Vinogradov 5660d6a680 renamed gpuoptflow -> cudaoptflow 2013-09-02 14:00:43 +04:00
Vladislav Vinogradov a0ae602bb7 renamed gpuimgproc -> cudaimgproc 2013-09-02 14:00:43 +04:00
Vladislav Vinogradov 219b662127 renamed gpufilters -> cudafilters 2013-09-02 14:00:43 +04:00
Vladislav Vinogradov 71d61e07b1 renamed gpustereo -> cudastereo 2013-09-02 14:00:42 +04:00
Vladislav Vinogradov d4901a99ea renamed gpuwarping -> cudawarping 2013-09-02 14:00:42 +04:00
Vladislav Vinogradov dcd600cc47 renamed gpuarithm -> cudaarithm 2013-09-02 14:00:42 +04:00
Vladislav Vinogradov 6d216d78d9 renamed gpulegacy -> cudalegacy 2013-09-02 14:00:42 +04:00
Vladislav Vinogradov dbeb3e2968 renamed gpucodec -> cudacodec 2013-09-02 14:00:42 +04:00
Vladislav Vinogradov cfe4a71dc6 renamed gpu* source to cuda* in core module 2013-09-02 14:00:42 +04:00
Vladislav Vinogradov 91dd44e7fa removed compatibility headers 2013-09-02 14:00:42 +04:00
Vladislav Vinogradov fef646d4f8 removed mark_nvidia.py script 2013-09-02 14:00:42 +04:00
Vladislav Vinogradov a6308118b4 removed perf4au test 2013-09-02 14:00:42 +04:00
Vladislav Vinogradov 5a85f1b6da renamed gpucodec namespace -> cudacodec 2013-09-02 14:00:41 +04:00
Vladislav Vinogradov 8282f6ebc1 renamed gpu::cudev namespace -> cuda::device
cudev is used for new device layer
2013-09-02 14:00:41 +04:00
Vladislav Vinogradov e895b7455e renamed gpu namespace -> cuda 2013-09-02 14:00:41 +04:00
Vladislav Vinogradov e12496d150 removed gpu name usage from ocl module 2013-09-02 14:00:41 +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
hbristow c112c9aa00 Made binding compilation less verbose 2013-09-02 16:43:58 +10:00
hbristow 31c95ff7f8 Added new OpenCV definitions to bridge 2013-09-02 14:29:46 +10:00
hbristow 40227b78a5 Removed GSOC-specific proposal.pdf from root 2013-09-02 14:25:18 +10:00
hbristow cf078be3d6 Merge branch 'matlab' into matlab_public
Conflicts:
	CMakeLists.txt
	README.md
  samples/
2013-09-02 14:23:11 +10:00
peng xiao 3c2a8912ee Let clAmdBlas library initialize once during program lifetime. 2013-09-02 10:06:01 +08:00
dbloisi 23f5eacafd fixing trailing whitespaces 2013-09-01 22:38:21 +02:00
dbloisi 20f932bd46 fixing trailing whitespaces 2013-09-01 22:13:49 +02:00
dbloisi f0910466f9 fixing trailing whitespaces 2013-09-01 20:59:27 +02:00
dbloisi a34f7b7714 fixing other white spaces 2013-09-01 19:05:07 +02:00
dbloisi 582d5558cc trying to solve with space errors 2013-09-01 15:55:06 +02:00
hbristow 1d25e5f1ba manually added optical flow header to build 2013-09-01 17:10:44 +10:00
Nghia Ho 81a6ae791b changed int -> size_t when accessing std::vector 2013-08-31 23:35:03 +10:00
Daniel Angelov 24e916059f Added LineSegmentDetector documentation and an output image. 2013-08-31 13:46:24 +03:00
Daniel Angelov 9d78b8003e Update on LSD no to use any Mat* (IOArrays instead).
Updated to new license.
2013-08-31 13:46:24 +03: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
Alex Leontiev af74ec6044 Minor fixes
In response to the pull request comments by Vadim Pisarevsky. In
particular, the following was done:
    *)cv::reduce use instead of custom code for calculating
per-coordinate sum
    *) naming style of private methods is made consisted with overall --
mixed-case style
    *) irrelevant create()'s were removed -- I did not know that copyTo()
method itself calls create
2013-08-30 21:37:27 +08:00
Alex Leontiev f2fd0ad153 Fixed .rst indentation
This caused warnings.
2013-08-30 21:37:27 +08:00
Alex Leontiev b92c88ddd1 Removed trailing spaces
Continuation of work done in previous commit.
2013-08-30 21:35:47 +08:00
Alex Leontiev b1f029ccc5 Removed trailing spaces
This caused warnings.
2013-08-30 21:35:47 +08:00
Alex Leontiev 554e002747 Prepare Downhill Simplex for pull request
This is an implementation of so-called downhill simplex method
(https://en.wikipedia.org/wiki/Nelder%E2%80%93Mead_method)

Please, let me know if you have any comments, whoever you'd be.
2013-08-30 21:35:47 +08: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
abidrahmank 7fd8a19fe8 warning corrections 2013-08-30 15:58:10 +05:30
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
hbristow a64c34c3ec Updated cv help to include reference to named arguments 2013-08-30 16:48:41 +10:00
hbristow d16d637eb2 Fixed handling of optional arguments under ArgumentParser. Fixed default constructor error in MxArray 2013-08-30 16:10:32 +10:00
hbristow 25ee1f9099 Improved error messages for incorrect arguments 2013-08-30 15:48:20 +10:00
abidrahmank 14af369640 Python bindings for KeyPoint methods
Usage:

import numpy as np
import cv2
img = cv2.imread('messi5.jpg',0)
sift = cv2.SIFT()
kp = sift.detect(img)

pts = cv2.KeyPoint_convert(kp)

kps = cv2.KeyPoint_convert(pts.reshape(-1,1,2))

overlap = cv2.KeyPoint_overlap(kp[0],kp[1])
2013-08-30 11:11:06 +05:30
hbristow a780c3a7d1 Swapped out function assertions in favour of ArgumentParser 2013-08-30 15:06:57 +10:00
hbristow 8f62a52b9b Brought matlab module into cv namespace 2013-08-30 12:39:01 +10:00
hbristow bc93edac34 Removed all OpenCV-specific functionality from mxarray into bridge. mxarray is now standalone 2013-08-30 11:18:08 +10:00
zio dodo 5f7163bff2 Merge branch 'master' of https://github.com/Itseez/opencv into add_bs_tutorial
Conflicts:
	modules/stitching/src/motion_estimators.cpp
2013-08-29 20:12:12 +02:00
kdrobnyh f4aa7ff919 Add IPP support in meanStdDev, minMaxIdx, norm functions 2013-08-29 21:09:19 +04:00
tambo83 281250ba0e added a brief description for the learning rate parameter in the apply method 2013-08-29 17:20:45 +02:00
hbristow 153549c7f6 Added LICENSE and Americanizations 2013-08-30 01:09:29 +10:00
hbristow 33c377b305 complete rewrite of ArgumentParser 2013-08-30 01:04:43 +10:00
kdrobnyh dc1eb583b4 Merge pull request #5 from Itseez/2.4
Some changes in OpenCV
2013-08-29 07:53:46 -07: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
Roman Donchenko fc37df05ec Merge pull request #1366 from asmorkalov:ocv_autobuffer_fix 2013-08-29 16:35:38 +04:00
Roman Donchenko 86f4cd253a Merge pull request #1309 from pengx17:master_retina_ocl 2013-08-29 16:26:55 +04:00
Alexander Smorkalov 5af2cc6223 AutoBuffer with initial zero size fixed. 2013-08-29 15:03:53 +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
hbristow d5abe79f74 untracked io for initial pull request 2013-08-29 10:49:15 +10:00
hbristow 9726346bc9 removed unused files from repo 2013-08-29 10:44:27 +10:00
hbristow 57505b9af9 Added LICENSE preamble to include files 2013-08-29 10:20:53 +10: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
Roman Donchenko 11dcd4f4f3 Merge pull request #1356 from SpecLad:homography-uninit 2013-08-28 18:05:10 +04: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 e59c74e1c7 Merge pull request #1348 from SpecLad:merge-2.4 2013-08-28 13:41:41 +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 5e4ebf3403 Fixed incomplete matrix initialization in HomographyRefineCallback. 2013-08-28 13:20:14 +04:00
Roman Donchenko 7afc2677e6 Removed a duplicate line. 2013-08-28 13:13:15 +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
peng xiao 9f0a88c1d6 Remove trailing whitespace. 2013-08-28 16:23:46 +08:00
Roman Donchenko 10cb9a0c4a Merge pull request #1342 from nevion:master 2013-08-28 12:00:39 +04:00
hbristow 569e8006e3 updated README.md formatting 2013-08-28 17:58:08 +10:00
hbristow 2a0e357cd0 updated syntax highlighting 2013-08-28 17:56:39 +10:00
hbristow b87197dc37 updated syntax highlighting 2013-08-28 17:53:25 +10:00
hbristow eb83a9ed9f Enabled syntax highlighting 2013-08-28 17:49:20 +10:00
Roman Donchenko 1840fd5f00 Merge pull request #1248 from vkocheganov:chi_square_alt 2013-08-28 11:44:41 +04:00
hbristow 2ac31a87c9 Added tutorial for writing your own mex files 2013-08-28 17:40:20 +10:00
hbristow 78dc2c5423 Upadated include tree to match the rest of opencv. Added install configuration for custom mex compiler 2013-08-28 17:06:19 +10:00
hbristow 52dc51a62c Added custom OpenCV mex compiler 2013-08-28 12:01:34 +10:00
peng xiao 287c8a3330 Let ocl::context only be initialized once in retina_ocl test. 2013-08-28 09:17:05 +08:00
Fedor Morozov 9f9873017c HDR test changes 2013-08-28 02:17:49 +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 2d6f35d6ed Merge remote-tracking branch 'origin/2.4' into merge-2.4
Conflicts:
	modules/gpuwarping/src/cuda/resize.cu
	modules/gpuwarping/src/resize.cpp
	modules/gpuwarping/test/test_resize.cpp
	modules/ocl/perf/main.cpp
	modules/ocl/perf/perf_calib3d.cpp
	modules/ocl/perf/perf_canny.cpp
	modules/ocl/perf/perf_color.cpp
	modules/ocl/perf/perf_haar.cpp
	modules/ocl/perf/perf_match_template.cpp
	modules/ocl/perf/perf_precomp.cpp
	modules/ocl/perf/perf_precomp.hpp
2013-08-27 19:15:47 +04:00
Roman Donchenko d32b62a177 Merge pull request #1341 from roynos:master 2013-08-27 17:47:56 +04:00
Roman Donchenko dd25f416a6 War on Whitespace, master edition: tabs. 2013-08-27 17:13:53 +04: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 9ed475cf52 War on Whitespace, master edition: file endings. 2013-08-27 14:23:26 +04:00
Roman Donchenko 9b92545ce6 War on Whitespace, master edition: trailing spaces. 2013-08-27 13:57:24 +04:00
Roman Donchenko 2c4bbb313c Merge commit '43aec5ad' into merge-2.4
Conflicts:
	cmake/OpenCVConfig.cmake
	cmake/OpenCVLegacyOptions.cmake
	modules/contrib/src/retina.cpp
	modules/gpu/doc/camera_calibration_and_3d_reconstruction.rst
	modules/gpu/doc/video.rst
	modules/gpu/src/speckle_filtering.cpp
	modules/python/src2/cv2.cv.hpp
	modules/python/test/test2.py
	samples/python/watershed.py
2013-08-27 13:26:44 +04:00
Roman Donchenko 4d06c4c7b6 Merge commit '43aec5ad^' into merge-2.4
Conflicts:
	modules/contrib/src/inputoutput.cpp
	modules/gpu/perf/perf_imgproc.cpp
	modules/gpuarithm/perf/perf_element_operations.cpp
	modules/gpuarithm/src/element_operations.cpp
	modules/ts/src/precomp.hpp
2013-08-27 13:23:26 +04:00
Roman Donchenko 657699a1da Merge pull request #1267 from clhsieh:gpu_example_build_failed_with_cuda5p5 2013-08-27 12:43:36 +04:00
Roman Donchenko 45a0b39a73 Merge pull request #1339 from mdim:ml_cpp_wrappers_fix 2013-08-27 12:37:33 +04:00
Roman Donchenko 0e32d7ccb3 Merge pull request #1346 from jet47:gpu-tvl1-optimization 2013-08-27 12:36:45 +04:00
Jason Newton affab4f156 correct range computations, it is difficult to do the more efficient single pass 3N/2 implementations correctly in this particular setting without costing more than they save 2013-08-27 00:34:22 -07: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
Anatoly Baksheev 8b20ceb024 Merge pull request #19 from ozantonkal/acess_by_name_infrastructure
Acess by name infrastructure
2013-08-26 23:46:47 -07: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 0daac6fd9d Merge pull request #1327 from alalek:ocl_master_tests_fix 2013-08-26 16:44:37 +04:00
Roman Donchenko f44ed7f37c Merge pull request #1340 from SpecLad:python-updates 2013-08-26 16:41:13 +04:00
Roman Donchenko d44adcd6e8 Merge pull request #1336 from jet47:gpu-resize 2013-08-26 16:40:50 +04:00
Fedor Morozov 833f8d16fa Robertson and tutorial 2013-08-26 15:23:37 +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
Roy Reapor d38fca2c06 Ignore Windows' Thumbs.db 2013-08-25 19:55:00 -07:00
ozantonkal d83be1dccc fixes based on the feedback: window name prefix is automatically added when it is not there, singleton class returns reference instead of pointer, destructor is private, release function implemented 2013-08-23 18:49:21 +02:00
Roman Donchenko 055a581977 Moved Sphinx detection outside of the PYTHONINTERP_FOUND block.
Who knows, maybe the user's Sphinx installation uses a Python we couldn't find.
2013-08-23 18:48:08 +04:00
Roman Donchenko 67ae438dae Refactored NumPy detection.
Most importantly, added support for multiple include directores,
but also did some general cleanup.
2013-08-23 18:46:54 +04:00
Roman Donchenko dbb684b85f Bumped minimal Python version to 2.6.
Rationale: we already depend on it (e.g. some scripts use print_function).
2013-08-23 18:46:54 +04:00
Roman Donchenko 1a81da012d Removed old Python detection cruft.
None of this should be relevant as of CMake 2.8.7.
2013-08-23 18:46:51 +04:00
Maria Dimashova 989be02562 fixed cpp wrappers of ML tree-based models 2013-08-23 18:13:10 +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 580677f43d Merge pull request #1304 from berak:doc_tut_cascade 2013-08-23 15:18:06 +04:00
zio dodo ea544f08cc Added a small modifications in the code formatting of background subtraction tutorial 2013-08-23 13:04:10 +02:00
Roman Donchenko 365def6090 Merge pull request #1323 from SpecLad:find-git 2013-08-23 14:48:22 +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 5a32f0b6ca Merge pull request #1322 from SpecLad:terse 2013-08-23 12:11:41 +04:00
Roman Donchenko e1397f6c1f Merge pull request #1324 from SpecLad:try-compile 2013-08-23 12:06:57 +04:00
Roman Donchenko 66aa3255b9 Merge pull request #1328 from SpecLad:zlib-update 2013-08-23 12:06:17 +04:00
Changlin Hsieh 723ba29660 Update cmake files by using CUDA_CUDA_LIBRARIES 2013-08-23 16:05:35 +08: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
Alexander Alekhin 7685b983db OCL: tests: repair moments implementation in master branch, enable tests 2013-08-22 23:37:06 +04:00
Fedor Morozov e2e604eb18 HDR writing bug fix 2013-08-22 21:13:50 +04:00
berak 50288f1314 rebased commits 2013-08-22 18:40:30 +02:00
berak 926d6876d3 using VideoCapture instead of CvCapture* in cascade tutorial
corrected constants,  changed objdetection.cpp as well

updated objDetection2.cpp as well

fixed headers in objdetection2.cpp

removed useles RNG

fixed buildbot warnings (wow, i like that bot!)

victim of the war on whitespace

fixing buildbot warnings

fixing last buildbot warning, heya .

trying to rebase/squash commits
2013-08-22 17:38:59 +02:00
Roman Donchenko 10860783ef Added warnings-as-errors support for MSVC. 2013-08-22 18:25:38 +04:00
Roman Donchenko 9c01a96b14 Set minimal zlib version to 1.2.3.
Rationale: 1.2.3 was a security update, and we should avoid using
versions with known security vulnerabilities.
2013-08-22 18:17:19 +04:00
Roman Donchenko 6fed0e85c2 Cut down on the use of ZLIB_LIBRARY/ZLIB_INCLUDE_DIR.
They're not listed in the documentation for the FindZLIB module,
so we shouldn't use them unless necessary.
2013-08-22 18:17:19 +04:00
Roman Donchenko 797beef383 Updated zlib to 1.2.8. 2013-08-22 17:59:27 +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
Alexander Alekhin b7b584984e OCL: tests: repair/disable failed tests in ocl module 2013-08-22 17:06:47 +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 880306f6d6 Don't search for Git ourselves - CMake can handle it now. 2013-08-22 13:28:17 +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 e45526b9c0 Dropped the CMAKE_VERBOSE option.
There's no reason for it to exist, since it just duplicates the
CMAKE_VERBOSE_MAKEFILE variable.
2013-08-22 12:41:14 +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
Mathieu Barnachon 4fbd5707f7 Fix warning on precision lost due to double to float conversion. 2013-08-22 17:34:31 +12:00
Mathieu Barnachon 7f3273c77f Adding an export for HOGDetector compatibility.
An SVM train with HOG could export a single vector for HOGDetector.
2013-08-22 15:00:32 +12: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
Roman Donchenko 893e8b4371 Merge pull request #942 from achalddave:patch-1 2013-08-21 16:06: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
zio dodo 449b4d8a65 Added the tutorial on background subtraction, in the video section 2013-08-21 12:06:48 +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
peng xiao 9b20b51389 Fix build error on Mac 2013-08-21 14:23:10 +08: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
peng xiao 3cccded86d Fix build error when WITH_OPENCL is disabled. 2013-08-21 11:18:02 +08:00
ozantonkal 6bc393676d cv::viz::get(window_name) implementation 2013-08-20 20:22:14 +02:00
ozantonkal c37f091cc5 remove redundant statement 2013-08-20 18:18:01 +02:00
Roman Donchenko a1b633e28e Merge pull request #1298 from jet47:gpu-eliminate-doubles 2013-08-20 18:04:54 +04: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 beada19ad0 Merge pull request #1297 from SpecLad:merge-2.4 2013-08-20 14:10:22 +04:00
Roman Donchenko aa96d8d053 Fix the name of perf tests' precompiled header. 2013-08-20 12:51:33 +04:00
Roman Donchenko adc1dd2799 Merge pull request #1301 from asmorkalov:java_video_capture_fix 2013-08-20 12:12:22 +04:00
ozantonkal 669abd58bc initial shared pointer implementation for Viz3d, singleton VizAccessor, cv::viz::get function initial implementation 2013-08-19 20:09:47 +02:00
Roman Donchenko f76dd99299 Merge remote-tracking branch 'origin/2.4' into merge-2.4
Conflicts:
	cmake/OpenCVModule.cmake
	doc/tutorials/calib3d/camera_calibration/camera_calibration.rst
	doc/tutorials/features2d/feature_detection/feature_detection.rst
	doc/tutorials/features2d/feature_flann_matcher/feature_flann_matcher.rst
	doc/tutorials/features2d/feature_homography/feature_homography.rst
	modules/core/include/opencv2/core/operations.hpp
	modules/core/src/arithm.cpp
	modules/gpu/perf/perf_video.cpp
	modules/imgproc/include/opencv2/imgproc/imgproc.hpp
	modules/java/generator/gen_java.py
	modules/java/generator/src/cpp/VideoCapture.cpp
	modules/nonfree/src/opencl/surf.cl
	modules/ocl/include/opencv2/ocl/ocl.hpp
	modules/ocl/perf/perf_haar.cpp
	modules/ocl/perf/perf_precomp.hpp
	modules/ocl/src/color.cpp
	modules/ocl/src/filtering.cpp
	modules/ocl/test/test_color.cpp
	modules/ocl/test/test_objdetect.cpp
	modules/python/src2/cv2.cpp
	samples/gpu/CMakeLists.txt
	samples/gpu/super_resolution.cpp
2013-08-19 19:02:36 +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
Vladislav Vinogradov cd2b7448f4 eliminate unnecessary double arithmetics in CUDA 2013-08-19 15:56:45 +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 0b270e2b08 Merge pull request #1296 from jet47:gpu-cvtcolor-fix-master 2013-08-19 14:26:12 +04:00
Roman Donchenko 3fc1885f48 Merge pull request #1294 from jet47:gpu-tests-fix 2013-08-19 14:21:50 +04:00
Roman Donchenko 70fffa48e5 Merge pull request #1293 from jet47:gpu-cvtcolor-fix 2013-08-19 14:14:22 +04:00
Vladislav Vinogradov 7bda6992e5 fixed gpu BGR <-> YUV color conversion 2013-08-19 13:17:55 +04:00
Vladislav Vinogradov 9f33de7071 added cvconfig.hpp header file to gpu tests
it uses HAVE_CUDA, HAVE_NVCUVID, etc. macroses
2013-08-19 12:46:57 +04:00
Roman Donchenko bed3512dd5 Merge pull request #1288 from nghiaho12:haar 2013-08-19 12:04:24 +04:00
Roman Donchenko 473ca0849d Merge pull request #1285 from SpecLad:enum-compare 2013-08-19 12:00:18 +04:00
Vladislav Vinogradov cfbd791465 fixed gpu cvtColor for BGR <-> YUV 2013-08-19 11:56:58 +04:00
Mathieu Barnachon 43c9818895 Adding class for BOW image matcher (Feature #3005).
Same prototype as BOWImgDescriptorExtractor, but do only the matching.
If the feature is accepted, the BOWImgDescriptorExtractor and BOWImgDescriptorMatcher should probably refactor with inheritance.
Add a class to compute the keypoints, descriptors and matching from an image should be added to.
2013-08-18 11:32:04 +12: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
Nghia Ho d36dbe6ad6 Merge https://github.com/Itseez/opencv 2013-08-17 20:07:37 +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
Roman Donchenko 2349f7ea89 Merge pull request #1257 from SpecLad:merge-2.4 2013-08-16 18:42:18 +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 2530b580a8 Merge branch 'master' into merge-2.4
Conflicts:
	modules/photo/doc/inpainting.rst
2013-08-16 14:14:12 +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
Roman Donchenko 2304a561ca Fixed a -Wenum-compare warning in cudev. 2013-08-16 13:53:37 +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
Nghia Ho d194bb6143 Merge https://github.com/Itseez/opencv 2013-08-15 21:51:36 +10:00
Roman Donchenko 73c5069f54 Merge pull request #1276 from nghiaho12:mushroom 2013-08-15 12:05:02 +04:00
Roman Donchenko 556028eff5 Merge pull request #1253 from kamjagin:fixingCompilationOnOSX 2013-08-15 11:54:55 +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
kamjagin ed29d91d42 adding std to cstdint typedef of uint32_t 2013-08-14 17:16:52 +02:00
Miroslav Kobetski b595d73d6d defined uint for non-windows platforms too. replaced isnan for cvIsNaN. 2013-08-14 17:16:52 +02:00
Roman Donchenko d09c89c63e Merge pull request #1265 from abidrahmank:misc_docs2 2013-08-14 19:03:45 +04: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
Roman Donchenko 8e245f8a3a Merge pull request #1186 from SpecLad:dont-export-templates 2013-08-14 17:25:01 +04:00
Nghia Ho 2c9c4188ae Merge https://github.com/Itseez/opencv 2013-08-14 22:38:39 +10: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 7992402ecf Merge pull request #1149 from jet47:generalized-hough-refactoring 2013-08-14 13:26:24 +04:00
Changlin Hsieh c1dd38cbff Fix GPU example build failed with cuda 5.5 2013-08-14 16:16:03 +08: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
Roman Donchenko 18358521f2 Merge pull request #1162 from jet47:cudev-integration 2013-08-14 12:00:34 +04:00
Achal Dave 0bc609257d Comparing rejected stage index with minimum required neighbors does not make sense
As described here, http://code.opencv.org/issues/3064, the test before
led to a case where we compared the index of the latest stage at which a
rectangle was rejected with the minimum number of neighbors required as
specified in `detectMultiScale`. Please see the issue for more
information.
2013-08-13 20:42:04 -07:00
peng xiao 124ede611b Update with apavlenko's suggestions. 2013-08-14 10:00:09 +08:00
abidrahmank 1b93ecfae8 docs changes 2013-08-13 22:07:44 +05:30
abidrahmank 92d04d439e docs changes 2013-08-13 21:58:49 +05:30
abidrahmank 96c1df14f4 CLAHE Python bindings 2013-08-13 19:51:32 +05:30
Anatoly Baksheev 52f141a5ba Merge pull request #18 from ozantonkal/implementing_camera
Implementing camera
2013-08-13 07:01:40 -07:00
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
Roman Donchenko 99624628a9 Merge pull request #1260 from SpecLad:no-cr-master 2013-08-13 16:00:20 +04:00
Andrey Pavlenko f3b1933a92 LinkedList -> ArrayList 2013-08-13 15:51:37 +04:00
Nghia Ho 79965c9ee9 Replaced isfinite() with cvIsInf and cvIsNan 2013-08-13 21:26:21 +10:00
Roman Donchenko 339dd983ee Adjusted the camera calibration sample to master API. 2013-08-13 14:55:27 +04:00
Nghia Ho 723bc3cae9 Merge https://github.com/Itseez/opencv 2013-08-13 19:50:43 +10:00
Roman Donchenko 4fb81052a8 Merge pull request #1256 from kamjagin:2.4 2013-08-13 13:37:09 +04:00
Roman Donchenko 77df8e574f Fixed CR line endings in non_linear_svms.rst. 2013-08-13 13:29: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
Roman Donchenko 6b5ac42a9b Merge remote-tracking branch 'origin/2.4' into merge-2.4
Conflicts:
	modules/calib3d/doc/camera_calibration_and_3d_reconstruction.rst
	modules/features2d/doc/common_interfaces_of_descriptor_extractors.rst
	modules/features2d/doc/object_categorization.rst
	modules/gpu/doc/camera_calibration_and_3d_reconstruction.rst
	modules/gpu/doc/image_filtering.rst
	modules/gpu/doc/image_processing.rst
	modules/gpu/doc/video.rst
	modules/imgproc/doc/miscellaneous_transformations.rst
	modules/imgproc/doc/object_detection.rst
	modules/imgproc/doc/structural_analysis_and_shape_descriptors.rst
	modules/imgproc/src/samplers.cpp
	modules/ml/doc/k_nearest_neighbors.rst
	modules/nonfree/doc/feature_detection.rst
	modules/ocl/include/opencv2/ocl/ocl.hpp
	modules/photo/doc/inpainting.rst
	modules/ts/include/opencv2/ts.hpp
	platforms/scripts/camera_build.conf
	samples/android/camera-calibration/AndroidManifest.xml
2013-08-13 12:56:39 +04:00
Miroslav Kobetski 93f05fed35 Fixed elif/elseif error that made highgui-windows fail on mac+cocoa. 2013-08-13 10:34:31 +02:00
peng xiao 29eefe52bb Add OpenCL accelerated implementation for Retina. 2013-08-13 16:27:12 +08: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
Roman Donchenko 9d283dea63 Merge pull request #1250 from denzp:opencl_detection_unix 2013-08-13 11:57:22 +04:00
peng xiao 7fe8403074 Let ocl::filter2D support kernel size >= 3. 2013-08-13 13:58:55 +08:00
Denis Zaryaev f4010cef29 properly set OpenCL lib search path 2013-08-12 18:25:01 +03: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 d8c6e89a54 Merge pull request #1238 from SpecLad:cmake-min-ver 2013-08-12 15:50:23 +04:00
Roman Donchenko afc6f79038 Inlined the getMD5 macro, which no longer saves us anything. 2013-08-12 15:38:58 +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
kocheganovvm 086db9d6db Introduce CV_COMP_CHISQR_ALT, an alternative method to calculate ChiSquare Histogram comparison
There's some disagreement about the correct formula.
has its supporters, however, for texture analysis, the newly introduced formula became
standard. The commit enables both uses without breaking backward compatibility.

First contributor of this commit was sperrholz.
2013-08-12 13:51:52 +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 19d8f4f8dd Merge pull request #1247 from StevenPuttemans:bugfix_3205 2013-08-12 12:21:36 +04:00
Roman Donchenko 98cd04c191 Merge pull request #1163 from kdrobnyh:Morphology 2013-08-12 12:06:31 +04:00
StevenPuttemans 1a42dd905c Added fixes mentioned in #3205 : changing uint to unsigned literals for compilation on Mingw 4.7.2 2013-08-12 10:04:15 +02: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
ozantonkal b69a97bef3 access focal length and principal point in camera 2013-08-12 09:07:50 +02:00
hbristow ef2c1e1a24 Changed bad cast in MxArray 2013-08-12 11:38:59 +10:00
Denis Zaryaev 129f315f7c bugfix for OpenCL detection with Intel OpenCL SDK 1.2 on linux (Bug #3140) 2013-08-11 21:05:30 +03:00
hbristow fb41d7bf4e Commenting spree no.2 2013-08-12 00:52:27 +10:00
hbristow bfa88384c7 Updated documentation 2013-08-11 16:12:05 +10:00
hbristow e63369fe64 Updated nest list in markdown 2013-08-11 15:14:09 +10:00
hbristow 1e78a187db Updated nest list in markdown 2013-08-11 14:49:33 +10:00
hbristow 7786ed7bcb Updated nest list in markdown 2013-08-11 14:48:29 +10:00
hbristow a269e3216e Updated nest list in markdown 2013-08-11 14:46:28 +10:00
hbristow 542c88c60b Updated nest list in markdown 2013-08-11 14:44:25 +10:00
hbristow 5ed9365bac Updated nest list in markdown 2013-08-11 14:43:15 +10:00
hbristow 115a1471ae Updated nest list in markdown 2013-08-11 14:42:30 +10:00
hbristow 6f811f5cb3 Documentation spree no.1 2013-08-11 14:36:50 +10: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
ozantonkal 4a1573de9b principal point is always set even though the intrinsic parameters are not given (center of window), fixed computation mistakes in setWindowSize in camera class 2013-08-09 10:39:30 +02: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
hbristow 7aaefd4dce Improved escaped character formatting in docs 2013-08-09 15:15:08 +10: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
ozantonkal bb057491ea create camera from projection matrix (used for getCamera in viz) 2013-08-08 12:14:27 +02: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 e57407849a Removed obsolete CMake workaround. 2013-08-08 12:03:41 +04:00
Roman Donchenko 36874300c8 Removed CMakeParseArguments.cmake, which we don't use.
It's part of CMake nowadays, too.
2013-08-08 12:03:41 +04:00
Roman Donchenko a23abef9bd Removed OpenCVFindPkgConfig.cmake, since it's bundled with CMake now.
In fact, I don't think we actually use it... but I kept the include,
just in case.
2013-08-08 12:03:41 +04:00
Roman Donchenko 656416d174 Dropped OpenCVConfig.cmake - we don't use it anymore. 2013-08-08 12:03:41 +04:00
Roman Donchenko 168e2a4ccb Removed CMake version checks that we don't need anymore. 2013-08-08 12:03:41 +04:00
Roman Donchenko a87756e9b3 Bumped minimal CMake version to 2.8.7. 2013-08-08 12:03:30 +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
hbristow a659562c36 Changed command-line separator from module:file to module=file so that it works cross-platform 2013-08-08 05:26:56 +10:00
hbristow 3bf41c2832 Formatted URLs in the documentation so that they are redirected to the system browser instead of the builtin Matlab browser 2013-08-08 04:46:45 +10:00
Vadim Pisarevsky d5539975d7 polished the patch 2013-08-07 22:34:29 +04:00
hbristow fad7b35b9a Updated documentation formatting 2013-08-08 03:51:44 +10:00
Andrey Pavlenko 1c55096c01 Merge pull request #1232 from StevenPuttemans:fix_wrong_documentation 2013-08-07 21:05:43 +04:00
hbristow 059d63cceb Added diagnostic/build information function 2013-08-08 02:42:17 +10:00
Nghia Ho 95ee02ba8e Added extra comment to test buildbot 2013-08-08 01:33:21 +10:00
ozantonkal 71dc5f8291 simulate real cameras by working around vtkUserTransform to set projection matrix 2013-08-07 16:20:23 +02:00
ozantonkal 422b967e9a fix computeProjectionMatrix in Camera class, also check if there is principal point defined 2013-08-07 15:52:24 +02: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 a495bbb967 Added a new file for recording minimal dependency versions. 2013-08-07 13:56:09 +04:00
Roman Donchenko e23f31311d xls-report.py: separated image width and height for easier analysis. 2013-08-07 13:43:03 +04:00
hbristow f705020348 Linked online documentation now opens a browser window to the exact function reference using div tags 2013-08-07 19:28:58 +10:00
Roman Donchenko 95bdd4b670 Merge pull request #1189 from pengx17:2.4_sort_by_key 2013-08-07 11:41:23 +04:00
ozantonkal 5335489daa viz getWindowSize, setWindowSize 2013-08-07 09:28:39 +02:00
Fedor Morozov 19082e0504 Documentation update 2013-08-07 11:15:41 +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
hbristow 3483bf14b9 Added auto-generated docs to all OpenCV functions 2013-08-07 16:34:30 +10:00
Nghia 18e7aa5d19 Update intersection.cpp
Added #ifdef _WIN32 for finite number testing
2013-08-07 14:57:12 +10:00
Andrey Pavlenko 04c86f28b1 Merge pull request #1228 from vkocheganov:bug_3191 2013-08-06 21:01:40 +04:00
Andrey Pavlenko a7da129984 Merge pull request #1187 from kdrobnyh:mean_and_sum 2013-08-06 20:54:52 +04:00
Andrey Pavlenko ab4fe8dd2c Merge pull request #1230 from SpecLad:merge-2.4 2013-08-06 20:54:30 +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
hbristow faeb0aa92a Now using python ArgumentParser to parse command line arguments in preparation for adding doc generation 2013-08-07 01:41:10 +10:00
hbristow c5ffd1fdea Updated main Matlab help string 2013-08-07 01:10:51 +10: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
hbristow 7ef3be3429 By default, all function now export at least one return value back into the Matlab workspace, even if none are requested. This is in line with Matlab's calling convention, where functions called without an lvalue or a semicolon have their first output printed to the terminal 2013-08-07 00:14:13 +10:00
Fedor Morozov 3725c1fb4c Documentation updates 2013-08-06 18:13:34 +04:00
Roman Donchenko 48a6edbdfe Fixed compilation errors. 2013-08-06 18:07:08 +04:00
Roman Donchenko 8bed7bb5f9 Fixed documentation errors. 2013-08-06 18:07:08 +04:00
Roman Donchenko 2f780ed994 Fix whitespace errors. 2013-08-06 18:07:00 +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
Fedor Morozov e914fc2471 Merge branch 'master' of https://github.com/f-morozov/opencv 2013-08-06 17:49:29 +04:00
Fedor Morozov 4a4c5190f0 Documentation updates 2013-08-06 17:49:02 +04:00
Alexander Shishkov 3c218717a9 Merge branch 'master' of https://github.com/f-morozov/opencv 2013-08-06 15:41:39 +04:00
Alexander Shishkov c4fb0e9dbb few changes for compilation 2013-08-06 15:41:32 +04:00
Fedor Morozov bef8d8192e Minor fixes, new MergeDebevec 2013-08-06 15:24:01 +04:00
hbristow 8f92973b8c Started documentation skeleton 2013-08-06 21:16:38 +10: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 dcaf923517 Merge remote-tracking branch 'origin/2.4'
Conflicts:
	3rdparty/ffmpeg/ffmpeg_version.cmake
	cmake/OpenCVFindLibsGrfmt.cmake
	cmake/templates/cvconfig.h.cmake
	modules/bioinspired/doc/retina/index.rst
	modules/calib3d/doc/camera_calibration_and_3d_reconstruction.rst
	modules/calib3d/src/precomp.hpp
	modules/contrib/src/inputoutput.cpp
	modules/contrib/src/precomp.hpp
	modules/core/include/opencv2/core/internal.hpp
	modules/core/include/opencv2/core/types_c.h
	modules/core/src/drawing.cpp
	modules/core/src/precomp.hpp
	modules/core/src/system.cpp
	modules/features2d/doc/common_interfaces_of_descriptor_matchers.rst
	modules/features2d/doc/common_interfaces_of_feature_detectors.rst
	modules/features2d/include/opencv2/features2d/features2d.hpp
	modules/features2d/src/precomp.hpp
	modules/flann/src/precomp.hpp
	modules/gpu/doc/camera_calibration_and_3d_reconstruction.rst
	modules/gpu/doc/image_filtering.rst
	modules/gpu/doc/image_processing.rst
	modules/gpu/doc/video.rst
	modules/gpu/perf/perf_imgproc.cpp
	modules/gpu/perf4au/main.cpp
	modules/gpu/src/imgproc.cpp
	modules/gpu/src/precomp.hpp
	modules/gpu/test/test_imgproc.cpp
	modules/highgui/CMakeLists.txt
	modules/highgui/test/test_precomp.hpp
	modules/imgproc/doc/structural_analysis_and_shape_descriptors.rst
	modules/imgproc/src/precomp.hpp
	modules/java/generator/src/cpp/Mat.cpp
	modules/legacy/src/precomp.hpp
	modules/ml/doc/k_nearest_neighbors.rst
	modules/ml/src/precomp.hpp
	modules/nonfree/doc/feature_detection.rst
	modules/nonfree/src/precomp.hpp
	modules/objdetect/include/opencv2/objdetect/objdetect.hpp
	modules/objdetect/src/cascadedetect.cpp
	modules/objdetect/src/hog.cpp
	modules/objdetect/src/precomp.hpp
	modules/objdetect/test/test_latentsvmdetector.cpp
	modules/ocl/src/hog.cpp
	modules/ocl/src/opencl/objdetect_hog.cl
	modules/ocl/src/precomp.hpp
	modules/photo/src/precomp.hpp
	modules/stitching/src/precomp.hpp
	modules/superres/perf/perf_precomp.hpp
	modules/superres/src/optical_flow.cpp
	modules/superres/src/precomp.hpp
	modules/superres/test/test_precomp.hpp
	modules/ts/include/opencv2/ts.hpp
	modules/video/src/precomp.hpp
	modules/videostab/src/precomp.hpp
	modules/world/src/precomp.hpp
2013-08-06 13:56:49 +04:00
kocheganovvm e9b9a6fc03 Fix unsequenced assignment (Bug #3191). 2013-08-06 08:08:13 +04:00
hbristow b654413567 Added mixed-precision check when attempting to link to an OpenCV version with different bitness. Bindings now compiling and linking on my Windows 7 VM with VS2012 and Matlab R2013a 2013-08-06 13:01:57 +10:00
ozantonkal 731a931c0c field of views are in radians 2013-08-05 19:35:20 +02:00
ozantonkal 32985aa724 fix camera constructor, add tentative KinectCamera method 2013-08-05 19:22:43 +02:00
ozantonkal 9c20e77013 fix conversion functions to use appropriate vtk function 2013-08-05 18:39:36 +02:00
Fedor Morozov 4c0f7f9e59 Tonemapping documentation update 2013-08-05 20:35:48 +04:00
Fedor Morozov cb999a231e Mantiuk's tonemapping 2013-08-05 19:31:10 +04:00
Fedor Morozov 17609b90c7 Mantiuk's tonemapping 2013-08-05 19:22:42 +04:00
hbristow 48aac747ca removed pkg_resources (setuptools) dependency from jinja. Matlab module now has no python dependencies beyond the core python libs 2013-08-06 00:40:57 +10:00
ozantonkal f8ad3c0204 fix field of view computation in setWindowSize 2013-08-05 16:06:02 +02:00
ozantonkal 119d97f1f6 remove old camera, rename new camera 2013-08-05 15:37:08 +02:00
ozantonkal f060eee5a5 fix window_size setter, remove camera related old methods from viz3d 2013-08-05 15:10:17 +02:00
ozantonkal 439ba98e0a initial implementation of projection matrix, 3D to window coordinates, window coordinates to 3D ray (not yet tested) 2013-08-05 13:01:21 +02: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
hbristow d00f4e267b Added Windows dll versioning and Debug library postfix checks. Dependent libraries now being found by linker :) 2013-08-05 17:37:48 +10:00
Andrey Pavlenko a06891851d fixing compilation with -Werror=format-security enabled 2013-08-05 11:11:54 +04:00
Andrey Pavlenko 4c03afe006 Merge pull request #1079 from AlexeySpizhevoy:master 2013-08-05 10:54:44 +04:00
Andrey Pavlenko 6483754860 Merge pull request #1220 from asmorkalov:msmf_sizet_fix 2013-08-05 10:26:39 +04:00
Andrey Pavlenko 8a3aa1f5b6 Merge pull request #1221 from philippefoubert:branch_cmake_cmp0004 2013-08-05 10:26:23 +04:00
Andrey Pavlenko af8a03e17f Merge pull request #1222 from philippefoubert:branch_2.4_pvapi 2013-08-05 10:20:25 +04:00
Andrey Pavlenko 487ff4f3aa Merge pull request #1151 from jet47:gpubgsegm-refactoring 2013-08-05 10:20:00 +04:00
hbristow ecb506842b Added Windows-specific configuration lookup for linker paths 2013-08-05 14:49:12 +10:00
Mathieu Barnachon ff85575b28 Adding read/write functions to PCA class. Update PCA test. 2013-08-05 12:06:55 +12:00
Philippe FOUBERT ebd413c696 Solve the problem seen when using recent versions of CMake (such as 2.8.11): OpenCVConfig.cmake violates the policy CMP0004.
Symptoms:
CMake Error at CMakeLists.txt:10 (add_executable):
Target "my_app" links to item "C:/Program Files " which has leading
or trailing whitespace. This is now an error according to policy CMP0004.

This problem occurs when building on Windows when we depend on libraries located (for example) in "C:\Program Files (x86)..."
2013-08-04 20:52:49 +02: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
ozantonkal 0bb89e767a fix field of view formula in camera class, implement get camera 2013-08-04 17:01:41 +02:00
hbristow dfda79e673 Added passthrough of CXX FLAGS to mex compiler 2013-08-05 00:44:38 +10:00
ozantonkal f445f76213 initial setCamera implementation 2013-08-03 16:33:11 +02:00
ozantonkal 4953786de1 remove boost include (caused by Kdevelop autocomplete) 2013-08-03 15:42:10 +02:00
ozantonkal e4e9ed876f spheres trajectory widget implementation 2013-08-03 15:40:36 +02:00
ozantonkal a76cc9ef88 initial camera implementation (camera2), fix bug (zeros method) 2013-08-03 15:24:15 +02:00
ozantonkal 8fa6b6a6ef initial setViewerPose implementation 2013-08-03 15:24:15 +02:00
Alexander Shishkov 6df203c449 Fixes for Linux compilation, small changes 2013-08-03 01:45:20 +04: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
Anatoly Baksheev 54774f6d3b updated license header 2013-08-02 13:45:43 +04:00
Anatoly Baksheev 69e66d7bb5 fixed little bug in makeCameraPose 2013-08-02 13:37:15 +04: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
Fedor Morozov c51b50b44c Algorithm names in code 2013-08-02 00:01:15 +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
Fedor Morozov ed0828d0a8 New HDR documentation 2013-08-01 15:34:03 +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
Fedor Morozov 302bf23f82 All hdr functions as Algorithms 2013-08-01 03:24:47 +04:00
Anatoly Baksheev f30f3b6c87 Merge pull request #17 from ozantonkal/implementing_widgets
Implementing widgets
2013-07-31 11:54:42 -07:00
Nghia Ho d01e95f4b4 Merge branch 'master' of https://github.com/nghiaho12/opencv 2013-08-01 00:03:39 +10:00
Nghia Ho bc3dd2452f Added test cpp 2013-07-31 23:59:23 +10:00
Nghia Ho c0bbdde8ba Added test cpp 2013-07-31 23:43:25 +10:00
Nghia Ho 61386e1abd Merge https://github.com/Itseez/opencv
Keeping up to date
2013-07-31 23:40:34 +10:00
Nghia Ho 00f63fa8f7 Finished test code, added image to the doc 2013-07-31 23:08:02 +10: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
Fedor Morozov 4d2ea847fa Tonemap as 3.0 algorithm 2013-07-31 16:05:31 +04:00
Andrey Pavlenko 4ed9b1ca9a Merge pull request #1166 from StevenPuttemans:patch_2288 2013-07-31 15:50:13 +04:00
StevenPuttemans f33fe94c0d Added the sample from patch #2288 : reading in sequence of images
Added bugfixes
- Changed CV_WINDOW_NORMAL to 1
- Changed the help function to static
- Added extra help information on mask specifics
2013-07-31 13:38:18 +02: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
Andrey Pavlenko a77456e8aa Merge pull request #1208 from berak:Bug_3094 2013-07-31 14:29: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
hbristow 5e50791a9d Generator and compiler now working on Windows. Moved matlab to correct VS solution folder 2013-07-31 12:37:05 +10:00
hbristow 58ca8ed97f Improved finding Matlab on Windows machines. Needs testing on computers that have multiple version installed 2013-07-31 11:24:28 +10:00
Nghia Ho 27bcc0bf07 Merge https://github.com/Itseez/opencv
Keep up to date
2013-07-31 06:10:57 +10:00
berak 03c4a6299b expanded the CV_Assert in pyrdown_ to check for empty mats 2013-07-30 17:32:48 +02: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 c4e1edbb83 Merge pull request #1195 from jet47:gpucodec-remove-ffmpeg-dep 2013-07-30 18:22:08 +04:00
hbristow 627b9df85f removed experimental IO from build 2013-07-31 00:00:50 +10:00
hbristow 6549e5e052 Added flaky support for finding Matlab on Windows machines 2013-07-30 23:58:32 +10:00
Nghia Ho 3fcdbbe734 Merge https://github.com/Itseez/opencv 2013-07-30 23:58:10 +10: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 93923141d5 Merge pull request #1108 from nailbiter:optimLP 2013-07-30 17:50:31 +04:00
Andrey Pavlenko b31293c984 Merge pull request #1194 from SpecLad:no-const-inputarray 2013-07-30 17:41:26 +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 cd62f9f7cb Merge pull request #1164 from bitwangyaoyao:master_fixHaar 2013-07-30 16:14:24 +04:00
Andrey Pavlenko c5e569d178 Merge pull request #1204 from berak:Bug_3170 2013-07-30 16:13:03 +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
Andrey Pavlenko 41d180f90a Merge pull request #1198 from znah:py_flann_fix 2013-07-30 14:17:33 +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
abidrahmank fa1b96bd36 imshow docs improvement bug#2490 2013-07-30 07:00:51 +05:30
abidrahmank 9628bb0b44 morphologyex docs bug#2169 2013-07-30 06:46:59 +05:30
Alex Leontiev 3013ad6624 Minor fixes
Request to comments on pull request for simplex method. In particular
*) while(1) is replaced with for(;;)
*) if(true){...} constructions in tests are replaced with #if 1 ...
 #endif
2013-07-30 04:14:36 +03:00
kdrobnyh 6af10a2937 Some changes in sum and mean functions 2013-07-30 00:54:27 +04:00
abidrahmank 29ddbbaa86 epilines pydocs 2013-07-30 00:27:58 +05:30
Fedor Morozov 258b98d15b Tonemap as Algorithm 2013-07-29 21:35:10 +04:00
ozantonkal f5816c883f fix setting color of 3D objects 2013-07-29 15:10:48 +02:00
ozantonkal b64e6ccc6c static function for appending clouds in cloud collection widget 2013-07-29 15:06:05 +02:00
Andrey Pavlenko 9e8dd28b0e Merge pull request #1200 from shervinemami:patch-1 2013-07-29 15:31:36 +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
ozantonkal 42266b04a5 makeCameraPose implementation 2013-07-29 12:25:46 +02:00
berak 1b10860f36 added add_definitions(-DCVAPI_EXPORTS) to cmakelists.txt 2013-07-29 12:16:37 +02:00
ozantonkal 250dac5b71 fix: trajectory path is now relative to the global frame 2013-07-29 11:01:59 +02: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
Nghia Ho cb16f733b9 Added C interface 2013-07-28 15:31:58 +10: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
Nghia Ho a40f217a38 changed from isnormal to isfinite, the prev ignored zero 2013-07-28 01:06:55 +10:00
Nghia Ho a0576d7b2a Fixed ret 2013-07-28 00:46:44 +10:00
Nghia Ho e2f00ce846 New intersection function for rotated rectangles 2013-07-28 00:12:24 +10:00
Shervin Emami 7dc147c1f2 Changed cornerHarris description to say it finds corners, not edges 2013-07-26 19:13:25 -07: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
ozantonkal 3fe5984e46 cloud collection widget implementation 2013-07-26 16:55:03 +02:00
Alexander Mordvintsev 25b9ac18e6 fixed Bug #3143 - flann 'not implemented' error 2013-07-26 17:59:38 +04: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
ozantonkal edfad34d39 trajectory with spheres and lines (based on the code snippet in gdocs) 2013-07-26 14:50:11 +02:00
Dmitry Retinskiy 1d571b1eaa bugfix #3121: corrected calculation of blue channel index 2013-07-26 16:31:39 +04:00
Vladislav Vinogradov 60e2dbe810 removed ffmpeg dependency from gpucodec module:
used implementation from highgui module
2013-07-26 16:13:37 +04:00
Roman Donchenko 31de2833b4 Replace "const InputArray" with "InputArray".
InputArray is a reference, and references are always constant anyway. Making
it const even causes a GCC warning.
2013-07-26 14:52:56 +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
Roman Donchenko 4ac2db271d Removed CV_EXPORTS from all template classes (that I could find).
It doesn't make sense to export template classes, since there's no way
the user can learn that it can import them. In fact, it is somewhat
deleterious, because every module will export every instantiation
that it uses, but doesn't inline.
2013-07-25 19:40:08 +04:00
ozantonkal b661d72252 CameraPositionWidget: a workaround for setting frustum color in the presence of an image 2013-07-25 16:47:30 +02:00
ozantonkal ec756afe87 trajectorywidget display modes are combined with & instead of | 2013-07-25 16:08:23 +02:00
ozantonkal 64cdd82146 trajectory widget constructor with field of view 2013-07-25 15:08:45 +02: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
Alex Leontiev 52b250f466 Minor fixes
Fixing failed build.
2013-07-25 14:30:20 +03:00
ozantonkal 7d458e852e trajectory widget display options: display path, display frames, display both 2013-07-25 10:56:54 +02:00
ozantonkal aa2594c06c fix aspect_ratio computation from fovs, add casting for camerapositionwidget, trajectorywidget 2013-07-25 10:23:24 +02:00
Roman Donchenko 8afb7a40c6 Merge pull request #1159 from lluisgomez:scene_text_detection_NM 2013-07-25 12:13:49 +04:00
Roman Donchenko 98d36a4037 Merge pull request #1171 from SpecLad:drop-legacy-options 2013-07-25 12:05:36 +04:00
Roman Donchenko 4e1e0c9ee3 Merge pull request #1180 from nghiaho12:master 2013-07-25 12:04:09 +04: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
Nghia Ho eb2720a908 missing fclose when returning early 2013-07-24 23:53:18 +10:00
Roman Donchenko 0e4882aa16 Merge pull request #1169 from asmorkalov:winrt_tbb_dbg_wrn_fix 2013-07-24 16:08:17 +04:00
Roman Donchenko 45f7c83da4 Merge pull request #1119 from 23pointsNorth:lsd 2013-07-24 13:50:11 +04:00
Roman Donchenko b2d359b6ac Merge pull request #1170 from SpecLad:merge-2.4 2013-07-24 13:45:33 +04:00
ozantonkal 769512db2d move image copying structure to viz3d_impl: ConvertToVtkImage 2013-07-24 10:32:21 +02:00
ozantonkal 952029a47b GridImpl structure to shorten grid widget implementation 2013-07-24 10:13:01 +02:00
ozantonkal 6e5a712f6e Gridwidget with plane coefficients 2013-07-24 10:02:33 +02:00
Alexander Smorkalov 908039c658 Warning suppresion for TBB on WinRT added. 2013-07-24 09:21:30 +04:00
ozantonkal 40b50755d3 add const keywords to gridwidget constructor 2013-07-23 15:46:14 +02:00
ozantonkal 4d70671231 intial implementation of frustum + image (the color of the frustum is currently dependent on the first pixel of the image) 2013-07-23 15:43:23 +02:00
lluis c4f88b0687 removed some unnecessary ERStat members as they are easily computable from others 2013-07-23 15:04:01 +02:00
lluis 43e7e6e475 removed extra cv:: scope qualifiers for better readability 2013-07-23 14:37:45 +02:00
lluis 2087d4602b using Rect for storing the bounding box instead of an integer array 2013-07-23 13:58:52 +02: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
lluis ca6b30a568 using explicit keyword in the ERStat constructor for safe contruction 2013-07-23 00:24:17 +02:00
ozantonkal f9938da67d image 3d widget with position, normal, up_vector 2013-07-22 17:18:19 +02:00
Roman Donchenko abe4219256 Drop the legacy CMake options.
3.0 seems like an appropriate time to do that.
2013-07-22 18:49:38 +04:00
ozantonkal d0bd344a42 image 3d widget use texture instead of imageactor for more flexibility (such as resizing) 2013-07-22 16:48:17 +02:00
Roman Donchenko 3939d78336 Merge remote-tracking branch 'origin/2.4' into merge-2.4
Conflicts:
	modules/core/include/opencv2/core/types_c.h
	modules/gpu/src/cuda/imgproc.cu
	modules/gpu/src/cuda/safe_call.hpp
	modules/gpu/src/error.cpp
	modules/gpu/src/imgproc.cpp
	modules/imgproc/src/distransform.cpp
	modules/imgproc/src/shapedescr.cpp
	modules/python/src2/cv2.cpp
	modules/python/src2/cv2.cv.hpp
2013-07-22 18:38:57 +04:00
ozantonkal 27f5cd2afd overlay image widget constructor with Rect 2013-07-22 16:12:22 +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
ozantonkal 540f9a67f3 remove unnecessary declaration 2013-07-22 15:14:33 +02:00
ozantonkal c0f44ca421 shorten Trajectory widget implementation 2013-07-22 15:03:28 +02:00
ozantonkal 5af739dfc1 plane widget size fix 2013-07-22 14:34:44 +02:00
ozantonkal 16c8c98895 trajectory widget with frustums 2013-07-22 14:11:06 +02:00
Daniel Angelov ae93a3e681 The accurate LineSegmentDetector object. 2013-07-22 15:08:23 +03:00
Daniel Angelov 26847f92b3 Fixed the sample. 2013-07-22 14:46:34 +03:00
Roman Donchenko 38a0b47b2f Merge pull request #1165 from vpisarev:24_ipp 2013-07-22 15:34:13 +04:00
ozantonkal f3b228c91f initial implementation of trajectory widget 2013-07-22 12:53:19 +02:00
Roman Donchenko ef91d7e883 Merge pull request #1153 from abidrahmank:bgdGMG_docs 2013-07-22 14:52:36 +04:00
Daniel Angelov 982ccd784e Added the update on the sample. 2013-07-22 13:49:33 +03:00
Vadim Pisarevsky 8b6afd697d added call to IPP's ippiDistanceTransform_5x5_8u32f_C1R (by Alexander Kapustin) 2013-07-22 14:20:13 +04:00
yao 3d3e9ab635 Fix the problem of haar caused by merge 2013-07-22 17:53:56 +08:00
Roman Donchenko bb15e735b8 Merge pull request #1161 from SpecLad:xls-comp-bug 2013-07-22 13:28:29 +04:00
Vladislav Vinogradov 6dfd8f184c rewrote matrix operations with cudev module 2013-07-22 13:07:07 +04:00
Roman Donchenko 1432f3a82c Fix xls-report.py not working with more than one comparison. 2013-07-22 12:48:43 +04:00
ozantonkal 13a2516a6a avoid memory leak in mesh widget 2013-07-22 09:11:16 +02:00
Vladislav Vinogradov 2311b0b43b added cudev::GpuMat_<T> support to Input/Output arrays 2013-07-22 10:33:40 +04:00
Vladislav Vinogradov 1c0d2b37a7 added globPtr for GpuMat 2013-07-22 10:33:39 +04:00
Vladislav Vinogradov c23eb17997 added gridTransform/gridCopy overloads for GlobPtrSz 2013-07-22 10:33:39 +04:00
Daniel Angelov 6fa4834f31 Update on the class. Edited tests and samples. 2013-07-22 00:55:29 +03:00
Andrey Pavlenko aaf47578e8 Merge pull request #1155 from bitwangyaoyao:master_fix 2013-07-21 18:50:39 +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
Andrey Pavlenko bd4d24f0fa Merge pull request #1122 from SpecLad:merge-2.4 2013-07-21 18:46:27 +04:00
Andrey Pavlenko cd103e442f Merge pull request #1032 from jet47:gpuarithm-remove-obsolete-api 2013-07-21 18:45:47 +04:00
Fedor Morozov af2c9077f7 Calibration, various changes 2013-07-21 13:56:20 +04:00
Fedor Morozov 703cf8cef7 Calibration, various changes 2013-07-21 13:48:57 +04:00
abidrahmank 297b67d2b1 pydocs for cv2.findTransformECC 2013-07-21 13:40:11 +05:30
Daniel Angelov 6f3d6ded47 Test case to strict, as overlapping lines (based on random places) may occur. 2013-07-21 10:39:24 +03:00
Daniel Angelov 68e348f960 Added private operator=. 2013-07-21 10:08:11 +03:00
Daniel Angelov cedd768397 Fixed the M_PI to CV_PI 2013-07-21 01:54:27 +03:00
Daniel Angelov 965b3759b1 Update on the class to reflect the review. Split the class into virtual and implementation. change of name to LineSegmentDetector, using Input/Output-Arrays, general clean ups. 2013-07-21 01:31:51 +03:00
Philippe FOUBERT 9c04db554f Rename PVAPI_DECLARATIONS to PVAPI_DEFINITIONS 2013-07-20 15:03:30 +02:00
Alex Leontiev c123974f42 Eliminated all the calls to std::find()
This is done by keeping indexToRow vector, that keeps the information,
opposite to those kept by N and B. That is, while N and B help to
determine which variable corresponds to given column in column-vector c
or row in matrix b, indexToRow helps to determine the corresponding
row/column for a given variable.

At this point, I'm waiting for comments from pull request reviewer and
not working on any upgrades. Comments are appreciated, as usual.
2013-07-20 15:14:02 +03:00
lluis 9fbff009e9 fixed compilation errors and warnings on builds 3298 and 4384 2013-07-20 11:35:56 +02:00
lluis 6adba09463 fixed some warnings on build 4285 2013-07-20 11:13:38 +02:00
abidrahmank f36b9940e8 ref in inpainting docs 2013-07-20 14:07:19 +05:30
lluis 1d8e80aa3b add opencv_ml headers to precomp 2013-07-20 10:33:42 +02:00
lluis 5abe3b59f5 Class-specific Extremal Region Filter algorithm as proposed in :
Neumann L., Matas J.: Real-Time Scene Text Localization and Recognition, CVPR 2012.

High-level C++ interface and implementation of algorithm is in the objdetect module.
C++ example, a test image, and the default classifiers in xml files.
2013-07-20 01:10:05 +02:00
abidrahmank 692d807fa0 gabor filter docs Bug#1894 2013-07-20 00:15:28 +05:30
abidrahmank 84179b8a4e bgdsubtractorGMG docs 2013-07-19 23:11:30 +05:30
ozantonkal 0a3691d6ac CameraPositionWidget: constructor with Vec2f fov (tentative) 2013-07-19 18:30:12 +02:00
StevenPuttemans 27ed32f833 Applied bugfix #3165 : Changed min_eps value 2013-07-19 14:11:04 +02:00
Alex Leontiev 33e7640fb0 Simplify printing procedures
Use opencv's print() procedure in place of my own procedures to output
matrices and std::vectors.

Interestingly enough, operator<< does not work for matrices, when called
from my .cpp files in src/ subfolder of the optim module, although it
works when called from tests and stand-alone programs, compiled with
opencv. I think, this requires investigation and, maybe, bug report.
2013-07-19 12:34:33 +03: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 73b10bc8ca Merge pull request #1133 from abidrahmank:denoising_pydocs 2013-07-19 12:20:56 +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
yao 18f71fd410 Warning fixes 2013-07-19 14:36:41 +08:00
Alex Leontiev 459c16ca99 Minor fixes
In request to the comments for the pull request.
2013-07-19 03:09:39 +03:00
Alexander Shishkov b87d2e9ec2 cosmetic change 2013-07-19 03:10:38 +04:00
Alexander Shishkov 919f35644e Merge branch 'master' of https://github.com/f-morozov/opencv 2013-07-19 01:08:49 +04:00
Alexander Shishkov 35a39c19a3 minor changes 2013-07-19 01:08:42 +04:00
Fedor Morozov ec668ce3a7 Documentation 2013-07-19 00:23:49 +04:00
Andrey Pavlenko 6b047ca0eb minor improvement (consistency, readability) 2013-07-18 19:50:51 +04:00
ozantonkal 2294eb82c9 fix aspect_ratio in camera position widget, add scale parameter (tentative implementation of scale) 2013-07-18 17:46:08 +02:00
Andrey Pavlenko 0386488629 Merge pull request #1095 from jet47:gpu-perf-tests 2013-07-18 19:32:37 +04:00
Andrey Pavlenko 74c72a1d7a removing unreachible code 2013-07-18 19:15:49 +04:00
ozantonkal 9d3f3c66da camera position widget: constructor with no parameter, constructor with intrinsic matrix for visualizing frustum 2013-07-18 17:08:58 +02: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 77f2d945f0 Merge pull request #1144 from prclibo:master 2013-07-18 16:05:40 +04:00
Roman Donchenko 28f2755413 Merge pull request #1137 from StevenPuttemans:bugfix_3131_24 2013-07-18 16:02:47 +04:00
Vladislav Vinogradov 7737375106 updated documentation 2013-07-18 15:39:43 +04:00
Vladislav Vinogradov af2a700671 made module dependency optional 2013-07-18 15:39:42 +04:00
Vladislav Vinogradov 62edeeed16 refactored FGD algorithm 2013-07-18 15:39:42 +04:00
Vladislav Vinogradov 697793090d refactored GMG algorithm 2013-07-18 15:39:42 +04:00
Vladislav Vinogradov b8f0d1a0e4 refactored MOG2 algorithm 2013-07-18 15:39:42 +04:00
Vladislav Vinogradov a2adab7283 refactored MOG algorithm
converted it to abstract interface
2013-07-18 15:39:42 +04:00
Vladislav Vinogradov 88e67545ef split mog sources 2013-07-18 15:39:42 +04:00
Jan Starzynski ee42b65063 corrected some spelling errors 2013-07-18 13:24:55 +02:00
Vladislav Vinogradov 7b87d72d80 refactored generalized hough (both CPU and GPU):
removed set/get methods from Algorithm (implement owns)
removed GHT_* enumeration
2013-07-18 15:17:33 +04: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
Andrey Pavlenko 4b234fa0a5 Merge pull request #1042 from jet47:gpuimgproc-refactoring 2013-07-18 14:22:44 +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
ozantonkal 3260404fdf initial CameraPositionWidget implementation using eye, look_at, up_vector 2013-07-18 10:39:34 +02: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
Bo Li 27a0ed0018 removed tab in five-point.cpp 2013-07-18 10:09:50 +08:00
Bo Li 9b5eca975b fixed a bug for the mask of recoverPose function 2013-07-18 09:55:39 +08:00
Alexander Shishkov a29ce401d5 minore changes in test on HDR fromat 2013-07-18 01:32:06 +04:00
Alexander Shishkov 245dc99248 added include precomp 2013-07-18 01:13:35 +04:00
Alexander Shishkov 707048f6e1 removed tonemap_algorithms due to wrapping problems 2013-07-18 00:55:39 +04:00
Alexander Shishkov 8ccca90dca small changes
added including for precomp
2013-07-18 00:28:40 +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 73b5cc358e Merge pull request #1132 from apavlenko:master_ver_290 2013-07-17 17:51:56 +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
Andrey Pavlenko e04517af36 moving version to 2.9.0,
also adding NVidia copyright
2013-07-17 15:03:11 +04:00
ozantonkal 40e47e6f3f Image widgets implementation, GridWidget: vtkExtractEdges instead of Wireframe 2013-07-17 11:35:14 +02:00
Roman Donchenko 4f68212e64 Merge pull request #1124 from SpecLad:matx-div 2013-07-17 13:32:26 +04:00
Roman Donchenko 8f2047ada4 Merge pull request #1093 from jet47:fix-gpu-stream-test 2013-07-17 13:18:25 +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
Vladislav Vinogradov 39a25115e0 fixed compilation 2013-07-17 11:41:48 +04:00
Vladislav Vinogradov 59edad5a00 removed obsolete API 2013-07-17 11:40:01 +04:00
Vladislav Vinogradov 5da724001f made dependecy from gpufilters optional 2013-07-17 11:40:00 +04:00
Vladislav Vinogradov f614e35443 split hough sources 2013-07-17 11:40:00 +04:00
Vladislav Vinogradov 1d79e13133 removed dependecy from gpuarithm 2013-07-17 11:39:59 +04:00
Vladislav Vinogradov 9498f82085 updated documentation 2013-07-17 11:39:58 +04:00
Vladislav Vinogradov 62a5a70cd0 switched to Input/Output Array in bilateralFilter & blendLinear 2013-07-17 11:39:58 +04:00
Vladislav Vinogradov de56163f97 refactored gpu::matchTemplate (converted it into Algorithm) 2013-07-17 11:39:57 +04:00
Vladislav Vinogradov 1fcc8074bd switched to Input/Output Array in Mean Shift 2013-07-17 11:39:57 +04:00
Vladislav Vinogradov 70e6dc615a refactored GoodFeaturesToTrackDetector 2013-07-17 11:39:56 +04:00
Vladislav Vinogradov d7ff3ad0cf refactored cornerHarris and cornerMinEigenVal
* converted it into Algorithm
2013-07-17 11:39:55 +04:00
Vladislav Vinogradov ad4d6bed9d refactored gpu::GeneralizedHough 2013-07-17 11:39:55 +04:00
Vladislav Vinogradov 4087a45e73 refactored HoughCircles (converted it into Algorithm) 2013-07-17 11:39:54 +04:00
Vladislav Vinogradov 1652540a1f refactored HoughLines (converted it into Algorithm) 2013-07-17 11:39:54 +04:00
Vladislav Vinogradov 48fb8c4f8a refactored gpu::Canny (converted it into Algorithm) 2013-07-17 11:39:53 +04:00
Vladislav Vinogradov fc8476544c switched to Input/Output Array in Histogram Processing 2013-07-17 11:39:52 +04:00
Vladislav Vinogradov 9eea9835ab switched to Input/Output Array in Color Processing 2013-07-17 11:39:52 +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
Vladislav Vinogradov 4716f63444 fixed gpu performance tests:
used new CV_PERF_TEST_MAIN_WITH_IMPLS mechanism
2013-07-16 15:43:04 +04:00
Roman Donchenko 6d1ec452fc Merge pull request #1125 from SpecLad:softcascade-nowarn 2013-07-16 15:12:25 +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
Roman Donchenko 1160b04fb4 Fixed a build warning in softcascade. 2013-07-16 12:43:49 +04:00
Roman Donchenko 924fc070f0 Changed / for Matx to Matx::div, for symmetry with Matx::mul. 2013-07-16 12:25:26 +04:00
Roman Donchenko 3443fd85cd Merge pull request #984 from albenoit:master 2013-07-16 11:57:52 +04:00
Roman Donchenko feaa12a274 Merge remote-tracking branch 'origin/2.4' into merge-2.4
Conflicts:
	modules/core/include/opencv2/core/version.hpp
	modules/ocl/include/opencv2/ocl/ocl.hpp
	modules/ocl/src/initialization.cpp
	modules/ocl/test/main.cpp
	modules/superres/CMakeLists.txt
	modules/superres/src/input_array_utility.cpp
	modules/superres/src/input_array_utility.hpp
	modules/superres/src/optical_flow.cpp
2013-07-16 11:52:41 +04:00
ozantonkal 769eba7535 cube wire_frame fix using vtkOutlineSource 2013-07-16 09:06:14 +02:00
ozantonkal 4b85c849ca fix rgb and bgr incompatibility 2013-07-16 09:06:14 +02:00
ozantonkal 1bfd7ad17e arrow widget thickness parameter 2013-07-16 09:06:14 +02:00
peng xiao ff73557304 Fix compilation error on Mac 2013-07-16 08:48:09 +08:00
Daniel Angelov 694d9ff2eb LSD enum now anonymous. 2013-07-15 23:28:19 +03:00
Anatoly Baksheev dc348ff93d removed Mesh::Ptr since mesh itself consists of shared points (cv::Mat) 2013-07-15 19:18:37 +04:00
Anatoly Baksheev 0e20473c97 minor mesh load fixes 2013-07-15 16:46:39 +04:00
Anatoly Baksheev 4c228c07f1 fixed copilation 2013-07-15 16:31:28 +04:00
Anatoly Baksheev 2d36a8f7da Merge pull request #16 from ozantonkal/implementing_widgets
Implementing widgets
2013-07-15 04:13:47 -07:00
ozantonkal efbebe6236 Merge branch 'implementing_widgets' of https://github.com/ozantonkal/opencv into implementing_widgets 2013-07-15 12:04:24 +02:00
ozantonkal 25f98bc022 mesh widget casting 2013-07-15 12:02:53 +02:00
ozantonkal b066d1982f mesh widget implementation 2013-07-15 12:02:20 +02:00
Anatoly Baksheev 757e61d94c restored OpenCVModule.cmake 2013-07-15 13:11:34 +04:00
peng xiao e5c396bb24 Add ocl::gftt performance test. 2013-07-15 16:27:27 +08:00
alexandre benoit 12f65c61a8 updated doc wrt new bioinspired namespace convention 2013-07-15 09:58:16 +02:00
Roman Donchenko 52a9378257 Merge pull request #979 from jet47:gpuwarping-refactoring 2013-07-15 11:47:03 +04:00
Roman Donchenko 1590a1a538 Merge pull request #1068 from AoD314:webp2 2013-07-15 11:45:28 +04: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
alexandre benoit 7fe78efda3 retina included in namespace bioinspired + followed suggestions made by Vadim 2013-07-14 19:28:37 +02:00
Daniel Angelov d35601209e Added define guard for ln10. Fixed some warnings. 2013-07-14 14:29:56 +03:00
Daniel Angelov 22c8010b2d Added needed header, changed macro name. 2013-07-14 12:56:22 +03:00
Anatoly Baksheev 6ca1822f36 added comments with future work for VizImpl
added authors to license header
2013-07-13 20:42:49 +04:00
Anatoly Baksheev d6e2b657f9 more refactoring 2013-07-13 19:42:49 +04:00
Anatoly Baksheev 512afe2a90 beatification of test_viz 2013-07-13 18:23:46 +04:00
Anatoly Baksheev 83cb28f169 temp_viz removed 2013-07-13 18:01:56 +04:00
Anatoly Baksheev 3e41f0647e removed q subfolder 2013-07-13 17:45:46 +04:00
abidrahmank 61e50e2fda python docs for non-local means denoising 2013-07-13 16:00:15 +05:30
andrey.morozov 7d5185e8f1 updated webp to version 0.3.1 2013-07-13 14:09:44 +04:00
andrey.morozov e4e0862c2e added support image with alpha channel 2013-07-13 14:09:37 +04:00
Daniel Angelov 3350533f48 Fixed ambiguouty error, signess compare. 2013-07-13 05:08:15 +03:00
Daniel Angelov 6bd5e12be3 Added a sample to show usage of the class. 2013-07-13 04:11:27 +03:00
Daniel Angelov e51e00ac5f Added LSD accuracy tests. 2013-07-13 04:09:28 +03:00
Anatoly Baksheev f480eca668 removed Affine3f from coordinate frame constructor 2013-07-13 01:49:59 +04:00
Daniel Angelov 5350a2f1d9 Added Line Segmen Detector. 2013-07-13 00:21:02 +03:00
Anatoly Baksheev 328f0e32d8 added makeTransformToGlobal() function 2013-07-13 00:00:57 +04:00
Anatoly Baksheev 6045ae856b reshape continuous clouds for better performance. 2013-07-12 23:59:19 +04:00
Anatoly Baksheev ae2e3a1a93 viz license header template 2013-07-12 16:53:25 +04:00
Fedor Morozov 091b48de60 MTB alignment. Missing main file. 2013-07-12 16:08:06 +04:00
Fedor Morozov 35133df0de MTB alignment. Code, tests, application 2013-07-12 16:03:53 +04:00
Roman Donchenko 616dbd53f0 Merge pull request #1107 from abidrahmank:master 2013-07-12 11:40:33 +04:00
Roman Donchenko 3b8a13a1ed Merge pull request #1101 from jet47:cudev-stub-lib 2013-07-12 11:39:25 +04: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
hbristow 9cc949e341 Added more test cases 2013-07-12 17:31:25 +10:00
hbristow 5a34b00737 Added more test cases 2013-07-12 16:57:05 +10:00
hbristow 603d949354 Improved string handling. Swapped transpose interface for slow but correct implementation. Will come back to optimized implementation later. imshow now works correctly 2013-07-12 15:48:03 +10:00
Vladislav Vinogradov d52ef2f758 added stub library for cudev module
in order to make CMake scripts work properly
2013-07-12 08:47:12 +04:00
Vladislav Vinogradov 5e3934446d fixed test compilation for gpu::Stream 2013-07-12 08:45:55 +04:00
Vladislav Vinogradov afb08b33c7 removed obsolete API from gpuarithm module 2013-07-12 08:40:30 +04:00
Vladislav Vinogradov 0d9e3cfa37 updated documentation 2013-07-12 08:12:48 +04:00
Vladislav Vinogradov 6d6ff26887 refactored gpu::ImagePyramid (converted it to abstract interface) 2013-07-12 08:12:48 +04:00
Vladislav Vinogradov 2932beddcf switched to Input/Output Array in gpuwarping functions 2013-07-12 08:12:48 +04:00
hbristow 346f7d0f3e Fast deep-copy-transpose implemented which attempts to not thrash the cache. Good first step for now, but no transpose at all would be preferrable. Started I/O. 2013-07-12 10:38:48 +10:00
Alex Leontiev 6db2596ca9 Convenience fixes
Attempting to fix issues pointed out by Vadim Pisarevsky during the pull
request review. In particular, the following things are done:
*) The mechanism of debug info printing is changed and made more
procedure-style than the previous macro-style
*) z in solveLP() is now returned as a column-vector
*) Func parameter of solveLP() is now allowed to be column-vector, in
which case it is understood to be the transpose of what we need
*) Func and Constr now can contain floats, not only doubles (in the
former case the conversion is done via convertTo())
*)different constructor to allocate space for z in solveLP() is used,
making the size of z more explicit (this is just a notation change, not
functional, both constructors are achieving the same goal)
*) (big) mat.hpp and iostream headers are moved to precomp-headers from
optim.hpp
2013-07-11 22:05:14 +03: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
Alex Leontiev e9b432b1d9 Fixing the warnings
Fixed all of the warnings.
2013-07-11 14:43:48 +03: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
Anatoly Baksheev c6a8bd65a8 fixed some warnings for windows
minor buitification
2013-07-11 14:45:39 +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
ozantonkal acd63c1497 fix grid widget unused color 2013-07-11 11:52:59 +02:00
Alex Leontiev 6c9ae1100b Fixed the warnings
Fixed the code so to eliminate warnings related to shadowing and unused
parameters. In some settings, these warnings may be treated as an errors
and lead to failed build.

Suggested by Nikita Manovich.
2013-07-11 12:29:55 +03:00
Anatoly Baksheev ea8d485d76 Merge pull request #15 from ozantonkal/implementing_widgets
Implementing widgets
2013-07-11 02:28:55 -07: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 75b86c9706 Merge pull request #1104 from nikman-ru:cap_reuse 2013-07-11 11:52:22 +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
ozantonkal eef8195569 clean unnecessary methods, make text3d face camera 2013-07-11 09:30:52 +02:00
Alex Leontiev fe6a7e935d Fix qualifiers on aux functions for solveLP()
Change qualifiers on auxiliary functions (for solveLP() procedure) from
const (that does not have much sense) to static (that makes them
invisible for outside world and hopefully exacerbates optimization).
2013-07-11 09:52:13 +03:00
Alex Leontiev ba537a95db Preparation for pull request
Additional cleaning for simplex method, removing the parts that are
currently unused. Removing developer's notes. Trying to reach production
level.
2013-07-11 09:31:10 +03:00
Andrey Pavlenko decd0c753a Merge pull request #1082 from jet47:gpu-warnings-fix 2013-07-11 09:41:46 +04:00
abidrahmank 1923d87f61 PyDocs for common interface of feature2d 2013-07-11 09:33:32 +05:30
abidrahmank f91f369788 PyDocs for FAST, ORB etc 2013-07-11 09:32:49 +05:30
abidrahmank 2047838106 feature2d drawing functions PyDocs 2013-07-11 09:31:25 +05:30
abidrahmank 031c77f4eb SIFT+SURF PyDocs 2013-07-11 09:30:21 +05:30
abidrahmank 5d863f7516 drawMatches python bindings 2013-07-11 09:28:37 +05:30
kdrobnyh df4b67a749 Merge pull request #1 from Itseez/2.4
Add calculating integral image using IPP
2013-07-10 10:45:24 -07:00
Alex Leontiev a95650111f Cleaning the code of simplex method
In particular, the following things are done:
*) Consistent tabulation of 4 spaces is ensured
*) New function dprintf() is introduced, so now printing of the debug
information can be turned on/off via the ALEX_DEBUG macro
*) Removed solveLP_aux namespace
*) All auxiliary functions are declared as static
*) The return codes of solveLP() are encapsulated in enum.
2013-07-10 20:11:52 +03: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
ozantonkal 5813a3a99d text3D widget implementation 2013-07-10 16:34:47 +02: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
Nikita Manovich 21211308d0 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-10 17:48:44 +04:00
ozantonkal e185900270 grid widget implementation 2013-07-10 15:34:19 +02:00
Roman Donchenko ac39bfb4cc Remove HAVE_CVCONFIG_H - it's always defined. 2013-07-10 16:02:07 +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
ozantonkal 71c76aecc9 PolyLine widget implementation 2013-07-10 12:51:17 +02:00
ozantonkal d3dee3a2fe explicit casting among widgets, removed implicit casting 2013-07-10 09:55:42 +02: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
Anatoly Baksheev e4c3416f58 experimental widget casting functionality 2013-07-09 20:16:43 +04:00
Anatoly Baksheev 509a93c7ce minor naming 2013-07-09 19:35:26 +04:00
ozantonkal 200b254bad rearrange widget constructors 2013-07-09 15:18:44 +02:00
ozantonkal 10d955f18b widget2d setcolor implementation 2013-07-09 14:28:55 +02:00
ozantonkal 318b1c00a9 implement assignment operator and copy constructor for all widgets existing 2013-07-09 14:12:49 +02:00
ozantonkal 195d60f4f8 fix widget delete bug 2013-07-09 11:07:21 +02:00
ozantonkal d324c03b6a initial redesigning widgets 2013-07-09 10:22:12 +02:00
Roman Donchenko 68a992b075 Merge pull request #1096 from SpecLad:merge-2.4 2013-07-09 11:50:19 +04:00
Andrew Senin aa2ca3aa8f Improve FPS on black and white Ximea cameras 2013-07-09 00:33:39 +04:00
Anatoly Baksheev 061c28cde0 Merge pull request #14 from ozantonkal/implementing_widgets
Implementing widgets
2013-07-08 12:52:18 -07:00
ozantonkal b50d777985 cloudwidget private implementation for duplicate code, add cv_assert(exists), fix bug point_step bug in CloudNormalsWidget 2013-07-08 21:48:19 +02:00
ozantonkal cc08149d7c remove redundant statements 2013-07-08 19:05:35 +02:00
ozantonkal 658e4c5e97 set/get/updateWidgetPose implemented, cloudNormals with color 2013-07-08 18:56:13 +02:00
ozantonkal e76023be96 cloud normals widget implementation 2013-07-08 18:22:51 +02:00
Roman Donchenko c05bfe9d6d Merge remote-tracking branch 'origin/2.4' into merge-2.4
Conflicts:
	modules/features2d/include/opencv2/features2d/features2d.hpp
	modules/ocl/src/opencl/stereobp.cl
	modules/ocl/src/stereobp.cpp
2013-07-08 18:47:38 +04:00
ozantonkal 6e5ae98582 initial cloud widget implementation, fix safedowncasts 2013-07-08 15:12:50 +02:00
ozantonkal d394e233bb cube widget wireframe 2013-07-08 11:34:11 +02:00
ozantonkal 653eda45f8 text widget implementation 2013-07-08 10:41:42 +02:00
ozantonkal c4f4727ee5 showWidget takes Affine3f as argument 2013-07-08 10:53:00 +03:00
ozantonkal eafcdc004d plane widget size 2013-07-07 21:19:21 +03:00
ozantonkal 030400d50f circle widget thickness property 2013-07-07 16:21:47 +03:00
andrey.morozov 8d0452ed59 added test to save image with webp with alpha channel 2013-07-06 17:26:22 +04:00
Fedor Morozov 0aee5b61e3 Exposure fusion. Code, tests. 2013-07-05 16:14:08 +04:00
Anatoly Baksheev 9d684a39da Fixed ref counting bug, minor formatting 2013-07-05 14:35:12 +04:00
Anatoly Baksheev 45cdc41763 Merge pull request #13 from ozantonkal/implementing_widgets
Implementing widgets
2013-07-05 03:10:53 -07:00
Roman Donchenko de58039b46 Merge pull request #1081 from SpecLad:merge-2.4 2013-07-05 13:34:59 +04:00
Roman Donchenko 2f8be2a4b1 Merge pull request #1083 from jet47:cuda-device-layer 2013-07-05 13:30:11 +04:00
Alexey Spizhevoy dcb049df6a fixed docs 2013-07-05 10:16:22 +04:00
Alexey Spizhevoy 2a48f7c035 fixed include for Windows 2013-07-05 09:44:32 +04:00
yao 88ed74a7ec fix the function name 2013-07-05 08:59:21 +08:00
ozantonkal 7e2643abff removed shape files 2013-07-04 19:05:56 +03:00
ozantonkal 4c3d1d583a remove ModelCoefficients, remove showShape methods from viz3d 2013-07-04 18:47:52 +03:00
ozantonkal 5bb95c4110 remove widget implementation 2013-07-04 18:36:26 +03:00
ozantonkal ecdd8513fd coordinate system widget implementation, update pose fix 2013-07-04 18:19:06 +03:00
ozantonkal 03cc439b08 cube widget implementation 2013-07-04 17:59:11 +03:00
ozantonkal f07486b563 cylinder widget implementation 2013-07-04 17:44:41 +03:00
Roman Donchenko 4d45b3e7f9 Merge pull request #1089 from SpecLad:contract-violations 2013-07-04 18:25:39 +04:00
alexandre benoit 188f889949 Merge branch 'master' of code.opencv.org:opencv 2013-07-04 16:19:24 +02:00
ozantonkal f97c3c8b06 circle widget and arrow widget implementation 2013-07-04 16:54:46 +03:00
Alexey Spizhevoy 406f342dc3 updated docs 2013-07-04 17:41:39 +04:00
ozantonkal d80a965f97 sphere widget implementation 2013-07-04 16:32:06 +03:00
Alexey Spizhevoy 027065a5a1 removed trailing whitespaces causing warnings 2013-07-04 17:31:12 +04:00
Alexey Spizhevoy cc85e86ee7 fixed Windows build 2013-07-04 17:22:36 +04:00
ozantonkal 3d3e3fd470 plane widget implementation 2013-07-04 16:15:20 +03:00
Roman Donchenko 0daf4b800a Fix bug: CommandLineParserParams's comparator would fail with equal arguments. 2013-07-04 17:09:29 +04:00
Roman Donchenko 4692d4b36e Fix bug: cv::String would break if assigned to itself. 2013-07-04 17:06:00 +04:00
ozantonkal ba89a6a34a line widget set/get line width 2013-07-04 16:05:05 +03:00
ozantonkal 158ed299c1 reference counting in widget 2013-07-04 15:57:49 +03:00
Alexey Spizhevoy 438a599288 added 'cmath' include 2013-07-04 16:57:20 +04:00
Fedor Morozov a5e11079d7 Fixes, missing files, tests 2013-07-04 16:51:39 +04:00
Anatoly Baksheev 141cfd562c widget_accessor.hpp - minimize dependencies 2013-07-04 15:16:48 +04:00
Anatoly Baksheev efa7f09048 slight refactoring of widget system code 2013-07-04 13:54:00 +04:00
hbristow d126263983 implemented faster transpose with SEE auto vectorization 2013-07-03 23:34:02 -07: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
ozantonkal daa2a205a4 remove redundant methods, implement assignment operator for widget 2013-07-03 22:27:09 +03:00
Vladislav Vinogradov b4d95b1406 fixed warnings in gpu modules from VS 2012 2013-07-03 22:21:10 +04:00
ozantonkal c8d2b5ff44 fix vtkActor to vtkLODActor, initial implementation LineWidget, showWidget 2013-07-03 20:53:03 +03:00
Vladislav Vinogradov 31d55af9c1 CUDA Device Layer:
header only library for CUDA programming
2013-07-03 21:32:15 +04:00
Roman Donchenko 4cf9990d4e Merge remote-tracking branch 'origin/2.4' into merge-2.4
Conflicts:
	doc/tutorials/definitions/noContent.rst
	doc/tutorials/gpu/gpu-basics-similarity/gpu-basics-similarity.rst
	doc/tutorials/introduction/android_binary_package/dev_with_OCV_on_Android.rst
	doc/tutorials/introduction/how_to_write_a_tutorial/how_to_write_a_tutorial.rst
	modules/core/include/opencv2/core/core.hpp
	modules/core/include/opencv2/core/internal.hpp
	modules/core/include/opencv2/core/version.hpp
	modules/gpu/CMakeLists.txt
	modules/highgui/perf/perf_output.cpp
	modules/highgui/test/test_video_io.cpp
	modules/ocl/include/opencv2/ocl/ocl.hpp
	modules/ocl/perf/main.cpp
	modules/ocl/src/hog.cpp
	modules/ocl/src/initialization.cpp
	modules/ocl/src/moments.cpp
	modules/ocl/src/opencl/moments.cl
	modules/ocl/test/main.cpp
	modules/ocl/test/test_moments.cpp
	modules/python/test/test.py
	modules/ts/include/opencv2/ts/ts_perf.hpp
	modules/ts/src/precomp.hpp
	modules/ts/src/ts_perf.cpp
2013-07-03 19:53:21 +04:00
ozantonkal 54c7dfab83 initial base widget implementation 2013-07-03 18:48:11 +03: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
Alexey Spizhevoy 37ea872204 added handling of camera parameters estimation errors (#3122) 2013-07-03 15:20:14 +04:00
Alex Leontiev a4a5e98cc0 Non-optimized simplex algorithm.
This version is supposed to work on all problems (please, let me know if
this is not so), but is not optimized yet in terms of numerical
stability and performance. Bland's rule is implemented as well, so
algorithm is supposed to allow no cycling. Additional check for multiple
solutions is added (in case of multiple solutions algorithm returns an
appropriate return code of 1 and returns arbitrary optimal solution).
Finally, now we have 5 tests.

Before Thursday we have 4 directions that can be tackled in parallel:
*) Prepare the pull request!
*) Make the code more clear and readable (refactoring)
*) Wrap the core solveLP() procedure in OOP-style interface
*) Test solveLP on non-trivial tests (possibly test against
http://www.coin-or.org/Clp/)
2013-07-03 13:54:23 +03:00
yao 8d8dc29ced add kmeans 2013-07-03 13:13:04 +08:00
hbristow baa946c390 Split MxArray out of bridge into standalone file. Does not depend on bridge. Working to make it API complete with respect to mxArray, but with better calling syntax 2013-07-02 16:42:37 -07: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
Andrey Pavlenko 70deda354a Merge pull request #1047 from jet47:gpustream-remove-obsolete 2013-07-02 18:39:12 +04:00
Andrey Pavlenko 89086bdb8d Merge pull request #1046 from SpecLad:merge-2.4 2013-07-02 15:39:07 +04:00
hbristow 504558c0be Better C++11 and C++98 support/interop. Started writing map interface. Some core functions actually run 2013-07-01 16:33:55 -07:00
Anatoly Baksheev e0b7e63787 getShapePose/setShapePose simplification
little code beautification, formatting
2013-07-02 00:07:05 +04:00
Anatoly Baksheev 2229d91c50 Merge remote-tracking branch 'remotes/ozan/refactoring_shapeMethods' into viz
Conflicts:
	modules/viz/test/test_viz3d.cpp
2013-07-01 21:39:04 +04:00
hbristow 6fd296c0b0 More aggressive build warnings. The cmake configuration is quite fragile. Pay particular attention to quotes around variables 2013-06-29 16:30:17 -07:00
hbristow 538dbfe585 Now compiling under much more strigent warnings, with Clang and optional C++11 support 2013-06-29 14:24:53 -07:00
hbristow 53a7fbf74b Improved bridge. Fixed I/O problem in function template 2013-06-29 00:19:08 -07:00
hbristow 53c9c40eba started MxArray wrapper around mxArray class 2013-06-28 19:48:42 -07:00
Alex Leontiev ddc0010e7d The first draft of simplex algorithm, simple tests.
What we have now corresponds to "formal simplex algorithm", described in
Cormen's "Intro to Algorithms". It will work *only* if the initial
problem has (0,0,0,...,0) as feasible solution (consequently, it will
work unpredictably if problem was unfeasible or did not have zero-vector as
feasible solution). Moreover, it might cycle.

TODO (first priority)
1. Implement initialize_simplex() procedure, that shall check for
feasibility and generate initial feasible solution. (in particular, code
should pass all 4 tests implemented at the moment)
2. Implement Bland's rule to avoid cycling.
3. Make the code more clear.
4. Implement several non-trivial tests (??) and check algorithm against
them. Debug if necessary.

TODO (second priority)
1. Concentrate on stability and speed (make difficult tests)
2013-06-28 15:28:57 +03:00
Fedor Morozov 122f85f352 Tonemapping code 2013-06-28 16:25:12 +04:00
hbristow fc519aa3b3 Matlab constants now being parsed correctly. Over 700 constants correctly formatted :) 2013-06-27 20:03:38 -07:00
hbristow ef6327bb89 Now building all OpenCV functions 2013-06-27 18:13:04 -07:00
hbristow d6453cf051 Now builds all functions except those dependent on Features2d. Improved build detection if cmake is rerun 2013-06-27 16:25:18 -07:00
hbristow 245bc5dcc0 maintenant compiling video et photo aussi 2013-06-27 13:58:40 -07:00
hbristow 5bc55a042e Now building all functions (not classes) in core, imgproc, ml and highgui 2013-06-27 11:45:19 -07:00
Roman Donchenko 4f19216e45 Merge pull request #1036 from jet47:fix-gpu-deviceinfo 2013-06-27 15:37:42 +04:00
ozantonkal 1830059969 removed redundant addShape methods 2013-06-27 13:05:52 +03:00
ozantonkal 4a19ff3a7c createArrow and showArrow implementation without label 2013-06-27 12:33:19 +03:00
ozantonkal c4a07b7531 createSphere and showSphere implementations 2013-06-27 11:51:36 +03:00
Roman Donchenko c1f8d9e3d2 Merge pull request #1011 from wecacuee:master 2013-06-27 12:03:07 +04:00
hbristow bb56ac4ae6 Added delta builds of Matlab executables. Imgproc module now compiling 2013-06-27 00:25:48 -07:00
hbristow 136f205fb3 added handling of constants equaling constants for C++ map 2013-06-26 17:41:35 -07:00
hbristow 6b88a21be8 added handling of constants equaling constants. e.g. FMT_DEFAULT = FMT_MATLAB 2013-06-26 17:39:08 -07:00
hbristow c5720213e4 Commented enum maps 2013-06-26 16:13:50 -07:00
hbristow e51bdbeb2d All OpenCV constants being exported into matlab class and C++ map templates 2013-06-26 15:45:05 -07:00
Vikas Dhiman f15dc72b89 Removed misleading comment and added the divisibility test to ::run function. 2013-06-26 12:16:25 -04:00
Roman Donchenko 53afdb4b30 Merge pull request #1041 from abidrahmank:master 2013-06-26 16:38:54 +04:00
ozantonkal 17bdc29d5b setShapePose and getShapePose implementations 2013-06-26 12:52:43 +02:00
ozantonkal fd6eeac6aa showCylinder and showCircle implementations 2013-06-26 11:32:12 +02:00
ozantonkal 98edabd42c showCylinder implementation 2013-06-26 11:13:34 +02:00
ozantonkal 55683e7b3b showCube implementation 2013-06-26 10:46:26 +02:00
peng xiao 30239ad58e Fix build error. 2013-06-26 16:06:05 +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
Vladislav Vinogradov 3c32fc1329 removed obsolete methods from gpu::Stream 2013-06-25 17:45:23 +04:00
Roman Donchenko f36f8067bc Merge remote-tracking branch 'origin/2.4' into merge-2.4
Conflicts:
	modules/calib3d/include/opencv2/calib3d/calib3d.hpp
	modules/core/include/opencv2/core/core.hpp
	modules/core/include/opencv2/core/cuda/limits.hpp
	modules/core/include/opencv2/core/internal.hpp
	modules/core/src/matrix.cpp
	modules/nonfree/test/test_features2d.cpp
	modules/ocl/include/opencv2/ocl/ocl.hpp
	modules/ocl/src/hog.cpp
	modules/ocl/test/test_haar.cpp
	modules/ocl/test/test_objdetect.cpp
	modules/ocl/test/test_pyrup.cpp
	modules/ts/src/precomp.hpp
	samples/ocl/facedetect.cpp
	samples/ocl/hog.cpp
	samples/ocl/pyrlk_optical_flow.cpp
	samples/ocl/surf_matcher.cpp
2013-06-25 15:55:52 +04:00
Roman Donchenko 1dccf5743e Merge pull request #1024 from jet47:fix-gpuarithm-compilation 2013-06-25 14:38:18 +04:00
hbristow 0b9ff11537 Fixed bug where expected number of input variables was incorrect if any of the inputs were also outputs 2013-06-24 13:11:29 -07:00
hbristow da63919811 Improved error handling on entry to mex files 2013-06-24 12:42:28 -07:00
Alex Leontiev b216c0940c Created skeleton for simplex method.
Added LPSolver class together with two nested classes: LPFunction and
LPConstraints. These represent function to be maximized and constraints
imposed respectively. They are implementations of interfaces Function
and Constraints respectively (latter ones are nested classes of Solver
interface, which is generic interface for all optimization algorithms to
be implemented within this project).

The next step is to implement the simplex algorithm! First, we shall
implement it for the case of constraints of the form Ax<=b and x>=0.
Then, we shall extend the sets of problems that can be handled by the
conversion to the one we've handled already. Finally, we shale
concentrate on numerical stability and efficiency.
2013-06-24 20:27:11 +03:00
abidrahmank a1ea1a7ec5 boxpoints documentation 2013-06-24 16:17:23 +05:30
abidrahmank bcf9117957 Added missing python functions in highgui documentation
setMouseCallback
createTrackbar
2013-06-24 15:53:45 +05:30
abidrahmank 37f4e400e4 Added cv2.boxPoints() functionality to Python bindings (Feature #2023)
http://www.code.opencv.org/issues/2023

eg:

In [3]: box = ((10,10),(5,5),0)

In [4]: cv2.boxPoints(box)
Out[4]:
array([[  7.5,  12.5],
       [  7.5,   7.5],
       [ 12.5,   7.5],
       [ 12.5,  12.5]], dtype=float32)
2013-06-24 12:13:59 +05:30
Vladislav Vinogradov 98bd401534 fix gpu::DeviceInfo compilation under linux
glibc defines major and minor macros
which conflict with  gpu::DeviceInfo methods with the same name
2013-06-24 10:11:44 +04:00
hbristow 9b32c6e653 Updated README 2013-06-23 22:44:12 -07:00
hbristow 8cd48cf35a Added README and proposal. Staging for first public commit 2013-06-23 20:48:40 -07:00
Fedor Morozov 84ea0c9a97 Tests and rgbe fix 2013-06-24 05:54:58 +04:00
hbristow c8fdb2c1e0 Changed build locations so that the matlab module can be used in-place, without having to install 2013-06-23 13:54:54 -07:00
hbristow b0285d92b4 Improved file installation 2013-06-23 13:34:01 -07:00
hbristow 3b77fa5e8c Improved dependency checking 2013-06-23 09:44:26 -07:00
Fedor Morozov 96dfbf5d24 HDR formats support and HDR making. Code only. 2013-06-23 14:25:51 +04:00
Fedor Morozov 7469c935f3 HDR formats support and HDR making. Code only. 2013-06-23 14:19:09 +04:00
hbristow 24d5adfd54 Added commenting to modules/matlab/CMakeLists.txt 2013-06-22 23:52:05 -07:00
hbristow 755ce9d654 Matlab bindings now only building once rather than every call to make, via the use of some proxies. Matlab build currently only happens in one thread, so it can be pretty slow 2013-06-22 23:26:27 -07:00
hbristow 3b4814a52e Started writing the Bridge interface. Mex wrappers now starting to compile for core 2013-06-22 12:38:40 -07:00
hbristow 0263727b53 Function templates now include the full skeleton, from input to output. Class templates need work 2013-06-21 23:39:28 -07:00
hbristow f45bc35652 input/output assignment in templates is working for non-trivial cases. Updated parse_tree to handle '/IO' and '/S' modifiers 2013-06-21 22:55:48 -07:00
hbristow 1a15ed3279 Started handling trivial case of return references. Removed most modules from build tree while testing (cmake/OpenCVModule) 2013-06-21 17:33:24 -07:00
Roman Donchenko eff6dccb3b Merge pull request #1014 from jet47:gpustereo-refactoring 2013-06-21 17:38:36 +04:00
Roman Donchenko b20c9ad2d1 Merge pull request #1015 from SpecLad:merge-2.4 2013-06-21 17:38:04 +04:00
ozantonkal 93fe2f6e4d showPlane with color 2013-06-21 14:09:12 +02:00
ozantonkal f94c2414e6 showPlane implementation 2013-06-21 14:00:22 +02:00
ozantonkal 26a6823207 showLine implementation 2013-06-21 12:48:27 +02:00
Roman Donchenko 84639e444b Merge pull request #1010 from jet47:gpufilters-refactoring 2013-06-21 14:45:50 +04:00
Vladislav Vinogradov af2fc1a22a added documentation for OpenGL interoperability 2013-06-20 16:11:10 +04:00
Alex Leontiev f41b8b90ff Blank module and first draft of solver API.
At this point we have a skeleton of a new module (optim) which can
barely compile properly (unlike previous commit). Besides, there is a
first draft of solver and lpsolver (linear optimization solver) in this
commit.
2013-06-20 14:54:09 +03:00
Roman Donchenko 13323882d4 Merge pull request #1027 from jet47:fix-cuda-4.2-build 2013-06-20 14:11:52 +04:00
Vladislav Vinogradov f08d75a84b removed obsolete API 2013-06-20 11:24:29 +04:00
Vladislav Vinogradov 50166d2734 fixed compilation with CUDA 4.2 2013-06-19 15:29:20 +04:00
Roman Donchenko 13cd0a0502 Merge remote-tracking branch 'origin/2.4'
Original pull requests:
	#996 from jet47:gpu-nvcuvid-libraries
	#995 from jet47:fix-bug-2985
	#999 from snosov1:unreliable-results-fix
	#1005 from alekcac:doc_fix
	#1004 from jet47:fix-bug-3068
	#987 from jet47:bug-3085-fix
	#969 from pengx17:2.4_binary_cache
	#929 from dominikrose:mingw-libdc1394-2-windows
	#1000 from ivan-korolev:fix_sift_bug_2892
	#1001 from ivan-korolev:fix_stitching_bug_2405
	#998 from asmorkalov:android_cmake_mips_fix
	#993 from ivan-korolev:fix_videostab_bug_3023
	#988 from snosov1:3071-fix
	#986 from pengx17:2.4_initiated_context
	#982 from pengx17:2.4_fix_two_bugs
	#981 from SeninAndrew:ximea_camera_support_fix
	#991 from asmorkalov:android_javadoc_fix
	#972 from jet47:mog2-params-bug-2168
	#980 from SpecLad:include-config
	#973 from pengx17:2.4_oclclahe
	#903 from aks2:2.4
	#968 from asmorkalov:android_na_cproj_fix
	#971 from SpecLad:matchers-ctor
	#970 from asmorkalov:dshow_valid_check_fix
	#965 from apavlenko:fix_java_empty_mats

Conflicts:
	cmake/OpenCVModule.cmake
	modules/core/src/matmul.cpp
	modules/gpu/CMakeLists.txt
	modules/ocl/include/opencv2/ocl/ocl.hpp
	modules/ocl/perf/perf_imgproc.cpp
	modules/ocl/src/imgproc.cpp
	modules/ocl/src/initialization.cpp
	modules/stitching/src/matchers.cpp
	modules/video/src/video_init.cpp
	modules/videostab/src/global_motion.cpp
2013-06-19 15:25:37 +04:00
Roman Donchenko 84262acbf0 Merge pull request #1012 from apavlenko:fix_3077 2013-06-19 12:25:23 +04:00
hbristow d9cea3b8b0 Compiling matlab from sources now appears as a single target 2013-06-19 17:37:41 +10:00
hbristow 0c726a3fbe Improved exception handling and unit tests 2013-06-19 16:37:57 +10:00
Vladislav Vinogradov 4b983679a5 fix gpuarithm module compilation (Bug #3103) 2013-06-19 10:13:33 +04:00
hbristow bbece095fb Starting writing Matlab testing framework 2013-06-19 15:04:52 +10:00
hbristow 31415e344f Matlab binding generation now at build time 2013-06-19 13:59:22 +10:00
hbristow 884f36ba65 Improved configure time tests. Added OpenCV specific exception handling 2013-06-19 11:54:14 +10:00
hbristow 4d135ac4d8 Improved exception handling in function template 2013-06-18 23:13:03 +10:00
hbristow 804d0924c9 cmake now attempts to generate and compile a simple mex file at configure time and reports the working status of the generator and compiler, rather than just naively saying Matlab exists 2013-06-18 23:00:48 +10:00
hbristow fc16cfcf41 Improved template formatting 2013-06-18 17:29:04 +10:00
hbristow 304fd03e64 Updated jinja version 2013-06-18 17:27:09 +10:00
Vladislav Vinogradov 4e29f0ee6d updated documentation 2013-06-18 08:36:49 +04:00
Alex Leontiev f2afe64521 Starting implement simplex algorithm. 2013-06-17 18:16:30 +03:00
ozantonkal b387581d4f initial refactoring 2013-06-17 16:32:52 +02:00
hbristow 2059972bf7 Preparing to rebase 2013-06-17 16:51:31 +10:00
hbristow 28c90609c9 Stripped more unnecessary files out of jinja. Now down to 21 files at 352KB. Stripped files are in jinja-unused for the moment 2013-06-17 16:51:25 +10:00
Hilton Bristow 30aa710022 Removed some debug statements 2013-06-17 16:51:24 +10:00
Hilton Bristow eda32520e2 Improved tempalte formatting 2013-06-17 16:51:24 +10:00
Hilton Bristow 66c40bee6f Template population now functional 2013-06-17 16:51:24 +10:00
Hilton Bristow 827b4f93e4 Stripped down jinja, added cmake support 2013-06-17 16:51:24 +10:00
Hilton Bristow 09e294711d Added class templates 2013-06-17 16:51:23 +10:00
Hilton Bristow c29a98ef84 Added README 2013-06-17 16:51:23 +10:00
Hilton Bristow 8e9cdf8ca3 Updated print formatting 2013-06-17 16:51:23 +10:00
Hilton Bristow 808f9dbc93 Improved parse tree, now building within main opencv build system 2013-06-17 16:51:23 +10:00
Hilton Bristow 5d1944bace Added jinja framework for templates and base templates for functions and docs 2013-06-17 16:48:07 +10:00
Hilton Bristow ac748747d4 FindMatlab.cmake in cmake find_package format 2013-06-17 16:48:06 +10:00
Hilton Bristow de93408dec Better conformity to find_package requirements 2013-06-17 16:48:06 +10:00
Hilton Bristow 60d7acb4fc Added Windows functionality to FindMatlab. Untested 2013-06-17 16:48:06 +10:00
Hilton Bristow e8e537a1c7 Added matlab generator stub 2013-06-17 16:48:06 +10:00
Hilton Bristow ded45b4d1a Added basic ability to find Matlab installations. Added test cpp file under modules/matlab/test to test mex compiler within cmake 2013-06-17 16:48:05 +10:00
Hilton Bristow 2e382c67ec Added Matlab to the main build 2013-06-17 16:40:54 +10:00
Hilton Bristow 411604fa90 Initial matlab commit 2013-06-17 16:40:54 +10:00
Vladislav Vinogradov 24108f8110 updated documentation 2013-06-17 09:53:39 +04:00
Andrey Pavlenko 01e9733155 fix for #3077
removing "-fvisibility=hidden" gcc option due to lack of `__attribute__ ((visibility("default")))` in jni_md.h/JNIEXPORT
2013-06-14 20:25:23 +04:00
Vikas Dhiman dbc9b4db0c support elementwise division for Matx with "/" operator. 2013-06-14 11:38:29 -04:00
Vladislav Vinogradov a380c473b9 switched to Input/Output Array in reprojectImageTo3D & drawColorDisp 2013-06-14 18:17:31 +04:00
Vladislav Vinogradov 3a02e599e0 refactored DisparityBilateralFilter 2013-06-14 18:17:31 +04:00
Vladislav Vinogradov be9bb8f18b refactored StereoConstantSpaceBP 2013-06-14 18:17:31 +04:00
Vladislav Vinogradov d0e89337da refactored StereoBeliefPropagation 2013-06-14 18:17:31 +04:00
Vladislav Vinogradov dd6d58f873 refactored StereoBM 2013-06-14 18:17:30 +04:00
Vladislav Vinogradov 4317cd1ffa refactored 1D Sum Filters 2013-06-14 17:25:57 +04:00
Vladislav Vinogradov 4bb297afc2 refactored Image Rank Filters 2013-06-14 17:25:57 +04:00
Vladislav Vinogradov 5720eaf354 refactored Morphology Filters 2013-06-14 17:25:57 +04:00
Vladislav Vinogradov 12ae11e2ff refactored Separable Linear Filters 2013-06-14 17:25:56 +04:00
Vladislav Vinogradov ee7eb1b807 refactored Laplacian filter 2013-06-14 17:25:56 +04:00
Vladislav Vinogradov 1eedc6c42a refactored Linear Filter 2013-06-14 17:25:56 +04:00
Vladislav Vinogradov fcfcd4cbce refactored box filter 2013-06-14 17:25:56 +04:00
Roman Donchenko 71db862dc2 Merge pull request #977 from jet47:gpucodec-refactoring 2013-06-14 16:24:24 +04:00
Roman Donchenko 2fc49ac564 Merge pull request #978 from jet47:gpuarithm-refactoring 2013-06-14 16:24:03 +04:00
Roman Donchenko 4bc4f4aa1f Merge pull request #1003 from vhdirk:gstreamerfixes 2013-06-14 15:51:03 +04:00
Roman Donchenko d998e38a12 Merge pull request #983 from HapeMask:python3-compatibility 2013-06-14 15:48:37 +04:00
Anatoly Baksheev 909f905b57 --amend 2013-06-14 14:22:03 +04:00
Anatoly Baksheev c65d888875 little refactoring 2013-06-14 14:20:19 +04:00
Roman Donchenko 130794d41c Merge pull request #990 from asmorkalov:pthread_build_fix 2013-06-14 11:48:05 +04:00
Roman Donchenko 83fa4d38a4 Merge pull request #976 from PeterMinin:num_detections 2013-06-14 11:24:00 +04:00
Peter Minin 7d70399d72 Add a new variant of detectMultiScale with output arguments 'objects' and 'numDetections'; factor most of detectMultiScale's code into 2 protected methods 2013-06-14 04:25:17 +04:00
Gabe Schwartz bb209193c9 Updated usage of METH_X definitions for python 3.
Python 3 requires METH_VARARGS | METH_KEYWORDS, not just METH_KEYWORDS.
2013-06-13 20:10:01 -04:00
Gabe Schwartz bce1b352e7 Updated cmake files to use print().
In these cases, just using print() is enough to ensure py2/3
compatibility.
2013-06-13 20:10:01 -04:00
Gabe Schwartz fb9781b97b Updated cv2.cpp to support Python 3 API.
Added a header with defines to enable the module to compile with either
python 2 or 3 without changes.
2013-06-13 20:10:01 -04:00
Gabe Schwartz 931ebab822 Updated generator and parser to support Python 3. 2013-06-13 18:39:47 -04:00
Alexander Smorkalov 37b67fa50d Fix compiler error due to missing pthread header (Issue #2953) 2013-06-13 16:11:39 +04:00
Dirk Van Haerenborgh 30f7f9717f allow for arbitraty number of sources and sinks 2013-06-13 11:16:33 +02:00
Roman Donchenko 6faf00b8e5 Merge pull request #696 from znah:detect_method 2013-06-13 12:01:59 +04:00
alexandre benoit c39159069e last warnings solved 2013-06-13 07:36:37 +02:00
alexandre benoit 2c1fb5fd71 minor correction after buildbot warnings 2013-06-13 06:55:35 +02:00
alexandre benoit 7bff79bbeb updated demos and tutorial regarding the Retina class transfer to bioinspired module. 2013-06-12 22:43:36 +02:00
alexandre benoit cdbbe0dfbe 1. created module bioinspired. 2.transfered Retina module into the new module bioinspired. 3. added a fast tone mapping method to Retina interface and wrapped existing reinafilter dedicated method 2013-06-12 22:40:43 +02:00
Anatoly Baksheev 7cfa3cbd8a Merge pull request #9 from ozantonkal/implementing_addPointCloud
Implementing add point cloud
2013-06-12 13:23:08 -07:00
ozantonkal f91b1a1771 showPointCloud with single color without duplicating color 2013-06-12 17:38:39 +02:00
Dirk Van Haerenborgh 6d66d11046 gstreamer: cleaning up resources 2013-06-12 16:58:16 +02:00
ozantonkal 0e90c0fff2 updated test for single color 2013-06-12 10:56:46 +02:00
ozantonkal 46cf22cdff showPointCloud with single color 2013-06-12 10:55:07 +02:00
ozantonkal 01086323b0 mistype fix 2013-06-12 09:29:04 +02:00
Anatoly Baksheev 1b51ee385b refactored showPointCloud to for shorter code. Implemented NanFilter::copy<T>() function 2013-06-11 22:01:50 +04:00
Anatoly Baksheev 1ae5918fa8 refactoring of copy_non_nans 2013-06-11 18:38:20 +04:00
Roman Donchenko 1acbc7b7bd Merge pull request #966 from berak:master 2013-06-11 18:17:07 +04:00
Vladislav Vinogradov a3341006ee updated documentation 2013-06-11 17:58:05 +04:00
Vladislav Vinogradov 8461cb3f4b refactored gpu::convolve function:
* converted it to Algorithm
* old API still can be used for source compatibility (marked as deprecated)
2013-06-11 17:58:05 +04:00
Vladislav Vinogradov 26a4be89b1 switched to Input/Output Array in Fourier operations 2013-06-11 17:58:05 +04:00
Vladislav Vinogradov 948661d722 switched to Input/Output Array in gpu::gemm 2013-06-11 17:58:05 +04:00
Vladislav Vinogradov 8fcef225fb switched to Input/Output Array in reductions operations 2013-06-11 17:58:05 +04:00
Vladislav Vinogradov c52d56964c switched to Input/Output Array in gpu::copyMakeBorder 2013-06-11 17:58:04 +04:00
Vladislav Vinogradov 539f367d0b refactored gpu::LUT function:
* converted it to Algorithm, because implementation uses inner buffers and
  requires preprocessing step
* new implementation splits preprocessing and transform,
  what is more effecient
* old API still can be used for source compatibility (marked as deprecated)
2013-06-11 17:58:04 +04:00
Vladislav Vinogradov 0c50d0821f switched to Input/Output Array in transpose/flip operations 2013-06-11 17:58:04 +04:00
Vladislav Vinogradov 3d8ca010b7 switched to Input/Output Array in split/merge operations 2013-06-11 17:58:04 +04:00
Vladislav Vinogradov 58c4d0eaeb switched to Input/Output Array in cart<->polar operations 2013-06-11 17:58:04 +04:00
Vladislav Vinogradov 0a83817ace switched to Input/Output Array in gpu::threshold 2013-06-11 17:58:04 +04:00
Vladislav Vinogradov 44ec450b53 switched to Input/Output Array in gpu::addWeighted 2013-06-11 17:58:04 +04:00
Vladislav Vinogradov ec70282bf7 switched to Input/Output Array in min/max operations 2013-06-11 17:58:04 +04:00
Vladislav Vinogradov f2aa6ebe15 switched to Input/Output Array in shift operations 2013-06-11 17:58:04 +04:00
Vladislav Vinogradov d81f54db0b switched to Input/Output Array in bitwise logical operations 2013-06-11 17:58:04 +04:00
Vladislav Vinogradov 04a1a6dd8f switched to Input/Output Array in gpu::compare 2013-06-11 17:58:04 +04:00
Vladislav Vinogradov b866890b27 switched to Input/Output Array in abs, sqr, sqrt, exp, log, pow 2013-06-11 17:58:04 +04:00
Vladislav Vinogradov 5ec8c51b98 switched to Input/Output Array in gpu::absdiff 2013-06-11 17:58:03 +04:00
Vladislav Vinogradov 3ee12cbeb4 switched to Input/Output Array in gpu::divide 2013-06-11 17:58:03 +04:00
Vladislav Vinogradov 4595e3aa3e switched to Input/Output Array in gpu::multiply 2013-06-11 17:58:03 +04:00
Vladislav Vinogradov ffa25be3d2 added arithm_op function to reduce code duplication 2013-06-11 17:58:03 +04:00
Vladislav Vinogradov 5330faf5a0 switched to Input/Output Array in gpu::subtract 2013-06-11 17:58:03 +04:00
Vladislav Vinogradov 4ebbf69134 switched to Input/Output Array in gpu::add 2013-06-11 17:58:03 +04:00
Vladislav Vinogradov 76211709a3 refactored VideoReader (convert it to abstract interface)
also refactored VideoSource interface (made it simplier, now it has only 2 abstract methods)
2013-06-11 17:57:40 +04:00
Vladislav Vinogradov e9a74c17f8 refactored VideoWriter class (convert it to abstract interface) 2013-06-11 17:57:39 +04:00
Roman Donchenko 7a07f1a9e7 Merge pull request #899 from LeszekSwirski:fix-drawingdoc 2013-06-11 17:30:19 +04:00
Roman Donchenko 7c4e3715b3 Merge pull request #975 from SpecLad:merge-2.4 2013-06-11 17:28:26 +04:00
Anatoly Baksheev da32ca4948 Merge pull request #6 from ozantonkal/implementing_addPointCloud
Implementing add point cloud
2013-06-11 03:37:56 -07:00
ozantonkal abdc022b20 implemented copy_non_nans, isnan 2013-06-11 11:02:26 +02:00
ozantonkal c4fe98977a implementation of * operator for Affine3f and point3d, initial implementation of isNaN 2013-06-11 11:02:26 +02:00
Roman Donchenko 81c6b46fc6 Merge pull request #974 from jet47:gpu-core-refactoring 2013-06-11 12:05:56 +04:00
Roman Donchenko 3bfc69740b Merge remote-tracking branch 'origin/2.4' into merge-2.4
Merged pull requests:
	#890 from caorong:patch-1
	#893 from jet47:gpu-arm-fixes
	#933 from pengx17:2.4_macfix_cont
	#935 from pengx17:2.4_filter2d_fix
	#936 from bitwangyaoyao:2.4_perf
	#937 from bitwangyaoyao:2.4_fixPyrLK
	#938 from pengx17:2.4_surf_sample
	#939 from pengx17:2.4_getDevice
	#940 from SpecLad:autolock
	#941 from apavlenko:signed_char
	#946 from bitwangyaoyao:2.4_samples2
	#947 from jet47:fix-gpu-arm-build
	#948 from jet47:cuda-5.5-support
	#952 from SpecLad:jepg
	#953 from jet47:fix-bug-3069
	#955 from SpecLad:symlink
	#957 from pengx17:2.4_fix_corner_detector
	#959 from SpecLad:qt4-build
	#960 from SpecLad:extra-modules

Conflicts:
	modules/core/include/opencv2/core/core.hpp
	modules/gpu/CMakeLists.txt
	modules/gpu/include/opencv2/gpu/device/vec_math.hpp
	modules/gpu/perf/perf_video.cpp
	modules/gpuimgproc/src/cuda/hough.cu
	modules/ocl/include/opencv2/ocl/ocl.hpp
	modules/ocl/src/pyrlk.cpp
	samples/gpu/driver_api_multi.cpp
	samples/gpu/driver_api_stereo_multi.cpp
	samples/ocl/surf_matcher.cpp
2013-06-10 18:18:01 +04:00
Vladislav Vinogradov 4f0d72bf43 added missing <iostream> header 2013-06-10 17:47:55 +04:00
Vladislav Vinogradov 564fd21e87 fixed documentation build 2013-06-10 15:52:01 +04:00
Roman Donchenko e16af9bdc9 Merge pull request #958 from apavlenko:fix_java_mixchannels 2013-06-10 15:51:30 +04:00
Vadim Pisarevsky 1fe7ad850b Merge pull request #856 from ericgreveson:master 2013-06-10 15:25:09 +04:00
Andrey Pavlenko 438649ffee fixing Java wrapper for mixChannels
'dst' should be treated as an input arg (epilog not needed)
2013-06-10 14:37:01 +04:00
Anatoly Baksheev c622ebf890 implemented wasStopped flag 2013-06-10 14:11:34 +04:00
Anatoly Baksheev 0f5da429c5 misprint 2013-06-10 12:42:11 +04:00
Vladislav Vinogradov 439c3574ed renamed gpu_private.hpp to private.gpu.hpp 2013-06-10 12:40:32 +04:00
Vladislav Vinogradov 0489489322 used cudaMalloc for 1-row or 1-column matrix instead of cudaMallocPitch 2013-06-10 12:40:32 +04:00
Vladislav Vinogradov 1db4afac6a made createContinuous & ensureSizeIsEnough generic (OutputArray support) 2013-06-10 12:40:32 +04:00
Vladislav Vinogradov f17b836d24 added Event class (wrapper for cudaEvent) 2013-06-10 12:40:32 +04:00
Vladislav Vinogradov 2dab93c2e8 refactored gpu info structures (TargetArchs and DeviceInfo)
now DeviceInfo provides full information about device (from cudaDeviceProp)
2013-06-10 12:40:32 +04:00
Vladislav Vinogradov 76f4b02b06 refactored gpu::Stream (minor fixes) 2013-06-10 12:40:31 +04:00
Vladislav Vinogradov a52af84dcf refactored CudaMem (now alloc type assign only in constructor) 2013-06-10 12:40:31 +04:00
Vladislav Vinogradov cc34a8ac3c new implementation for GpuMat::setTo (without constant memory) 2013-06-10 12:40:31 +04:00
Vladislav Vinogradov 69be49bac1 refactored GpuMat:
* switch to InputArray/OutputArray
* add Stream support
2013-06-10 12:40:31 +04:00
Vladislav Vinogradov db1178b5df moved GpuMat implementation to separate file 2013-06-10 12:40:31 +04:00
Vladislav Vinogradov 2153a14872 moved inline implementation to separate file 2013-06-10 12:40:31 +04:00
Vladislav Vinogradov 6994a02c15 added Stream support to ogl::Buffer 2013-06-10 12:40:31 +04:00
Vladislav Vinogradov 649737b6a8 removed obsolete DevMem2D class 2013-06-10 12:40:30 +04:00
Vladislav Vinogradov 4c9773d55f renamed gpu headers (made it more consistent) 2013-06-10 12:40:30 +04:00
Vladislav Vinogradov 6c253a41c2 added CudaMem support to Input/Output arrays 2013-06-10 12:40:30 +04:00
Vladislav Vinogradov 2fae1d9507 removed ogl::Texture2D support from InputArray 2013-06-10 12:40:30 +04:00
Anatoly Baksheev 909c45f1b9 little refactoring 2013-06-10 12:32:03 +04:00
Roman Donchenko 173442bb2e Merge pull request #964 from jet47:cuda-5.5-support 2013-06-10 12:05:52 +04:00
Anatoly Baksheev 01e99db675 Merge pull request #5 from ozantonkal/implementing_addPointCloud
Implementing add point cloud
2013-06-10 00:36:49 -07:00
berak 765a2c6045 Moments.nu** fields initialized in completeMomentState( Moments* moments ) 2013-06-07 18:29:00 +02:00
berak 610e29fa31 restored utility.hpp 2013-06-07 18:13:15 +02:00
berak 50e27ffc37 added initialization of Moments.nu** params in completeMomentState( Moments* moments ) 2013-06-07 17:22:42 +02:00
ozantonkal aecff5237b CV_64FC3 support 2013-06-07 16:07:23 +02:00
Vladislav Vinogradov 4559d46190 fixed BroxOpticalFlow sanity test (increase epsilon value) 2013-06-07 16:32:43 +04:00
Vladislav Vinogradov 4d9a1cf14b fixed BoxFilter sanity test (different rounding results) 2013-06-07 16:32:43 +04:00
Vladislav Vinogradov 302250f241 fixed BroxOpticalFlow regression test
the output of BroxOpticalFlow differs a bit in CUDA 5.5
2013-06-07 16:32:43 +04:00
Vladislav Vinogradov 14e4b3adde rewrite core/cuda/vec_math.hpp file
old version isn't compiled with CUDA 5.5
new version doesn't depend on functional.hpp
2013-06-07 16:32:43 +04:00
Vladislav Vinogradov 869a35faef fixed constructors for functional objects (added __host__ modifier) 2013-06-07 16:32:43 +04:00
Vladislav Vinogradov bf7c1c6c25 fixed NPP error constants usage 2013-06-07 16:32:43 +04:00
Roman Donchenko c929547164 Merge pull request #900 from jet47:restore-gpu-modules 2013-06-07 14:33:35 +04:00
ozantonkal e58b0b3507 removed cv keywords and redundant lines from showPointCloud 2013-06-07 12:16:22 +02:00
Anatoly Baksheev 59acccfa6a Merge pull request #4 from ozantonkal/implementing_addPointCloud
showPointCloud initial implementation together with test
2013-06-07 02:50:42 -07:00
Vadim Pisarevsky a5ffa1da34 Merge pull request #963 from bitwangyaoyao:master_oclMat 2013-06-07 13:43:51 +04:00
Vladislav Vinogradov 9488ed46ee fixed compiler warning
removed -fvisibility-inlines-hidden compiler option for CUDA sources
2013-06-07 13:34:33 +04:00
ozantonkal d11d07aaf5 showPointCloud initial implementation together with test 2013-06-07 11:18:26 +02:00
Vladislav Vinogradov 3eeaa9189c Revert "Revert "Merge pull request #836 from jet47:gpu-modules"" 2013-06-07 13:05:39 +04:00
Roman Donchenko 10340fe234 Merge pull request #949 from SpecLad:merge-2.4 2013-06-07 12:45:03 +04:00
yao 9284c07a84 remove commented lines 2013-06-07 15:31:12 +08:00
Roman Donchenko aa7f70c31e Merge pull request #951 from apavlenko:fix_java_test_randshuffle 2013-06-07 11:28:10 +04:00
yao 960a0eacf3 merge openCLMallocPitch and openCLMallocPitchEx into one interface 2013-06-07 15:27:44 +08:00
Roman Donchenko 0a42a3eb06 Merge pull request #956 from IanVS:COLOR_CODE 2013-06-06 12:09:41 +04:00
IanVS 41fc41829c Updated documentation to new "COLOR_" format for color conversion enums. 2013-06-05 21:59:01 -04:00
Roman Donchenko bae85660da Merge remote-tracking branch 'origin/2.4'
Pull requests:
	#943 from jet47:cuda-5.5-support
	#944 from jet47:cmake-2.8.11-cuda-fix
	#912 from SpecLad:contributing
	#934 from SpecLad:parallel-for
	#931 from jet47:gpu-test-fixes
	#932 from bitwangyaoyao:2.4_fixBFM
	#918 from bitwangyaoyao:2.4_samples
	#924 from pengx17:2.4_arithm_fix
	#925 from pengx17:2.4_canny_tmp_fix
	#927 from bitwangyaoyao:2.4_perf
	#930 from pengx17:2.4_haar_ext
	#928 from apavlenko:bugfix_3027
	#920 from asmorkalov:android_move
	#910 from pengx17:2.4_oclgfft
	#913 from janm399:2.4
	#916 from bitwangyaoyao:2.4_fixPyrLK
	#919 from abidrahmank:2.4
	#923 from pengx17:2.4_macfix

Conflicts:
	modules/calib3d/src/stereobm.cpp
	modules/features2d/src/detectors.cpp
	modules/gpu/src/error.cpp
	modules/gpu/src/precomp.hpp
	modules/imgproc/src/distransform.cpp
	modules/imgproc/src/morph.cpp
	modules/ocl/include/opencv2/ocl/ocl.hpp
	modules/ocl/perf/perf_color.cpp
	modules/ocl/perf/perf_imgproc.cpp
	modules/ocl/perf/perf_match_template.cpp
	modules/ocl/perf/precomp.cpp
	modules/ocl/perf/precomp.hpp
	modules/ocl/src/arithm.cpp
	modules/ocl/src/canny.cpp
	modules/ocl/src/filtering.cpp
	modules/ocl/src/haar.cpp
	modules/ocl/src/hog.cpp
	modules/ocl/src/imgproc.cpp
	modules/ocl/src/opencl/haarobjectdetect.cl
	modules/ocl/src/pyrlk.cpp
	modules/video/src/bgfg_gaussmix2.cpp
	modules/video/src/lkpyramid.cpp
	platforms/linux/scripts/cmake_arm_gnueabi_hardfp.sh
	platforms/linux/scripts/cmake_arm_gnueabi_softfp.sh
	platforms/scripts/ABI_compat_generator.py
	samples/ocl/facedetect.cpp
2013-06-05 15:42:07 +04:00
Roman Donchenko a760684674 Merge pull request #950 from apavlenko:fix_java_mat_dump 2013-06-05 13:32:34 +04:00
Andrey Pavlenko c2d3ce9ce5 fix failing test
small matrix becomes the same after shuffling
2013-06-05 12:41:09 +04:00
Andrey Pavlenko c7873dd03d fixing broken Mat::dump() in Java 2013-06-05 11:46:06 +04:00
Vadim Pisarevsky 6e119049ce Merge pull request #945 from malcolmreynolds:master 2013-06-04 13:32:34 +04:00
Malcolm Reynolds a9c9210bf9 update safe_call.hpp to fix OpenCL import on case sensitive mac FS
On a Mac with a case sensitive filesystem <OpenCL/OpenCL.h> does not exist but <OpenCL/opencl.h> does. I presume (!), but have no way to test, that on a Mac with case insensitive FS this change will make no difference.
2013-06-03 18:07:05 +02:00
Malcolm Reynolds 229ff632b6 update util.hpp to fix OpenCL import on case sensitive mac FS
On a Mac with a case sensitive filesystem <OpenCL/OpenCL.h> does not exist but <OpenCL/opencl.h> does. I presume (!), but have no way to test, that on a Mac with case insensitive FS this change will make no difference.
2013-06-03 18:06:25 +02:00
Anatoly Baksheev ace0933bed fixed compilation (included ctime in precomp.hpp) 2013-05-31 13:42:49 +04:00
Anatoly Baksheev 58025c572c Merge pull request #3 from ozantonkal/removing_boost_dependency
Removing boost dependency
2013-05-31 02:04:41 -07:00
Alex Leontiev 47ce461d97 The initial commit for generic optimization
Generic optimization package for openCV project, will be developed
between the June and September of 2013. This work is funded by Google
Summer of Code 2013 project. This project is about
implementing several algorithms, that will find global maxima/minima of a
given function on a given domain subject to a given constraints.

All comments/suggestions are warmly appreciated and to be sent to
alozz1991@gmail.com (please, mention the word "openCV" in topic of
message, for I'm using the spam-filters)
2013-05-31 07:39:15 +03:00
ozantonkal 6603cc4405 boost dependency has been removed 2013-05-30 20:01:33 +02:00
ozantonkal e10582ce4f Initial implementation of keyboard callback registration mechanism without boost 2013-05-29 20:58:57 +02:00
Anatoly Baksheev ddcfab3182 Merge pull request #1 from ozantonkal/viz
fix linux compilation errors
2013-05-29 11:05:46 -07:00
ozantonkal e75057956a fix linux compilation errors 2013-05-29 18:37:53 +02:00
Roman Donchenko d81d3fc830 Merge pull request #921 from SpecLad:merge-2.4 2013-05-29 16:24:49 +04:00
Roman Donchenko 5ac3b8d5d8 Merge remote-tracking branch 'origin/2.4' into merge-2.4
Pull requests:
	#904 from ograycode:2.4
	#905 from bitwangyaoyao:2.4_TVL1
	#902 from apavlenko:fix_run_py
	#882 from pengx17:2.4_rewrite_query_info

Conflicts:
	modules/nonfree/src/surf.ocl.cpp
	modules/ocl/include/opencv2/ocl/private/util.hpp
	modules/ocl/src/hog.cpp
	modules/ocl/src/pyrlk.cpp
	modules/ocl/src/tvl1flow.cpp
2013-05-27 16:58:04 +04:00
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
Anatoly Baksheev 0e7d4a5703 First version of 'viz' module 2013-05-24 17:58:39 +04:00
Roman Donchenko 56121d01ea Merge pull request #911 from jrdi:patch-1 2013-05-23 15:17:55 +04:00
Roman Donchenko cfa985db43 Merge pull request #917 from SpecLad:cuda-4-build 2013-05-23 15:15:00 +04:00
Roman Donchenko dad58d8940 Fix a build error which manifests when building with CUDA < 5. 2013-05-23 14:00:13 +04:00
Roman Donchenko 4da0cdb959 Merge pull request #914 from SpecLad:master 2013-05-23 13:54:57 +04:00
Roman Donchenko 5e0e1fac87 Merge commit 'b51a1a7d' (PR #895 from 2.4)
Conflicts:
	modules/ocl/CMakeLists.txt
	modules/ocl/perf/perf_color.cpp
	modules/ocl/perf/perf_match_template.cpp
	modules/ocl/perf/precomp.cpp
	modules/ocl/perf/precomp.hpp
2013-05-22 18:28:28 +04:00
Jordi Villar ee29b0454c fix parenthesis 2013-05-22 13:57:43 +03:00
Andrey Pavlenko 61567adc5d Merge pull request #797 from vhdirk:installheaders 2013-05-22 13:54:20 +04:00
Roman Donchenko 7efb24917f Merge pull request #887 from LeszekSwirski:fix-glinkedptrmutex 2013-05-22 12:57:04 +04:00
Roman Donchenko b5c013682b Merge pull request #907 from SpecLad:master 2013-05-22 12:03:28 +04:00
Roman Donchenko 029fce10c9 Merge remote-tracking branch 'origin/2.4'
Conflicts:
	3rdparty/libjasper/CMakeLists.txt
	cmake/OpenCVDetectOpenCL.cmake
	modules/calib3d/doc/camera_calibration_and_3d_reconstruction.rst
	modules/imgproc/src/floodfill.cpp
	modules/ocl/include/opencv2/ocl/ocl.hpp
	modules/ocl/src/arithm.cpp
	modules/ocl/src/haar.cpp
	modules/ocl/src/imgproc.cpp
	modules/ocl/src/initialization.cpp
	modules/ocl/src/matrix_operations.cpp
	modules/ocl/src/mcwutil.cpp
	modules/ocl/src/opencl/arithm_bitwise_and_mask.cl
	modules/ocl/src/opencl/arithm_bitwise_and_scalar_mask.cl
	modules/ocl/src/opencl/arithm_bitwise_binary_mask.cl
	modules/ocl/src/opencl/arithm_bitwise_binary_scalar.cl
	modules/ocl/src/opencl/arithm_bitwise_binary_scalar_mask.cl
	modules/ocl/src/opencl/arithm_bitwise_or.cl
	modules/ocl/src/opencl/arithm_bitwise_or_scalar.cl
	modules/ocl/src/opencl/arithm_bitwise_or_scalar_mask.cl
	modules/ocl/src/opencl/arithm_bitwise_xor.cl
	modules/ocl/src/opencl/arithm_bitwise_xor_mask.cl
	modules/ocl/src/opencl/arithm_bitwise_xor_scalar.cl
	modules/ocl/src/stereobm.cpp
	modules/ocl/test/precomp.hpp
	modules/python/src2/api
	modules/ts/src/ts_func.cpp
	samples/gpu/bgfg_segm.cpp
2013-05-21 17:19:23 +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
Leszek Swirski 7542d66dbd Fix drawing documentation referring to C API macros 2013-05-20 10:56:06 +01:00
ericgreveson e7995b4d5d Take account of multi-channel matrices when comparing histograms
Ensure that all channels are considered when comparing multi-channel histograms
2013-05-18 23:31:22 +02:00
Vadim Pisarevsky 416eaf2ae1 Merge pull request #896 from jet47:removed-vibe-master 2013-05-17 14:44:49 +04:00
Vladislav Vinogradov 49a4f27d42 removed VIBE implementation 2013-05-17 11:27:00 +04:00
Leszek Swirski 0e8c2b0395 Fix visibility of g_linked_ptr_mutex on Windows
Reverts some changes in b8ed00bd64
2013-05-15 14:42:28 +01:00
Vadim Pisarevsky 54afb85d0c Merge pull request #823 from pickle27:starter_image_sequence 2013-05-14 15:56:35 +04:00
Vadim Pisarevsky 14c50d2fce Merge pull request #874 from pengx17:master_queryDeviceInfo_rewrite 2013-05-13 23:03:24 +04:00
Vadim Pisarevsky 6e44e0a476 Merge pull request #881 from apavlenko:hidden_visibility 2013-05-13 22:08:45 +04:00
Andrey Pavlenko 885566295a Merge pull request #840 from pablospe:master 2013-05-13 21:22:27 +04:00
Andrey Kamaev b8ed00bd64 Compile OpenCV with GCC visibility set to hidden 2013-05-13 18:33:20 +04:00
Vadim Pisarevsky 8130d92602 Merge pull request #841 from Pastafarianist:patch-1 2013-05-12 13:00:23 +04:00
Vadim Pisarevsky 103ee12f00 Merge pull request #845 from githubuser0xFFFF:master 2013-05-12 12:54:44 +04:00
Vadim Pisarevsky 4b49b84976 Merge pull request #848 from pengx17:master_ocl_platform_name 2013-05-12 12:54:25 +04:00
Vadim Pisarevsky f1e8f69d2c Merge pull request #861 from albenoit:master 2013-05-12 12:53:14 +04:00
Vadim Pisarevsky 7f083a049d Merge pull request #867 from Pastafarianist:patch-2 2013-05-12 12:52:46 +04:00
peng xiao e5ea018185 Let surf.ocl use the new queryDeviceInfo interface. 2013-05-09 17:19:51 +08:00
peng xiao bfa0f02303 Rewrite queryDeviceInfo interface.
Previously the function may cause some unsafe issue. It is fixed now by introducing a template parameter.
2013-05-09 17:15:26 +08:00
peng xiao 861de8a6e9 CL_PLATFORM_VENDOR should be CL_PLATFORM_NAME. 2013-05-08 17:19:34 +08:00
Vadim Pisarevsky 6e24fc37db Merge pull request #869 from bpmckinnon:master 2013-05-07 16:32:58 +04:00
Brian McKinnon 36745a80c3 Added #include <limits> to files that were missing it. 2013-05-06 22:45:11 -04:00
Pastafarianist d2116f38fe Fixed typo 2013-05-05 16:17:41 +04:00
alexandre benoit a5acc9ee1f nicer interface with the use of InputArray and OutptArray instated of (const Mat&) 2013-05-03 11:45:13 +02:00
alexandre benoit b58d9f1c2a enhancing documentation 2013-05-01 19:35:32 +02:00
alexandre benoit f5d2d7b29b enhancing documentation 2013-05-01 13:58:53 +02:00
alexandre benoit cf6e833169 trying to solve valarray pointer access problem, enhancing documentation 2013-05-01 11:47:26 +02:00
alexandre benoit 9adde75be3 updated doc+minor typo/buildbot reports correction 2013-04-30 20:26:00 +02:00
alexandre benoit 9c26387ce0 updated sources to correct buildbot warnings 2013-04-30 17:32:47 +02:00
alexandre benoit 25b482f1c9 updated/corrected documentation 2013-04-30 16:52:47 +02:00
alexandre benoit a659e287fb minor error correction 2013-04-30 14:52:14 +02:00
alexandre benoit 80e65e08b5 updated doc and interface code to solve compile warnings and errors 2013-04-30 14:40:03 +02:00
alexandre benoit b70b5a3011 corrections required for portability. To be validated by buildbot 2013-04-30 13:13:50 +02:00
alexandre benoit 1976b3d9b6 updated doc 2013-04-29 20:08:13 +02:00
ericgreveson 19794e6857 Fix for spurious assert in cv::compareHist
When comparing histograms that look like multi-channel images (e.g a 3D histogram, of 4x4x4 bins, might appear as a CV_32FC4 matrix), cv::compareHist would complain because it was expecting the matrix type() == CV_32F. Now we test matrix depth() == CV_32F instead.
2013-04-29 19:52:41 +02:00
alexandre benoit 72742f5316 resolved conflicts, updated retina class interface and optimized a heavy retinacolor process 2013-04-29 19:06:35 +02:00
alexandre benoit 9549949228 minor chnges for conflict removal 2013-04-29 15:12:44 +02:00
alexandre benoit 16dea7b90d updated comments and new retina interface use 2013-04-27 23:18:47 +02:00
albenoit 9e1ce1ed52 Merge pull request #2 from albenoit/retina_devel
Retina devel
2013-04-27 13:47:30 -07:00
alexandre benoit ea1a64477f updated tutorial with new retina interface use 2013-04-27 22:39:28 +02:00
albenoit a4bc167ed4 Merge pull request #1 from albenoit/retina_devel_newinterface
Retina devel newinterface
2013-04-27 12:51:20 -07:00
alexandre benoit 737046916c activated parallelized gradient computation 2013-04-27 21:30:35 +02:00
alexandre benoit 3b15eefcad forgot method name update 2013-04-27 21:22:57 +02:00
alexandre benoit b62d101115 updated retina interface for cleaner use, following OpenCV standards 2013-04-27 21:13:45 +02:00
peng xiao bb4b410512 Add ocl::PlatformName to ocl::Info. 2013-04-25 15:00:50 +08:00
Uwe Kindler ca42a50de6 Changed visibility of the virtual functions in OnePassStabilizer and TwoPassStabilizer that are derived from StabilizerBase from private to protected to enable stabilizer implementations that are derived from OnePassStabilizer and TwoPassStabilier to properly overwrite these functions 2013-04-24 07:33:22 +02:00
Kevin Hughes 69c626e720 starter_video.cpp hid local functions 2013-04-22 22:28:35 -04:00
Kevin Hughes 3441b2df65 starter_video.cpp changed CV WINDOW KEEPRATIO to just WINDOW KEEPTATIO to fix build error 2013-04-22 16:35:23 -04:00
Pastafarianist 28427ce2e8 Fixed typo 2013-04-21 23:04:54 +04:00
Pablo Speciale caf449a991 The deletion of "cv.py" file (Commit b2ba8b9) breaks "make install" 2013-04-20 15:55:48 -07:00
Andrey Kamaev 416fb50594 Revert "Merge pull request #836 from jet47:gpu-modules"
This reverts commit fba72cb60d, reversing
changes made to 02131ffb62.
2013-04-18 15:03:50 +04:00
Andrey Pavlenko fba72cb60d Merge pull request #836 from jet47:gpu-modules 2013-04-18 14:51:26 +04:00
Vladislav Vinogradov 564f609885 fixed samples compilation 2013-04-18 13:28:34 +04:00
Vladislav Vinogradov 787e56ab5c disabled gpucodec module on MacOS 2013-04-18 13:28:34 +04:00
Vladislav Vinogradov 3be997cfa9 gpulegacy module fixes 2013-04-18 13:28:34 +04:00
Vladislav Vinogradov 6d735c11c6 removed const qualifier (it produces warnings) 2013-04-18 13:28:34 +04:00
Vladislav Vinogradov 0ce10532b3 softcascade module fixes 2013-04-18 13:28:34 +04:00
Vladislav Vinogradov 5ee9d3111d fixed gpu tutorial 2013-04-18 13:28:34 +04:00
Vladislav Vinogradov 13d087e62d videostab module fixes 2013-04-18 13:28:34 +04:00
Vladislav Vinogradov fdeec6896c stitching module fixes 2013-04-18 13:28:30 +04:00
Vladislav Vinogradov 033dd77504 superres module fixes 2013-04-18 12:36:11 +04:00
Vladislav Vinogradov f375c86dfb photo module fixes 2013-04-18 12:36:11 +04:00
Vladislav Vinogradov 12f16b7a26 nonfree module fixes 2013-04-18 12:36:11 +04:00
Vladislav Vinogradov 5d7bbdc837 gpu module fixes 2013-04-18 12:36:07 +04:00
Vladislav Vinogradov 3156e803be gpuoptflow module fixes 2013-04-18 11:33:34 +04:00
Vladislav Vinogradov f531dd839c gpubgsegm module fixes 2013-04-18 11:33:34 +04:00
Vladislav Vinogradov c0b3424a23 gpuimgproc module fixes 2013-04-18 11:33:34 +04:00
Vladislav Vinogradov b4f3d08725 gpuarithm module fixes 2013-04-18 11:33:34 +04:00
Vladislav Vinogradov 43d5e2d8b4 removed gpu BORDER_* constants 2013-04-18 11:33:34 +04:00
Vladislav Vinogradov d5ee931287 fixed compilation issues 2013-04-18 11:33:34 +04:00
Vladislav Vinogradov ac0f506d0e split gpuvideo onto gpuoptflow and gpubgsegm 2013-04-18 11:33:34 +04:00
Vladislav Vinogradov eda124ec32 removed gpuobjdetect module 2013-04-18 11:33:33 +04:00
Vladislav Vinogradov 28b1caa730 gpustereo module for stereo correspondence 2013-04-18 11:33:33 +04:00
Vladislav Vinogradov cad9518928 moved image labeling to gpu module 2013-04-18 11:33:33 +04:00
Vladislav Vinogradov e72ba73e70 moved gpu nlm to photo module 2013-04-18 11:33:33 +04:00
Vladislav Vinogradov fc3730fcc2 gpuwarping module for image warping 2013-04-18 11:33:33 +04:00
Vladislav Vinogradov 71eeaa7276 gpuarithm module fixes 2013-04-18 11:33:33 +04:00
Vladislav Vinogradov 508fb6aa5b renamed gpunvidia -> gpulegacy 2013-04-18 11:33:33 +04:00
Vladislav Vinogradov 7e91e1871d simplify CMakeLists.txt for gpu module 2013-04-18 11:33:32 +04:00
Vladislav Vinogradov 77aafc2984 removed unused includes 2013-04-18 11:33:32 +04:00
Vladislav Vinogradov 623c7da747 removed obsolete source files from gpu module 2013-04-18 11:33:32 +04:00
Vladislav Vinogradov a981dc93d0 removed obsolete headers from gpu module 2013-04-18 11:33:32 +04:00
Vladislav Vinogradov 96ac27e68c removed nv_perf_test (it is a duplicate for perf4au) 2013-04-18 11:33:32 +04:00
Vladislav Vinogradov a6648b5372 gpuobjdetect module for object detection 2013-04-18 11:33:32 +04:00
Vladislav Vinogradov b08b9ab83b gpucalib3d module for camera calibration and stereo correspondence 2013-04-18 11:33:32 +04:00
Vladislav Vinogradov fc1fa28556 gpuvideo module for video processing 2013-04-18 11:33:32 +04:00
Vladislav Vinogradov 7544ddbfef gpufeatures2d module 2d for feature detection and matching 2013-04-18 11:33:31 +04:00
Vladislav Vinogradov e41aea0acf gpuimgproc module for image processing 2013-04-18 11:33:31 +04:00
Vladislav Vinogradov d569e72ad4 moved mulSpectrums, dft and convolve to gpuarithm 2013-04-18 11:33:31 +04:00
Vladislav Vinogradov c56bdbc1c5 moved integral to gpuarithm module 2013-04-18 11:33:31 +04:00
Vladislav Vinogradov 10ac854358 moved copyMakeBorder to gpuarithm module 2013-04-18 11:33:31 +04:00
Vladislav Vinogradov d08ebfe4d3 moved rectStdDev to gpuarithm 2013-04-18 11:33:31 +04:00
Vladislav Vinogradov ca474de639 made objdetect dependecy for gpunvidia optional 2013-04-18 11:33:31 +04:00
Vladislav Vinogradov e654714973 replaced NCV_EXPORTS with CV_EXPORTS 2013-04-18 11:33:30 +04:00
Vladislav Vinogradov ed006a0612 added private header to gpunvidia module 2013-04-18 11:33:30 +04:00
Vladislav Vinogradov c2402053b9 removed columnSum function (it is a duplicate for reduce) 2013-04-18 11:33:30 +04:00
Vladislav Vinogradov 229ca0914a gpunvidia module for NCV & NPP API 2013-04-18 11:33:30 +04:00
Vladislav Vinogradov bc0e563092 CV_GPU_TEST_MAIN macros 2013-04-18 11:33:30 +04:00
Vladislav Vinogradov 84de6ce036 gpufilters module for image filtering 2013-04-18 11:33:30 +04:00
Vladislav Vinogradov 31c8b527c6 gpuarithm module for arithmetics operations on matrices 2013-04-18 11:33:30 +04:00
Vladislav Vinogradov 1b00a3ed54 gpucodec module for video decoding/encoding 2013-04-18 11:33:29 +04:00
Andrey Kamaev 02131ffb62 Merge pull request #828 from tim36272:patch-1 2013-04-17 22:30:39 +04:00
Kevin Hughes 47c84335f0 removed starter_image_sequence.cpp 2013-04-17 13:22:37 -04:00
Kevin Hughes eedb6fa3c4 removed separate example for reading image sequences and modified starter_video.cpp to better explain the functionality of VideoCapture. I also added a bit more explanation in the documentation of the VideoCapture interface 2013-04-17 13:20:32 -04:00
Andrey Kamaev ea280b2c0e Merge pull request #831 from jet47:fix-build 2013-04-17 16:50:47 +04:00
Vladislav Vinogradov 54e7c76d99 fixed compilation errors 2013-04-17 15:24:53 +04:00
Andrey Kamaev 8fdab9f631 Merge branch '2.4' 2013-04-17 12:07:17 +04:00
tim36272 5ef3ef9c4a Clarified floodfill documentation
Clarified what value floodfill sets pixels in the mask to when FOODFILL_MASK_ONLY is set.
2013-04-17 00:34:20 -07:00
Andrey Kamaev 974f1f4895 Merge pull request #824 from taka-no-me:reduce_c_api_deps 2013-04-17 11:09:16 +04:00
Andrey Kamaev 8f32902ce6 Minimize usages of legacy C API inside the library 2013-04-16 12:00:02 +04:00
Andrey Kamaev 4223a59497 Merge pull request #809 from taka-no-me:drop_python1 2013-04-16 10:15:51 +04:00
Kevin Hughes b141762070 added an example of using cv::VideoCapture to read image sequences like 000.pmg, 001.png ... 100.png etc. 2013-04-15 13:21:20 -04:00
Andrey Kamaev f7641be434 Merge pull request #812 from bitwangyaoyao:master_uhp 2013-04-15 12:12:46 +04:00
Andrey Kamaev 6168bf0062 Merge pull request #813 from bitwangyaoyao:master_fix 2013-04-13 16:34:07 +04:00
Andrey Kamaev a54a307386 Merge pull request #810 from pengx17:master_fix_ocl_tmflag 2013-04-13 16:33:53 +04:00
yao 2f781a53a9 Fix arithm's substract mismatch caused by incomplete merge 2013-04-13 15:57:12 +08:00
yao 40d0e0eda0 use host data when DEVICE_MEM_UHP is set (the risk of vary align size is owned by users) 2013-04-13 14:58:49 +08:00
Andrey Kamaev 298ccf6487 Turn pyopencv_to and pyopencv_from into templates
This protects from unwanted implicit conversions between types at compile time.
2013-04-13 01:02:57 +04:00
Andrey Kamaev 8b294c6c90 Remove documentation for old python wrapper 2013-04-12 19:37:40 +04:00
Andrey Kamaev f886651cf0 Drop old python samples and tests 2013-04-12 19:37:40 +04:00
Andrey Kamaev b2ba8b9969 Drop old python interface 2013-04-12 19:37:40 +04:00
Andrey Kamaev 909d6fcf51 Move legacy part of opencv_contrib to separate header 2013-04-12 19:37:40 +04:00
Andrey Kamaev 3b364330ad Merge branch '2.4' 2013-04-12 15:35:38 +04:00
Andrey Kamaev b0933dd473 Merge pull request #803 from taka-no-me:split_c_cpp3 2013-04-12 15:01:48 +04:00
Andrey Kamaev 8406312571 Remove C API from OpenCL module 2013-04-12 14:37:02 +04:00
Andrey Kamaev 4296b456e5 Add missed constants for reduce operation 2013-04-12 14:37:02 +04:00
Andrey Kamaev bd59bc3e4a Remove ifdef __cplusplus from nonfree headers 2013-04-12 14:37:02 +04:00
Andrey Kamaev 5e048d1fa5 Move C API of opencv_objdetect to separate file
Also move cv::linemod to own header
2013-04-12 14:37:01 +04:00
Vadim Pisarevsky c019d06de3 Merge pull request #805 from pengx17:master_canny_fix 2013-04-12 13:46:07 +04:00
Vadim Pisarevsky 5a2c5227f4 Merge pull request #798 from pengx17:master_ocl_mleak 2013-04-12 13:45:44 +04:00
peng xiao 5eb551b340 Remove my test codes. 2013-04-12 16:21:52 +08:00
peng xiao 4f328d8388 Fix a potential bug of ocl::CannyBuf.
The program would crash if release is called twice.
2013-04-12 15:43:33 +08:00
peng xiao 7586145235 Remove unused kernels. 2013-04-12 14:32:13 +08:00
peng xiao 33361929fe Fix a compilation error when HAVE_CLAMDFFT is on. 2013-04-12 11:36:17 +08:00
peng xiao aec7a67d0f Fix a bug of ocl::Canny when src/dst using the same buffer. 2013-04-12 11:10:47 +08:00
peng xiao 242955ce22 Format ocl::Canny header 2013-04-12 11:01:56 +08:00
peng xiao 6c2079b778 Test code clean up. 2013-04-12 10:59:15 +08:00
peng xiao 22ca7e44d6 Change ocl::Canny test case category 2013-04-12 10:58:42 +08:00
Andrey Kamaev e5a33723fc Move C API of opencv_calib3d to separate file 2013-04-11 21:00:17 +04:00
Andrey Kamaev 199a35a105 Move C API of opencv_video to separate file 2013-04-11 17:38:33 +04:00
peng xiao a2f4b301f3 Fix an incorrect type cast. 2013-04-11 16:59:32 +08:00
Andrey Kamaev e27f4da9c6 Merge pull request #795 from taka-no-me:move_imgproc_utils_to_core 2013-04-11 11:35:15 +04:00
Andrey Kamaev ebb1f12aa7 Merge pull request #791 from taka-no-me:cleanup_core_api 2013-04-11 11:34:04 +04:00
Dirk Van Haerenborgh caa9ac4ed9 fix installation of main module headers
see: http://code.opencv.org/issues/2897

The order of the 2 conditions is really important, as every MATCHES
operator sets ${CMAKE_MATCH_1}, which is needed inside the condition
block. Ideally, this should be done using a single regex with a
negative forward lookahead, but CMake doesn't seem to support this
2013-04-10 18:15:06 +02:00
Andrey Kamaev 4846dcdfeb Move borderInterpolate and copyMakeBorder documentation 2013-04-10 19:14:25 +04:00
Andrey Kamaev c98c246fc2 Move border type constants and Moments class to core module 2013-04-10 19:14:24 +04:00
Andrey Kamaev ad793ee3f4 Update documentation 2013-04-09 13:36:32 +04:00
Andrey Kamaev b0e6606b98 Cleanup core module API
* Drop some low level API
* Remove outdated overloads
* Utilize Input/OutputArray
2013-04-09 13:36:32 +04:00
Andrey Kamaev f4ae0cf19c Merge pull request #790 from jet47:fix-gpu-build 2013-04-09 13:14:37 +04:00
Andrey Kamaev 36bf8af820 Merge pull request #788 from jet47:fix-2938 2013-04-09 13:14:06 +04:00
Vladislav Vinogradov ba1a1aecaa fixed gpu module compilation 2013-04-09 10:41:35 +04:00
Vladislav Vinogradov f50aabf012 fixed bug #2938 2013-04-09 10:14:25 +04:00
Andrey Kamaev 913e6833d5 Merge pull request #785 from taka-no-me:split_c_cpp2 2013-04-09 08:53:50 +04:00
Andrey Kamaev f03c7521c6 Merge pull request #783 from pengx17:master_matchTemplate_dft 2013-04-09 08:53:17 +04:00
Andrey Kamaev 2cd67cc92b Merge pull request #761 from jet47:gpu-core-refactoring 2013-04-09 08:50:45 +04:00
Andrey Kamaev e8107610d1 Merge pull request #787 from taka-no-me:quiet_nvcc 2013-04-08 20:10:34 +04:00
Andrey Kamaev 3107f79cea Cast to unsigned inside CV_XADD to quiet nvcc 2013-04-08 18:17:29 +04:00
Vladislav Vinogradov a783f5c260 removed blank lines at then end of file 2013-04-08 17:25:16 +04:00
Vladislav Vinogradov 068fb03011 fixed compilation warnings 2013-04-08 17:25:16 +04:00
Vladislav Vinogradov b50090f850 restore cudaSafeCall 2013-04-08 17:25:16 +04:00
Vladislav Vinogradov 2bad639aee fixed source_group 2013-04-08 17:25:16 +04:00
Vladislav Vinogradov d47e89d704 fixed windows build 2013-04-08 17:25:16 +04:00
Vladislav Vinogradov 6e28e67741 removed static_check.hpp 2013-04-08 17:25:16 +04:00
Vladislav Vinogradov 910ef57109 renamed cuda namespace to cudev 2013-04-08 17:25:15 +04:00
Vladislav Vinogradov 1bb141c465 fixed build 2013-04-08 17:25:15 +04:00
Vladislav Vinogradov 193e857392 removed cu_safe_call.h and cu_safe_call.cpp 2013-04-08 17:25:15 +04:00
Vladislav Vinogradov 204a19b431 moved common gpu utility functionality to gpu_private.hpp 2013-04-08 17:25:15 +04:00
Vladislav Vinogradov 28b1e81883 renamed device -> cuda 2013-04-08 17:25:15 +04:00
Vladislav Vinogradov a57707b8d8 moved device layer to core module 2013-04-08 17:25:15 +04:00
Andrey Kamaev 54511b4198 Merge pull request #724 from jet47:tvl1-updates 2013-04-08 17:13:35 +04:00
Andrey Kamaev dd74a851f3 Fix build errors 2013-04-08 17:10:31 +04:00
Andrey Kamaev befd696720 Update documentation 2013-04-08 15:47:29 +04:00
Andrey Kamaev ae4e76395f Make flann headers independent from OpenCV C API 2013-04-08 15:47:29 +04:00
Andrey Kamaev 69648f0a6f Make photo.hpp independent from C API 2013-04-08 15:47:29 +04:00
Andrey Kamaev 0738ea7d0f Make highgui.hpp independent from C API 2013-04-08 15:47:29 +04:00
Andrey Kamaev 288a0634c2 Make imgproc.hpp independent from C API 2013-04-08 15:47:28 +04:00
Vladislav Vinogradov c89786bc2d fixed sanity test on Windows 2013-04-08 15:18:26 +04:00
Vladislav Vinogradov 8d97d9598e updated GPU version of TVL1 2013-04-08 15:18:26 +04:00
Stefan Walk 6062601c4d Make rescaling flexible and add median filtering
Previously the pyramid was done with a rescaling factor of 2 (implied by the
use of pyrDown). This often leads to inferior results compared to a scale step
of e.g. 0.8 (a factor of 2 is obviously faster). This commit makes the scale
step configurable and uses a resonable default value.

The other change in this commit is that median filtering is added. This is not
described in this paper but it is done in the author's implementation. (See
e.g. "Secrets of optical flow estimation and their principles", Sun et al.,
CVPR 2010) This serves as periodic outlier removal during optimization, leading
to smoother flow fields while preserving motion edges. This includes splitting
the optimization loop into two loops.
2013-04-08 15:18:26 +04:00
Andrey Kamaev 7ac0d86992 Merge pull request #786 from cuda-geek:fix-build-gpu-off-cuda-on 2013-04-08 15:11:28 +04:00
Andrey Kamaev 058a9ab136 Merge pull request #784 from jet47:fix-gpu-build 2013-04-08 15:11:16 +04:00
marina.kolpakova 780a8cc149 fix build without gpu module with cuda 2013-04-08 14:13:19 +04:00
Vladislav Vinogradov bf6c08a9ea fixed compilation with CUDA 2013-04-08 13:29:04 +04:00
peng xiao 143f8f69d6 Add some documentation on ocl::convolve 2013-04-08 17:15:52 +08:00
peng xiao 3fea2620e6 Fix some compilation errors and warnings. 2013-04-08 16:22:20 +08:00
peng xiao 77501f3ed0 ocl: Add dft based convolve implementation.
Match template in ocl module now can be utilized with dft based
convolve. Note this feature needs OpenCV to be built with clAmdFft
library.
2013-04-08 15:19:44 +08:00
Andrey Kamaev 6ef43cd96e Merge pull request #779 from sivapvarma:master 2013-04-08 10:11:33 +04:00
Andrey Kamaev 67073daf19 Merge branch '2.4' 2013-04-05 21:11:59 +04:00
Siva Prasad Varma 3b0ce8e132 Add HoughTransform examples python2
houghlines.py for HoughLinesP() and HoughLines()
houghcircles.py for HoughCircles()
2013-04-05 14:32:07 +05:30
Andrey Kamaev 3785439917 Merge pull request #763 from gpsinghsandhu:video-doc-minor-typo 2013-04-04 18:16:15 +04:00
Andrey Kamaev bfac291838 Merge pull request #757 from jackculpepper:master 2013-04-04 18:15:03 +04:00
gpsinghsandhu 6b71f56025 minor typo in the research paper title 2013-04-04 15:58:11 +05:30
jackculpepper 297e6d0b73 mark multiple return arguments for python bindings 2013-04-04 00:51:52 -07:00
Andrey Kamaev 78c70ab948 Merge pull request #747 from taka-no-me:split_c_cpp 2013-04-04 00:55:22 +04:00
Andrey Kamaev d4bb421ce2 Fix findEssentialMat function
Also remove all usages of std::complex from OpenCV modules
2013-04-03 17:25:00 +04:00
Andrey Kamaev 422803e866 Merge pull request #746 from jet47:fix-gpu-compilation 2013-04-03 15:58:48 +04:00
Andrey Kamaev 4cf5c3568d Merge pull request #737 from AoD314:webp2 2013-04-03 15:58:31 +04:00
Andrey Kamaev de848a08d3 Merge pull request #722 from gpsinghsandhu:blob-detector-cpp 2013-04-03 15:58:17 +04:00
Andrey Kamaev 6ce050d264 Update docs 2013-04-03 14:10:03 +04:00
Andrey Kamaev 940eedfb27 Finalize core headers reorganization 2013-04-03 14:10:03 +04:00
Vladislav Vinogradov 366f859ada fixed compilation after CV_IMPLEMENT_QSORT_EX removing 2013-04-03 12:59:40 +04:00
Andrey Kamaev c979de1eed Rewrite Mat formatting without std streams 2013-04-03 11:55:19 +04:00
AoD314 740941c8b8 update libwebp up to 0.3.0 2013-04-02 15:22:10 +04:00
Andrey Kamaev 7193a73ca0 Move FileStorage to separate header 2013-04-01 19:18:05 +04:00
Andrey Kamaev 517062039e Make core/internal.hpp a private header 2013-04-01 17:29:10 +04:00
Andrey Kamaev d62bc8cfbf Remove more old definitions from internal.hpp 2013-04-01 16:32:08 +04:00
Andrey Kamaev e972d6b8c0 Drop template Vector class 2013-04-01 15:24:35 +04:00
Andrey Kamaev 3890a74565 Drop outdated definitions from internal.hpp
This also fixes few clang build errors
2013-04-01 15:24:35 +04:00
Andrey Kamaev 605382562d Fix stack corruption in cvConvexHull2 and heap corruption in OutputArray::create 2013-04-01 15:24:35 +04:00
Andrey Kamaev b28f594917 Drop fast_abs 2013-04-01 15:24:35 +04:00
Andrey Kamaev 6fea48c54f Drop operator* from MatCommaInitializer 2013-04-01 15:24:34 +04:00
Andrey Kamaev 4ab650d15b Remove gcd function from core headers 2013-04-01 15:24:34 +04:00
Andrey Kamaev c886afb502 Finalize cv::Mat transition 2013-04-01 15:24:34 +04:00
Andrey Kamaev 71e43852ce Fix MSVC build issues 2013-04-01 15:24:34 +04:00
Andrey Kamaev 2b1ef95415 Completely separate C and C++ API of OpenCV core 2013-04-01 15:24:34 +04:00
Andrey Kamaev 715fa3303e Move cv::Mat out of core.hpp 2013-04-01 15:24:34 +04:00
Andrey Kamaev 135c0b6cb5 Move cv::TermCriteria out of core.hpp 2013-04-01 15:24:34 +04:00
Andrey Kamaev fbd435898b Rename mat.hpp 2013-04-01 15:24:33 +04:00
Andrey Kamaev 3d1d219561 Move cv::fastMalloc, cv::fastFree and cv::Ptr out of core.hpp 2013-04-01 15:24:33 +04:00
Andrey Kamaev 489bd59b72 Move implementation of C++ container classes to types.hpp 2013-04-01 15:24:33 +04:00
Andrey Kamaev 6c071cbdd8 Norms are moved out form operations.hpp 2013-04-01 15:24:33 +04:00
Andrey Kamaev 969a7133a9 Implementation of cv::Matx and cv::Vec is almost moved to matx.hpp 2013-04-01 15:24:33 +04:00
Andrey Kamaev d2192c0759 Move cv::Matx and cv::Vec to separate header 2013-04-01 15:24:33 +04:00
Andrey Kamaev 5e7ab8baf3 Move cv::Scalar_ to types.hpp 2013-04-01 15:24:33 +04:00
Andrey Kamaev 6ceca90c44 Move most of the traits classes out of core.hpp 2013-04-01 15:24:33 +04:00
Andrey Kamaev 2249f19120 Move cv::Range, cv::KeyPoint and cv::DMatch 2013-04-01 15:24:33 +04:00
Andrey Kamaev 93d76ac23f Move cv::RotatedRect 2013-04-01 15:24:33 +04:00
Andrey Kamaev 62adc01980 Move cv::Rect_ 2013-04-01 15:24:33 +04:00
Andrey Kamaev addf0309ec Move cv::Size_ 2013-04-01 15:24:32 +04:00
Andrey Kamaev 13b31b0804 Move C++ basic structures to separate header and inverse dependency from C API
cv::Complex, cv::Point_ and cv::Point3_ are moved.
2013-04-01 15:24:32 +04:00
Andrey Kamaev 19f8f85c51 Move C structures wrappers from core.hpp to core_c.h
Also move RTTIImpl class to the only usage
2013-04-01 15:24:32 +04:00
Andrey Kamaev 6bf49d49e7 Drop CvModule and cvSetMemoryManager 2013-04-01 15:24:32 +04:00
Andrey Kamaev db45e04d58 Merge pull request #720 from taka-no-me:drop_sort 2013-04-01 15:14:45 +04:00
gpsinghsandhu 77e51ff9c4 contours with zero area rejected
reject contours with zero area by using the "continue" statement to be in sync with the condition checking style used in the whole file
2013-03-31 16:13:40 +05:30
gpsinghsandhu 0d16a9befb In response to Bug #2927
change to reject contours with moms.m00 = 0.0
2013-03-30 00:33:22 +05:30
Andrey Kamaev f77a375354 Merge branch '2.4' 2013-03-29 19:38:35 +04:00
Andrey Kamaev 3ceca9b7b1 Merge pull request #694 from mistydemeo:fix_java_detection 2013-03-29 18:24:11 +04:00
Andrey Kamaev f4b98e9628 Merge pull request #719 from jet47:gpu-fix-build 2013-03-29 18:23:05 +04:00
Andrey Kamaev 0bb785c979 Merge pull request #717 from ryanobjc:patch-1 2013-03-29 18:21:59 +04:00
Andrey Kamaev 7ff68d5e0d Merge pull request #711 from taka-no-me:move_keypoint_dmatch 2013-03-29 18:21:38 +04:00
Andrey Kamaev 855acc9748 Add specialization for << operator for writing std::string to FileStorage 2013-03-29 16:27:12 +04:00
Andrey Kamaev cc6bdfb045 Remove inline sorting algorithms from core headers 2013-03-28 17:22:50 +04:00
Vladislav Vinogradov 2661c2e213 fixed warnings 2013-03-28 11:49:47 +04:00
Vladislav Vinogradov 76e748ccc1 removed internal_header.hpp - it produces many warnings 2013-03-28 11:49:26 +04:00
Vladislav Vinogradov 15f09f8068 fixed gpu module compilation 2013-03-28 11:48:43 +04:00
Ryan Rawson 0d49de51b7 Update operations_on_arrays.rst
Remove weirdo unicode – and just use a normal -
2013-03-27 02:52:53 -07:00
Andrey Kamaev 20534c9beb Merge pull request #692 from vpisarev:refactor_calib3d_stereo 2013-03-26 18:38:16 +04:00
Andrey Kamaev 2edfae5070 Move documentation for cv::KeyPoint and cv::DMatch to core 2013-03-26 17:20:51 +04:00
Andrey Kamaev 49f6dad13f Move cv::KeyPoint and cv::DMatch to core 2013-03-26 16:08:43 +04:00
Andrey Kamaev 8eff34ee0b Merge pull request #709 from taka-no-me:cv_format 2013-03-26 14:36:47 +04:00
Andrey Kamaev 6e2708e042 Merge pull request #708 from taka-no-me:gstreamer_10_28 2013-03-26 14:36:25 +04:00
Andrey Kamaev 0e58853be3 Merge pull request #706 from taka-no-me:str_gpumat 2013-03-26 14:36:10 +04:00
Andrey Kamaev 6377922716 Fix build with gstreamer 0.10.28 2013-03-26 13:10:09 +04:00
Vadim Pisarevsky 322d781192 avoid explicit std::string use 2013-03-26 12:55:21 +04:00
Andrey Kamaev 2107ea9773 More accurate implementation of cv::format 2013-03-26 11:54:04 +04:00
Andrey Kamaev 5fd58a0103 Fix std::string to cv::String migration problems in gpumat.cpp 2013-03-26 11:24:54 +04:00
Andrey Kamaev 69c9fe357d Merge pull request #702 from taka-no-me:refactor_core_headers 2013-03-26 11:00:03 +04:00
Andrey Kamaev 98585a9688 Merge pull request #703 from jacob-baines:patch-2 2013-03-25 20:26:39 +04:00
Andrey Kamaev aaf69c422e Fix clang build for Android (CV_XADD) 2013-03-25 18:06:02 +04:00
Jacob Baines 866d676582 Memory Leak Fix
Memory leak in BoostedSoftCascadeOctave::traverse
2013-03-25 11:02:50 -03:00
Andrey Kamaev deb7f4d474 Fix globbing failure when stat call fails 2013-03-25 17:38:50 +04:00
Andrey Kamaev a3e31a69df Merge pull request #684 from vhdirk:gstreamer-1.x 2013-03-25 17:01:43 +04:00
Andrey Kamaev 78a843e8ac Move implementation of cv::String methods out of class definition 2013-03-25 16:01:23 +04:00
Andrey Kamaev 3d3385654a Use C++ style includes when compiled as C++ 2013-03-25 16:01:06 +04:00
Andrey Kamaev 8c41c614eb Merge pull request #700 from cuda-geek/fix_build_with_cuda
fix master build with CUDA after latest 2.4 merge
2013-03-25 03:27:31 -07:00
Andrey Kamaev 04eabf8d9f Merge pull request #699 from jacob-baines/patch-1
Mismatching new[] / delete
2013-03-25 03:26:18 -07:00
Andrey Kamaev bafd359083 Merge pull request #695 from taka-no-me/cv_str
cv::String to replace the std::string
2013-03-25 03:24:42 -07:00
Andrey Kamaev a3994bc45f Merge pull request #671 from cuda-geek/static_assert
Static assert
2013-03-25 03:23:20 -07:00
Vadim Pisarevsky f8b61e4eca fixed hopefully last warnings in the doc builder 2013-03-25 12:04:11 +04:00
marina.kolpakova dd9e786a8e fix build gpu tests after video module refactoring 2013-03-25 09:34:51 +04:00
marina.kolpakova 84f45e1e03 fixed build with CUDA after latest merge 2013-03-25 08:08:36 +04:00
Jacob Baines 1e1645e214 Mismatching new[] / delete 2013-03-24 22:45:31 -03:00
Vadim Pisarevsky 44157c421f fixed python test failures (modified stereo correspondence test to use cv2.* stuff), fixed docs 2013-03-25 00:42:46 +04:00
marina.kolpakova 4096b54560 use static assertation where suitable 2013-03-25 00:29:12 +04:00
marina.kolpakova 5c1c13e745 static assert 2013-03-25 00:29:12 +04:00
Vadim Pisarevsky 7b5923e98b fixed docs and compile error on Linux 2013-03-24 23:09:17 +04:00
Alexander Mordvintsev 4d510be2c9 added compute function to Feature2D (dirty workaround for #2699) 2013-03-23 14:06:33 +04:00
Andrey Kamaev 877dfae044 Fix build of ocl module 2013-03-22 22:14:57 +04:00
Andrey Kamaev 33ef7990b0 Update documentation 2013-03-22 22:14:54 +04:00
Andrey Kamaev be7bbe3aa9 Drop cv:: prefix from cv::String used inside the cv namespace 2013-03-22 22:14:50 +04:00
Andrey Kamaev 75513a46dc Remove all include directives for <string> 2013-03-22 22:14:47 +04:00
Andrey Kamaev 29b544d83c Use cv::String in Android camera wrapper 2013-03-22 22:14:43 +04:00
Andrey Kamaev 3088808926 Fix build of various backends 2013-03-22 22:14:40 +04:00
Andrey Kamaev 29cfeb7cee Fix build of apps and samples 2013-03-22 22:14:36 +04:00
Andrey Kamaev 688d170de7 Java wrapper is adapted for cv::String 2013-03-22 22:14:33 +04:00
Andrey Kamaev 707d3e0a62 Python wrapper is adapted for cv::String 2013-03-22 22:14:30 +04:00
Andrey Kamaev 2ad7b97f1c All modules (except ocl and gpu) compiles and pass tests 2013-03-22 22:14:26 +04:00
Andrey Kamaev 762aefd71b Compile opencv_test_core with cv::String instead of std::string
All tests passed!
2013-03-22 22:14:22 +04:00
Andrey Kamaev 14bb4cbe1e Add cv::String class 2013-03-22 22:14:18 +04:00
Misty De Meo a423afddc1 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.
2013-03-22 11:18:42 -05:00
Andrey Kamaev ec15d6f383 Merge pull request #690 from berak:master 2013-03-22 19:35:17 +04:00
Andrey Kamaev 82d7292ee7 Merge pull request #680 from vpisarev:c2cpp_video_take2 2013-03-22 19:34:53 +04:00
berak d32af86e75 Update CMakeLists.txt
exclude IlmImf/b44ExpLogTable.cpp from the build,

it's used originally to generate IlmImf/b44ExpLogTable.h, but not nessecary for the library.(probably only here for documentation

when included with static linking it introduces a problem with multiple definitions of main()
2013-03-22 09:31:40 +01:00
Vadim Pisarevsky 40dd25d6c2 restored CV_EXPORTS_W in the background subtraction classes 2013-03-22 01:29:33 +04:00
Vadim Pisarevsky 7661625c39 converter stereo correspondence algorithms to the new style 2013-03-22 01:05:30 +04:00
Andrey Kamaev 1ca8f33b4e Merge branch '2.4' 2013-03-21 23:11:54 +04:00
Vadim Pisarevsky d310ccad0a fixed documentation and warnings on Windows 2013-03-21 20:23:52 +04:00
Andrey Kamaev bbae05413d Merge pull request #682 from vpisarev/python_str_fix
repaired std::string handling
2013-03-21 08:57:39 -07:00
Dirk Van Haerenborgh 921675c4e2 eliminated warnings 2013-03-21 16:11:53 +01:00
Vadim Pisarevsky 09127aa358 fixed warnings; added read/write methods; fixed docs 2013-03-21 15:46:21 +04:00
Andrey Kamaev 2d764fe1c6 Merge pull request #665 from taka-no-me:core_utility 2013-03-21 14:47:49 +04:00
Dirk Van Haerenborgh 4f3453dbbf bomb commit of gstreamer videocapture and videowriter 2013-03-21 10:22:56 +01:00
Vadim Pisarevsky 0990b42ebc Merge pull request #657 from prclibo:master 2013-03-21 12:23:49 +04:00
Vadim Pisarevsky 219bdb9809 Merge pull request #681 from jbohren-forks:fix-ellipse-segfault 2013-03-21 12:22:01 +04:00
Vadim Pisarevsky 4e1619d8ee repaired std::string handling 2013-03-21 11:30:38 +04:00
Jonathan Bohren a7a0f92e58 Fixing segfault for near-zero-sized ellipses 2013-03-20 16:51:48 -04:00
Vadim Pisarevsky 07e0f7bf59 refactored video module; use the new-style algorithms now 2013-03-20 19:51:49 +04:00
Vadim Pisarevsky 14a0abbfa9 refactored video module; use the new-style algorithms now 2013-03-20 19:51:33 +04:00
Andrey Kamaev 89356ff16d Move non-CV functionality from core.hpp to separate utility.hpp header 2013-03-20 17:56:06 +04:00
Bo Li 94b12eae92 update five-point license 2013-03-20 09:53:44 +01:00
Andrey Kamaev 87563c6638 Merge pull request #670 from Nerei:osx_compilation 2013-03-19 19:39:08 +04:00
Andrey Kamaev bb6a58aee2 Merge pull request #668 from AoD314:webp2 2013-03-19 19:38:52 +04:00
Anatoly Baksheev 08e55b7801 compilation for osx 2013-03-19 18:59:56 +04:00
AoD314 7d0c600504 improved test of webp 2013-03-19 18:04:15 +04:00
Andrey Kamaev 6d6ef07e30 Merge pull request #666 from cuda-geek:warnings 2013-03-19 17:42:58 +04:00
marina.kolpakova 238ea7f0f0 fix warnings under win. 2013-03-19 03:34:55 +04:00
Andrey Kamaev 1ad7af3c3b Merge pull request #654 from fish2000:patch-1 2013-03-18 15:56:55 +04:00
Andrey Kamaev 0b0c9be771 Merge pull request #636 from ilya-lavrenov:SSE2_HOG 2013-03-18 15:56:16 +04:00
cuda-geek 3f8d87d82c Merge pull request #661 from cuda-geek:merge-cpu-gpu-detections 2013-03-18 15:34:02 +04:00
marina.kolpakova 43db0d543d fix win warnings 2013-03-18 13:50:45 +04:00
cuda-geek f768d8c93f Merge pull request #658 from Nerei:affine3_classes 2013-03-18 13:36:01 +04:00
cuda-geek f510b49cc2 Merge pull request #650 from taka-no-me:cvdef 2013-03-18 13:10:54 +04:00
cuda-geek d8755fd1c0 Merge pull request #653 from jbohren-forks:master 2013-03-18 13:10:25 +04:00
Anatoly Baksheev ceadaed108 Added Affine3<T> class 2013-03-18 11:51:43 +04:00
marina.kolpakova 318257f3a3 refactor cpp files naming 2013-03-18 08:17:13 +04:00
marina.kolpakova 0211843062 merge Detection structure for CPU and GPU soft cascade detectors 2013-03-18 06:58:53 +04:00
cuda-geek 7772811585 Merge pull request #659 from Nerei:master 2013-03-18 00:46:40 +04:00
Anatoly Baksheev fe10c74faa fixed compilation for vs2008 2013-03-17 18:02:52 +04:00
marina.kolpakova 92ba74a3ee fix cuda 2013-03-17 05:50:45 +04:00
Bo Li 28256209b0 updated doc 2013-03-15 21:30:22 +01:00
Bo Li 2435e59890 rewrite five-point coeff matrix. 2013-03-15 20:44:41 +01:00
Andrey Kamaev ea79357fd3 Merge pull request #647 from taka-no-me:fix_ffmpeg_wrapper 2013-03-15 17:50:32 +04:00
Andrey Kamaev e75df56317 Unified handling of InputOutputArrays in Python wrapper generator
This makes arguments of type InputOutputArray required in python unless they
have a default value in C++.

As result following python functions changes signatures in non-trivial way:

* calcOpticalFlowFarneback
* calcOpticalFlowPyrLK
* calibrateCamera
* findContours
* findTransformECC
* floodFill
* kmeans
* PCACompute
* stereoCalibrate

And the following functions become return their modified inputs as a return
value:

* accumulate
* accumulateProduct
* accumulateSquare
* accumulateWeighted
* circle
* completeSymm
* cornerSubPix
* drawChessboardCorners
* drawContours
* drawDataMatrixCodes
* ellipse
* fillConvexPoly
* fillPoly
* filterSpeckles
* grabCut
* insertChannel
* line
* patchNaNs
* polylines
* randn
* randShuffle
* randu
* rectangle
* setIdentity
* updateMotionHistory
* validateDisparity
* watershed
2013-03-15 17:44:49 +04:00
Alexander Bohn / FI$H2k f3ee55e042 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.
2013-03-15 06:47:52 -03:00
Andrey Kamaev a1c456b7c3 Extract common base header for C and C++ APIs 2013-03-15 10:38:38 +04:00
Andrey Kamaev 1eb34e062c Merge pull request #648 from cuda-geek:move-gpu-soft-cascade-to-softcascade-module 2013-03-15 10:35:04 +04:00
Jonathan Bohren 221d610d55 calib3d model superscript should be subscript 2013-03-15 00:29:46 -03:00
marina.kolpakova 157a98edf7 refactored cuda error handling; remove optional dependancies in soft cascade training app 2013-03-14 23:43:03 +04:00
marina.kolpakova a476664144 fixed compilation with latest master changes 2013-03-14 20:12:52 +04:00
Andrey Kamaev 14d27112e9 Fix build of ffmpeg wrapper with some versions of avutil 2013-03-14 14:52:13 +04:00
marina.kolpakova 6f11dc03b9 implement integral 2013-03-14 12:28:02 +04:00
marina.kolpakova 83e7d3dd67 remove generic version of GPU channel computer. 2013-03-14 12:28:02 +04:00
marina.kolpakova 3c8e66d580 softcascade: remove device dependency on gpu 2013-03-14 12:28:01 +04:00
marina.kolpakova 6daf17f974 remove softcascade host dependencies on gpu module 2013-03-14 12:28:01 +04:00
marina.kolpakova 5120322cea move gpu version of soft cascade to dedicated module 2013-03-14 12:27:13 +04:00
marina.kolpakova 9b00c14fff moved documentation for CUDA version of softcascade 2013-03-14 12:25:18 +04:00
Andrey Kamaev d9cd753835 Merge pull request #645 from taka-no-me:bump_headers 2013-03-14 11:42:23 +04:00
Andrey Kamaev b076b69e68 Merge pull request #642 from taka-no-me:fix1 2013-03-14 11:42:05 +04:00
Andrey Kamaev f622a2e79c Merge pull request #641 from taka-no-me:stlfree_xadd 2013-03-14 11:41:36 +04:00
Andrey Kamaev 7d0938d481 Merge pull request #640 from cuda-geek:soft-cascade-sample 2013-03-14 11:41:17 +04:00
Andrey Kamaev a42a0f5fca Added compatibility headers 2013-03-13 17:26:56 +04:00
Andrey Kamaev ad5cddc007 Main module headers are moved 1 level up
e.g. <opencv2/core/core.hpp> become <opencv2/core.hpp>

Also renamed <opencv2/core/opengl_interop.hpp> to <opencv2/core/opengl.hpp>
2013-03-13 17:26:56 +04:00
cuda-geek 061dd7e84e Merge pull request #643 from cuda-geek:refactor-softcascade-globbing 2013-03-13 17:00:53 +04:00
marina.kolpakova 18aa5c921f use OpenCV's twister. 2013-03-13 14:20:04 +04:00
marina.kolpakova cf66942505 enable training test. refactor globbing 2013-03-13 13:43:22 +04:00
Andrey Kamaev 7e50d3e571 Fixed MSVC warnings 2013-03-13 11:34:04 +04:00
marina.kolpakova b4b63cd698 add softcascade to people detector sample 2013-03-13 07:39:50 +04:00
Andrey Kamaev 55698548dd Avoid assert in lapac.cpp if findHomography fails in BestOf2NearestMatcher::match 2013-03-12 22:49:40 +04:00
Andrey Kamaev 013fd9bf59 Make CV_XADD independent on STL and system headers 2013-03-12 20:32:41 +04:00
Andrey Kamaev 9f3ce0dd97 Reword and merge pull request #625 from jet47/gpu-fixes 2013-03-12 18:14:23 +04:00
Vladislav Vinogradov ecb2ebfba4 Move opengl iterop code to cv::ogl namespace
Fixed issues: #2737 #2848
2013-03-12 18:13:11 +04:00
cuda-geek e4f55a7ec0 Merge pull request #629 from cuda-geek:globbing 2013-03-12 15:57:56 +04:00
cuda-geek 009158e1f8 Merge pull request #621 from cuda-geek:twister 2013-03-12 13:11:50 +04:00
Andrey Kamaev fb04f3a58d Merge pull request #622 from moshekaplan:python2_cleanups 2013-03-11 21:14:20 +04:00
Andrey Kamaev fb76095378 Merge pull request #610 from AoD314:webp2 2013-03-11 21:13:36 +04:00
Ilya Lavrenov 8b510ad8dc sse2 hog 2013-03-11 20:21:48 +04:00
Andrey Kamaev 9b7dfd677d Merge branch '2.4' 2013-03-11 18:50:19 +04:00
Andrey Kamaev 9b8c871874 Merge pull request #634 from taka-no-me:c++11-master 2013-03-11 17:15:09 +04:00
Andrey Kamaev 2a06fd98c0 Fix build errors with c++11 2013-03-11 16:03:48 +04:00
AoD314 9680176fa9 added docs 2013-03-11 15:47:21 +04:00
AoD314 eb012a5993 added tests for WebP 2013-03-11 11:51:46 +04:00
AoD314 63d9ee9523 This code is based on https://github.com/prasannatsm/opencv code.
- added webp (lossy and lossless without alpha channel)
- added tests
2013-03-11 11:51:38 +04:00
cuda_geek 61094d350b add dlobbing for Windows 2013-03-09 23:21:17 +04:00
marina.kolpakova a486aafe7c add dlobbing under *nix 2013-03-09 21:10:45 +04:00
marina.kolpakova 12fe6ff734 add Mersenne Twister random number generator 2013-03-09 19:18:37 +04:00
AoD314 fd44322b4f added CMakeLists.txt for build WebP 2013-03-07 19:31:02 +04:00
AoD314 e7cb317c7d added cpu-features for WebP 2013-03-07 19:07:43 +04:00
AoD314 500b7318be added WebP library 2013-03-07 19:07:31 +04:00
Moshe Kaplan bd042d9cc3 Fixed shebangs, added error checking 2013-03-06 01:41:02 -05:00
Andrey Kamaev 6569a58518 Merge pull request #592 from vpisarev:c2cpp_calib3d_ptsetreg 2013-03-05 17:39:53 +04:00
Andrey Kamaev 816adcfdac Merge pull request #605 from vpisarev:c2cpp_calib3d_stereo 2013-03-05 15:26:51 +04:00
cuda-geek b9ab5939a4 Merge pull request #607 from cuda-geek:auto-compile-cuda 2013-03-05 13:50:29 +04:00
cuda-geek fcde059ca4 Merge pull request #618 from caotto:master 2013-03-05 13:12:39 +04:00
marina.kolpakova 39ecd94010 forbid recursive globbing for OpenCV modules sources 2013-03-05 11:34:46 +04:00
cuda-geek c0ba0c9099 Merge pull request #596 from ArtanisCV:master 2013-03-05 08:57:58 +04:00
cuda-geek 7e9f1c33d0 Merge pull request #617 from moshekaplan:master 2013-03-05 08:56:58 +04:00
Charles Otto c02f94392b Add version checks to previous modifications to ffmpeg_cap_impl.hpp
Add version checks around uses of AVCodecID and av_opt_set, since these aren't
defined for older versions of ffmpeg.
2013-03-04 22:14:52 -05:00
Charles Otto 52137ceed0 Allow encoding with libx264 via ffmpeg to work
Add a call to avcodec_get_context_defaults3, this sets per-codec default values
and in the case of libx264 will stop VideoWriter::open (with fourcc=x264) from
failing due to libx264 complaining about broken ffmpeg default settings.

Set some additional libx264 encoder parameters.
2013-03-04 19:29:05 -05:00
Vadim Pisarevsky f303de12d8 mask.create() re-converted to new style 2013-03-05 00:03:37 +04:00
Vadim Pisarevsky 0c61a8887e reverting changes in Homography kernel function. For some reason GCC on Linux does not like it. 2013-03-05 00:00:21 +04:00
Moshe Kaplan facd580f28 Small changes to Python samples
Update find_obj.py:
    Added additional error checking for the loaded files and modified the detector check to be more pythonic (is versus ==).

    Update common.py:
    Fixed a typo (contais -> contains)
2013-03-04 12:25:35 -05:00
Andrey Kamaev 9e12b7c3c2 Merge release 2.4.4 2013-03-04 19:43:49 +04:00
Vadim Pisarevsky 7fd1d75738 some more minor fixes 2013-03-04 16:02:15 +04:00
cuda-geek 52a45ed191 Merge pull request #606 from cuda-geek:fix-depth-less-2-bug-in-soft-cascade 2013-03-03 08:59:56 +04:00
cuda-geek 1c3cde110d Merge pull request #608 from cuda-geek:soft-cascade-hot-fixes 2013-03-03 08:59:37 +04:00
Vadim Pisarevsky 8a6d2bbd3d several minor fixes proposed by Andrey 2013-03-03 00:54:46 +04:00
marina.kolpakova ac471fadd6 remove unused parameter from softcascade::Octave constructor 2013-03-02 13:06:29 +04:00
marina.kolpakova d539dae6d0 fix typo in integral buffer initialization 2013-03-02 09:33:17 +04:00
marina.kolpakova 1bf696f392 fixes for soft cascade training app 2013-03-02 09:24:13 +04:00
Vadim Pisarevsky df89f30b4a removed preset parameter in createStereoBM, updated stereo_match sample 2013-03-02 02:17:49 +04:00
marina.kolpakova 19f863ec13 add possibility to create CUDA powered modules with ocv_define_module macro 2013-03-02 00:17:46 +04:00
marina.kolpakova 445f39a4a3 fix uninitialized magnitude channel bug 2013-03-01 23:40:32 +04:00
marina.kolpakova 12d23aae02 refactor channel builder
fix condition for sample index in assert
2013-03-01 23:39:32 +04:00
marina.kolpakova 1c3c11a4cc fix import in scale_caltech python script 2013-03-01 23:33:28 +04:00
marina.kolpakova 516a6cc59d fix bug: depth of resulting tree is less then 2. 2013-03-01 23:21:25 +04:00
Artanis 11f8c74c51 Remove "build/" from .gitignore 2013-03-01 15:43:12 +08:00
Artanis 993522598b Add implementations for Mat::zeros() and Mat::ones()
In class Mat, "static MatExpr Mat::zeros(int ndims, const int* sz, int
type)" and "static MatExpr Mat::ones(int ndims, const int* sz, int
type)" are declared but never implemented. That means we can see their
manuals from
"http://docs.opencv.org/modules/core/doc/basic_structures.html" but we
can't use them. Here I tried to finish their implementation.
I have also changed MatOp_Initializer::assign to make it support
multi-dimension Mat.
Test cases are added in test_math.cpp as well.
2013-03-01 13:18:44 +08:00
Artanis 0532a521a2 Add "build\" into .gitignore 2013-03-01 09:47:46 +08:00
Vadim Pisarevsky b6efe30527 new API for StereoMatchers 2013-03-01 02:24:46 +04:00
Vadim Pisarevsky d925879366 reverted dangerous change in _InputArray::size() 2013-02-28 23:02:04 +04:00
Vadim Pisarevsky 374e3a0890 rewritten several functions from calib3d: findhomography, findfundamentalmat, findessentialmat, estimateaffine3d, computecorrespondepilines, convert points{to/from}homogeneous to C++. 2013-02-28 18:25:05 +04:00
Andrey Kamaev 891d7da6ee Merge branch '2.4' 2013-02-28 11:17:06 +04:00
Andrey Kamaev c5e979ceb7 Merge pull request #581 from vpisarev:ios_fix 2013-02-28 01:58:13 +04:00
Andrey Kamaev c6318ffaa0 Merge pull request #567 2013-02-28 01:50:40 +04:00
Georgios Evangelidis f40725bb50 Add ECC algorithm
Evangelidis, G.D. and Psarakis E.Z. "Parametric Image Alignment using Enhanced
Correlation Coefficient Maximization", IEEE Transactions on PAMI, vol. 32, no.
10, 2008
2013-02-28 01:48:00 +04:00
Vadim Pisarevsky 11ba220e02 fixed iOS framework compile errors after recent changes 2013-02-28 00:54:01 +04:00
Andrey Kamaev b9b4200504 Merge pull request #580 from vrabaud:patch-1 2013-02-28 00:39:04 +04:00
Andrey Kamaev 68bb317ce1 Merge pull request #462 from kobigurk:master 2013-02-28 00:38:20 +04:00
Vincent Rabaud c7bbd1aef2 Update cmake/templates/OpenCVConfig.cmake.in
find_package(OpenCV) should not include_directories by default, that is not standard afaik. Plus that creates problems when creating the ROS package :)
2013-02-27 11:00:38 -08:00
Andrey Kamaev d620ef0d55 Merge pull request #577 from ilya-lavrenov:BilateralFilter 2013-02-27 19:44:56 +04:00
Andrey Kamaev 7b79eaf5be Merge pull request #511 from aritzlc:master 2013-02-27 19:33:01 +04:00
Ilya Lavrenov 3eed5d8c72 additional improvements for 32f 2013-02-27 17:54:22 +04:00
Ilya Lavrenov efad6942e2 some improvements of existing sse3 optimization of bilateral filter in case of 8uc3. Now perf tests take 6120ms instead of previous 7250ms (1.18x speed-up) 2013-02-27 16:53:09 +04:00
Andrey Kamaev 242a6de719 Merge pull request #566 from FabricioS:master 2013-02-27 11:37:31 +04:00
Andrey Kamaev 351ecbbcce Repair build 2013-02-26 23:12:20 +04:00
Fabrice Silva eca114ae95 Fix definition of the covariance matrix of derivatives. 2013-02-26 18:50:20 +01:00
cuda-geek 15e125c751 Merge pull request #543 from taka-no-me:explicit_stl 2013-02-26 20:54:13 +04:00
Andrey Kamaev 9f888fdb97 Merge pull request #490 from mschoeler:master 2013-02-26 18:33:05 +04:00
alegarda 0448f240a0 Added constants to gen_java.py 2013-02-26 11:21:43 +01:00
cuda-geek 37568b26ed Merge pull request #545 from cuda-geek:fix_lying_assertation 2013-02-25 23:11:02 +04:00
marina.kolpakova 9e5698b967 fix lying assertation and hard-coded shrinkage 2013-02-25 19:49:12 +04:00
Andrey Kamaev d586f4a103 Fix x64 build warnings 2013-02-25 15:04:19 +04:00
Andrey Kamaev 2a6fb2867e Remove all using directives for STL namespace and members
Made all STL usages explicit to be able automatically find all usages of
particular class or function.
2013-02-25 15:04:17 +04:00
Andrey Kamaev f783f34e0b Merge pull request #534 from emchristiansen:c++11 2013-02-24 23:31:12 +04:00
marina.kolpakova ef6c236655 restore missed gpu functionality after merge #dddd285d 2013-02-24 22:14:57 +04:00
Andrey Kamaev dddd285d3b Merge branch 2.4 2013-02-24 20:16:53 +04:00
Eric Christiansen a66f7cb9bc allows building with -std=c++11 under G++ 2013-02-22 13:28:20 -08:00
Markus Schoeler 5484a41960 Corrected a mistake in CHI2 kernel in line 354 and line 362 svm.cpp
Added new kernels to documentation
2013-02-22 15:43:41 +01:00
Andrey Kamaev 0b8a6da817 Merge branch '2.4' 2013-02-22 17:33:30 +04:00
alegarda 6bf7fd997a Indentation Ok 2013-02-21 15:48:23 +01:00
alegarda 62655b05f4 Indentation ok 2013-02-21 15:25:22 +01:00
alegarda cb61e91023 distCoeffs0 cols to 12 2013-02-21 10:18:55 +01:00
alegarda 8a2b50dca6 Fixed undistort.cpp 2013-02-21 10:00:28 +01:00
alegarda d3d8a782b5 Thin prism distortion model added doc
Thin prism distortion model added to the
camera_calibration_and_3d_reconstruction.rst
2013-02-20 15:25:49 +01:00
alegarda 76d03fccb9 Added Thin Prism Distortion Model
Only the code.
2013-02-20 15:11:47 +01:00
Andrey Kamaev 0ccdc5b4af Merge pull request #509 from taka-no-me:fix_docs_master 2013-02-20 15:50:47 +04:00
Andrey Kamaev 11bd936f0b Fix warnings from documentation build 2013-02-20 15:07:13 +04:00
Andrey Kamaev 9498856b22 Fix documentation problems found by check_docs2 script 2013-02-20 15:07:13 +04:00
Andrey Kamaev 637397f621 Merge branch '2.4' 2013-02-20 12:31:16 +04:00
Andrey Kamaev 262fc929aa Merge branch '2.4' 2013-02-18 15:35:42 +04:00
Andrey Kamaev ec7a7c0f7c Merge pull request #493 from pppoe:master 2013-02-16 14:23:14 +04:00
Haoxiang Li 3f86fd82f8 update: detected rectangles may be partially outside the image 2013-02-15 11:05:56 -05:00
Andrey Kamaev 4cc3dfe27c Merge pull request #482 from vpisarev:c2cpp_imgproc_part2 2013-02-14 20:13:45 +04:00
Markus Schoeler ddb0afbc44 Changed line 1266 in svm.cpp to allow the new kernels to be used 2013-02-14 15:28:10 +01:00
Vadim Pisarevsky 3c25ddd9ff restored 8u->32f cvGetQuadrangleSubPix() mode (need better test for it) 2013-02-14 18:14:55 +04:00
Vadim Pisarevsky 78402bf596 made several minor fixes as pointed out by Andrey 2013-02-14 15:36:20 +04:00
Markus Schoeler 7cab6798c0 Added two kernels to existing SVM framework
Histogram intersection kernel (accessible by using SVM::INTER in CV namespace as kernel_type)
Exponetial chi2 kernel (accessible by using SVM::CHI2 in CV namespace as kernel_type)

Formulars:
Exp-CHI2
k(x,y) = exp(-gamma * CHI2(x,y))
CHI2(x,y) = 1- 2* SUM_i[(xi-yi)²/(xi+yi)]

Intersec
k(x,y) = SUM_i[min(xi,yi)]
2013-02-14 11:30:30 +01:00
kobigurk 18a5b8dfc6 fixed tab indent 2013-02-13 14:21:34 +02:00
kobigurk 88e0127f44 API of TiffDecoder back to what it was - normalizeChannelsNumber moved to protected
test code unified - channels number is tested for other formats as well
2013-02-13 14:13:36 +02:00
kobigurk 109e047a28 * img_test is now tested for channel numbers instead of img
* fixed indentation to use spaces and trailing spaces
2013-02-13 13:33:07 +02:00
Vadim Pisarevsky 77d647b675 2 more warnings on Windows fixed 2013-02-13 02:32:10 +04:00
Vadim Pisarevsky bd063e47d7 fixed the remaining warning in houghlines 2013-02-13 01:47:17 +04:00
Vadim Pisarevsky 8f33e80515 fixed bug in the new version of cornerSubPix 2013-02-13 01:46:02 +04:00
Vadim Pisarevsky 16d825adbc fixed compile warnings and opencv_perf_imgproc failures 2013-02-13 01:23:57 +04:00
Vadim Pisarevsky 944588e732 converted houghlines to C++ 2013-02-12 23:16:06 +04:00
Vadim Pisarevsky 7f8c925319 finished distance transform; fixed warnings 2013-02-12 21:35:37 +04:00
Andrey Kamaev 956aa68fb5 Merge branch '2.4' 2013-02-12 20:30:17 +04:00
Vadim Pisarevsky 05ea571b08 almost finished distance transform conversion (discrete voronoi diagram mode is not ready yet) 2013-02-12 18:56:22 +04:00
Vadim Pisarevsky 9124a76ae7 converted moments function to C++ 2013-02-12 18:07:22 +04:00
Vadim Pisarevsky 59a5ba8938 converted watershed + pyrmeanshiftfilter to C++ 2013-02-12 17:08:42 +04:00
Andrey Kamaev b44b920997 Merge branch '2.4' 2013-02-12 16:30:18 +04:00
kobigurk 9f80c6c989 added test for 4 channel tiff 2013-02-12 11:21:51 +02:00
Vadim Pisarevsky 06f4a56469 converted flood fill, getrectsubpix & cornersubpix to C++ 2013-02-11 23:49:10 +04:00
kobigurk 7927ebf20e alpha channels support for 8-bit tiffs 2013-02-10 01:22:49 +02:00
Andrey Kamaev c527340cb6 Merge branch 2.4 2013-02-04 17:15:55 +04:00
Andrey Kamaev 4d785fff99 Merge pull request #409 from asmorkalov:giganetix_cams_patch_master 2013-02-04 14:57:14 +04:00
Andrey Kamaev 5a767863bd Merge pull request #413 from berak:master 2013-02-04 12:56:12 +04:00
marina.kolpakova 7c98735c0d add compute capability check 2013-02-03 22:44:13 +04:00
berak baf2b87a0d Update modules/contrib/include/opencv2/contrib/contrib.hpp
class LevMarqSparse is not tagged CV_EXPORTS, 
so the contrib module,  built the on win using vs won't contain that symbol,
trying to create an instance of LevMarqSparse will lead to a 'undefined symbol' err, because it did not make it into the library.
2013-02-01 21:13:55 +01:00
cuda-geek f52ce6529b Merge pull request #322 from cuda-geek:training 2013-02-01 18:45:12 +04:00
marina.kolpakova cc538ddfa6 changes related with code review 2013-02-01 17:47:05 +04:00
Alexander Smorkalov 75191e8f2f Smartek Giganetix Cameras support (Patch #2192) integrated to master. 2013-02-01 16:54:00 +04:00
Andrey Kamaev 61079547f0 Merge branch '2.4' 2013-02-01 14:59:40 +04:00
marina.kolpakova f7ac73998a code review fixes 2013-02-01 14:36:06 +04:00
marina.kolpakova 14ac8a528e final refactoring and test for training 2013-02-01 14:36:06 +04:00
marina.kolpakova d314c602d5 add documentation for new classes 2013-02-01 14:36:06 +04:00
marina.kolpakova 1613aa45bc fix python bindings 2013-02-01 14:36:06 +04:00
marina.kolpakova fa15fcc53e move feature pool to softcascade module 2013-02-01 14:36:06 +04:00
marina.kolpakova 0b039f3c6b refactor feature pool 2013-02-01 14:36:06 +04:00
marina.kolpakova b4aa33b6d3 move ICF -> ChannelFeature 2013-02-01 14:36:06 +04:00
marina.kolpakova a01f596474 update documentation for softcascade module 2013-02-01 14:36:06 +04:00
marina.kolpakova 7f80054dfd move miscellaneous python scripts to softcascade module 2013-02-01 14:36:06 +04:00
marina.kolpakova 4ba8b53152 split public interface and realization for SoftCascadeOctave 2013-02-01 14:36:06 +04:00
marina.kolpakova f3227c3f1a merged ICFPreprocessor and Channels -> ChannelFeatureBuilder 2013-02-01 14:36:06 +04:00
marina.kolpakova 49ec664238 add IntegralChannelComputer 2013-02-01 14:36:05 +04:00
marina.kolpakova 716a9ccb71 move training to softcascade module
rename Octave -> SoftCascadeOctave
2013-02-01 14:36:05 +04:00
marina.kolpakova 61441a1014 rename SCascade -> SoftCascadeDetector 2013-02-01 14:36:05 +04:00
marina.kolpakova 1b43b0e2df move soft cascade functionality into dedicated module 2013-02-01 14:36:05 +04:00
marina.kolpakova 28098b6632 refactor python 2013-02-01 14:35:29 +04:00
marina.kolpakova 8cf30c728e parse Caltech annotations 2013-02-01 14:35:29 +04:00
marina.kolpakova 1fc7134f21 add legend for ROC plot 2013-02-01 14:35:29 +04:00
marina.kolpakova faecb4f01d ROC script refactoring 2013-02-01 14:35:29 +04:00
marina.kolpakova e9232a4b67 add parameter to control range and extended range for annotations 2013-02-01 14:35:29 +04:00
marina.kolpakova decb137185 use long seeds only for 64 bit systems 2013-02-01 14:35:29 +04:00
marina.kolpakova 5f082b9876 improve ROC test script: handle ignored 2013-02-01 14:35:29 +04:00
marina.kolpakova 922de414ef refactor python ROC script and add axis ticks 2013-02-01 14:35:29 +04:00
marina.kolpakova 990ca86de6 fix spelling 2013-02-01 14:35:28 +04:00
marina.kolpakova 11f3927c58 allow multiple detectors 2013-02-01 14:35:28 +04:00
marina.kolpakova 469eeea370 add ROC estimation
in the same way as Dallar's matlab toolbox does
2013-02-01 14:35:28 +04:00
marina.kolpakova 4c4c878b1b add detection to ground truth matching
according to Piotr Dollar paper
2013-02-01 14:35:28 +04:00
marina.kolpakova d1952f28d9 add cropping and aspect ratio normalization 2013-02-01 14:35:28 +04:00
marina.kolpakova 18df46fbe9 add plotting function (matplotlib required) 2013-02-01 14:35:28 +04:00
marina.kolpakova 4622aea86a ROC test: add overlap calculation according to Pascal criteria 2013-02-01 14:35:28 +04:00
marina.kolpakova acdf5444e4 add improved softcascade detector 2013-02-01 14:35:28 +04:00
marina.kolpakova ca08101f7e caltech ROC test:
- parse idl
- replase option parser with argument parser
2013-02-01 14:35:28 +04:00
marina.kolpakova 8cd509e58e Caltech-style ROC testing script 2013-02-01 14:35:28 +04:00
marina.kolpakova b0905c67ba minor 2013-02-01 14:35:28 +04:00
marina.kolpakova 737f5efbfb filter samples 2013-02-01 14:35:28 +04:00
marina.kolpakova 8d9875cc7b add script for negatives extraction 2013-02-01 14:35:28 +04:00
marina.kolpakova c073138d6d generalize extraction method for any scale 2013-02-01 14:35:28 +04:00
marina.kolpakova 7a713a4932 collect Caltech positives for 32x64 octave:
- resized
- cropped
- flipped around the x axis
2013-02-01 14:35:28 +04:00
marina.kolpakova 56edff90ba drop deth code 2013-02-01 14:35:28 +04:00
marina.kolpakova 16aacf1780 use long seeds 2013-02-01 14:35:27 +04:00
marina.kolpakova 31687178d2 implement positive sample extraction 2013-02-01 14:35:27 +04:00
marina.kolpakova 92e50d952f caltech parsing script 2013-02-01 14:35:27 +04:00
marina.kolpakova e903ce10ce fix wartings for 32bit build 2013-02-01 14:35:27 +04:00
marina.kolpakova c0462358ca fix warnings under win 2013-02-01 14:35:27 +04:00
marina.kolpakova a28f5a89b3 move preprocessor to objdetect 2013-02-01 14:35:27 +04:00
marina.kolpakova 8672ae58e2 fix globbing under win 2013-02-01 14:34:40 +04:00
marina.kolpakova e2de3b0b81 fix build inder mac 2013-02-01 14:34:40 +04:00
marina.kolpakova dc12b4476a suppress debug out for soft cascade Octave 2013-02-01 14:34:40 +04:00
marina.kolpakova e35eebd4d4 fix android build 2013-02-01 14:34:40 +04:00
marina.kolpakova e47f58f4ce replace Mats to Input/OutputArrays for Octave's public interface 2013-02-01 14:34:40 +04:00
marina.kolpakova e7bab669fa replace cv::Mat to Input/Output arrays 2013-02-01 14:34:40 +04:00
marina.kolpakova 184ae44dea refactoring 2013-02-01 14:34:40 +04:00
marina.kolpakova a0f2203f22 raplase error output on CV_Error 2013-02-01 14:34:40 +04:00
marina.kolpakova dd8de0c41f move soft cascade octave to ml module 2013-02-01 14:34:40 +04:00
marina.kolpakova a0e93d0482 move image extraction logic from Octave to Dataset class 2013-02-01 14:34:40 +04:00
marina.kolpakova a3600b94db created abstract FeaturePool class 2013-02-01 14:34:40 +04:00
marina.kolpakova 19236b6e43 remove dead code 2013-02-01 14:34:39 +04:00
marina.kolpakova d4d47b1e58 restore backword compatibility 2013-02-01 14:34:39 +04:00
marina.kolpakova bda6f39d48 move rescaling script location 2013-02-01 14:34:39 +04:00
marina.kolpakova 2610a45a27 add file storage release 2013-02-01 14:34:39 +04:00
marina.kolpakova 23d0e36167 fix floating point precision 2013-02-01 14:34:39 +04:00
marina.kolpakova ef4b18f341 script for scaling inria dataset for multiple-octaves training 2013-02-01 14:34:39 +04:00
marina.kolpakova 4356d34542 write features to soft cascade xml 2013-02-01 14:34:39 +04:00
marina.kolpakova 1f01052955 fix inintial weighting 2013-02-01 14:34:39 +04:00
marina.kolpakova a8d0e04912 amplement weidhting according to L. Bourdev and J. Brandt paper "Robust Object Detection Via Soft Cascade" 2013-02-01 14:34:39 +04:00
marina.kolpakova c091092174 fix typo 2013-02-01 14:34:39 +04:00
marina.kolpakova c0f68ec400 add xml serialization 2013-02-01 14:34:39 +04:00
marina.kolpakova 69304611db commented debug out 2013-02-01 14:34:39 +04:00
marina.kolpakova 2e4b8d07cc integrate pruning 2013-02-01 14:34:39 +04:00
marina.kolpakova a89299acb2 store result to xml. 2013-02-01 14:34:39 +04:00
marina.kolpakova bfa26fd447 refactoring 2013-02-01 14:34:39 +04:00
marina.kolpakova 883d691c2b fix feature computing 2013-02-01 14:34:39 +04:00
marina.kolpakova 30b2a94582 load from config xml and fix integral representation 2013-02-01 14:34:39 +04:00
marina.kolpakova a2382ce6a2 add ability to store/load training configuration 2013-02-01 14:34:39 +04:00
marina.kolpakova a8c3431e61 set parameters 2013-02-01 14:34:39 +04:00
marina.kolpakova f6e3e3f049 add negatives generation 2013-02-01 14:34:39 +04:00
marina.kolpakova a388884675 Positives preprocessing 2013-02-01 14:34:38 +04:00
marina.kolpakova 4ca760d9c9 debug output information. 2013-02-01 14:34:38 +04:00
marina.kolpakova 554080d89b add file globbing 2013-02-01 14:34:38 +04:00
marina.kolpakova 86973f8ede feature pool generation:
- use random from tr1 extension
    - extend cv::Boost
2013-02-01 14:34:38 +04:00
marina.kolpakova 948365b1c8 Add new app dedicated for training soft cascades. 2013-02-01 14:34:38 +04:00
cuda-geek d874d93e24 Merge pull request #372 from cuda-geek:gpu-cascade-fixes 2013-01-31 20:13:31 +04:00
cuda-geek 6b4304efda Merge pull request #388 from ivan-korolev:fix_cmd_line_parsing_in_samples 2013-01-31 17:15:14 +04:00
Andrey Kamaev 57d3152cd0 Merge branch '2.4' 2013-01-31 14:35:27 +04:00
Ivan Korolev 36451319c1 fixed cmd line parsing in the samples 2013-01-31 12:08:43 +04:00
marina.kolpakova cb329400df fix tests 2013-01-30 15:55:04 +04:00
marina.kolpakova 8d9c9c2690 integrate new cascade format to GPU soft cascade implementation 2013-01-30 15:55:04 +04:00
Andrey Kamaev 7572b4d400 Merge branch '2.4' 2013-01-30 15:12:50 +04:00
Andrey Kamaev 78a338159d Merge branch '2.4' 2013-01-29 14:17:13 +04:00
Andrey Kamaev 013e9294f6 Merge branch '2.4' 2013-01-29 14:16:48 +04:00
Andrey Kamaev 0734d9b877 Merge branch '2.4' 2013-01-29 14:16:07 +04:00
Andrey Kamaev 9de36c5592 Merge pull request #338 from taka-no-me:ocl_warnings_master 2013-01-25 19:08:53 +04:00
Andrey Kamaev d3aef0d378 Fix OpenCL build warnings 2013-01-25 18:41:06 +04:00
Andrey Kamaev 2e02654004 Fix build of Java tests 2013-01-25 17:08:36 +04:00
Andrey Kamaev f4e27bcbbc Merge branch '2.4' 2013-01-25 16:30:36 +04:00
Andrey Kamaev 0487067964 Merge pull request #317 from vpisarev:c2cpp_refactor_imgproc 2013-01-24 13:03:34 +04:00
Vadim Pisarevsky efd00238e2 fixed warnings; restored fixed_size parameter in AutoBuffer 2013-01-23 21:47:58 +04:00
Vadim Pisarevsky dc4d0398f3 converted few more comp. geometry functions to C++ 2013-01-22 16:54:31 +04:00
cuda-geek a8a842332b Merge pull request #311 from cuda-geek:soft-cascade-refactoring-and-fixes 2013-01-22 00:27:02 +04:00
Andrey Kamaev dda337bdf2 Merge pull request #303 from taka-no-me:fix_split_merge_test 2013-01-21 14:14:17 +04:00
Vadim Pisarevsky c2241dccc5 converted fitline to C++, fixed Mat::checkVector(). 2013-01-21 01:07:47 +04:00
Vadim Pisarevsky c197a46e7e removed rarely used fixed_size parameter from AutoBuffer type, added optional AutoBuffer* but to cvarrToMat in order to speedup CvSeq->Mat conversion; finished conversion of convex hull and related functions to C++ 2013-01-20 00:58:51 +04:00
Andrey Kamaev d169f62d28 Merge pull request #307 from taka-no-me:lena.png 2013-01-19 12:02:33 +04:00
Andrey Kamaev f3f55b30b0 Merge pull request #267 from pclove1:ocl_hough 2013-01-19 12:02:14 +04:00
Vadim Pisarevsky 457fa52111 convex hull converted to C++; other 2 functions in convhull.cpp are yet to be finished. 2013-01-19 00:26:01 +04:00
marina.kolpakova e15bdea663 fix test for new cascade 2013-01-18 17:14:11 +04:00
marina.kolpakova 53433884ee fix python wrapping 2013-01-18 15:58:48 +04:00
marina.kolpakova f9649a029b fix typo 2013-01-18 15:58:47 +04:00
marina.kolpakova 0a40bbd0d0 add two types of feature boxes support:
- (left, top, width, height)
 - (left, top, right, bottom)
2013-01-18 15:58:47 +04:00
marina.kolpakova f7921b5ab3 fix soft scade xml 2013-01-18 15:58:47 +04:00
marina.kolpakova 913faf2ef4 fix test for a new test data 2013-01-18 15:58:47 +04:00
marina.kolpakova 9efd668a57 a bit refactored soft cascade 2013-01-18 15:58:47 +04:00
marina.kolpakova f1b4b13e64 perf test 2013-01-18 15:58:47 +04:00
marina.kolpakova 8fc4078429 xml for soft cascade 2013-01-18 15:58:47 +04:00
marina.kolpakova 0c6c78d149 integrate 128x256 scale; remove log 2013-01-18 15:58:47 +04:00
marina.kolpakova e09694bde8 integrated 128x256 scale 2013-01-18 15:58:47 +04:00
marina.kolpakova 3e7965a5a5 first debug integration of newly trained cascade 2013-01-18 15:58:46 +04:00
Andrey Kamaev 90ff4e6fc8 Convert test image to losless format
This fixes java tests failing with new jpeg versions
2013-01-17 20:43:57 +04:00
Andrey Kamaev dc0788c864 Merge branch 2.4 2013-01-17 18:39:20 +04:00
Vadim Pisarevsky e3941d0965 refactored approxpoly 2013-01-17 00:11:08 +04:00
Andrey Kamaev ae5661d5dc Fix random failures of Split and Merge tests 2013-01-16 17:55:27 +04:00
Andrey Kamaev 867ddebe07 Merge pull request #289 from jmbuena:master 2013-01-16 17:01:00 +04:00
Andrey Kamaev bb73332168 Merge pull request #293 from taka-no-me:libjpeg9 2013-01-16 16:08:07 +04:00
Suenghoon Park 06da75ffe0 Merge branch 'master' of git://github.com/Itseez/opencv into ocl_hough 2013-01-15 12:21:25 -05:00
Andrey Kamaev 9e3570260b Update libjpeg to "Version 9 13-Jan-2013" 2013-01-14 11:07:49 +04:00
jmbuena 28a7be69ea Fixed compile warnings on CvHomographyEstimator 2013-01-12 12:32:51 +01:00
Andrey Kamaev 084b1c7969 Merge branch 2.4 2013-01-11 15:45:23 +04:00
jmbuena 6d738f6a3f Changed RANSAC Homography estimation for speed. Each minimal set is checked for consistency before actually fit a candidate homography. 2013-01-11 01:55:56 +01:00
Vadim Pisarevsky 19229f2fa0 Merge pull request #253 from Nerei:smart_operators_for_smart_ptr 2013-01-10 20:35:22 +04:00
Andrey Kamaev a99799caa3 Merge pull request #286 from taka-no-me:tweak_phase_test_threshold 2013-01-10 19:57:23 +04:00
Andrey Kamaev 20c5a8788d Weaken acceptance criteria in phase test 2013-01-10 17:12:14 +04:00
Vadim Pisarevsky b68df415a9 Merge pull request #135 from nevion:master 2013-01-10 16:43:45 +04:00
Anatoly Baksheev a09b973c2e Smart operators for smart Ptr (feature #2637) 2013-01-07 22:33:12 +04:00
Suenghoon Park 269ccaa431 Merge branch 'master' of git://github.com/Itseez/opencv into ocl_hough 2013-01-02 14:59:59 -05:00
Andrey Kamaev 47963f0083 Merge pull request #277 from ilya-lavrenov:ResizeAreaFast 2013-01-01 21:34:17 +04:00
Ilya Lavrenov 1bc76813f3 fixed bug connected with SSE2 version of resize with AREA interpolation 2012-12-31 15:35:40 +04:00
cuda-geek 66d986478c Merge pull request #276 from cuda-geek:fix-precomps 2012-12-30 17:27:54 +04:00
marina.kolpakova e53d57664d fix precompiled headers usage in gpu module 2012-12-30 16:58:41 +04:00
Vladislav Vinogradov bb07e2710e decreased source size in NCV.VectorOperations test 2012-12-29 20:07:29 +04:00
marina.kolpakova 45191dd6a5 merge CUDA dev branch 2012-12-29 19:44:38 +04:00
Andrey Kamaev cc2110440a Merge pull request #273 from saskathex:master 2012-12-29 15:03:50 +04:00
Suenghoon Park 4f965296fc modified performance test for ocl::HoughCircles 2012-12-28 16:32:10 -05:00
saskathex eb326cdbc8 Fixed misspelled words. 2012-12-28 19:29:15 +01:00
Suenghoon Park 0afa9cede5 removed personal info from the license header 2012-12-28 10:08:28 -05:00
Andrey Kamaev 3759476b38 Merge pull request #266 from prclibo:master 2012-12-28 12:51:34 +04:00
Suenghoon Park 2124de80a5 Merge branch 'master' of git://github.com/Itseez/opencv into ocl_hough 2012-12-26 17:40:38 -05:00
Suenghoon Park 8a1d6a1bb2 added documentation for ocl::HoughCircles 2012-12-26 17:40:26 -05:00
Suenghoon Park b1faa46d3a added performance test 2012-12-26 16:49:58 -05:00
Bo Li 956a029ede added code, test and doc for five-point algorithm 2012-12-26 18:58:50 +01:00
Anatoly Baksheev b1aa7aecf0 fixed CC for CAMRA 2012-12-26 21:47:06 +04:00
Anatoly Baksheev 389ecbe96d warnings, renamed Marina's GPU_PERF_TEST_P 2012-12-25 22:00:20 +04:00
Anatoly Baksheev be22891f71 added GPU_PERF_TESTP_P but haven't switched test to it (only perf4au app) 2012-12-25 21:23:15 +04:00
Andrey Kamaev 132b5d6435 Merge release 2.4.3.2 2012-12-25 19:07:08 +04:00
Suenghoon Park 78202100df added unit test for HoughCircles 2012-12-24 22:53:27 -05:00
Suenghoon Park ecb6c20915 Merge branch 'master' of git://github.com/Itseez/opencv into ocl_hough 2012-12-24 18:42:22 -05:00
Suenghoon Park e1c6564d5e fixed a typo in ocl.hpp 2012-12-24 18:41:51 -05:00
Andrey Kamaev 13b6a3a15e Merge branch 2.4 2012-12-24 17:10:07 +04:00
marina.kolpakova 2128bd25e4 fix warnings under win 2012-12-24 15:28:05 +04:00
marina.kolpakova 15e7712a26 Merge branch from CUDA team 2012-12-24 15:08:46 +04:00
marina.kolpakova 3882bbbf35 improve carma build
- exclude system paths from library search paths
 - remove hardcoded paths to compiler
 - enable compiling with 3d-parties
 - enable build as shared libraries
2012-12-24 14:54:57 +04:00
Vladislav Vinogradov 5138b7d209 Merge branch 'master' into cuda-dev 2012-12-24 13:48:33 +04:00
Vladislav Vinogradov 4db68b50f2 fixed Sobel and Scharr tests
compare inner part
2012-12-23 14:21:16 +04:00
Andrey Kamaev c02179a765 Revert "_InputArray/_OutputArray destructors are temporary made non-virtual. Please, restore it after 2.4.3"
This reverts commit 4be7619ce4.
2012-12-22 21:14:14 +04:00
Andrey Kamaev 62af76c646 Merge pull request #249 from taka-no-me:tvl1_max_rmse 2012-12-21 23:05:44 +04:00
Andrey Kamaev 962884cdec Merge branch 2.4 2012-12-21 17:58:48 +04:00
Andrey Kamaev c513d4ecd6 Increase max RMSE error for tvl1 optical flow test 2012-12-21 14:18:07 +04:00
Vladislav Vinogradov 2f1ca1b6b3 fixed build for CARMA:
* added CMake toolchain file
* added WITH_NVCUVID flag
2012-12-21 13:45:50 +04:00
vlad 11293d071f Revert "disabled video decoding under linux"
This reverts commit 889674ef43.
2012-12-21 12:54:38 +04:00
Vladislav Vinogradov 660d23aa04 added cv::gpu::resetDevice to RunPerfTestBody 2012-12-20 15:33:04 +04:00
Vladislav Vinogradov 1a76242d99 added GPU_TEST_P macros 2012-12-20 15:33:04 +04:00
Jason Newton 4cb25e9584 update documentation to latest connected components interface 2012-12-19 14:55:46 -08:00
Vladislav Vinogradov 4ba33fa1ed Revert "call resetDevice if gpu test fails"
This reverts commit ab25fe9e37.
2012-12-19 11:13:31 +04:00
Vadim Pisarevsky 31857082f4 probably fixed build problems on Android 2012-12-18 14:12:07 -08:00
Vladislav Vinogradov 41c9377db0 fixed warnings under windows 2012-12-18 18:03:54 +04:00
Vladislav Vinogradov ab25fe9e37 call resetDevice if gpu test fails 2012-12-18 16:59:00 +04:00
Vadim Pisarevsky 3edf7c5386 Merge pull request #220 from ilya-lavrenov:SIMDFastAreaResize 2012-12-18 15:00:00 +04:00
Vladislav Vinogradov 0973e86d8a fixed printShortCudaDeviceInfo for new CC 2012-12-18 13:56:21 +04:00
Vladislav Vinogradov bac94f85c1 fixed printCudaDeviceInfo for 3.5 CC (Patch #2641) 2012-12-18 13:50:19 +04:00
Vadim Pisarevsky d3354c543e Merge pull request #229 from Nerei:master 2012-12-17 20:28:57 +04:00
Vladislav Vinogradov dd8e442bda replaced DeviceInfo().supports with deviceSupports 2012-12-17 17:03:39 +04:00
Ilya Lavrenov a319bae6e2 added #undef _mm_packus_epi32 2012-12-17 16:56:37 +04:00
Ilya Lavrenov d246b41573 changed loop condition 2012-12-17 15:50:01 +04:00
Ilya Lavrenov c2f2e33a5e removed debug messages 2012-12-17 15:45:20 +04:00
Ilya Lavrenov 743dce6a4b Merge remote-tracking branch 'upstream/master' into SIMDFastAreaResize-2 2012-12-17 15:27:32 +04:00
Ilya Lavrenov aa0dafcc1f replaced _mm_packs_epi32 to _mm_packus_epi32 2012-12-17 14:09:25 +04:00
Anatoly Baksheev 680eeecc3b fixed samples compilation 2012-12-17 13:19:26 +04:00
Vladislav Vinogradov 1a1f454241 updated gpu houghlines sample 2012-12-17 11:15:45 +04:00
Jason Newton e1b60aa4e3 drop usage of macros... the type is already there! 2012-12-16 22:44:36 -08:00
Vladislav Vinogradov da017fbeb9 fast optical flow bm implementation 2012-12-17 10:39:19 +04:00
Jason Newton 5f86eb8d63 proper dimensions from cv::Size in output stats/centroid 2012-12-16 18:33:50 -08:00
Vadim Pisarevsky 2508d8e2b4 Merge pull request #218 from taka-no-me:drop_utf16 2012-12-16 22:16:54 +04:00
Vadim Pisarevsky d6add763c7 Merge pull request #228 from Nerei:master 2012-12-16 22:15:07 +04:00
Vadim Pisarevsky 1eae455acb fixed build warnings from VS; hopefully, fixes Android build too 2012-12-15 23:14:50 +04:00
Anatoly Baksheev 94c310fc14 added Ptr::operator== 2012-12-15 22:48:50 +04:00
Vadim Pisarevsky 2a42960ff2 Merge branch 'master' of https://github.com/nevion/opencv into cc 2012-12-15 21:45:55 +04:00
Jason Newton ad0bfdfb25 disable windows build warning for connectedcomponents template argument comparisons 2012-12-15 05:56:18 -08:00
Jason Newton 68e77ac051 use opencv's integer type convension 2012-12-15 04:25:55 -08:00
cuda-geek aabb40e34d Merge pull request #217 from jet47:fix-tvl1-test 2012-12-15 00:45:12 +04:00
Andrey Kamaev fe0b88d291 Set sanity threshold for TVL1 optical flow to 0.5 2012-12-14 18:35:23 +04:00
Ilya Lavrenov 6059a6875a fixed bug with s1 calculating 2012-12-14 17:54:07 +04:00
Ilya Lavrenov 4ccb5a30d9 fixed bug with s1 calculating 2012-12-14 17:41:42 +04:00
Andrey Kamaev 1284121d89 Set sanity threshold for TVL1 optical flow to 0.02 2012-12-14 17:40:51 +04:00
Andrey Kamaev f5cd20d80b Merge branch 2.4 2012-12-14 14:46:41 +04:00
Ilya Lavrenov 16f9b6f5e4 reproducing C++ version of resize area fast 2012-12-14 14:32:00 +04:00
Suenghoon Park 13c44dd318 finished ocl::HoughCircles 2012-12-14 03:25:46 -05:00
Vladislav Vinogradov caf91ac159 new gpu::HoughLinesP implementation 2012-12-13 17:18:25 +04:00
Vladislav Vinogradov 8c057af862 fixed windows build 2012-12-13 15:40:05 +04:00
Vladislav Vinogradov da93a1dab9 fixed build for CARMA platform 2012-12-13 13:49:32 +04:00
Vladislav Vinogradov 889674ef43 disabled video decoding under linux 2012-12-13 13:48:24 +04:00
Suenghoon Park 0656f13107 removed useless comments in buildPointList_gpu() 2012-12-13 02:43:13 -05:00
Suenghoon Park 3a04cfedab added HoughCircles in ocl.hpp 2012-12-13 02:35:31 -05:00
Suenghoon Park ad86b80375 finished buildPointList 2012-12-13 02:33:21 -05:00
cuda-geek 464826c232 Merge pull request #181 from cuda-geek:nms 2012-12-12 15:39:20 +04:00
Vadim Pisarevsky eaeae4a1ba Merge pull request #184 from ilya-lavrenov:Demosaicing 2012-12-12 13:54:58 +04:00
marina.kolpakova 5ddf4e4ed7 change expected values for soft cascade test according to changes in implementation 2012-12-12 09:37:21 +04:00
marina.kolpakova 2d45af790e fix according to pull requests comments 2012-12-12 05:07:39 +04:00
marina.kolpakova 88c71d1b7d add NMS according to Dollar's paper. 2012-12-12 04:31:44 +04:00
marina.kolpakova 9785a8ae34 fix docs for SCascade 2012-12-12 04:22:01 +04:00
marina.kolpakova c470e15d45 integrate speprocessing strategy 2012-12-12 03:43:20 +04:00
marina.kolpakova d23a4f50bd add resize 2012-12-12 00:39:40 +04:00
marina.kolpakova 8ef19e7664 hack luv 2012-12-12 00:39:40 +04:00
marina.kolpakova 0e1005ca92 optimize hog bin computing 2012-12-12 00:39:40 +04:00
marina.kolpakova ee291a15da add preprocessing only function 2012-12-12 00:39:40 +04:00
Ilya Lavrenov d1ca934115 sse2 version of resize area fast for types CV_(8, 16)UC(1, 3, 4) 2012-12-11 15:14:50 +04:00
Vladislav Vinogradov 87e0eee92b fixed remap and warp gpu tests 2012-12-11 14:38:08 +04:00
Vladislav Vinogradov 746bc168e6 fixed gpu warpAffine and warpPerspective with NPP 2012-12-11 11:05:06 +04:00
marina.kolpakova a6c3ed5b36 Merge branch master into cuda-dev 2012-12-11 01:12:14 +04:00
Andrey Kamaev 67ce03d7dd Merge branch 2.4 2012-12-10 23:51:34 +04:00
Andrey Kamaev 49e038c724 Merge pull request #203 from asmorkalov/android_cam_stub
Native camera warper libraries build improvements
2012-12-10 08:07:48 -08:00
Andrey Kamaev 940cf978b1 Merge pull request #213 from qwaker00/patch-1
Update modules/ml/doc/gradient_boosted_trees.rst
2012-12-10 08:07:00 -08:00
Anatoly Baksheev 50946b59c1 minor device namespace refactor 2012-12-10 17:36:02 +04:00
Jason Newton 63debf5032 connectedcomponents test case 2012-12-10 02:21:45 -08:00
Ilya Lavrenov 615e7b2747 added SIMD optimization of Edge-Aware Demosaicing in case of CV_8U 2012-12-10 13:29:08 +04:00
Vladislav Vinogradov 53f1e73535 fixed Video_calcOpticalFlowDual_TVL1 test (Bug #2597)
uses RMSE instead of bitwise equivalence
2012-12-10 13:03:47 +04:00
Vladislav Vinogradov 5fe9bb717d fixed build under linux with OpenGL 2012-12-10 11:05:51 +04:00
Jason Newton d094e4bdbe drop support for 8bit output for size cost relative to utility 2012-12-08 23:09:17 -08:00
Jason Newton e70b3ef598 use a ltype parameter to determine result Label image type; export stats with differening types over different outputarrays 2012-12-08 23:09:14 -08:00
Jason Newton 6a4d881a78 use vector instead of non-standard stack allocation. also correct program argument borkage 2012-12-08 23:09:05 -08:00
Andrey Kamaev 18e77d606c Drop functions working with multibyte characters 2012-12-08 18:18:11 +04:00
marina.kolpakova 79c3a8e03b fix build under win. 2012-12-07 16:56:54 +04:00
Vladislav Vinogradov 4102aaaf15 fixed compilation of color.cu under windows x86
it was some bug in nvcc (it fails on this file)
2012-12-07 14:16:18 +04:00
Vladislav Vinogradov c6263eb253 fixed build with CUDA and witout OpenGL 2012-12-07 14:03:23 +04:00
Eugene Gritskevich 8ca86e2f52 Update modules/ml/doc/gradient_boosted_trees.rst 2012-12-06 21:44:55 +03:00
Vladislav Vinogradov 0d880479f0 updated nv perf test script (added opticalFlowBM and HoughLinesP) 2012-12-06 16:00:47 +04:00
Vladislav Vinogradov aad76090ce gpu::HoughLinesP 2012-12-06 15:14:20 +04:00
Vladislav Vinogradov a6dc6f72b3 gpu::calcOpticalFlowBM 2012-12-06 15:11:13 +04:00
Vladislav Vinogradov afa5809473 added additional performance tests 2012-12-05 17:21:08 +04:00
Vladislav Vinogradov e17710c478 removed type check in gpu::FarnebackOpticalFlow
now it supports all depths
2012-12-05 14:20:48 +04:00
Vladislav Vinogradov 0930ac497f removed type check in gpu::PyrLKOpticalFlow
not it support all depths
2012-12-05 14:20:18 +04:00
Vladislav Vinogradov d94f08f0e7 added more types support for gpu separable filters 2012-12-05 14:19:36 +04:00
Vladislav Vinogradov b689eca8a0 fixed OpenGL tests
now create window only once per test case
2012-12-05 14:18:57 +04:00
cuda-geek 722dedb04d Merge pull request #201 from taka-no-me:drop_unsupported_highgui 2012-12-05 12:22:38 +04:00
Vladislav Vinogradov aabc33c772 temporarily disabled reduceKeyVal implementation for kepler
used fermi implementation
2012-12-05 10:36:54 +04:00
Vladislav Vinogradov e311613fc8 fixed warnings "double not supported" 2012-12-04 10:37:13 +04:00
Vladislav Vinogradov 7ab9c4ccee fixed compilation on 1.1 CC 2012-12-04 10:36:46 +04:00
Vladislav Vinogradov 06776b612c fixed warnings 2012-12-03 13:27:20 +04:00
Alexander Smorkalov be80ad1607 Native camera warper libraries build improved
Environment variables support added to Android tree path;
Default config updated to use env variable.
2012-12-03 13:25:44 +04:00
Vladislav Vinogradov 05d842bcd8 a bit more opengl refactoring:
* added Access parameter to GlBuffer::mapHost
* added autoRelease parameter to all create methods
* fixed indentation in gl_core_3_1
* minor improvments for opengl sample
2012-12-03 13:11:06 +04:00
Ilya Lavrenov 07744ccf3d removed imshow call 2012-12-03 12:30:19 +04:00
Andrey Kamaev ae5649d3f7 Drop unsupported imageio from grfmt 2012-12-03 09:56:09 +04:00
Andrey Kamaev 00fbf58902 Revert incompletely applied patch from #2192
This reverts commit 2e7656dbdf.
2012-12-03 09:55:53 +04:00
Andrey Kamaev 476efd7d37 Drop unsupported yzx and mil camera backends 2012-12-03 09:28:01 +04:00
Andrey Kamaev e10ee89ec4 Merge branch 2.4 2012-11-30 19:54:24 +04:00
Vladislav Vinogradov 08fbf667f9 refactored opengl functionality
* removed OpenGLFuncTab, now extensions are loaded internally
* renamed GlTexture -> GlTexture2D
* 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
2012-11-30 17:35:28 +04:00
Ilya Lavrenov c09a325d3e fixed error connected with incorrect range 2012-11-30 13:26:40 +04:00
Ilya Lavrenov 98031a4147 removed const modificators 2012-11-30 12:31:33 +04:00
Vladislav Vinogradov 2eebd8d939 fixed build under windows 2012-11-29 18:40:27 +04:00
Andrey Kamaev 50bebd6f0b Merge pull request #166 from askforeric:pvapi_updates 2012-11-28 11:31:01 +04:00
askforeric 3923484341 Refactored the PvAPI capture class to better facilitate dynamic property changes
- Added Gain control
- Changed default acquisition mode to grayscale
- Fixed a signed/unsigned compare issue
- Implemented frame resizing
- Implemented automatic buffer resizing on frame resize
- Corrected camera initialization so that it attempts to put the camera in Mono8
  but does not fail if this doesn't succeed.
2012-11-28 11:28:16 +04:00
marina.kolpakova 2e0161c6c5 create objects mat if empty 2012-11-28 10:50:33 +04:00
marina.kolpakova d985861462 remove unused std imports 2012-11-28 03:51:37 +04:00
marina.kolpakova 1d97a4549d fixed compilation for GCC 4.6 2012-11-28 03:51:37 +04:00
Vladislav Vinogradov 0b2c1dc871 fixed build without CUDA 2012-11-27 18:43:17 +04:00
Vladislav Vinogradov d2591704e8 Merge branch 'kepler-optimization' into cuda-dev 2012-11-27 16:34:45 +04:00
Ilya Lavrenov b8b13ccd5c parallel version of Bayer2Gray 2012-11-27 15:27:58 +04:00
Jason Newton 00bdca7684 A few changes to comply with upstream requirements for merge.
-Change input/output order from (out Labeled, in Image) -> (in Image, Out Labeled) and convert
to Input/OutputArrays in the process.

-Adopt OutputArray for statistics export so that the algorithm is "wrapper friendly" and not requiring a new struct in
language bindings at the expense of using doubles for everything and slowing statistics computation down..
2012-11-27 02:31:38 -08:00
Ilya Lavrenov ce5e9a71b5 fixed some warnings on Windows and added debug messages 2012-11-27 13:54:11 +04:00
Ilya Lavrenov 4116cbe2c0 Merge remote-tracking branch 'upstream/master' into Demosaicing 2012-11-27 12:46:49 +04:00
Vladislav Vinogradov 2eca75ccdd added common TransformFunctorTraits for element operations 2012-11-27 11:08:53 +04:00
marina.kolpakova 22b0ea1cf0 sort for Hough sanity checks 2012-11-26 23:54:10 +04:00
marina.kolpakova 554a7cb33a add epsilon in sanity checks 2012-11-26 23:52:56 +04:00
Andrey Kamaev 61a40ddff8 Merge pull request #186 from vpisarev:doc_fixes_master 2012-11-26 22:34:42 +04:00
Vadim Pisarevsky 70c409f0e8 fixed building PDFs in master 2012-11-26 20:40:45 +04:00
Ilya Lavrenov 3fa630639f fixed bayer2bgra in case when size.width <= 2 2012-11-26 19:45:56 +04:00
marina.kolpakova 209f16455d Merge cuda-geek/soft-cascade-gpu into cuda-dev 2012-11-26 19:15:02 +04:00
marina.kolpakova 1712d0930c Merge origin/master into cuda-dev 2012-11-26 18:56:33 +04:00
marina.kolpakova 05cd88ae42 clean code; fix problems in documentation 2012-11-26 18:50:08 +04:00
marina.kolpakova bd3179bda8 fix CUDA support for streams for NMS; refactor tests 2012-11-26 17:53:25 +04:00
marina.kolpakova 60c0e41ba5 integrate NMS (Dollar's criteria) 2012-11-26 17:22:47 +04:00
Ilya Lavrenov 5225672dc0 added edge-aware demosaicing and bayer to bgra conversion 2012-11-26 16:17:43 +04:00
Vladislav Vinogradov f022b12c57 saturate_cast via asm cvt command 2012-11-26 15:36:15 +04:00
marina.kolpakova d2e88e1d4d nms: part 1 2012-11-26 15:26:11 +04:00
Vladislav Vinogradov 63a022dcd7 added explicit unroll to reduce implementation 2012-11-26 13:12:50 +04:00
Vladislav Vinogradov 11c6eb6305 element operations 2012-11-26 11:45:25 +04:00
Vladislav Vinogradov f00efcfc59 added optimized deviceSupports function 2012-11-26 11:41:52 +04:00
Vladislav Vinogradov a71ef7d67b convertTo 2012-11-26 11:37:51 +04:00
Vladislav Vinogradov 572d2d6a84 warpScanInclusive 2012-11-26 11:37:51 +04:00
Vladislav Vinogradov 76e8794e81 fixed warnings on old compute capabilities 2012-11-26 11:37:51 +04:00
Vladislav Vinogradov e6b1ccdcdf removed old reduce implementation 2012-11-26 11:37:51 +04:00
Vladislav Vinogradov e8f9762ef3 matrix reduction 2012-11-26 11:37:50 +04:00
Vladislav Vinogradov fbf3de43a2 SURF 2012-11-26 11:37:38 +04:00
Vladislav Vinogradov 19c87d1c9d ORB 2012-11-26 11:37:38 +04:00
Vladislav Vinogradov 7f97fb481c FastNonLocalMeans 2012-11-26 11:37:37 +04:00
Vladislav Vinogradov 1f1e24be3c PyrLKOpticalFlow 2012-11-26 11:37:37 +04:00
Vladislav Vinogradov 1b571bde10 StereoConstantSpaceBP 2012-11-26 11:37:37 +04:00
Vladislav Vinogradov 0e339dd137 hog 2012-11-26 11:37:37 +04:00
Vladislav Vinogradov 0ddd16cf78 calcHist & equalizeHist 2012-11-26 11:37:37 +04:00
Vladislav Vinogradov 7e57648ea2 FGDStatModel 2012-11-26 11:37:37 +04:00
Vladislav Vinogradov 28716d7f30 Canny 2012-11-26 11:37:37 +04:00
Vladislav Vinogradov e299595667 computeHypothesisScoresKernel 2012-11-26 11:37:37 +04:00
Vladislav Vinogradov 05db02fbc8 BruteForceMatcher 2012-11-26 11:37:37 +04:00
Vladislav Vinogradov 7a1874b2cc new reduce and reduceKeyVal implementation 2012-11-26 11:37:36 +04:00
Vladislav Vinogradov d47c112434 fix abs_func and minimum/maximum functors 2012-11-26 11:37:36 +04:00
marina.kolpakova 5c2d59066f Merge pull #173 request from cuda-geek/fix-sc-arm 2012-11-23 14:22:04 +04:00
Jason Newton d5aa679d3f adjust output type to return int32... it should at least be unsigned but this breaks python bindings;
remove non-8bit input type support, not worth the binary size
2012-11-22 21:26:52 -08:00
marina.kolpakova 6ccd7aca4c fix tests for arm 2012-11-22 13:26:13 +04:00
Andrey Kamaev 7f542e391a Merge branch 2.4
Conflicts:
	android/service/engine/AndroidManifest.xml - use file from 2.4
	modules/contrib/src/detection_based_tracker.cpp - move #include <pthread.h> as in 2.4
	modules/java/android_test/src/org/opencv/test/OpenCVTestRunner.java - use file from 2.4
2012-11-20 19:12:00 +04:00
marina.kolpakova a9f10e5cad fixed compile without cuda 2012-11-14 20:34:17 +04:00
marina.kolpakova 0865227049 check if scaling values changed 2012-11-14 20:28:08 +04:00
marina.kolpakova c3e4a52fbe soft cascade sample 2012-11-14 20:11:18 +04:00
Andrey Kamaev 2e2d927273 Merge pull request #128 from LeonidBeynenson/fix_args_calcOpticalFlowSF 2012-11-14 17:30:06 +04:00
marina.kolpakova ee4f003e72 fixed typo 2012-11-14 14:49:38 +04:00
marina.kolpakova 781c04324e refactor: PrefixSum 2012-11-14 14:47:00 +04:00
marina.kolpakova a30bbda3bd remove hardcoded values 2012-11-14 14:36:59 +04:00
LeonidBeynenson 52a136227d Modified documentation for calcOpticalFlowSF. 2012-11-14 14:27:41 +04:00
marina.kolpakova 8acfbde68e remove debug detect at scale method 2012-11-14 14:22:12 +04:00
marina.kolpakova 72e2b8b370 remove size constraints of input frame 2012-11-14 14:00:02 +04:00
marina.kolpakova 08910e81af integrate pre-Kepler architectures 2012-11-14 12:40:44 +04:00
marina.kolpakova e3c93ad9cf Revert "Merge pull request #141 from jet47/gpu-pyrlk-fix" because this bug appears only in 2.4
This reverts commit 7e301c5c0e, reversing
changes made to b5e009eb87.
2012-11-13 23:52:18 +04:00
marina.kolpakova be40bd5c74 Merge remote-tracking branch 'cuda-geek/soft-cascade-cpu' 2012-11-13 23:37:44 +04:00
marina.kolpakova 1edab12068 fix for negative confidence 2012-11-13 23:08:19 +04:00
Andrey Kamaev 9719ea93b6 Merge branch 2.4 2012-11-13 19:54:48 +04:00
Andrey Kamaev aba5bae400 Merge pull request #147 from taka-no-me/win_warnings 2012-11-13 19:48:59 +04:00
Andrey Kamaev 0938358002 Merge pull requests #136, #142, #150, #152 from asmorkalov/new_framework_tutorial, asmorkalov/fd_package_fix, asmorkalov/java_test_fix and asmorkalov/engine_build_fix 2012-11-13 19:47:16 +04:00
Alexander Smorkalov 96e4eed018 Logcat message for disabled test cases added. 2012-11-13 11:41:08 +04:00
Alexander Smorkalov 9f5fcff3ea More common way of test case disabling implemented. 2012-11-13 10:29:49 +04:00
marina.kolpakova bd9ca48fab export to python/java 2012-11-13 02:49:35 +04:00
Alexander Smorkalov 6fb959710d Code review comments applied. 2012-11-12 18:01:56 +04:00
Alexander Smorkalov e06c5b6fd5 Code review comments applied. 2012-11-12 17:47:20 +04:00
marina.kolpakova aa92be34d6 GK107 Policy 2012-11-12 16:37:18 +04:00
Alexander Smorkalov dda2eb0f76 Libinfo build fix;
Libinfo revision formating fix;
HW dependent VersionCode for Manager implemented.
2012-11-12 12:57:09 +04:00
marina.kolpakova 580d8173e5 refactor computing of scaling factor 2012-11-12 11:54:40 +04:00
Vladislav Vinogradov afff9cf716 Optimized buffers reuse in gpu module:
ensureSizeIsEnough now doesn't reallocate memory, if buffer is small submat of big matrix
fixed createContinous according new changes
2012-11-12 10:30:35 +04:00
Vladislav Vinogradov 810829f32e speedup compilation of row_filter.cu and column_filter.cu
split them into several small files
2012-11-12 10:16:04 +04:00
Vladislav Vinogradov 29f89e8930 moved block.hpp to include folder 2012-11-12 09:51:31 +04:00
marina.kolpakova d3ac282487 GPU soft cascade documentation 2012-11-10 05:48:06 +04:00
marina.kolpakova 916967cac5 add comments to class declaration 2012-11-10 05:13:37 +04:00
marina.kolpakova 0cbf9eb22a add support for CUDA streams 2012-11-10 05:13:26 +04:00
marina.kolpakova 40600fa504 GPU version becomes algorithm 2012-11-10 05:13:19 +04:00
marina.kolpakova e6eb1b99e1 fix negative confidence bug 2012-11-10 05:13:01 +04:00
marina.kolpakova 27eb2e27db enable fast integral for Kepler 2012-11-10 05:12:48 +04:00
marina.kolpakova 9b251f8130 remove Sobel normalization 2012-11-10 05:12:38 +04:00
marina.kolpakova df392cc830 use fast integral for soft cascade 2012-11-10 05:12:27 +04:00
marina.kolpakova ac5cd48279 add DeviceInfo parameter to the soft cascade tests 2012-11-10 05:12:13 +04:00
marina.kolpakova fba62c9251 fix compilation problem after rebase 2012-11-10 05:12:01 +04:00
marina.kolpakova 2bd35c4358 add support for precomputed integrals 2012-11-10 05:11:48 +04:00
marina.kolpakova fa55d51b6a add sanity check to performance tests for soft cascade 2012-11-10 05:11:35 +04:00
marina.kolpakova ca81628a9a fix retrieval of detections count 2012-11-10 05:11:21 +04:00
marina.kolpakova 022a8b9698 fix rounding bug in Level creation 2012-11-10 05:11:11 +04:00
marina.kolpakova 2bcb8dbd83 refactor performance tests 2012-11-10 05:11:00 +04:00
marina.kolpakova f196e9fda4 add factory method for Fields structure 2012-11-10 05:10:42 +04:00
marina.kolpakova 0898c3c651 kernel policy 2012-11-10 05:10:35 +04:00
marina.kolpakova 916ba4c0ea refactor preprocessing 2012-11-10 05:10:28 +04:00
marina.kolpakova fa62e2b72f move preprocessing into separate function 2012-11-10 05:10:13 +04:00
marina.kolpakova 312a58fcec fix performance test 2012-11-10 05:10:03 +04:00
marina.kolpakova ef431f70b6 fix buggy threshold zeroing if feature has zero area 2012-11-10 05:09:45 +04:00
marina.kolpakova 0424e2c8d2 remove debug code 2012-11-10 05:09:34 +04:00
marina.kolpakova 1b9bccb856 move Level into shared memory 2012-11-10 05:09:15 +04:00
marina.kolpakova 30bce16ad6 optimize roi loads
only one thread load roi for all block
2012-11-10 05:08:56 +04:00
marina.kolpakova fdef0adf95 Corrects objects matrix in case of the absence of objects 2012-11-10 05:08:43 +04:00
marina.kolpakova 838842cc96 Add performance detection test in ROI; refactored soft cascade performance tests 2012-11-10 05:08:32 +04:00
marina.kolpakova dd595376ba Add performance test for detection in ROI; refactor soft cascade performance tests 2012-11-10 05:08:09 +04:00
marina.kolpakova eb91593c08 add roi support 2012-11-10 05:08:03 +04:00
marina.kolpakova 64d6e6a48d add getROISize 2012-11-10 05:07:55 +04:00
marina.kolpakova 672cf1f445 implement different behaviour for up- and down-scaling 2012-11-10 05:07:40 +04:00
marina.kolpakova 56c7ef06e7 integrate Kepler version 2012-11-10 05:07:26 +04:00
marina.kolpakova 7db1323f81 add test that stores detections on the specific scale 2012-11-10 05:07:09 +04:00
marina.kolpakova b52fea7fae update soft cascade interface: - add class Detection in interface, - split sync- and async- versions, - add support for detecting at the specific scale. 2012-11-10 05:06:54 +04:00
marina.kolpakova 612a258506 kepler specific version 2012-11-10 05:06:44 +04:00
marina.kolpakova 0314e0e5d7 add kind in detection representation 2012-11-10 05:06:30 +04:00
marina.kolpakova c0359ed5c5 fix test: enough size for detection matrix 2012-11-10 05:06:17 +04:00
marina.kolpakova 72b499df00 add detection storing 2012-11-10 05:06:05 +04:00
marina.kolpakova 8108bd30fe optimize memory usage 2012-11-10 05:05:43 +04:00
marina.kolpakova b83d4add2e memory optimization 2012-11-10 05:05:25 +04:00
marina.kolpakova 4d9c7c1012 preprocessing ~1.981 ms 2012-11-10 05:05:17 +04:00
marina.kolpakova 1917366528 empty cascade 2012-11-10 05:05:09 +04:00
marina.kolpakova 4881205bae refactor logs 2012-11-10 05:04:52 +04:00
marina.kolpakova dca27b4622 fix cast bug; add logging 2012-11-10 05:04:36 +04:00
marina.kolpakova e606a0d651 remove dead code 2012-11-10 05:04:20 +04:00
marina.kolpakova ba50d19341 first version of soft cascade on GPU 2012-11-10 05:03:59 +04:00
marina.kolpakova 1bf85996b3 add detections vector initialization in tests 2012-11-10 05:03:43 +04:00
marina.kolpakova 08b4e780de add shrinking kernel 2012-11-10 05:03:29 +04:00
marina.kolpakova 1cf7a46f3a fix data paths in performance test 2012-11-10 05:03:05 +04:00
marina.kolpakova 0691dc554f fix compilation 2012-11-10 05:02:52 +04:00
marina.kolpakova 5d15e4ea58 CUDA kernels interface 2012-11-10 05:02:37 +04:00
marina.kolpakova 1a52a322b5 add performance test for GPU soft cascade 2012-11-10 05:02:16 +04:00
marina.kolpakova 14a0dd8c98 fix typo in cascade loading 2012-11-10 05:02:01 +04:00
marina.kolpakova a3af5ede80 CUDA callers 2012-11-10 05:01:44 +04:00
marina.kolpakova 4aac1444ad integral channel storage are cached as a cascade's field 2012-11-10 05:01:25 +04:00
marina.kolpakova 1ab7af6995 GPU soft cascade: buffers preallocation 2012-11-10 05:01:09 +04:00
marina.kolpakova 2b7ce8b160 precompute feature response for scaling factor 2012-11-10 05:00:53 +04:00
marina.kolpakova 267d140bfe soft cascade: gpu representation 2012-11-10 05:00:33 +04:00
marina.kolpakova dd9c53497b GPU interface for soft cascade 2012-11-10 05:00:16 +04:00
marina.kolpakova d65b3e0617 fix warning in CUDA samples 2012-11-10 04:59:55 +04:00
Alexander Smorkalov baef62b4d2 Java test fix. Eclipse test execution fix. 2012-11-09 11:46:14 +04:00
Andrey Kamaev 0a4ed2bc01 Fix Windows build warnings 2012-11-09 10:10:04 +04:00
marina.kolpakova 665bf430d5 fix warnings under win 2012-11-09 00:07:32 +04:00
Vladislav Vinogradov bff818afbd fixed static build of gpu module with ffmpeg:
multiple definition of cap_ffmpeg_impl.hpp functions in gpu and highgui
2012-11-08 15:49:56 +04:00
mikle 7ef378b230 Android tutorial updated. HelloWorld sample ported on new framework. 2012-11-08 14:51:42 +04:00
marina.kolpakova 8a3e897999 min and max params become double 2012-11-08 02:34:49 +04:00
marina.kolpakova e379771c03 git warning 2012-11-08 02:34:49 +04:00
marina.kolpakova f93cffaa0d fix compilation under win 2012-11-08 02:34:49 +04:00
marina.kolpakova 1022094dc0 fix levels computing 2012-11-08 02:34:49 +04:00
marina.kolpakova f1e36043e6 clean code 2012-11-08 02:34:49 +04:00
marina.kolpakova 4656872161 fixed typo 2012-11-08 02:34:49 +04:00
marina.kolpakova 5fb9f48360 fix angle scaling 2012-11-08 02:34:49 +04:00
marina.kolpakova 31a073ca66 documentation 2012-11-08 02:34:49 +04:00
marina.kolpakova 4207552e19 add object init 2012-11-08 02:34:49 +04:00
marina.kolpakova 157ab66ab9 add ROI support 2012-11-08 02:34:49 +04:00
marina.kolpakova 6a3a723938 refactor integral channels 2012-11-08 02:34:48 +04:00
marina.kolpakova 65543c53f6 update test according to resize usage 2012-11-08 02:34:48 +04:00
marina.kolpakova 4a1c4a9862 soft cascade become Algorithm 2012-11-08 02:34:48 +04:00
Alexander Smorkalov 95b7f5c46c Face Detection sample namespace replaced on org.opencv.facedetect for consistency with Google Play. 2012-11-07 13:27:33 +04:00
NikoKJ 95869a6081 fix the compilation bug of main.cpp in perf test and accuracy test on ocl module. It caused by the incompatibility of command line parser class in core.hpp between master branch and 2.4 branch. 2012-11-07 13:49:09 +08:00
marina.kolpakova ff8417db00 remove input frame size constraints 2012-11-07 03:19:07 +04:00
marina.kolpakova 3cb9afb4e7 test update because changed Sobel Normalization 2012-11-07 03:19:07 +04:00
marina.kolpakova a84334cfc2 brief soft cascade interface description 2012-11-07 03:19:07 +04:00
marina.kolpakova 2e8ed77383 get rid of hard-coded values 2012-11-07 03:19:07 +04:00
marina.kolpakova 16dd09ccfc move scale related parameters to SoftCascade constructor 2012-11-07 03:19:07 +04:00
marina.kolpakova 017d970b9a load SoftCascade from FileStorage 2012-11-07 03:19:06 +04:00
marina.kolpakova a22ee13620 rename markDetection to addDetection 2012-11-07 03:19:06 +04:00
marina.kolpakova 40c0c60e2b remove unused struct 2012-11-07 03:19:06 +04:00
marina.kolpakova 7b6da394f0 rename Stage to Weak because there is no such term for Soft Cascades 2012-11-07 03:19:06 +04:00
marina.kolpakova 2d0fc80c95 use IntegralChannels class 2012-11-07 03:19:06 +04:00
marina.kolpakova 3d41846c39 move frame processing into separate class 2012-11-07 03:19:06 +04:00
marina.kolpakova 5651743784 remove debug imshow from code 2012-11-07 03:19:06 +04:00
marina.kolpakova 8e092f8b5d add Detection struct to interface 2012-11-07 03:19:06 +04:00
marina.kolpakova 754fd7311b improve pointer usage 2012-11-07 03:19:06 +04:00
marina.kolpakova 2914f24521 improve cpu version of SoftCascade:
- remove division
 - remove cvRound
 - cache feature area
2012-11-07 03:19:06 +04:00
marina.kolpakova 2d2c46e717 add const qualifier to detectMultiScale method 2012-11-07 03:19:06 +04:00
marina.kolpakova 9771c3c7ec remove Mat copying 2012-11-07 03:19:05 +04:00
marina.kolpakova 0ff8a4633d remove pow calculations 2012-11-07 03:19:05 +04:00
marina.kolpakova cc300a69b1 add perfomance test for CPU soft cascade 2012-11-07 03:19:05 +04:00
marina.kolpakova 26af7d7389 refactor logs 2012-11-07 03:19:05 +04:00
marina.kolpakova b6081438fa clean code 2012-11-07 03:19:05 +04:00
marina.kolpakova 296aa8854c fix hog channels 2012-11-07 03:19:05 +04:00
marina.kolpakova efd2615844 fix floating point bug 2012-11-07 03:19:05 +04:00
marina.kolpakova 765dea9ddf fix bugs in the soft cascade detect method; add options for debug logging
- WITH_DEBUG_OUT for logging cascade scales
- DEBUG_STORE_IMAGES for xml matrix serialization
- DEBUG_SHOW_RESULT to see detection result
2012-11-07 03:19:05 +04:00
marina.kolpakova ba27d89173 add feature rescaling according to Dollal's paper FPDW 2012-11-07 03:19:05 +04:00
marina.kolpakova 8d90b973b0 add detectAt to soft cascade 2012-11-07 03:19:05 +04:00
marina.kolpakova 801368ee82 refactoring 2012-11-07 03:19:05 +04:00
marina.kolpakova 6f53be4102 shrinking before integral calculation 2012-11-07 03:19:04 +04:00
marina.kolpakova dc74ce20ab OpenCV friendly xml format for soft cascade 2012-11-07 03:19:04 +04:00
marina.kolpakova c04725b681 add apply cascade method 2012-11-07 03:19:04 +04:00
marina.kolpakova 695827050f Integral images for ICF 2012-11-07 03:19:04 +04:00
marina.kolpakova b0b85f36f6 add test for soft cascade detect method 2012-11-07 03:19:04 +04:00
marina.kolpakova f01c5d9033 compute scales pyramid 2012-11-07 03:19:04 +04:00
marina.kolpakova a54d456ad0 parse soft cascade from xml 2012-11-07 03:19:04 +04:00
marina.kolpakova fe2c38be80 add method to fill soft cascade 2012-11-07 03:19:04 +04:00
marina.kolpakova 7290d8576d add ICF feature 2012-11-07 03:19:04 +04:00
marina.kolpakova fb113e5ce4 scale pyramid calculations 2012-11-07 03:19:04 +04:00
marina.kolpakova cd301e530f minor in train application 2012-11-07 03:19:04 +04:00
marina.kolpakova 9966d7feba add structures for cascade representation 2012-11-07 03:19:04 +04:00
marina.kolpakova 108fd169f7 dummy soft cascade 2012-11-07 03:19:03 +04:00
Jason Newton 85880397c4 connectedcomponents: use opencv integral types, add to docs, fix up things for a python export 2012-11-05 12:02:53 -08:00
Jason Newton 4c0cb2576d connectedComponents: peep-hole optimizations, mostly surrouding the fact that cv::Mat::at is expensive in a tight-loop -also added a "blobstats" version 2012-11-05 08:10:35 -08:00
Jason Newton 45b4f4f32b connectedComponents: warning free version 2012-11-05 08:10:29 -08:00
Vladislav Vinogradov beb377b38c gpu implementation of Dual TV-L1 Optical Flow 2012-11-02 19:51:43 +04:00
Andrey Kamaev 4d059e9e5b Merge release 2.4.3 2012-11-02 17:58:02 +04:00
LeonidBeynenson 02646427fb Fixed arguments of the function calcOpticalFlowSF. 2012-11-01 19:31:45 +04:00
Andrey Kamaev 66b90d19a6 Merge pull request #81 from stephenfox/master 2012-10-31 16:59:45 +04:00
Andrey Kamaev 468eefe0ce Merge branch '2.4' 2012-10-30 15:10:17 +04:00
marina.kolpakova 0f65dacb8b Merge pull request #104 from AoD314:master 2012-10-29 15:12:52 +04:00
marina.kolpakova e55b2f7d60 Merge pull request #99 from jet47:tvl1-opt-flow 2012-10-29 15:00:40 +04:00
alexandre benoit a0c92265db minor updates for doc redirections and tutorial images size 2012-10-28 18:52:04 +01:00
alexandre benoit 4e58fd645c minor update 2012-10-28 18:34:48 +01:00
alexandre benoit 02666567b0 updated first image sample 2012-10-28 10:57:03 +01:00
morozov.andrey e0cfc0ccf5 fixed bug with incorrect syntax in CommandLineParser 2012-10-26 19:46:17 +04:00
Andrey Kamaev 729d76ad09 Merge branch '2.4' 2012-10-25 15:32:48 +04:00
Vladislav Vinogradov 8db5b7d7d4 fixed warnings under Windows 2012-10-25 13:28:30 +04:00
Vladislav Vinogradov 0ad849d2fd Dual TV-L1 optical flow implementation 2012-10-25 11:25:35 +04:00
marina.kolpakova 772586801b Merge pull request #87 from jet47:cmd-parser-fix 2012-10-25 00:40:50 +04:00
Andrey Kamaev 6211f156e6 Merge 2.4.3-rc 2012-10-24 19:56:27 +04:00
alexandre benoit b5bd86b2a7 added retina code tutorial 2012-10-24 12:20:59 +02:00
alexandre benoit 4c5bcd80de updated tutorial, rapid spell check, retina parameters discussion added 2012-10-24 12:04:32 +02:00
alexandre benoit 90d10e6b73 updated tutorial, need spell check, validation, nicer images and a discussion on parameters 2012-10-23 18:57:39 +02:00
Andrey Kamaev f14a711bda Merge pull request #85 from Nerei/master 2012-10-23 20:47:56 +04:00
Andrey Kamaev 91f47d2779 Merge branch '2.4'
Conflicts:
	modules/core/include/opencv2/core/version.hpp
2012-10-23 20:39:02 +04:00
Andrey Kamaev 8dbde3297e Merge branch '2.4' 2012-10-23 20:32:19 +04:00
Vladislav Vinogradov 26f9534544 fixed string->string conversion 2012-10-23 15:24:21 +04:00
Anatoly Baksheev d681717702 warnings 2012-10-23 15:13:46 +04:00
Anatoly Baksheev 275ab53ebc Added default Eigen search path to support Eigen that comes with PCL 2012-10-23 15:12:39 +04:00
OpenCV Buildbot 1cb21d292b update FFMPEG wrapper binaries 2012-10-23 13:17:43 +04:00
Stephen Fox 9f8ce906f4 fix to documentation regarding CV_CAP_OPENNI_* in high gui userguide
fix comments to accurate match CV_CAP_OPENNI_* vs. wrong OPENNI_*
2012-10-22 23:18:46 -05:00
Andrey Kamaev 57775988e7 Merge branch '2.4' 2012-10-22 16:57:56 +04:00
Andrey Kamaev ef6a6cfb40 Merge pull request #69 from mdim/core_tests 2012-10-22 16:47:49 +04:00
alexandre benoit 6e63073c6c adding retina tutorial 2012-10-22 13:51:55 +02:00
alexandre benoit 0d3fb3cef3 introducing a tutorial for the retina model 2012-10-22 13:36:30 +02:00
Maria Dimashova 78dd1893bb added tests for cv::merge, cv::split, cv::phase 2012-10-21 12:22:39 +04:00
Andrey Kamaev d9ffe5e7c4 Merge branch '2.4' 2012-10-19 15:07:12 +04:00
Andrey Kamaev cb66dd8000 Normalize android/scripts/wincfg.cmd.tmpl 2012-10-19 15:06:32 +04:00
Andrey Kamaev e8dd73798c Merge pull request #59 from taka-no-me:doc/fix-signatures-master 2012-10-19 15:03:26 +04:00
Andrey Kamaev 5bc104cef5 Merge branch '2.4' 2012-10-19 15:00:05 +04:00
Andrey Kamaev 73bbabf207 Eliminate discrepancies between signatures in documentation and OpenCV headers
All errors were found by doc/check_docs2.py
2012-10-18 13:03:12 +04:00
Andrey Kamaev 0e7ca71dcc Normalize whitespace in documentation and text files 2012-10-17 21:42:09 +04:00
Andrey Kamaev 9337246867 Merge branch '2.4' 2012-10-17 16:18:08 +04:00
OpenCV Buildbot 81f826db2b Normalize line endings and whitespace 2012-10-17 15:57:49 +04:00
Andrey Kamaev 0442bca235 Revert "partially recovered binary compatibility (ticket #2415)"
This reverts commit 94b97b7a63.
2012-10-16 19:37:12 +04:00
Andrey Kamaev 075372a71c Revert "fixed compilation error because of DetectionBasedTracker"
This reverts commit 9b8c47399a.
2012-10-16 19:37:02 +04:00
Andrey Kamaev e7b81688a4 Revert "yet another portion of changes towards the binary compatibility"
This reverts commit 618fbf5508.
2012-10-16 19:35:57 +04:00
Andrey Kamaev 18ab16dbd3 Revert "some more fixes towards binary compatibility"
This reverts commit a8c5e35619.

Conflicts:
	modules/imgproc/src/imgwarp.cpp
2012-10-16 19:35:28 +04:00
3618 arquivos alterados com 1045703 adições e 763977 exclusões
+51 -30
Ver Arquivo
@@ -1,42 +1,59 @@
.git* export-ignore
* text=auto whitespace=trailing-space,space-before-tab,-indent-with-non-tab,tab-in-indent,tabwidth=4
*.py text
*.cpp text
*.hpp text
*.cxx text
*.hxx text
*.mm text
*.c text
*.h text
*.i text
*.js text
*.java text
*.scala text
*.cu text
*.cl text
*.css_t text
*.qrc text
*.qss text
*.S text
*.rst text
*.tex text
*.sty text
.git* text export-ignore
*.aidl text
*.mk text
*.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
*.m 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
# reST underlines/overlines can look like conflict markers
*.rst text conflict-marker-size=80
*.cmake text whitespace=tabwidth=2
*.cmakein text whitespace=tabwidth=2
*.in text whitespace=tabwidth=2
CMakeLists.txt text whitespace=tabwidth=2
*.png binary
*.jpeg binary
*.jpg binary
*.avi binary
*.bmp binary
*.exr binary
*.ico binary
*.jpeg binary
*.jpg binary
*.png binary
*.a binary
*.so binary
@@ -47,6 +64,7 @@ CMakeLists.txt text whitespace=tabwidth=2
*.pbxproj binary
*.vec binary
*.doc binary
*.dia binary
*.xml -text whitespace=cr-at-eol
*.yml -text whitespace=cr-at-eol
@@ -55,9 +73,12 @@ CMakeLists.txt text whitespace=tabwidth=2
.cproject -text whitespace=cr-at-eol merge=union
org.eclipse.jdt.core.prefs -text whitespace=cr-at-eol merge=union
*.vcproj 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
+6 -4
Ver Arquivo
@@ -1,8 +1,10 @@
*.autosave
*.pyc
.DS_Store
refman.rst
OpenCV4Tegra/
*.user
.sw[a-z]
*~
.*.swp
.DS_Store
.sw[a-z]
Thumbs.db
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 -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
-502
Ver Arquivo
@@ -1,502 +0,0 @@
//=============================================================================
//
// multimon.h -- Stub module that fakes multiple monitor apis on Win32 OSes
// without them.
//
// By using this header your code will get back default values from
// GetSystemMetrics() for new metrics, and the new multimonitor APIs
// will act like only one display is present on a Win32 OS without
// multimonitor APIs.
//
// Exactly one source must include this with COMPILE_MULTIMON_STUBS defined.
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//=============================================================================
#ifdef __cplusplus
extern "C" { // Assume C declarations for C++
#endif // __cplusplus
//
// If we are building with Win95/NT4 headers, we need to declare
// the multimonitor-related metrics and APIs ourselves.
//
#ifndef SM_CMONITORS
#define SM_XVIRTUALSCREEN 76
#define SM_YVIRTUALSCREEN 77
#define SM_CXVIRTUALSCREEN 78
#define SM_CYVIRTUALSCREEN 79
#define SM_CMONITORS 80
#define SM_SAMEDISPLAYFORMAT 81
// HMONITOR is already declared if WINVER >= 0x0500 in windef.h
// This is for components built with an older version number.
//
#if !defined(HMONITOR_DECLARED) && (WINVER < 0x0500)
DECLARE_HANDLE(HMONITOR);
#define HMONITOR_DECLARED
#endif
#define MONITOR_DEFAULTTONULL 0x00000000
#define MONITOR_DEFAULTTOPRIMARY 0x00000001
#define MONITOR_DEFAULTTONEAREST 0x00000002
#define MONITORINFOF_PRIMARY 0x00000001
typedef struct tagMONITORINFO
{
DWORD cbSize;
RECT rcMonitor;
RECT rcWork;
DWORD dwFlags;
} MONITORINFO, *LPMONITORINFO;
#ifndef CCHDEVICENAME
#define CCHDEVICENAME 32
#endif
#ifdef __cplusplus
typedef struct tagMONITORINFOEXA : public tagMONITORINFO
{
CHAR szDevice[CCHDEVICENAME];
} MONITORINFOEXA, *LPMONITORINFOEXA;
typedef struct tagMONITORINFOEXW : public tagMONITORINFO
{
WCHAR szDevice[CCHDEVICENAME];
} MONITORINFOEXW, *LPMONITORINFOEXW;
#ifdef UNICODE
typedef MONITORINFOEXW MONITORINFOEX;
typedef LPMONITORINFOEXW LPMONITORINFOEX;
#else
typedef MONITORINFOEXA MONITORINFOEX;
typedef LPMONITORINFOEXA LPMONITORINFOEX;
#endif // UNICODE
#else // ndef __cplusplus
typedef struct tagMONITORINFOEXA
{
MONITORINFO;
CHAR szDevice[CCHDEVICENAME];
} MONITORINFOEXA, *LPMONITORINFOEXA;
typedef struct tagMONITORINFOEXW
{
MONITORINFO;
WCHAR szDevice[CCHDEVICENAME];
} MONITORINFOEXW, *LPMONITORINFOEXW;
#ifdef UNICODE
typedef MONITORINFOEXW MONITORINFOEX;
typedef LPMONITORINFOEXW LPMONITORINFOEX;
#else
typedef MONITORINFOEXA MONITORINFOEX;
typedef LPMONITORINFOEXA LPMONITORINFOEX;
#endif // UNICODE
#endif
typedef BOOL (CALLBACK* MONITORENUMPROC)(HMONITOR, HDC, LPRECT, LPARAM);
#ifndef DISPLAY_DEVICE_ATTACHED_TO_DESKTOP
typedef struct _DISPLAY_DEVICEA {
DWORD cb;
CHAR DeviceName[32];
CHAR DeviceString[128];
DWORD StateFlags;
CHAR DeviceID[128];
CHAR DeviceKey[128];
} DISPLAY_DEVICEA, *PDISPLAY_DEVICEA, *LPDISPLAY_DEVICEA;
typedef struct _DISPLAY_DEVICEW {
DWORD cb;
WCHAR DeviceName[32];
WCHAR DeviceString[128];
DWORD StateFlags;
WCHAR DeviceID[128];
WCHAR DeviceKey[128];
} DISPLAY_DEVICEW, *PDISPLAY_DEVICEW, *LPDISPLAY_DEVICEW;
#ifdef UNICODE
typedef DISPLAY_DEVICEW DISPLAY_DEVICE;
typedef PDISPLAY_DEVICEW PDISPLAY_DEVICE;
typedef LPDISPLAY_DEVICEW LPDISPLAY_DEVICE;
#else
typedef DISPLAY_DEVICEA DISPLAY_DEVICE;
typedef PDISPLAY_DEVICEA PDISPLAY_DEVICE;
typedef LPDISPLAY_DEVICEA LPDISPLAY_DEVICE;
#endif // UNICODE
#define DISPLAY_DEVICE_ATTACHED_TO_DESKTOP 0x00000001
#define DISPLAY_DEVICE_MULTI_DRIVER 0x00000002
#define DISPLAY_DEVICE_PRIMARY_DEVICE 0x00000004
#define DISPLAY_DEVICE_MIRRORING_DRIVER 0x00000008
#define DISPLAY_DEVICE_VGA_COMPATIBLE 0x00000010
#endif
#endif // SM_CMONITORS
#undef GetMonitorInfo
#undef GetSystemMetrics
#undef MonitorFromWindow
#undef MonitorFromRect
#undef MonitorFromPoint
#undef EnumDisplayMonitors
#undef EnumDisplayDevices
//
// Define COMPILE_MULTIMON_STUBS to compile the stubs;
// otherwise, you get the declarations.
//
#ifdef COMPILE_MULTIMON_STUBS
//-----------------------------------------------------------------------------
//
// Implement the API stubs.
//
//-----------------------------------------------------------------------------
#ifndef _MULTIMON_USE_SECURE_CRT
#if defined(__GOT_SECURE_LIB__) && __GOT_SECURE_LIB__ >= 200402L
#define _MULTIMON_USE_SECURE_CRT 1
#else
#define _MULTIMON_USE_SECURE_CRT 0
#endif
#endif
#ifndef MULTIMON_FNS_DEFINED
int (WINAPI* g_pfnGetSystemMetrics)(int) = NULL;
HMONITOR (WINAPI* g_pfnMonitorFromWindow)(HWND, DWORD) = NULL;
HMONITOR (WINAPI* g_pfnMonitorFromRect)(LPCRECT, DWORD) = NULL;
HMONITOR (WINAPI* g_pfnMonitorFromPoint)(POINT, DWORD) = NULL;
BOOL (WINAPI* g_pfnGetMonitorInfo)(HMONITOR, LPMONITORINFO) = NULL;
BOOL (WINAPI* g_pfnEnumDisplayMonitors)(HDC, LPCRECT, MONITORENUMPROC, LPARAM) = NULL;
BOOL (WINAPI* g_pfnEnumDisplayDevices)(PVOID, DWORD, PDISPLAY_DEVICE,DWORD) = NULL;
BOOL g_fMultiMonInitDone = FALSE;
BOOL g_fMultimonPlatformNT = FALSE;
#endif
BOOL IsPlatformNT()
{
OSVERSIONINFOA osvi = {0};
osvi.dwOSVersionInfoSize = sizeof(osvi);
GetVersionExA((OSVERSIONINFOA*)&osvi);
return (VER_PLATFORM_WIN32_NT == osvi.dwPlatformId);
}
BOOL InitMultipleMonitorStubs(void)
{
HMODULE hUser32;
if (g_fMultiMonInitDone)
{
return g_pfnGetMonitorInfo != NULL;
}
g_fMultimonPlatformNT = IsPlatformNT();
hUser32 = GetModuleHandle(TEXT("USER32"));
if (hUser32 &&
(*(FARPROC*)&g_pfnGetSystemMetrics = GetProcAddress(hUser32,"GetSystemMetrics")) != NULL &&
(*(FARPROC*)&g_pfnMonitorFromWindow = GetProcAddress(hUser32,"MonitorFromWindow")) != NULL &&
(*(FARPROC*)&g_pfnMonitorFromRect = GetProcAddress(hUser32,"MonitorFromRect")) != NULL &&
(*(FARPROC*)&g_pfnMonitorFromPoint = GetProcAddress(hUser32,"MonitorFromPoint")) != NULL &&
(*(FARPROC*)&g_pfnEnumDisplayMonitors = GetProcAddress(hUser32,"EnumDisplayMonitors")) != NULL &&
#ifdef UNICODE
(*(FARPROC*)&g_pfnEnumDisplayDevices = GetProcAddress(hUser32,"EnumDisplayDevicesW")) != NULL &&
(*(FARPROC*)&g_pfnGetMonitorInfo = g_fMultimonPlatformNT ? GetProcAddress(hUser32,"GetMonitorInfoW") :
GetProcAddress(hUser32,"GetMonitorInfoA")) != NULL
#else
(*(FARPROC*)&g_pfnGetMonitorInfo = GetProcAddress(hUser32,"GetMonitorInfoA")) != NULL &&
(*(FARPROC*)&g_pfnEnumDisplayDevices = GetProcAddress(hUser32,"EnumDisplayDevicesA")) != NULL
#endif
) {
g_fMultiMonInitDone = TRUE;
return TRUE;
}
else
{
g_pfnGetSystemMetrics = NULL;
g_pfnMonitorFromWindow = NULL;
g_pfnMonitorFromRect = NULL;
g_pfnMonitorFromPoint = NULL;
g_pfnGetMonitorInfo = NULL;
g_pfnEnumDisplayMonitors = NULL;
g_pfnEnumDisplayDevices = NULL;
g_fMultiMonInitDone = TRUE;
return FALSE;
}
}
//-----------------------------------------------------------------------------
//
// fake implementations of Monitor APIs that work with the primary display
// no special parameter validation is made since these run in client code
//
//-----------------------------------------------------------------------------
int WINAPI
xGetSystemMetrics(int nIndex)
{
if (InitMultipleMonitorStubs())
return g_pfnGetSystemMetrics(nIndex);
switch (nIndex)
{
case SM_CMONITORS:
case SM_SAMEDISPLAYFORMAT:
return 1;
case SM_XVIRTUALSCREEN:
case SM_YVIRTUALSCREEN:
return 0;
case SM_CXVIRTUALSCREEN:
nIndex = SM_CXSCREEN;
break;
case SM_CYVIRTUALSCREEN:
nIndex = SM_CYSCREEN;
break;
}
return GetSystemMetrics(nIndex);
}
#define xPRIMARY_MONITOR ((HMONITOR)0x12340042)
HMONITOR WINAPI
xMonitorFromPoint(POINT ptScreenCoords, DWORD dwFlags)
{
if (InitMultipleMonitorStubs())
return g_pfnMonitorFromPoint(ptScreenCoords, dwFlags);
if ((dwFlags & (MONITOR_DEFAULTTOPRIMARY | MONITOR_DEFAULTTONEAREST)) ||
((ptScreenCoords.x >= 0) &&
(ptScreenCoords.x < GetSystemMetrics(SM_CXSCREEN)) &&
(ptScreenCoords.y >= 0) &&
(ptScreenCoords.y < GetSystemMetrics(SM_CYSCREEN))))
{
return xPRIMARY_MONITOR;
}
return NULL;
}
HMONITOR WINAPI
xMonitorFromRect(LPCRECT lprcScreenCoords, DWORD dwFlags)
{
if (InitMultipleMonitorStubs())
return g_pfnMonitorFromRect(lprcScreenCoords, dwFlags);
if ((dwFlags & (MONITOR_DEFAULTTOPRIMARY | MONITOR_DEFAULTTONEAREST)) ||
((lprcScreenCoords->right > 0) &&
(lprcScreenCoords->bottom > 0) &&
(lprcScreenCoords->left < GetSystemMetrics(SM_CXSCREEN)) &&
(lprcScreenCoords->top < GetSystemMetrics(SM_CYSCREEN))))
{
return xPRIMARY_MONITOR;
}
return NULL;
}
HMONITOR WINAPI
xMonitorFromWindow(HWND hWnd, DWORD dwFlags)
{
WINDOWPLACEMENT wp;
if (InitMultipleMonitorStubs())
return g_pfnMonitorFromWindow(hWnd, dwFlags);
if (dwFlags & (MONITOR_DEFAULTTOPRIMARY | MONITOR_DEFAULTTONEAREST))
return xPRIMARY_MONITOR;
if (IsIconic(hWnd) ?
GetWindowPlacement(hWnd, &wp) :
GetWindowRect(hWnd, &wp.rcNormalPosition)) {
return xMonitorFromRect(&wp.rcNormalPosition, dwFlags);
}
return NULL;
}
BOOL WINAPI
xGetMonitorInfo(HMONITOR hMonitor, __inout LPMONITORINFO lpMonitorInfo)
{
RECT rcWork;
if (InitMultipleMonitorStubs())
{
BOOL f = g_pfnGetMonitorInfo(hMonitor, lpMonitorInfo);
#ifdef UNICODE
if (f && !g_fMultimonPlatformNT && (lpMonitorInfo->cbSize >= sizeof(MONITORINFOEX)))
{
MultiByteToWideChar(CP_ACP, 0,
(LPSTR)((MONITORINFOEX*)lpMonitorInfo)->szDevice, -1,
((MONITORINFOEX*)lpMonitorInfo)->szDevice, (sizeof(((MONITORINFOEX*)lpMonitorInfo)->szDevice)/sizeof(TCHAR)));
}
#endif
return f;
}
if ((hMonitor == xPRIMARY_MONITOR) &&
lpMonitorInfo &&
(lpMonitorInfo->cbSize >= sizeof(MONITORINFO)) &&
SystemParametersInfoA(SPI_GETWORKAREA, 0, &rcWork, 0))
{
lpMonitorInfo->rcMonitor.left = 0;
lpMonitorInfo->rcMonitor.top = 0;
lpMonitorInfo->rcMonitor.right = GetSystemMetrics(SM_CXSCREEN);
lpMonitorInfo->rcMonitor.bottom = GetSystemMetrics(SM_CYSCREEN);
lpMonitorInfo->rcWork = rcWork;
lpMonitorInfo->dwFlags = MONITORINFOF_PRIMARY;
if (lpMonitorInfo->cbSize >= sizeof(MONITORINFOEX))
{
#ifdef UNICODE
MultiByteToWideChar(CP_ACP, 0, "DISPLAY", -1, ((MONITORINFOEX*)lpMonitorInfo)->szDevice, (sizeof(((MONITORINFOEX*)lpMonitorInfo)->szDevice)/sizeof(TCHAR)));
#else // UNICODE
#if _MULTIMON_USE_SECURE_CRT
strncpy_s(((MONITORINFOEX*)lpMonitorInfo)->szDevice, (sizeof(((MONITORINFOEX*)lpMonitorInfo)->szDevice)/sizeof(TCHAR)), TEXT("DISPLAY"), (sizeof(((MONITORINFOEX*)lpMonitorInfo)->szDevice)/sizeof(TCHAR)) - 1);
#else
lstrcpyn(((MONITORINFOEX*)lpMonitorInfo)->szDevice, TEXT("DISPLAY"), (sizeof(((MONITORINFOEX*)lpMonitorInfo)->szDevice)/sizeof(TCHAR)));
#endif // _MULTIMON_USE_SECURE_CRT
#endif // UNICODE
}
return TRUE;
}
return FALSE;
}
BOOL WINAPI
xEnumDisplayMonitors(
HDC hdcOptionalForPainting,
LPCRECT lprcEnumMonitorsThatIntersect,
MONITORENUMPROC lpfnEnumProc,
LPARAM dwData)
{
RECT rcLimit;
if (InitMultipleMonitorStubs()) {
return g_pfnEnumDisplayMonitors(
hdcOptionalForPainting,
lprcEnumMonitorsThatIntersect,
lpfnEnumProc,
dwData);
}
if (!lpfnEnumProc)
return FALSE;
rcLimit.left = 0;
rcLimit.top = 0;
rcLimit.right = GetSystemMetrics(SM_CXSCREEN);
rcLimit.bottom = GetSystemMetrics(SM_CYSCREEN);
if (hdcOptionalForPainting)
{
RECT rcClip;
POINT ptOrg;
switch (GetClipBox(hdcOptionalForPainting, &rcClip))
{
default:
if (!GetDCOrgEx(hdcOptionalForPainting, &ptOrg))
return FALSE;
OffsetRect(&rcLimit, -ptOrg.x, -ptOrg.y);
if (IntersectRect(&rcLimit, &rcLimit, &rcClip) &&
(!lprcEnumMonitorsThatIntersect ||
IntersectRect(&rcLimit, &rcLimit, lprcEnumMonitorsThatIntersect))) {
break;
}
//fall thru
case NULLREGION:
return TRUE;
case ERROR:
return FALSE;
}
} else {
if ( lprcEnumMonitorsThatIntersect &&
!IntersectRect(&rcLimit, &rcLimit, lprcEnumMonitorsThatIntersect)) {
return TRUE;
}
}
return lpfnEnumProc(
xPRIMARY_MONITOR,
hdcOptionalForPainting,
&rcLimit,
dwData);
}
BOOL WINAPI
xEnumDisplayDevices(
PVOID Unused,
DWORD iDevNum,
__inout PDISPLAY_DEVICE lpDisplayDevice,
DWORD dwFlags)
{
if (InitMultipleMonitorStubs())
return g_pfnEnumDisplayDevices(Unused, iDevNum, lpDisplayDevice, dwFlags);
if (Unused != NULL)
return FALSE;
if (iDevNum != 0)
return FALSE;
if (lpDisplayDevice == NULL || lpDisplayDevice->cb < sizeof(DISPLAY_DEVICE))
return FALSE;
#ifdef UNICODE
MultiByteToWideChar(CP_ACP, 0, "DISPLAY", -1, lpDisplayDevice->DeviceName, (sizeof(lpDisplayDevice->DeviceName)/sizeof(TCHAR)));
MultiByteToWideChar(CP_ACP, 0, "DISPLAY", -1, lpDisplayDevice->DeviceString, (sizeof(lpDisplayDevice->DeviceString)/sizeof(TCHAR)));
#else // UNICODE
#if _MULTIMON_USE_SECURE_CRT
strncpy_s((LPTSTR)lpDisplayDevice->DeviceName, (sizeof(lpDisplayDevice->DeviceName)/sizeof(TCHAR)), TEXT("DISPLAY"), (sizeof(lpDisplayDevice->DeviceName)/sizeof(TCHAR)) - 1);
strncpy_s((LPTSTR)lpDisplayDevice->DeviceString, (sizeof(lpDisplayDevice->DeviceString)/sizeof(TCHAR)), TEXT("DISPLAY"), (sizeof(lpDisplayDevice->DeviceName)/sizeof(TCHAR)) - 1);
#else
lstrcpyn((LPTSTR)lpDisplayDevice->DeviceName, TEXT("DISPLAY"), (sizeof(lpDisplayDevice->DeviceName)/sizeof(TCHAR)));
lstrcpyn((LPTSTR)lpDisplayDevice->DeviceString, TEXT("DISPLAY"), (sizeof(lpDisplayDevice->DeviceString)/sizeof(TCHAR)));
#endif // _MULTIMON_USE_SECURE_CRT
#endif // UNICODE
lpDisplayDevice->StateFlags = DISPLAY_DEVICE_ATTACHED_TO_DESKTOP | DISPLAY_DEVICE_PRIMARY_DEVICE;
return TRUE;
}
#undef xPRIMARY_MONITOR
#undef COMPILE_MULTIMON_STUBS
#else // COMPILE_MULTIMON_STUBS
extern int WINAPI xGetSystemMetrics(int);
extern HMONITOR WINAPI xMonitorFromWindow(HWND, DWORD);
extern HMONITOR WINAPI xMonitorFromRect(LPCRECT, DWORD);
extern HMONITOR WINAPI xMonitorFromPoint(POINT, DWORD);
extern BOOL WINAPI xGetMonitorInfo(HMONITOR, LPMONITORINFO);
extern BOOL WINAPI xEnumDisplayMonitors(HDC, LPCRECT, MONITORENUMPROC, LPARAM);
extern BOOL WINAPI xEnumDisplayDevices(PVOID, DWORD, PDISPLAY_DEVICE, DWORD);
#endif // COMPILE_MULTIMON_STUBS
//
// build defines that replace the regular APIs with our versions
//
#define GetSystemMetrics xGetSystemMetrics
#define MonitorFromWindow xMonitorFromWindow
#define MonitorFromRect xMonitorFromRect
#define MonitorFromPoint xMonitorFromPoint
#define GetMonitorInfo xGetMonitorInfo
#define EnumDisplayMonitors xEnumDisplayMonitors
#define EnumDisplayDevices xEnumDisplayDevices
#ifdef __cplusplus
}
#endif // __cplusplus
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 */
+33
Ver Arquivo
@@ -0,0 +1,33 @@
Jinja is written and maintained by the Jinja Team and various
contributors:
Lead Developer:
- Armin Ronacher <armin.ronacher@active-4.com>
Developers:
- Christoph Hack
- Georg Brandl
Contributors:
- Bryan McLemore
- Mickaël Guérin <kael@crocobox.org>
- Cameron Knight
- Lawrence Journal-World.
- David Cramer
Patches and suggestions:
- Ronny Pfannschmidt
- Axel Böhm
- Alexey Melchakov
- Bryan McLemore
- Clovis Fabricio (nosklo)
- Cameron Knight
- Peter van Dijk (Habbie)
- Stefan Ebner
- Rene Leonhardt
- Thomas Waldmann
- Cory Benfield (Lukasa)
+31
Ver Arquivo
@@ -0,0 +1,31 @@
Copyright (c) 2009 by the Jinja Team, see AUTHORS for more details.
Some rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the following
disclaimer in the documentation and/or other materials provided
with the distribution.
* The names of the contributors may not be used to endorse or
promote products derived from this software without specific
prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+69
Ver Arquivo
@@ -0,0 +1,69 @@
# -*- coding: utf-8 -*-
"""
jinja2
~~~~~~
Jinja2 is a template engine written in pure Python. It provides a
Django inspired non-XML syntax but supports inline expressions and
an optional sandboxed environment.
Nutshell
--------
Here a small example of a Jinja2 template::
{% extends 'base.html' %}
{% block title %}Memberlist{% endblock %}
{% block content %}
<ul>
{% for user in users %}
<li><a href="{{ user.url }}">{{ user.username }}</a></li>
{% endfor %}
</ul>
{% endblock %}
:copyright: (c) 2010 by the Jinja Team.
:license: BSD, see LICENSE for more details.
"""
__docformat__ = 'restructuredtext en'
__version__ = '2.7.1'
# high level interface
from jinja2.environment import Environment, Template
# loaders
from jinja2.loaders import BaseLoader, FileSystemLoader, PackageLoader, \
DictLoader, FunctionLoader, PrefixLoader, ChoiceLoader, \
ModuleLoader
# bytecode caches
from jinja2.bccache import BytecodeCache, FileSystemBytecodeCache, \
MemcachedBytecodeCache
# undefined types
from jinja2.runtime import Undefined, DebugUndefined, StrictUndefined
# exceptions
from jinja2.exceptions import TemplateError, UndefinedError, \
TemplateNotFound, TemplatesNotFound, TemplateSyntaxError, \
TemplateAssertionError
# decorators and public utilities
from jinja2.filters import environmentfilter, contextfilter, \
evalcontextfilter
from jinja2.utils import Markup, escape, clear_caches, \
environmentfunction, evalcontextfunction, contextfunction, \
is_undefined
__all__ = [
'Environment', 'Template', 'BaseLoader', 'FileSystemLoader',
'PackageLoader', 'DictLoader', 'FunctionLoader', 'PrefixLoader',
'ChoiceLoader', 'BytecodeCache', 'FileSystemBytecodeCache',
'MemcachedBytecodeCache', 'Undefined', 'DebugUndefined',
'StrictUndefined', 'TemplateError', 'UndefinedError', 'TemplateNotFound',
'TemplatesNotFound', 'TemplateSyntaxError', 'TemplateAssertionError',
'ModuleLoader', 'environmentfilter', 'contextfilter', 'Markup', 'escape',
'environmentfunction', 'contextfunction', 'clear_caches', 'is_undefined',
'evalcontextfilter', 'evalcontextfunction'
]
+150
Ver Arquivo
@@ -0,0 +1,150 @@
# -*- coding: utf-8 -*-
"""
jinja2._compat
~~~~~~~~~~~~~~
Some py2/py3 compatibility support based on a stripped down
version of six so we don't have to depend on a specific version
of it.
:copyright: Copyright 2013 by the Jinja team, see AUTHORS.
:license: BSD, see LICENSE for details.
"""
import sys
PY2 = sys.version_info[0] == 2
PYPY = hasattr(sys, 'pypy_translation_info')
_identity = lambda x: x
if not PY2:
unichr = chr
range_type = range
text_type = str
string_types = (str,)
iterkeys = lambda d: iter(d.keys())
itervalues = lambda d: iter(d.values())
iteritems = lambda d: iter(d.items())
import pickle
from io import BytesIO, StringIO
NativeStringIO = StringIO
def reraise(tp, value, tb=None):
if value.__traceback__ is not tb:
raise value.with_traceback(tb)
raise value
ifilter = filter
imap = map
izip = zip
intern = sys.intern
implements_iterator = _identity
implements_to_string = _identity
encode_filename = _identity
get_next = lambda x: x.__next__
else:
unichr = unichr
text_type = unicode
range_type = xrange
string_types = (str, unicode)
iterkeys = lambda d: d.iterkeys()
itervalues = lambda d: d.itervalues()
iteritems = lambda d: d.iteritems()
import cPickle as pickle
from cStringIO import StringIO as BytesIO, StringIO
NativeStringIO = BytesIO
exec('def reraise(tp, value, tb=None):\n raise tp, value, tb')
from itertools import imap, izip, ifilter
intern = intern
def implements_iterator(cls):
cls.next = cls.__next__
del cls.__next__
return cls
def implements_to_string(cls):
cls.__unicode__ = cls.__str__
cls.__str__ = lambda x: x.__unicode__().encode('utf-8')
return cls
get_next = lambda x: x.next
def encode_filename(filename):
if isinstance(filename, unicode):
return filename.encode('utf-8')
return filename
try:
next = next
except NameError:
def next(it):
return it.next()
def with_metaclass(meta, *bases):
# This requires a bit of explanation: the basic idea is to make a
# dummy metaclass for one level of class instanciation that replaces
# itself with the actual metaclass. Because of internal type checks
# we also need to make sure that we downgrade the custom metaclass
# for one level to something closer to type (that's why __call__ and
# __init__ comes back from type etc.).
#
# This has the advantage over six.with_metaclass in that it does not
# introduce dummy classes into the final MRO.
class metaclass(meta):
__call__ = type.__call__
__init__ = type.__init__
def __new__(cls, name, this_bases, d):
if this_bases is None:
return type.__new__(cls, name, (), d)
return meta(name, bases, d)
return metaclass('temporary_class', None, {})
try:
from collections import Mapping as mapping_types
except ImportError:
import UserDict
mapping_types = (UserDict.UserDict, UserDict.DictMixin, dict)
# common types. These do exist in the special types module too which however
# does not exist in IronPython out of the box. Also that way we don't have
# to deal with implementation specific stuff here
class _C(object):
def method(self): pass
def _func():
yield None
function_type = type(_func)
generator_type = type(_func())
method_type = type(_C().method)
code_type = type(_C.method.__code__)
try:
raise TypeError()
except TypeError:
_tb = sys.exc_info()[2]
traceback_type = type(_tb)
frame_type = type(_tb.tb_frame)
try:
from urllib.parse import quote_from_bytes as url_quote
except ImportError:
from urllib import quote as url_quote
try:
from thread import allocate_lock
except ImportError:
try:
from threading import Lock as allocate_lock
except ImportError:
from dummy_thread import allocate_lock
Diff do arquivo suprimido porque uma ou mais linhas são muito longas
+311
Ver Arquivo
@@ -0,0 +1,311 @@
# -*- coding: utf-8 -*-
"""
jinja2.bccache
~~~~~~~~~~~~~~
This module implements the bytecode cache system Jinja is optionally
using. This is useful if you have very complex template situations and
the compiliation of all those templates slow down your application too
much.
Situations where this is useful are often forking web applications that
are initialized on the first request.
:copyright: (c) 2010 by the Jinja Team.
:license: BSD.
"""
from os import path, listdir
import sys
import marshal
import tempfile
import fnmatch
from hashlib import sha1
from jinja2.utils import open_if_exists
from jinja2._compat import BytesIO, pickle, PY2, text_type
# marshal works better on 3.x, one hack less required
if not PY2:
marshal_dump = marshal.dump
marshal_load = marshal.load
else:
def marshal_dump(code, f):
if isinstance(f, file):
marshal.dump(code, f)
else:
f.write(marshal.dumps(code))
def marshal_load(f):
if isinstance(f, file):
return marshal.load(f)
return marshal.loads(f.read())
bc_version = 2
# magic version used to only change with new jinja versions. With 2.6
# we change this to also take Python version changes into account. The
# reason for this is that Python tends to segfault if fed earlier bytecode
# versions because someone thought it would be a good idea to reuse opcodes
# or make Python incompatible with earlier versions.
bc_magic = 'j2'.encode('ascii') + \
pickle.dumps(bc_version, 2) + \
pickle.dumps((sys.version_info[0] << 24) | sys.version_info[1])
class Bucket(object):
"""Buckets are used to store the bytecode for one template. It's created
and initialized by the bytecode cache and passed to the loading functions.
The buckets get an internal checksum from the cache assigned and use this
to automatically reject outdated cache material. Individual bytecode
cache subclasses don't have to care about cache invalidation.
"""
def __init__(self, environment, key, checksum):
self.environment = environment
self.key = key
self.checksum = checksum
self.reset()
def reset(self):
"""Resets the bucket (unloads the bytecode)."""
self.code = None
def load_bytecode(self, f):
"""Loads bytecode from a file or file like object."""
# make sure the magic header is correct
magic = f.read(len(bc_magic))
if magic != bc_magic:
self.reset()
return
# the source code of the file changed, we need to reload
checksum = pickle.load(f)
if self.checksum != checksum:
self.reset()
return
self.code = marshal_load(f)
def write_bytecode(self, f):
"""Dump the bytecode into the file or file like object passed."""
if self.code is None:
raise TypeError('can\'t write empty bucket')
f.write(bc_magic)
pickle.dump(self.checksum, f, 2)
marshal_dump(self.code, f)
def bytecode_from_string(self, string):
"""Load bytecode from a string."""
self.load_bytecode(BytesIO(string))
def bytecode_to_string(self):
"""Return the bytecode as string."""
out = BytesIO()
self.write_bytecode(out)
return out.getvalue()
class BytecodeCache(object):
"""To implement your own bytecode cache you have to subclass this class
and override :meth:`load_bytecode` and :meth:`dump_bytecode`. Both of
these methods are passed a :class:`~jinja2.bccache.Bucket`.
A very basic bytecode cache that saves the bytecode on the file system::
from os import path
class MyCache(BytecodeCache):
def __init__(self, directory):
self.directory = directory
def load_bytecode(self, bucket):
filename = path.join(self.directory, bucket.key)
if path.exists(filename):
with open(filename, 'rb') as f:
bucket.load_bytecode(f)
def dump_bytecode(self, bucket):
filename = path.join(self.directory, bucket.key)
with open(filename, 'wb') as f:
bucket.write_bytecode(f)
A more advanced version of a filesystem based bytecode cache is part of
Jinja2.
"""
def load_bytecode(self, bucket):
"""Subclasses have to override this method to load bytecode into a
bucket. If they are not able to find code in the cache for the
bucket, it must not do anything.
"""
raise NotImplementedError()
def dump_bytecode(self, bucket):
"""Subclasses have to override this method to write the bytecode
from a bucket back to the cache. If it unable to do so it must not
fail silently but raise an exception.
"""
raise NotImplementedError()
def clear(self):
"""Clears the cache. This method is not used by Jinja2 but should be
implemented to allow applications to clear the bytecode cache used
by a particular environment.
"""
def get_cache_key(self, name, filename=None):
"""Returns the unique hash key for this template name."""
hash = sha1(name.encode('utf-8'))
if filename is not None:
filename = '|' + filename
if isinstance(filename, text_type):
filename = filename.encode('utf-8')
hash.update(filename)
return hash.hexdigest()
def get_source_checksum(self, source):
"""Returns a checksum for the source."""
return sha1(source.encode('utf-8')).hexdigest()
def get_bucket(self, environment, name, filename, source):
"""Return a cache bucket for the given template. All arguments are
mandatory but filename may be `None`.
"""
key = self.get_cache_key(name, filename)
checksum = self.get_source_checksum(source)
bucket = Bucket(environment, key, checksum)
self.load_bytecode(bucket)
return bucket
def set_bucket(self, bucket):
"""Put the bucket into the cache."""
self.dump_bytecode(bucket)
class FileSystemBytecodeCache(BytecodeCache):
"""A bytecode cache that stores bytecode on the filesystem. It accepts
two arguments: The directory where the cache items are stored and a
pattern string that is used to build the filename.
If no directory is specified the system temporary items folder is used.
The pattern can be used to have multiple separate caches operate on the
same directory. The default pattern is ``'__jinja2_%s.cache'``. ``%s``
is replaced with the cache key.
>>> bcc = FileSystemBytecodeCache('/tmp/jinja_cache', '%s.cache')
This bytecode cache supports clearing of the cache using the clear method.
"""
def __init__(self, directory=None, pattern='__jinja2_%s.cache'):
if directory is None:
directory = tempfile.gettempdir()
self.directory = directory
self.pattern = pattern
def _get_cache_filename(self, bucket):
return path.join(self.directory, self.pattern % bucket.key)
def load_bytecode(self, bucket):
f = open_if_exists(self._get_cache_filename(bucket), 'rb')
if f is not None:
try:
bucket.load_bytecode(f)
finally:
f.close()
def dump_bytecode(self, bucket):
f = open(self._get_cache_filename(bucket), 'wb')
try:
bucket.write_bytecode(f)
finally:
f.close()
def clear(self):
# imported lazily here because google app-engine doesn't support
# write access on the file system and the function does not exist
# normally.
from os import remove
files = fnmatch.filter(listdir(self.directory), self.pattern % '*')
for filename in files:
try:
remove(path.join(self.directory, filename))
except OSError:
pass
class MemcachedBytecodeCache(BytecodeCache):
"""This class implements a bytecode cache that uses a memcache cache for
storing the information. It does not enforce a specific memcache library
(tummy's memcache or cmemcache) but will accept any class that provides
the minimal interface required.
Libraries compatible with this class:
- `werkzeug <http://werkzeug.pocoo.org/>`_.contrib.cache
- `python-memcached <http://www.tummy.com/Community/software/python-memcached/>`_
- `cmemcache <http://gijsbert.org/cmemcache/>`_
(Unfortunately the django cache interface is not compatible because it
does not support storing binary data, only unicode. You can however pass
the underlying cache client to the bytecode cache which is available
as `django.core.cache.cache._client`.)
The minimal interface for the client passed to the constructor is this:
.. class:: MinimalClientInterface
.. method:: set(key, value[, timeout])
Stores the bytecode in the cache. `value` is a string and
`timeout` the timeout of the key. If timeout is not provided
a default timeout or no timeout should be assumed, if it's
provided it's an integer with the number of seconds the cache
item should exist.
.. method:: get(key)
Returns the value for the cache key. If the item does not
exist in the cache the return value must be `None`.
The other arguments to the constructor are the prefix for all keys that
is added before the actual cache key and the timeout for the bytecode in
the cache system. We recommend a high (or no) timeout.
This bytecode cache does not support clearing of used items in the cache.
The clear method is a no-operation function.
.. versionadded:: 2.7
Added support for ignoring memcache errors through the
`ignore_memcache_errors` parameter.
"""
def __init__(self, client, prefix='jinja2/bytecode/', timeout=None,
ignore_memcache_errors=True):
self.client = client
self.prefix = prefix
self.timeout = timeout
self.ignore_memcache_errors = ignore_memcache_errors
def load_bytecode(self, bucket):
try:
code = self.client.get(self.prefix + bucket.key)
except Exception:
if not self.ignore_memcache_errors:
raise
code = None
if code is not None:
bucket.bytecode_from_string(code)
def dump_bytecode(self, bucket):
args = (self.prefix + bucket.key, bucket.bytecode_to_string())
if self.timeout is not None:
args += (self.timeout,)
try:
self.client.set(*args)
except Exception:
if not self.ignore_memcache_errors:
raise
+1640
Ver Arquivo
Diferenças do arquivo suprimidas por serem muito extensas Carregar Diff
+32
Ver Arquivo
@@ -0,0 +1,32 @@
# -*- coding: utf-8 -*-
"""
jinja.constants
~~~~~~~~~~~~~~~
Various constants.
:copyright: (c) 2010 by the Jinja Team.
:license: BSD, see LICENSE for more details.
"""
#: list of lorem ipsum words used by the lipsum() helper function
LOREM_IPSUM_WORDS = u'''\
a ac accumsan ad adipiscing aenean aliquam aliquet amet ante aptent arcu at
auctor augue bibendum blandit class commodo condimentum congue consectetuer
consequat conubia convallis cras cubilia cum curabitur curae cursus dapibus
diam dictum dictumst dignissim dis dolor donec dui duis egestas eget eleifend
elementum elit enim erat eros est et etiam eu euismod facilisi facilisis fames
faucibus felis fermentum feugiat fringilla fusce gravida habitant habitasse hac
hendrerit hymenaeos iaculis id imperdiet in inceptos integer interdum ipsum
justo lacinia lacus laoreet lectus leo libero ligula litora lobortis lorem
luctus maecenas magna magnis malesuada massa mattis mauris metus mi molestie
mollis montes morbi mus nam nascetur natoque nec neque netus nibh nisi nisl non
nonummy nostra nulla nullam nunc odio orci ornare parturient pede pellentesque
penatibus per pharetra phasellus placerat platea porta porttitor posuere
potenti praesent pretium primis proin pulvinar purus quam quis quisque rhoncus
ridiculus risus rutrum sagittis sapien scelerisque sed sem semper senectus sit
sociis sociosqu sodales sollicitudin suscipit suspendisse taciti tellus tempor
tempus tincidunt torquent tortor tristique turpis ullamcorper ultrices
ultricies urna ut varius vehicula vel velit venenatis vestibulum vitae vivamus
viverra volutpat vulputate'''
+337
Ver Arquivo
@@ -0,0 +1,337 @@
# -*- coding: utf-8 -*-
"""
jinja2.debug
~~~~~~~~~~~~
Implements the debug interface for Jinja. This module does some pretty
ugly stuff with the Python traceback system in order to achieve tracebacks
with correct line numbers, locals and contents.
:copyright: (c) 2010 by the Jinja Team.
:license: BSD, see LICENSE for more details.
"""
import sys
import traceback
from types import TracebackType
from jinja2.utils import missing, internal_code
from jinja2.exceptions import TemplateSyntaxError
from jinja2._compat import iteritems, reraise, code_type
# on pypy we can take advantage of transparent proxies
try:
from __pypy__ import tproxy
except ImportError:
tproxy = None
# how does the raise helper look like?
try:
exec("raise TypeError, 'foo'")
except SyntaxError:
raise_helper = 'raise __jinja_exception__[1]'
except TypeError:
raise_helper = 'raise __jinja_exception__[0], __jinja_exception__[1]'
class TracebackFrameProxy(object):
"""Proxies a traceback frame."""
def __init__(self, tb):
self.tb = tb
self._tb_next = None
@property
def tb_next(self):
return self._tb_next
def set_next(self, next):
if tb_set_next is not None:
try:
tb_set_next(self.tb, next and next.tb or None)
except Exception:
# this function can fail due to all the hackery it does
# on various python implementations. We just catch errors
# down and ignore them if necessary.
pass
self._tb_next = next
@property
def is_jinja_frame(self):
return '__jinja_template__' in self.tb.tb_frame.f_globals
def __getattr__(self, name):
return getattr(self.tb, name)
def make_frame_proxy(frame):
proxy = TracebackFrameProxy(frame)
if tproxy is None:
return proxy
def operation_handler(operation, *args, **kwargs):
if operation in ('__getattribute__', '__getattr__'):
return getattr(proxy, args[0])
elif operation == '__setattr__':
proxy.__setattr__(*args, **kwargs)
else:
return getattr(proxy, operation)(*args, **kwargs)
return tproxy(TracebackType, operation_handler)
class ProcessedTraceback(object):
"""Holds a Jinja preprocessed traceback for printing or reraising."""
def __init__(self, exc_type, exc_value, frames):
assert frames, 'no frames for this traceback?'
self.exc_type = exc_type
self.exc_value = exc_value
self.frames = frames
# newly concatenate the frames (which are proxies)
prev_tb = None
for tb in self.frames:
if prev_tb is not None:
prev_tb.set_next(tb)
prev_tb = tb
prev_tb.set_next(None)
def render_as_text(self, limit=None):
"""Return a string with the traceback."""
lines = traceback.format_exception(self.exc_type, self.exc_value,
self.frames[0], limit=limit)
return ''.join(lines).rstrip()
def render_as_html(self, full=False):
"""Return a unicode string with the traceback as rendered HTML."""
from jinja2.debugrenderer import render_traceback
return u'%s\n\n<!--\n%s\n-->' % (
render_traceback(self, full=full),
self.render_as_text().decode('utf-8', 'replace')
)
@property
def is_template_syntax_error(self):
"""`True` if this is a template syntax error."""
return isinstance(self.exc_value, TemplateSyntaxError)
@property
def exc_info(self):
"""Exception info tuple with a proxy around the frame objects."""
return self.exc_type, self.exc_value, self.frames[0]
@property
def standard_exc_info(self):
"""Standard python exc_info for re-raising"""
tb = self.frames[0]
# the frame will be an actual traceback (or transparent proxy) if
# we are on pypy or a python implementation with support for tproxy
if type(tb) is not TracebackType:
tb = tb.tb
return self.exc_type, self.exc_value, tb
def make_traceback(exc_info, source_hint=None):
"""Creates a processed traceback object from the exc_info."""
exc_type, exc_value, tb = exc_info
if isinstance(exc_value, TemplateSyntaxError):
exc_info = translate_syntax_error(exc_value, source_hint)
initial_skip = 0
else:
initial_skip = 1
return translate_exception(exc_info, initial_skip)
def translate_syntax_error(error, source=None):
"""Rewrites a syntax error to please traceback systems."""
error.source = source
error.translated = True
exc_info = (error.__class__, error, None)
filename = error.filename
if filename is None:
filename = '<unknown>'
return fake_exc_info(exc_info, filename, error.lineno)
def translate_exception(exc_info, initial_skip=0):
"""If passed an exc_info it will automatically rewrite the exceptions
all the way down to the correct line numbers and frames.
"""
tb = exc_info[2]
frames = []
# skip some internal frames if wanted
for x in range(initial_skip):
if tb is not None:
tb = tb.tb_next
initial_tb = tb
while tb is not None:
# skip frames decorated with @internalcode. These are internal
# calls we can't avoid and that are useless in template debugging
# output.
if tb.tb_frame.f_code in internal_code:
tb = tb.tb_next
continue
# save a reference to the next frame if we override the current
# one with a faked one.
next = tb.tb_next
# fake template exceptions
template = tb.tb_frame.f_globals.get('__jinja_template__')
if template is not None:
lineno = template.get_corresponding_lineno(tb.tb_lineno)
tb = fake_exc_info(exc_info[:2] + (tb,), template.filename,
lineno)[2]
frames.append(make_frame_proxy(tb))
tb = next
# if we don't have any exceptions in the frames left, we have to
# reraise it unchanged.
# XXX: can we backup here? when could this happen?
if not frames:
reraise(exc_info[0], exc_info[1], exc_info[2])
return ProcessedTraceback(exc_info[0], exc_info[1], frames)
def fake_exc_info(exc_info, filename, lineno):
"""Helper for `translate_exception`."""
exc_type, exc_value, tb = exc_info
# figure the real context out
if tb is not None:
real_locals = tb.tb_frame.f_locals.copy()
ctx = real_locals.get('context')
if ctx:
locals = ctx.get_all()
else:
locals = {}
for name, value in iteritems(real_locals):
if name.startswith('l_') and value is not missing:
locals[name[2:]] = value
# if there is a local called __jinja_exception__, we get
# rid of it to not break the debug functionality.
locals.pop('__jinja_exception__', None)
else:
locals = {}
# assamble fake globals we need
globals = {
'__name__': filename,
'__file__': filename,
'__jinja_exception__': exc_info[:2],
# we don't want to keep the reference to the template around
# to not cause circular dependencies, but we mark it as Jinja
# frame for the ProcessedTraceback
'__jinja_template__': None
}
# and fake the exception
code = compile('\n' * (lineno - 1) + raise_helper, filename, 'exec')
# if it's possible, change the name of the code. This won't work
# on some python environments such as google appengine
try:
if tb is None:
location = 'template'
else:
function = tb.tb_frame.f_code.co_name
if function == 'root':
location = 'top-level template code'
elif function.startswith('block_'):
location = 'block "%s"' % function[6:]
else:
location = 'template'
code = code_type(0, code.co_nlocals, code.co_stacksize,
code.co_flags, code.co_code, code.co_consts,
code.co_names, code.co_varnames, filename,
location, code.co_firstlineno,
code.co_lnotab, (), ())
except:
pass
# execute the code and catch the new traceback
try:
exec(code, globals, locals)
except:
exc_info = sys.exc_info()
new_tb = exc_info[2].tb_next
# return without this frame
return exc_info[:2] + (new_tb,)
def _init_ugly_crap():
"""This function implements a few ugly things so that we can patch the
traceback objects. The function returned allows resetting `tb_next` on
any python traceback object. Do not attempt to use this on non cpython
interpreters
"""
import ctypes
from types import TracebackType
# figure out side of _Py_ssize_t
if hasattr(ctypes.pythonapi, 'Py_InitModule4_64'):
_Py_ssize_t = ctypes.c_int64
else:
_Py_ssize_t = ctypes.c_int
# regular python
class _PyObject(ctypes.Structure):
pass
_PyObject._fields_ = [
('ob_refcnt', _Py_ssize_t),
('ob_type', ctypes.POINTER(_PyObject))
]
# python with trace
if hasattr(sys, 'getobjects'):
class _PyObject(ctypes.Structure):
pass
_PyObject._fields_ = [
('_ob_next', ctypes.POINTER(_PyObject)),
('_ob_prev', ctypes.POINTER(_PyObject)),
('ob_refcnt', _Py_ssize_t),
('ob_type', ctypes.POINTER(_PyObject))
]
class _Traceback(_PyObject):
pass
_Traceback._fields_ = [
('tb_next', ctypes.POINTER(_Traceback)),
('tb_frame', ctypes.POINTER(_PyObject)),
('tb_lasti', ctypes.c_int),
('tb_lineno', ctypes.c_int)
]
def tb_set_next(tb, next):
"""Set the tb_next attribute of a traceback object."""
if not (isinstance(tb, TracebackType) and
(next is None or isinstance(next, TracebackType))):
raise TypeError('tb_set_next arguments must be traceback objects')
obj = _Traceback.from_address(id(tb))
if tb.tb_next is not None:
old = _Traceback.from_address(id(tb.tb_next))
old.ob_refcnt -= 1
if next is None:
obj.tb_next = ctypes.POINTER(_Traceback)()
else:
next = _Traceback.from_address(id(next))
next.ob_refcnt += 1
obj.tb_next = ctypes.pointer(next)
return tb_set_next
# try to get a tb_set_next implementation if we don't have transparent
# proxies.
tb_set_next = None
if tproxy is None:
try:
tb_set_next = _init_ugly_crap()
except:
pass
del _init_ugly_crap
+43
Ver Arquivo
@@ -0,0 +1,43 @@
# -*- coding: utf-8 -*-
"""
jinja2.defaults
~~~~~~~~~~~~~~~
Jinja default filters and tags.
:copyright: (c) 2010 by the Jinja Team.
:license: BSD, see LICENSE for more details.
"""
from jinja2._compat import range_type
from jinja2.utils import generate_lorem_ipsum, Cycler, Joiner
# defaults for the parser / lexer
BLOCK_START_STRING = '{%'
BLOCK_END_STRING = '%}'
VARIABLE_START_STRING = '{{'
VARIABLE_END_STRING = '}}'
COMMENT_START_STRING = '{#'
COMMENT_END_STRING = '#}'
LINE_STATEMENT_PREFIX = None
LINE_COMMENT_PREFIX = None
TRIM_BLOCKS = False
LSTRIP_BLOCKS = False
NEWLINE_SEQUENCE = '\n'
KEEP_TRAILING_NEWLINE = False
# default filters, tests and namespace
from jinja2.filters import FILTERS as DEFAULT_FILTERS
from jinja2.tests import TESTS as DEFAULT_TESTS
DEFAULT_NAMESPACE = {
'range': range_type,
'dict': lambda **kw: kw,
'lipsum': generate_lorem_ipsum,
'cycler': Cycler,
'joiner': Joiner
}
# export all constants
__all__ = tuple(x for x in locals().keys() if x.isupper())
+1191
Ver Arquivo
Diferenças do arquivo suprimidas por serem muito extensas Carregar Diff
+146
Ver Arquivo
@@ -0,0 +1,146 @@
# -*- coding: utf-8 -*-
"""
jinja2.exceptions
~~~~~~~~~~~~~~~~~
Jinja exceptions.
:copyright: (c) 2010 by the Jinja Team.
:license: BSD, see LICENSE for more details.
"""
from jinja2._compat import imap, text_type, PY2, implements_to_string
class TemplateError(Exception):
"""Baseclass for all template errors."""
if PY2:
def __init__(self, message=None):
if message is not None:
message = text_type(message).encode('utf-8')
Exception.__init__(self, message)
@property
def message(self):
if self.args:
message = self.args[0]
if message is not None:
return message.decode('utf-8', 'replace')
def __unicode__(self):
return self.message or u''
else:
def __init__(self, message=None):
Exception.__init__(self, message)
@property
def message(self):
if self.args:
message = self.args[0]
if message is not None:
return message
@implements_to_string
class TemplateNotFound(IOError, LookupError, TemplateError):
"""Raised if a template does not exist."""
# looks weird, but removes the warning descriptor that just
# bogusly warns us about message being deprecated
message = None
def __init__(self, name, message=None):
IOError.__init__(self)
if message is None:
message = name
self.message = message
self.name = name
self.templates = [name]
def __str__(self):
return self.message
class TemplatesNotFound(TemplateNotFound):
"""Like :class:`TemplateNotFound` but raised if multiple templates
are selected. This is a subclass of :class:`TemplateNotFound`
exception, so just catching the base exception will catch both.
.. versionadded:: 2.2
"""
def __init__(self, names=(), message=None):
if message is None:
message = u'none of the templates given were found: ' + \
u', '.join(imap(text_type, names))
TemplateNotFound.__init__(self, names and names[-1] or None, message)
self.templates = list(names)
@implements_to_string
class TemplateSyntaxError(TemplateError):
"""Raised to tell the user that there is a problem with the template."""
def __init__(self, message, lineno, name=None, filename=None):
TemplateError.__init__(self, message)
self.lineno = lineno
self.name = name
self.filename = filename
self.source = None
# this is set to True if the debug.translate_syntax_error
# function translated the syntax error into a new traceback
self.translated = False
def __str__(self):
# for translated errors we only return the message
if self.translated:
return self.message
# otherwise attach some stuff
location = 'line %d' % self.lineno
name = self.filename or self.name
if name:
location = 'File "%s", %s' % (name, location)
lines = [self.message, ' ' + location]
# if the source is set, add the line to the output
if self.source is not None:
try:
line = self.source.splitlines()[self.lineno - 1]
except IndexError:
line = None
if line:
lines.append(' ' + line.strip())
return u'\n'.join(lines)
class TemplateAssertionError(TemplateSyntaxError):
"""Like a template syntax error, but covers cases where something in the
template caused an error at compile time that wasn't necessarily caused
by a syntax error. However it's a direct subclass of
:exc:`TemplateSyntaxError` and has the same attributes.
"""
class TemplateRuntimeError(TemplateError):
"""A generic runtime error in the template engine. Under some situations
Jinja may raise this exception.
"""
class UndefinedError(TemplateRuntimeError):
"""Raised if a template tries to operate on :class:`Undefined`."""
class SecurityError(TemplateRuntimeError):
"""Raised if a template tries to do something insecure if the
sandbox is enabled.
"""
class FilterArgumentError(TemplateRuntimeError):
"""This error is raised if a filter was called with inappropriate
arguments
"""
+636
Ver Arquivo
@@ -0,0 +1,636 @@
# -*- coding: utf-8 -*-
"""
jinja2.ext
~~~~~~~~~~
Jinja extensions allow to add custom tags similar to the way django custom
tags work. By default two example extensions exist: an i18n and a cache
extension.
:copyright: (c) 2010 by the Jinja Team.
:license: BSD.
"""
from jinja2 import nodes
from jinja2.defaults import BLOCK_START_STRING, \
BLOCK_END_STRING, VARIABLE_START_STRING, VARIABLE_END_STRING, \
COMMENT_START_STRING, COMMENT_END_STRING, LINE_STATEMENT_PREFIX, \
LINE_COMMENT_PREFIX, TRIM_BLOCKS, NEWLINE_SEQUENCE, \
KEEP_TRAILING_NEWLINE, LSTRIP_BLOCKS
from jinja2.environment import Environment
from jinja2.runtime import concat
from jinja2.exceptions import TemplateAssertionError, TemplateSyntaxError
from jinja2.utils import contextfunction, import_string, Markup
from jinja2._compat import next, with_metaclass, string_types, iteritems
# the only real useful gettext functions for a Jinja template. Note
# that ugettext must be assigned to gettext as Jinja doesn't support
# non unicode strings.
GETTEXT_FUNCTIONS = ('_', 'gettext', 'ngettext')
class ExtensionRegistry(type):
"""Gives the extension an unique identifier."""
def __new__(cls, name, bases, d):
rv = type.__new__(cls, name, bases, d)
rv.identifier = rv.__module__ + '.' + rv.__name__
return rv
class Extension(with_metaclass(ExtensionRegistry, object)):
"""Extensions can be used to add extra functionality to the Jinja template
system at the parser level. Custom extensions are bound to an environment
but may not store environment specific data on `self`. The reason for
this is that an extension can be bound to another environment (for
overlays) by creating a copy and reassigning the `environment` attribute.
As extensions are created by the environment they cannot accept any
arguments for configuration. One may want to work around that by using
a factory function, but that is not possible as extensions are identified
by their import name. The correct way to configure the extension is
storing the configuration values on the environment. Because this way the
environment ends up acting as central configuration storage the
attributes may clash which is why extensions have to ensure that the names
they choose for configuration are not too generic. ``prefix`` for example
is a terrible name, ``fragment_cache_prefix`` on the other hand is a good
name as includes the name of the extension (fragment cache).
"""
#: if this extension parses this is the list of tags it's listening to.
tags = set()
#: the priority of that extension. This is especially useful for
#: extensions that preprocess values. A lower value means higher
#: priority.
#:
#: .. versionadded:: 2.4
priority = 100
def __init__(self, environment):
self.environment = environment
def bind(self, environment):
"""Create a copy of this extension bound to another environment."""
rv = object.__new__(self.__class__)
rv.__dict__.update(self.__dict__)
rv.environment = environment
return rv
def preprocess(self, source, name, filename=None):
"""This method is called before the actual lexing and can be used to
preprocess the source. The `filename` is optional. The return value
must be the preprocessed source.
"""
return source
def filter_stream(self, stream):
"""It's passed a :class:`~jinja2.lexer.TokenStream` that can be used
to filter tokens returned. This method has to return an iterable of
:class:`~jinja2.lexer.Token`\s, but it doesn't have to return a
:class:`~jinja2.lexer.TokenStream`.
In the `ext` folder of the Jinja2 source distribution there is a file
called `inlinegettext.py` which implements a filter that utilizes this
method.
"""
return stream
def parse(self, parser):
"""If any of the :attr:`tags` matched this method is called with the
parser as first argument. The token the parser stream is pointing at
is the name token that matched. This method has to return one or a
list of multiple nodes.
"""
raise NotImplementedError()
def attr(self, name, lineno=None):
"""Return an attribute node for the current extension. This is useful
to pass constants on extensions to generated template code.
::
self.attr('_my_attribute', lineno=lineno)
"""
return nodes.ExtensionAttribute(self.identifier, name, lineno=lineno)
def call_method(self, name, args=None, kwargs=None, dyn_args=None,
dyn_kwargs=None, lineno=None):
"""Call a method of the extension. This is a shortcut for
:meth:`attr` + :class:`jinja2.nodes.Call`.
"""
if args is None:
args = []
if kwargs is None:
kwargs = []
return nodes.Call(self.attr(name, lineno=lineno), args, kwargs,
dyn_args, dyn_kwargs, lineno=lineno)
@contextfunction
def _gettext_alias(__context, *args, **kwargs):
return __context.call(__context.resolve('gettext'), *args, **kwargs)
def _make_new_gettext(func):
@contextfunction
def gettext(__context, __string, **variables):
rv = __context.call(func, __string)
if __context.eval_ctx.autoescape:
rv = Markup(rv)
return rv % variables
return gettext
def _make_new_ngettext(func):
@contextfunction
def ngettext(__context, __singular, __plural, __num, **variables):
variables.setdefault('num', __num)
rv = __context.call(func, __singular, __plural, __num)
if __context.eval_ctx.autoescape:
rv = Markup(rv)
return rv % variables
return ngettext
class InternationalizationExtension(Extension):
"""This extension adds gettext support to Jinja2."""
tags = set(['trans'])
# TODO: the i18n extension is currently reevaluating values in a few
# situations. Take this example:
# {% trans count=something() %}{{ count }} foo{% pluralize
# %}{{ count }} fooss{% endtrans %}
# something is called twice here. One time for the gettext value and
# the other time for the n-parameter of the ngettext function.
def __init__(self, environment):
Extension.__init__(self, environment)
environment.globals['_'] = _gettext_alias
environment.extend(
install_gettext_translations=self._install,
install_null_translations=self._install_null,
install_gettext_callables=self._install_callables,
uninstall_gettext_translations=self._uninstall,
extract_translations=self._extract,
newstyle_gettext=False
)
def _install(self, translations, newstyle=None):
gettext = getattr(translations, 'ugettext', None)
if gettext is None:
gettext = translations.gettext
ngettext = getattr(translations, 'ungettext', None)
if ngettext is None:
ngettext = translations.ngettext
self._install_callables(gettext, ngettext, newstyle)
def _install_null(self, newstyle=None):
self._install_callables(
lambda x: x,
lambda s, p, n: (n != 1 and (p,) or (s,))[0],
newstyle
)
def _install_callables(self, gettext, ngettext, newstyle=None):
if newstyle is not None:
self.environment.newstyle_gettext = newstyle
if self.environment.newstyle_gettext:
gettext = _make_new_gettext(gettext)
ngettext = _make_new_ngettext(ngettext)
self.environment.globals.update(
gettext=gettext,
ngettext=ngettext
)
def _uninstall(self, translations):
for key in 'gettext', 'ngettext':
self.environment.globals.pop(key, None)
def _extract(self, source, gettext_functions=GETTEXT_FUNCTIONS):
if isinstance(source, string_types):
source = self.environment.parse(source)
return extract_from_ast(source, gettext_functions)
def parse(self, parser):
"""Parse a translatable tag."""
lineno = next(parser.stream).lineno
num_called_num = False
# find all the variables referenced. Additionally a variable can be
# defined in the body of the trans block too, but this is checked at
# a later state.
plural_expr = None
plural_expr_assignment = None
variables = {}
while parser.stream.current.type != 'block_end':
if variables:
parser.stream.expect('comma')
# skip colon for python compatibility
if parser.stream.skip_if('colon'):
break
name = parser.stream.expect('name')
if name.value in variables:
parser.fail('translatable variable %r defined twice.' %
name.value, name.lineno,
exc=TemplateAssertionError)
# expressions
if parser.stream.current.type == 'assign':
next(parser.stream)
variables[name.value] = var = parser.parse_expression()
else:
variables[name.value] = var = nodes.Name(name.value, 'load')
if plural_expr is None:
if isinstance(var, nodes.Call):
plural_expr = nodes.Name('_trans', 'load')
variables[name.value] = plural_expr
plural_expr_assignment = nodes.Assign(
nodes.Name('_trans', 'store'), var)
else:
plural_expr = var
num_called_num = name.value == 'num'
parser.stream.expect('block_end')
plural = plural_names = None
have_plural = False
referenced = set()
# now parse until endtrans or pluralize
singular_names, singular = self._parse_block(parser, True)
if singular_names:
referenced.update(singular_names)
if plural_expr is None:
plural_expr = nodes.Name(singular_names[0], 'load')
num_called_num = singular_names[0] == 'num'
# if we have a pluralize block, we parse that too
if parser.stream.current.test('name:pluralize'):
have_plural = True
next(parser.stream)
if parser.stream.current.type != 'block_end':
name = parser.stream.expect('name')
if name.value not in variables:
parser.fail('unknown variable %r for pluralization' %
name.value, name.lineno,
exc=TemplateAssertionError)
plural_expr = variables[name.value]
num_called_num = name.value == 'num'
parser.stream.expect('block_end')
plural_names, plural = self._parse_block(parser, False)
next(parser.stream)
referenced.update(plural_names)
else:
next(parser.stream)
# register free names as simple name expressions
for var in referenced:
if var not in variables:
variables[var] = nodes.Name(var, 'load')
if not have_plural:
plural_expr = None
elif plural_expr is None:
parser.fail('pluralize without variables', lineno)
node = self._make_node(singular, plural, variables, plural_expr,
bool(referenced),
num_called_num and have_plural)
node.set_lineno(lineno)
if plural_expr_assignment is not None:
return [plural_expr_assignment, node]
else:
return node
def _parse_block(self, parser, allow_pluralize):
"""Parse until the next block tag with a given name."""
referenced = []
buf = []
while 1:
if parser.stream.current.type == 'data':
buf.append(parser.stream.current.value.replace('%', '%%'))
next(parser.stream)
elif parser.stream.current.type == 'variable_begin':
next(parser.stream)
name = parser.stream.expect('name').value
referenced.append(name)
buf.append('%%(%s)s' % name)
parser.stream.expect('variable_end')
elif parser.stream.current.type == 'block_begin':
next(parser.stream)
if parser.stream.current.test('name:endtrans'):
break
elif parser.stream.current.test('name:pluralize'):
if allow_pluralize:
break
parser.fail('a translatable section can have only one '
'pluralize section')
parser.fail('control structures in translatable sections are '
'not allowed')
elif parser.stream.eos:
parser.fail('unclosed translation block')
else:
assert False, 'internal parser error'
return referenced, concat(buf)
def _make_node(self, singular, plural, variables, plural_expr,
vars_referenced, num_called_num):
"""Generates a useful node from the data provided."""
# no variables referenced? no need to escape for old style
# gettext invocations only if there are vars.
if not vars_referenced and not self.environment.newstyle_gettext:
singular = singular.replace('%%', '%')
if plural:
plural = plural.replace('%%', '%')
# singular only:
if plural_expr is None:
gettext = nodes.Name('gettext', 'load')
node = nodes.Call(gettext, [nodes.Const(singular)],
[], None, None)
# singular and plural
else:
ngettext = nodes.Name('ngettext', 'load')
node = nodes.Call(ngettext, [
nodes.Const(singular),
nodes.Const(plural),
plural_expr
], [], None, None)
# in case newstyle gettext is used, the method is powerful
# enough to handle the variable expansion and autoescape
# handling itself
if self.environment.newstyle_gettext:
for key, value in iteritems(variables):
# the function adds that later anyways in case num was
# called num, so just skip it.
if num_called_num and key == 'num':
continue
node.kwargs.append(nodes.Keyword(key, value))
# otherwise do that here
else:
# mark the return value as safe if we are in an
# environment with autoescaping turned on
node = nodes.MarkSafeIfAutoescape(node)
if variables:
node = nodes.Mod(node, nodes.Dict([
nodes.Pair(nodes.Const(key), value)
for key, value in variables.items()
]))
return nodes.Output([node])
class ExprStmtExtension(Extension):
"""Adds a `do` tag to Jinja2 that works like the print statement just
that it doesn't print the return value.
"""
tags = set(['do'])
def parse(self, parser):
node = nodes.ExprStmt(lineno=next(parser.stream).lineno)
node.node = parser.parse_tuple()
return node
class LoopControlExtension(Extension):
"""Adds break and continue to the template engine."""
tags = set(['break', 'continue'])
def parse(self, parser):
token = next(parser.stream)
if token.value == 'break':
return nodes.Break(lineno=token.lineno)
return nodes.Continue(lineno=token.lineno)
class WithExtension(Extension):
"""Adds support for a django-like with block."""
tags = set(['with'])
def parse(self, parser):
node = nodes.Scope(lineno=next(parser.stream).lineno)
assignments = []
while parser.stream.current.type != 'block_end':
lineno = parser.stream.current.lineno
if assignments:
parser.stream.expect('comma')
target = parser.parse_assign_target()
parser.stream.expect('assign')
expr = parser.parse_expression()
assignments.append(nodes.Assign(target, expr, lineno=lineno))
node.body = assignments + \
list(parser.parse_statements(('name:endwith',),
drop_needle=True))
return node
class AutoEscapeExtension(Extension):
"""Changes auto escape rules for a scope."""
tags = set(['autoescape'])
def parse(self, parser):
node = nodes.ScopedEvalContextModifier(lineno=next(parser.stream).lineno)
node.options = [
nodes.Keyword('autoescape', parser.parse_expression())
]
node.body = parser.parse_statements(('name:endautoescape',),
drop_needle=True)
return nodes.Scope([node])
def extract_from_ast(node, gettext_functions=GETTEXT_FUNCTIONS,
babel_style=True):
"""Extract localizable strings from the given template node. Per
default this function returns matches in babel style that means non string
parameters as well as keyword arguments are returned as `None`. This
allows Babel to figure out what you really meant if you are using
gettext functions that allow keyword arguments for placeholder expansion.
If you don't want that behavior set the `babel_style` parameter to `False`
which causes only strings to be returned and parameters are always stored
in tuples. As a consequence invalid gettext calls (calls without a single
string parameter or string parameters after non-string parameters) are
skipped.
This example explains the behavior:
>>> from jinja2 import Environment
>>> env = Environment()
>>> node = env.parse('{{ (_("foo"), _(), ngettext("foo", "bar", 42)) }}')
>>> list(extract_from_ast(node))
[(1, '_', 'foo'), (1, '_', ()), (1, 'ngettext', ('foo', 'bar', None))]
>>> list(extract_from_ast(node, babel_style=False))
[(1, '_', ('foo',)), (1, 'ngettext', ('foo', 'bar'))]
For every string found this function yields a ``(lineno, function,
message)`` tuple, where:
* ``lineno`` is the number of the line on which the string was found,
* ``function`` is the name of the ``gettext`` function used (if the
string was extracted from embedded Python code), and
* ``message`` is the string itself (a ``unicode`` object, or a tuple
of ``unicode`` objects for functions with multiple string arguments).
This extraction function operates on the AST and is because of that unable
to extract any comments. For comment support you have to use the babel
extraction interface or extract comments yourself.
"""
for node in node.find_all(nodes.Call):
if not isinstance(node.node, nodes.Name) or \
node.node.name not in gettext_functions:
continue
strings = []
for arg in node.args:
if isinstance(arg, nodes.Const) and \
isinstance(arg.value, string_types):
strings.append(arg.value)
else:
strings.append(None)
for arg in node.kwargs:
strings.append(None)
if node.dyn_args is not None:
strings.append(None)
if node.dyn_kwargs is not None:
strings.append(None)
if not babel_style:
strings = tuple(x for x in strings if x is not None)
if not strings:
continue
else:
if len(strings) == 1:
strings = strings[0]
else:
strings = tuple(strings)
yield node.lineno, node.node.name, strings
class _CommentFinder(object):
"""Helper class to find comments in a token stream. Can only
find comments for gettext calls forwards. Once the comment
from line 4 is found, a comment for line 1 will not return a
usable value.
"""
def __init__(self, tokens, comment_tags):
self.tokens = tokens
self.comment_tags = comment_tags
self.offset = 0
self.last_lineno = 0
def find_backwards(self, offset):
try:
for _, token_type, token_value in \
reversed(self.tokens[self.offset:offset]):
if token_type in ('comment', 'linecomment'):
try:
prefix, comment = token_value.split(None, 1)
except ValueError:
continue
if prefix in self.comment_tags:
return [comment.rstrip()]
return []
finally:
self.offset = offset
def find_comments(self, lineno):
if not self.comment_tags or self.last_lineno > lineno:
return []
for idx, (token_lineno, _, _) in enumerate(self.tokens[self.offset:]):
if token_lineno > lineno:
return self.find_backwards(self.offset + idx)
return self.find_backwards(len(self.tokens))
def babel_extract(fileobj, keywords, comment_tags, options):
"""Babel extraction method for Jinja templates.
.. versionchanged:: 2.3
Basic support for translation comments was added. If `comment_tags`
is now set to a list of keywords for extraction, the extractor will
try to find the best preceeding comment that begins with one of the
keywords. For best results, make sure to not have more than one
gettext call in one line of code and the matching comment in the
same line or the line before.
.. versionchanged:: 2.5.1
The `newstyle_gettext` flag can be set to `True` to enable newstyle
gettext calls.
.. versionchanged:: 2.7
A `silent` option can now be provided. If set to `False` template
syntax errors are propagated instead of being ignored.
:param fileobj: the file-like object the messages should be extracted from
:param keywords: a list of keywords (i.e. function names) that should be
recognized as translation functions
:param comment_tags: a list of translator tags to search for and include
in the results.
:param options: a dictionary of additional options (optional)
:return: an iterator over ``(lineno, funcname, message, comments)`` tuples.
(comments will be empty currently)
"""
extensions = set()
for extension in options.get('extensions', '').split(','):
extension = extension.strip()
if not extension:
continue
extensions.add(import_string(extension))
if InternationalizationExtension not in extensions:
extensions.add(InternationalizationExtension)
def getbool(options, key, default=False):
return options.get(key, str(default)).lower() in \
('1', 'on', 'yes', 'true')
silent = getbool(options, 'silent', True)
environment = Environment(
options.get('block_start_string', BLOCK_START_STRING),
options.get('block_end_string', BLOCK_END_STRING),
options.get('variable_start_string', VARIABLE_START_STRING),
options.get('variable_end_string', VARIABLE_END_STRING),
options.get('comment_start_string', COMMENT_START_STRING),
options.get('comment_end_string', COMMENT_END_STRING),
options.get('line_statement_prefix') or LINE_STATEMENT_PREFIX,
options.get('line_comment_prefix') or LINE_COMMENT_PREFIX,
getbool(options, 'trim_blocks', TRIM_BLOCKS),
getbool(options, 'lstrip_blocks', LSTRIP_BLOCKS),
NEWLINE_SEQUENCE,
getbool(options, 'keep_trailing_newline', KEEP_TRAILING_NEWLINE),
frozenset(extensions),
cache_size=0,
auto_reload=False
)
if getbool(options, 'newstyle_gettext'):
environment.newstyle_gettext = True
source = fileobj.read().decode(options.get('encoding', 'utf-8'))
try:
node = environment.parse(source)
tokens = list(environment.lex(environment.preprocess(source)))
except TemplateSyntaxError as e:
if not silent:
raise
# skip templates with syntax errors
return
finder = _CommentFinder(tokens, comment_tags)
for lineno, func, message in extract_from_ast(node, keywords):
yield lineno, func, message, finder.find_comments(lineno)
#: nicer import names
i18n = InternationalizationExtension
do = ExprStmtExtension
loopcontrols = LoopControlExtension
with_ = WithExtension
autoescape = AutoEscapeExtension
+987
Ver Arquivo
@@ -0,0 +1,987 @@
# -*- coding: utf-8 -*-
"""
jinja2.filters
~~~~~~~~~~~~~~
Bundled jinja filters.
:copyright: (c) 2010 by the Jinja Team.
:license: BSD, see LICENSE for more details.
"""
import re
import math
from random import choice
from operator import itemgetter
from itertools import groupby
from jinja2.utils import Markup, escape, pformat, urlize, soft_unicode, \
unicode_urlencode
from jinja2.runtime import Undefined
from jinja2.exceptions import FilterArgumentError
from jinja2._compat import next, imap, string_types, text_type, iteritems
_word_re = re.compile(r'\w+(?u)')
def contextfilter(f):
"""Decorator for marking context dependent filters. The current
:class:`Context` will be passed as first argument.
"""
f.contextfilter = True
return f
def evalcontextfilter(f):
"""Decorator for marking eval-context dependent filters. An eval
context object is passed as first argument. For more information
about the eval context, see :ref:`eval-context`.
.. versionadded:: 2.4
"""
f.evalcontextfilter = True
return f
def environmentfilter(f):
"""Decorator for marking evironment dependent filters. The current
:class:`Environment` is passed to the filter as first argument.
"""
f.environmentfilter = True
return f
def make_attrgetter(environment, attribute):
"""Returns a callable that looks up the given attribute from a
passed object with the rules of the environment. Dots are allowed
to access attributes of attributes. Integer parts in paths are
looked up as integers.
"""
if not isinstance(attribute, string_types) \
or ('.' not in attribute and not attribute.isdigit()):
return lambda x: environment.getitem(x, attribute)
attribute = attribute.split('.')
def attrgetter(item):
for part in attribute:
if part.isdigit():
part = int(part)
item = environment.getitem(item, part)
return item
return attrgetter
def do_forceescape(value):
"""Enforce HTML escaping. This will probably double escape variables."""
if hasattr(value, '__html__'):
value = value.__html__()
return escape(text_type(value))
def do_urlencode(value):
"""Escape strings for use in URLs (uses UTF-8 encoding). It accepts both
dictionaries and regular strings as well as pairwise iterables.
.. versionadded:: 2.7
"""
itemiter = None
if isinstance(value, dict):
itemiter = iteritems(value)
elif not isinstance(value, string_types):
try:
itemiter = iter(value)
except TypeError:
pass
if itemiter is None:
return unicode_urlencode(value)
return u'&'.join(unicode_urlencode(k) + '=' +
unicode_urlencode(v) for k, v in itemiter)
@evalcontextfilter
def do_replace(eval_ctx, s, old, new, count=None):
"""Return a copy of the value with all occurrences of a substring
replaced with a new one. The first argument is the substring
that should be replaced, the second is the replacement string.
If the optional third argument ``count`` is given, only the first
``count`` occurrences are replaced:
.. sourcecode:: jinja
{{ "Hello World"|replace("Hello", "Goodbye") }}
-> Goodbye World
{{ "aaaaargh"|replace("a", "d'oh, ", 2) }}
-> d'oh, d'oh, aaargh
"""
if count is None:
count = -1
if not eval_ctx.autoescape:
return text_type(s).replace(text_type(old), text_type(new), count)
if hasattr(old, '__html__') or hasattr(new, '__html__') and \
not hasattr(s, '__html__'):
s = escape(s)
else:
s = soft_unicode(s)
return s.replace(soft_unicode(old), soft_unicode(new), count)
def do_upper(s):
"""Convert a value to uppercase."""
return soft_unicode(s).upper()
def do_lower(s):
"""Convert a value to lowercase."""
return soft_unicode(s).lower()
@evalcontextfilter
def do_xmlattr(_eval_ctx, d, autospace=True):
"""Create an SGML/XML attribute string based on the items in a dict.
All values that are neither `none` nor `undefined` are automatically
escaped:
.. sourcecode:: html+jinja
<ul{{ {'class': 'my_list', 'missing': none,
'id': 'list-%d'|format(variable)}|xmlattr }}>
...
</ul>
Results in something like this:
.. sourcecode:: html
<ul class="my_list" id="list-42">
...
</ul>
As you can see it automatically prepends a space in front of the item
if the filter returned something unless the second parameter is false.
"""
rv = u' '.join(
u'%s="%s"' % (escape(key), escape(value))
for key, value in iteritems(d)
if value is not None and not isinstance(value, Undefined)
)
if autospace and rv:
rv = u' ' + rv
if _eval_ctx.autoescape:
rv = Markup(rv)
return rv
def do_capitalize(s):
"""Capitalize a value. The first character will be uppercase, all others
lowercase.
"""
return soft_unicode(s).capitalize()
def do_title(s):
"""Return a titlecased version of the value. I.e. words will start with
uppercase letters, all remaining characters are lowercase.
"""
rv = []
for item in re.compile(r'([-\s]+)(?u)').split(s):
if not item:
continue
rv.append(item[0].upper() + item[1:].lower())
return ''.join(rv)
def do_dictsort(value, case_sensitive=False, by='key'):
"""Sort a dict and yield (key, value) pairs. Because python dicts are
unsorted you may want to use this function to order them by either
key or value:
.. sourcecode:: jinja
{% for item in mydict|dictsort %}
sort the dict by key, case insensitive
{% for item in mydict|dictsort(true) %}
sort the dict by key, case sensitive
{% for item in mydict|dictsort(false, 'value') %}
sort the dict by key, case insensitive, sorted
normally and ordered by value.
"""
if by == 'key':
pos = 0
elif by == 'value':
pos = 1
else:
raise FilterArgumentError('You can only sort by either '
'"key" or "value"')
def sort_func(item):
value = item[pos]
if isinstance(value, string_types) and not case_sensitive:
value = value.lower()
return value
return sorted(value.items(), key=sort_func)
@environmentfilter
def do_sort(environment, value, reverse=False, case_sensitive=False,
attribute=None):
"""Sort an iterable. Per default it sorts ascending, if you pass it
true as first argument it will reverse the sorting.
If the iterable is made of strings the third parameter can be used to
control the case sensitiveness of the comparison which is disabled by
default.
.. sourcecode:: jinja
{% for item in iterable|sort %}
...
{% endfor %}
It is also possible to sort by an attribute (for example to sort
by the date of an object) by specifying the `attribute` parameter:
.. sourcecode:: jinja
{% for item in iterable|sort(attribute='date') %}
...
{% endfor %}
.. versionchanged:: 2.6
The `attribute` parameter was added.
"""
if not case_sensitive:
def sort_func(item):
if isinstance(item, string_types):
item = item.lower()
return item
else:
sort_func = None
if attribute is not None:
getter = make_attrgetter(environment, attribute)
def sort_func(item, processor=sort_func or (lambda x: x)):
return processor(getter(item))
return sorted(value, key=sort_func, reverse=reverse)
def do_default(value, default_value=u'', boolean=False):
"""If the value is undefined it will return the passed default value,
otherwise the value of the variable:
.. sourcecode:: jinja
{{ my_variable|default('my_variable is not defined') }}
This will output the value of ``my_variable`` if the variable was
defined, otherwise ``'my_variable is not defined'``. If you want
to use default with variables that evaluate to false you have to
set the second parameter to `true`:
.. sourcecode:: jinja
{{ ''|default('the string was empty', true) }}
"""
if isinstance(value, Undefined) or (boolean and not value):
return default_value
return value
@evalcontextfilter
def do_join(eval_ctx, value, d=u'', attribute=None):
"""Return a string which is the concatenation of the strings in the
sequence. The separator between elements is an empty string per
default, you can define it with the optional parameter:
.. sourcecode:: jinja
{{ [1, 2, 3]|join('|') }}
-> 1|2|3
{{ [1, 2, 3]|join }}
-> 123
It is also possible to join certain attributes of an object:
.. sourcecode:: jinja
{{ users|join(', ', attribute='username') }}
.. versionadded:: 2.6
The `attribute` parameter was added.
"""
if attribute is not None:
value = imap(make_attrgetter(eval_ctx.environment, attribute), value)
# no automatic escaping? joining is a lot eaiser then
if not eval_ctx.autoescape:
return text_type(d).join(imap(text_type, value))
# if the delimiter doesn't have an html representation we check
# if any of the items has. If yes we do a coercion to Markup
if not hasattr(d, '__html__'):
value = list(value)
do_escape = False
for idx, item in enumerate(value):
if hasattr(item, '__html__'):
do_escape = True
else:
value[idx] = text_type(item)
if do_escape:
d = escape(d)
else:
d = text_type(d)
return d.join(value)
# no html involved, to normal joining
return soft_unicode(d).join(imap(soft_unicode, value))
def do_center(value, width=80):
"""Centers the value in a field of a given width."""
return text_type(value).center(width)
@environmentfilter
def do_first(environment, seq):
"""Return the first item of a sequence."""
try:
return next(iter(seq))
except StopIteration:
return environment.undefined('No first item, sequence was empty.')
@environmentfilter
def do_last(environment, seq):
"""Return the last item of a sequence."""
try:
return next(iter(reversed(seq)))
except StopIteration:
return environment.undefined('No last item, sequence was empty.')
@environmentfilter
def do_random(environment, seq):
"""Return a random item from the sequence."""
try:
return choice(seq)
except IndexError:
return environment.undefined('No random item, sequence was empty.')
def do_filesizeformat(value, binary=False):
"""Format the value like a 'human-readable' file size (i.e. 13 kB,
4.1 MB, 102 Bytes, etc). Per default decimal prefixes are used (Mega,
Giga, etc.), if the second parameter is set to `True` the binary
prefixes are used (Mebi, Gibi).
"""
bytes = float(value)
base = binary and 1024 or 1000
prefixes = [
(binary and 'KiB' or 'kB'),
(binary and 'MiB' or 'MB'),
(binary and 'GiB' or 'GB'),
(binary and 'TiB' or 'TB'),
(binary and 'PiB' or 'PB'),
(binary and 'EiB' or 'EB'),
(binary and 'ZiB' or 'ZB'),
(binary and 'YiB' or 'YB')
]
if bytes == 1:
return '1 Byte'
elif bytes < base:
return '%d Bytes' % bytes
else:
for i, prefix in enumerate(prefixes):
unit = base ** (i + 2)
if bytes < unit:
return '%.1f %s' % ((base * bytes / unit), prefix)
return '%.1f %s' % ((base * bytes / unit), prefix)
def do_pprint(value, verbose=False):
"""Pretty print a variable. Useful for debugging.
With Jinja 1.2 onwards you can pass it a parameter. If this parameter
is truthy the output will be more verbose (this requires `pretty`)
"""
return pformat(value, verbose=verbose)
@evalcontextfilter
def do_urlize(eval_ctx, value, trim_url_limit=None, nofollow=False):
"""Converts URLs in plain text into clickable links.
If you pass the filter an additional integer it will shorten the urls
to that number. Also a third argument exists that makes the urls
"nofollow":
.. sourcecode:: jinja
{{ mytext|urlize(40, true) }}
links are shortened to 40 chars and defined with rel="nofollow"
"""
rv = urlize(value, trim_url_limit, nofollow)
if eval_ctx.autoescape:
rv = Markup(rv)
return rv
def do_indent(s, width=4, indentfirst=False):
"""Return a copy of the passed string, each line indented by
4 spaces. The first line is not indented. If you want to
change the number of spaces or indent the first line too
you can pass additional parameters to the filter:
.. sourcecode:: jinja
{{ mytext|indent(2, true) }}
indent by two spaces and indent the first line too.
"""
indention = u' ' * width
rv = (u'\n' + indention).join(s.splitlines())
if indentfirst:
rv = indention + rv
return rv
def do_truncate(s, length=255, killwords=False, end='...'):
"""Return a truncated copy of the string. The length is specified
with the first parameter which defaults to ``255``. If the second
parameter is ``true`` the filter will cut the text at length. Otherwise
it will discard the last word. If the text was in fact
truncated it will append an ellipsis sign (``"..."``). If you want a
different ellipsis sign than ``"..."`` you can specify it using the
third parameter.
.. sourcecode:: jinja
{{ "foo bar"|truncate(5) }}
-> "foo ..."
{{ "foo bar"|truncate(5, True) }}
-> "foo b..."
"""
if len(s) <= length:
return s
elif killwords:
return s[:length] + end
words = s.split(' ')
result = []
m = 0
for word in words:
m += len(word) + 1
if m > length:
break
result.append(word)
result.append(end)
return u' '.join(result)
@environmentfilter
def do_wordwrap(environment, s, width=79, break_long_words=True,
wrapstring=None):
"""
Return a copy of the string passed to the filter wrapped after
``79`` characters. You can override this default using the first
parameter. If you set the second parameter to `false` Jinja will not
split words apart if they are longer than `width`. By default, the newlines
will be the default newlines for the environment, but this can be changed
using the wrapstring keyword argument.
.. versionadded:: 2.7
Added support for the `wrapstring` parameter.
"""
if not wrapstring:
wrapstring = environment.newline_sequence
import textwrap
return wrapstring.join(textwrap.wrap(s, width=width, expand_tabs=False,
replace_whitespace=False,
break_long_words=break_long_words))
def do_wordcount(s):
"""Count the words in that string."""
return len(_word_re.findall(s))
def do_int(value, default=0):
"""Convert the value into an integer. If the
conversion doesn't work it will return ``0``. You can
override this default using the first parameter.
"""
try:
return int(value)
except (TypeError, ValueError):
# this quirk is necessary so that "42.23"|int gives 42.
try:
return int(float(value))
except (TypeError, ValueError):
return default
def do_float(value, default=0.0):
"""Convert the value into a floating point number. If the
conversion doesn't work it will return ``0.0``. You can
override this default using the first parameter.
"""
try:
return float(value)
except (TypeError, ValueError):
return default
def do_format(value, *args, **kwargs):
"""
Apply python string formatting on an object:
.. sourcecode:: jinja
{{ "%s - %s"|format("Hello?", "Foo!") }}
-> Hello? - Foo!
"""
if args and kwargs:
raise FilterArgumentError('can\'t handle positional and keyword '
'arguments at the same time')
return soft_unicode(value) % (kwargs or args)
def do_trim(value):
"""Strip leading and trailing whitespace."""
return soft_unicode(value).strip()
def do_striptags(value):
"""Strip SGML/XML tags and replace adjacent whitespace by one space.
"""
if hasattr(value, '__html__'):
value = value.__html__()
return Markup(text_type(value)).striptags()
def do_slice(value, slices, fill_with=None):
"""Slice an iterator and return a list of lists containing
those items. Useful if you want to create a div containing
three ul tags that represent columns:
.. sourcecode:: html+jinja
<div class="columwrapper">
{%- for column in items|slice(3) %}
<ul class="column-{{ loop.index }}">
{%- for item in column %}
<li>{{ item }}</li>
{%- endfor %}
</ul>
{%- endfor %}
</div>
If you pass it a second argument it's used to fill missing
values on the last iteration.
"""
seq = list(value)
length = len(seq)
items_per_slice = length // slices
slices_with_extra = length % slices
offset = 0
for slice_number in range(slices):
start = offset + slice_number * items_per_slice
if slice_number < slices_with_extra:
offset += 1
end = offset + (slice_number + 1) * items_per_slice
tmp = seq[start:end]
if fill_with is not None and slice_number >= slices_with_extra:
tmp.append(fill_with)
yield tmp
def do_batch(value, linecount, fill_with=None):
"""
A filter that batches items. It works pretty much like `slice`
just the other way round. It returns a list of lists with the
given number of items. If you provide a second parameter this
is used to fill up missing items. See this example:
.. sourcecode:: html+jinja
<table>
{%- for row in items|batch(3, '&nbsp;') %}
<tr>
{%- for column in row %}
<td>{{ column }}</td>
{%- endfor %}
</tr>
{%- endfor %}
</table>
"""
result = []
tmp = []
for item in value:
if len(tmp) == linecount:
yield tmp
tmp = []
tmp.append(item)
if tmp:
if fill_with is not None and len(tmp) < linecount:
tmp += [fill_with] * (linecount - len(tmp))
yield tmp
def do_round(value, precision=0, method='common'):
"""Round the number to a given precision. The first
parameter specifies the precision (default is ``0``), the
second the rounding method:
- ``'common'`` rounds either up or down
- ``'ceil'`` always rounds up
- ``'floor'`` always rounds down
If you don't specify a method ``'common'`` is used.
.. sourcecode:: jinja
{{ 42.55|round }}
-> 43.0
{{ 42.55|round(1, 'floor') }}
-> 42.5
Note that even if rounded to 0 precision, a float is returned. If
you need a real integer, pipe it through `int`:
.. sourcecode:: jinja
{{ 42.55|round|int }}
-> 43
"""
if not method in ('common', 'ceil', 'floor'):
raise FilterArgumentError('method must be common, ceil or floor')
if method == 'common':
return round(value, precision)
func = getattr(math, method)
return func(value * (10 ** precision)) / (10 ** precision)
@environmentfilter
def do_groupby(environment, value, attribute):
"""Group a sequence of objects by a common attribute.
If you for example have a list of dicts or objects that represent persons
with `gender`, `first_name` and `last_name` attributes and you want to
group all users by genders you can do something like the following
snippet:
.. sourcecode:: html+jinja
<ul>
{% for group in persons|groupby('gender') %}
<li>{{ group.grouper }}<ul>
{% for person in group.list %}
<li>{{ person.first_name }} {{ person.last_name }}</li>
{% endfor %}</ul></li>
{% endfor %}
</ul>
Additionally it's possible to use tuple unpacking for the grouper and
list:
.. sourcecode:: html+jinja
<ul>
{% for grouper, list in persons|groupby('gender') %}
...
{% endfor %}
</ul>
As you can see the item we're grouping by is stored in the `grouper`
attribute and the `list` contains all the objects that have this grouper
in common.
.. versionchanged:: 2.6
It's now possible to use dotted notation to group by the child
attribute of another attribute.
"""
expr = make_attrgetter(environment, attribute)
return sorted(map(_GroupTuple, groupby(sorted(value, key=expr), expr)))
class _GroupTuple(tuple):
__slots__ = ()
grouper = property(itemgetter(0))
list = property(itemgetter(1))
def __new__(cls, xxx_todo_changeme):
(key, value) = xxx_todo_changeme
return tuple.__new__(cls, (key, list(value)))
@environmentfilter
def do_sum(environment, iterable, attribute=None, start=0):
"""Returns the sum of a sequence of numbers plus the value of parameter
'start' (which defaults to 0). When the sequence is empty it returns
start.
It is also possible to sum up only certain attributes:
.. sourcecode:: jinja
Total: {{ items|sum(attribute='price') }}
.. versionchanged:: 2.6
The `attribute` parameter was added to allow suming up over
attributes. Also the `start` parameter was moved on to the right.
"""
if attribute is not None:
iterable = imap(make_attrgetter(environment, attribute), iterable)
return sum(iterable, start)
def do_list(value):
"""Convert the value into a list. If it was a string the returned list
will be a list of characters.
"""
return list(value)
def do_mark_safe(value):
"""Mark the value as safe which means that in an environment with automatic
escaping enabled this variable will not be escaped.
"""
return Markup(value)
def do_mark_unsafe(value):
"""Mark a value as unsafe. This is the reverse operation for :func:`safe`."""
return text_type(value)
def do_reverse(value):
"""Reverse the object or return an iterator the iterates over it the other
way round.
"""
if isinstance(value, string_types):
return value[::-1]
try:
return reversed(value)
except TypeError:
try:
rv = list(value)
rv.reverse()
return rv
except TypeError:
raise FilterArgumentError('argument must be iterable')
@environmentfilter
def do_attr(environment, obj, name):
"""Get an attribute of an object. ``foo|attr("bar")`` works like
``foo["bar"]`` just that always an attribute is returned and items are not
looked up.
See :ref:`Notes on subscriptions <notes-on-subscriptions>` for more details.
"""
try:
name = str(name)
except UnicodeError:
pass
else:
try:
value = getattr(obj, name)
except AttributeError:
pass
else:
if environment.sandboxed and not \
environment.is_safe_attribute(obj, name, value):
return environment.unsafe_undefined(obj, name)
return value
return environment.undefined(obj=obj, name=name)
@contextfilter
def do_map(*args, **kwargs):
"""Applies a filter on a sequence of objects or looks up an attribute.
This is useful when dealing with lists of objects but you are really
only interested in a certain value of it.
The basic usage is mapping on an attribute. Imagine you have a list
of users but you are only interested in a list of usernames:
.. sourcecode:: jinja
Users on this page: {{ users|map(attribute='username')|join(', ') }}
Alternatively you can let it invoke a filter by passing the name of the
filter and the arguments afterwards. A good example would be applying a
text conversion filter on a sequence:
.. sourcecode:: jinja
Users on this page: {{ titles|map('lower')|join(', ') }}
.. versionadded:: 2.7
"""
context = args[0]
seq = args[1]
if len(args) == 2 and 'attribute' in kwargs:
attribute = kwargs.pop('attribute')
if kwargs:
raise FilterArgumentError('Unexpected keyword argument %r' %
next(iter(kwargs)))
func = make_attrgetter(context.environment, attribute)
else:
try:
name = args[2]
args = args[3:]
except LookupError:
raise FilterArgumentError('map requires a filter argument')
func = lambda item: context.environment.call_filter(
name, item, args, kwargs, context=context)
if seq:
for item in seq:
yield func(item)
@contextfilter
def do_select(*args, **kwargs):
"""Filters a sequence of objects by appying a test to either the object
or the attribute and only selecting the ones with the test succeeding.
Example usage:
.. sourcecode:: jinja
{{ numbers|select("odd") }}
.. versionadded:: 2.7
"""
return _select_or_reject(args, kwargs, lambda x: x, False)
@contextfilter
def do_reject(*args, **kwargs):
"""Filters a sequence of objects by appying a test to either the object
or the attribute and rejecting the ones with the test succeeding.
Example usage:
.. sourcecode:: jinja
{{ numbers|reject("odd") }}
.. versionadded:: 2.7
"""
return _select_or_reject(args, kwargs, lambda x: not x, False)
@contextfilter
def do_selectattr(*args, **kwargs):
"""Filters a sequence of objects by appying a test to either the object
or the attribute and only selecting the ones with the test succeeding.
Example usage:
.. sourcecode:: jinja
{{ users|selectattr("is_active") }}
{{ users|selectattr("email", "none") }}
.. versionadded:: 2.7
"""
return _select_or_reject(args, kwargs, lambda x: x, True)
@contextfilter
def do_rejectattr(*args, **kwargs):
"""Filters a sequence of objects by appying a test to either the object
or the attribute and rejecting the ones with the test succeeding.
.. sourcecode:: jinja
{{ users|rejectattr("is_active") }}
{{ users|rejectattr("email", "none") }}
.. versionadded:: 2.7
"""
return _select_or_reject(args, kwargs, lambda x: not x, True)
def _select_or_reject(args, kwargs, modfunc, lookup_attr):
context = args[0]
seq = args[1]
if lookup_attr:
try:
attr = args[2]
except LookupError:
raise FilterArgumentError('Missing parameter for attribute name')
transfunc = make_attrgetter(context.environment, attr)
off = 1
else:
off = 0
transfunc = lambda x: x
try:
name = args[2 + off]
args = args[3 + off:]
func = lambda item: context.environment.call_test(
name, item, args, kwargs)
except LookupError:
func = bool
if seq:
for item in seq:
if modfunc(func(transfunc(item))):
yield item
FILTERS = {
'attr': do_attr,
'replace': do_replace,
'upper': do_upper,
'lower': do_lower,
'escape': escape,
'e': escape,
'forceescape': do_forceescape,
'capitalize': do_capitalize,
'title': do_title,
'default': do_default,
'd': do_default,
'join': do_join,
'count': len,
'dictsort': do_dictsort,
'sort': do_sort,
'length': len,
'reverse': do_reverse,
'center': do_center,
'indent': do_indent,
'title': do_title,
'capitalize': do_capitalize,
'first': do_first,
'last': do_last,
'map': do_map,
'random': do_random,
'reject': do_reject,
'rejectattr': do_rejectattr,
'filesizeformat': do_filesizeformat,
'pprint': do_pprint,
'truncate': do_truncate,
'wordwrap': do_wordwrap,
'wordcount': do_wordcount,
'int': do_int,
'float': do_float,
'string': soft_unicode,
'list': do_list,
'urlize': do_urlize,
'format': do_format,
'trim': do_trim,
'striptags': do_striptags,
'select': do_select,
'selectattr': do_selectattr,
'slice': do_slice,
'batch': do_batch,
'sum': do_sum,
'abs': abs,
'round': do_round,
'groupby': do_groupby,
'safe': do_mark_safe,
'xmlattr': do_xmlattr,
'urlencode': do_urlencode
}

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