1576 Commits

Autor SHA1 Mensagem Data
Marina Kolpakova 4b1724aeb9 fix for ORB tests 2012-06-01 15:12:10 +00:00
Alexander Shishkov a3c4d1b679 updated pdf's to 2.4.1 2012-06-01 13:44:23 +00:00
Alexander Shishkov e0b1697cc9 update FFMPEG wrapper binaries 2012-06-01 11:00:59 +00:00
Andrey Kamaev 059b79f7c2 Merged the trunk r8542:8544 2012-06-01 10:59:27 +00:00
Andrey Kamaev 8159ea3386 Merged the trunk r8537 (fixed pdf documentation build) 2012-06-01 08:46:54 +00:00
Andrey Kamaev 50c2443691 Merged Android samples from trunk r8423 r8533 2012-06-01 08:45:45 +00:00
Philipp Wagner 0bd287a8f2 Fixed reconstruction, so that the mean is correctly added to the reconstructed image. 2012-05-31 20:27:46 +00:00
Andrey Kamaev 2ee917c646 Version of 2.4 branch is adjusted to 2.4.1 2012-05-31 11:26:23 +00:00
Andrey Kamaev ca0962c738 Megred fix for pyrhon API generator regression r8528 2012-05-31 11:12:12 +00:00
Andrey Kamaev daad7900e2 Merged the trunk r8517:8524 2012-05-31 10:53:28 +00:00
Andrey Kamaev 9ad470ba5c backported API for storing OpenCV data structures to text string and reading them back (r8481, r8516, r8518, r8522) 2012-05-31 10:25:29 +00:00
Vladislav Vinogradov 4e4b96e3d9 Merged revision(s) 8484 from trunk:
fixed some bugs in gpu module under Windows:
* convertTo alignment error
........
2012-05-30 17:06:39 +00:00
Andrey Kamaev 4ddcc31edc Fixed few errors in documentation backporting 2012-05-30 11:20:55 +00:00
Andrey Kamaev 81a5988015 Merged the trunk r8467:8507 (inclusive) (big bunch of documentation fixes) 2012-05-30 11:13:07 +00:00
Andrey Kamaev 052d2dc23a Merged the trunk r8459:8466 (inclusive) 2012-05-30 09:00:32 +00:00
Andrey Kamaev 949c4edf41 Merged the trunk r8408:8457 (inclusive) 2012-05-30 08:47:34 +00:00
Andrey Kamaev 7b5a45eac4 Merged the trunk r8384:8407 (inclusive) 2012-05-30 08:04:37 +00:00
Vladislav Vinogradov 72d2311edf Merged revision(s) 8495 from trunk:
Bug #1991 : fixed gpu interpolation (remap, resize, warp...)
........
2012-05-29 11:35:30 +00:00
Vladislav Vinogradov d382fa56c7 Merged revision(s) 8474 from trunk:
fixed several problems with CUDA 5.0
* gpu::LUT, uses device memory instead of host memory
* gpu::multiply, round mod for CV_8U depth
........
2012-05-28 14:04:39 +00:00
Marina Kolpakova 00117d2a6e warp Affine tegra integration 2012-05-28 08:53:03 +00:00
Anatoly Baksheev 4ce8de5174 Merged revision(s) 8455 from trunk/opencv/modules/gpu/src:
compilation with CUDA5.0 (#1982, thanks to Rodrigo)
........
2012-05-25 09:45:42 +00:00
Andrey Kamaev e1c4fd9e1f Merged the trunk r8345:8376 2012-05-18 13:18:37 +00:00
Andrey Kamaev 70166820ea Merged the trunk r8324:8345 2012-05-18 12:59:40 +00:00
Andrey Kamaev aebed446b1 Partly merged the trunk r8322 2012-05-18 12:46:44 +00:00
Andrey Kamaev c3577a288b Merged the trunk r8291:8321 2012-05-18 12:34:01 +00:00
Andrey Kamaev 50ad690993 Merged the trunk till r8291 2012-05-18 12:18:17 +00:00
Anatoly Baksheev caddd398e6 Merged revision(s) 8368 from trunk/opencv/modules/gpu/src/imgproc.cpp:
fixed possible compilation error for macos
........
2012-05-17 15:00:36 +00:00
Alexander Smorkalov e62f147edc ColorBlobDetection example. Bug fix. Refactring. 2012-05-12 06:15:32 +00:00
Alexander Smorkalov b7c1fd34b9 ColorBlobDetection example. Pyrdown added. Contour area filtering added. 2012-05-12 05:19:17 +00:00
Andrey Kamaev ba238562c6 Fix for #1902 is merged from trunk 2012-05-07 14:05:06 +00:00
Anatoly Baksheev 01e93d57f0 Merged from trunk. 2012-05-05 09:25:37 +00:00
Philipp Wagner 86524b0e4a Fixed facerec_demo.cpp. 2012-05-05 09:16:21 +00:00
Anatoly Baksheev 70f74b70b7 fixed GPU compilation 2012-05-04 11:07:36 +00:00
Anatoly Baksheev 10459a886b Added check for CUDA toolkit version ( older can't compile Kepler ) 2012-05-04 10:34:57 +00:00
Anatoly Baksheev 215dd2a41b Merged revision(s) 8304 from trunk/opencv/cmake/OpenCVDetectCUDA.cmake:
Added check for CUDA toolkit version ( older can't compile Kepler )
........
2012-05-04 10:24:23 +00:00
Marina Kolpakova 025f6674db update for kepler arch support 2012-05-04 10:09:17 +00:00
Vadim Pisarevsky 3f5d722f34 fixed typo in mulSpectrums description (ticket #1868) 2012-05-03 15:14:53 +00:00
Anatoly Baksheev ab4025f8de fixed for Kepler 2012-05-03 10:23:23 +00:00
Marina Kolpakova ea3fe441df fix for brute-force matcher with CUDA 4.2. 2012-04-30 19:06:37 +00:00
Alexander Shishkov 06e3c8fe91 update FFMPEG wrapper binaries 2012-04-30 19:05:05 +00:00
Vadim Pisarevsky 4a34487a03 get back to single-version ffmpeg wrapper (no more v2); make sure the library builds and the tests pass on Ubuntu 10.04 that includes pretty old version of ffmpeg 2012-04-30 12:39:49 +00:00
Vadim Pisarevsky 2c88791600 get back to single-version ffmpeg wrapper (no more v2); make sure the library builds and the tests pass on Ubuntu 10.04 that includes pretty old version of ffmpeg 2012-04-30 12:39:22 +00:00
Vadim Pisarevsky 09ca294a76 avoid simultanous reading data from 2 videos Highgui_Video.regression, since earlier versions of ffmpeg (or the way our wrapper uses them) can not handle that properly 2012-04-30 12:07:04 +00:00
Vadim Pisarevsky 083cbe999b force BUILD_PNG/JPEG/TIFF/ZLIB on MacOSX, because sometimes the found lib<...> is different from the one used in build. 2012-04-28 22:54:14 +00:00
Alexander Shishkov 4bca91e1da update FFMPEG wrapper binaries 2012-04-28 22:50:25 +00:00
Vadim Pisarevsky 5e2df0d6b0 some more fixes in ffmpeg wrapper; now it handles big videos better. 2012-04-28 22:49:13 +00:00
Alexander Shishkov 24f8c21bba updated pdfs 2012-04-28 20:41:32 +00:00
Alexander Shishkov 409c5e04a1 change docs version 2012-04-28 20:10:16 +00:00
Vadim Pisarevsky 7a3b351357 added documentation for ORB (ticket #1835). updated documentation on features2d (Feature2D class is still to be documented) (ticket #1819) 2012-04-28 17:32:02 +00:00
Alexander Shishkov d40dc9a928 update FFMPEG wrapper binaries 2012-04-28 16:23:36 +00:00
Vadim Pisarevsky 8bab09de07 temporary reverted av_free_packet() patch. 2012-04-28 16:18:39 +00:00
Alexander Shishkov 78ef76165e moved part of f2d docs to the legacy module 2012-04-28 15:13:59 +00:00
Vadim Pisarevsky c9dacaa254 added description of Algorithm class (ticket #1818) 2012-04-28 14:59:30 +00:00
Vladislav Vinogradov 1566f85386 fixed PyrLKOpticalFlow.dense (final result size) 2012-04-28 13:18:05 +00:00
Vadim Pisarevsky bffd77ed87 moved planar subdiv docs to legacy; added Input/OutputArray docs to core 2012-04-28 12:59:21 +00:00
Alexander Shishkov ab15b5954e fixed #1824 2012-04-28 12:48:23 +00:00
Andrey Pavlenko c3129190fc Java API: minor fix in javadoc 2012-04-28 12:46:50 +00:00
Andrey Kamaev 50009e1546 Improved javadoc generation scripts 2012-04-28 12:31:53 +00:00
Alexander Smorkalov b165997e22 Bug #1853 15-puzzles example does not work on Samsung gt-i9100 with Android ICS 4.0.3 fixed. 2012-04-28 12:10:53 +00:00
Alexey Spizhevoy 6a9f934233 Fixed bug #1759 2012-04-28 11:45:29 +00:00
Vadim Pisarevsky 40d8d11f45 fixed RGBD capture with Asus Xtion (by Gary Bradski) 2012-04-28 11:33:01 +00:00
Vadim Pisarevsky 682f31a013 fixed 3-channel output tvecs support in calibrateCamera (patch #1807) 2012-04-28 11:10:30 +00:00
Vadim Pisarevsky 53104e6f43 decreased the number of tests in Core_Eigen, decreased the maximum matrix size in Core_SVD; now those tests take less time to complete 2012-04-28 11:00:34 +00:00
Andrey Pavlenko 4a6346961f Java API: updating OpenCV version, minor Core API improvements, enabling EM. 2012-04-28 09:27:05 +00:00
Andrey Pavlenko 2efa446e81 updating Posterize in 'image manipulation' Java sample 2012-04-28 09:25:07 +00:00
Vladislav Vinogradov 9e868272e9 reverted r8003 (CascadeClassifier_GPU didn't work) 2012-04-28 08:56:17 +00:00
Alexander Smorkalov c1c1a376a1 bad changes reverted. 2012-04-28 05:25:31 +00:00
Alexander Smorkalov a9d9eb1ab6 Loader classes for OpenCV with Android service added. Library loading in OpenCV API removed. 2012-04-28 05:14:24 +00:00
Alexander Shishkov ac8f6b02de update FFMPEG wrapper binaries 2012-04-27 19:24:48 +00:00
Alexander Reshetnikov 689c1814a5 Fixed VideoCapture memory leak (bug #1481) 2012-04-27 19:23:26 +00:00
Andrey Kamaev 95e657714f Minor improvements: reduced verbosity of positioning tests; run.py - filter out non-executables on windows 2012-04-27 19:13:58 +00:00
Vadim Pisarevsky 1a9758c0a2 fixed Linemod's Detector write method (removed nested sequence delimiters) 2012-04-27 18:09:57 +00:00
Vadim Pisarevsky 9b382d07f6 modified data matrix detection interface (that does not use any new data structures). Added Python sample for data matrix detection. Ticket #1664 2012-04-27 16:10:10 +00:00
Andrey Kamaev 1046f50acb CMake for new Android example 2012-04-27 15:39:46 +00:00
Andrey Pavlenko 3a922a535c adding one more assertion to a Java test 2012-04-27 14:41:28 +00:00
Andrey Pavlenko 52f5009a4c adding Histogram and Posterize, removing Blur from 'image manipulation' Java sample 2012-04-27 14:40:25 +00:00
Vadim Pisarevsky 7ac713405f put template Distance classes back to features2d, since they are used in GPU; fixed OpenCV build with Xcode 2.3 (which includes new libpng) 2012-04-27 14:11:44 +00:00
Alexander Shishkov da0080dd15 fixed #1855 2012-04-27 14:08:10 +00:00
Alexander Shishkov 37295d7b35 fixed #1833 2012-04-27 14:00:59 +00:00
Alexander Shishkov a07724aea2 fixed #1841 2012-04-27 13:37:48 +00:00
Alexander Smorkalov d015a50d51 Base classes for sample added. 2012-04-27 13:37:45 +00:00
Vadim Pisarevsky c78d056ef6 added BruteForceMatcher (the older variant of BFMatcher) to legacy (ticket #1796). added test for it. Renamed legacy tests to "Legacy_*" 2012-04-27 13:06:16 +00:00
Alexander Smorkalov 211dfd68fd Base code for new sample added. 2012-04-27 12:49:21 +00:00
Vadim Pisarevsky d60caea559 added test to check #1737 2012-04-27 12:07:56 +00:00
Andrey Kamaev 2a39128268 Updated latentSVM tests and data 2012-04-27 11:32:40 +00:00
Andrey Kamaev f14d80ab44 Minor documentation fix 2012-04-27 08:58:29 +00:00
Andrey Kamaev 33134ecb87 Increased test threshold for arm 2012-04-27 08:28:40 +00:00
Andrey Kamaev 7bfc50b84d #1854 Fixed Mac OS X build with Clang 2012-04-26 21:40:34 +00:00
Andrey Kamaev 09140c2fc6 Reenabled OpponentSIFT test;
Changed compiler flags for 32-bit MSVC;
Fixed handling of "d" suffix of debug binaries in run.py.
2012-04-26 21:37:27 +00:00
Andrey Pavlenko fc44b3175e adding VIEW_MODE_PIXELIZE to the 'image manipulations' sample 2012-04-26 15:56:01 +00:00
Vadim Pisarevsky f87c2e49db added version number to opencv_ffmpeg dlls (it's added only when dll copied to the bin directory); it resolves #1827 2012-04-26 13:32:27 +00:00
Andrey Kamaev b93d3d7a55 Fixed build warnings 2012-04-26 11:58:06 +00:00
Alexander Smorkalov 5c6de77fc8 Bug #1822 Native camera does not work on Samsung Galaxy SII with Android ICS 4.0.3 was fixed. All binary libs were rebuilt. 2012-04-26 11:38:07 +00:00
Andrey Kamaev 3d0f4fe167 Fixed compiler flags for debug builds 2012-04-26 11:06:34 +00:00
Andrey Kamaev f208535bb6 run.py: Automatically enable color output in android tests (posix shell only) 2012-04-26 11:05:36 +00:00
Alexander Shishkov dd1edc61c5 update FFMPEG wrapper binaries 2012-04-26 07:39:11 +00:00
Vadim Pisarevsky fcbfc030ef avoid use of "AVFrame::best_effort_timestamp" 2012-04-26 07:38:35 +00:00
Alexander Shishkov d994923fec update FFMPEG wrapper binaries 2012-04-26 07:08:40 +00:00
Vadim Pisarevsky bc3c49518d ok, now positioning seem to work well, at least with ffmpeg 0.10.2 on MacOSX 10.7 2012-04-26 07:07:37 +00:00
Vadim Pisarevsky c9e6efc263 propagated changes for retina filters from trunk to 2.4 2012-04-25 17:32:14 +00:00
Andrey Kamaev db3f9b139b Fixed SURF behavior - from now it always returns keypoints in the same order 2012-04-25 16:03:01 +00:00
Vadim Pisarevsky 562e404224 fixed HighguiFramecount.regression test (and renamed it to Highgui_Video.framecount) 2012-04-25 14:48:15 +00:00
Vadim Pisarevsky fb292b1b27 added PSNR function to imgproc; refactored highgui positioning test (which still fails) 2012-04-25 14:31:54 +00:00
Alexander Shishkov bd49b9b8aa update FFMPEG wrapper binaries 2012-04-25 12:58:42 +00:00
Vadim Pisarevsky c0fcfcc7d8 refactored highgui_specificvideo* tests; fixed repeated libswscale context creation in videocapture & videowriter (ticket #1541) 2012-04-25 12:56:09 +00:00
Andrey Kamaev 8d130ff10c Fixed most of the floating-point accuracy problems for x86 gcc 2012-04-25 11:33:11 +00:00
Vladislav Vinogradov a6c261bebd merged bug fix from r8188 (PyrLKOpticalFlow patch size calculation) 2012-04-25 09:28:22 +00:00
Vladislav Vinogradov e467ece19c merged bug fix from r8174 (GPU_NVidia/NCV.Visualization test) 2012-04-25 09:26:00 +00:00
Vladislav Vinogradov 916d07cf2c merged bug fix from r8179 (ORB_GPU) 2012-04-25 09:23:16 +00:00
Andrey Pavlenko ea735a0475 Java API: fixing Mat::put() for non-continuous Mat-s, adding/improving tests 2012-04-25 09:00:50 +00:00
Vadim Pisarevsky 87888984a5 added Matx<4,4>*Scalar operator (ticket #1830) 2012-04-25 08:59:37 +00:00
Vadim Pisarevsky ed1932dfa1 fixed python version in yet another place. 2012-04-25 08:41:57 +00:00
Vadim Pisarevsky 30f1ab059b make Mat::at<>(i) work with 2d matrices (to retrieve all elements in row-major order) (reported by Kurt) and fixed bug #1804 2012-04-25 08:39:21 +00:00
Andrey Pavlenko a227746d84 removing extra quotes that causes build failure 2012-04-25 05:25:17 +00:00
Vadim Pisarevsky 866d8c0cfa added special function to patch NaN's in image. call this function from bilateralfilter (should fix bug #1811) 2012-04-24 15:16:21 +00:00
Vadim Pisarevsky 47ee844df6 fixed formula in matchShapes, method=CV_CONTOUR_MATCH_I3 (ticket #1801) 2012-04-24 14:56:56 +00:00
Andrey Kamaev bf8c4a27be Android build scripts for Windows are updated to recognize ninja 2012-04-24 14:32:25 +00:00
Vadim Pisarevsky a110dc14ca fixed bug in Python's calcEMD2 (ticket #1763) 2012-04-24 14:22:05 +00:00
Vadim Pisarevsky ad8258f872 avoid infinite loop in CvLevMarq (thanks to João Lima for the patch; ticket #1839) 2012-04-24 13:08:56 +00:00
Vadim Pisarevsky 563fc2d1e5 fixed typo in the installation guide (ticket #1844) 2012-04-24 13:01:47 +00:00
Vadim Pisarevsky 488ae9dd6e corrected typo (ticket #1843). added note about imdecode & imencode 2012-04-24 12:54:49 +00:00
Vadim Pisarevsky 75b1788c6b added "Matx*Vec -> Vec" operator (ticket #1830) 2012-04-24 12:45:19 +00:00
Marina Kolpakova 476c453ef6 fixed bug #1821 2012-04-24 10:07:14 +00:00
Marina Kolpakova 99aed4713f minor tab fix 2012-04-24 09:30:21 +00:00
Marina Kolpakova f1a0ab365d fixed duplicated paragraph 2012-04-24 09:26:34 +00:00
Andrey Kamaev b1bf062671 Configuration name is added to the CMake status report 2012-04-24 07:30:38 +00:00
Andrey Kamaev 019122fba7 Fixed dependencies for cmake status embeeded into opencv core 2012-04-24 07:13:50 +00:00
Andrey Kamaev b7aacb6a93 Fixed assertions in java tests for ORB 2012-04-24 06:51:21 +00:00
Andrey Kamaev 7c025dfc60 Added CUDA version to CMake status 2012-04-24 06:05:57 +00:00
Alexander Reshetnikov 4b5b7bdb5a Fixed cvRetrieveFrame memory leak under AVFoundation (ticket #1837) 2012-04-23 16:12:24 +00:00
Andrey Kamaev cddadc04b7 Fixed Android manifest install 2012-04-23 12:39:18 +00:00
Vadim Pisarevsky b8e70ea6c9 NORM_L2SQR added too (ticket #1840) 2012-04-23 12:29:23 +00:00
Vadim Pisarevsky 40f2c716af added NORM_HAMMING* support to cv::norm (ticket #1840) 2012-04-23 12:19:02 +00:00
Andrey Kamaev 8dae3431c7 Fixed ffmpeg dll copying under mingw 2012-04-23 10:52:27 +00:00
Andrey Kamaev 2c85aa543c Make ocv_include_directories a function to minimize problems with windows backslashes 2012-04-23 08:54:15 +00:00
Andrey Pavlenko 9eded52ce5 fixing compilation for Android 2012-04-23 07:10:58 +00:00
Andrey Kamaev e4303dc96f Fixed build with mingw 4.4.0 2012-04-22 14:50:09 +00:00
Andrey Pavlenko 3c0e9d12f7 Java API: fixing Mat::get() for non-continuous Mat-s. 2012-04-22 11:44:16 +00:00
Vadim Pisarevsky 9213bba48a wrapped Algorithm class. 2012-04-20 17:03:02 +00:00
Andrey Kamaev 8b6d1f6e45 Fixed build (noiseSigma of BackgroundSubtractorMOG is now protected) 2012-04-20 16:00:49 +00:00
Andrey Kamaev d46659f6cc Set sanity thresholds for several performance tests 2012-04-20 15:33:34 +00:00
Vadim Pisarevsky 5b6b30ba0e added dedicated <modname>_init.cpp files with initModule_<modname>() functions and all the relevant structures; made BackgroundSubtractorMOG/MOG2 derivatives from Algorithm; cleaned up MOG2 implementation and made it multi-threaded. 2012-04-20 15:32:54 +00:00
Alexander Reshetnikov 3d108958e7 Added resources release for AVT cameras (ticket #1814) 2012-04-20 13:29:10 +00:00
Andrey Kamaev 624880fd67 Minor update for new Ninja cmake generator 2012-04-20 13:22:19 +00:00
Andrey Morozov 720dc231e8 minor fix in calculate bitrate 2012-04-20 12:18:40 +00:00
Andrey Morozov 742668434c minor fix in calculate bitrate 2012-04-20 11:58:31 +00:00
Andrey Kamaev 247e2d085f Updated for cmake 2.8.8 2012-04-19 22:33:46 +00:00
Andrey Kamaev 3a4c14e549 Fixed verbosity of badarg tests 2012-04-19 15:45:40 +00:00
Andrey Pavlenko dbccc9b129 improving Imgproc.convexityDefects() and Imgproc.convexHull() 2012-04-19 15:27:13 +00:00
Andrey Pavlenko 2ec0efaae5 fixing stability of testBitmapToMat() 2012-04-19 15:01:19 +00:00
Andrey Pavlenko 2513f5d3c7 fixing #1808, Java API improvements 2012-04-19 14:21:56 +00:00
Andrey Pavlenko 13427c0cdf fixing convexityDefects() 2012-04-19 14:03:38 +00:00
Andrey Kamaev 0905c4f6c6 Minor fix for previous commit 2012-04-18 22:02:17 +00:00
Andrey Kamaev 2bedf5bfd5 Refactored build conditionals in highgui tests 2012-04-18 21:32:56 +00:00
Andrey Kamaev b14df1c1e7 Restored old behavior for OSX 2012-04-18 19:46:34 +00:00
Andrey Kamaev 68aec288c0 Fixed Calc_Hist under 32-bit gcc 2012-04-18 16:16:54 +00:00
Maria Dimashova 423b721d97 fixed AlgorithmInfo::read for read only parameters (thanks to Vadim) 2012-04-18 14:03:35 +00:00
Andrey Kamaev 78ee81c409 Fixed dependency from opencv_nonfree in Java bindings 2012-04-18 12:58:42 +00:00
Maria Dimashova f6bddd23af minor doc fix 2012-04-18 12:41:23 +00:00
Maria Dimashova b4a02fae0b added doc on cv::EM; moved doc on CvEM to legacy/doc 2012-04-18 12:22:46 +00:00
Maria Dimashova ca8241f6e5 made em params read only; minor renaming 2012-04-18 11:56:50 +00:00
Maria Dimashova c2ae452ab9 fixed misspelling in ertrees doc 2012-04-18 11:44:35 +00:00
Andrey Kamaev 80516ecbe6 Fixed typo; removed duplicated call 2012-04-18 08:41:00 +00:00
Andrey Kamaev 11ce8683bb Fixed stitching module tests built without nonfree 2012-04-18 08:00:12 +00:00
Alexander Shishkov dda338a757 update FFMPEG wrapper binaries 2012-04-18 07:49:43 +00:00
Alexander Shishkov eb306311f1 fixed FFMPEG wrapper compilation on Windows 2012-04-18 07:48:47 +00:00
Andrey Kamaev 0fd5a9e965 Probably fixed instability of single-precision floating-point RNG 2012-04-18 06:09:31 +00:00
Alexander Reshetnikov 4ec74414bb Fixed error in frame positioning (bug #1815) 2012-04-17 17:18:35 +00:00
Andrey Kamaev 72f4386fb9 Probably fixed EM tests failure on x86 platforms (thanks to Maria D.) 2012-04-17 15:28:10 +00:00
Andrey Kamaev 44098b2fbb #1813 fixed compiler options with profiling enabled 2012-04-17 11:45:24 +00:00
Maria Dimashova 3dfa917879 refactored train and predict methods of em 2012-04-17 06:29:40 +00:00
Andrey Kamaev 8f7e5811b6 Fixed 2 failing python tests 2012-04-16 21:18:30 +00:00
Andrey Kamaev ce32b4792f Made OpenCVConfig.cmake friendly to Windows pack 2012-04-16 19:38:19 +00:00
Andrey Kamaev 24c7bdc3d7 #1809 include unistd.h required for usleep 2012-04-16 18:17:38 +00:00
Andrey Kamaev 73047b6d4e Fixed failing Video_OpticalFlow.accuracy test 2012-04-16 15:56:27 +00:00
Maria Dimashova cdb3f11d5e fixed test on em (old interface) 2012-04-16 15:19:10 +00:00
Andrey Kamaev 965dbf3620 run.py: try working directory as a build path if no paths provided 2012-04-16 15:18:47 +00:00
Andrey Kamaev b835c04589 Fixed incorrect asssertion in test 2012-04-16 15:17:30 +00:00
Andrey Kamaev 44a1e79621 Fixed build warnings 2012-04-16 15:00:00 +00:00
Maria Dimashova 7120355e06 updated points_classifier sample to use bayes classifier after distributions estimation by EM 2012-04-16 14:54:56 +00:00
Maria Dimashova eaf0d38f03 removed changes of r8043; fixed 4 broken ml tests by other way 2012-04-16 13:50:10 +00:00
Andrey Kamaev 6d00182e13 Fixed Android build with correct manifest file 2012-04-16 13:30:35 +00:00
Maria Dimashova 570c8254b2 fixed test on em 2012-04-16 12:15:16 +00:00
Maria Dimashova 30f8d5a7d7 fixed creation of opponent space descriptors (#1805) 2012-04-16 11:50:06 +00:00
Maria Dimashova 3ee1a1d83c fixed mistake in method name (#1798) 2012-04-16 11:01:08 +00:00
Maria Dimashova 71d7482aee fixed nan in EM, added new test on EM 2012-04-16 10:30:42 +00:00
Alexander Shishkov 94bcaeb2e9 update theme for online docs (was incorrect in Firefox and Safari) 2012-04-16 10:16:19 +00:00
Andrey Kamaev f9da906144 Fixed Android manifest generation and Android samples install 2012-04-16 09:14:26 +00:00
Ilya Lysenkov ed8e4b5bcc Fixed comparison methods in matchShapes (issue #1012) 2012-04-16 08:57:42 +00:00
Andrey Kamaev 00de4b9314 Fixed compiler flags caching in toolchain; fixed zlib search. 2012-04-16 07:24:15 +00:00
Andrey Kamaev 2f88062de7 Fixed Android build warning 2012-04-16 07:22:44 +00:00
Andrey Kamaev 67a336e0be Fixed gcc version parsing. 2012-04-13 19:47:29 +00:00
Andrey Kamaev 5c7e8d775c Fixed 4 broken ml tests. 2012-04-13 19:39:14 +00:00
Ilya Lysenkov 2619221331 Spell checked the documentation with VIM (issue #223) 2012-04-13 19:04:44 +00:00
Alexander Reshetnikov 5d4c194502 Removed stdio include from ffmpeg wrapper 2012-04-13 17:56:45 +00:00
Alexander Reshetnikov 0442b3eae4 Updated diagnostic messages in VideoWriter (for ticket #1736) 2012-04-13 17:39:45 +00:00
Ilya Lysenkov b07f89dcb1 Removed mentions of TBB optimization if users can't actually use it (thanks to Andrey K.) 2012-04-13 15:57:58 +00:00
Ilya Lysenkov 2f44610ef3 Mentioned in doc if a function is parallelized with the TBB library (issue #421) 2012-04-13 15:31:18 +00:00
Andrey Kamaev 74cc370c74 Added Java tests support to run.py 2012-04-13 14:50:11 +00:00
Andrey Morozov ee682493fd added support clang compiler 2012-04-13 14:15:17 +00:00
Ilya Lysenkov 131663b709 Documented C++ interfaces of XML/YAML persistence classes (issues #1358, #539) 2012-04-13 13:41:57 +00:00
Alexander Shishkov 73aa0e66b9 minor changes in windows install tutorial 2012-04-13 13:01:43 +00:00
Alexander Shishkov 9b6440b415 removed module index 2012-04-13 12:14:19 +00:00
Andrey Morozov 5a21ac5ee4 increased bitrate of recorded video on 25% 2012-04-13 10:25:29 +00:00
Andrey Morozov 0c273b867e increased bitrate of recorded video on 25% 2012-04-13 09:57:41 +00:00
Alexander Shishkov d77fb60017 minor changes in documentation 2012-04-13 07:31:10 +00:00
Andrey Kamaev b6dac61e96 Fixed several documentation warnings and errors. 2012-04-12 17:41:55 +00:00
Maria Dimashova 9d764b4115 fixed #1795 2012-04-12 16:43:37 +00:00
Andrey Kamaev 97835a8f32 Fixed 9 more build warnings 2012-04-12 16:21:08 +00:00
Andrey Kamaev 3b3d1a86ae Fixed ant search on Windows 2012-04-12 15:29:50 +00:00
Alexander Reshetnikov 7f6c487ae0 Added perf test for video output 2012-04-12 14:52:27 +00:00
Maria Dimashova 9783cd985f fixed ERTrees name for writing to/reading from xml 2012-04-12 14:13:15 +00:00
Maria Dimashova 8a8b34667d increased the trees number for ERTrees 2012-04-12 14:05:55 +00:00
Maria Dimashova 14ca8ed03c added ability to read files with different space count 2012-04-12 14:03:35 +00:00
Andrey Kamaev 7a3786bad9 Fixed PvApi wrapper build 2012-04-12 13:50:23 +00:00
Alexander Reshetnikov 5042f5daa7 Fixed compilation error under Linux (memset for pvapi was moved to constructor) 2012-04-12 13:35:48 +00:00
Andrey Kamaev 3d42ebb329 Fixed typo 2012-04-12 13:19:00 +00:00
Andrey Pavlenko f1e3d4d492 adding test for the bug #1795 2012-04-12 13:06:05 +00:00
Alexander Shishkov f87660033f changed css for search panel 2012-04-12 13:03:16 +00:00
Vadim Pisarevsky 5f33aecd30 changed 2.3 to 2.4 in some guides & tutorials (ticket #1794) 2012-04-12 12:48:58 +00:00
Vadim Pisarevsky 1371c96935 extended morphological operations to handle arbitrary number of channels and CV_64F type; extended filter2D to handle CV_16S type. added test to check the supported formats; added description of supported formats in various filtering operations. 2012-04-12 12:34:55 +00:00
Alexander Reshetnikov 6d0c022347 Fixed cameras segfault (patch #1771) 2012-04-12 12:11:43 +00:00
Andrey Kamaev 7c33d65b59 Fixed broken by r8007 install target 2012-04-12 11:55:33 +00:00
Alexander Shishkov 4a6d434e7d fixed #1310 2012-04-12 11:53:30 +00:00
Alexander Reshetnikov 2c3a712b43 Minor refactoring of condition for avformat_find_stream_info (ticket #1790) 2012-04-12 11:29:02 +00:00
Andrey Kamaev b3587c9e34 Fixed problem with headers install patch 2012-04-12 11:11:12 +00:00
Ilya Lysenkov 553ea7510b Documented valid image types in morphology operations (issue #1679) 2012-04-12 10:57:11 +00:00
Marina Kolpakova d547d9c986 fixed alignment related bugs in gpu/nvidia 2012-04-12 10:09:51 +00:00
Ilya Lysenkov 6de2b1a0e6 Updated doc of flann::hierarchicalClustering (issue #1216) 2012-04-12 09:20:43 +00:00
Ilya Lysenkov cd407b53a8 Corrected doc of Mat::adjustROI() (issue #1245) 2012-04-12 09:01:03 +00:00
Ilya Lysenkov e4525860e0 Fixed a typo 2012-04-12 08:23:58 +00:00
Marina Kolpakova c0f6e219bb calcCovarMatrix cupport fot std::vectors of cv::Mat (#494) 2012-04-12 04:21:32 +00:00
Vadim Pisarevsky 38488cfdf1 probably fixed linemod crash (thanks to Stefan for the report) 2012-04-11 19:40:57 +00:00
Maria Dimashova 04d24a8824 refactored likelihood computing 2012-04-11 15:28:50 +00:00
Andrey Kamaev 51385ac73a Java Tests: filtered VideoCapture tests 2012-04-11 14:46:50 +00:00
Alexander Shishkov 94f82c6a1c changed css for search panel 2012-04-11 14:26:49 +00:00
Maria Dimashova 3db7823682 removed unnecessary param 2012-04-11 13:48:20 +00:00
Andrey Kamaev d8cec20e1b Added perf test for calcOpticalFlowPyrLK 2012-04-11 13:47:55 +00:00
Andrey Kamaev 47148ce275 Added version detection for OpenNI 2012-04-11 13:20:25 +00:00
Andrey Kamaev e4ca7118f3 #1782 Threading optimization of OpenNI wrapper is disabled for TBB < 3.0 2012-04-11 13:08:17 +00:00
Ilya Lysenkov a77a93a8e2 Minor doc fix. 2012-04-11 12:44:34 +00:00
Alexander Smorkalov 3c08f7a14d Patch #1789 access to Android camera settings applied. 2012-04-11 12:39:58 +00:00
Ilya Lysenkov 8b65286139 Documented error measures used in calcOpticalFlowPyrLK 2012-04-11 12:38:08 +00:00
Andrey Pavlenko af198233a9 Java API: fixing more tests 2012-04-11 12:37:24 +00:00
Andrey Kamaev 570ec2f166 Improved status report for Eigen and Ximea, improved search of PvApi headers/libs 2012-04-11 12:05:53 +00:00
Alexander Shishkov 7cd42b8b6a modified reduce test 2012-04-11 11:53:56 +00:00
Andrey Kamaev b756033206 Fixed several warnings on various platforms 2012-04-11 11:11:39 +00:00
Andrey Kamaev 07f8bf9226 Attempt to fix windows build failure 2012-04-11 08:31:43 +00:00
Andrey Kamaev b31f468921 Fixed MSVC warning in Mat::diag 2012-04-10 22:57:01 +00:00
Andrey Kamaev 626afecaf8 Fixed couple of MSVC warnings 2012-04-10 22:21:12 +00:00
Vadim Pisarevsky b122f7326b fixed Core_Array.expressions test 2012-04-10 21:28:53 +00:00
Vadim Pisarevsky 8b0d9f4f5c excluded dangerously overriden Mat_::reshape() method (ticket #1510) 2012-04-10 20:35:57 +00:00
Vadim Pisarevsky 07750a1c7e extended Sobel & Scharr description (ticket #1555). Added CV_32F/CV_64F format combination in sepFilter2D. 2012-04-10 20:25:22 +00:00
Vadim Pisarevsky 6e5e2aa32f fixed references in calib3d (including the ticket #1627) 2012-04-10 19:54:16 +00:00
Andrey Pavlenko 527ff00720 Java API: fixing more tests 2012-04-10 19:23:53 +00:00
Andrey Pavlenko 700bd454b6 Java API: fixing more tests 2012-04-10 19:17:44 +00:00
Andrey Kamaev 1cf96d36cd Corrected fix of flann deprecation warnings 2012-04-10 19:16:31 +00:00
Alexander Reshetnikov 4507764845 Added video input perf test 2012-04-10 18:02:58 +00:00
Andrey Kamaev a13f03f61e Fixed/suppressed remaining warnings from the python bindings 2012-04-10 15:50:19 +00:00
Andrey Kamaev c712f376d5 Fixed warnings about unused return value of fscanf, scanf and system 2012-04-10 15:44:07 +00:00
Andrey Kamaev 7fd1cfc5e7 Fixed warnings about unused return value of fread 2012-04-10 15:12:08 +00:00
Andrey Pavlenko 5f02bbd0d9 Java API: fixing more tests 2012-04-10 15:01:10 +00:00
Vadim Pisarevsky 2c4b5014ac added notice and sample about transparent PNGs support in cv::write (ticket #1438, #1706) 2012-04-10 14:50:52 +00:00
Alexander Shishkov 013e16b445 update search panel for online documentation 2012-04-10 14:43:58 +00:00
Vadim Pisarevsky 9eb0dc5194 minor correction in fx, fy (elements of camera matrix) description (ticket #1779) 2012-04-10 14:33:14 +00:00
Vadim Pisarevsky c0000f3aed added missing contrib & legacy chapters to the reference manual; fixed (x, y)->(y, x) ordering in Mat.at (ticket #1726) 2012-04-10 14:28:48 +00:00
Andrey Kamaev f5d327362b Android toolchain is updated for NDK r7c 2012-04-10 14:08:41 +00:00
Maria Dimashova 6cbd36fd1e fixed likelihood computing 2012-04-10 14:03:05 +00:00
Maria Dimashova 411467eab8 fixed likelihood computing 2012-04-10 13:21:32 +00:00
Ilya Lysenkov 74325fe993 Removed unnecessary mat.t() 2012-04-10 13:04:18 +00:00
Ilya Lysenkov 829e558d48 Andrey, Maria and I fixed Mat::diag() 2012-04-10 13:02:58 +00:00
Ilya Lysenkov ade6388d3a Vadim, Maria, Alex, Andrey and I fixed the EM algorithm 2012-04-10 12:45:07 +00:00
Alexander Shishkov b8f2011f80 fixed incorrect boundaries in countNonZero test 2012-04-10 12:39:32 +00:00
Andrey Pavlenko a57bc4feea Java API: fixing more tests 2012-04-10 12:09:14 +00:00
Andrey Kamaev d29a0d4c43 Fixed Ant search (Android build) 2012-04-10 11:59:00 +00:00
Alexander Shishkov 1b495973b2 remove search tips 2012-04-10 11:54:18 +00:00
Maria Dimashova 39c23ea0bd replaced using cv::exp 2012-04-10 11:06:21 +00:00
Alexander Shishkov 6367867cbc update FFMPEG wrapper binaries 2012-04-10 10:54:08 +00:00
Vadim Pisarevsky 6b0ea0e04e define MIN macro in order to build opencv_ffmpeg*.dll. 2012-04-10 10:53:04 +00:00
Maria Dimashova 3b02ee4b29 modified likelihood computing 2012-04-10 10:52:11 +00:00
Maria Dimashova 74b38e978b fixed kmeans 2012-04-10 10:06:28 +00:00
Andrey Pavlenko 7e06b18144 workaround for the 'Bug #1784 (cvFloor/cvCeil)'; typos fixed; two more tests for checkRange 2012-04-10 09:48:06 +00:00
Alexander Smorkalov 54001572d5 Setting camera parameters on Android 2.2.2 fixed. Old Android does not support continuous-video focus mode. 2012-04-10 09:02:50 +00:00
Vadim Pisarevsky 38befe3336 avoid use of OpenCV functions (like cvRound) in cap_ffmpeg_impl*.hpp 2012-04-10 08:40:50 +00:00
Andrey Kamaev 12d42768f8 Slightly improved cmake status report 2012-04-10 08:28:09 +00:00
Andrey Kamaev 18067c8e9f Fixed flann deprecation warnings from flann itself 2012-04-10 08:27:39 +00:00
Andrey Kamaev cb1565ebc9 Added Android-specific implementation of getNumberOfCPUs 2012-04-10 08:26:46 +00:00
Andrey Pavlenko dccfd79da8 #1783: test and fix for the bug 2012-04-10 08:22:33 +00:00
Vadim Pisarevsky b253665f8c added explicit VideoWriter::release(). Fixed video stream finalization (write remaining frames); Fixed occasional crash in the case of odd-width or odd-height videos; Fixed a few problems in ffmpeg tests. Positioning still does not work well. 2012-04-09 23:12:52 +00:00
Alexander Shishkov 1a1d7baf9a update FFMPEG wrapper binaries 2012-04-09 20:59:19 +00:00
Alexander Shishkov 692b709955 test commit for Buildbot 2012-04-09 20:57:53 +00:00
Alexander Shishkov d277a6a2d4 test commit for Buildbot 2012-04-09 20:17:02 +00:00
Alexander Reshetnikov 6f6d12c2b6 Updated cvconfig.h.cmake 2012-04-09 18:51:03 +00:00
Andrey Kamaev 935222c58f ffmpeg version info for Windows 2012-04-09 18:31:52 +00:00
Alexander Reshetnikov 05abdcd64f Changes of highgui structure 2012-04-09 17:38:46 +00:00
Vadim Pisarevsky 213a23e860 updated ffmpeg to 0.10.2 2012-04-09 17:21:54 +00:00
Vadim Pisarevsky 82db65ae8f avoid compile error of opencv_ffmpeg[_64].dll with v2 of FFMPEG wrappers 2012-04-09 17:18:00 +00:00
Alexander Shishkov f551b2547e turn on CountNonZero test 2012-04-09 15:40:50 +00:00
Alexander Reshetnikov d9e4ad3f50 Code style refactoring for ffmpeg wrappers 2012-04-09 15:38:37 +00:00
Alexander Reshetnikov 3514042b29 Updated getProperty method in old ffmpeg wrapper 2012-04-09 15:16:59 +00:00
Andrey Kamaev 6fa2f3b74d Minor formatting fix in status report 2012-04-09 14:56:11 +00:00
Andrey Kamaev f7853b262b Fixed cmake configuration for Android for case when only one SDK target is available #1781 2012-04-09 14:51:14 +00:00
Vadim Pisarevsky 2a626e1a2d fixed input array initialization in ArithmMaskUninitialized test (thanks to Alexander!) 2012-04-09 14:51:08 +00:00
Andrey Kamaev 97427aa614 Added more version information to cmake status (FFMPEG, GStreamer, Unicap, Xine, V4L, DC1394) 2012-04-09 14:41:18 +00:00
Andrey Pavlenko d03d54f8c1 updating Eclipse projects settings 2012-04-09 14:14:41 +00:00
Andrey Kamaev c208b58e6b Fixing TBB search and zlib version detection 2012-04-09 13:47:30 +00:00
Ilya Lysenkov 75ad9b9867 Documented a return value in cvOpenFileStorage (issue #215) 2012-04-09 13:37:44 +00:00
Alexander Reshetnikov 264dff5231 Fixed ffmpeg encoding error (ticket #1743) 2012-04-09 13:35:48 +00:00
Andrey Kamaev aa4a45ff3b Added more version information to cmake status (Qt, CUDA, OpenEXR, gcc) 2012-04-09 13:22:52 +00:00
Vadim Pisarevsky 8521f8a5ec fixed crashes in videocapture and videowriter on Ubuntu 11.10 2012-04-09 12:50:29 +00:00
Ilya Lysenkov 4e51c38fa3 Documented a return value in meanShift() and CamShift() (issue #1678) 2012-04-09 12:44:18 +00:00
Ilya Lysenkov e10d7b262b Updated a comment about return value in meanShift and CamShift 2012-04-09 12:30:14 +00:00
Alexander Shishkov bc803ec93e nonfree is optional for Python module now 2012-04-09 12:07:47 +00:00
Ilya Lysenkov 9f20d014c6 Added documentation of old Python parameters in cv.DrawContours() (issue #987) 2012-04-09 12:03:01 +00:00
Alexander Shishkov b79dfaf078 fixed problem with SURF loading in Python tests 2012-04-09 11:45:36 +00:00
Andrey Pavlenko a68d0278ba Java API: fixing tests compatibility with API level 8 2012-04-09 11:36:32 +00:00
Andrey Kamaev d1a8f562b9 Added version detection for zlib, libjpeg, libjasper, libpng, libtiff 2012-04-09 11:32:28 +00:00
Ilya Lysenkov 28cf8cee53 Documented the Python version of findContours (issue #1697) 2012-04-09 11:30:38 +00:00
Maria Dimashova f2c252f8e7 moved to double in EM; fixed bug 2012-04-09 10:51:50 +00:00
Ilya Lysenkov b6452f4bcf Added a note that cv::pow() doesn't handle NaN and Inf values (#1739) 2012-04-09 10:50:27 +00:00
Andrey Pavlenko a9b3a17ae6 Java API: fixing more tests 2012-04-09 08:53:54 +00:00
Andrey Pavlenko 17d88783c2 Java API: fixing more tests 2012-04-09 08:31:28 +00:00
Andrey Pavlenko bb870a8270 Java API: fixing more tests 2012-04-09 08:20:23 +00:00
Andrey Pavlenko 2e7a9041a7 Java API: fixing more tests 2012-04-09 08:07:18 +00:00
Andrey Kamaev 7ed80d54d7 Added TBB version detection to CMake 2012-04-09 07:53:04 +00:00
Alexander Smorkalov be20370a3d Autofocus issues on Android ICS fixed. Continuous-video focus mode is set.
Performance problems fixed. Shared camera buffer is used.
2012-04-09 07:36:54 +00:00
Andrey Kamaev 7cc7a3f37d Suppressed hundreds of useless MSVC warnings (can be reenabled setting cmake variable ENABLE_NOISY_WARNINGS to ON). Fixed some of remaining warnings. 2012-04-08 21:49:19 +00:00
Andrey Kamaev c16a1d86cc Fixed python detection on Windows with both 32bit and 64bit pythons installed. 2012-04-08 17:36:41 +00:00
Andrey Pavlenko 35a7dfbd37 removing Java tests for removed classes 2012-04-08 17:26:17 +00:00
Andrey Pavlenko d96dcb8a71 fixing Android build error in Java API 2012-04-08 17:10:15 +00:00
Marina Kolpakova b5f5700911 fixed build with gcc 4.5+ (#1774) 2012-04-07 16:06:47 +00:00
Marina Kolpakova cf02b2e258 additional android logging for output gtest xml file 2012-04-07 12:51:59 +00:00
Marina Kolpakova 0ff5712d06 fixed few warnings 2012-04-07 12:47:23 +00:00
Marina Kolpakova fb0611bd51 Fix for #1773 2012-04-07 12:03:02 +00:00
Ivan Korolev 2154fb5a15 Java API: Fixed some bugs in the ImgprocTest.java 2012-04-07 06:00:18 +00:00
Andrey Kamaev 99b24f77c5 Fixed problem with backslashes in embedded build information. 2012-04-06 20:03:21 +00:00
Andrey Kamaev dcadc4f8fb #1765 Fixed solvePoly for polynomials having coeffs[n] != 1 2012-04-06 19:54:15 +00:00
Maria Dimashova 5ce2997c84 added assert 2012-04-06 17:10:26 +00:00
Maria Dimashova 84aff376a7 fixed em log likelihood 2012-04-06 17:06:35 +00:00
Vadim Pisarevsky b8c310065c modified EM interface; updated tests & samples 2012-04-06 15:59:30 +00:00
Andrey Kamaev 1c1c6b98f6 #645 Added cv::getBuildInformation function (with sample) to get OpenCV build configuration 2012-04-06 15:43:20 +00:00
Ivan Korolev 89338a38af Fixed some bugs in the ImgprocTest.java module. 2012-04-06 13:45:07 +00:00
Alexander Shishkov 6c308dac10 fixed problem in solvePnPRansac with TBB 2012-04-06 13:33:22 +00:00
Vadim Pisarevsky 61c7c441b9 handle single-point sets in kmeans properly 2012-04-06 13:22:08 +00:00
Maria Dimashova 71d8769314 removed EM from python and java bindings 2012-04-06 12:30:09 +00:00
Andrey Kamaev 2854e7b5a2 Fixed perf tests crash in case of corrupted sanity data; added option to control process of generating new sanity records 2012-04-06 10:44:55 +00:00
Alexander Shishkov a03c6d9d1f fixed RAND test for float values 2012-04-06 10:35:25 +00:00
Vadim Pisarevsky 305b9a25e3 restored resolution in big video writer test 2012-04-06 10:15:52 +00:00
Vadim Pisarevsky 0f1f7b0b4a fixed a few VS2010 warnings in EM 2012-04-06 10:04:22 +00:00
Andrey Pavlenko 2291faedd8 Java API: changing CvVectorXxx to MatOfXxx 2012-04-06 09:32:00 +00:00
Andrey Pavlenko 6c0ab28d8b Java API: changing CvVectorXxx to MatOfXxx 2012-04-06 09:30:42 +00:00
Maria Dimashova 85fa0e7763 added cv::EM, moved CvEM to legacy, added/updated tests 2012-04-06 09:26:11 +00:00
Vadim Pisarevsky cdc5bbc0bc fixed crash in I/O tests on Windows by making sure std::vector is non-empty before taking pointer to its elements 2012-04-05 20:23:53 +00:00
Vadim Pisarevsky 32d72047d5 reduced the video size in video writer tests; retained only most popular codecs. added ffmpeg support on MacOSX. 2012-04-05 18:26:49 +00:00
Alexander Reshetnikov 0ef71c04db Fixed [swscaler ...] bad dst image pointers (tickets ##1708, 1755) 2012-04-05 16:29:42 +00:00
Andrey Kamaev fa7e7e54dc Fixed ugly bug in AlgorithmInfo initialisation order 2012-04-05 16:06:09 +00:00
Alexander Reshetnikov 56e7852e2f Fixed a problem with AVI reading (removed avcodec_context) 2012-04-05 15:53:03 +00:00
Alexander Smorkalov a5a3c3139f Native camera shared libraries updated after autofocus fix.
Libs for Android x86 added.
2012-04-05 14:03:20 +00:00
Alexander Smorkalov f6972542f3 Autofocus issue on Android ICS fixed. 2012-04-05 14:00:36 +00:00
Vadim Pisarevsky c6a27b3d2f probably, ultimately fixed the problem of empty clusters in kmeans; added test for singular kmeans cases 2012-04-05 13:01:34 +00:00
Andrey Kamaev d80651d99a Added option to automatically run all accuracy tests with run.py 2012-04-05 12:53:25 +00:00
Andrey Kamaev 849e3cfac0 Merged the trunk r7844 2012-04-05 09:01:03 +00:00
Andrey Pavlenko 0c45a5add2 Java API: minor bug-fixes and improvements in CvVector-s and tests 2012-04-05 08:41:03 +00:00
Andrey Kamaev 4ee2c486eb #1732 Added YUV422 conversions 2012-04-05 08:29:59 +00:00
Andrey Kamaev 24f82c755a Improved accuracy of SSE-optimized BayerXX2GRAY conversion; added regression test 2012-04-05 07:25:52 +00:00
Alexander Shishkov e04cd1b0cf fixed #227, added support I420 format 2012-04-04 16:06:07 +00:00
Andrey Pavlenko 5c0c81076b Java API: fixing Objdetect tests 2012-04-04 15:10:26 +00:00
Andrey Pavlenko 5fefac7fe3 Java API: fixing Highgui and Video tests 2012-04-04 15:00:35 +00:00
Andrey Pavlenko cd8dfd6c5d Java API: fixing Calib3d tests 2012-04-04 14:49:56 +00:00
Andrey Pavlenko 51338ec7c3 Java API: fixing Core tests; minor enchantments in CvVector-s API 2012-04-04 14:26:43 +00:00
Andrey Kamaev 5a93b275cd Fix for #1730 2012-04-04 13:42:02 +00:00
Andrey Kamaev 7fb694756b Fixed bug in reading zero-size Mat from FileStorage 2012-04-04 13:25:37 +00:00
Andrey Kamaev ae00e9074b Added test for reading empty Mat from FileStorage 2012-04-04 13:10:03 +00:00
Andrey Pavlenko 78d92584c3 Java API: changing C++ vector<T> handling;
Java tests fixes are expected shortly
2012-04-04 12:59:53 +00:00
Vadim Pisarevsky 9ac0d4323d make Mat::Mat(CvMat* m) return empty matrix when m is NULL; added utility Mat::initEmpty() method to replace duplicated matrix initializations in different constructors 2012-04-04 12:52:14 +00:00
Vadim Pisarevsky 2fded17f10 added notice about the changed behavior of copyMakeBorder in the case of ROI (ticket #1756) 2012-04-04 12:13:53 +00:00
Vadim Pisarevsky 3f609c89e2 support in-place warpAffine, warpPerspective & remap (feature #1150) 2012-04-04 11:44:09 +00:00
Vadim Pisarevsky e88ff6837a added test for ticket #1719 and added a note about contour self-intersections to the docs 2012-04-04 11:35:51 +00:00
Andrey Kamaev 41eb91f5f1 Updated performance tests sanity data; fixed some tests 2012-04-04 10:56:17 +00:00
Vadim Pisarevsky 9576133e06 restore support of vector<float> as possible output descriptor container in SURF::operator(). 2012-04-04 10:36:49 +00:00
Andrey Kamaev e479a9f619 Removed unneded dependency between objdetect and calib3d 2012-04-04 08:34:30 +00:00
Andrey Kamaev 22630ff8b4 Merged the trunk r7794 2012-04-03 14:24:55 +00:00
Vadim Pisarevsky a3262c5e51 added initModule_features2d(). Possibly solved problem when the linker excludes seemingly unused detectors/descriptors. 2012-04-03 13:38:54 +00:00
Vadim Pisarevsky c7d38a3aab restored try-catch in the i/o test 2012-04-03 13:05:16 +00:00
Vadim Pisarevsky 5e15557155 fixed a few bugs in XML/YAML input/output. 2012-04-03 12:23:46 +00:00
Maria Dimashova 85364ac9b1 fixed Algorithm 2012-04-03 10:51:59 +00:00
Vladislav Vinogradov 64a5c0b1cf updated gpu docs 2012-04-03 06:45:32 +00:00
Alexander Shishkov 74504e6c4d fixed #1572 2012-04-03 00:21:09 +00:00
Alexander Shishkov dc318a868a fixed bug in document theme 2012-04-02 22:21:15 +00:00
Vadim Pisarevsky ff071d2cf6 added Algorithm::get/set/addParam(vector<Mat>) (to be used by EM) 2012-04-02 17:19:57 +00:00
Alexander Shishkov 6fdf7b4d62 fixed document style for deprecated interfaces
added logo to the online docs
moved quick-search panel
added logo with white sign
2012-04-02 13:16:54 +00:00
Vladislav Vinogradov 1bc9ec0d77 fixed gpu::Laplacian
fixed gpu performance sample
2012-04-02 11:21:45 +00:00
Alexander Shishkov 66fd36f79e changed version to 2.4 2012-04-01 08:58:24 +00:00
Vladislav Vinogradov 82d619a34d fixed gpu::filter2D 2012-04-01 07:32:25 +00:00
Andrey Kamaev fd31234122 Fixed gcc build 2012-03-31 23:51:59 +00:00
Anatoly Baksheev e1fd68b21e fixed #1257 ( HaarCascadeApplication GPU test crash ) 2012-03-31 23:49:35 +00:00
Andrey Kamaev 470f6fafeb Fixed conversions from YV12 and IYUV on non-continuous input. Added accuracy and performance tests. 2012-03-31 22:30:18 +00:00
Anatoly Baksheev a22641aa9c fixed bug #1367 in CSBP 2012-03-31 22:07:16 +00:00
Anatoly Baksheev d2bc0065a6 minor 2012-03-31 20:01:18 +00:00
Vadim Pisarevsky eecda6d308 added explicit () to avoid MSVC /analyze warning 2012-03-31 17:39:06 +00:00
Andrey Kamaev d95721107c Fixed typo. 2012-03-31 17:34:24 +00:00
Vadim Pisarevsky 5c615ec28f added optional dependency stitching->nonfree. When nonfree is available, make sure linker does not throw it away. 2012-03-31 17:25:19 +00:00
Alexander Reshetnikov 1c616f43ba Fixed compilation error with ffmpeg 0.9.x & 0.10.x 2012-03-31 17:06:35 +00:00
Vladislav Vinogradov 4a41107b01 applied patch #1734 2012-03-31 17:05:33 +00:00
Andrey Kamaev 124ceb96a7 #1732 Added yuv420p to RGB conversion. Thanks to Robert Abel. 2012-03-31 15:33:03 +00:00
Alexander Shishkov 445537fb53 update FFMPEG wrapper binaries 2012-03-31 15:28:51 +00:00
Alexander Reshetnikov 4ec2ad91b9 Removed duplicated includes from ffmpeg wrappers 2012-03-31 15:27:48 +00:00
Alexander Reshetnikov 958d5a0caa Solved a problem with VideoWriter in the new wrapper 2012-03-31 15:12:45 +00:00
Alexander Reshetnikov ab0fc84781 Fixed compilation error under Ubuntu 11.10; added #if-#else-#endif code for some deprecated functions 2012-03-31 15:10:13 +00:00
Andrey Kamaev c648de0e08 Fixed build error in Android examples when java bindings are excluded from build. 2012-03-31 12:26:03 +00:00
Andrey Kamaev 72f2523d0f Fixed ~20 potential errors identified by the MS complier. 2012-03-31 11:09:16 +00:00
Vadim Pisarevsky 1e5a600d13 fixed video capturing on Mac running Windows (ticket #988) 2012-03-31 08:56:48 +00:00
Vadim Pisarevsky f309bafe9e another fix for cap_dshow.cpp; fixed warning in facerec_demo 2012-03-30 20:06:06 +00:00
Alexander Reshetnikov 3a564d1ae8 Updated displayOverlay's implementation & documentation (ticket #903) 2012-03-30 19:58:44 +00:00
Andrey Kamaev 7a017973bf Fixed Windows build (MSVC 10 Win32)
internal CV_CAP_PROP_ZOOM is renamed to CV_CAP_PROP_ZOOM_DSHOW
internal CV_CAP_PROP_FOCUS is renamed to CV_CAP_PROP_FOCUS_DSHOW
2012-03-30 19:26:15 +00:00
Vadim Pisarevsky f0b8b81caa applied big patch #1281 by Martin Beckett (various direct show video capture enhancements) 2012-03-30 18:39:03 +00:00
Vadim Pisarevsky 7fb8e9d328 added borderType to pyrDown, pyrUp & buildPyramid (patch #925) 2012-03-30 16:58:24 +00:00
Alexander Reshetnikov aff34adf1b Updated new ffmpeg wrapper 2012-03-30 16:57:41 +00:00
Andrey Kamaev dc6cad3d4b Fixed build with tests disabled 2012-03-30 16:21:46 +00:00
Andrey Kamaev 0d18d19ad6 Fixed Android build warnings 2012-03-30 16:10:52 +00:00
Maria Dimashova 7f2cda6c8c fix the ticket #1234 2012-03-30 15:04:51 +00:00
Alexander Shishkov 51fa895fca update FFMPEG wrapper binaries 2012-03-30 14:31:20 +00:00
Alexander Reshetnikov e00f1e3911 Fixed a problem with CODEC_ID_RAWVIDEO in FFMPEG (ticket #1400) 2012-03-30 14:30:24 +00:00
Andrey Pavlenko aea24ffcd5 #796, #1701 fixing doc vs code arg-s naming consistency 2012-03-30 14:22:34 +00:00
Vadim Pisarevsky 38f686252c added video stream positioning in QTKit-based VideoCapture backend (patch #1420) 2012-03-30 14:13:21 +00:00
Andrey Kamaev a4f5216d52 Fixed gcc build after r7751 2012-03-30 14:03:18 +00:00
Vadim Pisarevsky 22a0d6b7d1 possible fix for #1396 2012-03-30 13:51:15 +00:00
Anatoly Baksheev 406a05316f removed obsolete docs about cuda contexts 2012-03-30 13:43:50 +00:00
Vadim Pisarevsky 68d20301f2 fixed building delaunay.c with MSVC 2012-03-30 12:54:54 +00:00
Ivan Korolev 856aaee8cd Fixed the path to the testdata. 2012-03-30 12:48:47 +00:00
Ivan Korolev 44d4e85d9e Fixed the path to the testdata. 2012-03-30 12:27:17 +00:00
Vadim Pisarevsky beb7fc3c92 a LOT of obsolete stuff has been moved to the legacy module. 2012-03-30 12:19:25 +00:00
Andrey Kamaev 7e5726e251 Fixed several false-positive warnings in rst_parser.py. (Now it detects 553 undocumented parameters for #1205.) 2012-03-30 12:07:45 +00:00
Alexey Spizhevoy 014accaf31 Fixed default arg value in videostab sample 2012-03-30 09:49:41 +00:00
Alexey Spizhevoy 99f29b75a1 Added linear similarity estimation into videostab module 2012-03-30 09:44:32 +00:00
Andrey Kamaev 1af9b8ecab Applied patch from #1133 2012-03-30 06:19:21 +00:00
Andrey Kamaev 77425edd11 #1532 Debug version of python bindings is excluded from install 2012-03-29 23:10:21 +00:00
Vadim Pisarevsky 2598736ac2 added description of cv::convexityDefect 2012-03-29 19:56:53 +00:00
Vadim Pisarevsky e36ad50825 added cv::convexityDefects (ticket #796) 2012-03-29 19:42:47 +00:00
Ilya Lysenkov 959c37fccf Partial fix of a cameraCalibration() test 2012-03-29 18:44:55 +00:00
Ilya Lysenkov e7b4353505 Added termination criteria as a calibrateCamera() parameter 2012-03-29 17:19:15 +00:00
Vadim Pisarevsky 33bc089506 fixed HOGDescriptor::detect and HOGDescriptor::detectMultiScale signatures (ticket #1304) 2012-03-29 17:18:38 +00:00
Vadim Pisarevsky 0b234b7a69 rewritten floodfill in generic style; added CV_32S flavor (ticket #1482) 2012-03-29 17:08:03 +00:00
Alexander Reshetnikov 554e0051e8 Fixed error with color space switching for IEEE1394 cameras (patch #766) 2012-03-29 16:15:55 +00:00
Andrey Pavlenko 6d49b075d9 updating screen resolutions support settings 2012-03-29 15:41:38 +00:00
Andrey Pavlenko 64355e88f1 fixing a typo 2012-03-29 15:40:21 +00:00
Alexander Shishkov 0ac70e6883 fixed #1421 2012-03-29 13:46:54 +00:00
Ilya Lysenkov ecbf9425e4 Added documentation of correctMaches (#1350) 2012-03-29 13:22:49 +00:00
Ilya Lysenkov 1e1d7496ee Added a test for correctMatches (#1350) 2012-03-29 13:22:22 +00:00
Ilya Lysenkov f29912b501 Added wrappers of cvCorrectMatches (#1350) 2012-03-29 13:21:24 +00:00
Vadim Pisarevsky 0404b2989e fixed line clipping (ticket #1284) 2012-03-29 13:06:38 +00:00
Alexander Reshetnikov 1564fe9a83 Fixed segfault problem with cap_unicap (ticket #1112) 2012-03-29 12:20:06 +00:00
Vadim Pisarevsky 586ff429ec fixed bug #1318. extended RNG::fill with the optional saturateRange parameter 2012-03-29 12:00:34 +00:00
Alexander Reshetnikov ee8c4aeb4b Updated close method for ieee1394 cameras 2012-03-29 11:56:53 +00:00
Ilya Lysenkov 857676c610 Added documentation of triangulatePoints() 2012-03-29 11:54:29 +00:00
Andrey Kamaev 8f970caa56 #1349 tbb::mutex is moved to outer scope to be sure that its initialization is completed before the parallel loop 2012-03-29 11:17:35 +00:00
Vadim Pisarevsky 4eda1662aa switched back to FitEllipse algorithm by Dr. Daniel Weiss; improved its accuracy in some cases. It fixes #1638 2012-03-29 10:47:08 +00:00
Ilya Lysenkov 7901879e48 Added a test for the C++ wrapper of cvTriangulatePoints() 2012-03-29 10:39:48 +00:00
Ilya Lysenkov 37db334f8a Added wrappers of cvTriangulatePoints() 2012-03-29 10:39:06 +00:00
Maria Dimashova 8d9d964550 added smoke test on EM, fixed EM reading #1570 (thanks to mr.pppoe), 2012-03-29 08:55:43 +00:00
Andrey Kamaev ec793df30f #1205 fixed more bugs/typos in parameters 2012-03-29 08:07:57 +00:00
Maria Dimashova 008a1c91fd fixed em test 2012-03-29 07:01:57 +00:00
Andrey Kamaev 94c258cf15 #1205 fixed ~100 of ~700 parameters 2012-03-29 06:50:05 +00:00
Alexander Smorkalov e74be5a65d Fix for issue #1201 Updated. Focus mode auto was replaced on continuous-video. Libraries were rebuilt. 2012-03-29 05:15:51 +00:00
Andrey Kamaev d6d1ff0ac5 Added regression test for #1652 2012-03-29 03:33:07 +00:00
Andrey Kamaev ce89d00fcf Implemented missed AlgorithmInfo for BRIEF 2012-03-29 03:06:59 +00:00
Andrey Kamaev 700c1665c9 Fixed 2 spontaneously failing tests 2012-03-29 03:05:41 +00:00
Marina Kolpakova f5152500be fixed #1373 2012-03-29 01:16:33 +00:00
Andrey Kamaev d46f44b48a #1695 fixed arrow key events with the Qt backend 2012-03-28 22:22:02 +00:00
Marina Kolpakova dd01861de2 test case from ticket #1650 2012-03-28 20:54:58 +00:00
Marina Kolpakova 13c7222238 minor refactoring 2012-03-28 20:50:02 +00:00
Andrey Kamaev 09490188b3 #1365 Fixed numerous bugs in Bayer2RGB_VNG_8u SSE optimization, added simple regression test 2012-03-28 20:20:29 +00:00
Marina Kolpakova 32b9bc1d00 fixed bug for #1496 and correctness tests for function CheckRange 2012-03-28 20:09:13 +00:00
Ilya Lysenkov 8fcd0d9222 Fixed the error message in cvCorrectMatches (fixes #1155) 2012-03-28 17:29:49 +00:00
Alexander Reshetnikov 2a68228b66 changed icvSetVideoSize function (ticket #1067) 2012-03-28 16:14:36 +00:00
Maria Dimashova 84c9990632 fixed cvKMeans2 (#1359) 2012-03-28 15:45:14 +00:00
Andrey Pavlenko 74749fccbf fix for #1724: making Java samples compatible with Android 3.1+ targets 2012-03-28 15:32:01 +00:00
Alexander Reshetnikov cff117c08b Updated saving paths for highgui tests 2012-03-28 15:27:55 +00:00
Vadim Pisarevsky 56f5fcd28c added Vec Matx::solve(Vec) (ticket #1376) 2012-03-28 15:21:30 +00:00
Alexander Shishkov c9efcf8d1f fixed #1616 2012-03-28 15:12:12 +00:00
Maria Dimashova 6636d255f7 fixed iter index in kmeans 2012-03-28 14:56:18 +00:00
Vadim Pisarevsky d62e486b69 avoid empty clusters in k-means in a more elegant way (relates to ticket #7698) 2012-03-28 14:32:23 +00:00
Vadim Pisarevsky 806aab164b save, load & copy HOGDescriptor::nlevels (ticket #1533) 2012-03-28 14:31:03 +00:00
Vladislav Vinogradov 5aae21c037 fixed bug #1640 2012-03-28 14:25:41 +00:00
Alexey Spizhevoy de27d3e023 Fixed bugs in gpu border extrapolation aux. classes (BORDER_REFLECT case) 2012-03-28 14:13:29 +00:00
Alexander Reshetnikov 76852a499d Minor refactoring of video i/o tests: fixed error with indexes 2012-03-28 14:05:26 +00:00
Andrey Kamaev 63c6e9d6d2 #1537 removed suspicious lines clearing optimization flags 2012-03-28 13:59:48 +00:00
Alexander Reshetnikov 8313095734 Changed saving paths for another highgui tests 2012-03-28 13:49:55 +00:00
Andrey Kamaev 2c2616d46f #1508 prefer architecture-specific install directory for python bindings, when LIB_SUFFIX is used 2012-03-28 13:37:58 +00:00
Vadim Pisarevsky aed276e67d fixed cvComputeCorrespondEpilines to handle <5 points (ticket #1635) 2012-03-28 13:37:14 +00:00
Ilya Lysenkov 7eab7c197d Modified the test of findChessboardCorners to check examples when there are no chessboards 2012-03-28 13:23:33 +00:00
Vadim Pisarevsky f014fb0a0e restored the ordering of SURF constructor parameters (ticket #1704) 2012-03-28 13:07:44 +00:00
Vladislav Vinogradov 8e3f1c09d2 added support of 3-channels output to gpu::reprojectImageTo3D
minor refactoring of gpu tests
2012-03-28 12:48:28 +00:00
Alexander Reshetnikov 07ec83cd1f Updated ffmpeg test for big video writing (changed saving paths + added removing files) 2012-03-28 12:15:25 +00:00
Ilya Lysenkov 03cd6072ce Fixed the test of findChessboardCorners (it didn't test accuracy before) 2012-03-28 11:45:50 +00:00
Alexander Reshetnikov a185302c5d Updated test_video_pos.cpp 2012-03-28 11:33:36 +00:00
Andrey Kamaev 7d51a4ab78 #1416 added option to install OpenCVConfig.cmake i arch-dependent lo 2012-03-28 10:38:50 +00:00
Vadim Pisarevsky 24bc0db1b0 fixed writing huge matrices (ticket #1439) 2012-03-28 09:57:31 +00:00
Alexander Mordvintsev 6848c6d69a reverted revision 7676 (#1725) 2012-03-28 09:44:54 +00:00
Maria Dimashova 9c12cc6b03 added doc on DenseFeatureDetector (#1311) 2012-03-28 09:39:40 +00:00
Vadim Pisarevsky bf12855007 fixed mask operations with uninitialized output array, added the corresponding test (ticket #1286) 2012-03-28 09:07:00 +00:00
Alexey Spizhevoy c776bff95b #1713 Added the possibility of setting user_block_size manually for gpu::matchTemplate function (and gpu::convolve). Added a buffer param into these functions. Removed using of 2^n block sizes when it's not necessary. 2012-03-28 07:11:07 +00:00
Vladislav Vinogradov d1423adbc7 moved gpu cvtColor tests to separate file
added more tests for gpu cvtColor
fixed RGB->YUV conversion
2012-03-28 06:56:42 +00:00
Alexander Mordvintsev 13045dec1d working on python wrappers for stitching 2012-03-28 05:00:41 +00:00
Alexander Mordvintsev d304a55e1e gpu.hpp:filterSpeckles conflicts with calib3d.hpp -- should it be removed at all? 2012-03-28 04:44:33 +00:00
Andrey Kamaev 9941cf7c95 Fixed MSCV2005 build with TBB enabled. 2012-03-27 23:17:53 +00:00
Andrey Kamaev 8eb788c6e7 #842 #include <sys/mman.h> is moved from public headers closer to usage 2012-03-27 21:29:58 +00:00
Andrey Kamaev 3ac1f31126 Fixed Android tests and samples status in cmake report; restored java tests "coverage calculation". 2012-03-27 21:27:27 +00:00
Andrey Kamaev 176eb83da6 Fixed Windows build 2012-03-27 20:56:30 +00:00
Andrey Kamaev 67838a7a66 Made dependency of opencv_objdetect from opencv_highgui optional. 2012-03-27 20:17:31 +00:00
Ilya Lysenkov e1378aad79 Added a check that Q reprojects to the same 3D points as reconstructed by triangulation (#1575) 2012-03-27 19:04:43 +00:00
Ilya Lysenkov bc7b517e41 Added a check that Tx after rectification is equal to distance between cameras 2012-03-27 16:47:19 +00:00
Andrey Kamaev e72a23243b Reworked build scripts for Android Java API, tests and examples 2012-03-27 16:05:52 +00:00
Ilya Lysenkov 3b5b20b795 Fixed wrong computation of a reprojection matrix Q in stereoRectify (#898) 2012-03-27 15:02:53 +00:00
Ilya Lysenkov d9001d1a91 Added a check that Q (computed by rectification) reprojects a point before the camera 2012-03-27 15:01:26 +00:00
Vadim Pisarevsky b6ab96ae0b added special notice about the missing saturation in 32s case (ticket #1529) 2012-03-27 14:58:46 +00:00
Vadim Pisarevsky af8e5696f0 fixed a few compile problems in SparseMat code; fixed iteration over an empty sparse matrix (ticket #1587) 2012-03-27 14:43:24 +00:00
Maria Dimashova f262651465 added test case of matching the same descriptors 2012-03-27 13:20:54 +00:00
Vadim Pisarevsky 168d19364f improved description of RTreeParams (ticket #1656; thanks to Nghia Ho) 2012-03-27 12:58:58 +00:00
Vadim Pisarevsky 8513ed08d0 probably fixed multi-threaded capturing from DShow cameras (ticket #1470) 2012-03-27 12:50:56 +00:00
Vladislav Vinogradov b2a6a257b7 minor modification of gpu video tests
disabled NVidia Visualization test, it's functionality (draw rectangles) doesn't used in gpu module
2012-03-27 12:15:52 +00:00
Vadim Pisarevsky 7a62413c94 added houghcircles sample, improved circle detection (ticket #951) 2012-03-27 12:00:22 +00:00
Vladislav Vinogradov eaea6782d5 added more assertion on device features to gpu functions and tests
moved TargerArchs and DeviceInfo to core
fixed bug in GpuMat::copy with mask (incorrect index in function tab)
2012-03-27 10:34:30 +00:00
Vadim Pisarevsky e8fab91d51 added DIST_LABEL_PIXEL labelType to distanceTransform, ticket #1641 (thanks to Mikhail Matrosov for the patch) 2012-03-27 09:06:21 +00:00
Maria Dimashova f70d171cef changed default parameter 2012-03-27 08:37:39 +00:00
Maria Dimashova 550fd8e57c added image and depth synchronization 2012-03-27 07:41:48 +00:00
Vladislav Vinogradov bd13e9479b added assertion on device features (global atomics) into gpu tests 2012-03-27 07:33:39 +00:00
Andrey Kamaev 4a996111ea Fixed Android build warnings 2012-03-27 06:16:13 +00:00
Alexander Shishkov 6412e17df6 fixed #1502 2012-03-26 18:58:01 +00:00
Vladislav Vinogradov 089a835c0a fixed octave computation in SURF_GPU
used random images in gpu filter tests
2012-03-26 18:07:03 +00:00
Vadim Pisarevsky 903c05db1a added another contour perimeter test and fixed bug #216 2012-03-26 17:00:48 +00:00
Vladislav Vinogradov 26691e00d4 fixed gpu core tests (added additional check for device's feature support)
added assertion on double types for old devices
2012-03-26 14:33:43 +00:00
Alexander Shishkov 98d7b10c16 update FFMPEG wrapper binaries 2012-03-26 13:51:56 +00:00
Alexander Reshetnikov 1d7e09a9d5 Removed duplicated ifdef code from ffmpeg wrappers 2012-03-26 13:51:05 +00:00
Vadim Pisarevsky 7a59d6c77e improved convergence of minEnclosingCircle algorithm, patch #947 (thanks to Hannes Sommer) 2012-03-26 13:45:49 +00:00
Vadim Pisarevsky 29077f11f8 got rid of "long double" in OpenCV; ticket #1515 2012-03-26 13:36:47 +00:00
Vadim Pisarevsky 0186bd8099 split big assertion in cv::split by parts; patch #829 by Shlomi Fish 2012-03-26 13:32:32 +00:00
Andrey Kamaev 54a4ff033a Fixed #1711 2012-03-26 13:17:18 +00:00
Ilya Lysenkov 3517be757b Added checking whether aspect ratio is valid or not 2012-03-26 13:07:21 +00:00
Andrey Kamaev 4c58fff3f7 Added cvPyrUp signature to the documentation #1670 2012-03-26 13:01:10 +00:00
Alexander Reshetnikov 1a04d09140 Fixed compilation error for ffmpeg tests 2012-03-26 12:27:00 +00:00
Ilya Lysenkov 6d1f4bfba4 Added projectPoints() for 3xN objectPoints and 2xN imagePoints (#1550) 2012-03-26 11:10:34 +00:00
Ilya Lysenkov 4a7efa548f Added points comparison in test_remap 2012-03-26 11:07:27 +00:00
Vladislav Vinogradov 9034a2d6d7 fixed gpu arithm functions (mismatch with cpu version) 2012-03-26 11:02:03 +00:00
Ilya Lysenkov 159022844e Restored and improved the test_remap Python test 2012-03-26 10:25:24 +00:00
Vadim Pisarevsky a3362864e1 removed unnecessary MIN(); bug #1578 2012-03-26 10:01:30 +00:00
Vadim Pisarevsky 8bb422b1fc fixed potential buffer size overflow in Boost::update_weight, bug #1524 (thanks to benlemna for the patch) 2012-03-26 09:53:52 +00:00
Vadim Pisarevsky f341ce2665 fixed "Invalid background description file" bug, #1676 2012-03-26 09:48:43 +00:00
Vadim Pisarevsky afd9523ff2 possibly fixed bug #1453 2012-03-26 09:40:49 +00:00
Vadim Pisarevsky 4ba87233bb fixed the size of output velocity map in OptFlowBM, ticket #1362 (thanks to Takanori Y for the patch) 2012-03-26 09:20:03 +00:00
Alexey Spizhevoy 5434a9a5ec Fixed gpu::matchTemplate for correct handling of big templates. Added tests 2012-03-26 09:19:33 +00:00
Vadim Pisarevsky 098fc1a62e fixed nearest-neighbor remap with constant border, ticket #1681 (thanks to Vlad for the patch) 2012-03-26 09:12:27 +00:00
Vadim Pisarevsky befa9b3109 fixed chi-square test, ticket #1263 2012-03-26 09:07:02 +00:00
Andrey Kamaev bfaae7dd93 Input/Output arrays are updated to support fixed-type and fixed-size semantic for all compatible types 2012-03-26 08:18:53 +00:00
Vadim Pisarevsky e778007d5d applied patch from #1655 (thanks to Changbo Zhou!) 2012-03-26 08:18:10 +00:00
Vadim Pisarevsky 69f5d8c1d3 applied patch from #1712 (thanks to Vlad) 2012-03-26 08:04:27 +00:00
Alexander Shishkov 216ef24b92 fixed Debug compilation on Windows (it works for VS versions > 2005) 2012-03-26 07:33:01 +00:00
Vadim Pisarevsky 5777689fe9 fixed build errors & warnings on VS2010 2012-03-25 22:05:58 +00:00
Andrey Kamaev 8991d323ea Refactored Java wrapper build scripts.
Improved Android SDK search, fixed some bugs.
2012-03-25 19:57:58 +00:00
Vadim Pisarevsky cec8f719a3 added face recognition algorithms, LDA, colormaps (all by Philipp Wagner) 2012-03-24 22:03:47 +00:00
Vadim Pisarevsky 648669cb81 preliminary version of a multi-level findcontours 2012-03-24 20:07:10 +00:00
Vadim Pisarevsky f196dd5ff7 preliminary version of a multi-level findcontours 2012-03-24 20:03:07 +00:00
Andrey Kamaev 9b2d7e19db Added "fat" mode for Java wrapper 2012-03-23 17:03:05 +00:00
Alexander Reshetnikov 0aa74f3846 Updated new video positioning test 2012-03-23 16:41:41 +00:00
Andrey Pavlenko 1b2525703e Java API minor fixes 2012-03-23 15:18:05 +00:00
Leonid Beynenson a97c2c838c Made small change which fixes the situation, when ORB does not find any descriptors on an image. Earlier ORB::operator() crashed in this case, since rowRange method was called for an empty matrix. 2012-03-23 12:06:49 +00:00
Alexander Reshetnikov c6571249a8 Update FFMPEG wrapper binaries 2012-03-23 10:59:06 +00:00
Alexander Shishkov 5ebc183720 update FFMPEG wrapper binaries 2012-03-23 10:53:49 +00:00
Alexander Shishkov 84ddd6018d fixed wrapper compilation on Windows (opencv_ffmpeg dlls) 2012-03-23 10:52:36 +00:00
Alexander Reshetnikov e3d0c6515f Added new video posiitioning test 2012-03-23 08:53:56 +00:00
Alexander Reshetnikov e83ebde210 Fixed ifdef code mistake 2012-03-22 23:17:04 +00:00
Alexander Reshetnikov 7817e11e01 Fixed compilation error under Windows 2012-03-22 22:26:33 +00:00
Alexander Reshetnikov 6de7064836 Updated ffmpeg test for big video writing 2012-03-22 22:18:43 +00:00
Alexander Reshetnikov b27d1662e6 Separated ffmpeg codecs and wrappers 2012-03-22 21:28:06 +00:00
Vladislav Vinogradov 7057dd8fc0 added test for gpu::Laplacian for CV_32FC1 type
changed epsilon for matrix comparison in gpu::sqrt test
2012-03-22 19:12:42 +00:00
Alexander Shishkov fc68c18c92 unrolled changes from r7601 (problems with Android,...) 2012-03-22 13:36:07 +00:00
Andrey Pavlenko 23619718ed fixing copy/paste typo 2012-03-22 13:23:11 +00:00
Alexander Reshetnikov ce8c2892d8 Removed OS conditions from highgui tests 2012-03-22 09:38:44 +00:00
Alexey Spizhevoy 45fd8a6a63 Added load and save motion args into videostab sample 2012-03-22 09:30:28 +00:00
Andrey Kamaev e64c08d5d9 Fixed build 2012-03-22 08:22:23 +00:00
Alexey Spizhevoy 984583981c Split stabilizer into OnePassStabilizer and TwoPassStabilizer 2012-03-22 07:52:17 +00:00
Andrey Pavlenko 6708869425 updating Java samples to meet Java API changes 2012-03-22 07:25:29 +00:00
Andrey Kamaev c6e9e9418a More Tegra versions of convertTo 2012-03-22 05:27:30 +00:00
Alexander Reshetnikov 0dd4386d77 Updated new ffmpeg wrapper; restored NEW_FFMPEG in the root cmake file 2012-03-21 18:07:34 +00:00
Andrey Kamaev 41158ab553 Fixed perf test for convertTo 2012-03-21 16:20:44 +00:00
Andrey Pavlenko f13e54dd72 #921 less signatures for func-s with default arg val-s (aka smart overloads);
moving inpaintTest() to 'photo';
hiding 'Point*' arg in Java signature of Core.checkRange().
2012-03-21 15:07:54 +00:00
Andrey Pavlenko 5c4b984738 fixing arg name according to ref man 2012-03-21 14:59:56 +00:00
Maria Dimashova 499efec5b0 removed debug log 2012-03-21 14:47:13 +00:00
Vladislav Vinogradov 059cef57e6 fixed gpu::filter2D border interpolation for CV_32FC1 type
added additional tests for gpu filters
fixed gpu features2D tests
2012-03-21 14:38:23 +00:00
Maria Dimashova c1a6cb6221 added oni-files reading 2012-03-21 14:31:40 +00:00
Alexander Reshetnikov 82a2a50f87 Updated new ffmpeg wrapper 2012-03-21 12:54:52 +00:00
Alexander Shishkov c0506314b2 fixed #1436 2012-03-21 12:06:49 +00:00
Maria Dimashova fedff0922e removed unnecessary members of CvCapture_OpenNI 2012-03-21 11:58:25 +00:00
Alexander Shishkov 5c23d52618 fixed documentation compilation errors after r7568 2012-03-21 09:48:34 +00:00
Alexey Spizhevoy 68f26cca78 Refactored videostab module 2012-03-21 09:34:27 +00:00
Maria Dimashova 67d7669188 switched to use RunXmlScript always (missing '\n' at the end of xml script was a problem) 2012-03-21 08:56:38 +00:00
Alexey Spizhevoy faf845d31f Fixed warning 2012-03-21 08:37:24 +00:00
Alexey Spizhevoy 3323ee9d18 Added distance threshold argument into videostab sample 2012-03-21 08:34:00 +00:00
Alexey Spizhevoy 8fc84b7a41 Updated FMM run() signature 2012-03-21 07:53:36 +00:00
Alexey Spizhevoy 5e2bcacba5 Fixed some warnings 2012-03-21 07:35:25 +00:00
Alexander Smorkalov fa4977dff4 Issue #1201: auto-focus problem was fixed. Binaries were rebuilt. 2012-03-21 06:52:18 +00:00
Gary Bradski ad2ee1d572 import as cv not cv2. Fixed 2012-03-21 05:13:02 +00:00
Alexander Reshetnikov 5d4a8d0889 Updated license text in highgui files 2012-03-20 16:39:02 +00:00
Maria Dimashova be1d95b495 added default values of parameters 2012-03-20 14:41:27 +00:00
Vadim Pisarevsky 0c381e2a9f increased the default number of pyramid layers in ORB; updated test data 2012-03-20 14:20:06 +00:00
Alexey Spizhevoy 23398bcb95 Fixed some warnings 2012-03-20 12:46:23 +00:00
Alexey Spizhevoy dcb5464b3c Added more inpainting methods. Fixed some errors. 2012-03-20 12:24:51 +00:00
Leonid Beynenson 295a9815e8 Removed unrequired type conversions in the function clipLine. 2012-03-20 12:14:41 +00:00
Vladislav Vinogradov 509c910101 refactored and fixed some gpu tests
fixed some bugs in gpu module
2012-03-20 12:03:34 +00:00
Leonid Beynenson a659832df1 Made the function "clipLine" to work with int64 values instead of int --- otherwise sometimes it returned wrong points coordinates, and it caused the function "line" to crash. 2012-03-20 11:40:05 +00:00
Marina Kolpakova 577dabb8bc fixed bug #1571 2012-03-20 09:44:40 +00:00
Andrey Pavlenko f1cf411ffe fixing compilation on Windows 2012-03-20 09:18:59 +00:00
Alexander Reshetnikov 4dff974e8c Refactored new ffmpeg wrapper 2012-03-20 09:17:28 +00:00
Marina Kolpakova d4fb50277e fixed bug #1479 2012-03-20 09:02:01 +00:00
Alexey Spizhevoy be73f8e29c Added quiet mode into videostab sample 2012-03-20 08:12:58 +00:00
Alexey Spizhevoy e4651fa697 Fixed ensureInclusionConstraint 2012-03-20 07:30:07 +00:00
Alexey Spizhevoy 3abd941774 Minor changes in videostab sample 2012-03-20 07:16:10 +00:00
Alexey Spizhevoy bde7456256 Updated videostab sample 2012-03-20 06:52:52 +00:00
Andrey Kamaev 7cabfc5441 Fixed Windows build of videostab module. 2012-03-19 18:58:42 +00:00
Andrey Kamaev 2e03e6c06c Solution folders are turned on by default for MS Visual Studio IDE. 2012-03-19 18:47:27 +00:00
Marina Kolpakova 4eaced12fe fixed bug #1700 2012-03-19 15:59:30 +00:00
Andrey Kamaev 14a1549dac Fixed Android build of new videostab module 2012-03-19 14:21:15 +00:00
Vladislav Vinogradov 844bdea5ac fixed several bugs in gpu arithm functions
refactored tests for them
2012-03-19 14:18:12 +00:00
Alexey Spizhevoy f58c40bfab Added licence message 2012-03-19 14:13:33 +00:00
Alexey Spizhevoy 404d66d4ef Added missed file 2012-03-19 13:57:38 +00:00
Alexey Spizhevoy f6e2ad6144 Added missed file 2012-03-19 13:51:20 +00:00
Alexey Spizhevoy a60dc947b1 Added first version of videostab module 2012-03-19 13:39:23 +00:00
Marina Kolpakova 1d2c6ef410 fixed sample for new signature of calcOpticalFlowPyrLK 2012-03-19 12:55:48 +00:00
Andrey Kamaev bddff7b386 Fixed Android build warnings in logpolar_bsm 2012-03-19 12:55:44 +00:00
Vadim Pisarevsky c94c3fb4eb added Manuela Chessa as the co-author of logpolar_bsm. 2012-03-19 12:04:50 +00:00
Alexey Spizhevoy e87a07e2aa Fixed bug #1693. Also corrected default parameters for stitching. 2012-03-19 11:51:18 +00:00
Marina Kolpakova e50c0ed4c8 Fixed bug #1629 2012-03-19 11:29:29 +00:00
Vadim Pisarevsky 3228599a35 fixed some more GCC warnings 2012-03-19 11:21:01 +00:00
Alexander Kapustin c5cc79d4d5 Tegra optimized functions cvt32finttype were temporary deleted due correctness bug 2012-03-19 11:06:16 +00:00
Vladislav Vinogradov 6397fa5b38 fixed gpu::pyrUp (now it matches cpu analog)
fixed several warnings
2012-03-19 09:27:06 +00:00
Alexander Reshetnikov 484fe1d598 Fixed compiling error for ffmpeg with libavcodec less than 53.4.0 2012-03-19 09:05:55 +00:00
Andrey Pavlenko 010e73010c fixing compilation on Windows (M_PI was undefined via math.h) 2012-03-19 06:17:04 +00:00
Gary Bradski a4de511eb7 Added cv.DestroyAllWindows() to file close 2012-03-18 23:21:54 +00:00
Gary Bradski 5878ab6a0f added destroyAllWindows at end 2012-03-18 23:12:55 +00:00
Gary Bradski 8a48b8dffd added destroy all windows 2012-03-18 23:07:39 +00:00
Gary Bradski c29f0dfdfa added destroy all windows 2012-03-18 23:01:31 +00:00
Vadim Pisarevsky c8e206c2ab added LogPolar Blind Spot Model (thanks to Fabio Solari for the contribution) 2012-03-18 22:29:13 +00:00
Marina Kolpakova d10616775b Fixed bug #1634 2012-03-18 17:28:44 +00:00
Marina Kolpakova aa19fd500c Fixed bug #1654 2012-03-18 17:17:44 +00:00
Marina Kolpakova 2ca6a50546 Fixed bug #1663 2012-03-18 16:53:00 +00:00
Marina Kolpakova 082e988173 Fixed bug #1666 2012-03-18 16:46:07 +00:00
Vladislav Vinogradov c510840c45 Fixed build without CUDA 2012-03-18 12:27:10 +00:00
Vladislav Vinogradov 85c904a4ba fixed build in gpu module (SURF and ORB) 2012-03-18 12:05:49 +00:00
Alexander Kapustin 46248851bf 30 functions of cvtTIPES_func were Neon Optimized 2012-03-18 08:58:24 +00:00
Vadim Pisarevsky fb804cb352 fixed StereoBM crash on MacOSX 10.7 2012-03-17 11:12:24 +00:00
Vadim Pisarevsky d60623279c switched to non-constant references in Algorithm::addParam, which is more safe. 2012-03-17 09:50:47 +00:00
Vadim Pisarevsky 846e37ded5 fixed many warnings from GCC 4.6.1 2012-03-17 09:22:31 +00:00
Vadim Pisarevsky 4985c1b632 fixed hundreds of warnings from MSVC 2010. 2012-03-16 21:21:04 +00:00
Andrey Pavlenko 20cceb8fdf moving the rest of inpaint() to the 'photo' module, temporary disabling Java test for it, adding 'photo' to Java API 2012-03-16 15:11:56 +00:00
Marina Kolpakova 0bc5140b17 allocate CPU memory if Tegra GPU allocator failed. 2012-03-16 14:11:39 +00:00
Maria Dimashova baa81de122 renamed property of openni camera 2012-03-16 13:59:08 +00:00
Alexander Shishkov c9489a8bf3 fixed #1643 2012-03-16 09:50:20 +00:00
Andrey Kamaev 305d024137 CMake status report: list unsatisfied dependencies for automatically disabled modules; fixed few problems with Windows-style paths 2012-03-16 09:16:31 +00:00
Maria Dimashova 00aca7e77a renamed property of openni camera 2012-03-16 09:08:18 +00:00
Alexander Shishkov cf9a822aba update FFMPEG wrapper binaries 2012-03-15 20:40:07 +00:00
Alexander Shishkov 7f2ddf16eb minor changes in wrapper 5 2012-03-15 20:39:11 +00:00
Alexander Shishkov cfe4317efa update FFMPEG wrapper binaries 2012-03-15 20:31:35 +00:00
Alexander Shishkov 6546719158 minor changes in wrapper 4 2012-03-15 20:30:21 +00:00
Alexander Shishkov a12fb7f96c minor changes in wrapper 3 2012-03-15 20:14:59 +00:00
Vadim Pisarevsky b5a9c9ac77 temporarily turned off the new wrapper. 2012-03-15 19:58:35 +00:00
Maria Dimashova 930c7bf20e minor refactoring CvCapture_OpenNI 2012-03-15 15:55:07 +00:00
Alexander Shishkov 538eeeab1d minor changes in wrapper 2 2012-03-15 15:43:14 +00:00
Vadim Pisarevsky 2d1ef5eea8 fixed build on VS2010 2012-03-15 15:38:54 +00:00
Alexander Shishkov 10b0f29372 minor changes in wrapper 2012-03-15 15:36:14 +00:00
Alexander Shishkov bf4df828f7 minor changes in wrapper 2012-03-15 15:30:01 +00:00
Andrey Pavlenko a5ae52fb0c updating func-s arg names according to ref. man. 2012-03-15 15:21:33 +00:00
Alexander Shishkov 7b3ec537b4 minor changes in wrapper 2012-03-15 15:12:52 +00:00
Andrey Kamaev b538210804 Fixed Linux build with OpenGL but without CUDA 2012-03-15 15:08:21 +00:00
Alexander Shishkov 8fcd060dec update FFMPEG wrapper binaries 2012-03-15 14:45:14 +00:00
Vadim Pisarevsky 957e80abbd lot's of changes; nonfree & photo modules added; SIFT & SURF -> nonfree module; Inpainting -> photo; refactored features2d (ORB is still failing tests), optimized brute-force matcher and made it non-template. 2012-03-15 14:36:01 +00:00
Alexander Shishkov 6300215b94 update FFMPEG wrapper binaries 2012-03-15 14:28:29 +00:00
Alexander Shishkov 7b6af8f429 update FFMPEG wrapper 2012-03-15 14:17:12 +00:00
Maria Dimashova c13febc4d4 minor refactoring CvCapture_OpenNI::CvCapture_OpenNI 2012-03-15 09:59:23 +00:00
Alexander Reshetnikov 36b2ff3cf3 Fixed compiling error under Ubuntu with ffmpeg 0.7.x and advised under Windows 2012-03-15 09:24:03 +00:00
Andrey Kamaev ddc4ed4741 Added protection from modules redefinition and globbing recursion 2012-03-15 09:20:16 +00:00
Andrey Pavlenko 32d4d7929e Java API: adding C++ classes inheritance support 2012-03-15 09:11:04 +00:00
Andrey Kamaev b3f10835a3 run.py: added option to show tests own help 2012-03-15 08:31:57 +00:00
Alexander Shishkov 0ea66a38ff fixed compilation FFMPEG wrapper on Windows 2012-03-15 07:22:31 +00:00
Gary Bradski c47c1adc94 remove some unneeded imports 2012-03-15 03:50:31 +00:00
Gary Bradski dfaabd88fc added cv2.destroyAllWindows() 2012-03-15 03:45:15 +00:00
Gary Bradski 41d2a3c832 Examples of using histograms in python 2012-03-14 23:33:16 +00:00
Gary Bradski 9164ccbaaf added 0xFF & in front of every waitKey so that it works on linux 2012-03-14 21:46:34 +00:00
Vladislav Vinogradov ade7394e77 refactored and fixed bugs in gpu warp functions (remap, resize, warpAffine, warpPerspective)
wrote more complicated tests for them
implemented own version of warpAffine and warpPerspective for different border interpolation types
refactored some gpu tests
2012-03-14 15:54:17 +00:00
Ivan Korolev 6e2507c197 Added some new warpers. 2012-03-14 12:59:23 +00:00
Maria Dimashova 8ec1c2b03a minor change 2012-03-14 11:01:45 +00:00
Andrey Pavlenko 36890cc959 (#1636) Java API: adding undistortPoints() support and smoke test; minor improvements in Java stuff 2012-03-14 07:37:48 +00:00
Andrey Kamaev b232ffcde7 Android: removed unneeded workaround for library output path initialization. 2012-03-13 15:50:11 +00:00
Maria Dimashova f67d9d9038 added ability to pass initial transformation to rgbd odometry 2012-03-13 13:07:30 +00:00
Andrey Kamaev e4307d05f3 Made dependency of features2d and calib3d from highgui optional 2012-03-13 12:33:16 +00:00
Alexander Shishkov d68311b9eb fixed #1554 2012-03-13 12:24:05 +00:00
Alexander Shishkov 698fb8c1df modified documentation about using OpenNI wrapper #1657 2012-03-13 12:00:25 +00:00
Ilya Lysenkov 207e46b425 Restored findCirclesGridDefault() for backward compatibility 2012-03-13 09:38:00 +00:00
Alexander Reshetnikov e0b772a392 Added a first version of new ffmpeg wrapper 2012-03-12 17:07:54 +00:00
Vadim Pisarevsky 191e969243 fixed angle check in squares.py (thanks to Abid Rahman) 2012-03-12 16:45:17 +00:00
Andrey Kamaev 603e3e4bc0 Fixed bugs in Android cmake toolchain; added experimantal assembler support to the toolchain 2012-03-12 16:17:42 +00:00
Alexander Shishkov 6051e27a09 added support of Asus XtionPRO (thanks to Gustav Karlsson for his patches) #1657 2012-03-12 16:07:42 +00:00
Ilya Lysenkov 1252671c9d Added a full Python wrapper of findCirclesGrid 2012-03-12 11:40:46 +00:00
Ilya Lysenkov df6a95ed87 Wraped SimpleBlobDetector for Python 2012-03-12 11:39:48 +00:00
Andrey Kamaev 3df41c1d62 Tegra version of cv::detail:: 2012-03-12 11:24:27 +00:00
Maria Dimashova fbfc0cc96f added special cases to RGBDOdometry (translation only, rotation only) 2012-03-12 10:40:39 +00:00
Alexander Shishkov f4e5209d5a fixed compilation on Windows (NAN) 2012-03-12 07:27:04 +00:00
Alexander Shishkov d95127c279 #1672
updated some more links
2012-03-11 16:01:20 +00:00
Alexander Shishkov cc881e6393 #1672
updated docs links in tutorials
2012-03-11 15:45:27 +00:00
Andrey Kamaev 628076b7da Fixed broken headers install layout 2012-03-11 15:22:38 +00:00
Andrey Kamaev 4ebb66362c Tegra version of cv::detail::createLaplacePyr 2012-03-11 14:53:13 +00:00
Alexander Shishkov be63ce723f #1672
updated links in cheatsheet
renamed directory for Mat tutorial 
changed links from willow docs to opencv.itseez.com, from Trac to current Redmine
2012-03-11 14:35:46 +00:00
Andrey Kamaev 805d88a8d2 Tegra version of cv::subtract 2012-03-11 14:28:34 +00:00
Andrey Pavlenko 5cac6340e4 Java API: temp workaround for Java tests compilation, a better fix will be done with inheritance support 2012-03-11 12:40:51 +00:00
Alexander Kapustin 6652b4ce85 Functions cvt8u16s_func, cvt32s16s_func, cvt32f16s_func were Neon Optimized 2012-03-11 12:40:24 +00:00
Maria Dimashova 90f6e319da fixed compilation with eigen2 2012-03-11 11:45:29 +00:00
Andrey Kamaev 57c7604568 Fixed Android build warning 2012-03-11 10:53:42 +00:00
Maria Dimashova abe2c2fb3f fixed compilation with eigen2 2012-03-11 09:56:23 +00:00
Maria Dimashova 532781e8d2 initial version of rgbd odometry with sample 2012-03-11 09:31:28 +00:00
Andrey Morozov 52b4536d39 fixed module name for mingw compiler under Windows 2012-03-11 07:00:22 +00:00
Alexander Mordvintsev f6fec7ad2f fixed python GIL reacquire in case of exception 2012-03-10 05:56:40 +00:00
Alexander Shishkov 466345e936 fixed stitching compilation 2012-03-08 08:10:04 +00:00
Andrey Kamaev 49207ce1a0 Minor fix in blender mask conversion. 2012-03-07 20:33:35 +00:00
Vladislav Vinogradov cd2cc6197f fixed bug in gpu::pyrUp implementation 2012-03-07 14:31:30 +00:00
Andrey Kamaev 679f1dad99 Stitching: added CV_16S weights support to the multiband blender 2012-03-07 14:23:55 +00:00
Vladislav Vinogradov 796f839b75 minor fix in gpu docs (filter2D and convolve) 2012-03-07 14:05:21 +00:00
Vladislav Vinogradov 855feedda7 fixed error calculation in gpu::PyrLKOpticalFlow (Bug #1651) 2012-03-07 13:41:49 +00:00
Vadim Pisarevsky 1a25e58239 fixed patch diff calculation in the end of calcopticalflowpyrlk (thanks to Vlad Vinogradov for the patch) 2012-03-07 13:35:13 +00:00
Vladislav Vinogradov 02f226a981 fixed bug in gpu::pyrDown 2012-03-07 13:14:50 +00:00
Alexander Mordvintsev 0e27c772aa using RAII to manage GIL -- still fails to handle exceptions correctly 2012-03-07 12:46:21 +00:00
Alexander Mordvintsev 58174f6ada Added GIL-release code into python wrappers
Added gabor_threads.py sample
2012-03-07 11:09:27 +00:00
Vladislav Vinogradov e7dda44a07 updated image for StereoConstantSpaceBP regression test
updated gpu tests for CornerHarris and CornerMinEigen
moved direct convolution implementation to gpu::filter2D, gpu::convolve now use only DFT-based algorithm (Bug #1639)
2012-03-07 09:49:24 +00:00
Andrey Pavlenko 53c1565514 Java API: replacing some manual port with auto-generated stuff (/Map-type classes) 2012-03-07 08:16:43 +00:00
Alexander Mordvintsev 2727a425e4 fixed distrans.py sample (distanceTransform -> distanceTransformWithLabels) 2012-03-06 13:22:55 +00:00
Vladislav Vinogradov 63b5cf6dea temporary disabled optimized version of CascadeClassifier (bug #1640)
fixed HaarCascadeLoader test (incorrect behavior due to macros usage)
2012-03-05 13:49:42 +00:00
Alexander Shishkov 1494da339d fixed #1507 2012-03-05 11:08:59 +00:00
Vladislav Vinogradov ec5bdc7de8 added patch error calculation to gpu::PyrLKOpticalFlow 2012-03-05 10:36:57 +00:00
Alexander Shishkov 27ecc999cb modified readme.txt (#1609) 2012-03-05 09:20:52 +00:00
Alexander Shishkov 5c10bd5b79 fixed #1477 2012-03-04 22:22:30 +00:00
Alexander Shishkov e64450ae89 fixed #1466 2012-03-04 21:49:38 +00:00
Andrey Kamaev 90dcd4608c Android: fixed cmake try_compile() for case of STL features detection 2012-03-04 20:36:50 +00:00
Andrey Kamaev 631f72d85d Fixed Android cross-compiling problems:
- missing install_name_tool on OS X
- incorrectly working try_compile() command
2012-03-04 12:30:03 +00:00
Andrey Kamaev 18dbe6b3e5 cmake scripts are updated to prefer includes from the OpenCV source tree 2012-03-03 15:49:23 +00:00
Andrey Kamaev aeaae8b057 Updated rst configuration to read OpenCV version from sources; fixed several sphinx' warnings 2012-03-02 20:59:13 +00:00
Alexander Shishkov 1956f32aac fixed #1289 2012-03-02 20:19:32 +00:00
Alexander Shishkov 3f0bd34270 updated repository path in gpu/introduction (ticket #1260) 2012-03-02 20:13:03 +00:00
Gary Bradski bd2014deba added usage on how to actually run video_dmtx.cpp 2012-03-02 19:39:06 +00:00
Alexander Shishkov f67a0902aa fixed #1618 2012-03-02 18:36:34 +00:00
Alexander Shishkov 042a834d9d #fixed 1644 2012-03-02 18:24:46 +00:00
Alexander Shishkov defbdcba77 fixed #1645 2012-03-02 18:06:15 +00:00
Anatoly Baksheev 18933c12f7 Disabled BUILD_WITH_DEBUG_INFO flag for MSCV. Now debug info is included in debug configuration 2012-03-02 14:48:35 +00:00
Alexander Shishkov f5b8af3254 applied patch from #1637 for fixing problems with Intel(tm) compiler 2012-03-02 12:24:03 +00:00
Andrey Kamaev ab221fb3d6 More accurate cmake flags sets/unsets for 3rdparty libs 2012-03-02 11:36:34 +00:00
Alexander Shishkov 06a6c5851c updated libpng: from 1.4.3 to 1.5.9 #1609 2012-03-02 11:01:10 +00:00
Andrey Kamaev aa6c677bd8 Added opencv_tests and opencv_perf_tests targets to simplify building tests only 2012-03-02 08:48:33 +00:00
Andrey Kamaev 2f4bb580fc Fixed some build warnings; slightly improved python search 2012-03-02 08:34:54 +00:00
Andrey Kamaev 30d5cdef94 Fixed HAVE_UNISTD_H redefinition warning 2012-03-01 11:41:10 +00:00
Andrey Kamaev 0db570b1ca minor cmake update 2012-03-01 10:44:19 +00:00
Andrey Kamaev 368181bf4e Fixing windows build of libtiff 2012-03-01 09:15:19 +00:00
Andrey Kamaev e8afcdba0a More flexible tiff library configuration 2012-03-01 09:01:32 +00:00
Alexey Spizhevoy 92d2d74731 Fixed docs for gpu::convolve() 2012-03-01 08:02:34 +00:00
Kirill Kornyakov 4fb9196e83 copied a section with explanation of different border types 2012-03-01 07:45:24 +00:00
Vladislav Vinogradov 2d81ecce23 fixed required CUDA version in OpenCVDetectCUDA.cmake 2012-02-29 20:24:28 +00:00
Alexander Shishkov bc4f63e5bd updated libtiff: from 3.9.5 to 4.0.1 #1609 2012-02-29 15:01:28 +00:00
Vladislav Vinogradov d00fa6b817 improved type dispatching in gpu arithm functions 2012-02-29 13:02:25 +00:00
Andrey Pavlenko 60ddaa565e fixin a bug in conversion Mat -> List<List<E>> 2012-02-29 12:40:31 +00:00
Andrey Kamaev 4b5d04f475 Fixed tbb hang in Android apps 2012-02-29 08:11:01 +00:00
Alexander Shishkov d05b788db4 fixed compilation problems with MinGW after rev7353 2012-02-28 12:39:25 +00:00
Ivan Korolev f1f045858f Updated a perftest for convertTo 2012-02-28 04:46:48 +00:00
Leonid Beynenson 9794f5977c Changed the class OrbFeaturesFinder to make it work with CV_8UC4 and CV_8UC1 images. 2012-02-27 17:46:53 +00:00
Alexander Reshetnikov a92e3dcdad Updated positioning test (removed frame reading) 2012-02-27 14:37:20 +00:00
Vladislav Vinogradov 5c0f2f8ea1 reused buffer in GlTexture::copyFrom(GpuMat) 2012-02-27 13:22:41 +00:00
Andrey Kamaev 212ceb3e24 Minor improvement for Android TBB 2012-02-27 12:49:00 +00:00
Alexander Shishkov 0279ba953e fixed warnings in linemod on Windows 2012-02-27 11:42:33 +00:00
Alexander Shishkov e7e373307b added exports to the LineMod classes
fixed compilation linemod sample on Windows
2012-02-27 11:15:01 +00:00
Andrey Kamaev 32080ece8c Fixed Android build warning 2012-02-27 09:19:30 +00:00
Patrick Mihelich 13456c9840 Removed a finished todo 2012-02-27 08:55:57 +00:00
Andrey Kamaev cb9823704c #1568 support of building with OpenEXR on Windows 2012-02-27 06:23:14 +00:00
Andrey Kamaev c6445e2de1 Slightly improved build of TBB for Android 2012-02-27 06:19:25 +00:00
Patrick Mihelich 8b6aec6710 Sample program to train and detect objects using LINE-MOD. 2012-02-27 01:50:22 +00:00
Patrick Mihelich f483272d09 No longer expose internal LINE-MOD methods like response map computation, linearizing similarities, etc in public header. 2012-02-27 00:07:52 +00:00
Patrick Mihelich f174b001f3 Initial commit of LINE-MOD source code to objdetect module. 2012-02-26 23:55:18 +00:00
Andrey Kamaev 8df208cf56 Fixed compiler flags for 3rdparty libs. 2012-02-24 21:54:29 +00:00
Andrey Kamaev 22d7e6b741 Scripts for building TBB for Android 2012-02-24 18:16:05 +00:00
Andrey Kamaev 8141a5026c Refactored cmake for 3rdparty libs 2012-02-24 13:53:22 +00:00
Leonid Beynenson 4a299acd48 Added PlanePortraitWarper class. 2012-02-24 13:48:41 +00:00
Andrey Kamaev 216d75ccae Restored missed } 2012-02-24 12:45:23 +00:00
Alexander Reshetnikov 9b5534a6e0 Fixed syntax error in cap_dc1394_v2.cpp 2012-02-24 12:27:20 +00:00
Andrey Kamaev a8f0c93379 Modified zlib search. Use system zlib on Android by default 2012-02-24 12:23:34 +00:00
Alexander Reshetnikov b12f18536f Added new VideoCapture properties for ieee1394 cameras 2012-02-24 10:54:52 +00:00
Andrey Kamaev 228b87250a Windows build scripts for Android are updated for SDK r14 and newer 2012-02-24 09:39:28 +00:00
Andrey Kamaev 01b986ef32 Fixed try_compile for Android; Fixed samples build 2012-02-24 09:35:59 +00:00
Andrey Pavlenko 5bea651e81 Java samples updated to be compatible with both old (2.2+) and new (3.0+) Android versions 2012-02-24 08:43:11 +00:00
Patrick Mihelich b6c2c61ce1 Check for SSSE3 in core/internal.hpp. Define CV_SSSE3, and if enabled include tmmintrin.h. 2012-02-23 21:41:22 +00:00
Andrey Kamaev aa9eeddd86 Fixed problem with backslashes in cmake status report 2012-02-23 20:05:27 +00:00
Alexander Reshetnikov d7763d99de Minor code changes in test_video_io.cpp 2012-02-22 22:10:53 +00:00
Andrey Kamaev d40721e5c0 Suppressed MSVC warnings in zlib 2012-02-22 20:22:29 +00:00
Alexander Reshetnikov 23c2275449 Added conditional compiling for video i/o tests in highgui. 2012-02-22 17:12:25 +00:00
Andrey Kamaev 19ce8c7f12 #1609 zlib is updated to 1.2.6 2012-02-22 15:52:23 +00:00
Leonid Beynenson b8eeb019db Added spherical and cylindrical warpers, which work in the portrait mode -- when poles are located NOT at (0, -1, 0) and (0, 1, 0) points, BUT at (1, 0, 0) and (-1, 0, 0) points. 2012-02-22 15:44:39 +00:00
Andrey Kamaev eec70a7793 Architecture dependent library path on unix 2012-02-22 15:29:23 +00:00
Andrey Kamaev 4ac407e76a Small refactoring of OpenCV cmake options 2012-02-22 14:04:59 +00:00
Alexander Reshetnikov 8b7edda6ac Added cvShowImage working with handles under Windows. 2012-02-22 13:30:47 +00:00
Alexander Shishkov 50df95650a fixed #924 2012-02-22 12:16:01 +00:00
Alexander Shishkov f7866677eb fixed #1615 2012-02-22 12:13:56 +00:00
Vladislav Vinogradov f0f87ebf36 fixed compilation error under linux 2012-02-22 11:22:31 +00:00
Vladislav Vinogradov 2d30480982 created wrappers for new NPP functions
removed void integral(const GpuMat& src, GpuMat& sum, GpuMat& sqsum, Stream& stream) - it fails with NPP_NOT_IMPLEMENTED error
updated docs, accuracy and performance tests
2012-02-22 10:00:53 +00:00
Andrey Kamaev e426dfc396 Fixed #1613: removed YUV420i color conversion constants 2012-02-21 15:08:03 +00:00
Andrey Kamaev 9a88aea697 Eliminated all compiler warnings on Android 2012-02-21 14:07:44 +00:00
Andrey Kamaev a8f27e4a84 Information about cmake and build platform is added to the status report 2012-02-21 12:42:51 +00:00
Victoria Zhislina 0630e7010e CV_USE_UNROLLED for imgproc 2012-02-21 11:31:23 +00:00
Andrey Kamaev ff2af7d8bb Fixed Canny 2012-02-21 11:16:49 +00:00
Alexander Shishkov 5785a89053 fixed #1614 2012-02-21 04:42:34 +00:00
Andrey Kamaev b294383199 Added more default search locations for Android NDK and SDK 2012-02-20 14:50:23 +00:00
Andrey Kamaev 30191dbe95 Fixing ffmpeg dll copying on Windows 2012-02-20 13:43:06 +00:00
Andrey Kamaev 469cc42aee Fixing ffmpeg dll copying on Windows 2012-02-20 13:12:13 +00:00
Andrey Kamaev 16fb7d231e Fixed problem with Android native camera helper libraries 2012-02-20 12:51:15 +00:00
Andrey Kamaev 00db5a69a2 More granular build of Java API: it is now possible to build Java wrappers only for the subset of OpenCV modules 2012-02-20 11:50:43 +00:00
Alexander Shishkov 8dc28473c7 fixed #1339 2012-02-20 09:16:19 +00:00
Alexey Spizhevoy 35d63083f9 Added Farneback's optical flow sample 2012-02-20 08:31:10 +00:00
Andrey Kamaev 504262d3d8 Fixed #1608 2012-02-19 21:56:21 +00:00
Andrey Kamaev 4f97b20ff6 Refactored OpenCVConfig.cmake generation code. 2012-02-19 21:30:13 +00:00
Alexander Reshetnikov f83aa74bc4 Updated ffmpeg implementation (setProperty & getProperty methods) 2012-02-18 12:56:00 +00:00
Andrey Kamaev a6e8e5dd95 Fixed #1443 2012-02-17 19:09:05 +00:00
Andrey Pavlenko f59d96cd7f updating inaccurate test (Mat step can be more than width) 2012-02-17 14:51:19 +00:00
Alexander Shishkov f3be34934e minor changes in chessboard.py sample #1492 2012-02-17 08:48:06 +00:00
Alexander Shishkov a6602dd75c fixed #1492 2012-02-17 08:42:58 +00:00
Alexander Shishkov d7031606c2 fixed #1363 2012-02-17 08:35:46 +00:00
Alexey Spizhevoy 2ad7add613 Minor refactoring of the GPU perf. sample 2012-02-17 07:02:11 +00:00
Alexander Shishkov 6ababe7055 fixed #1604 2012-02-17 06:58:02 +00:00
Andrey Kamaev 691d392312 Fixes: Android NDK r7b, android build warnings, build with Visual Studio 2005. 2012-02-16 20:29:35 +00:00
Vincent Rabaud 2219e38192 fix a potential crash when there are no keypoints 2012-02-16 19:21:48 +00:00
Alexey Spizhevoy 630d874e03 Updated the GPU performance sample 2012-02-16 13:08:22 +00:00
Alexey Spizhevoy c908c50131 Added docs for gpu::FarnebackOpticalFlow 2012-02-16 12:42:44 +00:00
Alexey Spizhevoy e428a0c681 Fixed a compile-time error 2012-02-16 12:33:42 +00:00
Alexey Spizhevoy 8f215af048 Minor fix -- renamed a variable 2012-02-16 12:07:08 +00:00
Alexey Spizhevoy b0d457cdb0 Minor refactoring 2012-02-16 12:00:17 +00:00
Alexey Spizhevoy b0bf54e713 Added a perf. test for gpu::FarnebackOpticalFlow 2012-02-16 11:48:56 +00:00
Alexey Spizhevoy 9f5d97425f Fixed some typos 2012-02-16 11:32:32 +00:00
Alexey Spizhevoy 681ac9beda Added missing files 2012-02-16 11:26:17 +00:00
Alexey Spizhevoy 5c459aa815 Added the GPU version of the Farneback's optical flow 2012-02-16 11:23:51 +00:00
Vadim Pisarevsky 59ff1a4ccb added StereoVar description (by Sergey Kosov) 2012-02-15 22:24:32 +00:00
Vadim Pisarevsky bb93e3ab8a added color canny; improved Algorithm class implementation 2012-02-15 21:10:11 +00:00
Vadim Pisarevsky 716a5d04ab fixed a few problems detected by Xcode 4.2.1 2012-02-15 19:48:04 +00:00
Vladislav Vinogradov ada6ab3778 fixed compilation for old compute capabilities 2012-02-15 19:25:29 +00:00
Vladislav Vinogradov 65bef258cb fixed compilation error 2012-02-15 12:27:51 +00:00
Alexander Reshetnikov deee349ba7 removed highgui video tests execution on macos; also minor code changes 2012-02-15 12:06:46 +00:00
Vladislav Vinogradov 5af529c1bd fixed and updated gpu implementation of separable liner filters
now it supports kernel's size up to 32
2012-02-15 12:05:59 +00:00
Ivan Korolev b96a556fff Created a perftest for convertTo, updated perftests for arithmetical operations 2012-02-15 10:24:47 +00:00
Andrey Pavlenko fe991052dc #1283, adding JavaDoc comments for Mat <->Bitmap converters. 2012-02-15 09:08:39 +00:00
Andrey Pavlenko 0588e6261b #1283, Mat <->Bitmap converters Java tests. 2012-02-15 08:19:49 +00:00
Vladislav Vinogradov 6f7e3434ca moved finding CUDA_npp_LIBRARY to OpenCVDetectCUDA.cmake 2012-02-15 06:44:20 +00:00
Andrey Pavlenko 62591a1d5a #1283, Mat <->Bitmap converters are updated to support CV_8UC(1,3,4) & non-continuous Mat-s and RGBA_8888 & RGB_565 Bitmaps; Android samples project files are updated according to the latest SDK req-s. 2012-02-14 14:40:41 +00:00
Vladislav Vinogradov f7fd7929e1 added docs for GoodFeaturesToTrackDetector_GPU and PyrLKOpticalFlow 2012-02-14 13:18:33 +00:00
Vladislav Vinogradov a6bc747a54 minor fix : doesn't save outliers 2012-02-14 11:48:40 +00:00
Vladislav Vinogradov 18c48196f8 fixed compile error 2012-02-14 11:29:08 +00:00
Anatoly Baksheev 87bbcccea5 fixed orb bug commited by mistake 2012-02-14 10:27:33 +00:00
Anatoly Baksheev 84db4eb6fa fixed ~200 warnings for windows
minor build system changes (now cuda code in opencv_core is compiled using CUDA_ARCH* cmake variables)
2012-02-14 10:22:34 +00:00
Vladislav Vinogradov 8f4d63913a minor 2012-02-13 13:29:28 +00:00
Vladislav Vinogradov 77f286ada6 fixed build under linux
added PyrLKOpticalFlowDense performance test
2012-02-13 13:19:06 +00:00
Vladislav Vinogradov a10fed8fd1 added GoodFeaturesToTrackDetector_GPU and PyrLKOpticalFlow to gpu module 2012-02-13 12:57:27 +00:00
Alexander Reshetnikov edc9d4f951 fixed compiling error under Windows; updated test_video_io.cpp 2012-02-13 12:41:27 +00:00
Alexander Reshetnikov 35c19442a7 updated 3 highgui tests 2012-02-11 15:28:03 +00:00
Gary Bradski 778b51a6a1 Adding python example of mouse interaction and use of correlation on an image 2012-02-11 03:47:40 +00:00
Victoria Zhislina 3e94f77215 2012-02-10 13:47:53 +00:00
Alexandre Benoit c07d9d75e8 added get methods for retina outputs 2012-02-10 13:25:33 +00:00
Andrey Morozov ef8c263500 fixed compile under linux 2012-02-10 12:46:34 +00:00
Victoria Zhislina fbdb93ec79 CV_ENABLE_UNROLLED 2012-02-10 06:05:04 +00:00
Andrey Kamaev 68a54e7f3c Fixed incorrectly merged patch. 2012-02-09 20:22:36 +00:00
Leonid Beynenson 3ef5bfa185 Applied the patch, received from akamaev. Also made some changes in CMake files to fix Android camera issue. 2012-02-09 15:02:21 +00:00
Alexander Shishkov 7c03b301c1 fixed #927 issue 2012-02-09 10:53:16 +00:00
Alexander Reshetnikov 6ead21b1a2 added licenses to some tests; updated new highgui tests 2012-02-09 10:51:53 +00:00
Alexander Shishkov c761996a28 fixed #927 issue 2012-02-08 15:29:07 +00:00
Vladislav Vinogradov f883b31cfd updated performance sample 2012-02-08 11:02:32 +00:00
Vadim Pisarevsky a618b774f2 fixed OpenCVConfig.cmake for creating Xcode projects 2012-02-08 05:45:58 +00:00
Vladislav Vinogradov 237b3ed3a0 fixed createOpticalFlowNeedleMap 2012-02-08 05:45:47 +00:00
Marius Muja fcf9a224fb Bug fix 2012-02-07 02:18:54 +00:00
Alexander Reshetnikov 46fa7b49c5 updated positioning test for videos 2012-02-06 13:53:25 +00:00
Andrey Kamaev aa9735f9b5 Fixed mingw build 2012-02-06 13:29:48 +00:00
Alexander Shishkov 792fb3bd64 fixed #1549 issue 2012-02-06 13:26:35 +00:00
Andrey Kamaev c19d0b17de Fixed typo 2012-02-06 12:45:11 +00:00
Andrey Kamaev 49933c798f Fixed build for desktop 2012-02-06 11:48:15 +00:00
Vladislav Vinogradov 75ac4362ca removed ASSERT_NO_THROW 2012-02-06 11:31:52 +00:00
Andrey Kamaev 23af203e00 Better variant of OpenCVConfig.cmake generation; several smaller changes in the options section and Android build scripts 2012-02-06 11:30:59 +00:00
Alexander Shishkov 863fe3ecf8 fixed bug after const removing in retina 2012-02-06 10:34:00 +00:00
Alexander Shishkov 26ed10993e fixed #1565 issue 2012-02-06 09:31:33 +00:00
Alexander Shishkov ec12608f5f fixed #1590 2012-02-06 08:38:03 +00:00
Alexander Shishkov 06247b49af fixed issue #1243 2012-02-06 08:13:11 +00:00
Alexander Shishkov ace6eaef7e added one more test for undistort 2012-02-06 06:47:43 +00:00
Vladislav Vinogradov 014577b433 fixed OpenCVDetectTBB.cmake (WIN32 x86 VS library path) 2012-02-06 06:11:23 +00:00
Vadim Pisarevsky 53c39a7a53 added getGaborKernel function 2012-02-06 01:09:54 +00:00
Andrey Morozov b3b80bc397 fixed compile under linux 2012-02-05 08:09:00 +00:00
Andrey Kamaev eac055a27e Fixed ticket #1580 2012-02-04 18:57:41 +00:00
Alexander Reshetnikov b4895dbcaf completed tests checking positioning & frame count for videos (C interface); added new test videos 2012-02-04 16:17:05 +00:00
Alexander Reshetnikov 89702dc10c File with positioning test was renamed to test_positioning.cpp 2012-02-04 15:55:12 +00:00
Andrey Kamaev dfb161e9c9 Fixing #1580 2012-02-03 19:18:35 +00:00
Andrey Kamaev fdc1e87ddf Attempt to fix #1580 - building OpenCV with ffmpeg not in LD_LIBRARY_PATH 2012-02-03 18:52:00 +00:00
Andrey Kamaev 1e79280be1 Fixed OpenCVConfig.cmake generated for build directory 2012-02-03 15:22:54 +00:00
Andrey Kamaev 5eb6ee6290 Fixing build with CUDA enabled 2012-02-03 12:54:52 +00:00
Andrey Kamaev ee6fefc862 Fixing build with CUDA enabled 2012-02-03 12:35:39 +00:00
Andrey Kamaev c99253d62d Fixing build on Windows 2012-02-03 12:33:48 +00:00
Andrey Kamaev 3ff438dc7a Fixing build with CUDA enabled 2012-02-03 12:15:27 +00:00
Andrey Kamaev 690bf07a7f Fixing build with CUDA enabled 2012-02-03 11:54:16 +00:00
Andrey Kamaev d749052d9d Fixing build with Eigen enabled 2012-02-03 11:37:14 +00:00
Andrey Kamaev 984eb99428 Global CMake reorganization:
[~] Automatically tracked dependencies between modules
 [+] Support for optional module dependencies
 [+] Options to choose modules to build
 [~] Removed hardcoded modules lists from OpenCVConfig.cmake, opencv.pc and OpenCV.mk
 [+] Added COMPONENTS support for FIND_PACKAGE(OpenCV)
 [~] haartraining and traincascade are moved outside of modules folder since they aren't the modules
2012-02-03 11:26:49 +00:00
Alexey Spizhevoy ada9158521 Fixed the building process for (ubuntu 64bit debug cuda4.1) configuration 2012-02-02 14:06:13 +00:00
Alexey Spizhevoy d8fa374167 Fixed the multi-band blending test 2012-02-01 10:00:38 +00:00
Andrey Morozov 386578bc3f fixed compile error 2012-02-01 09:54:18 +00:00
Alexander Reshetnikov a41b0902f4 Prepared some videos for future tests. Added first version of common positioning video test. 2012-01-31 21:02:05 +00:00
Vadim Pisarevsky fef90e2270 fixed a few bugs in mat-mask-operations tutorial (thanks to Shiqi Yu) 2012-01-31 15:58:47 +00:00
Alexey Spizhevoy c09eae4969 Updated the multi-band blending test 2012-01-31 14:36:55 +00:00
Ethan Rublee b254358d35 highgui headers were not being installed... 2012-01-30 19:07:14 +00:00
Vladislav Vinogradov f8aba8608d fixed build under CUDA 4.1 2012-01-30 13:15:20 +00:00
Alexey Spizhevoy 7ddb706b29 Added a test for the multi-band blender 2012-01-30 10:31:10 +00:00
Alexandre Benoit 3892ce1f73 added access methods to retreive retina input and output buffers sizes 2012-01-30 09:40:02 +00:00
Vladislav Vinogradov bb23288c3d fixed bug in SURF_GPU 2012-01-30 07:59:14 +00:00
Vladislav Vinogradov d38ca09738 added gpu::printCudaDeviceInfo to all samples 2012-01-30 07:20:09 +00:00
Alexey Spizhevoy ed038ef9dc Updated the stitching module docs 2012-01-30 07:06:35 +00:00
Alexey Spizhevoy f5ed96f40c Updated the stitching module docs 2012-01-30 06:53:50 +00:00
Vadim Pisarevsky 00a58c9af8 fixed bug #1422 (thanks to jondo for the patch) 2012-01-29 14:31:10 +00:00
Alexey Spizhevoy 70d137269a Updated the stitching pipeline image 2012-01-28 15:49:35 +00:00
Vadim Pisarevsky fd084a0a7e fixed bug #1415 2012-01-27 20:36:19 +00:00
Vadim Pisarevsky b33c9b10bc fixed bug #1566 2012-01-27 20:28:59 +00:00
Vladislav Vinogradov 3ec2f7f5f0 fixed gpu::device::transform with non-aligned sources (Ticket #1567) 2012-01-27 13:10:30 +00:00
Alexey Spizhevoy aba37e54b3 Updated the stitching module docs 2012-01-27 07:40:23 +00:00
Vadim Pisarevsky dbfa8408d2 fixed potential bug in cv::eigen() 2012-01-26 19:41:59 +00:00
Alexey Spizhevoy 9187739d18 Updated the stitching module docs 2012-01-26 13:28:04 +00:00
Vladislav Vinogradov 9304d32b82 disabled unnecessary code (it can't be compiled with VS 2008 Ticket #1561) 2012-01-26 12:52:32 +00:00
Alexey Spizhevoy f0b9c90f79 Updated the stitching module docs 2012-01-26 12:44:32 +00:00
Alexey Spizhevoy bee271a15c Updated the stitching module docs 2012-01-26 12:02:45 +00:00
Alexey Spizhevoy a7e7226a02 Updated the stitching module docs 2012-01-26 11:47:33 +00:00
Andrey Morozov 196ac49fcf fixed of the ticket #1442 2012-01-26 11:36:12 +00:00
Andrey Pavlenko bb33f8dd3c fixing Java test compilation after API change (distanceTransform() -> distanceTransformWithLabels()) 2012-01-26 08:51:16 +00:00
Vadim Pisarevsky 403a7ff391 fixed memory leak in cap_libv4l.cpp (ticket #1518; thanks to gorgen for the patch) 2012-01-26 08:37:24 +00:00
Alexander Reshetnikov 951a3d6c7a fixed a bug which caused incorrect work of function eigen() 2012-01-25 16:01:59 +00:00
Anatoly Baksheev 3c645ae20c fixed CUDA compilation 2012-01-25 15:27:37 +00:00
Alexander Reshetnikov 07fa62f0c4 some design code changes in new tests 2012-01-25 13:41:48 +00:00
Andrey Kamaev ea5d01558c Updating opencv module definition in cmake (continued) 2012-01-25 13:41:12 +00:00
Vadim Pisarevsky 9469f65094 added tests on cv.CreateImage() (thanks to mythsmith). 2012-01-25 13:32:48 +00:00
Vadim Pisarevsky d1b5f43700 adjust the header parser to support "public virtual" construction and make a tweak for multiple inheritance, fix potential memory problem with Python's IplImage.tostring() method (ticket #1486) 2012-01-25 13:25:35 +00:00
Andrey Kamaev c86c6a028c Updating opencv module definition in cmake (continued) 2012-01-25 13:12:11 +00:00
Vadim Pisarevsky 18ce0dff24 fixed bug #1552 2012-01-25 12:43:47 +00:00
Vadim Pisarevsky 4f86af7e16 fixed bug #1531. added separate distanceTransformWithLabels function that returns labels, since normally the labels are not needed. 2012-01-25 12:17:59 +00:00
Andrey Kamaev 82ae0b2c0c Attempt to fix build on Mac OS X 2012-01-25 10:58:55 +00:00
Andrey Kamaev 9d5c24cdc8 Updating opencv module definition in cmake (continued) 2012-01-25 09:04:49 +00:00
Kirill Kornyakov c946a740bb Optimized version of adaptiveThreshold added 2012-01-25 07:50:47 +00:00
Vladislav Vinogradov ddf56fa629 added additional error check 2012-01-25 07:32:35 +00:00
Vladislav Vinogradov 79cc05d062 minor fix 2012-01-25 07:31:56 +00:00
Vadim Pisarevsky 676f19233a added the abstract cv::Algorithm class; low-level exp & fastAtan etc. functions for more efficient SIFT implementation; fixed bug #1521 2012-01-24 20:14:07 +00:00
Andrey Kamaev 13f4e70e95 Updating opencv module definition in cmake 2012-01-24 16:55:47 +00:00
Leonid Beynenson 2395654cbf Made changes in the stitching log macros: now the function stitchingLogLevel() may be used to make the stitching classes more/less verbose. 2012-01-24 11:56:32 +00:00
Andrey Kamaev 6f99447fbf Fixed compiler flags caching in cmake 2012-01-24 11:46:11 +00:00
Anatoly Baksheev 2042e99cab gramma 2012-01-24 09:56:55 +00:00
Andrey Kamaev 504a93ed0a Alternative xml naming for performance logs 2012-01-23 16:28:46 +00:00
Andrey Kamaev da5ee65e4e Fixed build without SSE 2012-01-23 14:40:58 +00:00
Vadim Pisarevsky 04c0783b2f applied patch by Will Lucas; improved separable filter performance (in particular cv::GaussianBlur) on 16s images (for [much] faster SIFT) 2012-01-23 12:14:46 +00:00
Andrey Pavlenko d0981a628a Tegra optimization for image filtering 2012-01-23 09:16:07 +00:00
Ivan Korolev 88896166cf Corrected perf tests: merge, split. 2012-01-23 07:47:44 +00:00
Vladislav Vinogradov 5e1808c797 fixed bug in gpu::Canny 2012-01-23 07:41:39 +00:00
Vladislav Vinogradov 1d1da9c5d6 added support of BORDER_REFLECT to gpu::cornerHarris and gpu::cornerMinEigenVal 2012-01-23 07:14:45 +00:00
Andrey Kamaev 347a7106ab Added exhaustive perf test for cvtColor instead of several small tests 2012-01-23 07:08:31 +00:00
Vladislav Vinogradov 6c1de21a76 fixed bug in gpu::transformSmart with mask 2012-01-22 13:25:45 +00:00
Alexander Reshetnikov cec641fb83 completed test for boundingRect function 2012-01-20 16:21:27 +00:00
Andrey Kamaev ae2e494c7d A number of improvements in android cmake toolchain 2012-01-20 14:35:57 +00:00
Ivan Korolev 754891ec96 Created perf tests for cvtColor_toBGR565, cvtColor_C3toC4_and_back, split, merge. 2012-01-20 13:19:49 +00:00
Alexey Spizhevoy a9d19b1394 Updated the stitching module docs 2012-01-20 09:07:52 +00:00
Alexey Spizhevoy 0733689583 Updated the stitching module docs 2012-01-20 09:06:53 +00:00
Alexander Reshetnikov 3b92e9518e Several updates of code in countNonZero test 2012-01-19 18:29:32 +00:00
Alexander Reshetnikov b5bbce5b54 Completed countNonZero test (found that it's already exist, so new implementation isn't used now). 2012-01-19 16:30:35 +00:00
Alexey Spizhevoy aaace6332f Updated the stitching module docs 2012-01-19 12:56:03 +00:00
Ivan Korolev 513f4128ec account test 2012-01-19 12:20:34 +00:00
Alexey Spizhevoy 8e8beb070e Updated the stitching modudle docs 2012-01-19 12:08:09 +00:00
Andrey Kamaev f8bd4252db Tegra optimization for split, merge and some color conversions 2012-01-19 11:52:25 +00:00
Alexey Spizhevoy 9fa6edf281 Updated the stitching module docs 2012-01-19 09:48:33 +00:00
Alexey Spizhevoy 69b670bdaa Updated the stitching module docs 2012-01-19 09:43:13 +00:00
Andrey Pavlenko 9c1ec1ce84 fixing compilation; but some code lines look weird,
e.g. "n += abs(sign(value))"  or  "n += sign(cv::norm(value) > eps_64"
2012-01-19 05:22:51 +00:00
Alexander Reshetnikov a3d2020db0 countNonZero & boundingRect tests - added first versions 2012-01-19 00:22:22 +00:00
Andrey Kamaev a43c47d6cf First version of native camera support for Android 3.x.x and 4.0.x 2012-01-18 14:33:39 +00:00
Alexey Spizhevoy 2bdd395357 Added the first version of the stitching module docs 2012-01-18 13:43:34 +00:00
Vladislav Vinogradov cdae0743ab fix OpenGL render functions
fix createOpticalFlowNeedleMap
2012-01-18 08:27:08 +00:00
Alexander Reshetnikov 70820224c3 added checking homography matrix computing for vector <Point2f> 2012-01-17 16:47:23 +00:00
Alexander Reshetnikov b5034ac33f Completed findHomography test (source data has type CV_32FC2). In plans add the same checking for vector <Point2f>. 2012-01-16 21:13:03 +00:00
Andrey Kamaev c377804ee8 Refactored YUV420 to RGB/BGR/RGBA/BGRA conversion 2012-01-16 14:38:07 +00:00
Vladislav Vinogradov e45d5e8a5f added performance test for createOpticalFlowNeedleMap 2012-01-16 13:51:36 +00:00
Kirill Kornyakov 49f29aeb6a Created perf tests for cornerHarris, cornerEigenValsAndVecs, goodFeaturesToTrack, adaptiveThreshold, HoughLines. 2012-01-16 13:35:16 +00:00
Vladislav Vinogradov 59acbb1112 minor 2012-01-16 13:32:06 +00:00
Vladislav Vinogradov 9a2358628b minor fix 2012-01-16 13:22:28 +00:00
Vladislav Vinogradov 6d5171e5b6 fixed gpu docs 2012-01-16 13:10:50 +00:00
Vladislav Vinogradov c4792c0102 updated optical_flow samples 2012-01-16 09:24:42 +00:00
Andrey Kamaev c326de43c1 More natural sorting of MatType constants in performance reports. 2012-01-16 07:04:26 +00:00
Andrey Kamaev 61cb83b481 Fixed small bug in summary.py 2012-01-13 12:37:10 +00:00
Alexandre Benoit 555ed03613 corrected retina internal buffers copy methods 2012-01-13 09:52:24 +00:00
Andrey Kamaev d0b67d3725 fixed Tegra stubs in cvtColor 2012-01-12 13:43:35 +00:00
Andrey Pavlenko 8e48dd5cbd fixing compilation on Android 2012-01-12 11:53:33 +00:00
Andrey Pavlenko 3d54ce55f2 fixing compilation on Windows (std::tr1::tie() is undefined), removing warnings (conversion int to float/double) 2012-01-12 11:50:59 +00:00
Andrey Pavlenko 07d157591a Tegra optimization for warpPerspective() and 2 new perf tests 2012-01-11 14:18:10 +00:00
Andrey Kamaev 9260ad4d70 Fixed Tegra optimization stub for gaussian 2012-01-11 13:16:00 +00:00
Vladislav Vinogradov a25b027ef7 updated gpu optical_flow sample 2012-01-11 13:05:03 +00:00
Vladislav Vinogradov 3aa537642d minor refactoring of gpu performance sample 2012-01-11 08:58:39 +00:00
Vladislav Vinogradov 4f44d9ea7d added docs for FAST_GPU and ORB_GPU 2012-01-11 07:40:04 +00:00
Vladislav Vinogradov 5860477605 fixed gpu::resize 2012-01-11 06:14:51 +00:00
Vladislav Vinogradov f0356004bc minor fix 2012-01-11 05:46:32 +00:00
Alexander Shishkov bf747e6deb modified documentation of solvePnP and solvePnPRansac 2012-01-10 16:01:06 +00:00
Vladislav Vinogradov af59a75ffc fixed bug with submatrix in some gpu functions
update gpu tests
2012-01-10 11:11:58 +00:00
Alexander Reshetnikov 2ce6dd6870 eigen tests for 1*1 matrix were temporarily removed from common list 2012-01-10 08:24:10 +00:00
Marius Muja 63efa5b2de Fixing ticket #1539 2012-01-09 21:31:51 +00:00
Andrey Kamaev dd311b8d3c Added perf test for RGB(A)/BGR(A) to YCrCb conversion 2012-01-09 16:38:44 +00:00
Andrey Kamaev cdac77c2b2 Added test group separators to the html version of performance report. 2012-01-09 07:45:19 +00:00
Andrey Kamaev 7bf091cd98 Fixed modules order in OpenCV.mk.in 2012-01-09 07:43:37 +00:00
Alexander Shishkov 48f3db9787 fixed compilation error on Win 2012-01-07 09:31:57 +00:00
Andrey Pavlenko 185680c7c5 Tegra optimization for some color conversion and warpAffine calls 2012-01-06 16:31:23 +00:00
Alexander Shishkov 11ad582250 done user requirement from yvonnic2m@gmail.com 2012-01-06 15:26:24 +00:00
Kirill Kornyakov 694ea8e0c8 Added threaded versions (enabled only for Tegra at the moment) of threshold, erode/dilate. Slighlty restructured the code of medianBlur. 2012-01-06 14:29:31 +00:00
Andrey Kamaev 40c70d127d Fixed bug in summary.py 2012-01-06 08:44:28 +00:00
Andrey Kamaev e9901306c2 Fixed files picking code to preserve the order in summary.py script. 2012-01-06 07:41:04 +00:00
Andrey Kamaev 9b350e5e0d Tegra optimization for median blur 2012-01-05 17:36:32 +00:00
Andrey Kamaev 70416be0dd Tegra optimization for GaussianBlur 2012-01-04 18:20:03 +00:00
Alexander Reshetnikov c53313b06f Complex eigen test was modified.
Fixed some bugs with checking for CV_64FC1 type.
Added eigen tests for 1*1 source matrix.
2012-01-03 19:06:56 +00:00
Andrey Kamaev 8cab65c173 Started top-level CMakeLists.txt file reorganization: cmake scripts are moved to separate folder; refactored BUILD_*, INSTALL_*, ENABLE_*, USE_*, WITH_* options. 2012-01-03 13:48:12 +00:00
Kirill Kornyakov 60eecd4529 doc typo fixed 2012-01-03 13:30:21 +00:00
Andrey Kamaev 22d6827189 Fixed dot product test 2011-12-30 10:42:07 +00:00
Andrey Kamaev 65f5343ed5 Refactored performance tests. TEST_CYCLE macro is renamed to TEST_CYCLE_N; SIMPLE_TEST_CYCLE is renamed to TEST_CYCLE; from now 100 iterations are default for performance tests 2011-12-29 16:46:16 +00:00
Vadim Pisarevsky 80f422a531 added copyright notice for MOG2 algorithm by Z. Zivkovic 2011-12-29 14:08:33 +00:00
Andrey Kamaev 683be58119 Added perf test for INTER_AREA resize 2011-12-29 11:55:26 +00:00
Kirill Kornyakov 7fafa3b00a Optimized version of DotProd8u added 2011-12-29 07:51:01 +00:00
Kirill Kornyakov a06dcc9e67 Optimized version of sqsum8u added 2011-12-29 07:49:22 +00:00
Andrey Kamaev 58b980ea88 Perf testing: added ERROR_RELATIVE mode to SANITY_CHECK 2011-12-28 14:59:09 +00:00
Andrey Pavlenko fb051f78de adjusting custom mat allocator when mat type is changed 2011-12-28 14:47:21 +00:00
Kirill Kornyakov 70da780c8e added perf test for dot product (8U, 32S, 32F) 2011-12-28 13:29:27 +00:00
Vladislav Vinogradov 457b8d7bff update gpu perf tests 2011-12-28 12:53:08 +00:00
Vladislav Vinogradov eccfc90b77 bug fix 2011-12-28 07:56:19 +00:00
Andrey Kamaev f937d68d60 Fixed build for x64 with sse2 disabled; several improvements in performance testing framework; enabled SANITY_CHECK() for performance tests 2011-12-27 16:37:24 +00:00
Vadim Pisarevsky e7946d98a9 fixed SSE-optimized cmp_8u (ticket #1530) 2011-12-27 16:07:26 +00:00
Vadim Pisarevsky dec0af8d79 implemented invert(A, B, DECOMP_EIG) 2011-12-27 15:56:17 +00:00
Andrey Kamaev abf42e208a Added missed macro 2011-12-27 11:32:56 +00:00
Andrey Kamaev 95d659a3cf Refactored Tegra related macro usage 2011-12-27 11:21:45 +00:00
Vladislav Vinogradov 4fee5ef818 fixed build under linux 2011-12-27 10:30:54 +00:00
Vladislav Vinogradov 5e38cf8042 added FAST_GPU and ORB_GPU classes 2011-12-27 09:33:20 +00:00
Andrey Kamaev e46e13a775 Fixed typo in android toolchain 2011-12-27 09:11:42 +00:00
Vladislav Vinogradov e6d820171c added documentation for gpu::BroxOpticalFlow, updated other docs 2011-12-27 08:25:47 +00:00
Vladislav Vinogradov b398ac7a96 added ImagePyramid class to gpu module 2011-12-27 06:24:31 +00:00
Vladislav Vinogradov 92a682093a fixed compilation error 2011-12-27 06:19:20 +00:00
Andrey Kamaev 8108dfb397 Added perf tests for blur, medianBlur, GaussianBlur 2011-12-26 13:17:35 +00:00
Alexander Shishkov 26aef8c719 added skipped file 2011-12-26 13:08:46 +00:00
Alexander Shishkov c11551a510 added P3P method
added test for solvePnP
changed test for solvePnPRansac
fixed bug with mutex solvePnPRansac
2011-12-26 12:59:07 +00:00
Leonid Beynenson 6d8f4c6b82 Added small debug insertion. 2011-12-26 12:34:28 +00:00
Andrey Kamaev 5ca24d2ead Added perf tests for cv::compare 2011-12-26 11:30:56 +00:00
Andrey Kamaev 320bee3bfe Fixed border interpolation problem in filter2D 2011-12-26 08:05:33 +00:00
Alexander Reshetnikov 4cfc9dc67e fixed bag in the checking size of matrix and vector for eigen test; all eigen test execution was checked: it works correctly; added first version of homography test for C++ interface 2011-12-23 18:36:04 +00:00
Andrey Kamaev c29ea1056d Added perf test for cv::threshold 2011-12-23 16:09:53 +00:00
Andrey Kamaev cb687b9b1e Added performance test for cv::dilate 2011-12-23 15:45:57 +00:00
Maria Dimashova 4fa9c5ae71 added example of vec-file 2011-12-23 08:56:51 +00:00
Maria Dimashova fbcd2a4e0a added example of vec-file 2011-12-23 07:48:36 +00:00
Andrey Kamaev bdfd4c3062 Refactored Tegra related macro usage 2011-12-22 12:51:01 +00:00
Maria Dimashova 48ea65e69c fixed traincascade for ordered features 2011-12-22 11:19:27 +00:00
Alexey Spizhevoy b4f17ab79e Updated motions estimators in the stitching module to be able to set camera intrinsics manually 2011-12-22 09:59:03 +00:00
Kirill Kornyakov 893f75444d Optimized version of ReduceR functions and one ReduceC function added
Attention! Optimized ReduceC function produced the bug
2011-12-22 06:22:16 +00:00
Alexander Reshetnikov 1767049f30 Fixed some errors in test data for eigen. Added test using lowindex & highindex in eigen function. 2011-12-21 19:37:13 +00:00
Andrey Kamaev ec7bc9e497 Fixed ORB and SURF regression tests 2011-12-21 15:22:22 +00:00
Andrey Kamaev ef4ce6232a Fixed FAST feature detector Java tests 2011-12-21 12:47:25 +00:00
Andrey Kamaev 3d61f5bdd0 Fixed 2 more tests for Java API 2011-12-21 12:12:58 +00:00
Andrey Kamaev e9dffe1394 Fixed failed Java API tests for core module 2011-12-21 10:41:49 +00:00
Vladislav Vinogradov d13a6b74b2 Fixed bug with submatrix in device::transform 2011-12-21 05:59:14 +00:00
Alexander Reshetnikov dab3586792 first version of Eigen test for C++ interface 2011-12-20 18:59:55 +00:00
Alexander Shishkov 6fa936472e fixed compilation errors in epnp with gcc 2011-12-20 12:10:12 +00:00
Alexander Shishkov c5d8ec4ac0 first version of ePnP code 2011-12-20 11:33:12 +00:00
Andrey Kamaev 4168a698f6 Fixed highgui tests for Android 2011-12-20 07:45:49 +00:00
Leonid Beynenson 54adb3c9cf Removed unrequired dependency to the header "cvconfig.h". 2011-12-19 18:31:20 +00:00
Alexander Shishkov 0922b3f3be fixed Python description of estimateAffine3D function 2011-12-19 17:45:07 +00:00
Andrey Kamaev ce81868ba4 Fixed cv::norm accuracy test allowed error 2011-12-19 15:15:40 +00:00
Andrey Morozov 209aaac95c fixed parallel build under Windows 2011-12-19 13:20:34 +00:00
Andrey Kamaev 4aa47ad115 Added multiple connected Android devices support to the run.py script 2011-12-19 07:43:07 +00:00
Andrey Morozov ca5d28d127 added experimental feature for parallel build solution under Windows 2011-12-16 07:14:55 +00:00
Andrey Kamaev 0744092b21 Fixed build with gcc compiler; couple minor improvements in perf testing framework 2011-12-16 04:42:34 +00:00
Alexandre Benoit 6ee1f6f66e removing some mistakes 2011-12-15 22:45:28 +00:00
Vadim Pisarevsky eef900e46a optimized cmp and cvtscale(16s->16s) using SSE2 (thanks to Victoria) 2011-12-15 21:15:51 +00:00
Vladislav Vinogradov 677fc3a09f fixed gpu perf tests (out of memory) 2011-12-14 06:39:32 +00:00
Alexandre Benoit 817dca2219 corrected small bu on image sequence tone mapping 2011-12-13 08:42:39 +00:00
Vladislav Vinogradov 6310622be3 minor 2011-12-13 06:25:37 +00:00
Alexandre Benoit 056d015b38 added tone mapping video processing from OpenEXR images sequences 2011-12-12 15:53:05 +00:00
Vladislav Vinogradov f6d8f4dc6b minor 2011-12-12 13:59:34 +00:00
Vladislav Vinogradov 061f032719 fixed build under linux 2011-12-12 13:57:37 +00:00
Vladislav Vinogradov 3afc97e67e fixed new OpenGL functionality under Qt 2011-12-12 12:52:06 +00:00
Marius Muja f1efd955b4 Fix to solve conflicts to standalone FLANN 2011-12-12 09:39:02 +00:00
Vadim Pisarevsky 7795cd200f added description of minMaxIdx 2011-12-09 12:13:23 +00:00
Vadim Pisarevsky 5db9e90d66 fixed yet another bug in SVD. Now Core_SVD test passes 2011-12-08 11:10:56 +00:00
Vadim Pisarevsky 72c23e7bbb fixed most of test_core failures (except for SVD) 2011-12-05 22:58:27 +00:00
Vadim Pisarevsky 77dda061a7 fixed fastAtan2 and cardToPolar accuracy (thanks to Andrey Kamaev) 2011-12-04 20:10:35 +00:00
Vadim Pisarevsky 8989e0b07e fixed single-mat input/output in mixChannels() (ticket #1446) 2011-12-03 20:19:33 +00:00
Vadim Pisarevsky 3ae22014a0 fixed description of inRange/inRangeS (ticket #1500) 2011-12-03 20:06:57 +00:00
Vadim Pisarevsky 8a9876bee2 corrected description of goodFeaturesToTrack (ticket #1488) 2011-12-03 20:01:12 +00:00
Vadim Pisarevsky 5353b97605 fixed single-precision SVD accuracy on some very ill-conditioned matrices (ticket #1448) 2011-12-03 19:49:44 +00:00
Vadim Pisarevsky 2547f7554e fixed memory corruption in CvEM::read() (ticket #1399) 2011-12-03 18:55:40 +00:00
Vadim Pisarevsky b20871ce2d fixed bug in Matx::inv(..., DECOMP_SVD) (ticket #1444) 2011-12-03 18:50:11 +00:00
Leonid Beynenson 0b907d088d Made changes in BundleAdjusterBase class to pass a termination criteria to the Levenberg–Marquardt algorithm. 2011-12-01 13:35:07 +00:00
Andrey Kamaev d6ef0378a2 Reverted invalid cv::reduce optimization 2011-12-01 12:56:29 +00:00
Andrey Kamaev 4525ce56c3 Fixed Android target setup for OpenCv library project 2011-12-01 12:27:03 +00:00
Kirill Kornyakov ab2ae86e86 Optimized version of Reduce functions added 2011-12-01 11:07:25 +00:00
Andrey Kamaev 35457afab3 Fixed bug in phaseCorrelate 2011-11-30 15:57:41 +00:00
Andrey Pavlenko f24e16f54d adding Android-specific linking flags 2011-11-30 13:58:42 +00:00
Andrey Pavlenko 2d815c80a5 adding Android-specific libs 2011-11-30 12:37:25 +00:00
Andrey Kamaev a67a0c76c5 Fixed logging in perf tests; small bugfix in run.py 2011-11-30 11:30:45 +00:00
Vladislav Vinogradov a2697b18e2 minor fix 2011-11-30 07:38:45 +00:00
Vladislav Vinogradov fa93b724ee minor 2011-11-30 07:19:09 +00:00
Vladislav Vinogradov 1a1d167bb8 fixed build under linux 2011-11-30 06:45:46 +00:00
Vladislav Vinogradov bd4239be7b moved OpenGL wrappers to separate header
added GlBuffer, GlTexture and GpuMat support to InputArray
replaced addTextOpenGl function by render + GlFont
2011-11-30 06:20:29 +00:00
Andrey Morozov 59ea0d8ee8 fixed bug in chart.py 2011-11-29 15:43:46 +00:00
Alexander Mordvintsev f2d2c8db77 exposed SurfFeatureDetector and SurfDescriptorExtractor to python 2011-11-29 12:24:38 +00:00
Leonid Beynenson 782ccc1844 Made changes in the stitching module to make correct logging on Android. 2011-11-28 20:44:41 +00:00
Andrey Kamaev 5cbec286fc Tegra-optimized pyrUp 2011-11-28 16:38:36 +00:00
Vladislav Vinogradov 0403746636 implemented addTextOpenGl under Gtk 2011-11-28 12:35:05 +00:00
Vladislav Vinogradov 07debd6cb5 minor fix 2011-11-28 12:10:37 +00:00
Vladislav Vinogradov 9817252b23 added addTextOpenGl function 2011-11-28 11:50:46 +00:00
Vladislav Vinogradov 2a4fb155e1 added OpenGL support to Gtk realization of highgui 2011-11-28 08:23:26 +00:00
Andrey Kamaev fb2fad52a2 Fixed bug in cv::pyrUp. Reenabled accuracy test. 2011-11-27 11:55:59 +00:00
Vladislav Vinogradov 35e69a1ee3 fixed build with Qt 2011-11-27 10:13:08 +00:00
Andrey Pavlenko 467f936459 Adding optimized Mat Allocator 2011-11-25 15:39:24 +00:00
Andrey Kamaev f05259f28f Tegra-optmized pyrDown 2011-11-25 13:18:40 +00:00
Kirill Kornyakov 7d8f487b03 reverted occasional commit 2011-11-24 12:20:45 +00:00
Kirill Kornyakov 913811836a workaround for the case when perf system is used in external app without TBB 2011-11-24 12:06:38 +00:00
Andrey Kamaev 1c9d75081c Added performance test for pyrUp/pyrDown 2011-11-24 11:39:35 +00:00
Marius Muja 4330777d1c Fixing uint32_t typedef for MSVC 2011-11-23 22:24:36 +00:00
Marius Muja 2c5de6dd59 Fix ticket #1346 2011-11-23 22:01:06 +00:00
Andrey Kamaev 45d36ee0c8 Reenabled Tegra optimization of calcOpticalFlowPyrLK 2011-11-23 15:25:05 +00:00
Alexandre Benoit 42e656542c added cv::Filestorage based setup method for retina model 2011-11-23 15:05:19 +00:00
Vladislav Vinogradov b33e23138e minor 2011-11-23 13:26:24 +00:00
Kirill Kornyakov d168c2b902 Optimized version of CountNonZero functions added 2011-11-23 10:16:00 +00:00
Vladislav Vinogradov 6b869f2ec3 minor fix 2011-11-23 10:12:43 +00:00
Vladislav Vinogradov d7450c2449 added GlArrays class and pointCloudShow function 2011-11-23 10:05:24 +00:00
Vadim Pisarevsky 4acc93df69 removed non-ascii characters (ticket #1468) 2011-11-22 17:07:33 +00:00
Vadim Pisarevsky 3dafdd6a79 added 16s support to cv::threshold. 2011-11-22 15:16:45 +00:00
Andrey Kamaev 7fb5b5f218 Improved sorting in performance reports 2011-11-22 13:57:44 +00:00
Andrey Kamaev 40d82c0720 One more bugfix for calcOpticalFlowPyrLK 2011-11-22 09:50:38 +00:00
Vadim Pisarevsky 0c773ca931 updated ORB: limit the number of output keypoints, use bi-linear interpolation between subsequent layers instead of much slower area-based interpolation between 0-th and i-th layers. 2011-11-22 09:44:37 +00:00
Anton Obukhov ebc3043c86 [*] Fixed two bugs in reduction functor: out of shared memory bounds access and missing volatile on GF100 and further 2011-11-21 17:46:55 +00:00
Andrey Kamaev 4378f398c7 Fixed border interpolation bug in calcOpticalFlowPyrLK 2011-11-21 16:34:08 +00:00
Vladislav Vinogradov e01f04885e minor 2011-11-21 13:34:03 +00:00
Andrey Kamaev 00be2cf17f Fixed Android build problem 2011-11-21 13:07:17 +00:00
Vladislav Vinogradov 4d09737a02 fixed compilation error 2011-11-21 12:28:54 +00:00
Vladislav Vinogradov c2783af781 added OpenGL support to highgui under WIN32 2011-11-21 11:58:52 +00:00
Kirill Kornyakov 03002fff54 Optimized version of 32F Norm function demands bigger MaxErr value, because it calculates norm in floats instead of double. 2011-11-21 11:48:56 +00:00
Andrey Kamaev d55a56d12d Updated comment 2011-11-21 10:55:55 +00:00
Kirill Kornyakov 9fb9d99bb9 Optimized version of Norm and NormDiff functions with f32 type added 2011-11-21 05:59:49 +00:00
Andrey Kamaev 7172c8cea9 Android cmake toolchain: fixed some compatibility problems with cmake 2.6.x; improved file header.
Fixed small problem in chart.py.
2011-11-19 18:02:00 +00:00
Andrey Kamaev d45f561ef5 Small improvements in cmake status report 2011-11-18 08:14:42 +00:00
Andrey Kamaev a13dfc7f70 Fixed perf target 2011-11-18 07:57:14 +00:00
Andrey Kamaev eb1790e5f1 Fixed Android build on Windows. 2011-11-17 20:43:14 +00:00
Leonid Beynenson 9d8d6ba490 Changed the class DetectionBasedTracker -- changed the system of states in the subclass DetectionBasedTracker::SeparateDetectionWork, made them more logical. 2011-11-17 16:16:09 +00:00
Andrey Kamaev b114fb54f9 Android cmake toolchain: changed some error messages, fixed error with NDK r5, improved includes and link directories configuration 2011-11-17 15:28:11 +00:00
Leonid Beynenson e9b9dfe1c2 Made changes in DetectionBasedTracker -- refactored the class. 2011-11-17 15:17:02 +00:00
Leonid Beynenson 01c15db6d2 Committed the first version of DetectionBasedTracker. 2011-11-16 17:29:10 +00:00
Andrey Kamaev 7d190084b3 Fixed #1469 2011-11-16 14:40:13 +00:00
Andrey Kamaev 3bdb53e484 Android cmake toolchain is reworked for NDK r7; added experimental Android x86 support. 2011-11-16 14:32:10 +00:00
Andrey Pavlenko d51a5262b3 Java API: adding test for HoughLinesP() 2011-11-16 08:36:57 +00:00
Maria Dimashova 44e05308d9 fixed CvCascadeBoost::train 2011-11-16 07:15:42 +00:00
Vladislav Vinogradov 1f3f4599cc fixed gpu performance tests 2011-11-15 07:03:44 +00:00
Vladislav Vinogradov 464b8a570c fixed compilation under linux 2011-11-14 14:57:36 +00:00
Vladislav Vinogradov 2695039a79 moved GpuMat's operations implementation to core module 2011-11-14 14:34:36 +00:00
Vladislav Vinogradov 0f53f2993e removed BEGIN_OPENCV_DEVICE_NAMESPACE macros 2011-11-14 09:02:06 +00:00
Vladislav Vinogradov d926541311 fixed compilation error 2011-11-14 06:22:42 +00:00
Anton Obukhov 54337fd513 [+] CUDA path for NCVImagePyramid 2011-11-13 20:52:48 +00:00
Andrey Kamaev 4136855ba8 Tegra-optimized Canny 2011-11-11 14:45:53 +00:00
Kirill Kornyakov 330357f7dd Optimized version of NormDiff functions added 2011-11-11 11:23:44 +00:00
Alexandre Benoit ccdd4ebbb8 update retina module related samples 2011-11-10 13:41:29 +00:00
Maria Dimashova a3ce652eb4 fixed CvRTrees::read in case nactive_vars==var_count (thanks to Malcolm Reynolds) 2011-11-10 13:40:11 +00:00
Kirill Kornyakov 61515f78c3 user guide on cascade training a bit updated 2011-11-10 12:03:44 +00:00
Vladislav Vinogradov 21f5cc7e6e minor 2011-11-09 14:23:13 +00:00
Vladislav Vinogradov b873fa818f fixed compilation under linux 2011-11-09 14:05:34 +00:00
Vladislav Vinogradov 8e061ac801 minor fix 2011-11-09 13:33:44 +00:00
Vladislav Vinogradov d305640749 minor fix 2011-11-09 13:18:23 +00:00
Vladislav Vinogradov fcfa72081e moved GpuMat and DevMem2D to core module, some code refactoring 2011-11-09 13:13:52 +00:00
Vadim Pisarevsky 8a148e39f0 new sample for the complex detector+descriptor+matcher evaluation 2011-11-08 12:03:37 +00:00
Vadim Pisarevsky 2e9f5c434b added improved ORB implementation, convex-convex polygon intersection, eigen2x2 low-level function ... 2011-11-08 12:01:49 +00:00
Kirill Kornyakov 5a702d7d9d Optimized version of Norm functions added 2011-11-08 07:39:35 +00:00
Kirill Kornyakov 7113122312 integral perf tests renamed for readability 2011-11-07 13:06:48 +00:00
Kirill Kornyakov 7cd4761fc8 integral perf tests renamed for readability 2011-11-07 13:05:52 +00:00
Andrey Kamaev 664cd5460e Tegra-optimized cv::compare 2011-11-07 06:29:34 +00:00
Vladislav Vinogradov 938b1b67d1 fixed optical flow test for devices with cc >= 2.0 2011-11-07 06:23:22 +00:00
Anton Obukhov 2cb9192604 [*] Fixed #1464
[~] NCVPyramid uses tr1 and thus can be compiled with CL, commented out on linux
[+] Moved reduction functors to NCVAlg
[*] Warnings in NCV
2011-11-06 09:43:17 +00:00
Vadim Pisarevsky 325e0b1ab8 fixed ffmpeg backend build on Ubuntu 11.10 2011-11-04 16:44:52 +00:00
Anton Obukhov 3396a2ec1a [~] Refactored device reduction for better reuse (now with functor semantics) 2011-11-04 13:49:05 +00:00
Anton Obukhov 56531c6161 [*] Fixed #1461 2011-11-04 12:41:54 +00:00
Andrey Kamaev 2f1cd91ff3 More performance tests for Sobel and Scharr filters 2011-11-03 16:08:49 +00:00
Alexandre Benoit 9883b2d401 corrected stupid error for retina color mode selection in Retina::run method 2011-11-03 10:58:11 +00:00
Ana Huaman d97a71f17d Erasing two images from cpp/tutorial folder 2011-11-03 06:09:31 +00:00
Ana Huaman 8c04ae8c30 Added one sample in tutorial_code to use Stereo Block matching 2011-11-03 05:52:35 +00:00
Andrey Kamaev a612fa1520 Performance testing: added option to get list of all values for CV_ENUM; added perf test for cv::Sobel 2011-11-01 15:41:43 +00:00
Andrey Kamaev 46262b1972 Added performance test for Canny 2011-11-01 09:07:34 +00:00
Andrey Kamaev 41d3a9a192 Minor perf tests framework improvement 2011-11-01 08:13:30 +00:00
Leonid Beynenson 59d89c7a7a Added possibility to configure TBB behavior in Perf tests --- now we can set the number of TBB threads in the perf tests either as console parameter perf_tbb_nthreads or
in a test itself using the method declare.tbb_threads(n).
2011-10-31 16:22:05 +00:00
Andrey Kamaev 1d5e407211 minor 2011-10-31 13:19:12 +00:00
Vladislav Vinogradov 11a5e78042 fixed gpu samples build 2011-10-31 12:39:06 +00:00
Vladislav Vinogradov 804d9b72f6 minor 2011-10-31 09:41:29 +00:00
Vladislav Vinogradov 09ba133ddf prepared GpuMat for moving to core module 2011-10-31 08:51:00 +00:00
Vladislav Vinogradov 0b4e7d6057 fixed remap under cc < 2.0 2011-10-31 08:50:14 +00:00
Andrey Kamaev 583ceef6a5 Terga optimization for integral_8u32s 2011-10-31 08:00:20 +00:00
Kirill Kornyakov e37930b649 Optimized version of Sum functions added 2011-10-31 07:04:52 +00:00
Vladislav Vinogradov daf50f8e0d fixed compilation error 2011-10-31 06:43:00 +00:00
Alexander Shishkov 09dd13d02e fixed compilation problems after rev. 6925 2011-10-30 15:08:44 +00:00
Alexandre Benoit bb329719c6 short change on default retina values setup for warning avoidance 2011-10-30 07:41:50 +00:00
Alexandre Benoit 57159998f0 clarified parameters inputs and outputs at the interface level for better clarity and ease of use, also corrected a mistake at activateContoursProcessing interface method 2011-10-30 07:33:00 +00:00
Andrey Kamaev 3970664e24 Performance test for FAST features detector 2011-10-28 12:52:20 +00:00
Vadim Pisarevsky 448a252776 added compression strategy as a parameter (another request from ticket #1452) 2011-10-28 04:11:02 +00:00
Vadim Pisarevsky 17c3102705 improved png compression ratio (ticket #1452) 2011-10-28 02:22:11 +00:00
Andrey Kamaev 3f22a1c40f Performace tests for ORB 2011-10-27 14:46:12 +00:00
Andrey Kamaev b720eddd9e Tegra-optimized features matching for Stitching 2011-10-27 14:06:06 +00:00
Anton Obukhov 5afb445283 [+] Pixel types via templates
[+] Color conversions stub via pixel types
[+] Pyramid calculation (required for mipmaps in CUDA 4.1)
[~] Changed C strings to C++ throughout NCV
[~] Fixed a couple of bugs in NCV
2011-10-27 10:13:28 +00:00
Alexey Spizhevoy 0b192cb4ea Fixed warning in the ORB features finder 2011-10-27 09:00:28 +00:00
Andrey Kamaev d7ff92439d Better NEON Hamming distance 2011-10-26 13:04:53 +00:00
Vladislav Vinogradov 509730c1cd minor 2011-10-26 12:44:38 +00:00
Andrey Kamaev f1cb2431b8 Fixed small bugs in Stitcher class 2011-10-25 12:42:08 +00:00
Alexey Spizhevoy 28e006ad4f Fixed median focal length estimation in the stitching module 2011-10-24 12:35:11 +00:00
Alexey Spizhevoy b74e9c101a Fixed bug in the stitching module (some images appeared at result pano center) 2011-10-24 11:52:36 +00:00
Kirill Kornyakov 602ad61967 Optimized versions of Erode and Dilate functions added 2011-10-24 09:12:55 +00:00
Alexey Spizhevoy a2090a44db Updated CLI for GPU samples 2011-10-24 08:34:15 +00:00
Andrey Kamaev 5656a9dd6b Better default grid size for ORB-based stitching 2011-10-21 15:38:38 +00:00
Leonid Beynenson 9f837d3486 Made changes concerning inserting prefiltering modes into CascadeClassifier class.
Now developers should call the method setFaceDetectionMaskGenerator() to use prefiltering mask generator
implemented for face detection.
2011-10-21 14:56:37 +00:00
Alexey Spizhevoy b8304ce764 Updated stitcher a little bit 2011-10-21 10:47:48 +00:00
Alexandre Benoit 4685f0e9d6 corrected xml parameters file management in the retina interface 2011-10-21 10:02:09 +00:00
Alexandre Benoit 77cfdab3ff corrected xml parameters file management in the retina interface 2011-10-21 10:01:48 +00:00
Alexandre Benoit 5de07eb784 corrected wrong parameter sent to retina module for color saturation 2011-10-21 08:49:18 +00:00
Andrey Kamaev 94f72ae876 Stitching: added grid option to OrbFeaturesFinder 2011-10-21 08:40:10 +00:00
Andrey Kamaev 21a4a06d8a Fixed bug in KeyPointsFilter::runByImageBorder; added ROI adjustment to ORB 2011-10-21 08:38:47 +00:00
Andrey Kamaev e8032fa8e9 Fixed Android build with SDK revision 14 2011-10-21 08:35:34 +00:00
Kirill Kornyakov 177618984d dft perf test minor fix 2011-10-21 08:28:33 +00:00
Kirill Kornyakov 11b7127647 minor fix of inpaint perf test 2011-10-21 08:22:11 +00:00
Kirill Kornyakov f8983e8adf added small resolutions for perf tests 2011-10-21 08:20:51 +00:00
Andrey Pavlenko 9b0cc77cfe Fixing compilation 2011-10-21 05:37:33 +00:00
Alexandre Benoit 75506940eb continuing code correction for windows warning elimination 2011-10-20 13:03:45 +00:00
Kirill Kornyakov 7c83f0dd86 inpaint perf test added 2011-10-20 11:00:29 +00:00
Kirill Kornyakov 3287729c9f added sz2K resolution for perf tests 2011-10-20 07:50:34 +00:00
Kirill Kornyakov f2b72928cc created perf test for DFT 2011-10-20 07:32:12 +00:00
Vladislav Vinogradov e7502e7641 implemented gpu::gemm via CUBLAS 2011-10-19 13:29:54 +00:00
Vladislav Vinogradov 90ff3dd990 added cublasSafeCall 2011-10-19 11:49:44 +00:00
Andrey Kamaev f299bde3a9 Added ORB features finder into stitching module 2011-10-19 10:48:45 +00:00
Vladislav Vinogradov 40ee754e28 added WITH_CUFFT and WITH_CUBLAS flags to cmake scripts
fixed gpu module error reporting
added asynchronous version of some functions
2011-10-19 09:53:22 +00:00
Marius Muja a73b509b1e Clang compilation fixes, closes #1432 2011-10-18 18:37:47 +00:00
Andrey Kamaev 5eee9e6f6d Several improvements in performance reports 2011-10-18 12:31:08 +00:00
Vladislav Vinogradov b0536279eb added wrappers for BroxOpticalFlow and interpolateFrames 2011-10-17 13:12:39 +00:00
Vladislav Vinogradov 87f3451ec6 fixed warnings 2011-10-17 06:44:40 +00:00
Anatoly Baksheev 7106513b8a warning under vs2008 2011-10-16 13:45:11 +00:00
Alexey Spizhevoy 8cebb0982b Updated optimal DFT size estimation in gpu::convolve() 2011-10-14 09:42:25 +00:00
Anatoly Baksheev 7076dfd7d6 gpu module: refactored devmem2d.hpp (atomic bomb) 2011-10-13 15:14:04 +00:00
Alexey Spizhevoy 916703c6e5 Updated optimal block size estimation in gpu::convolve() 2011-10-13 13:02:41 +00:00
Andrey Kamaev e3265b0cfe Added filters to html perf reports generated by summary.py 2011-10-12 14:41:36 +00:00
Vladislav Vinogradov 631d4b483a minor fix 2011-10-12 11:36:10 +00:00
Leonid Beynenson da3a60a5a7 Made changes in the method of inserting prefilters into the CascadeClassifier class. 2011-10-12 11:32:01 +00:00
Vladislav Vinogradov 8f108b4e7e bug fix 2011-10-12 11:01:11 +00:00
Vladislav Vinogradov d3c4e90760 new optimized implementation of BruteForceMatcher_GPU (~2-3x faster) 2011-10-12 10:23:03 +00:00
Andrey Kamaev 89be84a396 Fixed Linux build 2011-10-12 06:01:54 +00:00
Vadim Pisarevsky b74116e694 unified norm computing; added generalized Hamming distance 2011-10-11 15:13:53 +00:00
Andrey Kamaev c1277b6147 reenabled Tegra optimized resize 2011-10-11 15:00:00 +00:00
Maria Dimashova eeaf6192e3 minor change of doc 2011-10-11 14:42:49 +00:00
Maria Dimashova ddc7142ab3 minor change of doc 2011-10-11 10:01:39 +00:00
Maria Dimashova 9e60334f7b added doc on cascade classifier training 2011-10-10 12:50:49 +00:00
Vladislav Vinogradov f38596b783 implemented brute force convolve for small kernel sizes 2011-10-10 11:58:47 +00:00
Anatoly Baksheev ee768d4605 fixed bug in ptr in optflow.cu 2011-10-10 09:37:08 +00:00
Vladislav Vinogradov ed749c4bfe added missing arithm operations to gpu module 2011-10-10 08:19:11 +00:00
Vadim Pisarevsky f947c2eb96 new, much simpler and SSE2-optimized implementation of FAST 2011-10-09 18:15:13 +00:00
Leonid Beynenson 484e56f31f Fixed small bug in opencv_traincascade application: overflow sometimes happened during calculation of the number of negative samples. 2011-10-07 14:00:19 +00:00
Andrey Kamaev 22bd127365 Added performance tests for cv:phase and cv::SURF 2011-10-07 13:55:26 +00:00
Alexey Spizhevoy 9047ef2cdf Renamed warp of point method into warpPoint 2011-10-07 08:51:01 +00:00
Alexey Spizhevoy a7fbcad283 Added warp method into the RotationWarper interface, added find() into VoronoiSeamFinder which uses only source image sizes 2011-10-07 08:17:55 +00:00
Andrey Kamaev 9ae8443d37 Tegra optimized FastAtan2 2011-10-07 08:07:25 +00:00
Alexey Kazakov 78bd2133cc Added HOG features to the traincascade module 2011-10-06 16:46:03 +00:00
Kirill Kornyakov 0e9d0f6d06 updated erode perf test 2011-10-06 14:10:29 +00:00
Kirill Kornyakov 20e49c8286 added perf test for cv::erode 2011-10-06 12:42:14 +00:00
Maria Dimashova 71be121edc fixed compilation under MSVC 2011-10-06 12:37:53 +00:00
Maria Dimashova e6009c1614 added sample on color generation and updated sample on lsvm 2011-10-06 09:43:43 +00:00
Maria Dimashova 408d6b84fa added func to different colors generation 2011-10-06 09:34:35 +00:00
Maria Dimashova bbdf14b9bb added overlapThreshold param to sample 2011-10-05 13:37:24 +00:00
Leonid Beynenson 630288fdef Added possibility of prefiltering into CascadeClassifier. Now OpenCV users can implement their own mask generators and insert them into CascadeClassifier. 2011-10-05 13:21:28 +00:00
Vadim Pisarevsky 1e6479224a fixed bug #1331 2011-10-05 01:20:52 +00:00
Vadim Pisarevsky 282c3044e6 exported C++ stereoRectify in Python 2011-10-05 00:14:43 +00:00
Andrey Morozov 6138956b5e minor fix 2011-10-04 22:00:57 +00:00
Andrey Morozov 99c2326e51 minor fix 2011-10-04 21:43:37 +00:00
Andrey Morozov 8a06b20ad6 fixed compile for linux 2011-10-04 21:31:52 +00:00
Anatoly Baksheev f444f9b43e optflow gpu compilation fix under vs2010 2011-10-04 17:37:05 +00:00
Andrey Morozov f366553a80 improved some methods in the Directory class 2011-10-04 16:46:55 +00:00
Andrey Morozov d58ff0f478 fixed include on Linux 2011-10-04 12:42:49 +00:00
Maria Dimashova ba62621534 updated test on lsvm 2011-10-04 12:29:56 +00:00
Andrey Morozov af730e4bff added class Directory 2011-10-04 12:12:14 +00:00
Maria Dimashova 36967575be Added doc on c++ version of latent svm 2011-10-04 12:10:57 +00:00
Maria Dimashova a4bc940a50 fixed method clear() 2011-10-04 11:35:39 +00:00
Vladislav Vinogradov d6d7ac9cee fixed tests for BruteForceMatcher_GPU::radiusMatch 2011-10-04 10:03:52 +00:00
Maria Dimashova d3cd2cb5c0 removed porting to java of latent svm 2011-10-04 06:47:41 +00:00
Maria Dimashova ea454e6ee4 uncommented the samples parts compiled under MSVC 2011-10-04 06:32:18 +00:00
Alexander Shishkov b71bfef702 fixed bug with using not built-in ZLIB library 2011-10-03 17:10:18 +00:00
Alexander Shishkov bb130d14bd Changed type of OPENCV_BUILD_3RDPARTY_LIBS variable to the INTERNAL on WIndows
(see comments for #1030 ticket https://code.ros.org/trac/opencv/ticket/1030)
2011-10-03 16:59:24 +00:00
Maria Dimashova a70496e414 added test for c++ version of latent svm and updated testdata 2011-10-03 16:55:49 +00:00
Maria Dimashova a2ff919a6b added sample for c++ version of latent svm 2011-10-03 16:53:30 +00:00
Maria Dimashova 4d85ee7de1 added c++ wrapper of latent svm 2011-10-03 16:45:46 +00:00
Alexey Spizhevoy 8a799aa89a Updated optimal block size estimation for the convolve() function 2011-10-03 14:05:52 +00:00
Andrey Morozov bee68e519a fixed several bugs in CommandLineParser 2011-10-03 11:44:31 +00:00
Andrey Morozov bf636e40bf improved print help in CommandLineParser 2011-10-03 11:17:36 +00:00
Vadim Pisarevsky 60ebe2003f fixed multiple warnings on Windows. fixed bug #1368 2011-10-03 11:00:28 +00:00
Anatoly Baksheev 78e678b1f8 optflow_gpu compilation under ubuntu 2011-10-03 10:14:59 +00:00
Anatoly Baksheev 336e000ecc optical flow sample compilation under ubuntu 2011-10-03 10:05:41 +00:00
Alexey Spizhevoy 74561c5b8e Added createWightMaps function into FeatherBlender (stitching) 2011-10-03 09:44:30 +00:00
Anatoly Baksheev 923f771cfc warnings
optical flow gpu cosmetics
2011-10-03 09:26:00 +00:00
Andrey Kamaev ee413b8026 Avoid duplicated surf extraction step when same parameters are used for detection and descriptors calculation 2011-10-03 08:44:28 +00:00
Andrey Kamaev 20af242a03 Updated command line arguments in performance tests 2011-10-03 07:43:57 +00:00
Alexey Spizhevoy dce50b67fc Fixed support of translation in the GPU-based plane warper 2011-10-03 07:42:16 +00:00
Alexey Spizhevoy 607a7fd2c2 Updated GPU warpers interface 2011-10-03 07:10:15 +00:00
Alexey Spizhevoy 404e9cb9d5 Refactored warpers in the stitching module, added buildMaps function into the RotationWarper interface 2011-10-03 06:31:24 +00:00
Andrey Morozov b7a3d36729 fixed several bugs in CommandLineParser 2011-10-01 10:50:50 +00:00
Andrey Morozov 135b9280f1 improved print help in CommandLineParser 2011-10-01 10:27:19 +00:00
Marius Muja 0e18f066a8 Fixing ticket #1402 2011-09-30 16:39:06 +00:00
Andrey Morozov 97d54612c7 fix print help 2011-09-30 14:49:07 +00:00
Andrey Morozov d449b0492f fixed several bugs in CommandLineParser 2011-09-30 14:31:32 +00:00
Alexey Spizhevoy c5357cc17c Added fix for removing too similar images into the stitching module 2011-09-30 12:46:11 +00:00
Andrey Morozov 3d3efe7c07 fixed sub algorithm in CommandLineParser 2011-09-30 12:45:57 +00:00
Anatoly Baksheev 5e831f7fca compilation under ubuntu 2011-09-30 12:00:44 +00:00
Anatoly Baksheev 0fc8fc77c0 eliminated shread_ptr dependency from optical flow gpu. It caused compilation errors. 2011-09-30 11:27:30 +00:00
Maria Dimashova b3fb4986f2 restored doc on latent svm that was lost in moving to rst 2011-09-30 09:54:31 +00:00
Anatoly Baksheev b9ea3ef741 compilation under ubuntu 2011-09-30 09:02:03 +00:00
Andrey Kamaev 43ce5e6cc0 Fixed Linux build 2011-09-30 08:06:24 +00:00
Anton Obukhov 42c7aece36 [+] Added Brox optical flow (implementation courtesy of Michael Smirnov) 2011-09-29 14:46:39 +00:00
Anatoly Baksheev f838db92c7 1) detail source group for stitching
2) warnings
2011-09-29 13:44:27 +00:00
Andrey Kamaev 5d363e67a0 Tegra optimized cvRound; perf test for cvRound; fixed perf test for stitching 2011-09-29 12:11:18 +00:00
Leonid Beynenson 3c9979cd6a Disabled some unfinished optimizations. 2011-09-29 08:51:03 +00:00
Vadim Pisarevsky bf19d66bc2 re-enabled 16s images in cvSobel & cvLaplace. 2011-09-29 07:32:02 +00:00
Leonid Beynenson 87a21016d8 Implemented the first variant of working with masks in CascadeClassifier. Probably, will be rewritten soon. 2011-09-28 21:14:20 +00:00
Vladislav Vinogradov 4d3b1a4a02 fixed build for compute capability < 2.0 2011-09-28 16:24:51 +00:00
Vladislav Vinogradov f536dfa439 fixed build under linux 2011-09-28 12:08:17 +00:00
Vladislav Vinogradov 9da6d78989 optimized gpu filters, added buffered version for different filters 2011-09-28 11:52:26 +00:00
Andrey Kamaev 340e23a4f0 Fixed TBB-related bug in YUV420 to RGB conversion 2011-09-28 09:10:24 +00:00
Leonid Beynenson fcaa587b67 CMake scripts changed a bit: added more accurate variant of the Threading Framework support (it is a lightweight analogue of TBB for ARM-s). 2011-09-27 16:25:13 +00:00
Vadim Pisarevsky f0759437c0 fixed bug #1364 2011-09-27 15:58:08 +00:00
Vadim Pisarevsky 86882e5dd1 fixed bug #1381 2011-09-27 15:50:17 +00:00
Vadim Pisarevsky 1c738820de fixed resource leak in lsvmparser (ticket #1390) 2011-09-27 15:43:13 +00:00
Vadim Pisarevsky 65e036fe6d fixed bug #1368 2011-09-27 15:34:39 +00:00
Vadim Pisarevsky a512883170 fixed bug #1388 2011-09-27 15:23:43 +00:00
Vadim Pisarevsky 3535aacc23 fixed bug #1389 2011-09-27 15:17:00 +00:00
Alexey Spizhevoy e0bf60fd3e Minor changes in stitching module 2011-09-27 07:46:28 +00:00
Vladislav Vinogradov ea4f65b570 implemented optimized version of bf_radius_match for train collection 2011-09-27 06:45:17 +00:00
Alexey Spizhevoy e99b090871 Fixed bug in ROI based features finder (stitching) 2011-09-26 13:17:06 +00:00
Vladislav Vinogradov b119833ad1 implemented optimized version of gpu::bf_radius_match 2011-09-26 11:18:30 +00:00
Andrey Kamaev 961dc4e348 Fixed build error (Linux) 2011-09-26 11:05:56 +00:00
Alexey Spizhevoy 230cc3e0c3 Minor fix in stitching_detailed 2011-09-26 10:04:50 +00:00
Alexey Spizhevoy a7d053f10d Added handling of ROI in stitching features matchers 2011-09-26 09:59:13 +00:00
Alexey Spizhevoy b053a3b486 Added matching mask into pairwise matcher from stitching module 2011-09-26 09:24:45 +00:00
Alexey Spizhevoy 551113292b Refactored stitching module 2011-09-26 08:52:31 +00:00
Vladislav Vinogradov 67a9b79433 added performance tests for gpu::reduce 2011-09-26 08:14:31 +00:00
Alexey Spizhevoy 66b41b67f9 Added support of GPU in stitching seam estimators 2011-09-26 07:57:05 +00:00
Alexey Spizhevoy 16f5c67914 Added support of vertical straightening into stitching 2011-09-24 08:20:13 +00:00
Alexey Spizhevoy 48dec9c03a Fixed GPU version of multi-band blending in stitching module 2011-09-24 05:58:29 +00:00
Alexey Spizhevoy afc894db9f Replaced SVD with eigenval decomposition in waveCorrect func (stitching) 2011-09-23 10:57:20 +00:00
Andrey Kamaev 7ca53cfcd4 Added debug function to project back from pano to original image 2011-09-22 13:58:07 +00:00
Alexander Mordvintsev 39268013d5 frame size specification for video sources in video.py 2011-09-22 12:32:37 +00:00
Andrey Pavlenko 823b6567a3 Java API: fix for Subdiv2D::getTriangleList() and Subdiv2D::getEdgeList(); test for getTriangleList() is added. 2011-09-22 11:22:15 +00:00
Vadim Pisarevsky 1dbe5ccc5f improved phaseCorrelate() performance (thanks to Will Lucas for the patch) 2011-09-22 10:40:48 +00:00
Vadim Pisarevsky a1d6671451 fixed bug #1370 2011-09-22 09:58:58 +00:00
Alexey Spizhevoy 39533a0b1b Added BA refinement flags into stitching_detailed 2011-09-22 08:58:48 +00:00
Alexander Mordvintsev 0ad1d0afac fixed problem with incorrect distance values returned by FlannBasedMatcher for hamming metric (int's were interpreted as floats) 2011-09-22 08:52:40 +00:00
Vladislav Vinogradov 8b23c79294 implemented gpu::reduce 2011-09-22 07:08:26 +00:00
Vladislav Vinogradov ce35a6d8be fixed bug in cv::reduce in reduceC_ for multi-channels source 2011-09-22 06:43:52 +00:00
Marius Muja 78bbefec98 Applied fix from #1382 2011-09-22 00:42:51 +00:00
Jose Luis Blanco 5029dfed87 Removed extra "," that raised GCC warnings. 2011-09-22 00:31:45 +00:00
Anatoly Baksheev 25cadb1abd fixed compilation under ubuntu 2011-09-21 18:25:22 +00:00
Alexey Kazakov 50543d627f Added HOG features to cascade detection algorithm.
Added pedestrian detection trained model for HOG cascade detection algorithm.
2011-09-21 18:03:53 +00:00
Alexey Spizhevoy 4ee462c961 Added selction of BA cost function in stitching samples (and added other BA cost func into stitching module) 2011-09-21 13:22:12 +00:00
Alexey Spizhevoy dbce155874 Refactored motion estimators in stitching module 2011-09-21 12:13:07 +00:00
Alexey Spizhevoy 4a5abc7552 Added translation parameter into stitching module warpers. For now only PlaneWarper and PlaneWarperGpu warpers support it. 2011-09-21 10:53:23 +00:00
Vladislav Vinogradov 0aaaad1ea8 implemented gpu::addWeighted 2011-09-21 08:58:54 +00:00
Vladislav Vinogradov 64119dd924 implemented gpu::copyMakeBorder for all border modes 2011-09-21 07:02:45 +00:00
Ilya Lysenkov 8483f9ce40 Fixed the new version of findCirclesGrid. 2011-09-20 13:45:46 +00:00
Ilya Lysenkov d105264bad Added tests of findCirclesGrid() with the asymmetric pattern. 2011-09-20 13:35:21 +00:00
Ilya Lysenkov d263fe2b25 Removed unnecessary variables. 2011-09-20 13:16:54 +00:00
Ilya Lysenkov 0ef4ff8925 Improved robustness of the findCirclesGrid() to affine distortions. 2011-09-20 12:47:24 +00:00
Alexander Mordvintsev cd9d695f9d fix in RectSelector 2011-09-20 11:49:24 +00:00
Vladislav Vinogradov 5ed65979c1 fixed bug in gpu::HOGDescriptor::getBuffer (ticket #1379) 2011-09-20 06:38:40 +00:00
Andrey Kamaev f45a886adc Tegra optimization for CirclesGridClusterFinder::hierarchicalClustering 2011-09-19 15:14:14 +00:00
Alexey Spizhevoy f262f58297 Changed one CLI message in stitching_detailed. 2011-09-19 06:37:22 +00:00
Alexander Mordvintsev a869838807 RectSelector in common.py 2011-09-19 06:28:39 +00:00
Alexey Spizhevoy 07efb17d12 Fixed warper selection bug in stitching_detailed. Removed estimation of aspect ratio in BA in stitching to avoid stretching of input images. Did minor refactoring. 2011-09-19 06:22:40 +00:00
Andrey Kamaev fb2c288627 Fixed some cmake 2.6 compatibility issues. 2011-09-18 15:30:36 +00:00
Andrey Kamaev 1554d7ab65 Removed countNonZero call from CirclesGridClusterFinder::hierarchicalClustering 2011-09-16 12:38:41 +00:00
Alexey Spizhevoy 23636433d7 Updated bundle adjustment in stitching module: 1) it minimizes reprojection error now, 2) it minimizes error over focal, aspect, p.p.x, p.p.y parameters. Refactored and updated warpers. 2011-09-16 12:25:23 +00:00
Andrey Kamaev aebd7ebb75 Perf tests: added option to set affinity mask on Android platform 2011-09-16 11:27:19 +00:00
Andrey Kamaev 6d56105b42 Removed unnecessary comparison from CirclesGridClusterFinder::hierarchicalClustering 2011-09-15 14:43:23 +00:00
Alexander Mordvintsev 028c44531f wrapped FlannBasedMatcher (and extended DescriptorMatcher wrapper)
updated feature_homography.py sample to use new features
2011-09-15 11:10:06 +00:00
Alexander Shishkov d174c3db04 fixed compilation errors in TeX 2011-09-15 09:52:51 +00:00
Alexander Shishkov d069396546 fixed problem in rst files
changed OpenCV version to 2.3.2
2011-09-15 08:31:14 +00:00
Alexander Mordvintsev b679ebc1b4 python DescriptorExtractor.compute now returns filtered keypoints
wrapped StarFeatureDetector and GridAdaptedFeatureDetector
2011-09-15 08:07:37 +00:00
Andrey Kamaev 49d33f6109 Perf tests: linux version of adb search 2011-09-15 07:35:05 +00:00
Andrey Kamaev db4b72c1ba Perf tests: fixed some bugs with adb tool search 2011-09-15 06:31:59 +00:00
Anatoly Baksheev ffc5a7b809 minor 2011-09-15 05:51:41 +00:00
Andrey Kamaev 6ff2ae1d3a Tegra-optimized minMaxLoc/minMaxIdx 2011-09-14 16:20:10 +00:00
Vadim Pisarevsky 82da7f18d8 replaced "unsigned int" -> "unsigned" to make Python/Java wrapper generator work correctly 2011-09-14 14:29:30 +00:00
Vadim Pisarevsky cdbee71f1c always initialize the output values in LSH-based k-nearest search (patch by Alex Mordvintsev) 2011-09-14 10:57:50 +00:00
Andrey Kamaev 255617ffe5 OpenCVConfig.cmake is updated to export OpenCV_SOURCE_PATH when used without "make install" 2011-09-14 09:11:14 +00:00
Vladislav Vinogradov be8e31f14d minor gpu module refactoring: split big .cu files, disabled unnecessary template instantiation 2011-09-14 06:23:46 +00:00
Leonid Beynenson d99f4a2beb Since there is no a standard functions cv::min and cv::max which has cv::Scalar argument, removed the performance tests,
calling the functions cv::min and cv::max with cv::Scalar argument.
Instead of them two performance tests were created which call the functions cv::min and cv::max with 'double' argument.
2011-09-13 21:57:42 +00:00
Alexey Spizhevoy a72da12c80 Added fix for 0 found features in stitching matcher 2011-09-13 14:15:18 +00:00
Andrey Pavlenko 94b3bb154e Perf Tests: default stitching scenario. 2011-09-13 11:19:40 +00:00
Alexander Mordvintsev 069c43835b work on #1360 (custom LshIndex params fixed) 2011-09-13 09:14:49 +00:00
Andrey Kamaev 99d3ce52c5 Added performance tests for findCirclesGrid and solvePnP 2011-09-13 07:54:19 +00:00
Marius Muja 16dd655dd3 Fixing ticket #1366 2011-09-13 06:08:38 +00:00
Marius Muja 281b953815 Fixing include defines 2011-09-12 20:20:49 +00:00
Vadim Pisarevsky d77cf38896 corrected formula formatting in phaseCorrelate docs (thanks to the author for the patch) 2011-09-12 15:28:04 +00:00
Vladislav Vinogradov 4b46e35287 minor 2011-09-12 15:15:02 +00:00
Vladislav Vinogradov dac9f69ba4 fixed bug in SURF_GPU (memory access error) 2011-09-12 15:14:02 +00:00
Alexey Spizhevoy 485e71bcc2 Bug in multiply was fixed (by Vlad Vinogradov) 2011-09-12 14:58:56 +00:00
Vladislav Vinogradov 29b9720aab added check if src.size() == dst.size() to gpu::resize 2011-09-12 10:23:20 +00:00
Vladislav Vinogradov b2079d6de1 implemented gpu::resize for all types 2011-09-12 10:13:14 +00:00
Vladislav Vinogradov acac27d8fe optimized gpu::multiply 2011-09-12 08:45:56 +00:00
Vladislav Vinogradov 6763bd6d01 added padded performance tests for gpu module 2011-09-12 07:48:09 +00:00
Andrey Kamaev 6167469bbd Fixed fullscreen window mode on Windows. 2011-09-11 18:54:25 +00:00
Alexey Spizhevoy fd5b0c1f18 Reverted some unnecessary changes in GPU module 2011-09-10 12:30:28 +00:00
Alexey Spizhevoy a7c6b84390 Added TODOs into GPU module 2011-09-10 12:28:03 +00:00
Alexey Spizhevoy 903f835d9f added support of 8UC4*32FC1 multiply into GPU module 2011-09-10 11:56:55 +00:00
Andrey Kamaev ab3ec788ce Perf tests: improved reporting when test fails because of exception 2011-09-09 13:21:26 +00:00
Andrey Kamaev 5ab6d5a05a Perf tests reports - added output format with embedded styles 2011-09-09 12:15:09 +00:00
Leonid Beynenson 5c3a93a5b8 Small modification in test parameters. 2011-09-09 11:28:19 +00:00
Andrey Kamaev c08dab0c52 Fixed modules order in OpenCVConfig.cmake 2011-09-09 10:00:10 +00:00
Alexey Spizhevoy f515337beb Added handling of stitching module into OpenCVConfig.cmake.in 2011-09-08 15:03:35 +00:00
Andrey Pavlenko f69bb74202 Fixing static libs build on Windows 2011-09-08 13:13:37 +00:00
Andrey Kamaev 6cb1036e04 Perf tests: method ::perf::TestBase::getDataPath made public static; added base CUDA detection into run.py script 2011-09-08 11:01:45 +00:00
Andrey Kamaev ccfb3e6a21 Perf tests: fixed some issues 2011-09-08 09:29:27 +00:00
Andrey Pavlenko 6ceb322a47 Fixing Windows build 2011-09-08 08:54:14 +00:00
Andrey Kamaev 1917d8b006 Fixed perf target on Windows. 2011-09-08 06:27:46 +00:00
Leonid Beynenson 6bb15fa711 Made perf test for CascadeClassifier (LBP frontal face cascade). 2011-09-07 19:52:52 +00:00
Kirill Kornyakov b0535e0456 Neon Optimized Resize added 2011-09-07 15:06:51 +00:00
P. Karasev 6030e029e3 touch stitching app, test/verify svn access 2011-09-07 15:00:27 +00:00
Alexey Spizhevoy 55f38ae8b3 fixed bug in gpu perf. test 2011-09-07 14:01:12 +00:00
Vladislav Vinogradov 8009b5150e added performance tests for gpu module 2011-09-07 13:16:07 +00:00
Andrey Pavlenko 3206945b6d Fixing Windows build 2011-09-07 12:51:41 +00:00
Andrey Pavlenko b58b04a31c Perf Tests: updates to cvtColor() & integral() perf tests 2011-09-07 12:50:56 +00:00
Alexey Spizhevoy cbb6ac0c34 refactored features finders in stitching module 2011-09-07 12:48:48 +00:00
Andrey Kamaev 6d09dd5cf7 Perf tests: minor fix in chart.py 2011-09-07 11:41:30 +00:00
Alexey Spizhevoy 505e8e0936 minor refactoring of stitching 2011-09-07 11:22:00 +00:00
Alexey Spizhevoy c9a41c6802 added first version of public stitching API, added simple sample which uses that API, old sample renamed to stitching_detailed 2011-09-07 11:14:27 +00:00
Andrey Kamaev 1449dd1f02 fixed Java API build (not sure if features2d is wrapped correctly now) 2011-09-07 09:51:26 +00:00
Alexander Mordvintsev d50cc51070 handling Ptr<> arguments and return values in Python wrappers
partially wrapped features2d framework
added feature_homography.py sample
2011-09-07 09:38:22 +00:00
Andrey Kamaev 2ef4e2eeb7 Perf tests: fixed some bugs in scripts 2011-09-07 09:38:12 +00:00
Andrey Kamaev 52184c8803 Gpu functionality in stitching module is excluded from Android build 2011-09-07 08:59:39 +00:00
Alexey Spizhevoy 95a3ffd0c5 put all old stitching API into detail namespace 2011-09-07 06:34:22 +00:00
Vladislav Vinogradov bf0081a850 fixed bug in stitching in GpuSurfFeaturesFinder (missing upright parameter) 2011-09-07 06:19:21 +00:00
Andrey Kamaev 5cce038958 Performance testing branch is merged back into trunk 2011-09-06 15:30:28 +00:00
Vladislav Vinogradov df9f707ff0 fixed bug in gpu::remap under win32 2011-09-06 13:42:50 +00:00
Alexey Spizhevoy ca8c5b633c minor fixes in stitching module 2011-09-06 09:31:54 +00:00
Alexey Spizhevoy b0fe660d5b fixed stitching module link error on Windows 2011-09-06 08:41:38 +00:00
Andrey Pavlenko f2da701723 cvtColor: dst channels number default is set to 4 for RGBA/BGRA cases; added new codes for yuv420 to RGBA/BGRA. 2011-09-06 08:35:31 +00:00
Vladislav Vinogradov 84022779a1 added bicubic interpolation to gpu::remap 2011-09-06 07:01:23 +00:00
Anatoly Baksheev 415978b1c9 warnings 2011-09-05 14:37:27 +00:00
Alexey Spizhevoy fbe2e6fb01 refactored stitching module 2011-09-05 11:52:30 +00:00
Alexey Spizhevoy 9be4701f24 turned opencv_stitching application to module and sample 2011-09-05 10:41:54 +00:00
Vladislav Vinogradov 30ecb28877 fixed build under windows (replace M_PI with CV_PI) 2011-09-05 09:25:10 +00:00
Alexey Spizhevoy bcec7a7e35 minor changes in opencv_stitching 2011-09-05 08:20:54 +00:00
Alexey Spizhevoy 3bb0a5e331 minor changes in opencv_stitching 2011-09-05 08:18:45 +00:00
Vladislav Vinogradov e0c0461787 optimized gpu::remap (use texture memory) 2011-09-05 07:59:59 +00:00
Vadim Pisarevsky 32ed1bf858 added phaseCorrelate function by Will Lucas. 2011-09-05 07:57:18 +00:00
Vladislav Vinogradov c26b005371 optimized gpu::remap (use texture memory if possible), added stream support to gpu::remap 2011-09-05 07:51:00 +00:00
Vladislav Vinogradov b2d5839af7 added GpuFeature assertion to gpu::Canny 2011-09-05 06:20:34 +00:00
Vladislav Vinogradov b371bd68df added assertion for small image sizes to SURF_GPU (ticket #1323) 2011-09-05 06:03:49 +00:00
Vladislav Vinogradov 914ed44e28 fixed CudaMem::createMatHeader (ticket #1353) 2011-09-05 05:45:27 +00:00
Vladislav Vinogradov ef430882a1 fixed build under linux 2011-09-05 05:40:57 +00:00
Alexandre Benoit 69b8f304d7 memory safety test added 2011-09-04 16:46:56 +00:00
Alexandre Benoit c02b5f1d45 Updated retina access methods and OpenEXR image tone mapping demo cleaned 2011-09-04 08:00:28 +00:00
Alexandre Benoit 9ea9cbf489 Updated retina access methods and OpenEXR image tone mapping demo cleaned 2011-09-04 08:00:09 +00:00
Alexander Mordvintsev 700ef09a23 opt_flow.py sample fixed 2011-09-02 11:54:02 +00:00
Andrey Kamaev d4c094745f Android port is updated for NDK r6b 2011-09-02 11:13:32 +00:00
Andrey Kamaev 1f0035d2af Fixed native_camera library build for Androids having version in x.x format 2011-09-01 14:39:26 +00:00
Alexander Mordvintsev fa7e45897f obj_detect.py sample removed 2011-09-01 07:25:13 +00:00
Artem Myagkov abdd342d50 modifed minimum required cmake version for ios 2011-08-31 18:42:44 +00:00
Vincent Rabaud ec6636a664 - add documentation for LshIndexParams 2011-08-31 17:56:33 +00:00
Vladislav Vinogradov 15b1b4e232 switched to gpu::pyrDown and gpu::pyrDown in opencv_stitching 2011-08-31 13:26:33 +00:00
Vladislav Vinogradov ea2f5b1391 added BORDER_REFLECT and BORDER_WRAP support to gpu module
switched to gpu::remap in opencv_stitching
2011-08-31 13:21:14 +00:00
Vadim Pisarevsky a5df21bf24 removed problem with duplicated CV_OUT InputOutputArray parameters (ticket #1348) 2011-08-31 12:36:19 +00:00
Alexander Mordvintsev e61f4c4a4b lk_homography.py sample added 2011-08-31 12:33:25 +00:00
Vladislav Vinogradov 47d68f6967 implemented gpu::remap for all types 2011-08-31 11:42:54 +00:00
Alexander Mordvintsev 785428546b lk_track.py description 2011-08-30 09:34:06 +00:00
Anatoly Baksheev 39373cd9f9 minor update of device layer 2011-08-30 09:08:41 +00:00
Anatoly Baksheev c19f88853a minor update of device layer 2011-08-30 09:04:31 +00:00
Vladislav Vinogradov 0f5f57561e optimized memory usage in BruteForceMatcher_GPU_base::knnMatch when k==2 2011-08-30 08:49:11 +00:00
Vladislav Vinogradov 837f65784e update gpu docs 2011-08-30 08:27:23 +00:00
Vladislav Vinogradov 50d012b56b fixed gpu::pyrUp implementation 2011-08-29 11:32:18 +00:00
Vladislav Vinogradov 5f9e47a9cd refactored gpu::BruteForceMatcher (moved some utility functions to device layer) 2011-08-29 11:31:52 +00:00
Alexey Spizhevoy 50b72197ab fixed bug in gpu::matchTemplate (added normalization routine to make the GPU version consistent with the CPU one), added test cases from the ticket #1341 2011-08-29 08:06:45 +00:00
Andrey Pavlenko 8bf5c0e7ae typo is fixed 2011-08-29 07:41:56 +00:00
Vadim Pisarevsky df5c60c50a added missing cv::moveWindow & cv::resizeWindow 2011-08-27 20:05:07 +00:00
Alexander Mordvintsev 6abb46254d mser.py sample added 2011-08-27 19:29:03 +00:00
Alexander Mordvintsev 02788eb32e camshift.py description 2011-08-27 13:43:32 +00:00
Vadim Pisarevsky 714732e9bb fixed some more hybrid tracker build problems on Windows 2011-08-27 10:43:53 +00:00
Andrey Pavlenko 1bae6413c1 Java API: generator script whitespace cleanup, adding statistics gathering code 2011-08-26 15:15:15 +00:00
Andrey Pavlenko 3e323e6ff8 Java API: test for Highgui.imencode() is added 2011-08-26 14:39:04 +00:00
Vadim Pisarevsky 07746b54d6 fixed hybrid tracker build problems on Windows 2011-08-26 13:52:46 +00:00
Vadim Pisarevsky c593355e42 fixed declaration of imencode to make it usable in Python etc. 2011-08-26 13:06:43 +00:00
Vadim Pisarevsky df1b04c302 removed irrelevant pyc file 2011-08-26 12:23:19 +00:00
Vadim Pisarevsky ae83fe7645 added hybrid (feature-based & meanshift-based) tracker (by Pushkar) 2011-08-26 12:22:19 +00:00
Leonid Beynenson f69aa40310 Added the declaration of the type ConcurrentDoubleVector for TBB case. 2011-08-26 11:05:51 +00:00
Anatoly Baksheev e90aeb08f9 1) ticket #1332
2) device layer utility
2011-08-26 09:34:49 +00:00
Vladislav Vinogradov 173ac5a64b optimized gpu pyrDown and pyrUp 2011-08-24 11:16:42 +00:00
Artem Myagkov 3a3bc18381 modified capturing building ligic for iOS 2011-08-24 10:53:57 +00:00
Artem Myagkov 8c6782300a modified highgui and ts modules and cmakelists for ios cross-compiling, added ios toolchains, added ios build tutorial 2011-08-23 11:19:58 +00:00
Alexandre Benoit e268e0704d enhanced input image format support 2011-08-22 20:10:21 +00:00
Alexandre Benoit a288163d73 enhanced and more robust image input management 2011-08-22 20:09:01 +00:00
Ana Huaman b3b036fd35 Added theory to a rst Tutorial in tracking motion (Harris corner) 2011-08-22 13:53:12 +00:00
Alexander Mordvintsev fc771363d3 all video processing samples use camera as default source (and fallback to synth in case of capture error) 2011-08-22 13:36:21 +00:00
Bernat Gabor df49158863 Added the "Camera calibration With OpenCV" tutorial. Extended with a few global links the conf.py file. Corrected an error in the linux_install.rst and one in the cascade_classifier.rst file. 2011-08-22 12:15:31 +00:00
Vladislav Vinogradov 0ed6d86a49 optimized some gpu::cvtColor functions 2011-08-22 11:07:52 +00:00
Vadim Pisarevsky 628447c251 replaced non-available in MacOSX' numpy deg2rad in motempl.py 2011-08-22 10:22:27 +00:00
Vadim Pisarevsky 8dacbeb157 fixed 2 bugs in python samples (crash in camshift and running samples from within the demo) 2011-08-22 10:10:17 +00:00
Alexander Mordvintsev fd69c8b34a running demos with enter key 2011-08-21 13:24:49 +00:00
Alexandre Benoit 4408423c9f waiting for optimisation at Retina::_convertCvMat2ValarrayBuffer 2011-08-21 13:12:14 +00:00
Alexandre Benoit bd198d2b7b updated default parameters, more contrast by default 2011-08-21 12:22:27 +00:00
Alexandre Benoit 05c0cd72d0 updated retina modules : minor misakes correction & changed pixel format to float instead of double to keep some memory, precision is almost sufficient, check for residual mistakes 2011-08-21 11:02:42 +00:00
Alexandre Benoit 66ee335ca9 updated retina modules : minor misakes correction & changed pixel format to float instead of double to keep some memory, precision is almost sufficient, check for residual mistakes 2011-08-21 11:01:53 +00:00
Vadim Pisarevsky eb9401d353 applied patch #1326 2011-08-21 10:39:38 +00:00
Alexander Mordvintsev 67cbcd2fa6 work on demo.py: sample running 2011-08-21 07:54:54 +00:00
Alexander Mordvintsev 0de8ed1099 demo description url parsing 2011-08-21 07:19:27 +00:00
Alexander Mordvintsev 5b00763bb0 work on demo.py shell 2011-08-20 19:54:03 +00:00
Alexandre Benoit 752eed00f2 updated GUI photoreceptors sensitivity parameter management 2011-08-20 12:41:34 +00:00
Alexandre Benoit d5d2290ffd updated GUI photoreceptors sensitivity paramaer management 2011-08-20 12:40:04 +00:00
Andrey Kamaev 014ba699a3 Attempt to fix a build problem (ambiguous PixelType error when compiled on Mac x86) 2011-08-19 19:18:32 +00:00
Bernat Gabor 0451779d2c Ticket #1240 resolved. 2011-08-19 10:12:33 +00:00
Vadim Pisarevsky 3b7b833a4e merged latest fixes from 2.3 branch; since 2.3.1 is out, the version in trunk is bumped to 2.3.2 2011-08-17 20:12:11 +00:00
Bernat Gabor 157db88cbd Added the "How to write a tutorial for OpenCV?" tutorial. Made some corrections to the feature2D TOC tree. Small visual improvements for the video-write.rst file. Deleted a definition file that served no purpose. 2011-08-17 17:28:06 +00:00
Vladislav Vinogradov 971e35f283 fixed bug in gpu::cvtColor 2011-08-17 13:46:36 +00:00
Vladislav Vinogradov 5e9ae6b19f added TransformFunctorTraits, optimized some functions that use transform 2011-08-17 11:32:24 +00:00
Vadim Pisarevsky 6ce2277cc7 fixed multi-scale Hough transform (ticket #1320) 2011-08-17 09:19:46 +00:00
Vadim Pisarevsky d752c2b674 disabled fast-math by default. 2011-08-17 09:05:05 +00:00
Alexander Mordvintsev b3ae2c181a added flann matching to find_obj.py 2011-08-17 02:00:52 +00:00
Vadim Pisarevsky d3d55f3234 fixed crashes in parallel HOG detector; avoid use of new POPCNT instruction in ORB (to make it compatible with older CPUs). 2011-08-16 13:52:02 +00:00
Vadim Pisarevsky 3bfd1aa58d updated opencv_ffmpeg build instructions 2011-08-16 13:15:20 +00:00
Alexey Spizhevoy 78bb392088 refactored opencv_stitching 2011-08-16 12:36:11 +00:00
Vadim Pisarevsky f1e8b43c7a updated opencv_ffmpeg binaries, headers and libs to ffmpeg 0.8.2 2011-08-16 12:27:15 +00:00
Alexey Spizhevoy b6e9ed4ec5 fixed bug in opencv_stitching (added handling of homography evaluation failure) 2011-08-16 09:51:54 +00:00
Vadim Pisarevsky c66ed3e02f fixed Ximea constructor call 2011-08-15 14:23:55 +00:00
Alexandre Benoit cd8d3afe37 enhanced basic error management when input image could not be loaded 2011-08-15 13:24:31 +00:00
Vadim Pisarevsky fba70ca131 fixed bug #1306 (Vec assignment); added tests for Vec & Matx multiplication 2011-08-15 13:24:13 +00:00
Alexandre Benoit 58c0bea68a added openexr sample file 2011-08-15 13:18:01 +00:00
Alexey Spizhevoy ee18397f58 added CameraInfo class into opencv_stitching 2011-08-15 13:03:59 +00:00
Alexey Spizhevoy b97ecdff0d refactored opencv_stitching, added possibility to turn off BA 2011-08-15 12:20:27 +00:00
Vladislav Vinogradov 6e3a1f7b49 implement optimized version of gpu::BruteForceMatcher::knnMatch when k == 2 2011-08-15 12:14:02 +00:00
Alexey Spizhevoy c92b040c48 updated saving matches graph in opencv_stitching 2011-08-15 09:22:22 +00:00
Alexey Spizhevoy 8b7d74e9f0 minor changes in opencv_stitching 2011-08-15 08:26:11 +00:00
Alexey Spizhevoy f95e71ea3a added saving of matches graph into opencv_stitching (in DOT format) 2011-08-15 08:19:57 +00:00
Andrey Kamaev 7820c343eb Documentation: fixed CvSlice and FeatureDetector descriptions. 2011-08-15 07:05:04 +00:00
Andrey Kamaev a69c591927 Fixed Android build. 2011-08-15 07:03:22 +00:00
Alexey Spizhevoy aba2008711 implemented rotating-only cameras calibration 2011-08-15 06:15:06 +00:00
Ana Huaman 4c289dc166 Slight update in objdetect...still to put Theory 2011-08-15 02:38:23 +00:00
Ana Huaman eb77bbd626 Fixed more broken links from previous tutorials 2011-08-15 02:35:10 +00:00
Ana Huaman 41f5a9cab9 Fixed more broken links from previous tutorials 2011-08-15 02:29:03 +00:00
Alexander Mordvintsev 5bc5d9a47e camshift.py sample
small cleaning
2011-08-15 01:36:41 +00:00
Ana Huaman a0d73eadd3 Updated broken links of tutorials in core and fixed weird-looking bullets (error of mine) 2011-08-15 01:25:36 +00:00
Ana Huaman 8b0092eaf5 Commit rst tutorial for Cascade Classifiers 2011-08-15 00:49:59 +00:00
Ana Huaman dd836f1bdd Modified sample for object detection with LBP in tutorial_code 2011-08-14 22:32:41 +00:00
Ana Huaman e228b5c70d Added sample for object detection with LBP in tutorial_code 2011-08-14 20:20:35 +00:00
Bernat Gabor fec995391f Added to the tutorials the "Support Vector Machines for Non-Linearly Separable Data" contributed by Fernando Iglesias García. Corrected a mistake in the gpu-basics-similarity.rst file. 2011-08-14 19:58:20 +00:00
Vadim Pisarevsky a51a8ad577 fixed tickets #1301, #1303, #1305 2011-08-14 19:46:39 +00:00
Ana Huaman 4c74b28ee3 Sample code simplified for object Detection 2011-08-14 18:44:46 +00:00
Bernat Gabor 695311d709 Added the "Similarity check (PNSR and SSIM) on the GPU" tutorial. Corrected an highgui TOC tree mistake. 2011-08-14 15:05:56 +00:00
Alexandre Benoit e95618d0b4 nicer default parameters set 2011-08-14 07:01:56 +00:00
Alexander Mordvintsev a0af870719 added CV_OUT to CvANN_MLP::predict
python cv2 MLP sample done
2011-08-14 04:32:27 +00:00
Alexander Mordvintsev 622bd42224 work on MLP sample in letter_recog.py (in progress...) 2011-08-14 02:26:47 +00:00
Alexandre Benoit 638f3d31cf added more explicit titles on figures and cleaned std output 2011-08-13 21:58:31 +00:00
Andrey Kamaev d7a9b99b1d Documentation: fixed references for C++ operators 2011-08-13 21:39:10 +00:00
Alexandre Benoit 23c15d562d added comments/contacts link 2011-08-13 18:24:46 +00:00
Alexandre Benoit 9d7c0141bb added comments/contacts link 2011-08-13 18:24:33 +00:00
Andrey Kamaev 6168eaf745 Documentation: fixed "template<class T> const T" case for ".. ocv:function::" macro 2011-08-13 18:05:11 +00:00
Andrey Kamaev d6e3ccc1b2 Documentation: fixed about 100 cross-referencing errors. 2011-08-13 16:49:40 +00:00
Alexandre Benoit 6395a738cb adding openexr images tone mapping demo 2011-08-13 14:19:17 +00:00
Alexandre Benoit b4d42ae6f1 optimised input image management 2011-08-13 14:14:28 +00:00
Alexandre Benoit 1a749c5141 optimised input image management 2011-08-13 14:13:41 +00:00
Bernat Gabor bdfc0201de Added the How to create videos with OpenCV Tutorial. Made some corrections to the feature2d, to get rid of some documentation build errors. 2011-08-13 14:02:18 +00:00
Alexander Mordvintsev d2da81401f work on camshift.py 2011-08-13 08:54:11 +00:00
Alexander Mordvintsev 8c06a275f7 use default HOG people detector
minor cleaning
2011-08-13 08:52:58 +00:00
Andrey Kamaev 431daf59b6 * Fixed cross-referencing in reference manual (except C++ operator() ).
* Fixed display of struct and class definitions (except classes with base class specified).
* Fixed formatting and referencing errors in several documentation files.
2011-08-12 22:18:04 +00:00
Ana Huaman 6b88d7a898 Added base tutorial for using FlannBasedMatcher with SURF detector + descriptor in rst 2011-08-12 18:30:20 +00:00
Ana Huaman f803fc259b Added tutorial for features2d using homography to find a planar object (Based on the well known find_obj.cpp 2011-08-12 18:04:44 +00:00
Vadim Pisarevsky cff30dd2bb added cv.py micro-module for backward compatibility with existing Python scripts using prev-gen Python API. 2011-08-12 18:03:01 +00:00
Ana Huaman 480de445c7 Corrected a commit error -- Added the images for the detection tutorial 2011-08-12 17:06:25 +00:00
Ana Huaman 07754b6309 Added Features2D descriptor tutorial + drawMatches in rst 2011-08-12 17:01:10 +00:00
Ana Huaman e6d308ca89 Added rst Tutorial for Feature Detection with SURF and drawKeypoints 2011-08-12 15:56:52 +00:00
Vadim Pisarevsky 960fd51cf0 another attempt to fix #1299 2011-08-12 15:19:10 +00:00
1595 arquivos alterados com 228128 adições e 114569 exclusões
-18
Ver Arquivo
@@ -1,18 +0,0 @@
if(NOT ZLIB_FOUND)
add_subdirectory(zlib)
endif()
if(WITH_JASPER AND NOT JASPER_FOUND)
add_subdirectory(libjasper)
endif()
if(WITH_JPEG AND NOT JPEG_FOUND)
add_subdirectory(libjpeg)
endif()
if(WITH_PNG AND NOT PNG_FOUND)
add_subdirectory(libpng)
endif()
if(WITH_TIFF AND NOT TIFF_FOUND)
add_subdirectory(libtiff)
endif()
if(WIN32)
add_subdirectory(ffmpeg)
endif()
-20
Ver Arquivo
@@ -1,20 +0,0 @@
project(opencv_ffmpeg)
if(MSVC64 OR MINGW64)
set(FFMPEG_SUFFIX _64)
endif()
set(module_bare_name "opencv_ffmpeg${FFMPEG_SUFFIX}.dll")
set(module_name "${CMAKE_CURRENT_SOURCE_DIR}/${module_bare_name}")
get_target_property(bin_dir opencv_traincascade LOCATION)
get_filename_component(bin_dir ${bin_dir} PATH)
message(STATUS "ffmpeg output dir: ${bin_dir}")
add_custom_target(opencv_ffmpeg ALL
COMMAND ${CMAKE_COMMAND} -E copy
${module_name} ${bin_dir}/${module_bare_name}
COMMENT "Copying ${module_name} to the output directory")
install(FILES ${module_name} DESTINATION bin COMPONENT main)
+11
Ver Arquivo
@@ -0,0 +1,11 @@
set(NEW_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)
+2 -3
Ver Arquivo
@@ -1,3 +1,2 @@
rem gcc -Wall -shared -o opencv_ffmpeg.dll -O3 -x c++ -I../include -I../include/ffmpeg_ -I../../modules/highgui/src ffopencv.c -L../lib -lavformat -lavcodec -lavdevice -lswscale -lavutil -lwsock32 -lpthreadGÑE2
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:\apps\mingw64\bin;%path% & gcc -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
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
Arquivo binário não exibido.
Arquivo binário não exibido.
+35
Ver Arquivo
@@ -7,3 +7,38 @@ Otherwise the produced DLL will likely be dependent on libgcc_s_dw2-1.dll or sim
While we want to make the DLLs with minimum dependencies: Win32 libraries + msvcrt.dll.
ffopencv.c is really a C++ source, hence -x c++ is used.
How to update opencv_ffmpeg.dll and opencv_ffmpeg_64.dll when a new version of FFMPEG is release?
1. Install 32-bit MinGW + MSYS from
http://sourceforge.net/projects/mingw/files/Automated%20MinGW%20Installer/mingw-get-inst/
Let's assume, it's installed in C:\MSYS32.
2. Install 64-bit MinGW. http://mingw-w64.sourceforge.net/
Let's assume, it's installed in C:\MSYS64
3. Copy C:\MSYS32\msys to C:\MSYS64\msys. Edit C:\MSYS64\msys\etc\fstab, change C:\MSYS32 to C:\MSYS64.
4. Now you have working MSYS32 and MSYS64 environments.
Launch, one by one, C:\MSYS32\msys\msys.bat and C:\MSYS64\msys\msys.bat to create your home directories.
4. Download ffmpeg-x.y.z.tar.gz (where x.y.z denotes the actual ffmpeg version).
Copy it to C:\MSYS{32|64}\msys\home\<loginname> directory.
5. To build 32-bit ffmpeg libraries, run C:\MSYS32\msys\msys.bat and type the following commands:
5.1. tar -xzf ffmpeg-x.y.z.tar.gz
5.2. mkdir build
5.3. cd build
5.4. ../ffmpeg-x.y.z/configure --enable-w32threads
5.5. make
5.6. make install
5.7. cd /local/lib
5.8. strip -g *.a
6. Then repeat the same for 64-bit case. The output libs: libavcodec.a etc. need to be renamed to libavcodec64.a etc.
7. Then, copy all those libs to <opencv>\3rdparty\lib\, copy the headers to <opencv>\3rdparty\include\ffmpeg_.
8. Then, go to <opencv>\3rdparty\ffmpeg, edit make.bat
(change paths to the actual paths to your msys32 and msys64 distributions) and then run make.bat
+502
Ver Arquivo
@@ -0,0 +1,502 @@
//=============================================================================
//
// 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
+1 -1
Ver Arquivo
@@ -85,7 +85,7 @@ enum DCTTransformType {
};
/**
* Sets up DCT.
* Set up DCT.
* @param nbits size of the input array:
* (1 << nbits) for DCT-II, DCT-III and DST-I
* (1 << nbits) + 1 for DCT-I
+4 -1
Ver Arquivo
@@ -23,10 +23,13 @@
#ifndef AVCODEC_DXVA_H
#define AVCODEC_DXVA_H
#include <msc_stdint.h>
#include <stdint.h>
#include <d3d9.h>
#include <dxva2api.h>
#define FF_DXVA2_WORKAROUND_SCALING_LIST_ZIGZAG 1 ///< Work around for DXVA2 and old UVD/UVD+ ATI video cards
/**
* This structure is used to provides the necessary configurations and data
* to the DXVA2 FFmpeg HWAccel implementation.
+13 -190
Ver Arquivo
@@ -1,211 +1,34 @@
/*
* AVOptions
* copyright (c) 2005 Michael Niedermayer <michaelni@gmx.at>
* This file is part of Libav.
*
* This file is part of FFmpeg.
*
* FFmpeg is free software; you can redistribute it and/or
* 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.
*
* FFmpeg is distributed in the hope that it will be useful,
* 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 FFmpeg; if not, write to the Free Software
* 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
/**
* @file
* AVOptions
*/
#include "libavcodec/version.h"
#include "libavutil/rational.h"
#include "avcodec.h"
enum AVOptionType{
FF_OPT_TYPE_FLAGS,
FF_OPT_TYPE_INT,
FF_OPT_TYPE_INT64,
FF_OPT_TYPE_DOUBLE,
FF_OPT_TYPE_FLOAT,
FF_OPT_TYPE_STRING,
FF_OPT_TYPE_RATIONAL,
FF_OPT_TYPE_BINARY, ///< offset must point to a pointer immediately followed by an int for the length
FF_OPT_TYPE_CONST=128,
};
/**
* AVOption
*/
typedef struct AVOption {
const char *name;
/**
* short English help text
* @todo What about other languages?
*/
const char *help;
/**
* The offset relative to the context structure where the option
* value is stored. It should be 0 for named constants.
*/
int offset;
enum AVOptionType type;
/**
* the default value for scalar options
*/
double default_val;
double min; ///< minimum valid value for the option
double max; ///< maximum valid value for the option
int flags;
#define AV_OPT_FLAG_ENCODING_PARAM 1 ///< a generic parameter which can be set by the user for muxing or encoding
#define AV_OPT_FLAG_DECODING_PARAM 2 ///< a generic parameter which can be set by the user for demuxing or decoding
#define AV_OPT_FLAG_METADATA 4 ///< some data extracted or inserted into the file like title, comment, ...
#define AV_OPT_FLAG_AUDIO_PARAM 8
#define AV_OPT_FLAG_VIDEO_PARAM 16
#define AV_OPT_FLAG_SUBTITLE_PARAM 32
//FIXME think about enc-audio, ... style flags
/**
* The logical unit to which the option belongs. Non-constant
* options and corresponding named constants share the same
* unit. May be NULL.
*/
const char *unit;
} AVOption;
/**
* AVOption2.
* THIS IS NOT PART OF THE API/ABI YET!
* This is identical to AVOption except that default_val was replaced by
* an union, it should be compatible with AVOption on normal platforms.
*/
typedef struct AVOption2 {
const char *name;
/**
* short English help text
* @todo What about other languages?
*/
const char *help;
/**
* The offset relative to the context structure where the option
* value is stored. It should be 0 for named constants.
*/
int offset;
enum AVOptionType type;
/**
* the default value for scalar options
*/
union {
double dbl;
const char *str;
} default_val;
double min; ///< minimum valid value for the option
double max; ///< maximum valid value for the option
int flags;
/*
#define AV_OPT_FLAG_ENCODING_PARAM 1 ///< a generic parameter which can be set by the user for muxing or encoding
#define AV_OPT_FLAG_DECODING_PARAM 2 ///< a generic parameter which can be set by the user for demuxing or decoding
#define AV_OPT_FLAG_METADATA 4 ///< some data extracted or inserted into the file like title, comment, ...
#define AV_OPT_FLAG_AUDIO_PARAM 8
#define AV_OPT_FLAG_VIDEO_PARAM 16
#define AV_OPT_FLAG_SUBTITLE_PARAM 32
*/
//FIXME think about enc-audio, ... style flags
/**
* The logical unit to which the option belongs. Non-constant
* options and corresponding named constants share the same
* unit. May be NULL.
*/
const char *unit;
} AVOption2;
/**
* Looks for an option in obj. Looks only for the options which
* have the flags set as specified in mask and flags (that is,
* for which it is the case that opt->flags & mask == flags).
*
* @param[in] obj a pointer to a struct whose first element is a
* pointer to an AVClass
* @param[in] name the name of the option to look for
* @param[in] unit the unit of the option to look for, or any if NULL
* @return a pointer to the option found, or NULL if no option
* has been found
*/
const AVOption *av_find_opt(void *obj, const char *name, const char *unit, int mask, int flags);
#if LIBAVCODEC_VERSION_MAJOR < 53
/**
* @see av_set_string2()
*/
attribute_deprecated const AVOption *av_set_string(void *obj, const char *name, const char *val);
/**
* @return a pointer to the AVOption corresponding to the field set or
* NULL if no matching AVOption exists, or if the value val is not
* valid
* @see av_set_string3()
*/
attribute_deprecated const AVOption *av_set_string2(void *obj, const char *name, const char *val, int alloc);
#if FF_API_OPT_H
#include "libavutil/opt.h"
#endif
/**
* Sets the field of obj with the given name to value.
*
* @param[in] obj A struct whose first element is a pointer to an
* AVClass.
* @param[in] name the name of the field to set
* @param[in] val The value to set. If the field is not of a string
* type, then the given string is parsed.
* SI postfixes and some named scalars are supported.
* If the field is of a numeric type, it has to be a numeric or named
* scalar. Behavior with more than one scalar and +- infix operators
* is undefined.
* If the field is of a flags type, it has to be a sequence of numeric
* scalars or named flags separated by '+' or '-'. Prefixing a flag
* with '+' causes it to be set without affecting the other flags;
* similarly, '-' unsets a flag.
* @param[out] o_out if non-NULL put here a pointer to the AVOption
* found
* @param alloc when 1 then the old value will be av_freed() and the
* new av_strduped()
* when 0 then no av_free() nor av_strdup() will be used
* @return 0 if the value has been set, or an AVERROR code in case of
* error:
* AVERROR(ENOENT) if no matching option exists
* AVERROR(ERANGE) if the value is out of range
* AVERROR(EINVAL) if the value is not valid
*/
int av_set_string3(void *obj, const char *name, const char *val, int alloc, const AVOption **o_out);
const AVOption *av_set_double(void *obj, const char *name, double n);
const AVOption *av_set_q(void *obj, const char *name, AVRational n);
const AVOption *av_set_int(void *obj, const char *name, int64_t n);
double av_get_double(void *obj, const char *name, const AVOption **o_out);
AVRational av_get_q(void *obj, const char *name, const AVOption **o_out);
int64_t av_get_int(void *obj, const char *name, const AVOption **o_out);
const char *av_get_string(void *obj, const char *name, const AVOption **o_out, char *buf, int buf_len);
const AVOption *av_next_option(void *obj, const AVOption *last);
int av_opt_show(void *obj, void *av_log_obj);
void av_opt_set_defaults(void *s);
void av_opt_set_defaults2(void *s, int mask, int flags);
#endif /* AVCODEC_OPT_H */
+3 -3
Ver Arquivo
@@ -24,11 +24,11 @@
#ifndef AVCODEC_VAAPI_H
#define AVCODEC_VAAPI_H
#include <msc_stdint.h>
#include <stdint.h>
/**
* \defgroup VAAPI_Decoding VA API Decoding
* \ingroup Decoder
* @defgroup VAAPI_Decoding VA API Decoding
* @ingroup Decoder
* @{
*/
+168
Ver Arquivo
@@ -0,0 +1,168 @@
/*
* VDA HW acceleration
*
* copyright (c) 2011 Sebastien Zwickert
*
* 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_VDA_H
#define AVCODEC_VDA_H
#include <pthread.h>
#include <stdint.h>
// emmintrin.h is unable to compile with -std=c99 -Werror=missing-prototypes
// http://openradar.appspot.com/8026390
#undef __GNUC_STDC_INLINE__
#define Picture QuickdrawPicture
#include <VideoDecodeAcceleration/VDADecoder.h>
#undef Picture
/**
* This structure is used to store a decoded frame information and data.
*/
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
* to the VDA FFmpeg HWAccel implementation.
*
* The application must make it available as AVCodecContext.hwaccel_context.
*/
struct vda_context {
/**
* 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;
/**
* Mutex for locking queue operations.
*
* - encoding: unused
* - decoding: Set/Unset by libavcodec.
*/
pthread_mutex_t queue_mutex;
/**
* The frame width.
*
* - encoding: unused
* - decoding: Set/Unset by user.
*/
int width;
/**
* The frame height.
*
* - encoding: unused
* - decoding: Set/Unset by user.
*/
int height;
/**
* 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.
*/
OSType cv_pix_fmt_type;
/**
* The current bitstream buffer.
*
* - encoding: unused
* - decoding: Set/Unset by libavcodec.
*/
uint8_t *bitstream;
/**
* The current size of the bitstream.
*
* - encoding: unused
* - decoding: Set/Unset by libavcodec.
*/
int bitstream_size;
/**
* The reference size used for fast reallocation.
*
* - encoding: unused
* - decoding: Set/Unset by libavcodec.
*/
int ref_size;
};
/** Create the video decoder. */
int ff_vda_create_decoder(struct vda_context *vda_ctx,
uint8_t *extradata,
int extradata_size);
/** 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 */
+13 -14
Ver Arquivo
@@ -25,7 +25,7 @@
#define AVCODEC_VDPAU_H
/**
* \defgroup Decoder VDPAU Decoder and Renderer
* @defgroup Decoder VDPAU Decoder and Renderer
*
* VDPAU hardware acceleration has two modules
* - VDPAU decoding
@@ -38,26 +38,25 @@
* and rendering (API calls) are done as part of the VDPAU
* presentation (vo_vdpau.c) module.
*
* @{
* \defgroup VDPAU_Decoding VDPAU Decoding
* \ingroup Decoder
* @defgroup VDPAU_Decoding VDPAU Decoding
* @ingroup Decoder
* @{
*/
#include <vdpau/vdpau.h>
#include <vdpau/vdpau_x11.h>
/** \brief The videoSurface is used for rendering. */
/** @brief The videoSurface is used for rendering. */
#define FF_VDPAU_STATE_USED_FOR_RENDER 1
/**
* \brief The videoSurface is needed for reference/prediction.
* @brief The videoSurface is needed for reference/prediction.
* The codec manipulates this.
*/
#define FF_VDPAU_STATE_USED_FOR_REFERENCE 2
/**
* \brief This structure is used as a callback between the FFmpeg
* @brief This structure is used as a callback between the FFmpeg
* decoder (vd_) and presentation (vo_) module.
* This is used for defining a video frame containing surface,
* picture parameter, bitstream information etc which are passed
@@ -68,6 +67,13 @@ struct vdpau_render_state {
int state; ///< Holds FF_VDPAU_STATE_* values.
/** Describe size/location of the compressed video data.
Set to 0 when freeing bitstream_buffers. */
int bitstream_buffers_allocated;
int bitstream_buffers_used;
/** The user is responsible for freeing this buffer using av_freep(). */
VdpBitstreamBuffer *bitstream_buffers;
/** picture parameter information for all supported codecs */
union VdpPictureInfo {
VdpPictureInfoH264 h264;
@@ -75,13 +81,6 @@ struct vdpau_render_state {
VdpPictureInfoVC1 vc1;
VdpPictureInfoMPEG4Part2 mpeg4;
} info;
/** Describe size/location of the compressed video data.
Set to 0 when freeing bitstream_buffers. */
int bitstream_buffers_allocated;
int bitstream_buffers_used;
/** The user is responsible for freeing this buffer using av_freep(). */
VdpBitstreamBuffer *bitstream_buffers;
};
/* @}*/
+130
Ver Arquivo
@@ -0,0 +1,130 @@
/*
*
* 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_VERSION_H
#define AVCODEC_VERSION_H
#define LIBAVCODEC_VERSION_MAJOR 53
#define LIBAVCODEC_VERSION_MINOR 61
#define LIBAVCODEC_VERSION_MICRO 100
#define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
LIBAVCODEC_VERSION_MINOR, \
LIBAVCODEC_VERSION_MICRO)
#define LIBAVCODEC_VERSION AV_VERSION(LIBAVCODEC_VERSION_MAJOR, \
LIBAVCODEC_VERSION_MINOR, \
LIBAVCODEC_VERSION_MICRO)
#define LIBAVCODEC_BUILD LIBAVCODEC_VERSION_INT
#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.
*/
#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)
#endif
#ifndef FF_API_ALLOC_CONTEXT
#define FF_API_ALLOC_CONTEXT (LIBAVCODEC_VERSION_MAJOR < 54)
#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)
#endif
#ifndef FF_API_OLD_DECODE_AUDIO
#define FF_API_OLD_DECODE_AUDIO (LIBAVCODEC_VERSION_MAJOR < 55)
#endif
#ifndef FF_API_OLD_TIMECODE
#define FF_API_OLD_TIMECODE (LIBAVCODEC_VERSION_MAJOR < 54)
#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)
#endif
#endif /* AVCODEC_VERSION_H */
+1 -22
Ver Arquivo
@@ -25,11 +25,6 @@
#include "avcodec.h"
#if LIBAVCODEC_VERSION_MAJOR < 53
#define AV_XVMC_STATE_DISPLAY_PENDING 1 /** the surface should be shown, the video driver manipulates this */
#define AV_XVMC_STATE_PREDICTION 2 /** the surface is needed for prediction, the codec manipulates this */
#define AV_XVMC_STATE_OSD_SOURCE 4 /** the surface is needed for subpicture rendering */
#endif
#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) */
@@ -71,7 +66,7 @@ struct xvmc_pix_fmt {
*/
int allocated_data_blocks;
/** Indicates that the hardware would interpret data_blocks as IDCT
/** Indicate that the hardware would interpret data_blocks as IDCT
coefficients and perform IDCT on them.
- application - set during initialization
- libavcodec - unchanged
@@ -151,22 +146,6 @@ struct xvmc_pix_fmt {
of coded blocks it contains.
*/
int next_free_data_block_num;
/** extensions may be placed here */
#if LIBAVCODEC_VERSION_MAJOR < 53
//@{
/** State flags used to work around limitations in the MPlayer video system.
0 - Surface is not used.
1 - Surface is still held in application to be displayed or is
still visible.
2 - Surface is still held in libavcodec buffer for prediction.
*/
int state;
/** pointer to the surface where the subpicture is rendered */
void* p_osd_target_surface_render;
//}@
#endif
};
#endif /* AVCODEC_XVMC_H */
+30 -7
Ver Arquivo
@@ -19,11 +19,34 @@
#ifndef AVDEVICE_AVDEVICE_H
#define AVDEVICE_AVDEVICE_H
#include "libavutil/avutil.h"
/**
* @file
* @ingroup lavd
* Main libavdevice API header
*/
#define LIBAVDEVICE_VERSION_MAJOR 52
#define LIBAVDEVICE_VERSION_MINOR 2
#define LIBAVDEVICE_VERSION_MICRO 0
/**
* @defgroup lavd Special devices muxing/demuxing library
* @{
* Libavdevice is a complementary library to @ref libavf "libavformat". It
* provides various "special" platform-specific muxers and demuxers, e.g. for
* grabbing devices, audio capture and playback etc. As a consequence, the
* (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.
*
* 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, \
@@ -34,17 +57,17 @@
#define LIBAVDEVICE_BUILD LIBAVDEVICE_VERSION_INT
/**
* Returns the LIBAVDEVICE_VERSION_INT constant.
* Return the LIBAVDEVICE_VERSION_INT constant.
*/
unsigned avdevice_version(void);
/**
* Returns the libavdevice build-time configuration.
* Return the libavdevice build-time configuration.
*/
const char *avdevice_configuration(void);
/**
* Returns the libavdevice license.
* Return the libavdevice license.
*/
const char *avdevice_license(void);
Diferenças do arquivo suprimidas por serem muito extensas Carregar Diff
Diferenças do arquivo suprimidas por serem muito extensas Carregar Diff
+129
Ver Arquivo
@@ -0,0 +1,129 @@
/*
* Version macros.
*
* 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 AVFORMAT_VERSION_H
#define AVFORMAT_VERSION_H
/**
* @file
* @ingroup libavf
* Libavformat version macros
*/
#include "libavutil/avutil.h"
#define LIBAVFORMAT_VERSION_MAJOR 53
#define LIBAVFORMAT_VERSION_MINOR 32
#define LIBAVFORMAT_VERSION_MICRO 100
#define LIBAVFORMAT_VERSION_INT AV_VERSION_INT(LIBAVFORMAT_VERSION_MAJOR, \
LIBAVFORMAT_VERSION_MINOR, \
LIBAVFORMAT_VERSION_MICRO)
#define LIBAVFORMAT_VERSION AV_VERSION(LIBAVFORMAT_VERSION_MAJOR, \
LIBAVFORMAT_VERSION_MINOR, \
LIBAVFORMAT_VERSION_MICRO)
#define LIBAVFORMAT_BUILD LIBAVFORMAT_VERSION_INT
#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.
*/
#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)
#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)
#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)
#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)
#endif
#ifndef FF_API_SET_PTS_INFO
#define FF_API_SET_PTS_INFO (LIBAVFORMAT_VERSION_MAJOR < 54)
#endif
#ifndef FF_API_CLOSE_INPUT_FILE
#define FF_API_CLOSE_INPUT_FILE (LIBAVFORMAT_VERSION_MAJOR < 55)
#endif
#endif /* AVFORMAT_VERSION_H */
+14 -1
Ver Arquivo
@@ -21,9 +21,22 @@
#ifndef AVUTIL_ADLER32_H
#define AVUTIL_ADLER32_H
#include <msc_stdint.h>
#include <stdint.h>
#include "attributes.h"
/**
* @ingroup lavu_crypto
* Calculate the Adler32 checksum of a buffer.
*
* Passing the return value to a subsequent av_adler32_update() call
* allows the checksum of multiple buffers to be calculated as though
* they were concatenated.
*
* @param adler initial checksum value
* @param buf pointer to input buffer
* @param len size of input buffer
* @return updated checksum
*/
unsigned long av_adler32_update(unsigned long adler, const uint8_t *buf,
unsigned int len) av_pure;
+57
Ver Arquivo
@@ -0,0 +1,57 @@
/*
* copyright (c) 2007 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_AES_H
#define AVUTIL_AES_H
#include <stdint.h>
/**
* @defgroup lavu_aes AES
* @ingroup lavu_crypto
* @{
*/
extern const int av_aes_size;
struct AVAES;
/**
* Initialize an AVAES context.
* @param key_bits 128, 192 or 256
* @param decrypt 0 for encryption, 1 for decryption
*/
int av_aes_init(struct AVAES *a, const uint8_t *key, int key_bits, int decrypt);
/**
* Encrypt or decrypt a buffer using a previously initialized context.
* @param count number of 16 byte blocks
* @param dst destination array, can be equal to src
* @param src source array, can be equal to dst
* @param iv initialization vector for CBC mode, if NULL then ECB will be used
* @param decrypt 0 for encryption, 1 for decryption
*/
void av_aes_crypt(struct AVAES *a, uint8_t *dst, const uint8_t *src, int count, uint8_t *iv, int decrypt);
/**
* @}
*/
#endif /* AVUTIL_AES_H */
+52 -3
Ver Arquivo
@@ -40,6 +40,14 @@
#endif
#endif
#ifndef av_noreturn
#if AV_GCC_VERSION_AT_LEAST(2,5)
# define av_noreturn __attribute__((noreturn))
#else
# define av_noreturn
#endif
#endif
#ifndef av_noinline
#if AV_GCC_VERSION_AT_LEAST(3,1)
# define av_noinline __attribute__((noinline))
@@ -65,7 +73,7 @@
#endif
#ifndef av_cold
#if (!defined(__ICC) || __ICC > 1110) && AV_GCC_VERSION_AT_LEAST(4,3)
#if AV_GCC_VERSION_AT_LEAST(4,3)
# define av_cold __attribute__((cold))
#else
# define av_cold
@@ -73,7 +81,7 @@
#endif
#ifndef av_flatten
#if (!defined(__ICC) || __ICC > 1110) && AV_GCC_VERSION_AT_LEAST(4,1)
#if AV_GCC_VERSION_AT_LEAST(4,1)
# define av_flatten __attribute__((flatten))
#else
# define av_flatten
@@ -88,6 +96,24 @@
#endif
#endif
/**
* Disable warnings about deprecated features
* This is useful for sections of code kept for backward compatibility and
* scheduled for removal.
*/
#ifndef AV_NOWARN_DEPRECATED
#if AV_GCC_VERSION_AT_LEAST(4,6)
# define AV_NOWARN_DEPRECATED(code) \
_Pragma("GCC diagnostic push") \
_Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"") \
code \
_Pragma("GCC diagnostic pop")
#else
# define AV_NOWARN_DEPRECATED(code) code
#endif
#endif
#ifndef av_unused
#if defined(__GNUC__)
# define av_unused __attribute__((unused))
@@ -96,8 +122,29 @@
#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(__ICC)
#if defined(__GNUC__) && !defined(__INTEL_COMPILER)
# define av_uninit(x) x=x
#else
# define av_uninit(x) x
@@ -106,8 +153,10 @@
#ifdef __GNUC__
# define av_builtin_constant_p __builtin_constant_p
# define av_printf_format(fmtpos, attrpos) __attribute__((__format__(__printf__, fmtpos, attrpos)))
#else
# define av_builtin_constant_p(x) 0
# define av_printf_format(fmtpos, attrpos)
#endif
#endif /* AVUTIL_ATTRIBUTES_H */
+147
Ver Arquivo
@@ -0,0 +1,147 @@
/*
* 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 <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 */
+66
Ver Arquivo
@@ -0,0 +1,66 @@
/*
* copyright (c) 2010 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
*/
/**
* @file
* simple assert() macros that are a bit more flexible than ISO C assert().
* @author Michael Niedermayer <michaelni@gmx.at>
*/
#ifndef AVUTIL_AVASSERT_H
#define AVUTIL_AVASSERT_H
#include <stdlib.h>
#include "avutil.h"
#include "log.h"
/**
* assert() equivalent, that is always enabled.
*/
#define av_assert0(cond) do { \
if (!(cond)) { \
av_log(NULL, AV_LOG_FATAL, "Assertion %s failed at %s:%d\n", \
AV_STRINGIFY(cond), __FILE__, __LINE__); \
abort(); \
} \
} while (0)
/**
* assert() equivalent, that does not lie in speed critical code.
* These asserts() thus can be enabled without fearing speedloss.
*/
#if defined(ASSERT_LEVEL) && ASSERT_LEVEL > 0
#define av_assert1(cond) av_assert0(cond)
#else
#define av_assert1(cond) ((void)0)
#endif
/**
* assert() equivalent, that does lie in speed critical code.
*/
#if defined(ASSERT_LEVEL) && ASSERT_LEVEL > 1
#define av_assert2(cond) av_assert0(cond)
#else
#define av_assert2(cond) ((void)0)
#endif
#endif /* AVUTIL_AVASSERT_H */
+1
Ver Arquivo
@@ -2,4 +2,5 @@
#ifndef AVUTIL_AVCONFIG_H
#define AVUTIL_AVCONFIG_H
#define AV_HAVE_BIGENDIAN 0
#define AV_HAVE_FAST_UNALIGNED 1
#endif /* AVUTIL_AVCONFIG_H */
+97 -5
Ver Arquivo
@@ -22,6 +22,12 @@
#define AVUTIL_AVSTRING_H
#include <stddef.h>
#include "attributes.h"
/**
* @addtogroup lavu_string
* @{
*/
/**
* Return non-zero if pfx is a prefix of str. If it is, *ptr is set to
@@ -71,7 +77,7 @@ char *av_stristr(const char *haystack, const char *needle);
* @param size size of destination buffer
* @return the length of src
*
* WARNING: since the return value is the length of src, src absolutely
* @warning since the return value is the length of src, src absolutely
* _must_ be a properly 0-terminated string, otherwise this will read beyond
* the end of the buffer and possibly crash.
*/
@@ -89,9 +95,9 @@ size_t av_strlcpy(char *dst, const char *src, size_t size);
* @param size size of destination buffer
* @return the total length of src and dst
*
* WARNING: since the return value use the length of src and dst, these absolutely
* _must_ be a properly 0-terminated strings, otherwise this will read beyond
* the end of the buffer and possibly crash.
* @warning since the return value use the length of src and dst, these
* absolutely _must_ be a properly 0-terminated strings, otherwise this
* will read beyond the end of the buffer and possibly crash.
*/
size_t av_strlcat(char *dst, const char *src, size_t size);
@@ -107,11 +113,97 @@ size_t av_strlcat(char *dst, const char *src, size_t size);
* @return the length of the string that would have been generated
* if enough space had been available
*/
size_t av_strlcatf(char *dst, size_t size, const char *fmt, ...);
size_t av_strlcatf(char *dst, size_t size, const char *fmt, ...) av_printf_format(3, 4);
/**
* Print arguments following specified format into a large enough auto
* allocated buffer. It is similar to GNU asprintf().
* @param fmt printf-compatible format string, specifying how the
* following parameters are used.
* @return the allocated string
* @note You have to free the string yourself with av_free().
*/
char *av_asprintf(const char *fmt, ...) av_printf_format(1, 2);
/**
* Convert a number to a av_malloced string.
*/
char *av_d2str(double d);
/**
* Unescape the given string until a non escaped terminating char,
* and return the token corresponding to the unescaped string.
*
* The normal \ and ' escaping is supported. Leading and trailing
* whitespaces are removed, unless they are escaped with '\' or are
* enclosed between ''.
*
* @param buf the buffer to parse, buf will be updated to point to the
* terminating char
* @param term a 0-terminated list of terminating chars
* @return the malloced unescaped string, which must be av_freed by
* the user, NULL in case of allocation failure
*/
char *av_get_token(const char **buf, const char *term);
/**
* Split the string into several tokens which can be accessed by
* successive calls to av_strtok().
*
* A token is defined as a sequence of characters not belonging to the
* set specified in delim.
*
* On the first call to av_strtok(), s should point to the string to
* parse, and the value of saveptr is ignored. In subsequent calls, s
* should be NULL, and saveptr should be unchanged since the previous
* call.
*
* This function is similar to strtok_r() defined in POSIX.1.
*
* @param s the string to parse, may be NULL
* @param delim 0-terminated list of token delimiters, must be non-NULL
* @param saveptr user-provided pointer which points to stored
* information necessary for av_strtok() to continue scanning the same
* string. saveptr is updated to point to the next character after the
* first delimiter found, or to NULL if the string was terminated
* @return the found token, or NULL when no token is found
*/
char *av_strtok(char *s, const char *delim, char **saveptr);
/**
* Locale-independent conversion of ASCII characters to uppercase.
*/
static inline int av_toupper(int c)
{
if (c >= 'a' && c <= 'z')
c ^= 0x20;
return c;
}
/**
* Locale-independent conversion of ASCII characters to lowercase.
*/
static inline int av_tolower(int c)
{
if (c >= 'A' && c <= 'Z')
c ^= 0x20;
return c;
}
/**
* Locale-independent case-insensitive compare.
* @note This means only ASCII-range characters are case-insensitive
*/
int av_strcasecmp(const char *a, const char *b);
/**
* Locale-independent case-insensitive compare.
* @note This means only ASCII-range characters are case-insensitive
*/
int av_strncasecmp(const char *a, const char *b, size_t n);
/**
* @}
*/
#endif /* AVUTIL_AVSTRING_H */
+269 -9
Ver Arquivo
@@ -26,6 +26,96 @@
* external API header
*/
/**
* @mainpage
*
* @section libav_intro Introduction
*
* This document describe 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 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
*
*/
/**
* @defgroup lavu Common utility functions
*
* @brief
* libavutil contains the code shared across all the other FFmpeg
* libraries
*
* @note In order to use the functions provided by avutil you must include
* the specific header.
*
* @{
*
* @defgroup lavu_crypto Crypto and Hashing
*
* @{
* @}
*
* @defgroup lavu_math Maths
* @{
*
* @}
*
* @defgroup lavu_string String Manipulation
*
* @{
*
* @}
*
* @defgroup lavu_mem Memory Management
*
* @{
*
* @}
*
* @defgroup lavu_data Data Structures
* @{
*
* @}
*
* @defgroup lavu_audio Audio related
*
* @{
*
* @}
*
* @defgroup lavu_error Error Codes
*
* @{
*
* @}
*
* @defgroup lavu_misc Other
*
* @{
*
* @defgroup lavu_internal Internal
*
* Not exported functions, for internal usage only
*
* @{
*
* @}
*/
/**
* @defgroup preproc_misc Preprocessor String Macros
*
* String manipulation macros
*
* @{
*/
#define AV_STRINGIFY(s) AV_TOSTRING(s)
#define AV_TOSTRING(s) #s
@@ -35,13 +125,37 @@
#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)
#define LIBAVUTIL_VERSION_MAJOR 50
#define LIBAVUTIL_VERSION_MINOR 15
#define LIBAVUTIL_VERSION_MICRO 1
/**
* @}
*
* @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, \
@@ -54,30 +168,163 @@
#define LIBAVUTIL_IDENT "Lavu" AV_STRINGIFY(LIBAVUTIL_VERSION)
/**
* Returns the LIBAVUTIL_VERSION_INT constant.
* @}
*
* @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
* @{
*/
/**
* Return the LIBAVUTIL_VERSION_INT constant.
*/
unsigned avutil_version(void);
/**
* Returns the libavutil build-time configuration.
* Return the libavutil build-time configuration.
*/
const char *avutil_configuration(void);
/**
* Returns the libavutil license.
* Return the libavutil license.
*/
const char *avutil_license(void);
/**
* @}
*/
/**
* @addtogroup lavu_media Media Type
* @brief Media Type
*/
enum AVMediaType {
AVMEDIA_TYPE_UNKNOWN = -1,
AVMEDIA_TYPE_UNKNOWN = -1, ///< Usually treated as AVMEDIA_TYPE_DATA
AVMEDIA_TYPE_VIDEO,
AVMEDIA_TYPE_AUDIO,
AVMEDIA_TYPE_DATA,
AVMEDIA_TYPE_DATA, ///< Opaque data information usually continuous
AVMEDIA_TYPE_SUBTITLE,
AVMEDIA_TYPE_ATTACHMENT,
AVMEDIA_TYPE_ATTACHMENT, ///< Opaque data information usually sparse
AVMEDIA_TYPE_NB
};
/**
* Return a string describing the media_type enum, NULL if media_type
* is unknown.
*/
const char *av_get_media_type_string(enum AVMediaType media_type);
/**
* @defgroup lavu_const Constants
* @{
*
* @defgroup lavu_enc Encoding specific
*
* @note those definition should move to avcodec
* @{
*/
#define FF_LAMBDA_SHIFT 7
#define FF_LAMBDA_SCALE (1<<FF_LAMBDA_SHIFT)
#define FF_QP2LAMBDA 118 ///< factor to convert from H.263 QP to lambda
#define FF_LAMBDA_MAX (256*128-1)
#define FF_QUALITY_SCALE FF_LAMBDA_SCALE //FIXME maybe remove
/**
* @}
* @defgroup lavu_time Timestamp specific
*
* FFmpeg internal timebase and timestamp definitions
*
* @{
*/
/**
* @brief Undefined timestamp value
*
* Usually reported by demuxer that work on containers that do not provide
* either pts or dts.
*/
#define AV_NOPTS_VALUE INT64_C(0x8000000000000000)
/**
* Internal time base represented as integer
*/
#define AV_TIME_BASE 1000000
/**
* Internal time base represented as fractional value
*/
#define AV_TIME_BASE_Q (AVRational){1, AV_TIME_BASE}
/**
* @}
* @}
* @defgroup lavu_picture Image related
*
* AVPicture types, pixel formats and basic image planes manipulation.
*
* @{
*/
enum AVPictureType {
AV_PICTURE_TYPE_NONE = 0, ///< Undefined
AV_PICTURE_TYPE_I, ///< Intra
AV_PICTURE_TYPE_P, ///< Predicted
AV_PICTURE_TYPE_B, ///< Bi-dir predicted
AV_PICTURE_TYPE_S, ///< S(GMC)-VOP MPEG4
AV_PICTURE_TYPE_SI, ///< Switching Intra
AV_PICTURE_TYPE_SP, ///< Switching Predicted
AV_PICTURE_TYPE_BI, ///< BI type
};
/**
* Return a single letter to describe the given picture type
* pict_type.
*
* @param[in] pict_type the picture type @return a single character
* representing the picture type, '?' if pict_type is unknown
*/
char av_get_picture_type_char(enum AVPictureType pict_type);
/**
* @}
*/
#include "common.h"
#include "error.h"
#include "mathematics.h"
@@ -86,4 +333,17 @@ enum AVMediaType {
#include "log.h"
#include "pixfmt.h"
/**
* Return x default pointer in case p is NULL.
*/
static inline void *av_x_if_null(const void *p, const void *x)
{
return (void *)(intptr_t)(p ? p : x);
}
/**
* @}
* @}
*/
#endif /* AVUTIL_AVUTIL_H */
+30 -14
Ver Arquivo
@@ -21,29 +21,45 @@
#ifndef AVUTIL_BASE64_H
#define AVUTIL_BASE64_H
#include <msc_stdint.h>
#include <stdint.h>
/**
* Decodes the base64-encoded string in in and puts the decoded
* data in out.
* @defgroup lavu_base64 Base64
* @ingroup lavu_crypto
* @{
*/
/**
* Decode a base64-encoded string.
*
* @param out_size size in bytes of the out buffer, it should be at
* least 3/4 of the length of in
* @return the number of bytes written, or a negative value in case of
* error
* @param out buffer for decoded data
* @param in null-terminated input string
* @param out_size size in bytes of the out buffer, must be at
* least 3/4 of the length of in
* @return number of bytes written, or a negative value in case of
* invalid input
*/
int av_base64_decode(uint8_t *out, const char *in, int out_size);
/**
* Encodes in base64 the data in in and puts the resulting string
* in out.
* Encode data to base64 and null-terminate.
*
* @param out_size size in bytes of the out string, it should be at
* least ((in_size + 2) / 3) * 4 + 1
* @param in_size size in bytes of the in buffer
* @return the string containing the encoded data, or NULL in case of
* error
* @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
*/
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.
*/
#define AV_BASE64_SIZE(x) (((x)+2) / 3 * 4 + 1)
/**
* @}
*/
#endif /* AVUTIL_BASE64_H */
+109
Ver Arquivo
@@ -0,0 +1,109 @@
/*
* copyright (c) 2006 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
*/
/**
* @file
* byte swapping routines
*/
#ifndef AVUTIL_BSWAP_H
#define AVUTIL_BSWAP_H
#include <stdint.h>
#include "libavutil/avconfig.h"
#include "attributes.h"
#ifdef HAVE_AV_CONFIG_H
#include "config.h"
#if ARCH_ARM
# include "arm/bswap.h"
#elif ARCH_AVR32
# include "avr32/bswap.h"
#elif ARCH_BFIN
# include "bfin/bswap.h"
#elif ARCH_SH4
# include "sh4/bswap.h"
#elif ARCH_X86
# include "x86/bswap.h"
#endif
#endif /* HAVE_AV_CONFIG_H */
#define AV_BSWAP16C(x) (((x) << 8 & 0xff00) | ((x) >> 8 & 0x00ff))
#define AV_BSWAP32C(x) (AV_BSWAP16C(x) << 16 | AV_BSWAP16C((x) >> 16))
#define AV_BSWAP64C(x) (AV_BSWAP32C(x) << 32 | AV_BSWAP32C((x) >> 32))
#define AV_BSWAPC(s, x) AV_BSWAP##s##C(x)
#ifndef av_bswap16
static av_always_inline av_const uint16_t av_bswap16(uint16_t x)
{
x= (x>>8) | (x<<8);
return x;
}
#endif
#ifndef av_bswap32
static av_always_inline av_const uint32_t av_bswap32(uint32_t x)
{
return AV_BSWAP32C(x);
}
#endif
#ifndef av_bswap64
static inline uint64_t av_const av_bswap64(uint64_t x)
{
return (uint64_t)av_bswap32(x) << 32 | av_bswap32(x >> 32);
}
#endif
// be2ne ... big-endian to native-endian
// le2ne ... little-endian to native-endian
#if AV_HAVE_BIGENDIAN
#define av_be2ne16(x) (x)
#define av_be2ne32(x) (x)
#define av_be2ne64(x) (x)
#define av_le2ne16(x) av_bswap16(x)
#define av_le2ne32(x) av_bswap32(x)
#define av_le2ne64(x) av_bswap64(x)
#define AV_BE2NEC(s, x) (x)
#define AV_LE2NEC(s, x) AV_BSWAPC(s, x)
#else
#define av_be2ne16(x) av_bswap16(x)
#define av_be2ne32(x) av_bswap32(x)
#define av_be2ne64(x) av_bswap64(x)
#define av_le2ne16(x) (x)
#define av_le2ne32(x) (x)
#define av_le2ne64(x) (x)
#define AV_BE2NEC(s, x) AV_BSWAPC(s, x)
#define AV_LE2NEC(s, x) (x)
#endif
#define AV_BE2NE16C(x) AV_BE2NEC(16, x)
#define AV_BE2NE32C(x) AV_BE2NEC(32, x)
#define AV_BE2NE64C(x) AV_BE2NEC(64, x)
#define AV_LE2NE16C(x) AV_LE2NEC(16, x)
#define AV_LE2NE32C(x) AV_LE2NEC(32, x)
#define AV_LE2NE64C(x) AV_LE2NEC(64, x)
#endif /* AVUTIL_BSWAP_H */
+151 -63
Ver Arquivo
@@ -28,22 +28,27 @@
#include <ctype.h>
#include <errno.h>
#ifdef _MSC_VER
#include <msc_inttypes.h>
#else
#include <inttypes.h>
#endif
#include <limits.h>
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "attributes.h"
#include "libavutil/avconfig.h"
#if AV_HAVE_BIGENDIAN
# define AV_NE(be, le) (be)
#else
# define AV_NE(be, le) (le)
#endif
//rounded division & shift
#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))
#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)))
#define FFSIGN(a) ((a) > 0 ? 1 : -1)
@@ -61,7 +66,7 @@ extern const uint8_t ff_log2_tab[256];
extern const uint8_t av_reverse[256];
static inline av_const int av_log2_c(unsigned int v)
static av_always_inline av_const int av_log2_c(unsigned int v)
{
int n = 0;
if (v & 0xffff0000) {
@@ -77,7 +82,7 @@ static inline av_const int av_log2_c(unsigned int v)
return n;
}
static inline av_const int av_log2_16bit_c(unsigned int v)
static av_always_inline av_const int av_log2_16bit_c(unsigned int v)
{
int n = 0;
if (v & 0xff00) {
@@ -94,21 +99,17 @@ static inline av_const int av_log2_16bit_c(unsigned int v)
# include "intmath.h"
#endif
#ifndef av_log2
# define av_log2 av_log2_c
#endif
#ifndef av_log2_16bit
# define av_log2_16bit av_log2_16bit_c
#endif
/* Pull in unguarded fallback defines at the end of this file. */
#include "common.h"
/**
* Clips a signed integer value into the amin-amax range.
* Clip a signed 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 inline av_const int av_clip(int a, int amin, int amax)
static av_always_inline av_const int av_clip_c(int a, int amin, int amax)
{
if (a < amin) return amin;
else if (a > amax) return amax;
@@ -116,87 +117,132 @@ static inline av_const int av_clip(int a, int amin, int amax)
}
/**
* Clips a signed integer value into the 0-255 range.
* Clip a signed integer value into the 0-255 range.
* @param a value to clip
* @return clipped value
*/
static inline av_const uint8_t av_clip_uint8(int a)
static av_always_inline av_const uint8_t av_clip_uint8_c(int a)
{
if (a&(~0xFF)) return (-a)>>31;
else return a;
}
/**
* Clips a signed integer value into the 0-65535 range.
* Clip a signed integer value into the -128,127 range.
* @param a value to clip
* @return clipped value
*/
static inline av_const uint16_t av_clip_uint16(int a)
static av_always_inline av_const int8_t av_clip_int8_c(int a)
{
if ((a+0x80) & ~0xFF) return (a>>31) ^ 0x7F;
else return a;
}
/**
* Clip a signed integer value into the 0-65535 range.
* @param a value to clip
* @return clipped value
*/
static av_always_inline av_const uint16_t av_clip_uint16_c(int a)
{
if (a&(~0xFFFF)) return (-a)>>31;
else return a;
}
/**
* Clips a signed integer value into the -32768,32767 range.
* Clip a signed integer value into the -32768,32767 range.
* @param a value to clip
* @return clipped value
*/
static inline av_const int16_t av_clip_int16(int a)
static av_always_inline av_const int16_t av_clip_int16_c(int a)
{
if ((a+0x8000) & ~0xFFFF) return (a>>31) ^ 0x7FFF;
else return a;
}
/**
* Clips a signed 64-bit integer value into the -2147483648,2147483647 range.
* Clip a signed 64-bit integer value into the -2147483648,2147483647 range.
* @param a value to clip
* @return clipped value
*/
static inline av_const int32_t av_clipl_int32(int64_t 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;
}
/**
* Clips a float value into the amin-amax range.
* Clip a signed integer to an unsigned power of two range.
* @param a value to clip
* @param p bit position to clip at
* @return clipped value
*/
static av_always_inline av_const unsigned av_clip_uintp2_c(int a, int p)
{
if (a & ~((1<<p) - 1)) return -a >> 31 & ((1<<p) - 1);
else return a;
}
/**
* Clip a float 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 inline av_const float av_clipf(float a, float amin, float amax)
static av_always_inline av_const float av_clipf_c(float a, float amin, float amax)
{
if (a < amin) return amin;
else if (a > amax) return amax;
else return a;
}
/** Computes ceil(log2(x)).
/** Compute ceil(log2(x)).
* @param x value used to compute ceil(log2(x))
* @return computed ceiling of log2(x)
*/
static inline av_const int av_ceil_log2(int x)
static av_always_inline av_const int av_ceil_log2_c(int x)
{
return av_log2((x - 1) << 1);
}
#define MKTAG(a,b,c,d) (a | (b << 8) | (c << 16) | (d << 24))
#define MKBETAG(a,b,c,d) (d | (c << 8) | (b << 16) | (a << 24))
/**
* Count number of bits set to one in x
* @param x value to count bits of
* @return the number of bits set to one in x
*/
static av_always_inline av_const int av_popcount_c(uint32_t x)
{
x -= (x >> 1) & 0x55555555;
x = (x & 0x33333333) + ((x >> 2) & 0x33333333);
x = (x + (x >> 4)) & 0x0F0F0F0F;
x += x >> 8;
return (x + (x >> 16)) & 0x3F;
}
/*!
* \def GET_UTF8(val, GET_BYTE, ERROR)
* Converts a UTF-8 character (up to 4 bytes long) to its 32-bit UCS-4 encoded form
* \param val is the output and should be of type uint32_t. It holds the converted
* UCS-4 character and should be a left value.
* \param GET_BYTE gets UTF-8 encoded bytes from any proper source. It can be
* a function or a statement whose return value or evaluated value is of type
* uint8_t. It will be executed up to 4 times for values in the valid UTF-8 range,
* and up to 7 times in the general case.
* \param ERROR action that should be taken when an invalid UTF-8 byte is returned
* from GET_BYTE. It should be a statement that jumps out of the macro,
* like exit(), goto, return, break, or continue.
/**
* Count number of bits set to one in x
* @param x value to count bits of
* @return the number of bits set to one in x
*/
static av_always_inline av_const int av_popcount64_c(uint64_t x)
{
return av_popcount(x) + av_popcount(x >> 32);
}
#define MKTAG(a,b,c,d) ((a) | ((b) << 8) | ((c) << 16) | ((unsigned)(d) << 24))
#define MKBETAG(a,b,c,d) ((d) | ((c) << 8) | ((b) << 16) | ((unsigned)(a) << 24))
/**
* Convert a UTF-8 character (up to 4 bytes) to its 32-bit UCS-4 encoded form.
*
* @param val Output value, must be an lvalue of type uint32_t.
* @param GET_BYTE Expression reading one byte from the input.
* Evaluated up to 7 times (4 for the currently
* assigned Unicode range). With a memory buffer
* input, this could be *ptr++.
* @param ERROR Expression to be evaluated on invalid input,
* typically a goto statement.
*/
#define GET_UTF8(val, GET_BYTE, ERROR)\
val= GET_BYTE;\
@@ -213,17 +259,14 @@ static inline av_const int av_ceil_log2(int x)
}\
}
/*!
* \def GET_UTF16(val, GET_16BIT, ERROR)
* Converts a UTF-16 character (2 or 4 bytes) to its 32-bit UCS-4 encoded form
* \param val is the output and should be of type uint32_t. It holds the converted
* UCS-4 character and should be a left value.
* \param GET_16BIT gets two bytes of UTF-16 encoded data converted to native endianness.
* It can be a function or a statement whose return value or evaluated value is of type
* uint16_t. It will be executed up to 2 times.
* \param ERROR action that should be taken when an invalid UTF-16 surrogate is
* returned from GET_BYTE. It should be a statement that jumps out of the macro,
* like exit(), goto, return, break, or continue.
/**
* Convert a UTF-16 character (2 or 4 bytes) to its 32-bit UCS-4 encoded form.
*
* @param val Output value, must be an lvalue of type uint32_t.
* @param GET_16BIT Expression returning two bytes of UTF-16 data converted
* to native byte order. Evaluated one or two times.
* @param ERROR Expression to be evaluated on invalid input,
* typically a goto statement.
*/
#define GET_UTF16(val, GET_16BIT, ERROR)\
val = GET_16BIT;\
@@ -237,16 +280,16 @@ static inline av_const int av_ceil_log2(int x)
}\
}\
/*!
* \def PUT_UTF8(val, tmp, PUT_BYTE)
* Converts a 32-bit Unicode character to its UTF-8 encoded form (up to 4 bytes long).
* \param val is an input-only argument and should be of type uint32_t. It holds
/**
* @def PUT_UTF8(val, tmp, PUT_BYTE)
* Convert a 32-bit Unicode character to its UTF-8 encoded form (up to 4 bytes long).
* @param val is an input-only argument and should be of type uint32_t. It holds
* a UCS-4 encoded Unicode character that is to be converted to UTF-8. If
* val is given as a function it is executed only once.
* \param tmp is a temporary variable and should be of type uint8_t. It
* @param tmp is a temporary variable and should be of type uint8_t. It
* represents an intermediate value during conversion that is to be
* output by PUT_BYTE.
* \param PUT_BYTE writes the converted UTF-8 bytes to any proper destination.
* @param PUT_BYTE writes the converted UTF-8 bytes to any proper destination.
* It could be a function or a statement, and uses tmp as the input byte.
* For example, PUT_BYTE could be "*output++ = tmp;" PUT_BYTE will be
* executed up to 4 times for values in the valid UTF-8 range and up to
@@ -273,16 +316,16 @@ static inline av_const int av_ceil_log2(int x)
}\
}
/*!
* \def PUT_UTF16(val, tmp, PUT_16BIT)
* Converts a 32-bit Unicode character to its UTF-16 encoded form (2 or 4 bytes).
* \param val is an input-only argument and should be of type uint32_t. It holds
/**
* @def PUT_UTF16(val, tmp, PUT_16BIT)
* Convert a 32-bit Unicode character to its UTF-16 encoded form (2 or 4 bytes).
* @param val is an input-only argument and should be of type uint32_t. It holds
* a UCS-4 encoded Unicode character that is to be converted to UTF-16. If
* val is given as a function it is executed only once.
* \param tmp is a temporary variable and should be of type uint16_t. It
* @param tmp is a temporary variable and should be of type uint16_t. It
* represents an intermediate value during conversion that is to be
* output by PUT_16BIT.
* \param PUT_16BIT writes the converted UTF-16 data to any proper destination
* @param PUT_16BIT writes the converted UTF-16 data to any proper destination
* in desired endianness. It could be a function or a statement, and uses tmp
* as the input byte. For example, PUT_BYTE could be "*output++ = tmp;"
* PUT_BYTE will be executed 1 or 2 times depending on input character.
@@ -310,3 +353,48 @@ static inline av_const int av_ceil_log2(int x)
#endif /* HAVE_AV_CONFIG_H */
#endif /* AVUTIL_COMMON_H */
/*
* The following definitions are outside the multiple inclusion guard
* 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_clip_uint8
# define av_clip_uint8 av_clip_uint8_c
#endif
#ifndef av_clip_int8
# define av_clip_int8 av_clip_int8_c
#endif
#ifndef av_clip_uint16
# define av_clip_uint16 av_clip_uint16_c
#endif
#ifndef av_clip_int16
# define av_clip_int16 av_clip_int16_c
#endif
#ifndef av_clipl_int32
# define av_clipl_int32 av_clipl_int32_c
#endif
#ifndef av_clip_uintp2
# define av_clip_uintp2 av_clip_uintp2_c
#endif
#ifndef av_clipf
# define av_clipf av_clipf_c
#endif
#ifndef av_popcount
# define av_popcount av_popcount_c
#endif
#ifndef av_popcount64
# define av_popcount64 av_popcount64_c
#endif
+63
Ver Arquivo
@@ -0,0 +1,63 @@
/*
* Copyright (c) 2000, 2001, 2002 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_CPU_H
#define AVUTIL_CPU_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_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
#define AV_CPU_FLAG_SSE2 0x0010 ///< PIV SSE2 functions
#define AV_CPU_FLAG_SSE2SLOW 0x40000000 ///< SSE2 supported, but usually not faster
#define AV_CPU_FLAG_3DNOWEXT 0x0020 ///< AMD 3DNowExt
#define AV_CPU_FLAG_SSE3 0x0040 ///< Prescott SSE3 functions
#define AV_CPU_FLAG_SSE3SLOW 0x20000000 ///< SSE3 supported, but usually not faster
#define AV_CPU_FLAG_SSSE3 0x0080 ///< Conroe SSSE3 functions
#define AV_CPU_FLAG_ATOM 0x10000000 ///< Atom processor, some SSSE3 instructions are slower
#define AV_CPU_FLAG_SSE4 0x0100 ///< Penryn SSE4.1 functions
#define AV_CPU_FLAG_SSE42 0x0200 ///< Nehalem SSE4.2 functions
#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
#define AV_CPU_FLAG_ALTIVEC 0x0001 ///< standard
/**
* Return the flags which specify extensions supported by the CPU.
*/
int av_get_cpu_flags(void);
/**
* Disables cpu detection and forces the specified flags.
*/
void av_force_cpu_flags(int flags);
/* The following CPU-specific functions shall not be called directly. */
int ff_get_cpu_flags_arm(void);
int ff_get_cpu_flags_ppc(void);
int ff_get_cpu_flags_x86(void);
#endif /* AVUTIL_CPU_H */
+1 -1
Ver Arquivo
@@ -21,7 +21,7 @@
#ifndef AVUTIL_CRC_H
#define AVUTIL_CRC_H
#include <msc_stdint.h>
#include <stdint.h>
#include <stddef.h>
#include "attributes.h"
+127
Ver Arquivo
@@ -0,0 +1,127 @@
/*
*
* 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
* Public dictionary API.
* @deprecated
* AVDictionary is provided for compatibility with libav. It is both in
* implementation as well as API inefficient. It does not scale and is
* extremely slow with large dictionaries.
* It is recommended that new code uses our tree container from tree.c/h
* where applicable, which uses AVL trees to achieve O(log n) performance.
*/
#ifndef AVUTIL_DICT_H
#define AVUTIL_DICT_H
/**
* @addtogroup lavu_dict AVDictionary
* @ingroup lavu_data
*
* @brief Simple key:value store
*
* @{
* Dictionaries are used for storing key:value pairs. To create
* an AVDictionary, simply pass an address of a NULL pointer to
* av_dict_set(). NULL can be used as an empty dictionary wherever
* a pointer to an AVDictionary is required.
* Use av_dict_get() to retrieve an entry or iterate over all
* entries and finally av_dict_free() to free the dictionary
* and all its contents.
*
* @code
* AVDictionary *d = NULL; // "create" an empty dictionary
* av_dict_set(&d, "foo", "bar", 0); // add an entry
*
* char *k = av_strdup("key"); // if your strings are already allocated,
* char *v = av_strdup("value"); // you can avoid copying them like this
* av_dict_set(&d, k, v, AV_DICT_DONT_STRDUP_KEY | AV_DICT_DONT_STRDUP_VAL);
*
* AVDictionaryEntry *t = NULL;
* while (t = av_dict_get(d, "", t, AV_DICT_IGNORE_SUFFIX)) {
* <....> // iterate over all entries in d
* }
*
* av_dict_free(&d);
* @endcode
*
*/
#define AV_DICT_MATCH_CASE 1
#define AV_DICT_IGNORE_SUFFIX 2
#define AV_DICT_DONT_STRDUP_KEY 4 /**< Take ownership of a key that's been
allocated with av_malloc() and children. */
#define AV_DICT_DONT_STRDUP_VAL 8 /**< Take ownership of a value that's been
allocated with av_malloc() and chilren. */
#define AV_DICT_DONT_OVERWRITE 16 ///< Don't overwrite existing entries.
#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 {
char *key;
char *value;
} AVDictionaryEntry;
typedef struct AVDictionary AVDictionary;
/**
* Get a dictionary entry with matching key.
*
* @param prev Set to the previous matching element to find the next.
* If set to NULL the first matching element is returned.
* @param flags Allows case as well as suffix-insensitive comparisons.
* @return Found entry or NULL, changing key or value leads to undefined behavior.
*/
AVDictionaryEntry *
av_dict_get(AVDictionary *m, const char *key, const AVDictionaryEntry *prev, int flags);
/**
* Set the given entry in *pm, overwriting an existing entry.
*
* @param pm pointer to a pointer to a dictionary struct. If *pm is NULL
* 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.
* @return >= 0 on success otherwise an error code <0
*/
int av_dict_set(AVDictionary **pm, const char *key, const char *value, int flags);
/**
* Copy entries from one AVDictionary struct into another.
* @param dst pointer to a pointer to a AVDictionary struct. If *dst is NULL,
* this function will allocate a struct for you and put it in *dst
* @param src pointer to source AVDictionary struct
* @param flags flags to use when setting entries in *dst
* @note metadata is read using the AV_DICT_IGNORE_SUFFIX flag
*/
void av_dict_copy(AVDictionary **dst, AVDictionary *src, int flags);
/**
* Free all the memory allocated for an AVDictionary struct
* and all keys and values.
*/
void av_dict_free(AVDictionary **m);
/**
* @}
*/
#endif // AVUTIL_DICT_H
+35 -20
Ver Arquivo
@@ -27,6 +27,13 @@
#include <errno.h>
#include "avutil.h"
/**
* @addtogroup lavu_error
*
* @{
*/
/* error handling */
#if EDOM > 0
#define AVERROR(e) (-(e)) ///< Returns a negative error code from a POSIX error code, to return from library functions.
@@ -37,36 +44,44 @@
#define AVUNERROR(e) (e)
#endif
#if LIBAVUTIL_VERSION_MAJOR < 51
#define AVERROR_INVALIDDATA AVERROR(EINVAL) ///< Invalid data found when processing input
#define AVERROR_IO AVERROR(EIO) ///< I/O error
#define AVERROR_NOENT AVERROR(ENOENT) ///< No such file or directory
#define AVERROR_NOFMT AVERROR(EILSEQ) ///< Unknown format
#define AVERROR_NOMEM AVERROR(ENOMEM) ///< Not enough memory
#define AVERROR_NOTSUPP AVERROR(ENOSYS) ///< Operation not supported
#define AVERROR_NUMEXPECTED AVERROR(EDOM) ///< Number syntax expected in filename
#define AVERROR_UNKNOWN AVERROR(EINVAL) ///< Unknown error
#endif
#define AVERROR_EOF AVERROR(EPIPE) ///< End of file
#define AVERROR_PATCHWELCOME (-MKTAG('P','A','W','E')) ///< Not yet implemented in FFmpeg, patches welcome
#if LIBAVUTIL_VERSION_MAJOR > 50
#define AVERROR_INVALIDDATA (-MKTAG('I','N','D','A')) ///< Invalid data found when processing input
#define AVERROR_NUMEXPECTED (-MKTAG('N','U','E','X')) ///< Number syntax expected in filename
#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
/**
* Puts a description of the AVERROR code errnum in errbuf.
* 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
/**
* Put a description of the AVERROR code errnum in errbuf.
* In case of failure the global variable errno is set to indicate the
* error. Even in case of failure av_strerror() will print a generic
* error message indicating the errnum provided to errbuf.
*
* @param errnum error code to describe
* @param errbuf buffer to which description is written
* @param errbuf_size the size in bytes of errbuf
* @return 0 on success, a negative value if a description for errnum
* cannot be found
*/
int av_strerror(int errnum, char *errbuf, size_t errbuf_size);
/**
* @}
*/
#endif /* AVUTIL_ERROR_H */
+146
Ver Arquivo
@@ -0,0 +1,146 @@
/*
* Copyright (c) 2002 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
*/
/**
* @file
* simple arithmetic expression evaluator
*/
#ifndef AVUTIL_EVAL_H
#define AVUTIL_EVAL_H
#include "avutil.h"
typedef struct AVExpr AVExpr;
/**
* Parse and evaluate an expression.
* Note, this is significantly slower than av_expr_eval().
*
* @param res a pointer to a double where is put the result value of
* the expression, or NAN in case of error
* @param s expression as a zero terminated string, for example "1+2^3+5*5+sin(2/3)"
* @param const_names NULL terminated array of zero terminated strings of constant identifiers, for example {"PI", "E", 0}
* @param const_values a zero terminated array of values for the identifiers from const_names
* @param func1_names NULL terminated array of zero terminated strings of funcs1 identifiers
* @param funcs1 NULL terminated array of function pointers for functions which take 1 argument
* @param func2_names NULL terminated array of zero terminated strings of funcs2 identifiers
* @param funcs2 NULL terminated array of function pointers for functions which take 2 arguments
* @param opaque a pointer which will be passed to all functions from funcs1 and funcs2
* @param log_ctx parent logging context
* @return 0 in case of success, a negative value corresponding to an
* AVERROR code otherwise
*/
int av_expr_parse_and_eval(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);
/**
* Parse an expression.
*
* @param expr a pointer where is put an AVExpr containing the parsed
* value in case of successful parsing, or NULL otherwise.
* The pointed to AVExpr must be freed with av_expr_free() by the user
* when it is not needed anymore.
* @param s expression as a zero terminated string, for example "1+2^3+5*5+sin(2/3)"
* @param const_names NULL terminated array of zero terminated strings of constant identifiers, for example {"PI", "E", 0}
* @param func1_names NULL terminated array of zero terminated strings of funcs1 identifiers
* @param funcs1 NULL terminated array of function pointers for functions which take 1 argument
* @param func2_names NULL terminated array of zero terminated strings of funcs2 identifiers
* @param funcs2 NULL terminated array of function pointers for functions which take 2 arguments
* @param log_ctx parent logging context
* @return 0 in case of success, a negative value corresponding to an
* AVERROR code otherwise
*/
int av_expr_parse(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);
/**
* Evaluate a previously parsed expression.
*
* @param const_values a zero terminated array of values for the identifiers from av_expr_parse() const_names
* @param opaque a pointer which will be passed to all functions from funcs1 and funcs2
* @return the value of the expression
*/
double av_expr_eval(AVExpr *e, const double *const_values, void *opaque);
/**
* Free a parsed expression previously created with av_expr_parse().
*/
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
* an initial substring that has the expected syntax for a
* floating-point number, no conversion is performed. In this case,
* returns a value of zero and the value returned in tail is the value
* of numstr.
*
* @param numstr a string representing a number, may contain one of
* the International System number postfixes, for example 'K', 'M',
* 'G'. If 'i' is appended after the postfix, powers of 2 are used
* instead of powers of 10. The 'B' postfix multiplies the value for
* 8, and can be appended after another postfix or used alone. This
* allows using for example 'KB', 'MiB', 'G' and 'B' as postfix.
* @param tail if non-NULL puts here the pointer to the char next
* after the last parsed character
*/
double av_strtod(const char *numstr, char **tail);
#endif /* AVUTIL_EVAL_H */
+52 -25
Ver Arquivo
@@ -24,7 +24,8 @@
#ifndef AVUTIL_FIFO_H
#define AVUTIL_FIFO_H
#include <msc_stdint.h>
#include <stdint.h>
#include "avutil.h"
typedef struct AVFifoBuffer {
uint8_t *buffer;
@@ -33,56 +34,56 @@ typedef struct AVFifoBuffer {
} AVFifoBuffer;
/**
* Initializes an AVFifoBuffer.
* Initialize an AVFifoBuffer.
* @param size of FIFO
* @return AVFifoBuffer or NULL in case of memory allocation failure
*/
AVFifoBuffer *av_fifo_alloc(unsigned int size);
/**
* Frees an AVFifoBuffer.
* @param *f AVFifoBuffer to free
* Free an AVFifoBuffer.
* @param f AVFifoBuffer to free
*/
void av_fifo_free(AVFifoBuffer *f);
/**
* Resets the AVFifoBuffer to the state right after av_fifo_alloc, in particular it is emptied.
* @param *f AVFifoBuffer to reset
* Reset the AVFifoBuffer to the state right after av_fifo_alloc, in particular it is emptied.
* @param f AVFifoBuffer to reset
*/
void av_fifo_reset(AVFifoBuffer *f);
/**
* Returns the amount of data in bytes in the AVFifoBuffer, that is the
* Return the amount of data in bytes in the AVFifoBuffer, that is the
* amount of data you can read from it.
* @param *f AVFifoBuffer to read from
* @param f AVFifoBuffer to read from
* @return size
*/
int av_fifo_size(AVFifoBuffer *f);
/**
* Returns the amount of space in bytes in the AVFifoBuffer, that is the
* Return the amount of space in bytes in the AVFifoBuffer, that is the
* amount of data you can write into it.
* @param *f AVFifoBuffer to write into
* @param f AVFifoBuffer to write into
* @return size
*/
int av_fifo_space(AVFifoBuffer *f);
/**
* Feeds data from an AVFifoBuffer to a user-supplied callback.
* @param *f AVFifoBuffer to read from
* Feed data from an AVFifoBuffer to a user-supplied callback.
* @param f AVFifoBuffer to read from
* @param buf_size number of bytes to read
* @param *func generic read function
* @param *dest data destination
* @param func generic read function
* @param dest data destination
*/
int av_fifo_generic_read(AVFifoBuffer *f, void *dest, int buf_size, void (*func)(void*, void*, int));
/**
* Feeds data from a user-supplied callback to an AVFifoBuffer.
* @param *f AVFifoBuffer to write to
* @param *src data source; non-const since it may be used as a
* Feed data from a user-supplied callback to an AVFifoBuffer.
* @param f AVFifoBuffer to write to
* @param src data source; non-const since it may be used as a
* modifiable context by the function defined in func
* @param size number of bytes to write
* @param *func generic write function; the first parameter is src,
* @param func generic write function; the first parameter is src,
* the second is dest_buf, the third is dest_buf_size.
* func must return the number of bytes written to dest_buf, or <= 0 to
* indicate no more data available to write.
@@ -92,25 +93,51 @@ int av_fifo_generic_read(AVFifoBuffer *f, void *dest, int buf_size, void (*func)
int av_fifo_generic_write(AVFifoBuffer *f, void *src, int size, int (*func)(void*, void*, int));
/**
* Resizes an AVFifoBuffer.
* @param *f AVFifoBuffer to resize
* Resize an AVFifoBuffer.
* In case of reallocation failure, the old FIFO is kept unchanged.
*
* @param f AVFifoBuffer to resize
* @param size new AVFifoBuffer size in bytes
* @return <0 for failure, >=0 otherwise
*/
int av_fifo_realloc2(AVFifoBuffer *f, unsigned int size);
/**
* Reads and discards the specified amount of data from an AVFifoBuffer.
* @param *f AVFifoBuffer to read from
* Read and discard the specified amount of data from an AVFifoBuffer.
* @param f AVFifoBuffer to read from
* @param size amount of data to read in bytes
*/
void av_fifo_drain(AVFifoBuffer *f, int size);
static inline uint8_t av_fifo_peek(AVFifoBuffer *f, int offs)
/**
* Return a pointer to the data stored in a FIFO buffer at a certain offset.
* The FIFO buffer is not modified.
*
* @param f AVFifoBuffer to peek at, f must be non-NULL
* @param offs an offset in bytes, its absolute value must be less
* than the used buffer size or the returned pointer will
* point outside to the buffer data.
* The used buffer size can be checked with av_fifo_size().
*/
static inline uint8_t *av_fifo_peek2(const AVFifoBuffer *f, int offs)
{
uint8_t *ptr = f->rptr + offs;
if (ptr >= f->end)
ptr -= f->end - f->buffer;
return *ptr;
ptr = f->buffer + (ptr - f->end);
else if (ptr < f->buffer)
ptr = f->end - (f->buffer - ptr);
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 */
+61
Ver Arquivo
@@ -0,0 +1,61 @@
/*
* 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_FILE_H
#define AVUTIL_FILE_H
#include "avutil.h"
/**
* @file
* Misc file utilities.
*/
/**
* Read the file with name filename, and put its content in a newly
* allocated buffer or map it with mmap() when available.
* In case of success set *bufptr to the read or mmapped buffer, and
* *size to the size in bytes of the buffer in *bufptr.
* The returned buffer must be released with av_file_unmap().
*
* @param log_offset loglevel offset used for logging
* @param log_ctx context used for logging
* @return a non negative number in case of success, a negative value
* corresponding to an AVERROR error code in case of failure
*/
int av_file_map(const char *filename, uint8_t **bufptr, size_t *size,
int log_offset, void *log_ctx);
/**
* Unmap or free the buffer bufptr created by av_file_map().
*
* @param size size in bytes of bufptr, must be the same as returned
* by av_file_map()
*/
void av_file_unmap(uint8_t *bufptr, size_t size);
/**
* Wrapper to work around the lack of mkstemp() on mingw.
* Also, tries to create file in /tmp first, if possible.
* *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.
*/
int av_tempfile(const char *prefix, char **filename, int log_offset, void *log_ctx);
#endif /* AVUTIL_FILE_H */
+138
Ver Arquivo
@@ -0,0 +1,138 @@
/*
* 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_IMGUTILS_H
#define AVUTIL_IMGUTILS_H
/**
* @file
* misc image utilities
*
* @addtogroup lavu_picture
* @{
*/
#include "avutil.h"
#include "pixdesc.h"
/**
* Compute the max pixel step for each plane of an image with a
* format described by pixdesc.
*
* The pixel step is the distance in bytes between the first byte of
* the group of bytes which describe a pixel component and the first
* byte of the successive group in the same plane for the same
* component.
*
* @param max_pixsteps an array which is filled with the max pixel step
* for each plane. Since a plane may contain different pixel
* components, the computed max_pixsteps[plane] is relative to the
* component in the plane with the max pixel step.
* @param max_pixstep_comps an array which is filled with the component
* for each plane which has the max pixel step. May be NULL.
*/
void av_image_fill_max_pixsteps(int max_pixsteps[4], int max_pixstep_comps[4],
const AVPixFmtDescriptor *pixdesc);
/**
* Compute the size of an image line with format pix_fmt and width
* width for the plane plane.
*
* @return the computed size in bytes
*/
int av_image_get_linesize(enum PixelFormat pix_fmt, int width, int plane);
/**
* Fill plane linesizes for an image with pixel format pix_fmt and
* width width.
*
* @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);
/**
* Fill plane data pointers for an image with pixel format pix_fmt and
* height height.
*
* @param data pointers array to be filled with the pointer for each image plane
* @param ptr the pointer to a buffer which will contain the image
* @param linesizes the array containing the linesize for each
* plane, should be filled by av_image_fill_linesizes()
* @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,
uint8_t *ptr, const int linesizes[4]);
/**
* Allocate an image with size w and h and pixel format pix_fmt, and
* fill pointers and linesizes accordingly.
* The allocated image buffer has to be freed by using
* av_freep(&pointers[0]).
*
* @param align the value to use for buffer size alignment
* @return the size in bytes required for the image buffer, a negative
* 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);
/**
* Copy image plane from src to dst.
* That is, copy "height" number of lines of "bytewidth" bytes each.
* The first byte of each successive line is separated by *_linesize
* bytes.
*
* @param dst_linesize linesize for the image plane in dst
* @param src_linesize linesize for the image plane in src
*/
void av_image_copy_plane(uint8_t *dst, int dst_linesize,
const uint8_t *src, int src_linesize,
int bytewidth, int height);
/**
* Copy image in src_data to dst_data.
*
* @param dst_linesizes linesizes for the image in dst_data
* @param src_linesizes linesizes for the image in src_data
*/
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);
/**
* Check if the given dimension of an image is valid, meaning that all
* bytes of the image can be addressed with a signed int.
*
* @param w the width of the picture
* @param h the height of the picture
* @param log_offset the offset to sum to the log level for logging with log_ctx
* @param log_ctx the parent logging context, it may be NULL
* @return >= 0 if valid, a negative error code otherwise
*/
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);
/**
* @}
*/
#endif /* AVUTIL_IMGUTILS_H */
+73
Ver Arquivo
@@ -0,0 +1,73 @@
/*
* Copyright (c) 2011 Mans Rullgard
*
* 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
*/
#ifndef AVUTIL_INTFLOAT_H
#define AVUTIL_INTFLOAT_H
#include <stdint.h>
#include "attributes.h"
union av_intfloat32 {
uint32_t i;
float f;
};
union av_intfloat64 {
uint64_t i;
double f;
};
/**
* Reinterpret a 32-bit integer as a float.
*/
static av_always_inline float av_int2float(uint32_t i)
{
union av_intfloat32 v = { .i = i };
return v.f;
}
/**
* Reinterpret a float as a 32-bit integer.
*/
static av_always_inline uint32_t av_float2int(float f)
{
union av_intfloat32 v = { .f = f };
return v.i;
}
/**
* Reinterpret a 64-bit integer as a double.
*/
static av_always_inline double av_int2double(uint64_t i)
{
union av_intfloat64 v = { .i = i };
return v.f;
}
/**
* Reinterpret a double as a 64-bit integer.
*/
static av_always_inline uint64_t av_double2int(double f)
{
union av_intfloat64 v = { .f = f };
return v.i;
}
#endif /* AVUTIL_INTFLOAT_H */
+7 -7
Ver Arquivo
@@ -21,7 +21,7 @@
#ifndef AVUTIL_INTFLOAT_READWRITE_H
#define AVUTIL_INTFLOAT_READWRITE_H
#include <msc_stdint.h>
#include <stdint.h>
#include "attributes.h"
/* IEEE 80 bits extended float */
@@ -30,11 +30,11 @@ typedef struct AVExtFloat {
uint8_t mantissa[8];
} AVExtFloat;
double av_int2dbl(int64_t v) av_const;
float av_int2flt(int32_t v) av_const;
double av_ext2dbl(const AVExtFloat ext) av_const;
int64_t av_dbl2int(double d) av_const;
int32_t av_flt2int(float d) av_const;
AVExtFloat av_dbl2ext(double d) av_const;
attribute_deprecated double av_int2dbl(int64_t v) av_const;
attribute_deprecated float av_int2flt(int32_t v) av_const;
attribute_deprecated double av_ext2dbl(const AVExtFloat ext) av_const;
attribute_deprecated int64_t av_dbl2int(double d) av_const;
attribute_deprecated int32_t av_flt2int(float d) av_const;
attribute_deprecated AVExtFloat av_dbl2ext(double d) av_const;
#endif /* AVUTIL_INTFLOAT_READWRITE_H */
+522
Ver Arquivo
@@ -0,0 +1,522 @@
/*
* 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_INTREADWRITE_H
#define AVUTIL_INTREADWRITE_H
#include <stdint.h>
#include "libavutil/avconfig.h"
#include "attributes.h"
#include "bswap.h"
typedef union {
uint64_t u64;
uint32_t u32[2];
uint16_t u16[4];
uint8_t u8 [8];
double f64;
float f32[2];
} av_alias av_alias64;
typedef union {
uint32_t u32;
uint16_t u16[2];
uint8_t u8 [4];
float f32;
} av_alias av_alias32;
typedef union {
uint16_t u16;
uint8_t u8 [2];
} av_alias av_alias16;
/*
* Arch-specific headers can provide any combination of
* AV_[RW][BLN](16|24|32|64) and AV_(COPY|SWAP|ZERO)(64|128) macros.
* Preprocessor symbols must be defined, even if these are implemented
* as inline functions.
*/
#ifdef HAVE_AV_CONFIG_H
#include "config.h"
#if ARCH_ARM
# include "arm/intreadwrite.h"
#elif ARCH_AVR32
# include "avr32/intreadwrite.h"
#elif ARCH_MIPS
# include "mips/intreadwrite.h"
#elif ARCH_PPC
# include "ppc/intreadwrite.h"
#elif ARCH_TOMI
# include "tomi/intreadwrite.h"
#elif ARCH_X86
# include "x86/intreadwrite.h"
#endif
#endif /* HAVE_AV_CONFIG_H */
/*
* Map AV_RNXX <-> AV_R[BL]XX for all variants provided by per-arch headers.
*/
#if AV_HAVE_BIGENDIAN
# if defined(AV_RN16) && !defined(AV_RB16)
# define AV_RB16(p) AV_RN16(p)
# elif !defined(AV_RN16) && defined(AV_RB16)
# define AV_RN16(p) AV_RB16(p)
# endif
# if defined(AV_WN16) && !defined(AV_WB16)
# define AV_WB16(p, v) AV_WN16(p, v)
# elif !defined(AV_WN16) && defined(AV_WB16)
# define AV_WN16(p, v) AV_WB16(p, v)
# endif
# if defined(AV_RN24) && !defined(AV_RB24)
# define AV_RB24(p) AV_RN24(p)
# elif !defined(AV_RN24) && defined(AV_RB24)
# define AV_RN24(p) AV_RB24(p)
# endif
# if defined(AV_WN24) && !defined(AV_WB24)
# define AV_WB24(p, v) AV_WN24(p, v)
# elif !defined(AV_WN24) && defined(AV_WB24)
# define AV_WN24(p, v) AV_WB24(p, v)
# endif
# if defined(AV_RN32) && !defined(AV_RB32)
# define AV_RB32(p) AV_RN32(p)
# elif !defined(AV_RN32) && defined(AV_RB32)
# define AV_RN32(p) AV_RB32(p)
# endif
# if defined(AV_WN32) && !defined(AV_WB32)
# define AV_WB32(p, v) AV_WN32(p, v)
# elif !defined(AV_WN32) && defined(AV_WB32)
# define AV_WN32(p, v) AV_WB32(p, v)
# endif
# if defined(AV_RN64) && !defined(AV_RB64)
# define AV_RB64(p) AV_RN64(p)
# elif !defined(AV_RN64) && defined(AV_RB64)
# define AV_RN64(p) AV_RB64(p)
# endif
# if defined(AV_WN64) && !defined(AV_WB64)
# define AV_WB64(p, v) AV_WN64(p, v)
# elif !defined(AV_WN64) && defined(AV_WB64)
# define AV_WN64(p, v) AV_WB64(p, v)
# endif
#else /* AV_HAVE_BIGENDIAN */
# if defined(AV_RN16) && !defined(AV_RL16)
# define AV_RL16(p) AV_RN16(p)
# elif !defined(AV_RN16) && defined(AV_RL16)
# define AV_RN16(p) AV_RL16(p)
# endif
# if defined(AV_WN16) && !defined(AV_WL16)
# define AV_WL16(p, v) AV_WN16(p, v)
# elif !defined(AV_WN16) && defined(AV_WL16)
# define AV_WN16(p, v) AV_WL16(p, v)
# endif
# if defined(AV_RN24) && !defined(AV_RL24)
# define AV_RL24(p) AV_RN24(p)
# elif !defined(AV_RN24) && defined(AV_RL24)
# define AV_RN24(p) AV_RL24(p)
# endif
# if defined(AV_WN24) && !defined(AV_WL24)
# define AV_WL24(p, v) AV_WN24(p, v)
# elif !defined(AV_WN24) && defined(AV_WL24)
# define AV_WN24(p, v) AV_WL24(p, v)
# endif
# if defined(AV_RN32) && !defined(AV_RL32)
# define AV_RL32(p) AV_RN32(p)
# elif !defined(AV_RN32) && defined(AV_RL32)
# define AV_RN32(p) AV_RL32(p)
# endif
# if defined(AV_WN32) && !defined(AV_WL32)
# define AV_WL32(p, v) AV_WN32(p, v)
# elif !defined(AV_WN32) && defined(AV_WL32)
# define AV_WN32(p, v) AV_WL32(p, v)
# endif
# if defined(AV_RN64) && !defined(AV_RL64)
# define AV_RL64(p) AV_RN64(p)
# elif !defined(AV_RN64) && defined(AV_RL64)
# define AV_RN64(p) AV_RL64(p)
# endif
# if defined(AV_WN64) && !defined(AV_WL64)
# define AV_WL64(p, v) AV_WN64(p, v)
# elif !defined(AV_WN64) && defined(AV_WL64)
# define AV_WN64(p, v) AV_WL64(p, v)
# endif
#endif /* !AV_HAVE_BIGENDIAN */
/*
* Define AV_[RW]N helper macros to simplify definitions not provided
* by per-arch headers.
*/
#if defined(__GNUC__) && !defined(__TI_COMPILER_VERSION__)
union unaligned_64 { uint64_t l; } __attribute__((packed)) av_alias;
union unaligned_32 { uint32_t l; } __attribute__((packed)) av_alias;
union unaligned_16 { uint16_t l; } __attribute__((packed)) av_alias;
# define AV_RN(s, p) (((const union unaligned_##s *) (p))->l)
# define AV_WN(s, p, v) ((((union unaligned_##s *) (p))->l) = (v))
#elif defined(__DECC)
# define AV_RN(s, p) (*((const __unaligned uint##s##_t*)(p)))
# define AV_WN(s, p, v) (*((__unaligned uint##s##_t*)(p)) = (v))
#elif AV_HAVE_FAST_UNALIGNED
# define AV_RN(s, p) (((const av_alias##s*)(p))->u##s)
# define AV_WN(s, p, v) (((av_alias##s*)(p))->u##s = (v))
#else
#ifndef AV_RB16
# define AV_RB16(x) \
((((const uint8_t*)(x))[0] << 8) | \
((const uint8_t*)(x))[1])
#endif
#ifndef AV_WB16
# define AV_WB16(p, d) do { \
((uint8_t*)(p))[1] = (d); \
((uint8_t*)(p))[0] = (d)>>8; \
} while(0)
#endif
#ifndef AV_RL16
# define AV_RL16(x) \
((((const uint8_t*)(x))[1] << 8) | \
((const uint8_t*)(x))[0])
#endif
#ifndef AV_WL16
# define AV_WL16(p, d) do { \
((uint8_t*)(p))[0] = (d); \
((uint8_t*)(p))[1] = (d)>>8; \
} while(0)
#endif
#ifndef AV_RB32
# define AV_RB32(x) \
(((uint32_t)((const uint8_t*)(x))[0] << 24) | \
(((const uint8_t*)(x))[1] << 16) | \
(((const uint8_t*)(x))[2] << 8) | \
((const uint8_t*)(x))[3])
#endif
#ifndef AV_WB32
# define AV_WB32(p, d) do { \
((uint8_t*)(p))[3] = (d); \
((uint8_t*)(p))[2] = (d)>>8; \
((uint8_t*)(p))[1] = (d)>>16; \
((uint8_t*)(p))[0] = (d)>>24; \
} while(0)
#endif
#ifndef AV_RL32
# define AV_RL32(x) \
(((uint32_t)((const uint8_t*)(x))[3] << 24) | \
(((const uint8_t*)(x))[2] << 16) | \
(((const uint8_t*)(x))[1] << 8) | \
((const uint8_t*)(x))[0])
#endif
#ifndef AV_WL32
# define AV_WL32(p, d) do { \
((uint8_t*)(p))[0] = (d); \
((uint8_t*)(p))[1] = (d)>>8; \
((uint8_t*)(p))[2] = (d)>>16; \
((uint8_t*)(p))[3] = (d)>>24; \
} while(0)
#endif
#ifndef AV_RB64
# define AV_RB64(x) \
(((uint64_t)((const uint8_t*)(x))[0] << 56) | \
((uint64_t)((const uint8_t*)(x))[1] << 48) | \
((uint64_t)((const uint8_t*)(x))[2] << 40) | \
((uint64_t)((const uint8_t*)(x))[3] << 32) | \
((uint64_t)((const uint8_t*)(x))[4] << 24) | \
((uint64_t)((const uint8_t*)(x))[5] << 16) | \
((uint64_t)((const uint8_t*)(x))[6] << 8) | \
(uint64_t)((const uint8_t*)(x))[7])
#endif
#ifndef AV_WB64
# define AV_WB64(p, d) do { \
((uint8_t*)(p))[7] = (d); \
((uint8_t*)(p))[6] = (d)>>8; \
((uint8_t*)(p))[5] = (d)>>16; \
((uint8_t*)(p))[4] = (d)>>24; \
((uint8_t*)(p))[3] = (d)>>32; \
((uint8_t*)(p))[2] = (d)>>40; \
((uint8_t*)(p))[1] = (d)>>48; \
((uint8_t*)(p))[0] = (d)>>56; \
} while(0)
#endif
#ifndef AV_RL64
# define AV_RL64(x) \
(((uint64_t)((const uint8_t*)(x))[7] << 56) | \
((uint64_t)((const uint8_t*)(x))[6] << 48) | \
((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_WL64
# define AV_WL64(p, d) do { \
((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; \
((uint8_t*)(p))[6] = (d)>>48; \
((uint8_t*)(p))[7] = (d)>>56; \
} while(0)
#endif
#if AV_HAVE_BIGENDIAN
# define AV_RN(s, p) AV_RB##s(p)
# define AV_WN(s, p, v) AV_WB##s(p, v)
#else
# define AV_RN(s, p) AV_RL##s(p)
# define AV_WN(s, p, v) AV_WL##s(p, v)
#endif
#endif /* HAVE_FAST_UNALIGNED */
#ifndef AV_RN16
# define AV_RN16(p) AV_RN(16, p)
#endif
#ifndef AV_RN32
# define AV_RN32(p) AV_RN(32, p)
#endif
#ifndef AV_RN64
# define AV_RN64(p) AV_RN(64, p)
#endif
#ifndef AV_WN16
# define AV_WN16(p, v) AV_WN(16, p, v)
#endif
#ifndef AV_WN32
# define AV_WN32(p, v) AV_WN(32, p, v)
#endif
#ifndef AV_WN64
# define AV_WN64(p, v) AV_WN(64, p, v)
#endif
#if AV_HAVE_BIGENDIAN
# define AV_RB(s, p) AV_RN##s(p)
# define AV_WB(s, p, v) AV_WN##s(p, v)
# define AV_RL(s, p) av_bswap##s(AV_RN##s(p))
# define AV_WL(s, p, v) AV_WN##s(p, av_bswap##s(v))
#else
# define AV_RB(s, p) av_bswap##s(AV_RN##s(p))
# define AV_WB(s, p, v) AV_WN##s(p, av_bswap##s(v))
# define AV_RL(s, p) AV_RN##s(p)
# define AV_WL(s, p, v) AV_WN##s(p, v)
#endif
#define AV_RB8(x) (((const uint8_t*)(x))[0])
#define AV_WB8(p, d) do { ((uint8_t*)(p))[0] = (d); } while(0)
#define AV_RL8(x) AV_RB8(x)
#define AV_WL8(p, d) AV_WB8(p, d)
#ifndef AV_RB16
# define AV_RB16(p) AV_RB(16, p)
#endif
#ifndef AV_WB16
# define AV_WB16(p, v) AV_WB(16, p, v)
#endif
#ifndef AV_RL16
# define AV_RL16(p) AV_RL(16, p)
#endif
#ifndef AV_WL16
# define AV_WL16(p, v) AV_WL(16, p, v)
#endif
#ifndef AV_RB32
# define AV_RB32(p) AV_RB(32, p)
#endif
#ifndef AV_WB32
# define AV_WB32(p, v) AV_WB(32, p, v)
#endif
#ifndef AV_RL32
# define AV_RL32(p) AV_RL(32, p)
#endif
#ifndef AV_WL32
# define AV_WL32(p, v) AV_WL(32, p, v)
#endif
#ifndef AV_RB64
# define AV_RB64(p) AV_RB(64, p)
#endif
#ifndef AV_WB64
# define AV_WB64(p, v) AV_WB(64, p, v)
#endif
#ifndef AV_RL64
# define AV_RL64(p) AV_RL(64, p)
#endif
#ifndef AV_WL64
# define AV_WL64(p, v) AV_WL(64, p, v)
#endif
#ifndef AV_RB24
# define AV_RB24(x) \
((((const uint8_t*)(x))[0] << 16) | \
(((const uint8_t*)(x))[1] << 8) | \
((const uint8_t*)(x))[2])
#endif
#ifndef AV_WB24
# define AV_WB24(p, d) do { \
((uint8_t*)(p))[2] = (d); \
((uint8_t*)(p))[1] = (d)>>8; \
((uint8_t*)(p))[0] = (d)>>16; \
} while(0)
#endif
#ifndef AV_RL24
# define AV_RL24(x) \
((((const uint8_t*)(x))[2] << 16) | \
(((const uint8_t*)(x))[1] << 8) | \
((const uint8_t*)(x))[0])
#endif
#ifndef AV_WL24
# define AV_WL24(p, d) do { \
((uint8_t*)(p))[0] = (d); \
((uint8_t*)(p))[1] = (d)>>8; \
((uint8_t*)(p))[2] = (d)>>16; \
} while(0)
#endif
/*
* The AV_[RW]NA macros access naturally aligned data
* in a type-safe way.
*/
#define AV_RNA(s, p) (((const av_alias##s*)(p))->u##s)
#define AV_WNA(s, p, v) (((av_alias##s*)(p))->u##s = (v))
#ifndef AV_RN16A
# define AV_RN16A(p) AV_RNA(16, p)
#endif
#ifndef AV_RN32A
# define AV_RN32A(p) AV_RNA(32, p)
#endif
#ifndef AV_RN64A
# define AV_RN64A(p) AV_RNA(64, p)
#endif
#ifndef AV_WN16A
# define AV_WN16A(p, v) AV_WNA(16, p, v)
#endif
#ifndef AV_WN32A
# define AV_WN32A(p, v) AV_WNA(32, p, v)
#endif
#ifndef AV_WN64A
# define AV_WN64A(p, v) AV_WNA(64, p, v)
#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
* afterwards.
*/
#define AV_COPY(n, d, s) \
(((av_alias##n*)(d))->u##n = ((const av_alias##n*)(s))->u##n)
#ifndef AV_COPY16
# define AV_COPY16(d, s) AV_COPY(16, d, s)
#endif
#ifndef AV_COPY32
# define AV_COPY32(d, s) AV_COPY(32, d, s)
#endif
#ifndef AV_COPY64
# define AV_COPY64(d, s) AV_COPY(64, d, s)
#endif
#ifndef AV_COPY128
# define AV_COPY128(d, s) \
do { \
AV_COPY64(d, s); \
AV_COPY64((char*)(d)+8, (char*)(s)+8); \
} while(0)
#endif
#define AV_SWAP(n, a, b) FFSWAP(av_alias##n, *(av_alias##n*)(a), *(av_alias##n*)(b))
#ifndef AV_SWAP64
# define AV_SWAP64(a, b) AV_SWAP(64, a, b)
#endif
#define AV_ZERO(n, d) (((av_alias##n*)(d))->u##n = 0)
#ifndef AV_ZERO16
# define AV_ZERO16(d) AV_ZERO(16, d)
#endif
#ifndef AV_ZERO32
# define AV_ZERO32(d) AV_ZERO(32, d)
#endif
#ifndef AV_ZERO64
# define AV_ZERO64(d) AV_ZERO(64, d)
#endif
#ifndef AV_ZERO128
# define AV_ZERO128(d) \
do { \
AV_ZERO64(d); \
AV_ZERO64((char*)(d)+8); \
} while(0)
#endif
#endif /* AVUTIL_INTREADWRITE_H */
+62
Ver Arquivo
@@ -0,0 +1,62 @@
/*
* Lagged Fibonacci PRNG
* Copyright (c) 2008 Michael Niedermayer
*
* 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_LFG_H
#define AVUTIL_LFG_H
typedef struct {
unsigned int state[64];
int index;
} AVLFG;
void av_lfg_init(AVLFG *c, unsigned int seed);
/**
* Get the next random unsigned 32-bit number using an ALFG.
*
* Please also consider a simple LCG like state= state*1664525+1013904223,
* it may be good enough and faster for your specific use case.
*/
static inline unsigned int av_lfg_get(AVLFG *c){
c->state[c->index & 63] = c->state[(c->index-24) & 63] + c->state[(c->index-55) & 63];
return c->state[c->index++ & 63];
}
/**
* Get the next random unsigned 32-bit number using a MLFG.
*
* Please also consider av_lfg_get() above, it is faster.
*/
static inline unsigned int av_mlfg_get(AVLFG *c){
unsigned int a= c->state[(c->index-55) & 63];
unsigned int b= c->state[(c->index-24) & 63];
return c->state[c->index++ & 63] = 2*a*b+a+b;
}
/**
* Get the next two numbers generated by a Box-Muller Gaussian
* generator using the random numbers issued by lfg.
*
* @param out array where the two generated numbers are placed
*/
void av_bmg_get(AVLFG *lfg, double out[2]);
#endif /* AVUTIL_LFG_H */
+68 -9
Ver Arquivo
@@ -23,13 +23,14 @@
#include <stdarg.h>
#include "avutil.h"
#include "attributes.h"
/**
* Describes the class of an AVClass context structure. That is an
* Describe the class of an AVClass context structure. That is an
* arbitrary struct of which the first field is a pointer to an
* AVClass struct (e.g. AVCodecContext, AVFormatContext etc.).
*/
typedef struct {
typedef struct AVClass {
/**
* The name of the class; usually it is the same name as the
* context structure type to which the AVClass is associated.
@@ -56,6 +57,35 @@ typedef struct {
*/
int version;
/**
* Offset in the structure where log_level_offset is stored.
* 0 means there is no such variable
*/
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
*/
int parent_log_context_offset;
/**
* Return next AVOptions-enabled child or NULL
*/
void* (*child_next)(void *obj, void *prev);
/**
* Return an AVClass corresponding to next potential
* AVOptions-enabled child.
*
* The difference between child_next and this is that
* child_next iterates over _already existing_ objects, while
* child_class_next iterates over _all possible_ children.
*/
const struct AVClass* (*child_class_next)(const struct AVClass *prev);
} AVClass;
/* av_log API */
@@ -95,7 +125,7 @@ typedef struct {
#define AV_LOG_DEBUG 48
/**
* Sends the specified message to the log if the level is less than or equal
* 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
* stderr. This behavior can be altered by setting a different av_vlog callback
* function.
@@ -108,16 +138,45 @@ typedef struct {
* subsequent arguments are converted to output.
* @see av_vlog
*/
#ifdef __GNUC__
void av_log(void*, int level, const char *fmt, ...) __attribute__ ((__format__ (__printf__, 3, 4)));
#else
void av_log(void*, int level, const char *fmt, ...);
#endif
void av_log(void *avcl, int level, const char *fmt, ...) av_printf_format(3, 4);
void av_vlog(void*, int level, const char *fmt, va_list);
void av_vlog(void *avcl, int level, const char *fmt, va_list);
int av_log_get_level(void);
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);
/**
* Format a line of log the same way as the default callback.
* @param line buffer to receive the formated line
* @param line_size size of the buffer
* @param print_prefix used to store whether the prefix must be printed;
* must point to a persistent integer initially set to 1
*/
void av_log_format_line(void *ptr, int level, const char *fmt, va_list vl,
char *line, int line_size, int *print_prefix);
/**
* av_dlog macros
* Useful to print debug messages that shouldn't get compiled in normally.
*/
#ifdef DEBUG
# define av_dlog(pctx, ...) av_log(pctx, AV_LOG_DEBUG, __VA_ARGS__)
#else
# define av_dlog(pctx, ...) do { if (0) av_log(pctx, AV_LOG_DEBUG, __VA_ARGS__); } while (0)
#endif
/**
* Skip repeated messages, this requires the user app to use av_log() instead of
* (f)printf as the 2 would otherwise interfere and lead to
* "Last message repeated x times" messages below (f)printf messages with some
* bad luck.
* Also to receive the last, "last repeated" line if any, the user app must
* call av_log(NULL, AV_LOG_QUIET, "%s", ""); at the end
*/
#define AV_LOG_SKIP_REPEATED 1
void av_log_set_flags(int arg);
#endif /* AVUTIL_LOG_H */
+29 -18
Ver Arquivo
@@ -22,30 +22,37 @@
#ifndef AVUTIL_LZO_H
#define AVUTIL_LZO_H
#include <msc_stdint.h>
/**
* @defgroup lavu_lzo LZO
* @ingroup lavu_crypto
*
* @{
*/
/** \defgroup errflags Error flags returned by av_lzo1x_decode
* \{ */
//! end of the input buffer reached before decoding finished
#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
//! decoded data did not fit into output buffer
/// decoded data did not fit into output buffer
#define AV_LZO_OUTPUT_FULL 2
//! a reference to previously decoded data was wrong
/// a reference to previously decoded data was wrong
#define AV_LZO_INVALID_BACKPTR 4
//! a non-specific error in the compressed bitstream
/// a non-specific error in the compressed bitstream
#define AV_LZO_ERROR 8
/** \} */
/** @} */
#define AV_LZO_INPUT_PADDING 8
#define AV_LZO_OUTPUT_PADDING 12
/**
* \brief Decodes LZO 1x compressed data.
* \param out output buffer
* \param outlen size of output buffer, number of bytes left are returned here
* \param in input buffer
* \param inlen size of input buffer, number of bytes left are returned here
* \return 0 on success, otherwise a combination of the error flags above
* @brief Decodes LZO 1x compressed data.
* @param out output buffer
* @param outlen size of output buffer, number of bytes left are returned here
* @param in input buffer
* @param inlen size of input buffer, number of bytes left are returned here
* @return 0 on success, otherwise a combination of the error flags above
*
* Make sure all buffers are appropriately padded, in must provide
* AV_LZO_INPUT_PADDING, out must provide AV_LZO_OUTPUT_PADDING additional bytes.
@@ -53,14 +60,18 @@
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)
* \param cnt number of bytes to copy, must be >= 0
* @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);
/**
* @}
*/
#endif /* AVUTIL_LZO_H */
+30 -6
Ver Arquivo
@@ -21,7 +21,7 @@
#ifndef AVUTIL_MATHEMATICS_H
#define AVUTIL_MATHEMATICS_H
#include <msc_stdint.h>
#include <stdint.h>
#include <math.h>
#include "attributes.h"
#include "rational.h"
@@ -38,6 +38,9 @@
#ifndef M_LOG2_10
#define M_LOG2_10 3.32192809488736234787 /* log_2 10 */
#endif
#ifndef M_PHI
#define M_PHI 1.61803398874989484820 /* phi / golden ratio */
#endif
#ifndef M_PI
#define M_PI 3.14159265358979323846 /* pi */
#endif
@@ -54,6 +57,12 @@
#define INFINITY (1.0/0.0)
#endif
/**
* @addtogroup lavu_math
* @{
*/
enum AVRounding {
AV_ROUND_ZERO = 0, ///< Round toward zero.
AV_ROUND_INF = 1, ///< Round away from zero.
@@ -63,36 +72,51 @@ enum AVRounding {
};
/**
* Returns the greatest common divisor of a and b.
* Return the greatest common divisor of a and b.
* If both a and b are 0 or either or both are <0 then behavior is
* undefined.
*/
int64_t av_const av_gcd(int64_t a, int64_t b);
/**
* Rescales a 64-bit integer with rounding to nearest.
* Rescale a 64-bit integer with rounding to nearest.
* A simple a*b/c isn't possible as it can overflow.
*/
int64_t av_rescale(int64_t a, int64_t b, int64_t c) av_const;
/**
* Rescales a 64-bit integer with specified rounding.
* Rescale a 64-bit integer with specified rounding.
* A simple a*b/c isn't possible as it can overflow.
*/
int64_t av_rescale_rnd(int64_t a, int64_t b, int64_t c, enum AVRounding) av_const;
/**
* Rescales a 64-bit integer by 2 rational numbers.
* Rescale a 64-bit integer by 2 rational numbers.
*/
int64_t av_rescale_q(int64_t a, AVRational bq, AVRational cq) av_const;
/**
* Compares 2 timestamps each in its own timebases.
* Compare 2 timestamps each in its own timebases.
* The result of the function is undefined if one of the timestamps
* is outside the int64_t range when represented in the others timebase.
* @return -1 if ts_a is before ts_b, 1 if ts_a is after ts_b or 0 if they represent the same position
*/
int av_compare_ts(int64_t ts_a, AVRational tb_a, int64_t ts_b, AVRational tb_b);
/**
* Compare 2 integers modulo mod.
* That is we compare integers a and b for which only the least
* significant log2(mod) bits are known.
*
* @param mod must be a power of 2
* @return a negative value if a is smaller than b
* a positive value if a is greater than b
* 0 if a equals b
*/
int64_t av_compare_mod(uint64_t a, uint64_t b, uint64_t mod);
/**
* @}
*/
#endif /* AVUTIL_MATHEMATICS_H */
+11 -1
Ver Arquivo
@@ -21,7 +21,13 @@
#ifndef AVUTIL_MD5_H
#define AVUTIL_MD5_H
#include <msc_stdint.h>
#include <stdint.h>
/**
* @defgroup lavu_md5 MD5
* @ingroup lavu_crypto
* @{
*/
extern const int av_md5_size;
@@ -32,5 +38,9 @@ void av_md5_update(struct AVMD5 *ctx, const uint8_t *src, const int len);
void av_md5_final(struct AVMD5 *ctx, uint8_t *dst);
void av_md5_sum(uint8_t *dst, const uint8_t *src, const int len);
/**
* @}
*/
#endif /* AVUTIL_MD5_H */
+80 -17
Ver Arquivo
@@ -27,8 +27,16 @@
#define AVUTIL_MEM_H
#include "attributes.h"
#include "error.h"
#include "avutil.h"
#if defined(__ICC) || defined(__SUNPRO_C)
/**
* @addtogroup lavu_mem
* @{
*/
#if defined(__INTEL_COMPILER) && __INTEL_COMPILER < 1110 || defined(__SUNPRO_C)
#define DECLARE_ALIGNED(n,t,v) t __attribute__ ((aligned (n))) v
#define DECLARE_ASM_CONST(n,t,v) const t __attribute__ ((aligned (n))) v
#elif defined(__TI_COMPILER_VERSION__)
@@ -40,7 +48,7 @@
static const t __attribute__((aligned(n))) v
#elif defined(__GNUC__)
#define DECLARE_ALIGNED(n,t,v) t __attribute__ ((aligned (n))) v
#define DECLARE_ASM_CONST(n,t,v) static const t attribute_used __attribute__ ((aligned (n))) v
#define DECLARE_ASM_CONST(n,t,v) static const t av_used __attribute__ ((aligned (n))) v
#elif defined(_MSC_VER)
#define DECLARE_ALIGNED(n,t,v) __declspec(align(n)) t v
#define DECLARE_ASM_CONST(n,t,v) __declspec(align(n)) static const t v
@@ -55,38 +63,48 @@
#define av_malloc_attrib
#endif
#if (!defined(__ICC) || __ICC > 1110) && AV_GCC_VERSION_AT_LEAST(4,3)
#if AV_GCC_VERSION_AT_LEAST(4,3)
#define av_alloc_size(n) __attribute__((alloc_size(n)))
#else
#define av_alloc_size(n)
#endif
/**
* Allocates a block of size bytes with alignment suitable for all
* Allocate a block of size bytes with alignment suitable for all
* memory accesses (including vectors if available on the CPU).
* @param size Size in bytes for the memory block to be allocated.
* @return Pointer to the allocated block, NULL if the block cannot
* be allocated.
* @see av_mallocz()
*/
void *av_malloc(unsigned int size) av_malloc_attrib av_alloc_size(1);
void *av_malloc(size_t size) av_malloc_attrib av_alloc_size(1);
/**
* Allocates or reallocates a block of memory.
* If ptr is NULL and size > 0, allocates a new block. If
* size is zero, frees the memory block pointed to by ptr.
* @param size Size in bytes for the memory block to be allocated or
* reallocated.
* Allocate or reallocate a block of memory.
* If ptr is NULL and size > 0, allocate a new block. If
* size 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 size Size in bytes for the memory block to be allocated or
* reallocated.
* @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.
* @see av_fast_realloc()
*/
void *av_realloc(void *ptr, unsigned int size) av_alloc_size(2);
void *av_realloc(void *ptr, size_t size) av_alloc_size(2);
/**
* Frees a memory block which has been allocated with av_malloc(z)() or
* Allocate or reallocate a block of memory.
* This function does the same thing as av_realloc, except:
* - It takes two arguments and checks the result of the multiplication for
* integer overflow.
* - It frees the input block in case of failure, thus avoiding the memory
* leak with the classic "buf = realloc(buf); if (!buf) return -1;".
*/
void *av_realloc_f(void *ptr, size_t nelem, size_t elsize);
/**
* Free a memory block which has been allocated with av_malloc(z)() or
* av_realloc().
* @param ptr Pointer to the memory block which should be freed.
* @note ptr = NULL is explicitly allowed.
@@ -96,17 +114,29 @@ void *av_realloc(void *ptr, unsigned int size) av_alloc_size(2);
void av_free(void *ptr);
/**
* Allocates a block of size bytes with alignment suitable for all
* Allocate a block of size bytes with alignment suitable for all
* memory accesses (including vectors if available on the CPU) and
* zeroes all the bytes of the block.
* zero all the bytes of the block.
* @param size Size in bytes for the memory block to be allocated.
* @return Pointer to the allocated block, NULL if it cannot be allocated.
* @see av_malloc()
*/
void *av_mallocz(unsigned int size) av_malloc_attrib av_alloc_size(1);
void *av_mallocz(size_t size) av_malloc_attrib av_alloc_size(1);
/**
* Duplicates the string s.
* Allocate a block of nmemb * size bytes with alignment suitable for all
* memory accesses (including vectors if available on the CPU) and
* zero all the bytes of the block.
* The allocation will fail if nmemb * size is greater than or equal
* to INT_MAX.
* @param nmemb
* @param size
* @return Pointer to the allocated block, NULL if it cannot be allocated.
*/
void *av_calloc(size_t nmemb, size_t size) av_malloc_attrib;
/**
* Duplicate the string s.
* @param s string to be duplicated
* @return Pointer to a newly allocated string containing a
* copy of s or NULL if the string cannot be allocated.
@@ -114,7 +144,7 @@ void *av_mallocz(unsigned int size) av_malloc_attrib av_alloc_size(1);
char *av_strdup(const char *s) av_malloc_attrib;
/**
* Frees a memory block which has been allocated with av_malloc(z)() or
* Free a memory block which has been allocated with av_malloc(z)() or
* av_realloc() and set the pointer pointing to it to NULL.
* @param ptr Pointer to the pointer to the memory block which should
* be freed.
@@ -122,4 +152,37 @@ char *av_strdup(const char *s) av_malloc_attrib;
*/
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.
*/
void av_dynarray_add(void *tab_ptr, int *nb_ptr, void *elem);
/**
* Multiply two size_t values checking for overflow.
* @return 0 if success, AVERROR(EINVAL) if overflow.
*/
static inline int av_size_mult(size_t a, size_t b, size_t *r)
{
size_t t = a * b;
/* Hack inspired from glibc: only try the division if nelem and elsize
* are both greater than sqrt(SIZE_MAX). */
if ((a | b) >= ((size_t)1 << (sizeof(size_t) * 4)) && a && t / a != b)
return AVERROR(EINVAL);
*r = t;
return 0;
}
/**
* Set the maximum size that may me allocated in one block.
*/
void av_max_alloc(size_t max);
/**
* @}
*/
#endif /* AVUTIL_MEM_H */
+603
Ver Arquivo
@@ -0,0 +1,603 @@
/*
* AVOptions
* copyright (c) 2005 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_OPT_H
#define AVUTIL_OPT_H
/**
* @file
* AVOptions
*/
#include "rational.h"
#include "avutil.h"
#include "dict.h"
#include "log.h"
/**
* @defgroup avoptions AVOptions
* @ingroup lavu_data
* @{
* AVOptions provide a generic system to declare options on arbitrary structs
* ("objects"). An option can have a help text, a type and a range of possible
* values. Options may then be enumerated, read and written to.
*
* @section avoptions_implement Implementing AVOptions
* 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 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
* also declare an offset in bytes from the start of the struct, where the field
* associated with this AVOption is located. Other fields in the AVOption struct
* should also be set when applicable, but are not required.
*
* The following example illustrates an AVOptions-enabled struct:
* @code
* typedef struct test_struct {
* AVClass *class;
* int int_opt;
* char *str_opt;
* uint8_t *bin_opt;
* int bin_len;
* } test_struct;
*
* 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 },
* { "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),
* AV_OPT_TYPE_BINARY },
* { NULL },
* };
*
* static const AVClass test_class = {
* .class_name = "test class",
* .item_name = av_default_item_name,
* .option = options,
* .version = LIBAVUTIL_VERSION_INT,
* };
* @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
* initialize defaults. After that the struct is ready to be used with the
* AVOptions API.
*
* When cleaning up, you may use the av_opt_free() function to automatically
* free all the allocated string and binary options.
*
* Continuing with the above example:
*
* @code
* test_struct *alloc_test_struct(void)
* {
* test_struct *ret = av_malloc(sizeof(*ret));
* ret->class = &test_class;
* av_opt_set_defaults(ret);
* return ret;
* }
* void free_test_struct(test_struct **foo)
* {
* av_opt_free(*foo);
* av_freep(foo);
* }
* @endcode
*
* @subsection avoptions_implement_nesting Nesting
* It may happen that an AVOptions-enabled struct contains another
* AVOptions-enabled struct as a member (e.g. AVCodecContext in
* libavcodec exports generic options, while its priv_data field exports
* codec-specific options). In such a case, it is possible to set up the
* parent struct to export a child's options. To do that, simply
* implement AVClass.child_next() and AVClass.child_class_next() in the
* parent struct's AVClass.
* Assuming that the test_struct from above now also contains a
* child_struct field:
*
* @code
* typedef struct child_struct {
* AVClass *class;
* int flags_opt;
* } 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 },
* { NULL },
* };
* static const AVClass child_class = {
* .class_name = "child class",
* .item_name = av_default_item_name,
* .option = child_opts,
* .version = LIBAVUTIL_VERSION_INT,
* };
*
* void *child_next(void *obj, void *prev)
* {
* test_struct *t = obj;
* if (!prev && t->child_struct)
* return t->child_struct;
* return NULL
* }
* const AVClass child_class_next(const AVClass *prev)
* {
* return prev ? NULL : &child_class;
* }
* @endcode
* Putting child_next() and child_class_next() as defined above into
* test_class will now make child_struct's options accessible through
* test_struct (again, proper setup as described above needs to be done on
* child_struct right after it is created).
*
* From the above example it might not be clear why both child_next()
* and child_class_next() are needed. The distinction is that child_next()
* iterates over actually existing objects, while child_class_next()
* iterates over all possible child classes. E.g. if an AVCodecContext
* was initialized to use a codec which has private options, then its
* child_next() will return AVCodecContext.priv_data and finish
* iterating. OTOH child_class_next() on AVCodecContext.av_class will
* iterate over all available codecs with private options.
*
* @subsection avoptions_implement_named_constants Named constants
* It is possible to create named constants for options. Simply set the unit
* field of the option the constants should apply to to a string and
* create the constants themselves as options of type AV_OPT_TYPE_CONST
* with their unit field set to the same string.
* Their default_val field should contain the value of the named
* constant.
* For example, to add some named constants for the test_flags option
* 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" },
* @endcode
*
* @section avoptions_use Using AVOptions
* This section deals with accessing options in an AVOptions-enabled struct.
* Such structs in FFmpeg are e.g. AVCodecContext in libavcodec or
* AVFormatContext in libavformat.
*
* @subsection avoptions_use_examine Examining AVOptions
* The basic functions for examining options are av_opt_next(), which iterates
* over all options defined for one object, and av_opt_find(), which searches
* for an option with the given name.
*
* The situation is more complicated with nesting. An AVOptions-enabled struct
* may have AVOptions-enabled children. Passing the AV_OPT_SEARCH_CHILDREN flag
* to av_opt_find() will make the function search children recursively.
*
* For enumerating there are basically two cases. The first is when you want to
* get all options that may potentially exist on the struct and its children
* (e.g. when constructing documentation). In that case you should call
* av_opt_child_class_next() recursively on the parent struct's AVClass. The
* second case is when you have an already initialized struct with all its
* children and you want to get all options that can be actually written or read
* from it. In that case you should call av_opt_child_next() recursively (and
* av_opt_next() on each result).
*
* @subsection avoptions_use_get_set Reading and writing AVOptions
* When setting options, you often have a string read directly from the
* user. In such a case, simply passing it to av_opt_set() is enough. For
* non-string type options, av_opt_set() will parse the string according to the
* option type.
*
* Similarly av_opt_get() will read any option type and convert it to a string
* which will be returned. Do not forget that the string is allocated, so you
* have to free it with av_free().
*
* In some cases it may be more convenient to put all options into an
* AVDictionary and call av_opt_set_dict() on it. A specific case of this
* are the format/codec open functions in lavf/lavc which take a dictionary
* filled with option as a parameter. This allows to set some options
* that cannot be set otherwise, since e.g. the input file format is not known
* before the file is actually opened.
*/
enum AVOptionType{
AV_OPT_TYPE_FLAGS,
AV_OPT_TYPE_INT,
AV_OPT_TYPE_INT64,
AV_OPT_TYPE_DOUBLE,
AV_OPT_TYPE_FLOAT,
AV_OPT_TYPE_STRING,
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,
#if FF_API_OLD_AVOPTIONS
FF_OPT_TYPE_FLAGS = 0,
FF_OPT_TYPE_INT,
FF_OPT_TYPE_INT64,
FF_OPT_TYPE_DOUBLE,
FF_OPT_TYPE_FLOAT,
FF_OPT_TYPE_STRING,
FF_OPT_TYPE_RATIONAL,
FF_OPT_TYPE_BINARY, ///< offset must point to a pointer immediately followed by an int for the length
FF_OPT_TYPE_CONST=128,
#endif
};
/**
* AVOption
*/
typedef struct AVOption {
const char *name;
/**
* short English help text
* @todo What about other languages?
*/
const char *help;
/**
* The offset relative to the context structure where the option
* value is stored. It should be 0 for named constants.
*/
int offset;
enum AVOptionType type;
/**
* the default value for scalar options
*/
union {
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
double max; ///< maximum valid value for the option
int flags;
#define AV_OPT_FLAG_ENCODING_PARAM 1 ///< a generic parameter which can be set by the user for muxing or encoding
#define AV_OPT_FLAG_DECODING_PARAM 2 ///< a generic parameter which can be set by the user for demuxing or decoding
#define AV_OPT_FLAG_METADATA 4 ///< some data extracted or inserted into the file like title, comment, ...
#define AV_OPT_FLAG_AUDIO_PARAM 8
#define AV_OPT_FLAG_VIDEO_PARAM 16
#define AV_OPT_FLAG_SUBTITLE_PARAM 32
//FIXME think about enc-audio, ... style flags
/**
* The logical unit to which the option belongs. Non-constant
* options and corresponding named constants share the same
* unit. May be NULL.
*/
const char *unit;
} AVOption;
#if FF_API_FIND_OPT
/**
* Look for an option in obj. Look only for the options which
* have the flags set as specified in mask and flags (that is,
* for which it is the case that opt->flags & mask == flags).
*
* @param[in] obj a pointer to a struct whose first element is a
* pointer to an AVClass
* @param[in] name the name of the option to look for
* @param[in] unit the unit of the option to look for, or any if NULL
* @return a pointer to the option found, or NULL if no option
* has been found
*
* @deprecated use av_opt_find.
*/
attribute_deprecated
const AVOption *av_find_opt(void *obj, const char *name, const char *unit, int mask, int flags);
#endif
#if FF_API_OLD_AVOPTIONS
/**
* Set the field of obj with the given name to value.
*
* @param[in] obj A struct whose first element is a pointer to an
* AVClass.
* @param[in] name the name of the field to set
* @param[in] val The value to set. If the field is not of a string
* type, then the given string is parsed.
* SI postfixes and some named scalars are supported.
* If the field is of a numeric type, it has to be a numeric or named
* scalar. Behavior with more than one scalar and +- infix operators
* is undefined.
* If the field is of a flags type, it has to be a sequence of numeric
* scalars or named flags separated by '+' or '-'. Prefixing a flag
* with '+' causes it to be set without affecting the other flags;
* similarly, '-' unsets a flag.
* @param[out] o_out if non-NULL put here a pointer to the AVOption
* found
* @param alloc this parameter is currently ignored
* @return 0 if the value has been set, or an AVERROR code in case of
* error:
* AVERROR_OPTION_NOT_FOUND if no matching option exists
* AVERROR(ERANGE) if the value is out of range
* AVERROR(EINVAL) if the value is not valid
* @deprecated use av_opt_set()
*/
attribute_deprecated
int av_set_string3(void *obj, const char *name, const char *val, int alloc, const AVOption **o_out);
attribute_deprecated const AVOption *av_set_double(void *obj, const char *name, double n);
attribute_deprecated const AVOption *av_set_q(void *obj, const char *name, AVRational n);
attribute_deprecated const AVOption *av_set_int(void *obj, const char *name, int64_t n);
double av_get_double(void *obj, const char *name, const AVOption **o_out);
AVRational av_get_q(void *obj, const char *name, const AVOption **o_out);
int64_t av_get_int(void *obj, const char *name, const AVOption **o_out);
attribute_deprecated const char *av_get_string(void *obj, const char *name, const AVOption **o_out, char *buf, int buf_len);
attribute_deprecated const AVOption *av_next_option(void *obj, const AVOption *last);
#endif
/**
* Show the obj options.
*
* @param req_flags requested flags for the options to show. Show only the
* options for which it is opt->flags & req_flags.
* @param rej_flags rejected flags for the options to show. Show only the
* options for which it is !(opt->flags & req_flags).
* @param av_log_obj log context to use for showing the options
*/
int av_opt_show2(void *obj, void *av_log_obj, int req_flags, int rej_flags);
/**
* Set the values of all AVOption fields to their default values.
*
* @param s an AVOption-enabled struct (its first member must be a pointer to AVClass)
*/
void av_opt_set_defaults(void *s);
#if FF_API_OLD_AVOPTIONS
attribute_deprecated
void av_opt_set_defaults2(void *s, int mask, int flags);
#endif
/**
* Parse the key/value pairs list in opts. For each key/value pair
* found, stores the value in the field in ctx that is named like the
* key. ctx must be an AVClass context, storing is done using
* AVOptions.
*
* @param opts options string to parse, may be NULL
* @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
* @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
*/
int av_set_options_string(void *ctx, const char *opts,
const char *key_val_sep, const char *pairs_sep);
/**
* Free all string and binary options in obj.
*/
void av_opt_free(void *obj);
/**
* Check whether a particular flag is set in a flags field.
*
* @param field_name the name of the flag field option
* @param flag_name the name of the flag to check
* @return non-zero if the flag is set, zero if the flag isn't set,
* isn't of the right type, or the flags field doesn't exist.
*/
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
* @param options options to process. This dictionary will be freed and replaced
* by a new one containing all options not found in obj.
* Of course this new dictionary needs to be freed by caller
* with av_dict_free().
*
* @return 0 on success, a negative AVERROR if some option was found in obj,
* but could not be set.
*
* @see av_dict_copy()
*/
int av_opt_set_dict(void *obj, struct AVDictionary **options);
/**
* @defgroup opt_eval_funcs Evaluating option strings
* @{
* This group of functions can be used to evaluate option strings
* and get numbers out of them. They do the same thing as av_opt_set(),
* except the result is written into the caller-supplied pointer.
*
* @param obj a struct whose first element is a pointer to AVClass.
* @param o an option for which the string is to be evaluated.
* @param val string to be evaluated.
* @param *_out value of the string will be written here.
*
* @return 0 on success, a negative number on failure.
*/
int av_opt_eval_flags (void *obj, const AVOption *o, const char *val, int *flags_out);
int av_opt_eval_int (void *obj, const AVOption *o, const char *val, int *int_out);
int av_opt_eval_int64 (void *obj, const AVOption *o, const char *val, int64_t *int64_out);
int av_opt_eval_float (void *obj, const AVOption *o, const char *val, float *float_out);
int av_opt_eval_double(void *obj, const AVOption *o, const char *val, double *double_out);
int av_opt_eval_q (void *obj, const AVOption *o, const char *val, AVRational *q_out);
/**
* @}
*/
#define AV_OPT_SEARCH_CHILDREN 0x0001 /**< Search in possible children of the
given object first. */
/**
* The obj passed to av_opt_find() is fake -- only a double pointer to AVClass
* instead of a required pointer to a struct containing AVClass. This is
* useful for searching for options without needing to allocate the corresponding
* object.
*/
#define AV_OPT_SEARCH_FAKE_OBJ 0x0002
/**
* Look for an option in an object. Consider only options which
* have all the specified flags set.
*
* @param[in] obj A pointer to a struct whose first element is a
* pointer to an AVClass.
* Alternatively a double pointer to an AVClass, if
* AV_OPT_SEARCH_FAKE_OBJ search flag is set.
* @param[in] name The name of the option to look for.
* @param[in] unit When searching for named constants, name of the unit
* it belongs to.
* @param opt_flags Find only options with all the specified flags set (AV_OPT_FLAG).
* @param search_flags A combination of AV_OPT_SEARCH_*.
*
* @return A pointer to the option found, or NULL if no option
* was found.
*
* @note Options found with AV_OPT_SEARCH_CHILDREN flag may not be settable
* directly with av_set_string3(). Use special calls which take an options
* AVDictionary (e.g. avformat_open_input()) to set options found with this
* flag.
*/
const AVOption *av_opt_find(void *obj, const char *name, const char *unit,
int opt_flags, int search_flags);
/**
* Look for an option in an object. Consider only options which
* have all the specified flags set.
*
* @param[in] obj A pointer to a struct whose first element is a
* pointer to an AVClass.
* Alternatively a double pointer to an AVClass, if
* AV_OPT_SEARCH_FAKE_OBJ search flag is set.
* @param[in] name The name of the option to look for.
* @param[in] unit When searching for named constants, name of the unit
* it belongs to.
* @param opt_flags Find only options with all the specified flags set (AV_OPT_FLAG).
* @param search_flags A combination of AV_OPT_SEARCH_*.
* @param[out] target_obj if non-NULL, an object to which the option belongs will be
* written here. It may be different from obj if AV_OPT_SEARCH_CHILDREN is present
* in search_flags. This parameter is ignored if search_flags contain
* AV_OPT_SEARCH_FAKE_OBJ.
*
* @return A pointer to the option found, or NULL if no option
* was found.
*/
const AVOption *av_opt_find2(void *obj, const char *name, const char *unit,
int opt_flags, int search_flags, void **target_obj);
/**
* Iterate over all AVOptions belonging to obj.
*
* @param obj an AVOptions-enabled struct or a double pointer to an
* AVClass describing it.
* @param prev result of the previous call to av_opt_next() on this object
* or NULL
* @return next AVOption or NULL
*/
const AVOption *av_opt_next(void *obj, const AVOption *prev);
/**
* Iterate over AVOptions-enabled children of obj.
*
* @param prev result of a previous call to this function or NULL
* @return next AVOptions-enabled child or NULL
*/
void *av_opt_child_next(void *obj, void *prev);
/**
* Iterate over potential AVOptions-enabled children of parent.
*
* @param prev result of a previous call to this function or NULL
* @return AVClass corresponding to next potential child or NULL
*/
const AVClass *av_opt_child_class_next(const AVClass *parent, const AVClass *prev);
/**
* @defgroup opt_set_funcs Option setting functions
* @{
* Those functions set the field of obj with the given name to value.
*
* @param[in] obj A struct whose first element is a pointer to an AVClass.
* @param[in] name the name of the field to set
* @param[in] val The value to set. In case of av_opt_set() if the field is not
* of a string type, then the given string is parsed.
* SI postfixes and some named scalars are supported.
* If the field is of a numeric type, it has to be a numeric or named
* scalar. Behavior with more than one scalar and +- infix operators
* is undefined.
* If the field is of a flags type, it has to be a sequence of numeric
* scalars or named flags separated by '+' or '-'. Prefixing a flag
* with '+' causes it to be set without affecting the other flags;
* similarly, '-' unsets a flag.
* @param search_flags flags passed to av_opt_find2. I.e. if AV_OPT_SEARCH_CHILDREN
* is passed here, then the option may be set on a child of obj.
*
* @return 0 if the value has been set, or an AVERROR code in case of
* error:
* AVERROR_OPTION_NOT_FOUND if no matching option exists
* AVERROR(ERANGE) if the value is out of range
* AVERROR(EINVAL) if the value is not valid
*/
int av_opt_set (void *obj, const char *name, const char *val, int search_flags);
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);
/**
* @}
*/
/**
* @defgroup opt_get_funcs Option getting functions
* @{
* Those functions get a value of the option with the given name from an object.
*
* @param[in] obj a struct whose first element is a pointer to an AVClass.
* @param[in] name name of the option to get.
* @param[in] search_flags flags passed to av_opt_find2. I.e. if AV_OPT_SEARCH_CHILDREN
* is passed here, then the option may be found in a child of obj.
* @param[out] out_val value of the option will be written here
* @return 0 on success, a negative error code otherwise
*/
/**
* @note the returned string will av_malloc()ed and must be av_free()ed by the caller
*/
int av_opt_get (void *obj, const char *name, int search_flags, uint8_t **out_val);
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);
/**
* @}
*/
/**
* Gets a pointer to the requested field in a struct.
* This function allows accessing a struct even when its fields are moved or
* renamed since the application making the access has been compiled,
*
* @returns a pointer to the field, it can be cast to the correct type and read
* or written to.
*/
void *av_opt_ptr(const AVClass *avclass, void *obj, const char *name);
/**
* @}
*/
#endif /* AVUTIL_OPT_H */
+124
Ver Arquivo
@@ -0,0 +1,124 @@
/*
* 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_PARSEUTILS_H
#define AVUTIL_PARSEUTILS_H
#include <time.h>
#include "rational.h"
/**
* @file
* misc parsing utilities
*/
/**
* Parse str and put in width_ptr and height_ptr the detected values.
*
* @param[in,out] width_ptr pointer to the variable which will contain the detected
* width value
* @param[in,out] height_ptr pointer to the variable which will contain the detected
* height value
* @param[in] str the string to parse: it has to be a string in the format
* width x height or a valid video size abbreviation.
* @return >= 0 on success, a negative error code otherwise
*/
int av_parse_video_size(int *width_ptr, int *height_ptr, const char *str);
/**
* Parse str and store the detected values in *rate.
*
* @param[in,out] rate pointer to the AVRational which will contain the detected
* frame rate
* @param[in] str the string to parse: it has to be a string in the format
* rate_num / rate_den, a float number or a valid video rate abbreviation
* @return >= 0 on success, a negative error code otherwise
*/
int av_parse_video_rate(AVRational *rate, const char *str);
/**
* Put the RGBA values that correspond to color_string in rgba_color.
*
* @param color_string a string specifying a color. It can be the name of
* a color (case insensitive match) or a [0x|#]RRGGBB[AA] sequence,
* possibly followed by "@" and a string representing the alpha
* component.
* The alpha component may be a string composed by "0x" followed by an
* hexadecimal number or a decimal number between 0.0 and 1.0, which
* represents the opacity value (0x00/0.0 means completely transparent,
* 0xff/1.0 completely opaque).
* If the alpha component is not specified then 0xff is assumed.
* The string "random" will result in a random color.
* @param slen length of the initial part of color_string containing the
* color. It can be set to -1 if color_string is a null terminated string
* containing nothing else than the color.
* @return >= 0 in case of success, a negative value in case of
* failure (for example if color_string cannot be parsed).
*/
int av_parse_color(uint8_t *rgba_color, const char *color_string, int slen,
void *log_ctx);
/**
* Parse timestr and return in *time a corresponding number of
* microseconds.
*
* @param timeval puts here the number of microseconds corresponding
* to the string in timestr. If the string represents a duration, it
* is the number of microseconds contained in the time interval. If
* the string is a date, is the number of microseconds since 1st of
* January, 1970 up to the time of the parsed date. If timestr cannot
* be successfully parsed, set *time to INT64_MIN.
* @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]
* now
* @endcode
* If the value is "now" it takes the current time.
* Time is local time unless Z is appended, in which case it is
* interpreted as UTC.
* If the year-month-day part is not specified it takes the current
* year-month-day.
* - If a duration the syntax is:
* @code
* [-]HH[:MM[:SS[.m...]]]
* [-]S+[.m...]
* @endcode
* @param duration flag which tells how to interpret timestr, if not
* zero timestr is interpreted as a duration, otherwise as a date
* @return 0 in case of success, a negative value corresponding to an
* AVERROR code otherwise
*/
int av_parse_time(int64_t *timeval, const char *timestr, int duration);
/**
* Attempt to find a specific tag in a URL.
*
* syntax: '?tag1=val1&tag2=val2...'. Little URL decoding is done.
* Return 1 if found.
*/
int av_find_info_tag(char *arg, int arg_size, const char *tag1, const char *info);
/**
* Convert the decomposed UTC time in tm to a time_t value.
*/
time_t av_timegm(struct tm *tm);
#endif /* AVUTIL_PARSEUTILS_H */
+33 -10
Ver Arquivo
@@ -23,6 +23,7 @@
#define AVUTIL_PIXDESC_H
#include <inttypes.h>
#include "pixfmt.h"
typedef struct AVComponentDescriptor{
uint16_t plane :2; ///< which of the 4 planes contains the component
@@ -86,6 +87,8 @@ typedef struct AVPixFmtDescriptor{
#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)
/**
* The array of all the pixel format descriptors.
@@ -93,11 +96,11 @@ typedef struct AVPixFmtDescriptor{
extern const AVPixFmtDescriptor av_pix_fmt_descriptors[];
/**
* Reads a line from an image, and writes the values of the
* Read a line from an image, and write the values of the
* pixel format component c to dst.
*
* @param data the array containing the pointers to the planes of the image
* @param linesizes the array containing the linesizes of the image
* @param linesize the array containing the linesizes of the image
* @param desc the pixel format descriptor for the image
* @param x the horizontal coordinate of the first pixel to read
* @param y the vertical coordinate of the first pixel to read
@@ -108,28 +111,28 @@ extern const AVPixFmtDescriptor av_pix_fmt_descriptors[];
* component c in data[1] to dst, rather than the palette indexes in
* data[0]. The behavior is undefined if the format is not paletted.
*/
void read_line(uint16_t *dst, const uint8_t *data[4], const int linesize[4],
const AVPixFmtDescriptor *desc, int x, int y, int c, int w, int read_pal_component);
void av_read_image_line(uint16_t *dst, const uint8_t *data[4], const int linesize[4],
const AVPixFmtDescriptor *desc, int x, int y, int c, int w, int read_pal_component);
/**
* Writes the values from src to the pixel format component c of an
* Write the values from src to the pixel format component c of an
* image line.
*
* @param src array containing the values to write
* @param data the array containing the pointers to the planes of the
* image to write into. It is supposed to be zeroed.
* @param linesizes the array containing the linesizes of the image
* @param linesize the array containing the linesizes of the image
* @param desc the pixel format descriptor for the image
* @param x the horizontal coordinate of the first pixel to write
* @param y the vertical coordinate of the first pixel to write
* @param w the width of the line to write, that is the number of
* values to write to the image line
*/
void write_line(const uint16_t *src, uint8_t *data[4], const int linesize[4],
const AVPixFmtDescriptor *desc, int x, int y, int c, int w);
void av_write_image_line(const uint16_t *src, uint8_t *data[4], const int linesize[4],
const AVPixFmtDescriptor *desc, int x, int y, int c, int w);
/**
* Returns the pixel format corresponding to name.
* Return the pixel format corresponding to name.
*
* If there is no pixel format with name name, then looks for a
* pixel format with the name corresponding to the native endian
@@ -142,7 +145,27 @@ void write_line(const uint16_t *src, uint8_t *data[4], const int linesize[4],
enum PixelFormat av_get_pix_fmt(const char *name);
/**
* Returns the number of bits per pixel used by the pixel format
* Return the short name for a pixel format, NULL in case pix_fmt is
* unknown.
*
* @see av_get_pix_fmt(), av_get_pix_fmt_string()
*/
const char *av_get_pix_fmt_name(enum PixelFormat pix_fmt);
/**
* Print in buf the string corresponding to the pixel format with
* number pix_fmt, or an header if pix_fmt is negative.
*
* @param buf the buffer where to write the string
* @param buf_size the size of buf
* @param pix_fmt the number of the pixel format to print the
* 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);
/**
* Return the number of bits per pixel used by the pixel format
* described by pixdesc.
*
* The returned number of bits refers to the number of bits actually
+77 -13
Ver Arquivo
@@ -25,21 +25,21 @@
* @file
* pixel format definitions
*
* @warning This file has to be considered an internal but installed
* header, so it should not be directly included in your projects.
*/
#include "libavutil/avconfig.h"
/**
* Pixel format. Notes:
* Pixel format.
*
* @note
* PIX_FMT_RGB32 is handled in an endian-specific manner. An RGBA
* color is put together as:
* (A << 24) | (R << 16) | (G << 8) | B
* This is stored as BGRA on little-endian CPU architectures and ARGB on
* big-endian CPUs.
*
* @par
* When the pixel format is palettized RGB (PIX_FMT_PAL8), the palettized
* image data is stored in AVFrame.data[0]. The palette is transported in
* AVFrame.data[1], is 1024 bytes long (256 4-byte entries) and is
@@ -49,13 +49,15 @@
* This is important as many custom PAL8 video codecs that were designed
* to run on the IBM VGA graphics adapter use 6-bit palette components.
*
* @par
* For all the 8bit per pixel formats, an RGB32 palette is in data[1] like
* for pal8. This palette is filled in automatically by the function
* 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.
* @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.
*/
enum PixelFormat {
PIX_FMT_NONE= -1,
@@ -71,9 +73,9 @@ enum PixelFormat {
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)
PIX_FMT_YUVJ422P, ///< planar YUV 4:2:2, 16bpp, full scale (JPEG)
PIX_FMT_YUVJ444P, ///< planar YUV 4:4:4, 24bpp, full scale (JPEG)
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
@@ -95,7 +97,7 @@ enum PixelFormat {
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)
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
@@ -128,14 +130,61 @@ enum PixelFormat {
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_RGB444BE, ///< packed RGB 4:4:4, 16bpp, (msb)4A 4R 4G 4B(lsb), big-endian, most significant bits to 0
PIX_FMT_RGB444LE, ///< packed RGB 4:4:4, 16bpp, (msb)4A 4R 4G 4B(lsb), little-endian, most significant bits to 0
PIX_FMT_BGR444BE, ///< packed BGR 4:4:4, 16bpp, (msb)4A 4B 4G 4R(lsb), big-endian, most significant bits to 1
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_Y400A, ///< 8bit gray, 8bit alpha
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 seperately
//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_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
@@ -146,18 +195,33 @@ enum PixelFormat {
#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 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)
#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)
#endif /* AVUTIL_PIXFMT_H */
+43
Ver Arquivo
@@ -0,0 +1,43 @@
/*
* Copyright (c) 2009 Baptiste Coudurier <baptiste.coudurier@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_RANDOM_SEED_H
#define AVUTIL_RANDOM_SEED_H
#include <stdint.h>
/**
* @addtogroup lavu_crypto
* @{
*/
/**
* Get a seed to use in conjunction with random functions.
* This function tries to provide a good seed at a best effort bases.
* Its possible to call this function multiple times if more bits are needed.
* It can be quite slow, which is why it should only be used as seed for a faster
* PRNG. The quality of the seed depends on the platform.
*/
uint32_t av_get_random_seed(void);
/**
* @}
*/
#endif /* AVUTIL_RANDOM_SEED_H */
+28 -13
Ver Arquivo
@@ -28,9 +28,15 @@
#ifndef AVUTIL_RATIONAL_H
#define AVUTIL_RATIONAL_H
#include <msc_stdint.h>
#include <stdint.h>
#include <limits.h>
#include "attributes.h"
/**
* @addtogroup lavu_math
* @{
*/
/**
* rational number numerator/denominator
*/
@@ -40,20 +46,23 @@ typedef struct AVRational{
} AVRational;
/**
* Compares two rationals.
* Compare two rationals.
* @param a first rational
* @param b second rational
* @return 0 if a==b, 1 if a>b and -1 if a<b
* @return 0 if a==b, 1 if a>b, -1 if a<b, and INT_MIN if one of the
* values is of the form 0/0
*/
static inline int av_cmp_q(AVRational a, AVRational b){
const int64_t tmp= a.num * (int64_t)b.den - b.num * (int64_t)a.den;
if(tmp) return (tmp>>63)|1;
else return 0;
if(tmp) return ((tmp ^ a.den ^ b.den)>>63)|1;
else if(b.den && a.den) return 0;
else if(a.num && b.num) return (a.num>>31) - (b.num>>31);
else return INT_MIN;
}
/**
* Converts rational to double.
* Convert rational to double.
* @param a rational to convert
* @return (double) a
*/
@@ -62,7 +71,7 @@ static inline double av_q2d(AVRational a){
}
/**
* Reduces a fraction.
* Reduce a fraction.
* This is useful for framerate calculations.
* @param dst_num destination numerator
* @param dst_den destination denominator
@@ -74,7 +83,7 @@ static inline double av_q2d(AVRational a){
int av_reduce(int *dst_num, int *dst_den, int64_t num, int64_t den, int64_t max);
/**
* Multiplies two rationals.
* Multiply two rationals.
* @param b first rational
* @param c second rational
* @return b*c
@@ -82,7 +91,7 @@ int av_reduce(int *dst_num, int *dst_den, int64_t num, int64_t den, int64_t max)
AVRational av_mul_q(AVRational b, AVRational c) av_const;
/**
* Divides one rational by another.
* Divide one rational by another.
* @param b first rational
* @param c second rational
* @return b/c
@@ -90,7 +99,7 @@ AVRational av_mul_q(AVRational b, AVRational c) av_const;
AVRational av_div_q(AVRational b, AVRational c) av_const;
/**
* Adds two rationals.
* Add two rationals.
* @param b first rational
* @param c second rational
* @return b+c
@@ -98,7 +107,7 @@ AVRational av_div_q(AVRational b, AVRational c) av_const;
AVRational av_add_q(AVRational b, AVRational c) av_const;
/**
* Subtracts one rational from another.
* Subtract one rational from another.
* @param b first rational
* @param c second rational
* @return b-c
@@ -106,7 +115,9 @@ AVRational av_add_q(AVRational b, AVRational c) av_const;
AVRational av_sub_q(AVRational b, AVRational c) av_const;
/**
* Converts a double precision floating point number to a rational.
* Convert a double precision floating point number to a rational.
* inf is expressed as {1,0} or {-1,0} depending on the sign.
*
* @param d double to convert
* @param max the maximum allowed numerator and denominator
* @return (AVRational) d
@@ -120,10 +131,14 @@ AVRational av_d2q(double d, int max) av_const;
int av_nearer_q(AVRational q, AVRational q1, AVRational q2);
/**
* Finds the nearest value in q_list to q.
* Find the nearest value in q_list to q.
* @param q_list an array of rationals terminated by {0, 0}
* @return the index of the nearest value found in the array
*/
int av_find_nearest_q_idx(AVRational q, const AVRational* q_list);
/**
* @}
*/
#endif /* AVUTIL_RATIONAL_H */
+156
Ver Arquivo
@@ -0,0 +1,156 @@
/*
* 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_SAMPLEFMT_H
#define AVUTIL_SAMPLEFMT_H
#include "avutil.h"
/**
* all in native-endian format
*/
enum AVSampleFormat {
AV_SAMPLE_FMT_NONE = -1,
AV_SAMPLE_FMT_U8, ///< unsigned 8 bits
AV_SAMPLE_FMT_S16, ///< signed 16 bits
AV_SAMPLE_FMT_S32, ///< signed 32 bits
AV_SAMPLE_FMT_FLT, ///< float
AV_SAMPLE_FMT_DBL, ///< double
AV_SAMPLE_FMT_U8P, ///< unsigned 8 bits, planar
AV_SAMPLE_FMT_S16P, ///< signed 16 bits, planar
AV_SAMPLE_FMT_S32P, ///< signed 32 bits, planar
AV_SAMPLE_FMT_FLTP, ///< float, planar
AV_SAMPLE_FMT_DBLP, ///< double, planar
AV_SAMPLE_FMT_NB ///< Number of sample formats. DO NOT USE if linking dynamically
};
/**
* Return the name of sample_fmt, or NULL if sample_fmt is not
* recognized.
*/
const char *av_get_sample_fmt_name(enum AVSampleFormat sample_fmt);
/**
* Return a sample format corresponding to name, or AV_SAMPLE_FMT_NONE
* on error.
*/
enum AVSampleFormat av_get_sample_fmt(const char *name);
/**
* Return the planar<->packed alternative form of the given sample format, or
* AV_SAMPLE_FMT_NONE on error. If the passed sample_fmt is already in the
* requested planar/packed format, the format returned is the same as the
* input.
*/
enum AVSampleFormat av_get_alt_sample_fmt(enum AVSampleFormat sample_fmt, int planar);
/**
* Generate a string corresponding to the sample format with
* sample_fmt, or a header if sample_fmt is negative.
*
* @param buf the buffer where to write the string
* @param buf_size the size of buf
* @param sample_fmt the number of the sample format to print the
* corresponding info string, or a negative value to print the
* corresponding header.
* @return the pointer to the filled buffer or NULL if sample_fmt is
* unknown or in case of other errors
*/
char *av_get_sample_fmt_string(char *buf, int buf_size, enum AVSampleFormat sample_fmt);
#if FF_API_GET_BITS_PER_SAMPLE_FMT
/**
* @deprecated Use av_get_bytes_per_sample() instead.
*/
attribute_deprecated
int av_get_bits_per_sample_fmt(enum AVSampleFormat sample_fmt);
#endif
/**
* Return number of bytes per sample.
*
* @param sample_fmt the sample format
* @return number of bytes per sample or zero if unknown for the given
* sample format
*/
int av_get_bytes_per_sample(enum AVSampleFormat sample_fmt);
/**
* Check if the sample format is planar.
*
* @param sample_fmt the sample format to inspect
* @return 1 if the sample format is planar, 0 if it is interleaved
*/
int av_sample_fmt_is_planar(enum AVSampleFormat sample_fmt);
/**
* Get the required buffer size for the given audio parameters.
*
* @param[out] linesize calculated linesize, may be NULL
* @param nb_channels the number of channels
* @param nb_samples the number of samples in a single channel
* @param sample_fmt the sample format
* @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
* format sample_fmt.
*
* The pointers array is filled with the pointers to the samples data:
* 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.
*
* @param[out] audio_data array to be filled with the pointer for each channel
* @param[out] linesize calculated linesize
* @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
*/
int av_samples_fill_arrays(uint8_t **audio_data, int *linesize, uint8_t *buf,
int nb_channels, int nb_samples,
enum AVSampleFormat sample_fmt, int align);
/**
* 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])
*
* @param[out] audio_data array to be filled with the pointer for each channel
* @param[out] linesize aligned size for audio buffer(s)
* @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
* @see av_samples_fill_arrays()
*/
int av_samples_alloc(uint8_t **audio_data, int *linesize, int nb_channels,
int nb_samples, enum AVSampleFormat sample_fmt, int align);
#endif /* AVUTIL_SAMPLEFMT_H */
+66
Ver Arquivo
@@ -0,0 +1,66 @@
/*
* Copyright (C) 2007 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_SHA_H
#define AVUTIL_SHA_H
#include <stdint.h>
/**
* @defgroup lavu_sha SHA
* @ingroup lavu_crypto
* @{
*/
extern const int av_sha_size;
struct AVSHA;
/**
* Initialize SHA-1 or SHA-2 hashing.
*
* @param context pointer to the function context (of size av_sha_size)
* @param bits number of bits in digest (SHA-1 - 160 bits, SHA-2 224 or 256 bits)
* @return zero if initialization succeeded, -1 otherwise
*/
int av_sha_init(struct AVSHA* 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_sha_update(struct AVSHA* 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_sha_final(struct AVSHA* context, uint8_t *digest);
/**
* @}
*/
#endif /* AVUTIL_SHA_H */
+81 -48
Ver Arquivo
@@ -1,5 +1,5 @@
/*
* Copyright (C) 2001-2003 Michael Niedermayer <michaelni@gmx.at>
* Copyright (C) 2001-2011 Michael Niedermayer <michaelni@gmx.at>
*
* This file is part of FFmpeg.
*
@@ -28,10 +28,12 @@
*/
#include "libavutil/avutil.h"
#include "libavutil/log.h"
#include "libavutil/pixfmt.h"
#define LIBSWSCALE_VERSION_MAJOR 0
#define LIBSWSCALE_VERSION_MINOR 11
#define LIBSWSCALE_VERSION_MICRO 0
#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, \
@@ -44,17 +46,31 @@
#define LIBSWSCALE_IDENT "SwS" AV_STRINGIFY(LIBSWSCALE_VERSION)
/**
* Returns the LIBSWSCALE_VERSION_INT constant.
* 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
/**
* Return the LIBSWSCALE_VERSION_INT constant.
*/
unsigned swscale_version(void);
/**
* Returns the libswscale build-time configuration.
* Return the libswscale build-time configuration.
*/
const char *swscale_configuration(void);
/**
* Returns the libswscale license.
* Return the libswscale license.
*/
const char *swscale_license(void);
@@ -87,11 +103,18 @@ const char *swscale_license(void);
#define SWS_ACCURATE_RND 0x40000
#define SWS_BITEXACT 0x80000
#if FF_API_SWS_CPU_CAPS
/**
* CPU caps are autodetected now, those flags
* are only provided for API compatibility.
*/
#define SWS_CPU_CAPS_MMX 0x80000000
#define SWS_CPU_CAPS_MMX2 0x20000000
#define SWS_CPU_CAPS_3DNOW 0x40000000
#define SWS_CPU_CAPS_ALTIVEC 0x10000000
#define SWS_CPU_CAPS_BFIN 0x01000000
#define SWS_CPU_CAPS_SSE2 0x02000000
#endif
#define SWS_MAX_REDUCE_CUTOFF 0.002
@@ -104,7 +127,7 @@ const char *swscale_license(void);
#define SWS_CS_DEFAULT 5
/**
* Returns a pointer to yuv<->rgb coefficients for the given colorspace
* Return a pointer to yuv<->rgb coefficients for the given colorspace
* suitable for sws_setColorspaceDetails().
*
* @param colorspace One of the SWS_CS_* macros. If invalid,
@@ -112,7 +135,6 @@ const char *swscale_license(void);
*/
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 {
@@ -131,25 +153,41 @@ typedef struct {
struct SwsContext;
/**
* Returns a positive value if pix_fmt is a supported input format, 0
* Return a positive value if pix_fmt is a supported input format, 0
* otherwise.
*/
int sws_isSupportedInput(enum PixelFormat pix_fmt);
/**
* Returns a positive value if pix_fmt is a supported output format, 0
* Return a positive value if pix_fmt is a supported output format, 0
* otherwise.
*/
int sws_isSupportedOutput(enum PixelFormat pix_fmt);
/**
* Frees the swscaler context swsContext.
* Allocate an empty SwsContext. This must be filled and passed to
* sws_init_context(). For filling see AVOptions, options.c and
* sws_setColorspaceDetails().
*/
struct SwsContext *sws_alloc_context(void);
/**
* Initialize the swscaler context sws_context.
*
* @return zero or positive value on success, a negative value on
* error
*/
int sws_init_context(struct SwsContext *sws_context, SwsFilter *srcFilter, SwsFilter *dstFilter);
/**
* Free the swscaler context swsContext.
* If swsContext is NULL, then does nothing.
*/
void sws_freeContext(struct SwsContext *swsContext);
#if FF_API_SWS_GETCONTEXT
/**
* Allocates and returns a SwsContext. You need it to perform
* Allocate and return an SwsContext. You need it to perform
* scaling/conversion operations using sws_scale().
*
* @param srcW the width of the source image
@@ -160,14 +198,18 @@ void sws_freeContext(struct SwsContext *swsContext);
* @param dstFormat the destination image format
* @param flags specify which algorithm and options to use for rescaling
* @return a pointer to an allocated context, or NULL in case of error
* @note this function is to be removed after a saner alternative is
* written
* @deprecated Use sws_getCachedContext() instead.
*/
struct SwsContext *sws_getContext(int srcW, int srcH, enum PixelFormat srcFormat,
int dstW, int dstH, enum PixelFormat dstFormat,
int flags, SwsFilter *srcFilter,
SwsFilter *dstFilter, const double *param);
#endif
/**
* Scales the image slice in srcSlice and puts the resulting scaled
* Scale the image slice in srcSlice and put the resulting scaled
* slice in the image in dst. A slice is a sequence of consecutive
* rows in an image.
*
@@ -175,7 +217,7 @@ struct SwsContext *sws_getContext(int srcW, int srcH, enum PixelFormat srcFormat
* top-bottom or bottom-top order. If slices are provided in
* non-sequential order the behavior of the function is undefined.
*
* @param context the scaling context previously created with
* @param c the scaling context previously created with
* sws_getContext()
* @param srcSlice the array containing the pointers to the planes of
* the source slice
@@ -192,20 +234,12 @@ struct SwsContext *sws_getContext(int srcW, int srcH, enum PixelFormat srcFormat
* the destination image
* @return the height of the output slice
*/
int sws_scale(struct SwsContext *context, const uint8_t* const srcSlice[], const int srcStride[],
int srcSliceY, int srcSliceH, uint8_t* const dst[], const int dstStride[]);
#if LIBSWSCALE_VERSION_MAJOR < 1
/**
* @deprecated Use sws_scale() instead.
*/
int sws_scale_ordered(struct SwsContext *context, const uint8_t* const src[],
int srcStride[], int srcSliceY, int srcSliceH,
uint8_t* dst[], int dstStride[]) attribute_deprecated;
#endif
int sws_scale(struct SwsContext *c, const uint8_t *const srcSlice[],
const int srcStride[], int srcSliceY, int srcSliceH,
uint8_t *const dst[], const int dstStride[]);
/**
* @param inv_table the yuv2rgb coefficients, normally ff_yuv2rgb_coeffs[x]
* @param fullRange if 1 then the luma range is 0..255 if 0 it is 16..235
* @return -1 if not supported
*/
int sws_setColorspaceDetails(struct SwsContext *c, const int inv_table[4],
@@ -220,35 +254,35 @@ int sws_getColorspaceDetails(struct SwsContext *c, int **inv_table,
int *brightness, int *contrast, int *saturation);
/**
* Allocates and returns an uninitialized vector with length coefficients.
* Allocate and return an uninitialized vector with length coefficients.
*/
SwsVector *sws_allocVec(int length);
/**
* Returns a normalized Gaussian curve used to filter stuff
* quality=3 is high quality, lower is lower quality.
* Return a normalized Gaussian curve used to filter stuff
* quality = 3 is high quality, lower is lower quality.
*/
SwsVector *sws_getGaussianVec(double variance, double quality);
/**
* Allocates and returns a vector with length coefficients, all
* Allocate and return a vector with length coefficients, all
* with the same value c.
*/
SwsVector *sws_getConstVec(double c, int length);
/**
* Allocates and returns a vector with just one coefficient, with
* Allocate and return a vector with just one coefficient, with
* value 1.0.
*/
SwsVector *sws_getIdentityVec(void);
/**
* Scales all the coefficients of a by the scalar value.
* Scale all the coefficients of a by the scalar value.
*/
void sws_scaleVec(SwsVector *a, double scalar);
/**
* Scales all the coefficients of a so that their sum equals height.
* Scale all the coefficients of a so that their sum equals height.
*/
void sws_normalizeVec(SwsVector *a, double height);
void sws_convVec(SwsVector *a, SwsVector *b);
@@ -257,20 +291,13 @@ void sws_subVec(SwsVector *a, SwsVector *b);
void sws_shiftVec(SwsVector *a, int shift);
/**
* Allocates and returns a clone of the vector a, that is a vector
* Allocate and return a clone of the vector a, that is a vector
* with the same coefficients as a.
*/
SwsVector *sws_cloneVec(SwsVector *a);
#if LIBSWSCALE_VERSION_MAJOR < 1
/**
* @deprecated Use sws_printVec2() instead.
*/
attribute_deprecated void sws_printVec(SwsVector *a);
#endif
/**
* Prints with av_log() a textual representation of the vector a
* Print with av_log() a textual representation of the vector a
* if log_level <= av_log_level.
*/
void sws_printVec2(SwsVector *a, AVClass *log_ctx, int log_level);
@@ -284,8 +311,7 @@ SwsFilter *sws_getDefaultFilter(float lumaGBlur, float chromaGBlur,
void sws_freeFilter(SwsFilter *filter);
/**
* Checks if context can be reused, otherwise reallocates a new
* one.
* Check if context can be reused, otherwise reallocate a new one.
*
* If context is NULL, just calls sws_getContext() to get a new
* context. Otherwise, checks if the parameters are the ones already
@@ -303,7 +329,7 @@ struct SwsContext *sws_getCachedContext(struct SwsContext *context,
SwsFilter *dstFilter, const double *param);
/**
* Converts an 8bit paletted frame into a frame with a color depth of 32-bits.
* Convert an 8-bit paletted frame into a frame with a color depth of 32 bits.
*
* The output frame will have the same packed format as the palette.
*
@@ -312,10 +338,10 @@ struct SwsContext *sws_getCachedContext(struct SwsContext *context,
* @param num_pixels number of pixels to convert
* @param palette array with [256] entries, which must match color arrangement (RGB or BGR) of src
*/
void sws_convertPalette8ToPacked32(const uint8_t *src, uint8_t *dst, long num_pixels, const uint8_t *palette);
void sws_convertPalette8ToPacked32(const uint8_t *src, uint8_t *dst, int num_pixels, const uint8_t *palette);
/**
* Converts an 8bit paletted frame into a frame with a color depth of 24 bits.
* Convert an 8-bit paletted frame into a frame with a color depth of 24 bits.
*
* With the palette format "ABCD", the destination frame ends up with the format "ABC".
*
@@ -324,7 +350,14 @@ void sws_convertPalette8ToPacked32(const uint8_t *src, uint8_t *dst, long num_pi
* @param num_pixels number of pixels to convert
* @param palette array with [256] entries, which must match color arrangement (RGB or BGR) of src
*/
void sws_convertPalette8ToPacked24(const uint8_t *src, uint8_t *dst, long num_pixels, const uint8_t *palette);
void sws_convertPalette8ToPacked24(const uint8_t *src, uint8_t *dst, int num_pixels, const uint8_t *palette);
/**
* Get the AVClass for swsContext. It can be used in combination with
* AV_OPT_SEARCH_FAKE_OBJ for examining options.
*
* @see av_opt_find().
*/
const AVClass *sws_get_class(void);
#endif /* SWSCALE_SWSCALE_H */
BIN
Ver Arquivo
Arquivo binário não exibido.
Arquivo binário não exibido.
Arquivo binário não exibido.
BIN
Ver Arquivo
Arquivo binário não exibido.
BIN
Ver Arquivo
Arquivo binário não exibido.
BIN
Ver Arquivo
Arquivo binário não exibido.
BIN
Ver Arquivo
Arquivo binário não exibido.
Arquivo binário não exibido.
Arquivo binário não exibido.
BIN
Ver Arquivo
Arquivo binário não exibido.
BIN
Ver Arquivo
Arquivo binário não exibido.
BIN
Ver Arquivo
Arquivo binário não exibido.
BIN
Ver Arquivo
Arquivo binário não exibido.
BIN
Ver Arquivo
Arquivo binário não exibido.
BIN
Ver Arquivo
Arquivo binário não exibido.
BIN
Ver Arquivo
Arquivo binário não exibido.
Arquivo binário não exibido.
BIN
Ver Arquivo
Arquivo binário não exibido.
Arquivo binário não exibido.
BIN
Ver Arquivo
Arquivo binário não exibido.
BIN
Ver Arquivo
Arquivo binário não exibido.
BIN
Ver Arquivo
Arquivo binário não exibido.
BIN
Ver Arquivo
Arquivo binário não exibido.
BIN
Ver Arquivo
Arquivo binário não exibido.
BIN
Ver Arquivo
Arquivo binário não exibido.
BIN
Ver Arquivo
Arquivo binário não exibido.
+20 -18
Ver Arquivo
@@ -2,13 +2,13 @@
# CMake file for libjasper. See root CMakeLists.txt
#
# ----------------------------------------------------------------------------
project(libjasper)
project(${JASPER_LIBRARY})
add_definitions(-DEXCLUDE_MIF_SUPPORT -DEXCLUDE_PNM_SUPPORT -DEXCLUDE_BMP_SUPPORT -DEXCLUDE_RAS_SUPPORT -DEXCLUDE_JPG_SUPPORT -DEXCLUDE_PGX_SUPPORT)
# List of C++ files:
include_directories(${CMAKE_CURRENT_SOURCE_DIR})
ocv_include_directories(${CMAKE_CURRENT_SOURCE_DIR})
# The .cpp files:
file(GLOB lib_srcs *.c)
@@ -19,40 +19,42 @@ file(GLOB lib_ext_hdrs jasper/*.h)
# Define the library target:
# ----------------------------------------------------------------------------------
set(the_target "libjasper")
add_library(${the_target} STATIC ${lib_srcs} ${lib_hdrs} ${lib_ext_hdrs})
add_library(${JASPER_LIBRARY} STATIC ${lib_srcs} ${lib_hdrs} ${lib_ext_hdrs})
if(MSVC)
if(NOT ENABLE_NOISY_WARNINGS)
string(REPLACE "/W3" "/W0" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
string(REPLACE "/W4" "/W0" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
add_definitions(-DJAS_WIN_MSVC_BUILD)
endif()
if(UNIX)
if(CMAKE_COMPILER_IS_GNUCXX OR CV_ICC)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC")
endif()
endif()
add_definitions(-DJAS_WIN_MSVC_BUILD)
endif()
if(CMAKE_COMPILER_IS_GNUCXX)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-implicit-function-declaration -Wno-unused")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-uninitialized")
endif()
if(UNIX)
if(CMAKE_COMPILER_IS_GNUCXX OR CV_ICC)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC")
endif()
endif()
if(CMAKE_COMPILER_IS_GNUCXX AND NOT ENABLE_NOISY_WARNINGS)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-implicit-function-declaration -Wno-unused")
endif()
set_target_properties(${the_target}
set_target_properties(${JASPER_LIBRARY}
PROPERTIES
OUTPUT_NAME "${the_target}"
OUTPUT_NAME ${JASPER_LIBRARY}
DEBUG_POSTFIX "${OPENCV_DEBUG_POSTFIX}"
ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/3rdparty/${OPENCV_LIB_INSTALL_PATH}"
)
if(ENABLE_SOLUTION_FOLDERS)
set_target_properties(${the_target} PROPERTIES FOLDER "3rdparty")
set_target_properties(${JASPER_LIBRARY} PROPERTIES FOLDER "3rdparty")
endif()
if(NOT BUILD_SHARED_LIBS)
install(TARGETS ${the_target}
ARCHIVE DESTINATION share/OpenCV/3rdparty/${OPENCV_LIB_INSTALL_PATH} COMPONENT main)
install(TARGETS ${JASPER_LIBRARY} ARCHIVE DESTINATION share/OpenCV/3rdparty/${OPENCV_LIB_INSTALL_PATH} COMPONENT main)
endif()
+2 -2
Ver Arquivo
@@ -2102,8 +2102,8 @@ static jpc_enc_tcmpt_t *tcmpt_create(jpc_enc_tcmpt_t *tcmpt, jpc_enc_cp_t *cp,
tcmpt->numstepsizes = tcmpt->numbands;
assert(tcmpt->numstepsizes <= JPC_MAXBANDS);
memset(tcmpt->stepsizes, 0, sizeof(tcmpt->numstepsizes *
sizeof(uint_fast16_t)));
memset(tcmpt->stepsizes, 0, tcmpt->numstepsizes *
sizeof(uint_fast16_t));
/* Retrieve information about the various bands. */
jpc_tsfb_getbands(tcmpt->tsfb, jas_seq2d_xstart(tcmpt->data),
+12 -15
Ver Arquivo
@@ -2,11 +2,11 @@
# CMake file for libjpeg. See root CMakeLists.txt
#
# ----------------------------------------------------------------------------
project(libjpeg)
project(${JPEG_LIBRARY})
# List of C++ files:
include_directories(${CMAKE_CURRENT_SOURCE_DIR})
ocv_include_directories(${CMAKE_CURRENT_SOURCE_DIR})
# The .cpp files:
file(GLOB lib_srcs *.c)
@@ -16,35 +16,32 @@ file(GLOB lib_hdrs *.h)
# Define the library target:
# ----------------------------------------------------------------------------------
set(the_target "libjpeg")
add_library(${the_target} STATIC ${lib_srcs} ${lib_hdrs})
add_library(${JPEG_LIBRARY} STATIC ${lib_srcs} ${lib_hdrs})
if(MSVC)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /W3")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /W3")
endif()
if(UNIX)
if(CMAKE_COMPILER_IS_GNUCXX OR CV_ICC)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC")
endif()
if(CMAKE_COMPILER_IS_GNUCXX OR CV_ICC)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC")
endif()
endif()
if(CMAKE_COMPILER_IS_GNUCXX)
set_source_files_properties(jcdctmgr.c PROPERTIES COMPILE_FLAGS "-O1")
set_source_files_properties(jcdctmgr.c PROPERTIES COMPILE_FLAGS "-O1")
endif()
set_target_properties(${the_target}
PROPERTIES OUTPUT_NAME "${the_target}"
set_target_properties(${JPEG_LIBRARY}
PROPERTIES OUTPUT_NAME ${JPEG_LIBRARY}
DEBUG_POSTFIX "${OPENCV_DEBUG_POSTFIX}"
ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/3rdparty/${OPENCV_LIB_INSTALL_PATH}
)
if(ENABLE_SOLUTION_FOLDERS)
set_target_properties(${the_target} PROPERTIES FOLDER "3rdparty")
set_target_properties(${JPEG_LIBRARY} PROPERTIES FOLDER "3rdparty")
endif()
if(NOT BUILD_SHARED_LIBS)
install(TARGETS ${the_target}
ARCHIVE DESTINATION share/OpenCV/3rdparty/${OPENCV_LIB_INSTALL_PATH} COMPONENT main)
install(TARGETS ${JPEG_LIBRARY} ARCHIVE DESTINATION share/OpenCV/3rdparty/${OPENCV_LIB_INSTALL_PATH} COMPONENT main)
endif()
+11 -20
Ver Arquivo
@@ -2,17 +2,11 @@
# CMake file for libpng. See root CMakeLists.txt
#
# ----------------------------------------------------------------------------
project(libpng)
project(${PNG_LIBRARY})
# List of C++ files:
include_directories("${CMAKE_CURRENT_SOURCE_DIR}")
if(ZLIB_FOUND)
include_directories(${ZLIB_INCLUDE_DIR})
else()
include_directories("${CMAKE_CURRENT_SOURCE_DIR}/../zlib")
endif()
ocv_include_directories("${CMAKE_CURRENT_SOURCE_DIR}" ${ZLIB_INCLUDE_DIR})
file(GLOB lib_srcs *.c)
file(GLOB lib_hdrs *.h)
@@ -21,31 +15,28 @@ file(GLOB lib_hdrs *.h)
# Define the library target:
# ----------------------------------------------------------------------------------
set(the_target "libpng")
add_library(${the_target} STATIC ${lib_srcs} ${lib_hdrs})
add_library(${PNG_LIBRARY} STATIC ${lib_srcs} ${lib_hdrs})
if(MSVC)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /W3")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /W3")
endif()
if(UNIX)
if(CMAKE_COMPILER_IS_GNUCXX OR CV_ICC)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC")
endif()
if(CMAKE_COMPILER_IS_GNUCXX OR CV_ICC)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC")
endif()
endif()
set_target_properties(${the_target}
PROPERTIES OUTPUT_NAME "${the_target}"
set_target_properties(${PNG_LIBRARY}
PROPERTIES OUTPUT_NAME ${PNG_LIBRARY}
DEBUG_POSTFIX "${OPENCV_DEBUG_POSTFIX}"
ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/3rdparty/${OPENCV_LIB_INSTALL_PATH}"
)
if(ENABLE_SOLUTION_FOLDERS)
set_target_properties(${the_target} PROPERTIES FOLDER "3rdparty")
set_target_properties(${PNG_LIBRARY} PROPERTIES FOLDER "3rdparty")
endif()
if(NOT BUILD_SHARED_LIBS)
install(TARGETS ${the_target}
ARCHIVE DESTINATION share/OpenCV/3rdparty/${OPENCV_LIB_INSTALL_PATH} COMPONENT main)
install(TARGETS ${PNG_LIBRARY} ARCHIVE DESTINATION share/OpenCV/3rdparty/${OPENCV_LIB_INSTALL_PATH} COMPONENT main)
endif()
+202 -257
Ver Arquivo
@@ -1,257 +1,202 @@
README for libpng version 1.4.3 - June 26, 2010 (shared library 14.0)
See the note about version numbers near the top of png.h
See INSTALL for instructions on how to install libpng.
Libpng comes in several distribution formats. Get libpng-*.tar.gz,
libpng-*.tar.xz or libpng-*.tar.bz2 if you want UNIX-style line endings
in the text files, or lpng*.zip if you want DOS-style line endings.
Version 0.89 was the first official release of libpng. Don't let the
fact that it's the first release fool you. The libpng library has been in
extensive use and testing since mid-1995. By late 1997 it had
finally gotten to the stage where there hadn't been significant
changes to the API in some time, and people have a bad feeling about
libraries with versions < 1.0. Version 1.0.0 was released in
March 1998.
****
Note that some of the changes to the png_info structure render this
version of the library binary incompatible with libpng-0.89 or
earlier versions if you are using a shared library. The type of the
"filler" parameter for png_set_filler() has changed from png_byte to
png_uint_32, which will affect shared-library applications that use
this function.
To avoid problems with changes to the internals of png_info_struct,
new APIs have been made available in 0.95 to avoid direct application
access to info_ptr. These functions are the png_set_<chunk> and
png_get_<chunk> functions. These functions should be used when
accessing/storing the info_struct data, rather than manipulating it
directly, to avoid such problems in the future.
It is important to note that the APIs do not make current programs
that access the info struct directly incompatible with the new
library. However, it is strongly suggested that new programs use
the new APIs (as shown in example.c and pngtest.c), and older programs
be converted to the new format, to facilitate upgrades in the future.
****
Additions since 0.90 include the ability to compile libpng as a
Windows DLL, and new APIs for accessing data in the info struct.
Experimental functions include the ability to set weighting and cost
factors for row filter selection, direct reads of integers from buffers
on big-endian processors that support misaligned data access, faster
methods of doing alpha composition, and more accurate 16->8 bit color
conversion.
The additions since 0.89 include the ability to read from a PNG stream
which has had some (or all) of the signature bytes read by the calling
application. This also allows the reading of embedded PNG streams that
do not have the PNG file signature. As well, it is now possible to set
the library action on the detection of chunk CRC errors. It is possible
to set different actions based on whether the CRC error occurred in a
critical or an ancillary chunk.
The changes made to the library, and bugs fixed are based on discussions
on the PNG-implement mailing list and not on material submitted
privately to Guy, Andreas, or Glenn. They will forward any good
suggestions to the list.
For a detailed description on using libpng, read libpng.txt. For
examples of libpng in a program, see example.c and pngtest.c. For usage
information and restrictions (what little they are) on libpng, see
png.h. For a description on using zlib (the compression library used by
libpng) and zlib's restrictions, see zlib.h
I have included a general makefile, as well as several machine and
compiler specific ones, but you may have to modify one for your own needs.
You should use zlib 1.0.4 or later to run this, but it MAY work with
versions as old as zlib 0.95. Even so, there are bugs in older zlib
versions which can cause the output of invalid compression streams for
some images. You will definitely need zlib 1.0.4 or later if you are
taking advantage of the MS-DOS "far" structure allocation for the small
and medium memory models. You should also note that zlib is a
compression library that is useful for more things than just PNG files.
You can use zlib as a drop-in replacement for fread() and fwrite() if
you are so inclined.
zlib should be available at the same place that libpng is, or at.
ftp://ftp.info-zip.org/pub/infozip/zlib
You may also want a copy of the PNG specification. It is available
as an RFC, a W3C Recommendation, and an ISO/IEC Standard. You can find
these at http://www.libpng.org/pub/png/documents/
This code is currently being archived at libpng.sf.net in the
[DOWNLOAD] area, and on CompuServe, Lib 20 (PNG SUPPORT)
at GO GRAPHSUP. If you can't find it in any of those places,
e-mail me, and I'll help you find it.
If you have any code changes, requests, problems, etc., please e-mail
them to me. Also, I'd appreciate any make files or project files,
and any modifications you needed to make to get libpng to compile,
along with a #define variable to tell what compiler/system you are on.
If you needed to add transformations to libpng, or wish libpng would
provide the image in a different way, drop me a note (and code, if
possible), so I can consider supporting the transformation.
Finally, if you get any warning messages when compiling libpng
(note: not zlib), and they are easy to fix, I'd appreciate the
fix. Please mention "libpng" somewhere in the subject line. Thanks.
This release was created and will be supported by myself (of course
based in a large way on Guy's and Andreas' earlier work), and the PNG
development group.
Send comments/corrections/commendations to png-mng-implement at
lists.sourceforge.net (subscription required; visit
https://lists.sourceforge.net/lists/listinfo/png-mng-implement
to subscribe) or to glennrp at users.sourceforge.net
You can't reach Guy, the original libpng author, at the addresses
given in previous versions of this document. He and Andreas will
read mail addressed to the png-implement list, however.
Please do not send general questions about PNG. Send them to
the (png-list at ccrc.wustl.edu, subscription required, write to
majordomo at ccrc.wustl.edu with "subscribe png-list" in your message).
On the other hand,
please do not send libpng questions to that address, send them to me
or to the png-implement list. I'll
get them in the end anyway. If you have a question about something
in the PNG specification that is related to using libpng, send it
to me. Send me any questions that start with "I was using libpng,
and ...". If in doubt, send questions to me. I'll bounce them
to others, if necessary.
Please do not send suggestions on how to change PNG. We have
been discussing PNG for nine years now, and it is official and
finished. If you have suggestions for libpng, however, I'll
gladly listen. Even if your suggestion is not used immediately,
it may be used later.
Files in this distribution:
ANNOUNCE => Announcement of this version, with recent changes
CHANGES => Description of changes between libpng versions
KNOWNBUG => List of known bugs and deficiencies
LICENSE => License to use and redistribute libpng
README => This file
TODO => Things not implemented in the current library
Y2KINFO => Statement of Y2K compliance
example.c => Example code for using libpng functions
libpng.3 => manual page for libpng (includes libpng.txt)
libpng.txt => Description of libpng and its functions
libpngpf.3 => manual page for libpng's private functions
png.5 => manual page for the PNG format
png.c => Basic interface functions common to library
png.h => Library function and interface declarations
pngconf.h => System specific library configuration
pngerror.c => Error/warning message I/O functions
pngget.c => Functions for retrieving info from struct
pngmem.c => Memory handling functions
pngbar.png => PNG logo, 88x31
pngnow.png => PNG logo, 98x31
pngpread.c => Progressive reading functions
pngread.c => Read data/helper high-level functions
pngrio.c => Lowest-level data read I/O functions
pngrtran.c => Read data transformation functions
pngrutil.c => Read data utility functions
pngset.c => Functions for storing data into the info_struct
pngtest.c => Library test program
pngtest.png => Library test sample image
pngtrans.c => Common data transformation functions
pngwio.c => Lowest-level write I/O functions
pngwrite.c => High-level write functions
pngwtran.c => Write data transformations
pngwutil.c => Write utility functions
contrib => Contributions
gregbook => source code for PNG reading and writing, from
Greg Roelofs' "PNG: The Definitive Guide",
O'Reilly, 1999
msvctest => Builds and runs pngtest using a MSVC workspace
pngminus => Simple pnm2png and png2pnm programs
pngsuite => Test images
visupng => Contains a MSVC workspace for VisualPng
projects => Contains project files and workspaces for
building a DLL
c5builder => Contains a Borland workspace for building
libpng and zlib
visualc6 => Contains a Microsoft Visual C++ (MSVC)
workspace for building libpng and zlib
scripts => Directory containing scripts for building libpng:
descrip.mms => VMS makefile for MMS or MMK
makefile.std => Generic UNIX makefile (cc, creates static
libpng.a)
makefile.elf => Linux/ELF makefile symbol versioning,
gcc, creates libpng14.so.14.1.4.3)
makefile.linux => Linux/ELF makefile
(gcc, creates libpng14.so.14.1.4.3)
makefile.gcc => Generic makefile (gcc, creates static libpng.a)
makefile.knr => Archaic UNIX Makefile that converts files with
ansi2knr (Requires ansi2knr.c from
ftp://ftp.cs.wisc.edu/ghost)
makefile.aix => AIX makefile
makefile.cygwin => Cygwin/gcc makefile
makefile.darwin => Darwin makefile
makefile.dec => DEC Alpha UNIX makefile
makefile.freebsd => FreeBSD makefile
makefile.hpgcc => HPUX makefile using gcc
makefile.hpux => HPUX (10.20 and 11.00) makefile
makefile.hp64 => HPUX (10.20 and 11.00) makefile, 64 bit
makefile.ibmc => IBM C/C++ version 3.x for Win32 and OS/2 (static)
makefile.intel => Intel C/C++ version 4.0 and later
makefile.mingw => Mingw/gcc makefile
makefile.netbsd => NetBSD/cc makefile, makes libpng.so.
makefile.ne14bsd => NetBSD/cc makefile, makes
libpng14.so
makefile.openbsd => OpenBSD makefile
makefile.sgi => Silicon Graphics IRIX (cc, creates static lib)
makefile.sggcc => Silicon Graphics
(gcc, creates libpng14.so.14.1.4.3)
makefile.sunos => Sun makefile
makefile.solaris => Solaris 2.X makefile
(gcc, creates libpng14.so.14.1.4.3)
makefile.so9 => Solaris 9 makefile
(gcc, creates libpng14.so.14.1.4.3)
makefile.32sunu => Sun Ultra 32-bit makefile
makefile.64sunu => Sun Ultra 64-bit makefile
makefile.sco => For SCO OSr5 ELF and Unixware 7 with Native cc
makefile.mips => MIPS makefile
makefile.acorn => Acorn makefile
makefile.amiga => Amiga makefile
smakefile.ppc => AMIGA smakefile for SAS C V6.58/7.00 PPC
compiler (Requires SCOPTIONS, copied from
scripts/SCOPTIONS.ppc)
makefile.atari => Atari makefile
makefile.beos => BEOS makefile for X86
makefile.bor => Borland makefile (uses bcc)
makefile.bc32 => 32-bit Borland C++ (all modules compiled in C mode)
makefile.tc3 => Turbo C 3.0 makefile
makefile.dj2 => DJGPP 2 makefile
makefile.msc => Microsoft C makefile
makefile.vcwin32 => makefile for Microsoft Visual C++ 4.0 and
later (does not use assembler code)
makefile.os2 => OS/2 Makefile (gcc and emx, requires pngos2.def)
png32ce.def => module definition for makefile.cegccg
pngos2.def => OS/2 module definition file used by
makefile.os2
pngwin.def => module definition file used by
makefile.cygwin and makefile.mingw
makefile.watcom => Watcom 10a+ Makefile, 32-bit flat memory model
makevms.com => VMS build script
SCOPTIONS.ppc => Used with smakefile.ppc
Good luck, and happy coding.
-Glenn Randers-Pehrson (current maintainer, since 1998)
Internet: glennrp at users.sourceforge.net
-Andreas Eric Dilger (former maintainer, 1996-1997)
Internet: adilger at enel.ucalgary.ca
Web: http://www-mddsp.enel.ucalgary.ca/People/adilger/
-Guy Eric Schalnat (original author and former maintainer, 1995-1996)
(formerly of Group 42, Inc)
Internet: gschal at infinet.com
README for libpng version 1.5.9 - February 18, 2012 (shared library 15.0)
See the note about version numbers near the top of png.h
See INSTALL for instructions on how to install libpng.
Libpng comes in several distribution formats. Get libpng-*.tar.gz,
libpng-*.tar.xz or libpng-*.tar.bz2 if you want UNIX-style line endings
in the text files, or lpng*.zip if you want DOS-style line endings.
Version 0.89 was the first official release of libpng. Don't let the
fact that it's the first release fool you. The libpng library has been in
extensive use and testing since mid-1995. By late 1997 it had
finally gotten to the stage where there hadn't been significant
changes to the API in some time, and people have a bad feeling about
libraries with versions < 1.0. Version 1.0.0 was released in
March 1998.
****
Note that some of the changes to the png_info structure render this
version of the library binary incompatible with libpng-0.89 or
earlier versions if you are using a shared library. The type of the
"filler" parameter for png_set_filler() has changed from png_byte to
png_uint_32, which will affect shared-library applications that use
this function.
To avoid problems with changes to the internals of png_info_struct,
new APIs have been made available in 0.95 to avoid direct application
access to info_ptr. These functions are the png_set_<chunk> and
png_get_<chunk> functions. These functions should be used when
accessing/storing the info_struct data, rather than manipulating it
directly, to avoid such problems in the future.
It is important to note that the APIs do not make current programs
that access the info struct directly incompatible with the new
library. However, it is strongly suggested that new programs use
the new APIs (as shown in example.c and pngtest.c), and older programs
be converted to the new format, to facilitate upgrades in the future.
****
Additions since 0.90 include the ability to compile libpng as a
Windows DLL, and new APIs for accessing data in the info struct.
Experimental functions include the ability to set weighting and cost
factors for row filter selection, direct reads of integers from buffers
on big-endian processors that support misaligned data access, faster
methods of doing alpha composition, and more accurate 16->8 bit color
conversion.
The additions since 0.89 include the ability to read from a PNG stream
which has had some (or all) of the signature bytes read by the calling
application. This also allows the reading of embedded PNG streams that
do not have the PNG file signature. As well, it is now possible to set
the library action on the detection of chunk CRC errors. It is possible
to set different actions based on whether the CRC error occurred in a
critical or an ancillary chunk.
The changes made to the library, and bugs fixed are based on discussions
on the PNG-implement mailing list and not on material submitted
privately to Guy, Andreas, or Glenn. They will forward any good
suggestions to the list.
For a detailed description on using libpng, read libpng-manual.txt. For
examples of libpng in a program, see example.c and pngtest.c. For usage
information and restrictions (what little they are) on libpng, see
png.h. For a description on using zlib (the compression library used by
libpng) and zlib's restrictions, see zlib.h
I have included a general makefile, as well as several machine and
compiler specific ones, but you may have to modify one for your own needs.
You should use zlib 1.0.4 or later to run this, but it MAY work with
versions as old as zlib 0.95. Even so, there are bugs in older zlib
versions which can cause the output of invalid compression streams for
some images. You will definitely need zlib 1.0.4 or later if you are
taking advantage of the MS-DOS "far" structure allocation for the small
and medium memory models. You should also note that zlib is a
compression library that is useful for more things than just PNG files.
You can use zlib as a drop-in replacement for fread() and fwrite() if
you are so inclined.
zlib should be available at the same place that libpng is, or at.
ftp://ftp.info-zip.org/pub/infozip/zlib
You may also want a copy of the PNG specification. It is available
as an RFC, a W3C Recommendation, and an ISO/IEC Standard. You can find
these at http://www.libpng.org/pub/png/documents/
This code is currently being archived at libpng.sf.net in the
[DOWNLOAD] area, and on CompuServe, Lib 20 (PNG SUPPORT)
at GO GRAPHSUP. If you can't find it in any of those places,
e-mail me, and I'll help you find it.
If you have any code changes, requests, problems, etc., please e-mail
them to me. Also, I'd appreciate any make files or project files,
and any modifications you needed to make to get libpng to compile,
along with a #define variable to tell what compiler/system you are on.
If you needed to add transformations to libpng, or wish libpng would
provide the image in a different way, drop me a note (and code, if
possible), so I can consider supporting the transformation.
Finally, if you get any warning messages when compiling libpng
(note: not zlib), and they are easy to fix, I'd appreciate the
fix. Please mention "libpng" somewhere in the subject line. Thanks.
This release was created and will be supported by myself (of course
based in a large way on Guy's and Andreas' earlier work), and the PNG
development group.
Send comments/corrections/commendations to png-mng-implement at
lists.sourceforge.net (subscription required; visit
https://lists.sourceforge.net/lists/listinfo/png-mng-implement
to subscribe) or to glennrp at users.sourceforge.net
You can't reach Guy, the original libpng author, at the addresses
given in previous versions of this document. He and Andreas will
read mail addressed to the png-implement list, however.
Please do not send general questions about PNG. Send them to
png-mng-misc at lists.sf.net (subscription required; visit
https://lists.sourceforge.net/lists/listinfo/png-mng-misc to
subscribe). If you have a question about something
in the PNG specification that is related to using libpng, send it
to me. Send me any questions that start with "I was using libpng,
and ...". If in doubt, send questions to me. I'll bounce them
to others, if necessary.
Please do not send suggestions on how to change PNG. We have
been discussing PNG for sixteen years now, and it is official and
finished. If you have suggestions for libpng, however, I'll
gladly listen. Even if your suggestion is not used immediately,
it may be used later.
Files in this distribution:
ANNOUNCE => Announcement of this version, with recent changes
CHANGES => Description of changes between libpng versions
KNOWNBUG => List of known bugs and deficiencies
LICENSE => License to use and redistribute libpng
README => This file
TODO => Things not implemented in the current library
Y2KINFO => Statement of Y2K compliance
example.c => Example code for using libpng functions
libpng.3 => manual page for libpng (includes libpng-manual.txt)
libpng-manual.txt => Description of libpng and its functions
libpngpf.3 => manual page for libpng's private functions
png.5 => manual page for the PNG format
png.c => Basic interface functions common to library
png.h => Library function and interface declarations (public)
pngpriv.h => Library function and interface declarations (private)
pngconf.h => System specific library configuration (public)
pngstruct.h => png_struct declaration (private)
pnginfo.h => png_info struct declaration (private)
pngdebug.h => debugging macros (private)
pngerror.c => Error/warning message I/O functions
pngget.c => Functions for retrieving info from struct
pngmem.c => Memory handling functions
pngbar.png => PNG logo, 88x31
pngnow.png => PNG logo, 98x31
pngpread.c => Progressive reading functions
pngread.c => Read data/helper high-level functions
pngrio.c => Lowest-level data read I/O functions
pngrtran.c => Read data transformation functions
pngrutil.c => Read data utility functions
pngset.c => Functions for storing data into the info_struct
pngtest.c => Library test program
pngtest.png => Library test sample image
pngtrans.c => Common data transformation functions
pngwio.c => Lowest-level write I/O functions
pngwrite.c => High-level write functions
pngwtran.c => Write data transformations
pngwutil.c => Write utility functions
contrib => Contributions
gregbook => source code for PNG reading and writing, from
Greg Roelofs' "PNG: The Definitive Guide",
O'Reilly, 1999
msvctest => Builds and runs pngtest using a MSVC workspace
pngminus => Simple pnm2png and png2pnm programs
pngsuite => Test images
visupng => Contains a MSVC workspace for VisualPng
projects => Contains project files and workspaces for
building a DLL
cbuilder5 => Contains a Borland workspace for building
libpng and zlib
visualc6 => Contains a Microsoft Visual C++ (MSVC)
workspace for building libpng and zlib
visualc71 => Contains a Microsoft Visual C++ (MSVC)
workspace for building libpng and zlib
xcode => Contains an Apple xcode
workspace for building libpng and zlib
scripts => Directory containing scripts for building libpng:
(see scripts/README.txt for the list of scripts)
Good luck, and happy coding.
-Glenn Randers-Pehrson (current maintainer, since 1998)
Internet: glennrp at users.sourceforge.net
-Andreas Eric Dilger (former maintainer, 1996-1997)
Internet: adilger at enel.ucalgary.ca
Web: http://www-mddsp.enel.ucalgary.ca/People/adilger/
-Guy Eric Schalnat (original author and former maintainer, 1995-1996)
(formerly of Group 42, Inc)
Internet: gschal at infinet.com
+2870 -918
Ver Arquivo
Diferenças do arquivo suprimidas por serem muito extensas Carregar Diff
+1306 -1349
Ver Arquivo
Diferenças do arquivo suprimidas por serem muito extensas Carregar Diff
+391 -1320
Ver Arquivo
Diferenças do arquivo suprimidas por serem muito extensas Carregar Diff
externo Arquivo executável
+157
Ver Arquivo
@@ -0,0 +1,157 @@
/* pngdebug.h - Debugging macros for libpng, also used in pngtest.c
*
* Copyright (c) 1998-2011 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
*
* Last changed in libpng 1.5.0 [January 6, 2011]
*
* This code is released under the libpng license.
* For conditions of distribution and use, see the disclaimer
* and license in png.h
*/
/* Define PNG_DEBUG at compile time for debugging information. Higher
* numbers for PNG_DEBUG mean more debugging information. This has
* only been added since version 0.95 so it is not implemented throughout
* libpng yet, but more support will be added as needed.
*
* png_debug[1-2]?(level, message ,arg{0-2})
* Expands to a statement (either a simple expression or a compound
* do..while(0) statement) that outputs a message with parameter
* substitution if PNG_DEBUG is defined to 2 or more. If PNG_DEBUG
* is undefined, 0 or 1 every png_debug expands to a simple expression
* (actually ((void)0)).
*
* level: level of detail of message, starting at 0. A level 'n'
* message is preceded by 'n' tab characters (not implemented
* on Microsoft compilers unless PNG_DEBUG_FILE is also
* defined, to allow debug DLL compilation with no standard IO).
* message: a printf(3) style text string. A trailing '\n' is added
* to the message.
* arg: 0 to 2 arguments for printf(3) style substitution in message.
*/
#ifndef PNGDEBUG_H
#define PNGDEBUG_H
/* These settings control the formatting of messages in png.c and pngerror.c */
/* Moved to pngdebug.h at 1.5.0 */
# ifndef PNG_LITERAL_SHARP
# define PNG_LITERAL_SHARP 0x23
# endif
# ifndef PNG_LITERAL_LEFT_SQUARE_BRACKET
# define PNG_LITERAL_LEFT_SQUARE_BRACKET 0x5b
# endif
# ifndef PNG_LITERAL_RIGHT_SQUARE_BRACKET
# define PNG_LITERAL_RIGHT_SQUARE_BRACKET 0x5d
# endif
# ifndef PNG_STRING_NEWLINE
# define PNG_STRING_NEWLINE "\n"
# endif
#ifdef PNG_DEBUG
# if (PNG_DEBUG > 0)
# if !defined(PNG_DEBUG_FILE) && defined(_MSC_VER)
# include <crtdbg.h>
# if (PNG_DEBUG > 1)
# ifndef _DEBUG
# define _DEBUG
# endif
# ifndef png_debug
# define png_debug(l,m) _RPT0(_CRT_WARN,m PNG_STRING_NEWLINE)
# endif
# ifndef png_debug1
# define png_debug1(l,m,p1) _RPT1(_CRT_WARN,m PNG_STRING_NEWLINE,p1)
# endif
# ifndef png_debug2
# define png_debug2(l,m,p1,p2) \
_RPT2(_CRT_WARN,m PNG_STRING_NEWLINE,p1,p2)
# endif
# endif
# else /* PNG_DEBUG_FILE || !_MSC_VER */
# ifndef PNG_STDIO_SUPPORTED
# include <stdio.h> /* not included yet */
# endif
# ifndef PNG_DEBUG_FILE
# define PNG_DEBUG_FILE stderr
# endif /* PNG_DEBUG_FILE */
# if (PNG_DEBUG > 1)
/* Note: ["%s"m PNG_STRING_NEWLINE] probably does not work on
* non-ISO compilers
*/
# ifdef __STDC__
# ifndef png_debug
# define png_debug(l,m) \
do { \
int num_tabs=l; \
fprintf(PNG_DEBUG_FILE,"%s"m PNG_STRING_NEWLINE,(num_tabs==1 ? "\t" : \
(num_tabs==2 ? "\t\t":(num_tabs>2 ? "\t\t\t":"")))); \
} while (0)
# endif
# ifndef png_debug1
# define png_debug1(l,m,p1) \
do { \
int num_tabs=l; \
fprintf(PNG_DEBUG_FILE,"%s"m PNG_STRING_NEWLINE,(num_tabs==1 ? "\t" : \
(num_tabs==2 ? "\t\t":(num_tabs>2 ? "\t\t\t":""))),p1); \
} while (0)
# endif
# ifndef png_debug2
# define png_debug2(l,m,p1,p2) \
do { \
int num_tabs=l; \
fprintf(PNG_DEBUG_FILE,"%s"m PNG_STRING_NEWLINE,(num_tabs==1 ? "\t" : \
(num_tabs==2 ? "\t\t":(num_tabs>2 ? "\t\t\t":""))),p1,p2); \
} while (0)
# endif
# else /* __STDC __ */
# ifndef png_debug
# define png_debug(l,m) \
do { \
int num_tabs=l; \
char format[256]; \
snprintf(format,256,"%s%s%s",(num_tabs==1 ? "\t" : \
(num_tabs==2 ? "\t\t":(num_tabs>2 ? "\t\t\t":""))), \
m,PNG_STRING_NEWLINE); \
fprintf(PNG_DEBUG_FILE,format); \
} while (0)
# endif
# ifndef png_debug1
# define png_debug1(l,m,p1) \
do { \
int num_tabs=l; \
char format[256]; \
snprintf(format,256,"%s%s%s",(num_tabs==1 ? "\t" : \
(num_tabs==2 ? "\t\t":(num_tabs>2 ? "\t\t\t":""))), \
m,PNG_STRING_NEWLINE); \
fprintf(PNG_DEBUG_FILE,format,p1); \
} while (0)
# endif
# ifndef png_debug2
# define png_debug2(l,m,p1,p2) \
do { \
int num_tabs=l; \
char format[256]; \
snprintf(format,256,"%s%s%s",(num_tabs==1 ? "\t" : \
(num_tabs==2 ? "\t\t":(num_tabs>2 ? "\t\t\t":""))), \
m,PNG_STRING_NEWLINE); \
fprintf(PNG_DEBUG_FILE,format,p1,p2); \
} while (0)
# endif
# endif /* __STDC __ */
# endif /* (PNG_DEBUG > 1) */
# endif /* _MSC_VER */
# endif /* (PNG_DEBUG > 0) */
#endif /* PNG_DEBUG */
#ifndef png_debug
# define png_debug(l, m) ((void)0)
#endif
#ifndef png_debug1
# define png_debug1(l, m, p1) ((void)0)
#endif
#ifndef png_debug2
# define png_debug2(l, m, p1, p2) ((void)0)
#endif
#endif /* PNGDEBUG_H */
+685 -402
Ver Arquivo
Diferenças do arquivo suprimidas por serem muito extensas Carregar Diff
+1124 -925
Ver Arquivo
Diferenças do arquivo suprimidas por serem muito extensas Carregar Diff
externo Arquivo executável
+269
Ver Arquivo
@@ -0,0 +1,269 @@
/* pnginfo.h - header file for PNG reference library
*
* Copyright (c) 1998-2011 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
*
* Last changed in libpng 1.5.0 [January 6, 2011]
*
* This code is released under the libpng license.
* For conditions of distribution and use, see the disclaimer
* and license in png.h
*/
/* png_info is a structure that holds the information in a PNG file so
* that the application can find out the characteristics of the image.
* If you are reading the file, this structure will tell you what is
* in the PNG file. If you are writing the file, fill in the information
* you want to put into the PNG file, using png_set_*() functions, then
* call png_write_info().
*
* The names chosen should be very close to the PNG specification, so
* consult that document for information about the meaning of each field.
*
* With libpng < 0.95, it was only possible to directly set and read the
* the values in the png_info_struct, which meant that the contents and
* order of the values had to remain fixed. With libpng 0.95 and later,
* however, there are now functions that abstract the contents of
* png_info_struct from the application, so this makes it easier to use
* libpng with dynamic libraries, and even makes it possible to use
* libraries that don't have all of the libpng ancillary chunk-handing
* functionality. In libpng-1.5.0 this was moved into a separate private
* file that is not visible to applications.
*
* The following members may have allocated storage attached that should be
* cleaned up before the structure is discarded: palette, trans, text,
* pcal_purpose, pcal_units, pcal_params, hist, iccp_name, iccp_profile,
* splt_palettes, scal_unit, row_pointers, and unknowns. By default, these
* are automatically freed when the info structure is deallocated, if they were
* allocated internally by libpng. This behavior can be changed by means
* of the png_data_freer() function.
*
* More allocation details: all the chunk-reading functions that
* change these members go through the corresponding png_set_*
* functions. A function to clear these members is available: see
* png_free_data(). The png_set_* functions do not depend on being
* able to point info structure members to any of the storage they are
* passed (they make their own copies), EXCEPT that the png_set_text
* functions use the same storage passed to them in the text_ptr or
* itxt_ptr structure argument, and the png_set_rows and png_set_unknowns
* functions do not make their own copies.
*/
#ifndef PNGINFO_H
#define PNGINFO_H
struct png_info_def
{
/* the following are necessary for every PNG file */
png_uint_32 width; /* width of image in pixels (from IHDR) */
png_uint_32 height; /* height of image in pixels (from IHDR) */
png_uint_32 valid; /* valid chunk data (see PNG_INFO_ below) */
png_size_t rowbytes; /* bytes needed to hold an untransformed row */
png_colorp palette; /* array of color values (valid & PNG_INFO_PLTE) */
png_uint_16 num_palette; /* number of color entries in "palette" (PLTE) */
png_uint_16 num_trans; /* number of transparent palette color (tRNS) */
png_byte bit_depth; /* 1, 2, 4, 8, or 16 bits/channel (from IHDR) */
png_byte color_type; /* see PNG_COLOR_TYPE_ below (from IHDR) */
/* The following three should have been named *_method not *_type */
png_byte compression_type; /* must be PNG_COMPRESSION_TYPE_BASE (IHDR) */
png_byte filter_type; /* must be PNG_FILTER_TYPE_BASE (from IHDR) */
png_byte interlace_type; /* One of PNG_INTERLACE_NONE, PNG_INTERLACE_ADAM7 */
/* The following is informational only on read, and not used on writes. */
png_byte channels; /* number of data channels per pixel (1, 2, 3, 4) */
png_byte pixel_depth; /* number of bits per pixel */
png_byte spare_byte; /* to align the data, and for future use */
png_byte signature[8]; /* magic bytes read by libpng from start of file */
/* The rest of the data is optional. If you are reading, check the
* valid field to see if the information in these are valid. If you
* are writing, set the valid field to those chunks you want written,
* and initialize the appropriate fields below.
*/
#if defined(PNG_gAMA_SUPPORTED)
/* The gAMA chunk describes the gamma characteristics of the system
* on which the image was created, normally in the range [1.0, 2.5].
* Data is valid if (valid & PNG_INFO_gAMA) is non-zero.
*/
png_fixed_point gamma;
#endif
#ifdef PNG_sRGB_SUPPORTED
/* GR-P, 0.96a */
/* Data valid if (valid & PNG_INFO_sRGB) non-zero. */
png_byte srgb_intent; /* sRGB rendering intent [0, 1, 2, or 3] */
#endif
#ifdef PNG_TEXT_SUPPORTED
/* The tEXt, and zTXt chunks contain human-readable textual data in
* uncompressed, compressed, and optionally compressed forms, respectively.
* The data in "text" is an array of pointers to uncompressed,
* null-terminated C strings. Each chunk has a keyword that describes the
* textual data contained in that chunk. Keywords are not required to be
* unique, and the text string may be empty. Any number of text chunks may
* be in an image.
*/
int num_text; /* number of comments read or comments to write */
int max_text; /* current size of text array */
png_textp text; /* array of comments read or comments to write */
#endif /* PNG_TEXT_SUPPORTED */
#ifdef PNG_tIME_SUPPORTED
/* The tIME chunk holds the last time the displayed image data was
* modified. See the png_time struct for the contents of this struct.
*/
png_time mod_time;
#endif
#ifdef PNG_sBIT_SUPPORTED
/* The sBIT chunk specifies the number of significant high-order bits
* in the pixel data. Values are in the range [1, bit_depth], and are
* only specified for the channels in the pixel data. The contents of
* the low-order bits is not specified. Data is valid if
* (valid & PNG_INFO_sBIT) is non-zero.
*/
png_color_8 sig_bit; /* significant bits in color channels */
#endif
#if defined(PNG_tRNS_SUPPORTED) || defined(PNG_READ_EXPAND_SUPPORTED) || \
defined(PNG_READ_BACKGROUND_SUPPORTED)
/* The tRNS chunk supplies transparency data for paletted images and
* other image types that don't need a full alpha channel. There are
* "num_trans" transparency values for a paletted image, stored in the
* same order as the palette colors, starting from index 0. Values
* for the data are in the range [0, 255], ranging from fully transparent
* to fully opaque, respectively. For non-paletted images, there is a
* single color specified that should be treated as fully transparent.
* Data is valid if (valid & PNG_INFO_tRNS) is non-zero.
*/
png_bytep trans_alpha; /* alpha values for paletted image */
png_color_16 trans_color; /* transparent color for non-palette image */
#endif
#if defined(PNG_bKGD_SUPPORTED) || defined(PNG_READ_BACKGROUND_SUPPORTED)
/* The bKGD chunk gives the suggested image background color if the
* display program does not have its own background color and the image
* is needs to composited onto a background before display. The colors
* in "background" are normally in the same color space/depth as the
* pixel data. Data is valid if (valid & PNG_INFO_bKGD) is non-zero.
*/
png_color_16 background;
#endif
#ifdef PNG_oFFs_SUPPORTED
/* The oFFs chunk gives the offset in "offset_unit_type" units rightwards
* and downwards from the top-left corner of the display, page, or other
* application-specific co-ordinate space. See the PNG_OFFSET_ defines
* below for the unit types. Valid if (valid & PNG_INFO_oFFs) non-zero.
*/
png_int_32 x_offset; /* x offset on page */
png_int_32 y_offset; /* y offset on page */
png_byte offset_unit_type; /* offset units type */
#endif
#ifdef PNG_pHYs_SUPPORTED
/* The pHYs chunk gives the physical pixel density of the image for
* display or printing in "phys_unit_type" units (see PNG_RESOLUTION_
* defines below). Data is valid if (valid & PNG_INFO_pHYs) is non-zero.
*/
png_uint_32 x_pixels_per_unit; /* horizontal pixel density */
png_uint_32 y_pixels_per_unit; /* vertical pixel density */
png_byte phys_unit_type; /* resolution type (see PNG_RESOLUTION_ below) */
#endif
#ifdef PNG_hIST_SUPPORTED
/* The hIST chunk contains the relative frequency or importance of the
* various palette entries, so that a viewer can intelligently select a
* reduced-color palette, if required. Data is an array of "num_palette"
* values in the range [0,65535]. Data valid if (valid & PNG_INFO_hIST)
* is non-zero.
*/
png_uint_16p hist;
#endif
#ifdef PNG_cHRM_SUPPORTED
/* The cHRM chunk describes the CIE color characteristics of the monitor
* on which the PNG was created. This data allows the viewer to do gamut
* mapping of the input image to ensure that the viewer sees the same
* colors in the image as the creator. Values are in the range
* [0.0, 0.8]. Data valid if (valid & PNG_INFO_cHRM) non-zero.
*/
png_fixed_point x_white;
png_fixed_point y_white;
png_fixed_point x_red;
png_fixed_point y_red;
png_fixed_point x_green;
png_fixed_point y_green;
png_fixed_point x_blue;
png_fixed_point y_blue;
#endif
#ifdef PNG_pCAL_SUPPORTED
/* The pCAL chunk describes a transformation between the stored pixel
* values and original physical data values used to create the image.
* The integer range [0, 2^bit_depth - 1] maps to the floating-point
* range given by [pcal_X0, pcal_X1], and are further transformed by a
* (possibly non-linear) transformation function given by "pcal_type"
* and "pcal_params" into "pcal_units". Please see the PNG_EQUATION_
* defines below, and the PNG-Group's PNG extensions document for a
* complete description of the transformations and how they should be
* implemented, and for a description of the ASCII parameter strings.
* Data values are valid if (valid & PNG_INFO_pCAL) non-zero.
*/
png_charp pcal_purpose; /* pCAL chunk description string */
png_int_32 pcal_X0; /* minimum value */
png_int_32 pcal_X1; /* maximum value */
png_charp pcal_units; /* Latin-1 string giving physical units */
png_charpp pcal_params; /* ASCII strings containing parameter values */
png_byte pcal_type; /* equation type (see PNG_EQUATION_ below) */
png_byte pcal_nparams; /* number of parameters given in pcal_params */
#endif
/* New members added in libpng-1.0.6 */
png_uint_32 free_me; /* flags items libpng is responsible for freeing */
#if defined(PNG_UNKNOWN_CHUNKS_SUPPORTED) || \
defined(PNG_HANDLE_AS_UNKNOWN_SUPPORTED)
/* Storage for unknown chunks that the library doesn't recognize. */
png_unknown_chunkp unknown_chunks;
int unknown_chunks_num;
#endif
#ifdef PNG_iCCP_SUPPORTED
/* iCCP chunk data. */
png_charp iccp_name; /* profile name */
png_bytep iccp_profile; /* International Color Consortium profile data */
png_uint_32 iccp_proflen; /* ICC profile data length */
png_byte iccp_compression; /* Always zero */
#endif
#ifdef PNG_sPLT_SUPPORTED
/* Data on sPLT chunks (there may be more than one). */
png_sPLT_tp splt_palettes;
png_uint_32 splt_palettes_num;
#endif
#ifdef PNG_sCAL_SUPPORTED
/* The sCAL chunk describes the actual physical dimensions of the
* subject matter of the graphic. The chunk contains a unit specification
* a byte value, and two ASCII strings representing floating-point
* values. The values are width and height corresponsing to one pixel
* in the image. Data values are valid if (valid & PNG_INFO_sCAL) is
* non-zero.
*/
png_byte scal_unit; /* unit of physical scale */
png_charp scal_s_width; /* string containing height */
png_charp scal_s_height; /* string containing width */
#endif
#ifdef PNG_INFO_IMAGE_SUPPORTED
/* Memory has been allocated if (valid & PNG_ALLOCATED_INFO_ROWS)
non-zero */
/* Data valid if (valid & PNG_INFO_IDAT) non-zero */
png_bytepp row_pointers; /* the image bits */
#endif
};
#endif /* PNGINFO_H */
externo Arquivo executável
+187
Ver Arquivo
@@ -0,0 +1,187 @@
/* libpng STANDARD API DEFINITION */
/* pnglibconf.h - library build configuration */
/* Libpng 1.5.9 - February 18, 2012 */
/* Copyright (c) 1998-2011 Glenn Randers-Pehrson */
/* This code is released under the libpng license. */
/* For conditions of distribution and use, see the disclaimer */
/* and license in png.h */
/* pnglibconf.h */
/* Derived from: scripts/pnglibconf.dfa */
/* If you edit this file by hand you must obey the rules expressed in */
/* pnglibconf.dfa with respect to the dependencies between the following */
/* symbols. It is much better to generate a new file using */
/* scripts/libpngconf.mak */
#ifndef PNGLCONF_H
#define PNGLCONF_H
/* settings */
#define PNG_API_RULE 0
#define PNG_CALLOC_SUPPORTED
#define PNG_COST_SHIFT 3
#define PNG_DEFAULT_READ_MACROS 1
#define PNG_GAMMA_THRESHOLD_FIXED 5000
#define PNG_MAX_GAMMA_8 11
#define PNG_QUANTIZE_BLUE_BITS 5
#define PNG_QUANTIZE_GREEN_BITS 5
#define PNG_QUANTIZE_RED_BITS 5
#define PNG_sCAL_PRECISION 5
#define PNG_USER_CHUNK_CACHE_MAX 0
#define PNG_USER_CHUNK_MALLOC_MAX 0
#define PNG_USER_HEIGHT_MAX 1000000
#define PNG_USER_WIDTH_MAX 1000000
#define PNG_WEIGHT_SHIFT 8
#define PNG_ZBUF_SIZE 8192
/* end of settings */
/* options */
#define PNG_16BIT_SUPPORTED
#define PNG_ALIGN_MEMORY_SUPPORTED
#define PNG_BENIGN_ERRORS_SUPPORTED
#define PNG_bKGD_SUPPORTED
#define PNG_BUILD_GRAYSCALE_PALETTE_SUPPORTED
#define PNG_CHECK_cHRM_SUPPORTED
#define PNG_cHRM_SUPPORTED
#define PNG_CONSOLE_IO_SUPPORTED
#define PNG_CONVERT_tIME_SUPPORTED
#define PNG_EASY_ACCESS_SUPPORTED
/*#undef PNG_ERROR_NUMBERS_SUPPORTED*/
#define PNG_ERROR_TEXT_SUPPORTED
#define PNG_FIXED_POINT_SUPPORTED
#define PNG_FLOATING_ARITHMETIC_SUPPORTED
#define PNG_FLOATING_POINT_SUPPORTED
#define PNG_gAMA_SUPPORTED
#define PNG_HANDLE_AS_UNKNOWN_SUPPORTED
#define PNG_hIST_SUPPORTED
#define PNG_iCCP_SUPPORTED
#define PNG_INCH_CONVERSIONS_SUPPORTED
#define PNG_INFO_IMAGE_SUPPORTED
#define PNG_IO_STATE_SUPPORTED
#define PNG_iTXt_SUPPORTED
#define PNG_MNG_FEATURES_SUPPORTED
#define PNG_oFFs_SUPPORTED
#define PNG_pCAL_SUPPORTED
#define PNG_pHYs_SUPPORTED
#define PNG_POINTER_INDEXING_SUPPORTED
#define PNG_PROGRESSIVE_READ_SUPPORTED
#define PNG_READ_16BIT_SUPPORTED
#define PNG_READ_ALPHA_MODE_SUPPORTED
#define PNG_READ_ANCILLARY_CHUNKS_SUPPORTED
#define PNG_READ_BACKGROUND_SUPPORTED
#define PNG_READ_BGR_SUPPORTED
#define PNG_READ_bKGD_SUPPORTED
#define PNG_READ_cHRM_SUPPORTED
#define PNG_READ_COMPOSITE_NODIV_SUPPORTED
#define PNG_READ_COMPRESSED_TEXT_SUPPORTED
#define PNG_READ_EXPAND_16_SUPPORTED
#define PNG_READ_EXPAND_SUPPORTED
#define PNG_READ_FILLER_SUPPORTED
#define PNG_READ_gAMA_SUPPORTED
#define PNG_READ_GAMMA_SUPPORTED
#define PNG_READ_GRAY_TO_RGB_SUPPORTED
#define PNG_READ_hIST_SUPPORTED
#define PNG_READ_iCCP_SUPPORTED
#define PNG_READ_INTERLACING_SUPPORTED
#define PNG_READ_INT_FUNCTIONS_SUPPORTED
#define PNG_READ_INVERT_ALPHA_SUPPORTED
#define PNG_READ_INVERT_SUPPORTED
#define PNG_READ_iTXt_SUPPORTED
#define PNG_READ_oFFs_SUPPORTED
#define PNG_READ_OPT_PLTE_SUPPORTED
#define PNG_READ_PACK_SUPPORTED
#define PNG_READ_PACKSWAP_SUPPORTED
#define PNG_READ_pCAL_SUPPORTED
#define PNG_READ_pHYs_SUPPORTED
#define PNG_READ_QUANTIZE_SUPPORTED
#define PNG_READ_RGB_TO_GRAY_SUPPORTED
#define PNG_READ_sBIT_SUPPORTED
#define PNG_READ_SCALE_16_TO_8_SUPPORTED
#define PNG_READ_sCAL_SUPPORTED
#define PNG_READ_SHIFT_SUPPORTED
#define PNG_READ_sPLT_SUPPORTED
#define PNG_READ_sRGB_SUPPORTED
#define PNG_READ_STRIP_16_TO_8_SUPPORTED
#define PNG_READ_STRIP_ALPHA_SUPPORTED
#define PNG_READ_SUPPORTED
#define PNG_READ_SWAP_ALPHA_SUPPORTED
#define PNG_READ_SWAP_SUPPORTED
#define PNG_READ_tEXt_SUPPORTED
#define PNG_READ_TEXT_SUPPORTED
#define PNG_READ_tIME_SUPPORTED
#define PNG_READ_TRANSFORMS_SUPPORTED
#define PNG_READ_tRNS_SUPPORTED
#define PNG_READ_UNKNOWN_CHUNKS_SUPPORTED
#define PNG_READ_USER_CHUNKS_SUPPORTED
#define PNG_READ_USER_TRANSFORM_SUPPORTED
#define PNG_READ_zTXt_SUPPORTED
#define PNG_SAVE_INT_32_SUPPORTED
#define PNG_sBIT_SUPPORTED
#define PNG_sCAL_SUPPORTED
#define PNG_SEQUENTIAL_READ_SUPPORTED
#define PNG_SET_CHUNK_CACHE_LIMIT_SUPPORTED
#define PNG_SET_CHUNK_MALLOC_LIMIT_SUPPORTED
#define PNG_SETJMP_SUPPORTED
#define PNG_SET_USER_LIMITS_SUPPORTED
#define PNG_sPLT_SUPPORTED
#define PNG_sRGB_SUPPORTED
#define PNG_STDIO_SUPPORTED
#define PNG_tEXt_SUPPORTED
#define PNG_TEXT_SUPPORTED
#define PNG_TIME_RFC1123_SUPPORTED
#define PNG_tIME_SUPPORTED
#define PNG_tRNS_SUPPORTED
#define PNG_UNKNOWN_CHUNKS_SUPPORTED
#define PNG_USER_CHUNKS_SUPPORTED
#define PNG_USER_LIMITS_SUPPORTED
#define PNG_USER_MEM_SUPPORTED
#define PNG_USER_TRANSFORM_INFO_SUPPORTED
#define PNG_USER_TRANSFORM_PTR_SUPPORTED
#define PNG_WARNINGS_SUPPORTED
#define PNG_WRITE_16BIT_SUPPORTED
#define PNG_WRITE_ANCILLARY_CHUNKS_SUPPORTED
#define PNG_WRITE_BGR_SUPPORTED
#define PNG_WRITE_bKGD_SUPPORTED
#define PNG_WRITE_cHRM_SUPPORTED
#define PNG_WRITE_COMPRESSED_TEXT_SUPPORTED
#define PNG_WRITE_CUSTOMIZE_ZTXT_COMPRESSION_SUPPORTED
#define PNG_WRITE_FILLER_SUPPORTED
#define PNG_WRITE_FILTER_SUPPORTED
#define PNG_WRITE_FLUSH_SUPPORTED
#define PNG_WRITE_gAMA_SUPPORTED
#define PNG_WRITE_hIST_SUPPORTED
#define PNG_WRITE_iCCP_SUPPORTED
#define PNG_WRITE_INTERLACING_SUPPORTED
#define PNG_WRITE_INT_FUNCTIONS_SUPPORTED
#define PNG_WRITE_INVERT_ALPHA_SUPPORTED
#define PNG_WRITE_INVERT_SUPPORTED
#define PNG_WRITE_iTXt_SUPPORTED
#define PNG_WRITE_oFFs_SUPPORTED
#define PNG_WRITE_OPTIMIZE_CMF_SUPPORTED
#define PNG_WRITE_PACK_SUPPORTED
#define PNG_WRITE_PACKSWAP_SUPPORTED
#define PNG_WRITE_pCAL_SUPPORTED
#define PNG_WRITE_pHYs_SUPPORTED
#define PNG_WRITE_sBIT_SUPPORTED
#define PNG_WRITE_sCAL_SUPPORTED
#define PNG_WRITE_SHIFT_SUPPORTED
#define PNG_WRITE_sPLT_SUPPORTED
#define PNG_WRITE_sRGB_SUPPORTED
#define PNG_WRITE_SUPPORTED
#define PNG_WRITE_SWAP_ALPHA_SUPPORTED
#define PNG_WRITE_SWAP_SUPPORTED
#define PNG_WRITE_tEXt_SUPPORTED
#define PNG_WRITE_TEXT_SUPPORTED
#define PNG_WRITE_tIME_SUPPORTED
#define PNG_WRITE_TRANSFORMS_SUPPORTED
#define PNG_WRITE_tRNS_SUPPORTED
#define PNG_WRITE_UNKNOWN_CHUNKS_SUPPORTED
#define PNG_WRITE_USER_TRANSFORM_SUPPORTED
#define PNG_WRITE_WEIGHTED_FILTER_SUPPORTED
#define PNG_WRITE_zTXt_SUPPORTED
#define PNG_zTXt_SUPPORTED
/* end of options */
#endif /* PNGLCONF_H */
+667 -611
Ver Arquivo
Diferenças do arquivo suprimidas por serem muito extensas Carregar Diff
+1843 -1765
Ver Arquivo
Diferenças do arquivo suprimidas por serem muito extensas Carregar Diff
+1065 -396
Ver Arquivo
Diferenças do arquivo suprimidas por serem muito extensas Carregar Diff

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