1973 Commits

Autor SHA1 Mensagem Data
Vadim Pisarevsky 2154e6251f fixed typo in CMakeLists.txt 2011-08-17 19:54:50 +00:00
Vadim Pisarevsky aea4486cde made "make package_source" work on Mac too. 2011-08-17 19:05:10 +00:00
Vadim Pisarevsky bd2185dbe8 regenerated PDFs one more time 2011-08-17 17:32:18 +00:00
Vadim Pisarevsky 98a8c2170d copied the latest tutorials & find_obj.py sample from trunk to 2.3 branch 2011-08-17 17:28:58 +00:00
Vadim Pisarevsky d040791dd9 copied the latest tutorials & find_obj.py sample from trunk to 2.3 branch 2011-08-17 13:09:53 +00:00
Vadim Pisarevsky 57ce8ee687 fixed multi-scale Hough transform (ticket #1320) 2011-08-17 09:18:08 +00:00
Vadim Pisarevsky e71745a390 disabled fast-math by default. 2011-08-17 09:01:25 +00:00
Vadim Pisarevsky 8d6d592c0b updated Python samples from trunk 2011-08-16 18:31:43 +00:00
Vadim Pisarevsky 280012472b backported updated ffmpeg from trunk to 2.3 2011-08-16 13:45:55 +00:00
Vadim Pisarevsky 94de7d3f3f 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:34:56 +00:00
Vadim Pisarevsky 14a35a8d7b fixed Ximea constructor call 2011-08-15 14:16:22 +00:00
Vadim Pisarevsky f779a85a99 added tests for Vec & Matx multiplication 2011-08-15 13:08:46 +00:00
Vadim Pisarevsky 41a35c3c95 fixed bug #1306 (Vec assignment) 2011-08-15 12:29:39 +00:00
Vadim Pisarevsky 14c05d9bcf updated PDFs (fixed many broken links) 2011-08-15 12:18:41 +00:00
Andrey Kamaev ed349fc3b5 Fixed Android build 2011-08-15 09:11:29 +00:00
Andrey Kamaev d3b14b7111 Documenation: merged recent changes from trunk 2011-08-15 08:13:53 +00:00
Vadim Pisarevsky 567949e2c4 fixed tickets #1301, #1303, #1305 2011-08-14 19:43:59 +00:00
Vadim Pisarevsky 574a961cc1 added cv.py micro-module for backward compatibility with existing Python scripts using prev-gen Python API. 2011-08-12 18:00:35 +00:00
Vadim Pisarevsky b206f9c269 another attempt to fix #1299 2011-08-12 15:16:54 +00:00
Vadim Pisarevsky 4e85c7dbda Branch 2.3 is overridden with the latest copy from trunk. 2011-08-12 12:56:59 +00:00
Vadim Pisarevsky d37beb4074 fixed Matx33 * Point3 and Matx22 * Point operators (ticket #1299) 2011-08-12 12:54:38 +00:00
Vadim Pisarevsky 50d70cf9c6 made retina code compile with VS2005/VS2008 2011-08-12 11:28:17 +00:00
Vadim Pisarevsky 6b162ea211 improved list formatting in opencv refman. Updated PDFs. 2011-08-12 10:52:06 +00:00
Andrey Kamaev 6c767b281e Java API: generated test stubs for 2 new functions 2011-08-12 08:14:51 +00:00
Vadim Pisarevsky 02c98152d7 export HOGDescriptor::getDefaultPeopleDetector() to Python (ticket #1298) 2011-08-12 07:50:55 +00:00
Andrey Kamaev 67a98bfd24 Fixed search in html documentation (ticket #1232) 2011-08-12 07:23:54 +00:00
Ana Huaman ea971df8bf Added SURF_Homography sample codee 2011-08-12 03:33:52 +00:00
Alexander Mordvintsev d80a41a543 comment 2011-08-12 03:23:44 +00:00
Alexander Mordvintsev d7a2081230 peopledetect.py sample added (TODO: use builtin svm data instead of people_hog.txt)
some old cv api use cleaning
2011-08-12 03:05:31 +00:00
Ana Huaman 9fba5e8d8c Added code for SURF using FLANN Matcher and drawMatches options 2011-08-12 00:19:42 +00:00
Vadim Pisarevsky c65c67eff4 preserve alpha channel in PNG, when imread(..., -1) is called (ticket #1107) 2011-08-11 22:38:09 +00:00
Vadim Pisarevsky 6942799669 fixed kmeans center initialization in the case of huge matrices (ticket #1291); fixed warinings in libtiff. 2011-08-11 22:27:18 +00:00
Vadim Pisarevsky 1e6f1cc15c another attempt to fix IPP detection on x64 (ticket #1294) 2011-08-11 22:18:51 +00:00
Vadim Pisarevsky 2fe3ed75c1 fixed building retina code on Windows 2011-08-11 22:02:52 +00:00
Vadim Pisarevsky 411f51367e raised threshold in ORB test; temporarily disabled always failing Opponent SIFT test 2011-08-11 21:35:04 +00:00
Vadim Pisarevsky 907fafce5a fixed retinaDemo compile errors 2011-08-11 20:45:51 +00:00
Vadim Pisarevsky 2842d34611 added retina model, by Alexander Benoit 2011-08-11 20:42:08 +00:00
Ana Huaman 04ebef1be2 Added two sample code for features 2D - SURF descriptor and detector 2011-08-11 20:30:25 +00:00
Andrey Kamaev 8442dab01d Html documentation: fixed text wrapping for sidebar 2011-08-11 19:06:41 +00:00
Vadim Pisarevsky d1588c0439 added support for Ximea cameras (missing parts in the prev. commit) 2011-08-11 18:06:09 +00:00
Vadim Pisarevsky bd0d8429ee added support for Ximea cameras (patch by Marian Zajko), fixed GCC warnings in MOG2 background subtractor. 2011-08-11 17:59:30 +00:00
Vadim Pisarevsky d58459ccdd fixed default maxSize case in cvHaarDetectObjects (ticket #1296) 2011-08-11 13:16:00 +00:00
Vadim Pisarevsky d3350b50aa avoid infinite loops when 0-area image is filtered (ticket #1295) 2011-08-11 13:12:59 +00:00
Vadim Pisarevsky c3caaf3b88 fixed IPP detection on 64-bit Windows (ticket #1294) 2011-08-11 11:47:54 +00:00
Bernat Gabor a0a46b0d70 Added a video input tutorial with PSNR and SSIM. 2011-08-11 09:34:03 +00:00
Andrey Kamaev caec96a199 Fixed libraries order in Android.mk (thanks to Anush Moorthy for the report) 2011-08-11 08:28:05 +00:00
Andrey Kamaev 7c8a49b475 Java API: Removed meaningless tests 2011-08-11 07:21:28 +00:00
Andrey Morozov c0cd317284 fixed compile errors in samples 2011-08-11 07:04:27 +00:00
itsyplen bc64567d37 Update samples using cmd parser 2011-08-11 06:46:09 +00:00
Andrey Kamaev 1863f58a67 Java API: generated test stubs for recently added functions/classes 2011-08-10 16:57:15 +00:00
Andrey Kamaev ebb08bc015 Java API: Fixed bug in Mat port; fixed/implemented all java tests for core module 2011-08-10 15:56:47 +00:00
Maria Dimashova 04e4eaabaf updated openni finding by cmake (#1190, #1252); updated doc on kinect 2011-08-10 14:58:55 +00:00
Leonid Beynenson aa78754720 Changed tabulation. 2011-08-10 14:21:20 +00:00
Andrey Kamaev 92afe9e40a Java API: fixed input List<List<smth>> arguments 2011-08-10 14:09:22 +00:00
Vadim Pisarevsky f9ef92d45a multilib support added (ticket #363) 2011-08-10 12:49:52 +00:00
Vadim Pisarevsky 645bb0bfbc added size check to static Mat::diag() 2011-08-10 12:40:41 +00:00
Andrey Kamaev 25261e6ebc Added new tests written by Hussein Abdinoor; Added support for new classes in features2d and imgproc 2011-08-10 12:35:22 +00:00
itsyplen d3f8b2eeb7 Updated using new cmd parser 2011-08-10 12:33:03 +00:00
Vadim Pisarevsky 5678464f7d fixed OpenCVConfig.cmake for statically built OpenCV on Mac 2011-08-10 12:08:58 +00:00
Vladislav Vinogradov bad7dadb75 added remap test, fix compilation error 2011-08-10 12:05:24 +00:00
Maria Dimashova 7f1995f19a fixed cmake status of openni 2011-08-10 11:59:37 +00:00
Maria Dimashova 1d69a3bc6a fixed compile error on ubuntu64 2011-08-10 11:49:10 +00:00
Maria Dimashova 3569e18f0e fixed compile errors and warning on ubuntu64 2011-08-10 11:36:55 +00:00
Vladislav Vinogradov 8bb9e4302e added registerPageLocked/unregisterPageLocked functions
added convert functions to BruteForceMatcher_GPU
other minor fixes
2011-08-10 11:32:48 +00:00
itsyplen 24279c2c11 Updated sample using new cmd parser 2011-08-10 11:29:32 +00:00
itsyplen 49fb4ecbc1 Updated samples using new cmd parser 2011-08-10 10:41:38 +00:00
Vadim Pisarevsky c9ed7fee34 fixed C++ implementation of Delaunay triangulation and moved it from sample to imgproc. 2011-08-10 10:28:01 +00:00
Anatoly Baksheev edcfa64d99 experimental kernels for cuda 2011-08-10 09:51:36 +00:00
Andrey Kamaev 50d1d711de Added reference to Nvidia TADP into Android tutorial; refactored both Android tutorials; fixed some rst warnings 2011-08-10 09:45:17 +00:00
Maria Dimashova 6287c113c8 fixed compile errors 2011-08-10 09:43:44 +00:00
Anatoly Baksheev b535356ec7 experimental kernels for cuda 2011-08-10 09:35:57 +00:00
Maria Dimashova 81cb7b2c5e added read/write methods for SimpleBlobDetector and DenseFeatureDetector; added their creation to FeatureDetector::create method (#1290) 2011-08-10 09:17:37 +00:00
itsyplen 7f32e8131d Updating samples using cmd parser 2011-08-10 08:56:27 +00:00
itsyplen 86cd9fadf3 Fixed some grammatical errors 2011-08-10 08:52:52 +00:00
Maria Dimashova 999481273e fixed memory leak in SIFT wrapper (#1288) 2011-08-10 07:02:50 +00:00
Vladislav Vinogradov ff1fb9f7cc minor stitching optimization (use cpu matchers instead of gpu matchers on multicore processors) 2011-08-10 06:53:24 +00:00
Vadim Pisarevsky cfdf464052 initial (buggy) C++ version of Delaunay triangulation 2011-08-09 15:11:32 +00:00
Andrey Kamaev 1248775177 Java API: added JNI_OnLoad to eliminate jvm warnings 2011-08-09 14:58:24 +00:00
Maria Dimashova 1d7877eeaf added doc on supported Kinect properties (#1251) 2011-08-09 14:00:11 +00:00
Maria Dimashova ec150c24e3 added CV_CAP_PROP_OPENNI_REGISTRATION property for getting 2011-08-09 13:58:05 +00:00
Vladislav Vinogradov c5adaa717b minor stitching optimization (improve buffer reuse) 2011-08-09 13:08:54 +00:00
Andrey Kamaev b319e7f403 Java API: added support for BruteforceMatcher-SL2 2011-08-09 12:52:47 +00:00
Andrey Kamaev e553a37fe7 Removed outdated android-opencv subproject 2011-08-09 11:55:43 +00:00
Andrey Kamaev d9d74678a9 Java API: corrected names of methods in Utils class; fixed bug in DMatch (thank for Hussein Abdinoor); added new utility method loadResource 2011-08-09 11:46:27 +00:00
Vladislav Vinogradov 13e392763b fixed compilation error without cuda 2011-08-09 11:35:42 +00:00
Maria Dimashova abd12c052a fixed doc warning 2011-08-09 09:59:44 +00:00
Andrey Kamaev 0a78cdf264 Updated Android tutorials 2011-08-09 09:56:16 +00:00
Maria Dimashova fd27ba248b added doc on CvERTrees 2011-08-09 09:52:08 +00:00
Vladislav Vinogradov 36bfa6ea1c minor 2011-08-09 09:15:04 +00:00
Vladislav Vinogradov b2b1d41da8 moved GpuMat class to separate header file 2011-08-09 07:51:48 +00:00
Vladislav Vinogradov f4f38fcced fixed gpu test failure on empty test data 2011-08-09 06:25:01 +00:00
Bernat Gabor a5f38806ab Small modifications to the scan tutorial and added the video-input-psnr-ssim sample file. 2011-08-09 05:43:58 +00:00
Maria Dimashova 1f07209f6c fixed CvCapture_OpenNI constructor (removed all exceptions) (#1237) 2011-08-08 15:47:52 +00:00
Maria Dimashova 4839bfb1a5 fixed grammar of the comment 2011-08-08 14:03:37 +00:00
Andrey Kamaev 2ec815be89 Updated android tutorial for native development 2011-08-08 13:26:23 +00:00
Maria Dimashova fcd999ae6e added SL2 (squared L2 distance) and implemented the descriptors matching in L2 using SL2 2011-08-08 13:18:12 +00:00
Vladislav Vinogradov a9fdc1bdff added buffered version of cornerHarris, cornerMinEigenVal, histEven and histRange 2011-08-08 13:05:50 +00:00
Vladislav Vinogradov 12b7090a6f fixed some warnings under win64 2011-08-08 13:03:18 +00:00
Maria Dimashova dc14b45617 minor changes 2011-08-08 12:47:04 +00:00
Anatoly Baksheev 5c691907ed minor improvements in cmake-file for gpu samples 2011-08-08 12:16:23 +00:00
Vladislav Vinogradov 42ced17c2c fixed some warnings under win64 2011-08-08 11:28:14 +00:00
Anatoly Baksheev 7d82a14d1a ticket 1280 2011-08-08 09:23:44 +00:00
Vladislav Vinogradov 767ac9aa10 added gpu::Canny function 2011-08-08 08:53:55 +00:00
Andrey Kamaev 0a2c7803b6 Fixed mixChannels argument types 2011-08-08 07:08:58 +00:00
Vladislav Vinogradov dfaa8af6ee fixed #1279 2011-08-08 05:59:09 +00:00
Bernat Gabor ed801d3e65 Added the "Interoperability with OpenCV 1" tutorial. 2011-08-08 05:58:10 +00:00
Andrey Kamaev b486a96601 Java API: refactored Core tests 2011-08-08 05:16:31 +00:00
Leonid Beynenson 93a0237b64 Added the tutorial "Using OpenCV Android binary package to compile applications, which use OpenCV from native level". 2011-08-07 20:46:51 +00:00
Vadim Pisarevsky 8ceda8372c corrected PCA::PCA and PCA::operator () description (thanks to Adrian Kaehler) 2011-08-07 17:12:09 +00:00
Vadim Pisarevsky e5c66b5ed4 fixed pointPolygonTest(). Now it returns -1, 0, 1 when measureDist=false (ticket #1285) 2011-08-07 16:58:29 +00:00
Andrey Kamaev 99e3b5a24e Java API: cleaned imgproc tests; changed signatures of several java functions 2011-08-06 21:19:23 +00:00
Vadim Pisarevsky e2e4ee2f53 disable implicit numpy array use in old-style Python bindings because of hard-to-fix memory leaks (ticket #1177) 2011-08-06 20:15:29 +00:00
Vadim Pisarevsky 3f40a1d8c3 fixed KeyPoint::convert(keypoints,point2f) (ticket #1282; thanks to cooperz for the patch) 2011-08-06 19:42:29 +00:00
Vadim Pisarevsky dd1315b22a fixed rank check in 8-point Fundamental Matrix algorithm (patch by F. Devernay; ticket #1273) 2011-08-06 19:38:09 +00:00
Vadim Pisarevsky 04a4e51920 fixed parallel block matching stereo correspondence algorithm (ticket #997; thanks to jbieger for the patch) 2011-08-06 19:28:20 +00:00
Vadim Pisarevsky cffd89f88f added some missing declarations of the functions, noticed in the ticket ##229 2011-08-06 19:17:14 +00:00
Vadim Pisarevsky 4b94d91955 added _InputArray::_InputArray(const Scalar& s) constructor (ticket #1214) 2011-08-06 18:52:05 +00:00
Vadim Pisarevsky fc4d64ae6b temporarily fixed #1279 2011-08-06 18:03:08 +00:00
Andrey Kamaev 6aa1eafc27 Java API: added ticket number to failed test 2011-08-06 12:17:00 +00:00
Andrey Kamaev c16f018afd mc 2011-08-06 10:03:24 +00:00
Anatoly Baksheev 7e2fffb194 ticket #1280 2011-08-06 09:59:51 +00:00
Alexander Mordvintsev 6fdbf15aed updated lt_track.py sample
- continuous feature detection
- track verification by reverse tracking
2011-08-06 09:56:42 +00:00
Andrey Kamaev 1991440cf7 Java API:
* fixed manually ported classes;
* added vector<vector<Point>> support;
* changed argument types for 3 functions;
* finished tests for org.opencv.core.Core class.
2011-08-06 09:22:07 +00:00
Andrey Kamaev 6d9075812f Java tests: fixed 1 test in core and 1 disabled 2011-08-05 16:33:46 +00:00
Andrey Kamaev cb2b28636f Java tests: removed test_1 2011-08-05 15:49:08 +00:00
Andrey Kamaev ccc356829c Fixed color conversion bug 2011-08-05 15:46:13 +00:00
Maria Dimashova 7db3dd4f0a fixed comment and doc on L2 2011-08-05 14:05:41 +00:00
Maria Dimashova 0d55ccac74 added check of output image in drawKeypoints() 2011-08-05 14:04:38 +00:00
Andrey Kamaev a46da86325 Java API: fixed script for coverage calculation 2011-08-05 13:04:14 +00:00
Andrey Kamaev 39c5eb2f66 Java API: new tests for Core and Imgproc from Hussein Abdinoor 2011-08-05 11:59:45 +00:00
Andrey Kamaev a0590273e9 Java API: fixed problems in video and ml modules; generated test stubs for all exported functions (now we have 1701 tests). 2011-08-05 08:39:28 +00:00
itsyplen 9b1cb7227a fixed errors in cmdparser 2011-08-04 16:12:55 +00:00
itsyplen 6d3e92517c new version of command line parser 2011-08-04 16:09:04 +00:00
Andrey Pavlenko 10444f4e50 Java API: vector_vector support for KeyPoint/DMatch/char
Testing: 1178/4/576
2011-08-04 14:24:30 +00:00
Andrey Kamaev 874196e384 Implemented read/write methods for FlannBasedMatcher; fixed features2d wrappers for java 2011-08-04 14:13:07 +00:00
Vadim Pisarevsky 16b0fcf083 fixed CvHomographyEstimator::runKernel (ticket #1275) 2011-08-04 13:06:08 +00:00
Andrey Pavlenko 70caece001 Java API: fitEllipse arg type is changed to List<Point>, test is updated as well
Testing: 1176/4/580
2011-08-04 12:00:53 +00:00
Andrey Pavlenko 024482adac Java API: (per code review) adding check (data.length % CvType.channels(t) != 0) for Mat:: put/get, adding 2 tests for them
Testing: 1176/4/580
2011-08-04 11:45:48 +00:00
Andrey Pavlenko 3f22bd6dff Java API: fixed wrong JNI name for native delete() 2011-08-04 11:13:09 +00:00
Andrey Kamaev 13185ad8f7 Implemented read/write methods for BriefDescriptorExtractor class 2011-08-04 09:56:10 +00:00
Andrey Kamaev 28732d4300 Java API: added tests for SiftDescriptorExtractor and OrbDescriptorExtractor 2011-08-04 06:21:17 +00:00
Andrey Kamaev 1523cb04d1 Added CV_EXPORTS to OrbDescriptorExtractor (ticket #1276) 2011-08-04 06:19:52 +00:00
Andrey Kamaev be5328178f Fixed reading/writing parameters for OrbDescriptorExtractor 2011-08-04 06:18:24 +00:00
Andrey Kamaev ff9da914ec Fixed bug in checkRange - integer Mats were always in range 2011-08-04 06:17:23 +00:00
Andrey Kamaev 6944c0dba4 JavaAPI: fixed typo; some constants are moved to private section; added tests for BruteForceMatcher-Hamming 2011-08-03 19:46:30 +00:00
Andrey Kamaev cc6b7edf95 Java API: added wrapper for GenericDescriptorMatcher 2011-08-03 16:17:33 +00:00
Kirill Kornyakov c44cdef24c android tutorial updated: spelling and note about spaces in path to OpenCV package 2011-08-03 16:06:17 +00:00
Andrey Pavlenko 790ff8f42a Java API: minEnclosingCircle() fixed (float& -> float[])
Testing: 1130/0/584
2011-08-03 15:23:33 +00:00
Andrey Kamaev e1cd84bb25 Java API: added and fixed several tests 2011-08-03 15:14:55 +00:00
Kirill Kornyakov 19c3cf45cc java tests: deleted image writing to sdcard 2011-08-03 14:59:30 +00:00
Kirill Kornyakov 66e79167ee java tests: updated testFillConvexPolyMatMatScalarIntInt, testFitEllipse colorWhite added 2011-08-03 14:18:26 +00:00
Vadim Pisarevsky c57799a877 fixed 8-point case in findFundamentalMat (ticket #1262). findFundamentalMat needs to be rewritten actually (as well as findHomography) 2011-08-03 14:04:14 +00:00
Andrey Pavlenko 8b16dbe791 Java API: calcOpticalFlowPyrLK() args types are changed to vector<>
Testing: 1130/0/585
2011-08-03 13:31:51 +00:00
Kirill Kornyakov 0595ca7454 reverted 2011-08-03 13:21:21 +00:00
Andrey Kamaev 7d513a6671 Java API: added tests for FlannBased DescriptorMatcher 2011-08-03 13:20:01 +00:00
Kirill Kornyakov 2a47ab6e08 java tests: minor updates 2011-08-03 13:12:39 +00:00
Andrey Kamaev 2d820d2321 Java API: added tests for BruteForceMatcher (L1) 2011-08-03 12:57:19 +00:00
Andrey Kamaev 472820d889 Java API: added tests for BruteForceMatcher (L2) 2011-08-03 12:49:52 +00:00
Vladislav Vinogradov 3fac5d54ca minor fix 2011-08-03 12:30:40 +00:00
Vladislav Vinogradov 5f03548530 minor fix 2011-08-03 12:18:17 +00:00
Vladislav Vinogradov 3ab2728da1 gpu device layer code refactoring 2011-08-03 12:10:36 +00:00
Andrey Pavlenko fa0daa4809 Java API: fixing converters (copyData=true) and samples compilation
Testing: 1079/0/592
2011-08-03 11:57:00 +00:00
Andrey Kamaev 6935e95c2a Fixed crash in BruteForceMatcher::clone 2011-08-03 11:30:09 +00:00
Kirill Kornyakov 43628ab868 java: bugfix in RotatedRect, one test fixed 2011-08-03 09:43:36 +00:00
Andrey Kamaev 69588dfabf Java API: fixed bugs; added tests for SURF and BRIEF descriptor extractors 2011-08-03 09:27:50 +00:00
Kirill Kornyakov f81e6f82f5 Android.mk now automatically founds all cpp-files 2011-08-03 09:11:13 +00:00
Andrey Pavlenko 25db453812 Java API: (per code review) renaming and moving utility classes
Testing: 1079/0/584
2011-08-03 08:53:27 +00:00
Andrey Pavlenko 02d5d93c3a Java API: code clean-up
Testing: total 1079, failures 584, errors 0.
2011-08-03 08:19:06 +00:00
Vadim Pisarevsky 29bf7384dc fixed useOptimized(); added checkHardwareSupport description (ticket #1258) 2011-08-03 08:17:58 +00:00
Vadim Pisarevsky 217f345e66 updated libtiff to 3.9.5 (ticket #1271) 2011-08-03 07:51:40 +00:00
Vadim Pisarevsky c8378fa4c4 added "inclusive" & "exclusive" adjectives to startrow, endrow, startcol, endcol parameter descriptions (ticket #1272) 2011-08-02 19:50:13 +00:00
Andrey Kamaev 1890a0ae9a Java API: added new tests for SURF and STAR feature detectors 2011-08-02 16:10:58 +00:00
Andrey Kamaev 257c0bf413 Java API: Fixed typo 2011-08-02 15:14:13 +00:00
Andrey Pavlenko f1d24e1868 Java API: adding missing class 2011-08-02 15:00:00 +00:00
Andrey Kamaev 2a6dd2e807 Fixed Android build 2011-08-02 14:56:51 +00:00
Andrey Pavlenko 2c5e79507d Java API: new types and converters are added, jni suffixes changed 2011-08-02 14:56:47 +00:00
Andrey Kamaev 99b8e2db14 Java API: added tests for FAST feature detector 2011-08-02 14:32:43 +00:00
Andrey Morozov bba4f9e5d6 removed property. added automatically define number of cpus for decoding video 2011-08-02 14:27:21 +00:00
Kirill Kornyakov d87f513b4f java tests: addede tests for Converter and core classes by Hussein Abdinoor 2011-08-02 13:47:40 +00:00
Andrey Pavlenko f4e28f87d8 Java API: new converters, findFundamentalMat/cornerSubPix/findHomography/solvePnP/solvePnPRansac and their tests are updated 2011-08-02 13:10:23 +00:00
Vadim Pisarevsky ce2f4c6a4d propagated fix for EXR from 2.3 branch to trunk 2011-08-02 12:55:05 +00:00
Vadim Pisarevsky f0b3cb1845 added getNumberOfCPUs() function 2011-08-02 12:42:58 +00:00
Andrey Kamaev 6be846aa52 Java API: string constants for features2d classes are converted to enums 2011-08-02 11:40:41 +00:00
Vadim Pisarevsky 4884c911fb fixed compile warnings in FLANN about too long integer constants 2011-08-02 11:39:31 +00:00
Andrey Kamaev d5d897b7cb Java API: added support for read/write functions in features2d 2011-08-02 10:58:26 +00:00
Andrey Pavlenko d86605f6a7 Java API: class KDTree is added to ignore list, JNI funcs names for renamed classes are fixed 2011-08-02 08:45:06 +00:00
Vladislav Vinogradov 6ff975af9e added gpu::equalizeHist function 2011-08-02 08:33:27 +00:00
Andrey Pavlenko 36a5b6e215 Java API: tests are updated after randu/randn args types changes 2011-08-02 07:57:09 +00:00
Andrey Pavlenko 96ca253a00 Java API: added class pointer ret type support, CV_EXPORTS_AS(x) support for classes, vector<T> as ret type support, randu/randn params type changed to double 2011-08-01 16:11:24 +00:00
Andrey Morozov d0176d69f2 fixed property for ffmpeg 2011-08-01 16:05:34 +00:00
Andrey Kamaev d8b93b3569 Minor bugfix. 2011-08-01 15:06:11 +00:00
Andrey Kamaev 10ea580fa8 Java API: Added more classes from features2d. 2011-08-01 14:31:38 +00:00
Vladislav Vinogradov 33df5ea07b added gpu::calcHist function 2011-08-01 13:15:37 +00:00
Andrey Kamaev 69352e5241 Java API: Added base port of features2d.DescriptorMatcher class 2011-08-01 12:47:04 +00:00
Vadim Pisarevsky f85b9754e0 fixed Vec*scalar operations, fixed minEnclosingCircle Python interface. 2011-08-01 12:01:43 +00:00
Kirill Kornyakov 5868875ab9 doc: added maxSize parameter to CascadeClassifier::detectMultiScale 2011-08-01 08:23:03 +00:00
Vladislav Vinogradov e746b3e8ae added buffered version of pyrDown and pyrUp
added stream support to downsample, upsample, pyrUp and pyrDown
2011-08-01 08:15:31 +00:00
Vladislav Vinogradov cf42f3088d fixed doc bug in gpu/introduction (ticket #1260) 2011-08-01 05:35:34 +00:00
Andrey Kamaev 5041773f0d Java API: updated Mat port 2011-07-31 20:23:23 +00:00
Andrey Morozov c697f6a3f8 fixed build ffmpeg v0.8.1 2011-07-31 17:34:31 +00:00
Vadim Pisarevsky a826a983d3 added EMD to ch7 hist sample, fixed bug with cv::min/cv::max (ticket #1270), fixed mixChannels description 2011-07-31 09:23:05 +00:00
Kirill Kornyakov edead9a2c2 java tests: added some new asserts, and new tests by Hussein Abdinoor 2011-07-30 12:01:00 +00:00
Kirill Kornyakov c11a7184c9 minarea.cpp sample reformatted 2011-07-30 11:59:09 +00:00
Andrey Morozov c55a37ad7c fixed build with ffmpeg 0.5.X 2011-07-30 10:26:37 +00:00
Andrey Morozov c0a0c881ee minor fix 2011-07-30 07:52:06 +00:00
Andrey Pavlenko b99c5db124 Java API: tests for polylines() and goodFeaturesToTrack(), fix of GFTT corners arg type 2011-07-29 15:18:04 +00:00
Andrey Morozov 418bc6dbe9 minor fix for ffmpeg 2011-07-29 14:37:54 +00:00
Andrey Pavlenko 750c56cc0e adding arg name (to fix doc reference and wrappers consistency) 2011-07-29 14:31:28 +00:00
Leonid Beynenson dc13ec205d Made additional internal header modules/objdetect/src/cascadedetect.hpp, and moved
some internal classes and template functions from cascadedetect.cpp to this header.
This will allow to make a child class for such classes as LBPEvaluator, etc.
Also made all "private" fields in LBPEvaluator and HaarEvaluator to be "protected".
2011-07-29 14:18:45 +00:00
Andrey Morozov d87a56a639 added support new ffmpeg (0.8.X) 2011-07-29 14:17:42 +00:00
Andrey Kamaev 680ec04b53 Fixed regex bug in script for java tests coverage calculation 2011-07-29 14:06:02 +00:00
Andrey Kamaev 387e8c9ef5 Java API: star detector is covered by tests 2011-07-29 12:42:23 +00:00
Andrey Pavlenko f5008f9cdf Java API generator changes randu/randn/inRange args to Scalar; Java tests are updated. 2011-07-29 08:12:00 +00:00
Andrey Kamaev b7fc94c251 Java API: Finished SURF tests. 2011-07-29 07:39:56 +00:00
Vadim Pisarevsky db19eb1586 converted part of ch12 2011-07-28 20:51:05 +00:00
Andrey Kamaev 754a8c1b66 Java API: added more tests 2011-07-28 16:03:16 +00:00
Andrey Pavlenko 6b888ada8a Java API tests are added: fillConvexPoly, mixChannels, drawContours 2011-07-28 15:48:08 +00:00
Andrey Pavlenko 8c328a9e3b Java API: typo in converter is fixed 2011-07-28 15:37:46 +00:00
Vadim Pisarevsky 0c096b3dc2 fixed floodfill with mask parameter when no mask is passed 2011-07-28 14:10:17 +00:00
Andrey Pavlenko d2080a117e Java API: converter for vector<KeyPoint> is fixed; test for inRange() improved 2011-07-28 14:08:55 +00:00
Vadim Pisarevsky f278dd782d fixed loading floating-point EXR images. 32-bit integer EXR are still to be checked. 2011-07-28 13:34:37 +00:00
Andrey Pavlenko ec1023813f Java API: KeyPoint::toString() is added 2011-07-28 13:09:58 +00:00
Andrey Pavlenko d2233f9de2 Java API: converters vector<> to/from Mat are fixed 2011-07-28 12:43:22 +00:00
Andrey Kamaev 954f3c1eb9 Java: fixed Mats comparison; added resahpe mathod to core.Mat; fixed test resources extraction. 2011-07-28 12:13:11 +00:00
Andrey Pavlenko 3f5089411a 2 'findContours(...)' tests are added 2011-07-28 11:28:33 +00:00
Vadim Pisarevsky 7c54ebfe1b corrected OpenEXR status in CMakeLists.txt 2011-07-27 20:53:19 +00:00
Vadim Pisarevsky 3636eec789 fixed flow matrix dimensionality in EMD 2011-07-27 20:13:50 +00:00
Vadim Pisarevsky eebe4860da added minEigThreshold parameter to calcOpticalFlowPyrLK to filter out bad points earlier. 2011-07-27 19:07:45 +00:00
Bernat Gabor 6b5ea5931d Added the "Mask operations on matrices" tutorial (with its sample). Plus modified some other core tutorials. 2011-07-27 17:52:27 +00:00
Andrey Kamaev eb61a62dbc Added missed import 2011-07-27 17:17:32 +00:00
Andrey Kamaev eff9eda9a6 Added some new tests for Java API 2011-07-27 17:06:33 +00:00
Andrey Kamaev e3ede92db6 Added vector_Point3f_to_Mat converter and some java API tests 2011-07-27 16:26:46 +00:00
Andrey Pavlenko 9235a80109 Java API generator: KeyPoint converters from/to Mat 2011-07-27 15:16:24 +00:00
Andrey Kamaev 20b4d0fae9 Added vector_Point2f_to_Mat converter 2011-07-27 15:03:16 +00:00
Andrey Kamaev c966d077c0 Added some tests; Added assertion for comparing Mats with epsilon. 2011-07-27 14:19:45 +00:00
Andrey Pavlenko 5ba826d297 Java API generator: pointers handling fixed, KeyPoint manual port added 2011-07-27 14:09:49 +00:00
Andrey Kamaev 3b558508be TEGRA optimized add8u, sub8u and logical 8u operations 2011-07-27 13:36:53 +00:00
Vadim Pisarevsky eac0309324 converted live camera calibration sample 2011-07-27 13:03:59 +00:00
Andrey Kamaev 039fd554f2 Added several Android tests 2011-07-27 12:55:43 +00:00
Bernat Gabor 26bd6b3f5f Added the File Input and Output using XML and YAML files tutorial. 2011-07-27 11:35:11 +00:00
Kirill Kornyakov f7ff65f5df added java tests for imgproc by Hussein Abdinoor 2011-07-27 07:14:06 +00:00
Andrey Pavlenko 55aab59e26 class & funcs ignore list support is added 2011-07-26 13:40:26 +00:00
Andrey Kamaev a69c29016c Make build log of Android samples and tests less verbose 2011-07-26 12:59:51 +00:00
Kirill Kornyakov 423ecfb42a added stub java tests 2011-07-26 10:27:51 +00:00
Andrey Kamaev e22045502d Fixed module detection in gen_javadoc.py script 2011-07-26 09:13:30 +00:00
Andrey Pavlenko fc7219d1db new tests stubs 2011-07-26 08:17:58 +00:00
Andrey Kamaev a4af33758d Added Android tests coverage calculation into build 2011-07-26 08:17:52 +00:00
Andrey Pavlenko d58a5b269d statistic report improved 2011-07-26 07:50:44 +00:00
Andrey Kamaev 617bb92e8c Fixed dependencies for Android projects 2011-07-26 07:32:33 +00:00
Andrey Kamaev 3b59a51347 Fixed pch support on linux 2011-07-26 07:07:38 +00:00
Marius Muja b5cfe6be32 Specifying correct parameter types for cv::flann::GenericIndex and cv::flann::Index_ 2011-07-25 23:58:54 +00:00
Andrey Pavlenko 55e71a5cd7 a couple of new smoke tests; Mat.java code clean-up 2011-07-25 15:09:16 +00:00
Andrey Kamaev 322b09fc12 Removed outdated stuff from Android build scripts 2011-07-25 13:42:23 +00:00
Andrey Kamaev e7642f66d9 Fixed install terget for Android examples 2011-07-25 13:17:11 +00:00
Andrey Kamaev ac7e16fdf6 Fixed camera output format handling 2011-07-25 12:32:33 +00:00
Andrey Pavlenko 4ddc1a6477 script to find Java API methods that not covered by auto-generated JUnit stubs 2011-07-25 12:13:37 +00:00
Andrey Kamaev b542a38a01 Fixed camera libs setting in Android.mk 2011-07-25 11:18:48 +00:00
Andrey Kamaev 8ab16f66a8 Fixing native camera for Android 2011-07-25 11:16:32 +00:00
Bernat Gabor 2d3606a58f Finished the DFT tutorial for the core section. 2011-07-25 10:06:03 +00:00
Kirill Kornyakov d0cac8a93a bugfix in cmake for java api 2011-07-25 07:47:18 +00:00
Andrey Kamaev ddf48c781a Fixed Android build on linux 2011-07-25 07:36:09 +00:00
Bernat Gabor f25603112a Added Fernandos first tutorial regarding SVMs. Extended the global links (conf.py). Corrected the author names. Minor modification to the dft tutorial. 2011-07-25 07:15:52 +00:00
Andrey Kamaev f91aad326c Fixed precompiled headers support for opencv_test_gpu 2011-07-24 22:07:43 +00:00
Andrey Kamaev 0f6503d9a9 Fixed precompiled headeds for non-windows systems. 2011-07-24 21:08:36 +00:00
Andrey Kamaev a17b693aa9 Fixed build of Android samples and tests 2011-07-24 20:44:20 +00:00
Andrey Kamaev 3aea74d408 Fixed precompiled headers support (fixed formatting, fixed dependencies generation) 2011-07-24 19:22:58 +00:00
Maria Dimashova 221422467e fixed priors usage in ertrees 2011-07-24 18:15:53 +00:00
Vadim Pisarevsky d8417af086 fixed and improving formatting in opencv2refman.pdf. added support for n-channel mask in Mat::copyTo() and n-channel images in cv::compare(). fixed 2 compile warnings in opencv_python. 2011-07-24 10:34:14 +00:00
Vadim Pisarevsky df78bc04d6 converted book samples from ch4; fixed potential alignment problems in QTKit video capturing module 2011-07-23 19:11:17 +00:00
Andrey Kamaev 98375e1d4b Refactoring of native camera implementation 2011-07-22 15:37:01 +00:00
Bernat Gabor ffe7a658fb Sample files for image scanning, basic Mat, file I/O. Added Victors removed tutorials back in the system. Some typo fixing.Expanded conf.py with new global links. 2011-07-22 15:11:59 +00:00
Andrey Pavlenko 3d9cb082c9 making CV data type to be int 2011-07-22 15:11:35 +00:00
Andrey Kamaev 8378ba7554 Fixed Android package build 2011-07-22 14:11:16 +00:00
Kirill Kornyakov 387334e991 java tests: imgproc test cleaned 2011-07-22 13:58:53 +00:00
Andrey Pavlenko e9cd8296af fixed warnings in generated Java code (accurate imports) 2011-07-22 13:53:49 +00:00
Andrey Kamaev ebf9916242 Fixed android samples; fixed cmake files 2011-07-22 13:34:25 +00:00
Anatoly Baksheev cb9dd71f82 compilation 2011-07-22 13:26:31 +00:00
Anatoly Baksheev de204fe413 2011-07-22 13:24:27 +00:00
Andrey Kamaev 712ea05058 Refactored CMakeLists.txt for java module 2011-07-22 13:10:50 +00:00
Vadim Pisarevsky 41df54e75f fixed several typoes and errors in the refman (ticket #1203) 2011-07-22 12:50:49 +00:00
Kirill Kornyakov 1098566a2f java api: fixed ctor in RotatedRect, added 114 tests by Hussein Abdinoor 2011-07-22 12:47:11 +00:00
Andrey Pavlenko 2bc9bca349 classes/files renaming, some code refactoring 2011-07-22 12:35:52 +00:00
Vadim Pisarevsky b700521b95 fixed trim_weights in boosting (thanks to frankman for the patch; ticket #1231) 2011-07-22 12:20:43 +00:00
Vadim Pisarevsky 216fbc004a fixed printing Mx0 matrices (ticket #1247) 2011-07-22 12:15:22 +00:00
Kirill Kornyakov ed96af94cc added mk files for NDK-builder of opencv_java project 2011-07-22 10:44:40 +00:00
Andrey Pavlenko 83e2ecd5e1 renaming the class and file to Tiltle case to meet Java conventions 2011-07-22 07:43:33 +00:00
Andrey Pavlenko e92ad9275d renaming the class and its file 2011-07-22 07:41:22 +00:00
Andrey Pavlenko a89b4f019c renaming the class and file to Tiltle case to meet Java conventions 2011-07-22 07:40:24 +00:00
Andrey Kamaev e9458c1f6d Errors from javadoc generator are redirected to log file. 2011-07-22 06:13:04 +00:00
Andrey Kamaev bba5653bf0 Added option to automatically move constants to private list 2011-07-22 04:54:19 +00:00
Andrey Kamaev 078eae7154 Added cmake dependency on version.hpp. From now cmake will automatically rerun if version.hpp file is changed. 2011-07-21 21:44:48 +00:00
Andrey Kamaev 0067c755dd Minor android.toolchain.cmake enhancement 2011-07-21 21:43:41 +00:00
Vadim Pisarevsky 0bf4d9ec2b fixed Xcode 4.1 compile errors in png codec in highgui 2011-07-21 19:50:20 +00:00
Andrey Kamaev 6d288978ab Fixed typo 2011-07-21 19:05:21 +00:00
Andrey Pavlenko eb5e22dd74 Java API generator: refactored manual const and funcs handling, collected real 'import' needs for java classes (to eliminate eclipse warnings in java classes) 2011-07-21 17:20:17 +00:00
Vadim Pisarevsky a28112472c put the smaller opencv_tutorials.pdf to SVN 2011-07-21 13:41:40 +00:00
Vadim Pisarevsky 84862ae5a1 fixed 2 typos in linux_eclipse tutorial 2011-07-21 13:36:32 +00:00
Andrey Kamaev 8782914fc8 Aded setPreviewDisplay call to java camera samples 2011-07-21 09:57:46 +00:00
Maria Dimashova 0d7a37c1e7 added an ability to make push_back to the empty matrix 2011-07-21 09:38:25 +00:00
Anatoly Baksheev 3a1beb1c01 added cv::gpu::pow, ticket #1227 2011-07-21 08:47:44 +00:00
Gary Bradski c722128ddd edited another way of using eclipse using cmake 2011-07-21 01:03:41 +00:00
Vadim Pisarevsky bddcc6ffcc fixed xcolor warnings when building opencv_tutorials.pdf 2011-07-20 22:21:32 +00:00
Andrey Kamaev f6647085cd Restored corrupted images in Android binary package tutorial. 2011-07-20 19:24:21 +00:00
Bernat Gabor 43e083f145 Ok, now optimized the tutorial size for real. Made JPG/PNG optimization for all the images. Modified some tutorial files to follow these size optimizations. Now the tutorial PDF generated is 3.95MB, so enjoy! 2011-07-20 18:08:25 +00:00
Alexey Spizhevoy a23406ea6c added missing header 2011-07-20 12:56:21 +00:00
Andrey Kamaev 5a2e493d12 Fixed image positioning in tutorial 2011-07-20 11:21:00 +00:00
Andrey Kamaev 27f060c707 Fixed list formatting 2011-07-20 07:54:08 +00:00
Andrey Kamaev 22dcee47d3 Added Android binary package tutorial 2011-07-20 05:39:55 +00:00
Bernat Gabor a2975f337a 1) Converted all images to JPG to reduce size.
2) Added a raw Latex page break directive after each TOC tree. (For the PDF tutorial look).
3) Two finished tutorials: 
   a) one describing how the Mat data structure works and its output capabilities (format function) (demonstration YouTube video included).
   b) one describing image scanning operations plus the LUT function (demonstration YouTube video included). 
   c) a basic filtering approach (plus multi row image scanning demonstration) in the work.
2011-07-19 22:08:54 +00:00
Andrey Kamaev f503b029a7 Allowed to build html documentation without pdf documentation. 2011-07-19 20:27:58 +00:00
Andrey Kamaev 05ff8217e0 Removed debug print form cmake 2011-07-19 17:09:44 +00:00
Andrey Kamaev 930b2995eb Fixed Android samples; Fixed bugs in cmake (java module). 2011-07-19 17:07:01 +00:00
Andrey Pavlenko fd4fe3ef5a Java API generator: updated CvException class path 2011-07-19 16:59:12 +00:00
Andrey Pavlenko 4df98f2c2c Java API generator: class properties support added 2011-07-19 16:47:49 +00:00
Kirill Kornyakov 6b789dd2ea java tests: adopted for the new package structure 2011-07-19 16:08:26 +00:00
Andrey Kamaev dfdb15be79 Added Java packages support to cmake 2011-07-19 15:37:17 +00:00
Andrey Pavlenko 070579d9c3 Java API generator: fixed consts generation 2011-07-19 15:04:05 +00:00
Andrey Pavlenko 84ec0d2881 Java API packages restructured (require further changes in CMake part to work) 2011-07-19 13:25:40 +00:00
Vadim Pisarevsky f4f2340039 fixed just introduced compile errors on Mac 2011-07-19 13:07:51 +00:00
Vadim Pisarevsky ff5e97c8e4 added COVAR_ and SORT_ enums to core.hpp; fixed many, many VS2005, VS2010 and MinGW (GCC 4.5.2) warnings 2011-07-19 12:27:07 +00:00
Kirill Kornyakov 6bb1c07fd4 java tests: COLOR_RGB2GRAY used instead of CV_BGR2GRAY 2011-07-19 12:25:07 +00:00
Andrey Kamaev 6932203349 Fixed Android samples; updated black list of enums. 2011-07-19 12:10:05 +00:00
Kirill Kornyakov 1fc895ff42 java tests: added tests for calcHist, calcBackProject, Mat.size() method renamed 2011-07-19 11:44:30 +00:00
Kirill Kornyakov e715894ffb fix by Vadim in calcBackProject: additional case is considered 2011-07-19 11:17:03 +00:00
Andrey Kamaev d445903b31 Added FPS measurement to some Android samples 2011-07-19 11:06:27 +00:00
Andrey Kamaev 9e00cc59af Added face datection Android sample 2011-07-19 09:01:36 +00:00
Andrey Pavlenko 343bba93db Java API: added int64 and Vec3d support; small code refactoring performed 2011-07-19 08:56:31 +00:00
Andrey Kamaev 5e3e283e30 Changed labels for some android samples 2011-07-19 07:40:26 +00:00
Marius Muja d8ebf22444 Fixes 2011-07-18 22:01:42 +00:00
Marius Muja ddc1267410 Checking for already defined proprocessor macros 2011-07-18 22:00:06 +00:00
Marius Muja 481256017e Fixing ticket #1230 2011-07-18 21:57:28 +00:00
Kirill Kornyakov 39ec7099e2 java tests: split test, minor improvements 2011-07-18 16:41:17 +00:00
Vadim Pisarevsky 1badec0b2d eliminated opencv_extra_api.hpp (all the functionality is moved to the regular OpenCV headers) 2011-07-18 16:31:30 +00:00
Andrey Kamaev 72541721a1 Added image-manipulations android sample, other samples are updated; added Mat.size method to java API. 2011-07-18 16:17:07 +00:00
Andrey Pavlenko 3119af1c72 Java API: fixed bug in converter vector<Mat> <-> Mat 2011-07-18 16:07:11 +00:00
Andrey Pavlenko 60d59aa9d2 Java API: added missing converter vector<Mat> <-> Mat 2011-07-18 14:23:45 +00:00
Andrey Pavlenko d989b6c89a Java API: added pointers support (Point*, double*) 2011-07-18 13:56:49 +00:00
Kirill Kornyakov 51922658b6 java tests: added test for OFLK, FD, other improvements 2011-07-18 13:50:36 +00:00
Vadim Pisarevsky 16ba62dcd5 added COLOR_... enumeration to imgproc.hpp and EVENT_... enumeration to highgui.hpp 2011-07-18 13:05:34 +00:00
Andrey Pavlenko 86105b8727 Java API: fix in Mat::put(r,c,double[]vals) method 2011-07-18 09:27:48 +00:00
Andrey Kamaev cc3c034cf6 Android samples: class SampleViewBase which uses native camera is renamed. 2011-07-18 09:13:05 +00:00
Andrey Pavlenko 1e2880b7aa Java API: fix in Mat::put methods, general improvements 2011-07-18 07:18:35 +00:00
Alexander Mordvintsev bcac8769b5 fixed broken python cv2.cpp build after rev.6089 2011-07-18 06:48:55 +00:00
Alexander Mordvintsev af99bee344 adjust cosine threshold in squares.py 2011-07-17 19:23:24 +00:00
Marius Muja c071f5487e Fixing ticket #1228 2011-07-17 06:26:40 +00:00
Andrey Kamaev be2c4ddbdd Android:
* Added manual port for getTextSize;
* Fixed bugs in "native camera" sample;
* Added 15-puzzle sample.
2011-07-16 22:31:47 +00:00
Alexander Mordvintsev ae5dd1d748 math.pi -> np.pi
squares.py sample added
2011-07-16 18:29:51 +00:00
Leonid Beynenson 570041fed5 Fixed bug in modules/java/src/cpp/Mat.cpp
Removed some debugging insertions.
Added test for face detector.
Allowed tests to write on sdcard.
2011-07-16 13:29:20 +00:00
Andrey Pavlenko 75bcb1bcfa Java API generator: implementation of vector<> fixed 2011-07-16 11:40:04 +00:00
Leonid Beynenson 3885772f3e Added lbp cascade to the tests res/raw folder 2011-07-16 11:26:57 +00:00
Leonid Beynenson bf40a3a5b8 Added functions required for Java API wrappers generating converting Mat-s to/from vectors. 2011-07-16 11:25:33 +00:00
Kirill Kornyakov e76ad5509c java tests: bugfix in hconcat 2011-07-16 10:35:50 +00:00
Kirill Kornyakov eafa837e34 java tests: commited tests by Hussein Abdinoor 2011-07-16 10:25:05 +00:00
Vadim Pisarevsky f2e1a64c1b fixed "import cv" in the new python samples. corrected Python bindings to match the documentation and vice versa (NOTE: in cv2.stereoCalibrate the parameter ordering has been changed) 2011-07-16 09:35:56 +00:00
Andrey Pavlenko 5a5fe40542 Java API generator: implementation of vector<Point> support 2011-07-16 08:25:05 +00:00
Andrey Pavlenko ecba099754 Java API generator improvements:
- fixed return of complex types (Scalar, Point, etc)
- partial implementation of vector<> support (empty stubs for CPP-side converters)
2011-07-16 07:59:34 +00:00
Kirill Kornyakov 30f265a16a java tests: avoided copy and paste 2011-07-16 07:26:13 +00:00
Vadim Pisarevsky 8f41b2b23b commented off print (due to the report from the mailing list) 2011-07-15 19:43:34 +00:00
Andrey Kamaev 4cf1274327 Finished Android samples renaming 2011-07-15 16:50:41 +00:00
Andrey Kamaev 8288cc108d Continued Android samples renaming 2011-07-15 16:29:10 +00:00
Leonid Beynenson b1ed277110 Added Java functions, converting vectors to Mats and Mats to vectors. 2011-07-15 16:25:47 +00:00
Andrey Kamaev 7c6fc6e18a Android samples are renamed 2011-07-15 15:56:08 +00:00
Andrey Kamaev 39dab5e0cf Headers are included into opencv_java build 2011-07-15 15:26:29 +00:00
Andrey Pavlenko 4deec6f0f0 partial vector<> support in Java API generator 2011-07-15 15:01:25 +00:00
Andrey Kamaev cc447448ff Added native camera Android sample; Added manual port of VideoCapture class. 2011-07-15 14:03:53 +00:00
Leonid Beynenson c3d40ca0dd Changed 2011-07-15 13:59:06 +00:00
Leonid Beynenson 8625b5689d Added setters to Java API 2011-07-15 11:09:23 +00:00
Kirill Kornyakov c1dab7bf6e updated some java tests 2011-07-15 11:00:32 +00:00
Andrey Kamaev fae67e0b46 Refactored Android samples 2011-07-15 09:07:01 +00:00
Andrey Kamaev 72a55a4139 Refactored Android sample (1-java) 2011-07-15 07:18:45 +00:00
Evgeniy Kozinov c3e9d0dd7e fixed parser bug.
fixed TBB version in LatentSVM.
example works ok.
2011-07-15 06:35:12 +00:00
Andrey Kamaev a9508d2f67 Fixed android sample 2011-07-15 04:46:24 +00:00
Leonid Beynenson c8a603d853 Fixed bug in the function of search of Android applicvation path. 2011-07-14 18:41:09 +00:00
Andrey Kamaev b16fb5d518 Fixed Android build. 2011-07-14 16:48:15 +00:00
Vadim Pisarevsky 7702fa4d61 added improved version of the variational stereo correspondence algorithm by Sergey Kosov 2011-07-14 15:30:28 +00:00
Andrey Pavlenko 5f0c312087 - partial 'vector' support in Java API generator
- const ignore mask list added for Java API generator
2011-07-14 15:24:17 +00:00
Vadim Pisarevsky 12715c210d fixed mixed-type arithmetic operations (ticket #1224) 2011-07-14 14:54:05 +00:00
Leonid Beynenson 0db73575a6 Added class TermCriteria. 2011-07-14 14:52:58 +00:00
Vadim Pisarevsky e33bfb5ebf added haarcascades for ears detection (by Modesto Castrillón Santana) 2011-07-14 14:43:25 +00:00
Kirill Kornyakov da64ba1bde java tests: found a reason of crash (addWeighted bug #1224), some tests cleaned and added 2011-07-14 14:25:35 +00:00
Vadim Pisarevsky 2dea07f9f8 repaired Python bindings for functions using InputOutputArray 2011-07-14 14:13:10 +00:00
Andrey Kamaev f97e5f7353 Modified Android samples 2011-07-14 13:39:25 +00:00
Kirill Kornyakov 87ad9b1c3e samples C/C++: fixed compilation problem on Ubuntu 2011-07-14 12:50:07 +00:00
Andrey Kamaev 14bc6e3e6c Modified Android Samples 2011-07-14 12:47:07 +00:00
Vadim Pisarevsky 08f1f5769a ok. enabled TBB in LatentSVM, but need to check if it works 2011-07-14 12:11:18 +00:00
Vadim Pisarevsky 36ba3d691e temporarily switch off TBB 2011-07-14 11:51:43 +00:00
Vadim Pisarevsky ca2433c212 fixed opencv_flann (with flann 1.6) compile errors on Windows (VS2005 & VS2008) 2011-07-14 11:26:13 +00:00
Andrey Kamaev c52ab82bbf Minor Android samples fix 2011-07-14 10:48:48 +00:00
Andrey Kamaev 85c8a69fdf Fixed Android packaging script 2011-07-14 10:03:19 +00:00
Andrey Kamaev 20ec29f22e Android samples are included into the Android package 2011-07-14 09:34:57 +00:00
Andrey Kamaev a70f354c0f Andoid build fixed 2011-07-14 08:57:46 +00:00
Leonid Beynenson 510ca53687 Added the function minMaxLoc to JavaAPI as a manual ported function.
Added test for the function.
2011-07-14 08:36:48 +00:00
Andrey Pavlenko ab1ff12a71 class ignore list added for Java API generator 2011-07-14 08:15:35 +00:00
Andrey Pavlenko a99b80b1a9 funcs ignore list added for Java API generator 2011-07-14 08:10:47 +00:00
Andrey Kamaev 0b57d904db Fixed Android compilation on Windows 2011-07-14 07:44:33 +00:00
Andrey Kamaev 87cfcc8ee2 Fixed Android build 2011-07-14 07:04:36 +00:00
Vadim Pisarevsky 562914e33b upgraded to FLANN 1.6. Added miniflann interface, which is now used in the rest of OpenCV. Added Python bindings for FLANN. 2011-07-13 23:04:39 +00:00
Ana Huaman 4e42bf6308 Added reST tutorials for Contours (6 in imgproc) and for Corner Detection (4 in features2D) + links in conf.py 2011-07-13 17:53:45 +00:00
Maria Dimashova b64bb95860 added ability to reset view point of depth generator to normal one (#1195) 2011-07-13 17:05:57 +00:00
Andrey Kamaev 4d8a261d99 Allowed spaces in path to OpenCV (tested only Android build) 2011-07-13 15:47:04 +00:00
Andrey Kamaev 0b6fed32e3 Allowed spaces in Android NDK path 2011-07-13 14:48:16 +00:00
Andrey Pavlenko 801079e2ba partial implementation of complex out args in Java wrappers 2011-07-13 14:23:47 +00:00
Andrey Kamaev 066039fd15 Improved ANDROID_SDK_TARGET detection; improved NDK detection in android.toolchain.cmake 2011-07-13 13:06:14 +00:00
Ilya Lysenkov 2c2d7d7bbd Fixed findCirclesGrid for the case of working with 'square' asymmetric patterns. 2011-07-13 13:05:41 +00:00
Leonid Beynenson d60349b1fc Added to Java API classes Range and CvSlice. 2011-07-13 11:23:32 +00:00
Vadim Pisarevsky a69bd80b99 fixed opencv_video tests 2011-07-13 10:18:13 +00:00
Andrey Kamaev 6c668dd704 Fixed Android SDK searching 2011-07-13 09:17:41 +00:00
Andrey Kamaev 355f6d0a73 Fixed Android SDK searching 2011-07-13 09:10:21 +00:00
Vadim Pisarevsky baa7a8ca7f fixed INSTALL target build in Visual Studio (ticket #1220) 2011-07-13 09:01:18 +00:00
Vadim Pisarevsky 5352684647 fixed memleak in Python bindings (ticket #1219) 2011-07-13 08:55:06 +00:00
Vadim Pisarevsky 386f147597 a few minor fixes in Python samples 2011-07-13 06:19:21 +00:00
Ana Huaman f098d98908 Added moments_demo.cpp 2011-07-13 03:28:23 +00:00
Ana Huaman bbba2a0608 Added pointPolygonTest_demo code for tutorials 2011-07-13 02:43:02 +00:00
Andrey Pavlenko fbfddbd3ea - 'c_string' support added to Java API
- improved CV_IN_OUT/CV_OUT handling for generated Python/Java wrappers
2011-07-12 21:13:56 +00:00
Ana Huaman 9aa5e5b000 Added generalContours_demo2.cpp 2011-07-12 21:06:36 +00:00
Ana Huaman c21b747733 Added hull_demo.cpp code for tutorials 2011-07-12 20:28:50 +00:00
Ana Huaman edc1bd4c8c Added generalContours_demo1.cpp tutorial code 2011-07-12 19:51:23 +00:00
Evgeniy Kozinov 07eed8c489 refactoring latentSVM 2011-07-12 18:43:41 +00:00
Ana Huaman ea8e27961e Added sample code for tutorial findContours_demo.cpp 2011-07-12 18:40:51 +00:00
Andrey Kamaev ecfc8e97db Android toolchain default NDK path is updated for version r6 2011-07-12 17:20:48 +00:00
Leonid Beynenson 0ddc661882 Fixed bug in the operator of cv::Ranges-s intersection (operator &). 2011-07-12 16:33:26 +00:00
Andrey Kamaev bee4c347ba Fixed bug with ARM_TARGET caching 2011-07-12 16:22:52 +00:00
Andrey Kamaev 6623fe3b08 Added option INSTALL_ANDROID_EXAMPLES (default off); Added option for choosing SDK platform for Android tests and samples. 2011-07-12 15:59:31 +00:00
Vadim Pisarevsky 49c48aabff fixed typo in the license (ticket #1211) 2011-07-12 15:59:15 +00:00
Leonid Beynenson e59f530338 Added the class RotatedRect to Java API.
Added tests for the class.
2011-07-12 15:39:38 +00:00
Kirill Kornyakov b58dc21074 java tests: added 2 tests for calib3d, implemented assertMatNotEqual 2011-07-12 15:10:54 +00:00
Kirill Kornyakov 63f8feb2a1 java tests: added a chessboard image 2011-07-12 14:53:09 +00:00
Andrey Pavlenko 7ca50b2b3d org.opencv.utils renamed to org.opencv.android 2011-07-12 13:31:02 +00:00
Andrey Pavlenko bc9a9b714c adding runtime Android logging in Debug 2011-07-12 13:13:02 +00:00
Andrey Kamaev 7159845021 Added packaging script for Android 2011-07-12 12:59:26 +00:00
Vadim Pisarevsky 569b1ad582 embeded cv Python module into cv2. 2011-07-12 12:56:03 +00:00
Kirill Kornyakov 9b464199d6 java tests: Mat.inv and Mat.cross implemented, almost all Mat tests finished except put, get and dispose 2011-07-12 08:16:01 +00:00
Andrey Kamaev 2dd965b7f5 minor cmake corrections 2011-07-12 07:40:29 +00:00
Ana Huaman 7386269943 Added cornerDetector_Demo.cpp sample for tutorial of cornerMinEigenVal and cornerEigenValsAndVecs 2011-07-12 00:20:06 +00:00
Vadim Pisarevsky 21409de176 optimized sparse LK optical flow (tickets #1062 and #1210) 2011-07-11 23:03:05 +00:00
Ana Huaman 442f6b4100 Added cornerSubPix_Demo.cpp tutorial sample code 2011-07-11 22:03:23 +00:00
Ana Huaman 6c9f4d6423 Added goodFeaturesToTrack_Demo.cpp code for tutorials 2011-07-11 21:08:35 +00:00
Ana Huaman e2da35dc6e Added Harris corner detection sample tutorial 2011-07-11 19:59:17 +00:00
Andrey Pavlenko 4033d8324c native exception handling added 2011-07-11 15:28:09 +00:00
Kirill Kornyakov d227079753 java tests: added stubs for calib3d, features2d classes, some other updates 2011-07-11 15:19:53 +00:00
Andrey Kamaev ec866c5acd Improved rst_parser and javadoc generation scripts 2011-07-11 15:03:42 +00:00
Andrey Kamaev dfe7708f17 Improved javadoc comments generation scripts; fixed some typos in documentation 2011-07-11 13:33:05 +00:00
Andrey Pavlenko eea62ca6fb - added missing loadLibrary for inner classes
- added zero check for pointers in utils.cpp
2011-07-11 12:21:58 +00:00
Alexander Mordvintsev 3511bf81de help message printing 2011-07-11 09:59:23 +00:00
Alexander Mordvintsev c053532be1 sobel -> Sobel 2011-07-11 09:46:36 +00:00
Alexander Mordvintsev 0217ae3a70 faster detection and timing in facedetect.py 2011-07-11 09:21:27 +00:00
Andrey Pavlenko b5d864f579 'clib3d' support added 2011-07-11 08:33:12 +00:00
Alexander Mordvintsev 2a19db61e7 command line option for avi output in turing.py 2011-07-11 08:06:51 +00:00
Alexander Mordvintsev 848fa23a07 made boundingRects argument of segmentMotion CV_OUT
updated documentation
2011-07-11 07:51:15 +00:00
Alexander Mordvintsev c9d9d1ec92 lk_track.py window renamed 2011-07-11 07:47:56 +00:00
Alexander Mordvintsev b175348d93 motempl.py sample works 2011-07-11 07:42:37 +00:00
Alexander Mordvintsev b509cc2a4d contours.py sample added 2011-07-10 22:06:33 +00:00
Alexander Mordvintsev 514711af14 work on motempl.py sample 2011-07-10 21:23:32 +00:00
Alexey Spizhevoy 8a3d1937c3 fixed BFM GPU test compile-time error on ubuntu x64 in debug mode 2011-07-09 07:32:14 +00:00
Bernat Gabor 4168b75edc Some tutorial extending of the Windows install and usage. Display Image retouching. 2011-07-08 19:43:29 +00:00
Vadim Pisarevsky 6f6c1c75ba use Euler font for the formulas in the online docs too. 2011-07-08 16:25:09 +00:00
Vadim Pisarevsky 3f0c17b592 re-added the opencv_flann documentation 2011-07-08 16:14:13 +00:00
Anatoly Baksheev e1dd41d1e2 - fixed SetTo tests for GPU (a problem in test code)
- minor refactoring
2011-07-08 16:08:58 +00:00
Maria Dimashova 0b1575c485 fixed SIFT when keypoints vector is empty (#1162) 2011-07-08 15:54:57 +00:00
Andrey Kamaev fbed6d1d44 Javadoc comments genearion is integrated into the Java API build 2011-07-08 15:29:59 +00:00
Vadim Pisarevsky eff35f2341 fixed timeScale formula in CvCapture_FFMPEG::setProperty(... CV_CAP_PROP_POS_...) (ticket #1207) 2011-07-08 15:03:28 +00:00
Andrey Kamaev 7c43e7e7e0 Improved rst_parser; added javadoc comments generator; added javadoc markers to handwritten .java files 2011-07-08 15:00:11 +00:00
Alexander Mordvintsev 4151a4590e added lk_track.py sample (currently as a comparison between flow tracker implementations) 2011-07-08 14:58:22 +00:00
Andrey Pavlenko 086643f5a7 finalize() added to ported classes; javadoc anchor added to ported funcs 2011-07-08 14:46:41 +00:00
Maria Dimashova 370130e464 fixed PyramidAdaptedFeatureDetector (when mask is not empty) (#1206) 2011-07-08 14:41:43 +00:00
Maria Dimashova c380dd579b updated whitelist 2011-07-08 14:34:03 +00:00
Alexey Spizhevoy abe34e3b33 removed debug func. call 2011-07-08 14:00:54 +00:00
Alexey Spizhevoy e9837b0aa9 added support of old CC into GPU mean shift routines 2011-07-08 13:59:23 +00:00
Alexander Shishkov b50428bf65 removed -static-libstdc++ flag for compatibility with old MinGW version 2011-07-08 07:10:37 +00:00
Alexander Shishkov 3a8a729a52 removed CPack
added target package_source (tar or zip)
2011-07-08 07:08:59 +00:00
Vadim Pisarevsky 4e099d2e5c fixed memory leak in CvKNearest::train() and the constructor. 2011-07-08 06:48:18 +00:00
Andrey Kamaev 2cf34c7f46 Fixed few more bugs in rst_parser. Fixed small typos in documentation. 2011-07-08 04:31:13 +00:00
Vadim Pisarevsky ddd57e7496 commented off debugging print in cap_libv4l.cpp (ticket #807) 2011-07-07 22:58:20 +00:00
Vadim Pisarevsky b0aae19fb4 probably fixed parallel face detector (i.e. built with TBB), ticket #1185. Thanks to mengw for the patch 2011-07-07 22:52:54 +00:00
Vadim Pisarevsky af00cd5b75 Disabled -ffast-math in the case of GCC 4.6.x (ticket #1201) 2011-07-07 22:35:34 +00:00
Alexander Mordvintsev c3ef6e866f facedetect.py sample works 2011-07-07 22:33:36 +00:00
Vadim Pisarevsky db0dcaffeb fixed #1204 2011-07-07 22:10:13 +00:00
Vadim Pisarevsky 5bb8076d7d added centerPrincipalPoint=false to getOptimalNewCameraMatrix (ticket #1199) 2011-07-07 21:38:21 +00:00
Vadim Pisarevsky 38e0f84876 corrected css style - use the same background color for all text elements. 2011-07-07 17:00:09 +00:00
Vadim Pisarevsky 0940573e8b fixed a few more typos in the docs. 2011-07-07 16:59:09 +00:00
Vadim Pisarevsky 462d4a1dae opencl module is not ready for trunk yet 2011-07-07 16:40:44 +00:00
salmanulhaq 1e691daab4 ocl folder contains the gpu implementations 2011-07-07 16:35:20 +00:00
Andrey Kamaev 426c358352 Fixed bugs in rst_parser.py; added parsing of 'seealso' blocks 2011-07-07 16:33:02 +00:00
salmanulhaq fe86d25694 renamed gpu to ocl 2011-07-07 16:21:20 +00:00
salmanulhaq e22ad8050b OclMat implementation 2011-07-07 16:20:43 +00:00
Alexander Mordvintsev 9af213bf60 work on facedetect sample 2011-07-07 16:14:49 +00:00
salmanulhaq 64de562db2 Update OclMat to match GpuMat. Include ref counting, opearators, Scalar initialization. Tested for Intel OCL SDK. 2011-07-07 16:06:26 +00:00
Andrey Pavlenko 7432fc1d2d - 'String' (that is synonym of std::string) is added
- report generation added (<module>.txt)
2011-07-07 15:40:54 +00:00
Andrey Kamaev ed8a2af9b6 Improved rst parser; fixed bug in hdr_parser; some small fixes in documentation 2011-07-07 14:49:24 +00:00
Kirill Kornyakov 72cc69e431 java tests: split into packages, tests for VideoCapture implemented 2011-07-07 14:35:12 +00:00
Vadim Pisarevsky 5649f35757 some more bugfixed in 2.3 propagated to trunk 2011-07-07 11:43:21 +00:00
Vadim Pisarevsky a2287affb7 a few more fixes from Gabor 2011-07-07 11:36:40 +00:00
Andrey Kamaev 58b5256e05 Fixed C functions parsing in rst parser 2011-07-07 11:32:22 +00:00
Andrey Kamaev 741a689f65 Improved RST parser; fixed small typos found by new parser 2011-07-07 11:23:51 +00:00
Alexander Mordvintsev edf0b40d42 opt_flow.py demo 2011-07-07 07:55:49 +00:00
Alexander Mordvintsev 136d5b534a work on optical flow sample 2011-07-06 19:02:40 +00:00
Ana Huaman ff326988a5 Added histogram comparison tutorial in reST 2011-07-06 18:57:39 +00:00
Andrey Pavlenko 9f4df42e24 Initial classes support, improved generated java & cpp code formatting. 2011-07-06 18:56:09 +00:00
Vadim Pisarevsky 38afa582b0 possibly fixed problem reported in #1198 2011-07-06 18:45:11 +00:00
Ana Huaman 89115f0fcc Added BackProjection reST tutorial 2011-07-06 17:57:19 +00:00
itsyplen 6aab128afe Java tests: commited some core tests (to be cleaned) 2011-07-06 16:25:33 +00:00
Ana Huaman 9c8aafba27 Fixed small inconsistency in sample code calcBackProject_Demo2.cpp 2011-07-06 14:48:46 +00:00
Ana Huaman cf62a37f87 Added matchTemplate reST tutorial 2011-07-06 14:15:13 +00:00
Ana Huaman eac922ebd7 Added calcHist tutorial in reST 2011-07-06 09:33:03 +00:00
Bernat Gabor 7a7011bd4f Corrected(re-added) and extended the ImgProc Tutorial TOC entry. 2011-07-06 09:15:54 +00:00
Ana Huaman 080c6e817d Added Equalized Histogram reST tutorial + corrected Smoothing tutorial (images reduced and fixed link) 2011-07-06 04:22:00 +00:00
Bernat Gabor e18de3c6ab Added the OpenCV with Visual Studio tutorial. Enhanced, extended the Windows Installation one. Some minor CSS changes to avoid unnecessary large spaces inside enumerations in the tutorials. 2011-07-06 00:01:27 +00:00
Ana Huaman 20dd7b70c0 Added tutorial for BackProject in cpp (demo 2) - tutorial code 2011-07-05 18:08:46 +00:00
Andrey Kamaev 3156f27d41 Added initial version of rst_parser script 2011-07-05 17:29:54 +00:00
Kirill Kornyakov 80f0901dee java tests: merged with new CvType, implemented half of the tests for Mat 2011-07-05 16:26:00 +00:00
Andrey Pavlenko 2ef146c2c6 More code review feedbacks addressed: Mat c-tor and setTo uses Scalar, Java Mat::dispose() calls C++ Mat::release(). 2011-07-05 15:50:54 +00:00
Andrey Pavlenko 2cce7a87b8 Some of code review feedbacks addressed: CvType moved from Mat, new Mat c-tor, samples updated. 2011-07-05 14:50:16 +00:00
Vadim Pisarevsky 9a1ef7272d fixed 2 possible build problems (in opencv_gpu & docs) (ticket #1191 + fix from Steve Macao). removed obsolete stuff from opencv_extra_api.hpp, since with InputArray/OutputArray the existing C++ API can be successfully wrapped for Python. 2011-07-05 14:28:25 +00:00
Kirill Kornyakov ec6fb0bee2 java tests: now only OpenCVTestRunner contains android specific stuff 2011-07-05 14:03:28 +00:00
Andrey Kamaev 3fc879075b Fixed typo in features2d doc 2011-07-05 13:02:29 +00:00
Kirill Kornyakov 5688b014e9 JavaAPI: implemented Mat.dump method (analog for C++ stream <<) 2011-07-05 08:37:49 +00:00
Andrey Kamaev ff8fe39e23 removed duplicated compiler flags assignment 2011-07-05 06:42:56 +00:00
Ana Huaman 4f7a8f6fb0 Added calcBackProject_Demo1.cpp for tutorial sample code 2011-07-05 06:20:39 +00:00
Ana Huaman cc2bfdec30 Added compareHist_demo.cpp code 2011-07-04 23:12:27 +00:00
Ana Huaman 4ae5de7f1e Added MatchTemplate_Demo.cpp to tutorial sample code 2011-07-04 18:58:57 +00:00
Vadim Pisarevsky 5c23d3d96d possibly fixed occasional deletion of mymath.sty in the case of in-source builds (though, in-source builds are still not recommended) - ticket #1163. 2011-07-04 16:33:54 +00:00
Vadim Pisarevsky b33224f0b6 merged the latest fixes in 2.3 to trunk 2011-07-04 16:18:12 +00:00
Alexander Mordvintsev 55ba0af2bc use addWeighted for blending 2011-07-04 14:13:57 +00:00
Kirill Kornyakov 85166360f1 java tests updated: now they independent from android, test methods are sorted alphabetically 2011-07-04 12:21:56 +00:00
Andrey Kamaev f301cda780 Fixed 'Undefined control sequence' error in recently added tutorial 2011-07-04 12:19:40 +00:00
Andrey Kamaev 730622178b Turned off android camera and java wrappers for low Android API levels (android-8 is required for these components) 2011-07-04 11:41:39 +00:00
Andrey Kamaev 53ff93f3f9 Removed unnecessary variable disclosures from version config 2011-07-04 11:40:27 +00:00
Alexander Mordvintsev e9d63665b4 little simplification 2011-07-04 11:38:53 +00:00
Alexander Mordvintsev 15de28b069 turing.py sample added 2011-07-04 11:25:56 +00:00
Bernat Gabor 6be9fbfa6d Reformatted the TOC tables in tutorials to look just as good in PDFs as in HTML. Updated the default.css_t too for this. Added the "Windows Install" tutorial (with videos). 2011-07-04 11:04:56 +00:00
Kirill Kornyakov 43097c6afb lena added 2011-07-04 10:51:06 +00:00
Kirill Kornyakov 1649c8f6d0 some tests for highgui java added 2011-07-04 09:30:55 +00:00
Alexander Mordvintsev 5596c792bc find_obj.py sample added 2011-07-04 09:05:11 +00:00
Andrey Kamaev d96f533784 Instroduced separate option for Android examples - BUILD_ANDROID_EXAMPLES 2011-07-04 08:18:02 +00:00
Andrey Kamaev 65cb53aa1e Fixed Android tests and samples build 2011-07-04 06:33:10 +00:00
Vadim Pisarevsky 24b5be04cc fixed /incremental linker flag & opencv_ffmpeg.dll target dir in the case of static libs 2011-07-04 03:37:13 +00:00
Ana Huaman 6d549490fb Added calcHist_Demo.cpp tutorial code 2011-07-04 03:22:16 +00:00
Vadim Pisarevsky 7db6c31400 corrected opencv_ffmpeg.dll copying when the target dir does not exists yet 2011-07-04 00:35:56 +00:00
Vadim Pisarevsky 391603e2e8 fix cap_ffmpeg.cpp build when no ffmpeg is found 2011-07-03 23:45:35 +00:00
Vadim Pisarevsky a31ad531f0 fix build on Linux/Mac 2011-07-03 23:42:33 +00:00
Vadim Pisarevsky 8bd792d72b turn on build_package by default 2011-07-03 23:21:10 +00:00
Vadim Pisarevsky 4bc4cdb919 added BUILD_WITH_DEBUG_INFO option, which (when is turned off) lets user to get more compact binaries, especially in debug mode. reworked opencv_ffmpeg module. Now we have opencv_ffmpeg.dll and opencv_ffmpeg_64.dll, which have very few dependencies and can be used by any further OpenCV version. 2011-07-03 23:02:53 +00:00
Ana Huaman 08724393f4 Added tutorial sample code: EqualizeHist_Demo.cpp 2011-07-03 18:55:47 +00:00
Vadim Pisarevsky cd24a3ec45 exclude ffmpeg from static crt builds; correct TBB lib path on x64 2011-07-02 22:43:35 +00:00
Alexander Mordvintsev d3da43c8e5 distrans.py sample added 2011-07-02 22:21:19 +00:00
Alexander Mordvintsev 724cc5b481 floodfill.py sample added 2011-07-02 16:03:17 +00:00
Andrey Kamaev 1c96aac52e Fixed several cross-compiling issues. Fixed cmake status report. 2011-07-02 15:12:07 +00:00
itsyplen e1ad6b27cf several java tests added 2011-07-02 12:17:57 +00:00
Alexander Mordvintsev afad87b5f2 inpaint.py sample added 2011-07-02 07:13:31 +00:00
Vadim Pisarevsky f296e22580 updated with the latest fixes from Lena 2011-07-01 21:36:37 +00:00
Vadim Pisarevsky 53f67de6a1 fix displaying backprojectpatch picture, parameter description in planar subdivs; one more fix from Gabor 2011-07-01 21:33:41 +00:00
Elena Fedotova 14e70599f2 Purpose: 2nd review cycle - final 2011-07-01 21:25:19 +00:00
Elena Fedotova 7cc52490ec Purpose: 2nd review cycle - final 2011-07-01 21:09:31 +00:00
Elena Fedotova 11a03c89a4 Purpose: 2nd review cycle - final 2011-07-01 21:00:37 +00:00
Elena Fedotova b487ba4d63 Purpose: 2nd review cycle - final 2011-07-01 20:44:51 +00:00
Alexander Mordvintsev f0a4185b1f cv.Line -> cv2.line 2011-07-01 17:50:07 +00:00
Alexander Mordvintsev 84568cb18e python Sketcher utility class 2011-07-01 17:33:29 +00:00
Andrey Pavlenko ee10a38851 #863: typo fixed, minor changes in cpp generator 2011-07-01 15:58:16 +00:00
Andrey Pavlenko 2b83d416b0 #863: default Mat() c-tor, minor improvements 2011-07-01 15:48:13 +00:00
Alexander Mordvintsev aa695abad2 watershed.py sample added 2011-07-01 15:09:38 +00:00
Vadim Pisarevsky f8e1e88ce2 we do not need strmiids.lib anymore 2011-07-01 14:03:03 +00:00
Vadim Pisarevsky 4adcfc6215 we do not need strmiids.lib anymore 2011-07-01 13:42:18 +00:00
Kirill Kornyakov e958383225 added some tests to core module 2011-07-01 13:34:23 +00:00
Andrey Kamaev f8e42721d3 HelloAndroid sample is moved to samples/android 2011-07-01 13:12:05 +00:00
Andrey Kamaev e005570719 Fixed versioning bug: FIND_PACKAGE( OpenCV ) errors if no version specified 2011-07-01 13:11:16 +00:00
Kirill Kornyakov 7fed582d9f implemented static Mat.eye method 2011-07-01 13:11:03 +00:00
Andrey Kamaev 837b733a0a Modified cmake status report 2011-07-01 12:23:03 +00:00
Vadim Pisarevsky 3cbe53c5d2 got back to the old DLL naming scheme (opencv_core230_vs2001_64d.dll => opencv_core230[d].dll) 2011-07-01 12:14:51 +00:00
Vadim Pisarevsky a5d53e3e2f some more corrections from Gabor 2011-07-01 12:09:39 +00:00
Vadim Pisarevsky 69f55e9a99 some more corrections from Gabor 2011-07-01 12:05:48 +00:00
Andrey Pavlenko c7a3fc5d4e #863: sample text color changed from Green to Red. 2011-07-01 11:12:55 +00:00
Andrey Pavlenko 3159bd1a74 #863: 'string' args support added 2011-07-01 11:10:20 +00:00
Andrey Morozov 2b689f34f7 revert suffix in version 2011-07-01 10:45:58 +00:00
Vadim Pisarevsky 1dbd9a5547 updated pdf's for release (hopefully) 2011-07-01 10:35:26 +00:00
Vadim Pisarevsky 6c8a2b8888 propagated fixes in docs and cap_dshow to trunk 2011-07-01 09:39:22 +00:00
Vadim Pisarevsky 48a4493dfa a few corrections from Gabor 2011-07-01 09:31:16 +00:00
Alexander Mordvintsev 382e154cfd morphology python sample 2011-07-01 08:22:45 +00:00
Alexey Spizhevoy ad454d83b9 added gpu::buildWarpPlaneMaps and gpu::buildWarpCylindricalMaps functions, integrated into stitching 2011-07-01 07:07:54 +00:00
Andrey Kamaev 68f5a5a904 Reverted change from r5802 (it breaks install target for Android platform) 2011-07-01 06:58:53 +00:00
Alexey Spizhevoy 5f4ba8055f added tests for pyrDown and pyrUp (gpu) 2011-07-01 05:37:20 +00:00
Vincent Rabaud 3e1b0186fe - make sure we don't crash for an empty image 2011-07-01 01:28:14 +00:00
Vincent Rabaud 785e77086f - make sure we don't crash for an empty image 2011-07-01 01:26:00 +00:00
Ethan Rublee 74cc1803c4 Version modifications. 2011-07-01 01:25:27 +00:00
Ethan Rublee 08d3dcc709 minor edits to cmake. 2011-07-01 00:57:00 +00:00
Ethan Rublee 38b5d4ecc9 Adding namemangling to the opencv.pc file. 2011-07-01 00:14:09 +00:00
Vadim Pisarevsky 403b9b36a4 added missing break in setProperty() method (ticket #1183) 2011-06-30 20:50:05 +00:00
Elena Fedotova 9d2d0404e5 Purpose: 2nd review cycle. 2011-06-30 20:15:42 +00:00
Andrey Kamaev 529f103456 Merged name suffixes for windows (from 2.3 branch) 2011-06-30 19:45:52 +00:00
Andrey Kamaev 8771046092 Fixed version suffixes for Windows 2011-06-30 19:42:09 +00:00
Andrey Kamaev ec90265a08 Fixed compilation problem when building without CUDA 2011-06-30 17:01:15 +00:00
hartmut 7f260a0f0b fix for capture 2011-06-30 14:57:27 +00:00
Andrey Kamaev 01b3266612 Fixed Android target name for Android samples and tests 2011-06-30 14:56:39 +00:00
Kirill Kornyakov 9fbd47ffb1 added several tests for java/core module 2011-06-30 14:47:50 +00:00
Alexey Spizhevoy 5d703abdc2 fix for GPU module compile time (VS2010) error (from 2.3 branch) 2011-06-30 14:47:20 +00:00
Alexey Spizhevoy 674b763395 GPU: updated upsample, downsample functions, added pyrDown, pyrUp, added support of 16S filtering; put spherical warper on GPU (from opencv_stitching) 2011-06-30 14:39:48 +00:00
Andrey Kamaev a44d6aacc8 Android tests are included into cmake build 2011-06-30 14:35:35 +00:00
Alexander Mordvintsev 7f115db7a7 morphology.py sample stub 2011-06-30 14:17:31 +00:00
Andrey Kamaev 150c2215bb Fixed Android tests resources and settings 2011-06-30 14:16:14 +00:00
Ana Huaman 13bbc9ff71 Added Affine Transformation tutorial in reST 2011-06-30 13:42:46 +00:00
Andrey Kamaev 092699783a Added cmake script to build Android samples 2011-06-30 13:37:56 +00:00
Andrey Morozov b4c468836b corrected library names 2011-06-30 13:27:04 +00:00
Vadim Pisarevsky 995ce4bdcc :ocv:function => :ocv:cfunction for some old API 2011-06-30 12:25:36 +00:00
Andrey Morozov 341f9f9272 fixed compile error on VS2010 2011-06-30 12:21:39 +00:00
Kirill Kornyakov daa31a0696 autogenerated JUnit stub tests added 2011-06-30 12:07:31 +00:00
Vadim Pisarevsky cc9a1bb62f propagated some more fixes from 2.3 branch to the trunk 2011-06-30 12:06:26 +00:00
Vadim Pisarevsky ac0e7f6e85 the DocumentFragmentTests now reside in modules/python/test 2011-06-30 11:47:15 +00:00
Vadim Pisarevsky 6a964b81d4 added some pics, used by python tests, to samples/cpp. fixed python tests. fixed overflow on Core_Mul test 2011-06-30 11:46:29 +00:00
Vadim Pisarevsky 00ca5812d5 fixed many Sphinx warnings 2011-06-30 11:02:21 +00:00
Kirill Kornyakov f4894d57cd opencv_test package renamed to opencv.test 2011-06-30 09:39:30 +00:00
Kirill Kornyakov 217a782d94 opencv_test package renamed to opencv.test 2011-06-30 09:38:07 +00:00
Bernat Gabor 3ff8831ae9 Updated the TOC tree of the imgproc tutorial section. 2011-06-30 09:37:01 +00:00
Kirill Kornyakov 56e26b9624 initial commit of JavaAPI unit tests 2011-06-30 09:29:35 +00:00
Ana Huaman 64c8d8f2a0 Added Remap tutorial in reST 2011-06-30 09:08:04 +00:00
Andrey Kamaev aa47802e88 Modified version section to read version number from version.hpp;
Added search for ant and Android SDK (needed for Android tests and samples).
2011-06-30 07:24:35 +00:00
Bernat Gabor 5ee8293e7b Mixed up the linux_eclipse.rst file in the previous commit. Correcting it. 2011-06-30 00:59:47 +00:00
Bernat Gabor 762bc0f8af Some reST syntax correction. Now the PDF documentation builds correctly under Windows using MIKTEX. Some update on the tutorial structure. Some CSS syntax correction. Windows Install Tutorial v0.4. 2011-06-30 00:41:41 +00:00
Vadim Pisarevsky 9a2e0b81e9 fixed generation of opencv_ffmpeg in the case of static libs 2011-06-29 23:44:26 +00:00
Vadim Pisarevsky d8ea8ef98a propagated some more fixes from 2.3 branch to the trunk 2011-06-29 22:34:08 +00:00
Vadim Pisarevsky d5d0a2f8e0 propagated some more fixes from 2.3 branch to the trunk 2011-06-29 22:26:09 +00:00
Vadim Pisarevsky b204e73d9a propagated some more fixes from 2.3 branch to the trunk 2011-06-29 22:06:42 +00:00
Vadim Pisarevsky dacd265424 propagated some more fixes from 2.3 branch to the trunk 2011-06-29 22:04:43 +00:00
Vadim Pisarevsky 42da4bd438 updated reference manuals 2011-06-29 21:43:38 +00:00
Gary Bradski 04830e5dc0 Edit load and save to load, modify and save 2011-06-29 21:34:52 +00:00
Vadim Pisarevsky 9b71f222ee removed obsolete files from doc/tutorials 2011-06-29 20:01:24 +00:00
Vadim Pisarevsky 9289b7be7e added missing images for tutorials 2011-06-29 19:54:04 +00:00
Vadim Pisarevsky 43b772846b added latest tutorials from the trunk; fixed a few build problems 2011-06-29 19:30:55 +00:00
Vadim Pisarevsky a6de4b522b added latest tutorials from the trunk; fixed a few build problems 2011-06-29 19:30:11 +00:00
Vadim Pisarevsky 40853a7917 added latest tutorials from the trunk; fixed a few build problems 2011-06-29 19:28:14 +00:00
Vadim Pisarevsky 6414e3fcc8 added latest tutorials from the trunk; fixed a few build problems 2011-06-29 19:24:52 +00:00
Vadim Pisarevsky 30e393dfa6 added latest tutorials from the trunk; fixed a few build problems 2011-06-29 19:20:02 +00:00
Vadim Pisarevsky 05c98f568f corrected a few bugs in refman 2011-06-29 19:14:55 +00:00
Vadim Pisarevsky 36af349ab4 corrected a few bugs in refman 2011-06-29 19:13:19 +00:00
Vadim Pisarevsky 7cd48accc2 bump version to 2.3.1 in the header too (ticket #1178) 2011-06-29 17:45:41 +00:00
Ana Huaman 0a14f76731 Added 02 cpp sample files for tutorials: remap and Geometric Transformations (warpAffine and Rotation2D) 2011-06-29 17:39:12 +00:00
Vadim Pisarevsky 6d810b13be reference manuals merge is complete! 2011-06-29 17:23:10 +00:00
Vadim Pisarevsky 9638448c81 reference manuals merge is complete! 2011-06-29 17:21:43 +00:00
Vincent Rabaud 7f38aa60a2 fix #1169 2011-06-29 17:02:12 +00:00
Vincent Rabaud b5754550ab fix #1169 2011-06-29 17:01:23 +00:00
Andrey Morozov e7c62abbd6 fixed bug with building on VS2010 2011-06-29 15:26:18 +00:00
Vadim Pisarevsky 04cbb956bf fixed problem with copying huge matrices (and probably other operations on huge matrices) (#1176) 2011-06-29 15:21:49 +00:00
Vadim Pisarevsky da1f141422 reverted latest changes since they break user build scripts 2011-06-29 14:03:00 +00:00
Andrey Kamaev 3df6548c4a Android samples fixed - line endings are converted to unix style; autogenerated folders are added to ignore list 2011-06-29 13:42:46 +00:00
Andrey Kamaev 359b76bdad Fixed native camera support in Android.mk 2011-06-29 13:18:20 +00:00
Andrey Kamaev d6b6734619 Added new Android sample (Java API + Native) 2011-06-29 13:17:02 +00:00
Vadim Pisarevsky 37d76471ac added check for multi-channel matrices in cv::compare (ticket #1175) 2011-06-29 13:05:25 +00:00
Andrey Kamaev 4b61683071 Added one more Android sample (using OpenCV from native) 2011-06-29 12:26:27 +00:00
Vladislav Vinogradov 724a3c1473 added CUDA version info to gpu tests 2011-06-29 12:00:00 +00:00
Vladislav Vinogradov 52bdfbc7fc added OS info to gpu tests 2011-06-29 11:53:15 +00:00
Vladislav Vinogradov e8d2dd212c fixed gpu tests 2011-06-29 11:14:03 +00:00
Vladislav Vinogradov a4182b5da3 fixed build under linux 2011-06-29 10:57:48 +00:00
Vladislav Vinogradov d1b4b5f0de refactored gpu module tests 2011-06-29 10:14:16 +00:00
Andrey Kamaev 6e3142f04b Added second sample for Android Java API 2011-06-29 08:46:29 +00:00
Ilya Lysenkov 9074e79f7d ML doc fixes 2011-06-29 08:16:16 +00:00
Andrey Kamaev 96d29621b7 Fixes for path mangling feature 2011-06-29 06:27:08 +00:00
Andrey Kamaev 334cb1dcd1 Android sample is refactored according to Google code style guidelines for Android developers 2011-06-29 05:38:51 +00:00
Ana Huaman f27796e8cc Added Hough Circle Tutorial in reST 2011-06-29 04:05:17 +00:00
James Bowman 183be05274 Merge trunk bugfix r5723 2011-06-29 00:49:31 +00:00
Ana Huaman d32a134b0f Added Hough Lines Tutorial in reST 2011-06-29 00:20:05 +00:00
James Bowman 1d335bddfc Fix for SSE swapping bug 2011-06-28 23:29:15 +00:00
Ana Huaman 8f01f2cc9f Added 02 tutorials for Hough Lines and Circle detection in tutorial_code -- based on code existent 2011-06-28 19:32:48 +00:00
Ethan Rublee 773654e11a More work on the mangling of install paths. 2011-06-28 19:24:31 +00:00
Ethan Rublee 4f89292aab fix version in version.cmake 2011-06-28 16:19:35 +00:00
Ethan Rublee 6259c9ac6a First pass at name mangling based on version number, to support
side by side installs of OpenCV2.3.0 OpenCV2.3.1 OpenCV2.4.x, etc...
2011-06-28 16:02:09 +00:00
Ilya Lysenkov 284a9b083e Merged ml docs with 1.1 docs 2011-06-28 15:18:54 +00:00
Andrey Kamaev d673197d01 Added base Android Java sample 2011-06-28 15:12:14 +00:00
Ilya Lysenkov f8597ceb8b Improved docs of Neural Networks 2011-06-28 12:14:26 +00:00
Andrey Kamaev 820cecfa2d Fixed windows compatibility problems in Android.mk 2011-06-28 11:34:41 +00:00
Andrey Morozov 57344608ea revert changes 2011-06-28 09:24:26 +00:00
Andrey Kamaev f60bdb2473 Fixed Android.mk file generation 2011-06-28 08:48:23 +00:00
Ilya Lysenkov 0aaea76621 Improved docs of SVM 2011-06-28 08:11:25 +00:00
Andrey Kamaev 822b0bfe22 Minor bugfix 2011-06-28 07:20:30 +00:00
Andrey Kamaev 591cb1b3cf Fixed compiler options in Android build (Windows) 2011-06-28 05:51:41 +00:00
Andrey Kamaev ba7ee71c20 Numerous small fixes in CMakeLists.txt 2011-06-28 05:18:53 +00:00
Vadim Pisarevsky c6b7cfc13c continued merging of C, Python and C++ reference manuals 2011-06-27 22:42:45 +00:00
Vadim Pisarevsky 2776b42a7b propagated fix for Matx(Matx::diag_type) constructor from branch 2.3 to trunk 2011-06-27 20:01:05 +00:00
Vadim Pisarevsky 25887e693b removed the obsolete tests from the trunk as well. 2011-06-27 19:57:56 +00:00
Vadim Pisarevsky a2880a547a fixed Matx<m, n>::diag(const Matx<m, n>::diag_type& d) constructor. 2011-06-27 19:50:54 +00:00
Ana Huaman 832262e376 Added Laplace and Canny reST tutorials and corrected a small bug in Canny sample code 2011-06-27 17:06:54 +00:00
Andrey Kamaev cf28846bce Fixed OpenCVConfig.cmake generation for windows 2011-06-27 16:55:10 +00:00
Andrey Kamaev 31fcd406e1 Eliminated cmake warning for case when python is not found. 2011-06-27 16:21:22 +00:00
Andrey Morozov 9ec6d4a467 modified name suffix on windows depending on the parameters of the assembly 2011-06-27 15:18:14 +00:00
Ilya Lysenkov fea2b6e5dd Documented CvSVMParams 2011-06-27 14:45:36 +00:00
Andrey Kamaev b43ae03328 * Install path share/opencv is renamed to share/OpenCV.
* Fixed zlib search.
* Fixed compiler/linker flags caching bug.
* Fixed OpenCVConfig.cmake generation (currently tested only on Unix).
2011-06-27 13:59:03 +00:00
Vadim Pisarevsky c21cf06c5f integrated most of the new Python stuff into the reference manual 2011-06-27 13:33:19 +00:00
Ana Huaman 20ab3d538b Updated conf.py with the latest added external links for tutorial docs 2011-06-27 13:21:01 +00:00
Vadim Pisarevsky 4bf7000c5c add a symbolic link "<install path>/share/OpenCV => <install path>/share/opencv" (ticket #1168) 2011-06-27 11:37:33 +00:00
Ilya Lysenkov 831857994c Updated Normal Bayes Classifier docs 2011-06-27 10:02:04 +00:00
Ilya Lysenkov 2835fe88ac Added ocv:cfunction:: check to check_docs.py 2011-06-27 09:44:29 +00:00
Ilya Lysenkov f7495e5845 Updated GBT docs 2011-06-27 09:42:18 +00:00
Ilya Lysenkov 0f0573e722 Minor improvements of boosting docs 2011-06-27 09:10:14 +00:00
Ana Huaman e1aa8eead3 Added reST tutorials for copyMakeBorder, Sobel Operator, updated links in conf.py 2011-06-27 08:31:34 +00:00
Andrey Kamaev f0227edd2c Minor python search improvements 2011-06-27 08:24:10 +00:00
Vadim Pisarevsky f9782b3a06 merged the latest changes (grammar & style fix) and pre-latest changes (C & old Python interface and relocated short descriptions). Also, made some additional corrections 2011-06-27 08:13:00 +00:00
Ilya Lysenkov ef392b0553 Minor doc fix 2011-06-27 08:12:50 +00:00
Ilya Lysenkov 86ab189b01 Improved docs of K-Nearest Neighbors 2011-06-27 08:10:04 +00:00
Vadim Pisarevsky 83f25a345d merged the latest changes (grammar & style fix) and pre-latest changes (C & old Python interface and relocated short descriptions). Also, made some additional corrections 2011-06-27 08:03:42 +00:00
Elena Fedotova ea520d1307 Purpose: 2nd review cycle. 2011-06-27 05:04:15 +00:00
Elena Fedotova 1c41a747f7 Purpose: 2nd review cycle. 2011-06-27 04:53:01 +00:00
Elena Fedotova eb0714da28 Purpose: 2nd review cycle. 2011-06-27 04:47:57 +00:00
Ana Huaman ae649e8c30 Added rst Tutorial for Filter 2D 2011-06-27 04:01:01 +00:00
Ana Huaman 3a0d3ebdde Added Laplace, Canny and Sobel samples in tutorial cpp code 2011-06-26 23:09:04 +00:00
Vadim Pisarevsky 8003831f93 inserted some C & old Python declarations into the reference manual 2011-06-26 21:37:16 +00:00
Alexander Mordvintsev 0dbbb89e8d added stereo_match.py sample 2011-06-26 21:34:39 +00:00
Ana Huaman 65575cef7e Added two new sample files for copyMakeBorder and filter2D 2011-06-26 18:36:59 +00:00
Vadim Pisarevsky d195871904 propagated fix for ticket #1168 to trunk 2011-06-25 09:39:41 +00:00
Vadim Pisarevsky c10fea8368 corrected installation path of OpenCVConfig.cmake on Linux/BSD (ticket #1168) 2011-06-25 09:36:16 +00:00
Vadim Pisarevsky cf7f189fb2 added type check to calcOpticalFlowPyrLK; added data type specifications in this function description. 2011-06-25 09:04:10 +00:00
Vadim Pisarevsky 07b07481ec improved look of the generated PDF and html docs; started merging reference manuals 2011-06-24 23:55:51 +00:00
Vincent Rabaud 7c2e74b649 - fix a bug if the descriptor is used for images of different size 2011-06-24 23:21:39 +00:00
Vincent Rabaud e2219b724e - fix a bug if the descriptor is used for images of different size 2011-06-24 23:21:24 +00:00
Vadim Pisarevsky 0e3af357d3 put short descriptions right after the titles 2011-06-24 16:27:57 +00:00
Andrey Kamaev c1940b4ec7 Modified install layout for Android 2011-06-24 15:40:27 +00:00
Vadim Pisarevsky d758cca902 integrated grammar fixes from tech writer (part 4) 2011-06-24 14:20:41 +00:00
Vadim Pisarevsky ed977a476a integrated grammar fixes from tech writer (part 3) 2011-06-24 14:07:31 +00:00
Vadim Pisarevsky 8b6fe3b21f integrated grammar fixes from tech writer (part 2) 2011-06-24 13:24:28 +00:00
Ilya Lysenkov 0bd3d6d2aa Minor doc fixes 2011-06-24 13:05:45 +00:00
Vadim Pisarevsky 501033db8b integrated grammar fixes from tech writer (part I) 2011-06-24 12:57:25 +00:00
Ilya Lysenkov 10065d3321 Trunk: moved contructors implementations from .hpp to .cpp 2011-06-24 12:48:00 +00:00
Ilya Lysenkov 2c958b2598 Trunk: moved contructors implementations from .hpp to .cpp 2011-06-24 12:25:52 +00:00
Ilya Lysenkov 84e4f59704 Minor doc fix 2011-06-24 12:14:17 +00:00
Ilya Lysenkov c7840ab126 Improved decision trees docs 2011-06-24 10:40:48 +00:00
Andrey Kamaev 2edf764eee Added video.hpp header (for convenience with other modules); added option to specify list of headers for Java API generator 2011-06-24 08:13:02 +00:00
Ilya Lysenkov 187f628f5b Improved random trees docs 2011-06-24 08:06:08 +00:00
Andrey Kamaev 69b79f89c1 Updated build scripts for better Java module support 2011-06-24 07:48:04 +00:00
Ethan Rublee 2ee4f0de31 Merging back 2.3 cmake changes. 2011-06-24 07:12:34 +00:00
Ethan Rublee f8d23637e5 r5654 correction. 2011-06-24 06:42:21 +00:00
Ethan Rublee a3da7951dc Minor change, related to previous commit. 2011-06-24 06:16:31 +00:00
Bernat Gabor 42bd52f046 Corrected the place of accent in the name of Ana Huamán. 2011-06-23 22:28:27 +00:00
Bernat Gabor 9426249a88 New structure (following the documentation) for the tutorials. Normalized image sizes for TOC display. 2011-06-23 21:55:24 +00:00
Bernat Gabor ea70a5ffd6 Cleaning up the doc/tutorials folder in preparation to add thew new structure. 2011-06-23 21:47:16 +00:00
Ethan Rublee 3692eb6976 This fixes external project error with cmake/unix and boost.
An example error:
Cannot generate a safe linker search path for target tod_ectomodule because
  files in some directories may conflict with libraries in implicit
  directories
2011-06-23 19:48:15 +00:00
Andrey Kamaev b5d73111eb Added new module for Java API 2011-06-23 15:51:51 +00:00
Ilya Lysenkov 04d484c6ce Minor doc fix 2011-06-23 15:40:20 +00:00
Ilya Lysenkov 023f48dcf3 Added some docs of CvDTree 2011-06-23 15:38:55 +00:00
Ilya Lysenkov 62bedd190e Documented CvRTParams and added some docs of CvRTrees 2011-06-23 15:36:07 +00:00
Ilya Lysenkov 270e130d68 Documented CvBoostParams and added some docs of CvBoost 2011-06-23 15:34:12 +00:00
Ilya Lysenkov 3ae78b1b96 Documented CvEMParams and CvEM 2011-06-23 15:31:36 +00:00
Vadim Pisarevsky f7fec3c1b5 warn user in the case of in-source builds 2011-06-23 12:37:35 +00:00
Vadim Pisarevsky f0624c08dc propagated some more changes from 2.3 to trunk 2011-06-23 12:15:35 +00:00
Vadim Pisarevsky 6e613bca9b propagated some more changes from 2.3 to trunk 2011-06-23 12:13:33 +00:00
Vadim Pisarevsky 49467947ac propagated some fixes from 2.3 to trunk 2011-06-23 12:00:09 +00:00
Vadim Pisarevsky d4fbb2c4fb added missing bdatypes.h 2011-06-23 11:57:27 +00:00
Vadim Pisarevsky b1bf1deed0 fixed 2 bugs in reference manuals 2011-06-23 11:46:14 +00:00
Vadim Pisarevsky 168a6c3751 start merging the reference manuals 2011-06-23 11:35:49 +00:00
Andrey Kamaev beed941949 Fixed NumPy search on Windows x64 2011-06-23 09:18:55 +00:00
Andrey Kamaev e60b8dfba0 Fixed numpy search on Windows x64 2011-06-23 09:16:55 +00:00
Andrey Kamaev 725d771570 Fixed output paths for Android build 2011-06-22 13:27:28 +00:00
Andrey Kamaev 9600ebadf2 Main CMakeLists.txt merged with 2.3 branch 2011-06-22 11:53:15 +00:00
Andrey Kamaev a927b0e7c2 Main CMakeLists.txt merged with trunk - always search for python 2011-06-22 11:52:22 +00:00
Andrey Kamaev 76bc9f8c20 Removed SWIG from Android toolchain; always search for python; find_program/find_package cmake functions wrapped for case of cross-compiling. 2011-06-22 10:38:57 +00:00
Ilya Lysenkov 01daea8227 Documented CvDTreeParams 2011-06-22 10:14:32 +00:00
Vadim Pisarevsky 333371dd8c be able to build docs without building python bindings (ticket #1157) 2011-06-22 08:38:26 +00:00
Vadim Pisarevsky c4bca84bc9 possibly fixed problem with compiling library with MinGW 4.4.1 2011-06-22 08:24:27 +00:00
Ana Huaman 3ac024ff6c Added tutorial for threshold in reST and fixed broken links from previous ImgProc tutorials 2011-06-22 02:05:49 +00:00
Ana Huaman 22e59e933b Added Threshold.cpp in samples/cpp/tutorial_code/ImgProc 2011-06-21 23:50:02 +00:00
Ana Huaman 9ce4e87507 Added reST tutorial documentation for Pyramids and added a few links to conf.py 2011-06-21 22:22:31 +00:00
Ana Huaman 5df9da1576 Added Pyramids.cpp sample tutorial code 2011-06-21 20:33:35 +00:00
Ilya Lysenkov 3fa4c8f091 Copied some comments from wiki to the main documentation 2011-06-21 15:24:43 +00:00
Ilya Lysenkov fc02f7ff4a Fixed parentheses 2011-06-21 13:09:10 +00:00
Vadim Pisarevsky 9f6cbb507e fixed path to the test image in precornerdetect test 2011-06-21 12:07:16 +00:00
Vadim Pisarevsky 784e12cc2d updated PDFs 2011-06-21 12:02:42 +00:00
Vadim Pisarevsky 19b383b141 put TBB into the installation package 2011-06-21 11:48:16 +00:00
Vadim Pisarevsky 677d2e508f fix for ticket #1153 propagated to trunk 2011-06-21 11:10:45 +00:00
Vadim Pisarevsky 79626f0883 compressed acricles_pattern.png 2011-06-21 10:58:49 +00:00
Ana Huaman a8d37509fa Added tutorial in reST for Morphology 2 2011-06-21 08:53:37 +00:00
Ana Huaman 2819438fe6 Reorganized code and added Morphology 2 cpp code 2011-06-21 05:06:25 +00:00
Ana Huaman ae55138a49 Deleting old tutorial files and put them in folders 2011-06-21 03:30:18 +00:00
Ana Huaman 3162b742a3 Folder Intro 2011-06-21 03:27:26 +00:00
Elena Fedotova b60a277e4e Purpose: 2nd review cycle. 2011-06-20 22:05:01 +00:00
Vadim Pisarevsky 0d58749f2e removed opencv tests executables from the installation. put msvcr100.dll and msvcp100.dll into the installation package. 2011-06-20 21:58:23 +00:00
Vadim Pisarevsky 85606acad7 removed opencv/tests subdirectory from installation; updated license; removed obsolete doc/README.txt 2011-06-20 21:10:25 +00:00
Vadim Pisarevsky 5d3306da85 removed obsolete Python tests (the new ones have been moved to modules/python/test long ago) 2011-06-20 20:58:05 +00:00
Vadim Pisarevsky a5b90e3127 removed obsolete Octave samples 2011-06-20 20:56:23 +00:00
Vadim Pisarevsky e5b1454368 removed obsolete Python samples 2011-06-20 20:55:33 +00:00
Vadim Pisarevsky 65291b6095 fixed path to bayer.png 2011-06-20 20:29:23 +00:00
Vadim Pisarevsky 6aa396936e fixed cvDestroyWindow(), cvDestroyAllWindows() and cvSetTrackbarPos() on mac (ticket #631) 2011-06-20 20:20:43 +00:00
Vadim Pisarevsky 8c2246bdc8 fixed slider rendering in highgui windows on MacOSX (ticket #608; thanks to tingfan for the patch) 2011-06-20 19:25:21 +00:00
Vadim Pisarevsky f6bc96c4fb temporarily add "rc" to the OpenCV installator 2011-06-20 16:11:27 +00:00
Andrey Kamaev ea58cdc71d (trunk) Do not use prebuilt Android camera libs for armeabi hardware target 2011-06-20 15:57:42 +00:00
Andrey Kamaev 121b8d2319 Do not use prebuilt Android camera libs for armeabi hardware target 2011-06-20 15:54:50 +00:00
Vadim Pisarevsky a5d656f31a fixed table on contents in HTML; added modification date; fixed cvtColor descriptions 2011-06-20 15:50:14 +00:00
Andrey Kamaev 9c71134caf Added generation of OpenCV.mk file for Android development with ndk-build tool 2011-06-20 15:35:05 +00:00
Andrey Kamaev 9cff09d37e Added generation of OpenCV.mk file for Android development with ndk-build tool 2011-06-20 15:29:29 +00:00
Vadim Pisarevsky cb9681174d raised version number to 2.3 (that's not a release yet; just to test the packages) 2011-06-20 15:03:32 +00:00
Vadim Pisarevsky a971e06177 fixed bug #1153; updated tutorials 2011-06-20 14:26:22 +00:00
Ilya Lysenkov 9a7d86d939 Copied my today changes to 2.3 branch 2011-06-20 13:57:38 +00:00
Vadim Pisarevsky 4fa1c641eb added stub docs for the new Python bindings; updated PDF's 2011-06-20 13:55:24 +00:00
Ilya Lysenkov ee2aefc270 Minor doc fix 2011-06-20 13:27:37 +00:00
Ilya Lysenkov fce7ba4eaf Added destroyAllWindows and docs (ticket #957). 2011-06-20 13:24:48 +00:00
Andrey Morozov e5f7a0c65f added define AVSEEK_FLAG_FRAME 2011-06-20 12:22:50 +00:00
Ilya Lysenkov 233dfd252d Qt: fixed signal of a clicked push button (patch #786) 2011-06-20 09:49:21 +00:00
Ilya Lysenkov 3c7055b9ce Qt minor doc enhancement 2011-06-20 09:29:04 +00:00
Vadim Pisarevsky 848be8dfe1 temporarily reverted to FLANN 1.5 (FLANN 1.6 is put to a separate branch FLANN_1.6 until it's stabilized) 2011-06-20 09:20:17 +00:00
Ilya Lysenkov 310ed83343 Qt doc: specified an image type in the addText function (ticket #1144) 2011-06-20 09:06:02 +00:00
Vadim Pisarevsky 6767f1db9e added dummy symbol to flann to make OpenCV compile on Windows 2011-06-20 08:42:08 +00:00
Vadim Pisarevsky 24cb30fed5 fixed errors and warnings when building with MSVC 2011-06-20 07:53:46 +00:00
Marius Muja 3b2d4b57a0 Bringing get_param and print_params into cv::flann namespace. 2011-06-20 00:26:16 +00:00
Marius Muja 9153018bd2 Updated FLANN 2011-06-19 23:46:23 +00:00
Vadim Pisarevsky 2e54482de9 fixed formula in cvIntegral/integral description 2011-06-19 23:24:01 +00:00
Vadim Pisarevsky 108fc3f4fe fixed problem with non 4:3 cameras (ticket #142) 2011-06-19 22:35:24 +00:00
Vadim Pisarevsky 873b72edd9 use original image type (8-bit grayscale or 24-bit RGB) in the case of RAW video (ticket #782) 2011-06-19 22:23:59 +00:00
Vadim Pisarevsky ec97683ddf fixed positioning in ffmpeg wrapper (thanks to mike_at_nrec for the patch). Added frame positioning feature to laplace demo to test the feature 2011-06-19 22:06:32 +00:00
Vadim Pisarevsky 2e520b05c4 fixed positioning in ffmpeg wrapper (thanks to mike_at_nrec for the patch). Added frame positioning feature to laplace demo to test the feature 2011-06-19 22:03:23 +00:00
Vadim Pisarevsky c5088ca1b8 added explicit Mat_<T>::Mat_(const MatExpr&) (resolves ticket #996) 2011-06-19 21:13:32 +00:00
Elena Fedotova 5d047af005 Purpose: 2nd review cycle. 2011-06-19 20:28:08 +00:00
Vadim Pisarevsky babec51880 fixed memory leaks in fromarray (thanks to Matthew Baker for the patch!) 2011-06-19 20:14:42 +00:00
Alexander Mordvintsev 32825893bd work on obj_detect.py
added square_size cmd line param for calibrate.py
added _coverage.py script to compute cv2 api coverage by samples (just for interest, may be removed later)
2011-06-19 11:33:15 +00:00
Ana Huaman 99eb377143 Added tutorial in reST for Morphology 1 2011-06-18 23:08:08 +00:00
Elena Fedotova a8f1b8be21 Purpose: 2nd review cycle - see ?? . 2011-06-18 20:45:35 +00:00
Elena Fedotova 4ec0287dd3 Purpose: 2nd review cycle - see ?? . wrong syntax format 2011-06-18 20:37:50 +00:00
Ana Huaman 5006ba773f Morphology code 1 added to tutorial-code/Image_Processing 2011-06-18 20:30:31 +00:00
Elena Fedotova 392b9074f5 Purpose: 2nd review cycle. 2011-06-18 20:19:03 +00:00
Ana Huaman 6a3f69d2d1 Fixed a small link error in documentation 2011-06-18 17:46:52 +00:00
Ana Huaman 52b3391067 Added Smoothing tutorial in reST and links to the code in samples/cpp/tutorial_code 2011-06-18 17:27:02 +00:00
Vadim Pisarevsky 151bfb2ae2 use "-O2 -DNDEBUG" in release by default in the case of MinGW 2011-06-18 13:09:57 +00:00
Vadim Pisarevsky 0e14fef96e fixed warnings in gbt; added insertChannel() and extractChannel(); made the code "rand{u|n}(arr, <number>, <number>)" work properly. 2011-06-18 10:56:49 +00:00
Vadim Pisarevsky c37e063914 removed serveral CV_EXPORTS_AS() to make Python function names in cv2 the same as in C++. 2011-06-18 10:03:01 +00:00
Elena Fedotova 350dfc1ef7 Purpose: 2nd review cycle. 2011-06-17 22:23:37 +00:00
Elena Fedotova 05d36be85b Purpose: 2nd review cycle. 2011-06-17 21:38:06 +00:00
Elena Fedotova 1f8cf9d062 Purpose: 2nd review cycle - see ?? . 2011-06-17 21:37:42 +00:00
Vadim Pisarevsky f4dc4b43e4 fixed calibrateCamera API (ticket #1143) 2011-06-17 21:21:01 +00:00
Vadim Pisarevsky d5ba7c3826 fixed crashes in camshiftdemo (ticket #875) 2011-06-17 20:34:34 +00:00
Ana Huaman 3ca31dcdb6 New basic filter sample added 2011-06-17 20:13:53 +00:00
Vadim Pisarevsky 6229af93d6 corrected estimateAffine3D parameter name: outliers=>inliers (ticket #1141) 2011-06-17 19:12:21 +00:00
Vadim Pisarevsky 9b6d8c3963 added reduce(..., CV_REDUCE_MIN/CV_REDUCE_MAX, ...) for 16u/16s (ticket #1145) 2011-06-17 19:03:26 +00:00
Alexander Mordvintsev 4582226567 work on obj_detect.py sample (in progress...) 2011-06-17 16:17:10 +00:00
Vadim Pisarevsky 48a5599c5e fixed potentially incorrect memory access in cv::transform 2011-06-17 16:14:47 +00:00
Ana Huaman 98e13cec87 Added sample code for tutorial - cpp 2011-06-17 15:57:00 +00:00
Alexander Shishkov d198e39d35 set default compiler flags to "-O2" in the case of MinGW 2011-06-17 15:44:05 +00:00
Andrey Morozov 840baa2205 improved build of installer package for windows 2011-06-17 15:02:10 +00:00
Andrey Kamaev e722cb96e7 Added cmake file to compile Android native camera wrapper if Android source tree is available 2011-06-17 13:52:55 +00:00
Maria Dimashova 4f86b30abc fixed #1140 and made some other updates of features2d docs 2011-06-17 13:23:28 +00:00
Alexey Spizhevoy 3be51ded5d fixed typo in opencv_stitching 2011-06-17 13:22:38 +00:00
Alexander Shishkov 0ec452c152 turned off Python support for Windows in Debug mode 2011-06-17 13:12:21 +00:00
Alexander Shishkov 78dcb42822 fixed compilation on Linux in static case 2011-06-17 12:53:57 +00:00
Alexander Shishkov d40b37dbf3 modified output stream 2011-06-17 11:51:15 +00:00
Maria Dimashova 907240a865 completed doc on MLData 2011-06-17 11:40:54 +00:00
Maria Dimashova 3d74662f5a updated check_docs script and whitelist 2011-06-17 11:33:06 +00:00
Andrey Kamaev 6e8b4e646a Fixed Android install target 2011-06-17 11:10:35 +00:00
Maria Dimashova d84b5a9b36 removed old data 2011-06-17 10:55:30 +00:00
Maria Dimashova e95f8194e2 uncommented Opponent descriptors test, fixed descriptors mat size 2011-06-17 10:47:35 +00:00
Maria Dimashova 814336f4cb Added doc on CvMLData 2011-06-17 10:13:53 +00:00
Maria Dimashova fc04b7ab4f minor refactoring of CvMLData interface 2011-06-17 10:11:52 +00:00
Ilya Lysenkov 77be493e45 Qt: fixed keyPressEvent (ticket #803) 2011-06-17 09:26:53 +00:00
Alexander Mordvintsev 83a4a41cde work on obj_detect sample 2011-06-17 07:35:39 +00:00
Vladimir Dudnik 6e38b6aaed removed trailing backspaces, reduced number of warnings (under MSVC2010 x64) for size_t to int conversion, added handling of samples launch without parameters (should not have abnormal termination if there was no paramaters supplied) 2011-06-17 06:31:54 +00:00
Andrey Kamaev 092beae2d5 Updated NDK default paths for version r5c 2011-06-16 20:25:15 +00:00
Andrey Kamaev 206aa50f86 Added Android native camera module 2011-06-16 18:00:41 +00:00
Bernat Gabor 5cae924a3d A "Hello World" like tutorial to assure that I have submit rights to the tutorial section. 2011-06-16 17:18:50 +00:00
Ilya Lysenkov 480f8235a7 Qt: fixed destroyAllWindow crash (patch #794) 2011-06-16 15:48:01 +00:00
Alexander Shishkov f010539aaf Fixed MacOS GPU Compilation for i386 2011-06-16 15:02:58 +00:00
Alexander Shishkov c5787c5262 added missing audevcod.h 2011-06-16 14:28:29 +00:00
Vadim Pisarevsky 1987de1d77 added missing errors.h 2011-06-16 13:21:22 +00:00
Ilya Lysenkov 0565a9456d Qt: fixed using of OpenCV in another Qt app (patch #919) 2011-06-16 13:20:50 +00:00
Vadim Pisarevsky 8d8ef596c8 introduced new RST/Sphinx domain ocv. 2011-06-16 12:48:23 +00:00
Ilya Lysenkov 4f3fb040a4 Qt: fixed resizing of maximized window (patch #858). 2011-06-16 12:44:04 +00:00
Maria Dimashova 0209d72534 minor change (moved methods implementation from hpp to cpp) 2011-06-16 12:35:40 +00:00
Anatoly Baksheev 74f1162a41 tabs 2011-06-16 10:33:32 +00:00
Vadim Pisarevsky 35d5a671a2 little fix: "and" => "AND" 2011-06-16 10:20:26 +00:00
Vadim Pisarevsky 498451872b another small correction to build cap_dshow.cpp in highgui 2011-06-16 10:11:43 +00:00
Vadim Pisarevsky 17b18de531 added missing evcode.h; made videoinput optional (ticket #1142) 2011-06-16 09:51:34 +00:00
Andrey Morozov 802fcc57a2 fixed "bitrate tolerance too small for bitrate" 2011-06-16 08:31:08 +00:00
Kirill Kornyakov b138dbde3f bugfix in warpAffine, correct buffer size should be used 2011-06-16 06:08:27 +00:00
Vadim Pisarevsky 412e7a835f videoInput is now integrated into highgui and built from sources 2011-06-15 22:59:41 +00:00
P. Druzhkov e20d570ed1 brief gbt documentation added. some sample fixes made. code updated. 2011-06-15 21:54:25 +00:00
Elena Fedotova 9c071c6a30 Purpose: 2nd review cycle: many links in this topic are broken (don't know why). The table in the very beginning includes two functions only. what about the rest? 2011-06-15 21:28:58 +00:00
Vadim Pisarevsky 4b4e30f6c1 fixed gcc dwarf2 check 2011-06-15 17:34:43 +00:00
Alexander Shishkov 13a9129d20 turned off WITH_VIDEOINPUT for mingw with dwarf2 2011-06-15 15:59:50 +00:00
Alexander Mordvintsev 1a208fe132 use cv2 function
added color_histogram.py sample
work on VideoSynth (chessboard)
2011-06-15 13:58:40 +00:00
Maria Dimashova 35aa133d9a minor formating 2011-06-15 13:30:26 +00:00
Alexander Shishkov db85928e7f fixed compilation error on MCVS in descriptors.cpp 2011-06-15 13:26:46 +00:00
Ilya Lysenkov f0cc8d3085 QT: fixed exceptions (ticket #901) 2011-06-15 13:26:40 +00:00
Vadim Pisarevsky 06ac78ee23 some more corrections in the docs 2011-06-15 13:16:57 +00:00
Maria Dimashova 1932942924 fixed OpponentColorDescriptorExtractor (#1109) 2011-06-15 12:51:54 +00:00
Vadim Pisarevsky 0876f69dbf added variational stereo correspondence (by Sergey Kosov) and polynomial fitting (by Onkar Raut) 2011-06-15 12:10:33 +00:00
Vladislav Vinogradov 0d09352fca fixed gpu::cvtColor 2011-06-15 11:57:08 +00:00
Maria Dimashova ada3e6e624 fixed erasing class_id and response members in sift (#1130) 2011-06-15 10:15:05 +00:00
Maria Dimashova 2920796800 minor 2011-06-15 10:11:20 +00:00
Ilya Lysenkov 96503991b1 Fixed wheel zoom with QT (ticket #733) 2011-06-15 09:27:38 +00:00
Anatoly Baksheev 117ff43cc3 default cuda target flags changed
cuda support is on by default
2011-06-15 08:05:34 +00:00
Ana Huaman 523f53f277 Modified conf.py. Added extlinks for the tutorials 2011-06-14 23:25:23 +00:00
Ana Huaman 9a403277bf Added a extlinks section for external links to the OpenCV cpp reference 2011-06-14 23:23:03 +00:00
Ana Huaman f2cd4604c5 Added two more drawing tutorials 2011-06-14 23:19:19 +00:00
Anton Obukhov c6a7432e92 [*] Approach to the bug with integral image calculation on SM_2.0 (Fermi) 2011-06-14 17:34:00 +00:00
Ana Huaman 276a19d354 Saving the first batch of tutorials: Short installation guide and a few tutorials for beginners 2011-06-14 16:44:48 +00:00
Alexander Mordvintsev 194506397e python helper routines (common.py) added 2011-06-14 15:02:57 +00:00
Alexander Shishkov d22b94757c fixed test_precornerdetect, test_findstereocorrespondence, test_calchist 2011-06-14 13:58:02 +00:00
Alexander Shishkov b9f5a2f4ee fixed compilation on Mingw64 2011-06-14 13:40:08 +00:00
Maria Dimashova 1580806730 removed DOT implementation 2011-06-14 12:28:44 +00:00
Alexander Mordvintsev 6616606ea4 work on calibration sample 2011-06-14 12:14:02 +00:00
Vadim Pisarevsky 22970b8270 fixed multiple GCC warnings on Ubuntu 11.04 2011-06-14 12:03:34 +00:00
Vladislav Vinogradov e05c488868 minor fix 2011-06-14 11:57:26 +00:00
Vladislav Vinogradov 1c1a61dd37 added __forceinline__ to device functions
fixed BFM warning ("cannot tell what pointer points to")
2011-06-14 11:27:32 +00:00
Vadim Pisarevsky 79f3260b8e fixed bayer pattern picture in cvtColor() description; corrected formula in getGaussianKernel() 2011-06-14 10:26:24 +00:00
Alexander Shishkov 6ecebb7f66 fixed #768 ticket
renamed OPENCV_SOURCE_DIR to OpenCV_SOURCE_DIR
2011-06-14 10:19:56 +00:00
Alexander Shishkov ca758a9dac fixed #768 ticket 2011-06-14 10:11:16 +00:00
Vadim Pisarevsky 3c8cff3d7e fixed ellipse orientation in fitellipse.py 2011-06-14 09:23:29 +00:00
Alexander Shishkov bce15cb6dd added new version of ffmpeg binary for compilation on Mingw64/MSVC64 2011-06-14 08:06:55 +00:00
Vladislav Vinogradov 2e13a4cd52 removed MultiGpuManager from docs 2011-06-14 07:50:54 +00:00
Vladislav Vinogradov c00a1f63a0 fixed csbp test under linux 2011-06-14 07:44:20 +00:00
Vladislav Vinogradov d469b31aec fixed csbp test for CC 1.x 2011-06-14 07:00:00 +00:00
Alexander Shishkov cfe633c6f9 applied patch from ticket #801 2011-06-13 22:40:17 +00:00
Vadim Pisarevsky 127c2bf93e added missing highgui wrappers (ticket #1040) 2011-06-13 22:25:21 +00:00
Vadim Pisarevsky 23d211bfed applied patches from #1005 2011-06-13 22:04:28 +00:00
Elena Fedotova 238b94cbf1 Purpose: 2nd review cycle - check ?? - problems with the output in the syntax sections. 2011-06-13 21:48:14 +00:00
Vadim Pisarevsky 3b97f5d5e9 return Py_None for an empty mat (should fix #1120) 2011-06-13 21:47:35 +00:00
Alexander Mordvintsev 619e503d53 calibrate.py added (broken)
work on video synth
2011-06-13 21:45:18 +00:00
Vadim Pisarevsky 6f26c55fe3 fixed ticket #983 2011-06-13 21:23:42 +00:00
Vadim Pisarevsky 22927ff121 fixed ticket #983 2011-06-13 21:20:38 +00:00
Vadim Pisarevsky 30020a7350 renamed sum() to sumElems() in Python/Java bindings (ticket #902) 2011-06-13 21:05:28 +00:00
Vadim Pisarevsky 6407093463 extended Mat::setTo() to support multi-channel arrays; fixed bug #1095 2011-06-13 20:56:27 +00:00
Elena Fedotova 07217b17bf Purpose: 2nd review cycle - check ?? - problems with the output in the syntax sections. 2011-06-13 19:56:34 +00:00
Elena Fedotova fd63587c0d Purpose: 2nd review cycle - merged eng and tw versions. 2011-06-13 19:36:12 +00:00
Alexander Shishkov a7d1e08bcc added progress output to the long-time tests (for buildbot) 2011-06-13 19:30:16 +00:00
Alexander Shishkov b081f8bfd6 changed uint to unsigned int 2011-06-13 19:06:32 +00:00
Alexander Shishkov 4cc167c5d0 fixed problem with norm in opencv_test_core 2011-06-13 18:03:33 +00:00
Vadim Pisarevsky 9df999154c fixed a few warnings and bugs, including ticket #1079 2011-06-12 20:29:50 +00:00
Alexander Mordvintsev b6c19d365f switched from argparse to getopt for compatibility with Python 2.6 2011-06-11 21:11:02 +00:00
Anatoly Baksheev 8f4c7db3f6 ~40 warnings under VS2008
HAVE_CONFIG_H -> HAVE_CVCONFIG_H
2011-06-11 17:24:09 +00:00
Anatoly Baksheev dc8572dc7b data_mov_utils.hpp 2011-06-11 10:40:55 +00:00
Ilya Lysenkov c69180396e Minor doc fix 2011-06-10 18:00:23 +00:00
Ilya Lysenkov 4ad02804e1 Added documentation of segmentMotion from cvSegmentMotion doc 2011-06-10 17:58:36 +00:00
Vadim Pisarevsky f9fc180e1a fixed tickets #1117 and #954 2011-06-10 17:22:33 +00:00
Ilya Lysenkov 1ebdfa4992 Copied docs of Kalman Filter from source code to documentation 2011-06-10 17:20:03 +00:00
Ilya Lysenkov 289a827aed Minor doc fix 2011-06-10 16:48:39 +00:00
Ilya Lysenkov 0c10ed8faf Minor doc fix 2011-06-10 16:35:46 +00:00
Vadim Pisarevsky 2741dd0ea6 make type registration ordering in cv2.so consistent with the declaration order (fixes the class hierarchy; see ticket #1113) 2011-06-10 13:22:40 +00:00
Maria Dimashova 96f69b160c added implementation of CvHaarFeatureParams::read() in traincascade application (#1061) 2011-06-10 13:07:31 +00:00
Vadim Pisarevsky 5ca3bd502c reverted broken opencv_test_core launcher 2011-06-10 12:21:26 +00:00
Maria Dimashova eace415f57 fixed cascade detection on images of size equal to feature size (#1070) 2011-06-10 12:19:23 +00:00
Ilya Lysenkov 883b87c04f Minor. 2011-06-10 09:30:41 +00:00
Ilya Lysenkov d551024fc7 Copied docs of background/foreground segmentation from source code to documentation 2011-06-10 09:19:45 +00:00
Alexander Mordvintsev 787fe6a93f multiple cameras and frame saving in video.py 2011-06-10 07:54:21 +00:00
Ilya Lysenkov fac611337f Minor doc change 2011-06-10 07:11:58 +00:00
Vadim Pisarevsky cd818192ce fixed ticket #892 2011-06-10 07:08:34 +00:00
Vadim Pisarevsky 0070ce20af next attempt to fix ticket #1121 2011-06-10 06:53:34 +00:00
Vadim Pisarevsky 8a888cd9ce fixed RNG::uniform(double,double) (ticket #1131) 2011-06-10 06:37:24 +00:00
Alexey Spizhevoy a8a9278391 updated matches checking in opencv_stitching 2011-06-10 05:38:52 +00:00
Vadim Pisarevsky bb8198abfd continued cleaning up the docs and fixing hyperlinks (".. index:: <name>" and ".. _<name>:" are not needed anymore) 2011-06-09 21:47:57 +00:00
Maria Dimashova 6cc3361427 fixed #916 2011-06-09 17:13:05 +00:00
Ilya Lysenkov 6d71817ddc Documented the SimpleBlobDetector class. 2011-06-09 15:20:55 +00:00
Ilya Lysenkov 2beae4d30b Minor change of SimpleBlobDetector 2011-06-09 12:49:23 +00:00
Andrey Kamaev 9484355137 Reduced logs count in Android camera 2011-06-09 12:04:10 +00:00
itsyplen 3876cf22e3 reverted samples with new command argument parser. will be continued after OpenCV release. 2011-06-09 12:01:47 +00:00
Maria Dimashova 8f4f982e5c added support of several kinects (#1105) 2011-06-09 11:22:48 +00:00
itsyplen 781ea62bd4 temporary commit before samples revert 2011-06-09 11:16:42 +00:00
Ilya Lysenkov cb511861ac Removed unnecessary function from SimpleBlobDetector 2011-06-09 11:16:18 +00:00
Ilya Lysenkov f60d7fdfef Simplified SimpleBlobDetector to make it simple) 2011-06-09 11:07:08 +00:00
Maria Dimashova c6e49402a5 changed temporary filename and aligned RGB data with XYZ data (#867) 2011-06-09 10:34:13 +00:00
Alexey Spizhevoy efe0b77416 reverted wrong commit for one of gpu samples 2011-06-09 10:21:02 +00:00
Alexey Spizhevoy ace94d2ebf fixed bug in opencv_stitching (corrected resize images step), added matches checking (both 1->2 and 2->1 must be presented) 2011-06-09 10:16:10 +00:00
itsyplen 3ed42fcd23 Delete unnecessary comments 2011-06-09 09:44:48 +00:00
itsyplen 4d417ccf7a Help and parsing command line were updated in next samples: chamfer 2011-06-09 09:41:31 +00:00
itsyplen a1ee9d406e Help and parsing command line were updated in next samples: camshiftdemo, calibration_artificial 2011-06-09 08:37:39 +00:00
Vladislav Vinogradov cfb8c8418b minor fix 2011-06-09 08:29:19 +00:00
Vladislav Vinogradov 26dd71d981 fixed gpu::cvtColor according #5324 changes 2011-06-09 08:26:08 +00:00
Anatoly Baksheev ee3101ba1c removed cv_config 2011-06-09 08:25:36 +00:00
Alexander Mordvintsev 07a4e52093 video synth uses cv2.randn for noise -- much faster than np.random.normal 2011-06-09 08:21:37 +00:00
itsyplen 2e7e6ae84b Update sample: change help and added CommandLineParser using 2011-06-09 08:04:33 +00:00
Stefano Fabri 11feada567 Some warning fix. Initial multicast get property support 2011-06-09 07:54:10 +00:00
Ilya Lysenkov 575ec4aae8 Added doxygen doc to getBackgroundImage 2011-06-09 07:36:26 +00:00
Vadim Pisarevsky 3531521f10 a lot of small corrections to bring down the number of undocumented functions, reported by the script; added em.cpp sample 2011-06-09 01:17:04 +00:00
Vadim Pisarevsky 20aca7440f a lot of small corrections to bring down the number of undocumented functions, reported by the script; added em.cpp sample 2011-06-09 01:16:45 +00:00
Vadim Pisarevsky 3b9e752be7 some more core functions documented + minor fixes and rearrangements 2011-06-08 21:35:19 +00:00
Vadim Pisarevsky 5441130e21 added "whitelist" capability to the documentation check script 2011-06-08 19:53:06 +00:00
Vadim Pisarevsky 51c11ba78b improved convertPointsHomogeneous documentation. added convertPointsTo/FromHomogeneous (ticket #1011) 2011-06-08 16:32:39 +00:00
Vadim Pisarevsky f6b3754f34 handle empty YAML's correctly (ticket #1127) 2011-06-08 16:13:11 +00:00
Ilya Lysenkov 3822128602 Fixed cv namespace boldface (from ticket #991) 2011-06-08 16:00:40 +00:00
Ilya Lysenkov 839c1bea4b Fixed matchTemplate doc (ticket #1045) 2011-06-08 15:37:49 +00:00
Ilya Lysenkov 99bae77173 Fixed coefficients order in solvePoly doc (ticket #1060) 2011-06-08 14:58:46 +00:00
Maria Dimashova 518106af6d fix and some enchantments for matching_to_many_images sample (#869) 2011-06-08 14:51:42 +00:00
itsyplen d225ab238f Fixed mistakes in help 2011-06-08 14:07:19 +00:00
Ilya Lysenkov ee2b8aa764 Fixed python AbsDiffS doc (ticket #1097) 2011-06-08 13:42:44 +00:00
Ilya Lysenkov 95bfd022cf Fixed createButton brief doc (ticket #785) 2011-06-08 13:32:51 +00:00
Ilya Lysenkov be1f084c54 Updated CvSparseMat doc (ticket #679) 2011-06-08 13:22:09 +00:00
Maria Dimashova 4a1ccbeee6 optimized retrievePointCloudMap (#1106) 2011-06-08 13:06:29 +00:00
Stefano Fabri 715b5d0c55 Little fix for multicast (we'll testing in a real multicast environment in the next days) 2011-06-08 12:44:01 +00:00
Ilya Lysenkov c71e24cd96 Updated docs of findCirclesGrid() 2011-06-08 12:26:30 +00:00
itsyplen a2f5884159 Specialization for 'get' method with bool type was added, help and constructor were updated too 2011-06-08 10:18:56 +00:00
Ilya Lysenkov 35e25b760e Added the EMD function description (ticket #696) 2011-06-08 10:16:16 +00:00
Ilya Lysenkov 1e945dc984 Added documenation of the Earth Mover Distance (C++ interface, ticket #696) 2011-06-08 10:08:24 +00:00
Maria Dimashova b5163291dd added upright mode to SURF (#825) 2011-06-08 09:23:33 +00:00
Vadim Pisarevsky 2d2b8a496e renamed "None()" to "noArray()" to avoid conflicts with X11 (ticket #1122) 2011-06-08 06:55:04 +00:00
Kirill Kornyakov aad9b3219c Notification messages about bad parameters in command line were added in CommandLineParser. Update sample, using parser 2011-06-08 06:45:21 +00:00
Vadim Pisarevsky c7a42e9682 started work on API & doc synchronization (in particular, Mat& => Input/OutputArray in the descriptions) 2011-06-07 22:51:31 +00:00
Alexander Mordvintsev 927b5c88ea python cv2:
simple video capture and synth framework stub
edge detection sample
2011-06-07 13:45:31 +00:00
Ilya Lysenkov 19de695a26 Fixed comparison methods in cvMatchShapes (ticket #1012) 2011-06-07 13:19:58 +00:00
Ilya Lysenkov 9c3c1603b7 Used literal blocks instead of the LaTeX verbatim environment 2011-06-07 12:54:00 +00:00
Maria Dimashova bdae962e13 removed constraint to max_iter in CvANN_MLP (#1110) 2011-06-07 12:28:18 +00:00
Ilya Lysenkov 07e2deccb9 Fixed the RGB2HSV formula (ticket #868) 2011-06-07 12:22:07 +00:00
Maria Dimashova 9e21f06404 replaced M_PI by CV_PI 2011-06-07 12:08:36 +00:00
Ilya Lysenkov 084c640db6 Asked users to pass two operation flags tothe sort() function (ticket #315) 2011-06-07 11:43:09 +00:00
Ilya Lysenkov fe5784957c Fixed Mat::channels() brief documentation (ticket #1064) 2011-06-07 10:52:24 +00:00
Kirill Kornyakov 65ed270790 class CommandLineParser was updated according new requirements 2011-06-07 10:30:40 +00:00
Vadim Pisarevsky e46d98a162 excluded "-B" flag for better compatibility with old Python. 2011-06-07 10:22:32 +00:00
Maria Dimashova 3dc03531e1 added CvEM read/write (#1032) 2011-06-07 10:05:23 +00:00
Ilya Lysenkov bd33e0a3da Minor change to contourArea example 2011-06-07 09:30:49 +00:00
Alexander Mordvintsev ab63037d5a python cv2 sample: coherence enhancing 2011-06-07 07:42:32 +00:00
Maria Dimashova ca551ab9ae added one more SIFT::CommonParams constructor 2011-06-07 07:41:59 +00:00
Ethan Rublee 7d4f06b7f3 Attempting to add support for openni depth registration. 2011-06-07 03:19:38 +00:00
Vadim Pisarevsky a87d12eb9e added CV_CAP_PROP_PVAPI_MULTICASTIP property (thanks to Stefano Fabri for the patch) 2011-06-06 19:23:43 +00:00
Vadim Pisarevsky fcd2a0c3d3 fixed VS2010 compile warnings and errors 2011-06-06 15:15:30 +00:00
Vadim Pisarevsky 0c877f62e9 replaced "const InputArray&" => "InputArray"; made InputArray and OutputArray references. added "None()" constant (no array()). 2011-06-06 14:51:27 +00:00
Alexander Mordvintsev 6dc7ae0ff6 added some constants to python cv2 api 2011-06-06 14:18:25 +00:00
Maria Dimashova cd2f3786f0 removed duplicated check 2011-06-06 12:07:15 +00:00
Alexander Shishkov 97ae8f7af7 added BUILD_WITH_STATIC_CRT option for static linking with CRT on MSVC 2011-06-06 10:26:59 +00:00
Andrey Kamaev 3956f54040 Android native camera is updated to support RGBA output 2011-06-06 08:52:51 +00:00
Alexander Mordvintsev 3df5f5e13a python cv2 sample: hi-res image browse 2011-06-06 03:31:45 +00:00
Alexander Mordvintsev 53f7a50fa2 python cv2 sample: GMM expectation-maximization 2011-06-05 13:18:42 +00:00
Alexander Mordvintsev 07f28d3309 added python cv2 port of letter_recog sample 2011-06-05 06:44:19 +00:00
Andrey Kamaev cdda5ec491 YUV420i to RGB conversion is added to cvtColor 2011-06-04 18:15:52 +00:00
Vadim Pisarevsky d77915759a updated cheatsheet; fixed a few typos 2011-06-04 09:12:25 +00:00
Vadim Pisarevsky 922fc58201 added CV_64F support to cv::remap (ticket #650) 2011-06-03 17:06:08 +00:00
Kirill Kornyakov 07a9d3558e The samples were updated through CommandLineParser class 2011-06-03 16:41:41 +00:00
Vadim Pisarevsky 2c1e913b2d added 16-bit support to Bayer2RGB & Bayer2Gray (ticket #686); fixed bug in cv.CreateHist() when no ranges are passed (ticket #990) 2011-06-03 15:45:50 +00:00
Andrey Kamaev 2609df00bd Added missed method declarations. Fix for r5343 2011-06-03 15:09:21 +00:00
Kirill Kornyakov 09a7a40478 The samples were updated corresponding a single standart for <help> 2011-06-03 14:53:38 +00:00
Vadim Pisarevsky 262fc33024 added 16-bit support to Bayer2RGB & Bayer2Gray (ticket #686) 2011-06-03 14:26:30 +00:00
Ilya Lysenkov ce8437d37f minor formatting 2011-06-03 14:13:43 +00:00
Ilya Lysenkov 5d4afe81e0 Added displaying of the mean background image in the bgfg_segm sample (ticket #317). 2011-06-03 14:13:03 +00:00
Ilya Lysenkov 04ebfc0a02 Added computing of the mean background image in the BackgroundSubtractorMOG2 model. 2011-06-03 14:10:12 +00:00
Vadim Pisarevsky 6be2a79fb9 fixed incorrect output of resize(...scalex, scaley, INTER_NEAREST) when scalex and scaley are even integers (ticket #1013) 2011-06-03 13:25:44 +00:00
Andrey Kamaev c7bdf83de5 Fixed Android build 2011-06-03 12:01:55 +00:00
Andrey Morozov 03c7784186 added several new highgui tests 2011-06-03 08:33:27 +00:00
Anatoly Baksheev 22dbd002e6 fix compilation for macos 2011-06-03 08:13:03 +00:00
Alexander Shishkov c5fa70143d added check input data 2011-06-03 07:57:07 +00:00
Vincent Rabaud aa6c2bfbbb - fixed the grayscale case 2011-06-02 23:12:52 +00:00
Vincent Rabaud 3ed829af71 - make sure we deal with a grayscale image 2011-06-02 22:58:52 +00:00
Vincent Rabaud ff13c9f818 - fix potential crash if the first scale level is not 0 2011-06-02 18:08:30 +00:00
Andrey Morozov 19900d9894 converted all highgui tests to the format of google test system 2011-06-02 15:23:37 +00:00
Ilya Lysenkov b884c3c40c Removed direct tiff writing to in-memory buffers if libtiff is used 2011-06-02 15:16:35 +00:00
Vadim Pisarevsky ddd8f897fe fixed drawing test 2011-06-02 12:45:00 +00:00
Anatoly Baksheev c8544f393b added begin/and with Thrust iterators for Device classes 2011-06-02 12:38:50 +00:00
Ilya Lysenkov 02cd916ce1 Added reading of floating point tiff data: 32- and 64-bit (ticket #955) 2011-06-02 12:35:52 +00:00
Alexey Spizhevoy 4401f33e10 fixed error in gcgraph which led to problems in opencv_stitching GC seam finder, added check for duplication in matches (opencv_stitching) 2011-06-02 12:13:06 +00:00
Vadim Pisarevsky 1a0b1d2aea improved CV_RGBHSV_FULL accuracy (ticket #938) 2011-06-02 12:10:18 +00:00
Andrey Morozov da9e3ed6fb commented several tests because it's very slow 2011-06-02 11:43:13 +00:00
Andrey Morozov 2df096c1e2 converted drawing tests to the format of google test system 2011-06-02 10:05:24 +00:00
Alexander Shishkov c8f0147a8b fixed problem with static compilation of highgui_tests on Windows 2011-06-02 10:02:08 +00:00
Alexander Shishkov 8b43e90e7f fixed ticket #675 2011-06-02 09:51:25 +00:00
Andrey Morozov de2fd5c430 added a test on read/write images 2011-06-02 09:33:15 +00:00
Ilya Lysenkov 8e93fcbe87 Added writing of compressed tiffs using libtiff library (patch #1080, thanks to Pieter-Jan Busschaert) 2011-06-02 09:06:00 +00:00
Andrey Morozov 48514337de minor fix in highgui tests 2011-06-02 08:53:12 +00:00
Ethan Rublee 5964234681 Quiet the errors from the circlesgrid pattern detector. These were really verbose. 2011-06-01 21:49:08 +00:00
Vadim Pisarevsky 124967eefb very first version of the documentation checking script 2011-06-01 21:15:36 +00:00
Ethan Rublee 6c437cce36 Placed the if in the wrong place. 2011-06-01 18:54:34 +00:00
Ethan Rublee 7e2221f38f Fix misspelling of a logical block endif. 2011-06-01 18:28:20 +00:00
Vincent Rabaud fc19e856a6 - fix a memory leak 2011-06-01 18:24:53 +00:00
Ethan Rublee 14f65f79f0 Wrapping the tests in an if guard. Fails to build if the BUILD_TESTS flag is
not enabled.
2011-06-01 18:04:46 +00:00
Andrey Morozov 4b5e53b33b minor fix 2011-06-01 17:41:30 +00:00
Andrey Morozov abfc5d3405 fixed bugs for windows. added 2 tests for ffmpeg 2011-06-01 16:14:17 +00:00
Anatoly Baksheev 68a2ec3394 compilation for macos 2011-06-01 15:42:11 +00:00
Anatoly Baksheev 1eba407378 compilation for macos 2011-06-01 15:35:30 +00:00
Vadim Pisarevsky bf05872929 added opencv_test_highgui 2011-06-01 14:23:55 +00:00
Alexey Spizhevoy 5538e206f9 mac worlaround 2011-06-01 13:57:14 +00:00
Alexey Spizhevoy aa3e481458 fixed logging function in opencv_stitching 2011-06-01 13:50:41 +00:00
Vadim Pisarevsky 8191b5564f make scalar and SSE versions of minEigenVal & cornerHarris give [almost] the same results (ticket #811) 2011-06-01 13:45:08 +00:00
Vadim Pisarevsky f2f8fc14b0 proper fix for reduce with op=CV_REDUCE_AVG and ddepth==CV_8U 2011-06-01 13:44:09 +00:00
Alexey Spizhevoy 138490fdbb added \n into help message (opencv_stitching) 2011-06-01 13:34:53 +00:00
Vadim Pisarevsky d5af311a77 fix bilateral filter behavior when color_sigma == 0 and/or spatial_sigma == 0 (ticket #469) 2011-06-01 13:15:43 +00:00
Ilya Lysenkov 4875ffc953 Removed using of homogeneous coordinates in cvProjectPoints2 (ticket #845) 2011-06-01 13:10:14 +00:00
Andrey Kamaev 25213d88a8 fixed compilation problems with new SIFT on Android 2011-06-01 12:42:44 +00:00
Ilya Lysenkov 29b45e70bd Fixed cluster centers returning in cvKMeans2 (ticket #706) 2011-06-01 12:06:39 +00:00
Vladislav Vinogradov f906c9b259 added resetDevice function, removed MultiGpuManager 2011-06-01 10:11:27 +00:00
Ilya Lysenkov b6c195d44c Fixed reading of the user class from *.xml (ticket #840). 2011-06-01 10:05:11 +00:00
Anatoly Baksheev 68a94665e5 compilation for windows 2011-06-01 08:19:21 +00:00
Ilya Lysenkov aa3dada2fe Added support of the CV_64F depth to solvePnP (ticket #835) 2011-06-01 08:14:59 +00:00
Anatoly Baksheev e4bbcdac17 minor 2011-06-01 08:01:04 +00:00
Vincent Rabaud f21fadfa49 - serialize/deserialize the edge threshold too 2011-06-01 03:26:08 +00:00
Vincent Rabaud 7ca26c040f - make sure we rescale the input keypoints 2011-06-01 03:25:53 +00:00
Vincent Rabaud 211c112b91 - hide the patch size from the user (only one is used now as training was only done at that scale)
- enable a border_threshold just like for SIFt so that calling ORB, or descriptor after feature gives the same number of features
2011-06-01 02:09:31 +00:00
Ethan Rublee ce94e4a994 Fix # of features in orb. 2011-06-01 00:25:32 +00:00
Alexander Shishkov b644505bdf fixed compilation problems with new SIFT on Windows 2011-05-31 22:51:16 +00:00
Alexander Shishkov 389bd146c4 fixed compilation problems with new SIFT on MacOs 2011-05-31 22:03:55 +00:00
Alexander Shishkov b19434513b reverted the floating-point number formatting (exception in ml tests) 2011-05-31 21:42:49 +00:00
Alexander Shishkov 80dfdf8ff7 removed ddepth from matrix (after Vadim's commit, it generates problem with core and ml tests)
returned the new floating-point number formatting
2011-05-31 21:14:42 +00:00
Maria Dimashova 035fd0019b replaced SIFT implementation (Some default parameters can be changed in the near future) 2011-05-31 18:18:02 +00:00
Maria Dimashova 8c0c773bf2 commented opponent descriptor test (temporarily) 2011-05-31 18:05:43 +00:00
Alexander Shishkov 6f6da53c64 added SSE compiler flags under Windows+MSVC (ticket #371) 2011-05-31 15:50:16 +00:00
Vadim Pisarevsky 3a4e06e289 resolved ticket #1104 (processing of transposed numpy arrays) 2011-05-31 15:43:11 +00:00
Maria Dimashova ef5d7278ea removed evaluation testbetch to sample 2011-05-31 15:30:49 +00:00
Vadim Pisarevsky facbdc92cb fixed multi-channel 1x1 array construction (ticket #1103) 2011-05-31 15:27:31 +00:00
Vadim Pisarevsky b14ca4299a reverted the floating-point number formatting 2011-05-31 15:25:50 +00:00
Alexander Shishkov eae7921da6 fixed build on GNU/Hurd (ticket #761) 2011-05-31 15:22:22 +00:00
Ilya Lysenkov dfdbf0abd0 Added support of the 1 width element in morphology (ticket #1099). 2011-05-31 14:50:25 +00:00
Vadim Pisarevsky f154b2d0d7 always build ffmpeg_opencv as a shared lib (ticket #687) 2011-05-31 14:35:00 +00:00
Vadim Pisarevsky af2af3af9b added KeyPoint::hash() (ticket #1100) 2011-05-31 14:24:45 +00:00
Alexander Shishkov 63dc1cdd2c removed OPENCV_BUILD_SHARED_LIB in favor of BUILD_SHARED_LIBS
removed one more OPENCV_BUILD_SHARED_LIB flag
2011-05-31 14:22:25 +00:00
Vadim Pisarevsky 8ba6a54d28 fixed warning from GCC 2011-05-31 14:02:19 +00:00
Vadim Pisarevsky 6de72ea8ee resolved tickets #904 (nicer floating-point formatting) and #816 (reduce with CV_REDUCE_AVG on 8-bit arrays) 2011-05-31 14:01:21 +00:00
Leonid Beynenson 1299941622 Made small optimization: for some processors using float accumulator gives speedup. 2011-05-31 13:44:13 +00:00
Alexander Shishkov 6aabf72bc5 removed OPENCV_BUILD_SHARED_LIB in favor of BUILD_SHARED_LIBS 2011-05-31 13:17:59 +00:00
Vladislav Vinogradov 926a6bba00 modified according to CUDA 4.0 API updates 2011-05-31 08:31:10 +00:00
Alexey Spizhevoy 98d663e7e0 updated help message in opencv_stitching app 2011-05-31 08:28:24 +00:00
Ethan Rublee 76538fbe6b Making the install and lib, bin directories consistent. 2011-05-30 22:13:32 +00:00
Elena Fedotova 9a9bd14f34 Purpose: 2nd review cycle - see ??. added index entries 2011-05-30 20:29:47 +00:00
Kirill Kornyakov 78d821114a Update CommandLineParser class: move method's definition from header to source 2011-05-30 19:20:57 +00:00
Maria Dimashova 0d1ec967e8 fixed sample 2011-05-30 16:20:17 +00:00
Maria Dimashova d5a79f8b19 Fixed #727 2011-05-30 15:11:34 +00:00
Alexey Spizhevoy 1c0f7e0e47 updated default params for preview mode (opencv_stitching) 2011-05-30 14:12:20 +00:00
Alexander Shishkov 128d030533 fixed problem with VideoInput on Windows when OpenCV compiled statically (ticket #573)
added ignore linker flags for opencv2_python
2011-05-30 14:08:43 +00:00
Alexander Shishkov 33e71127f7 fixed problem with VideoInput on Windows when OpenCV compiled statically (ticket #573) 2011-05-30 13:32:57 +00:00
Andrey Kamaev dce5bf4921 Tegra optimization of cv::threshold 2011-05-30 13:12:01 +00:00
Vadim Pisarevsky 60a0ebbd6c added optional encoding parameter to cvOpenFileStorage() and FileStorage::open() (ticket #976). moved some implementation parts of CommandLineParser to cmdparser.cpp. 2011-05-30 12:36:07 +00:00
Alexey Spizhevoy 810604315b minor change 2011-05-30 10:19:11 +00:00
Alexey Spizhevoy fb1771833a added --blend_strength parameter into opencv_stitching 2011-05-30 10:18:02 +00:00
Maria Dimashova 8a61375875 fixed drawKeypoints (keypoint orientation) 2011-05-30 09:11:27 +00:00
Ilya Lysenkov 9c2efd6cbd Fixed #797. 2011-05-30 09:02:17 +00:00
Ilya Lysenkov 686063689c Fixed #886 2011-05-30 08:01:09 +00:00
Alexey Spizhevoy 82e12d6c59 updated help message (opencv_stitching) 2011-05-30 07:07:37 +00:00
Ilya Lysenkov 5a3e7d041f Added drawing of a new image for debugging of the SimpleBlobDetector class. 2011-05-30 06:54:59 +00:00
Ilya Lysenkov 3474e37037 Fixed #1063 2011-05-30 06:18:52 +00:00
Alexey Spizhevoy 6a4ab4a996 updated --help message (opencv_stitching) 2011-05-30 05:29:42 +00:00
Vadim Pisarevsky 24dcfa1a4f removed confusing CvCapture::queryFrame(); rewritten cvQueryFrame() (ticket #235) 2011-05-29 21:02:53 +00:00
Kirill Kornyakov 534ac83b8d update help corresponding single format and update some samples through using CommandLineParser class 2011-05-29 10:01:01 +00:00
Andrey Kamaev 2f3b75c841 Fixed windows build scripts in HelloAndroid sample. 2011-05-28 19:30:41 +00:00
Andrey Kamaev 166bfdda45 Updated build scripts for HelloAndroid sample. 2011-05-28 18:42:58 +00:00
Alexey Spizhevoy eadb3bad45 minor refactoring of opencv_stitching 2011-05-28 13:03:28 +00:00
Alexey Spizhevoy 7881134cf7 added block-based gain compensator (opencv_stitching), added --preview flag. 2011-05-28 12:18:49 +00:00
Kirill Kornyakov dc3fe6e9cf update help according single standart for it 2011-05-28 10:53:53 +00:00
Kirill Kornyakov fe279279e6 Update CommandLineParser class 2011-05-28 06:55:41 +00:00
Alexey Spizhevoy 4b4053705d refactored exposure compensators (opencv_stitching) 2011-05-28 06:48:33 +00:00
Vadim Pisarevsky 3a1f24e74c fixed mat.push_back(mat) (ticket #1091) 2011-05-27 20:32:48 +00:00
Vadim Pisarevsky cfedf0c5d5 compile cv2.so also as a shared library 2011-05-27 19:59:48 +00:00
Ethan Rublee 93326c7dc0 Adding a default constructor to ORB that initializes. Had segfaults on non
initialized orb detector.
2011-05-27 17:17:02 +00:00
Alexander Shishkov 0eb1bb3673 cv.so library always compiled as shared library 2011-05-27 15:18:49 +00:00
Vadim Pisarevsky 9336b700ba use FindZLIB(), FindJPEG() etc. on MacOSX as well to avoid possible conflicts with MacPorts. 2011-05-27 13:47:18 +00:00
Maria Dimashova 0b0baa0cf5 removed test output 2011-05-27 12:18:44 +00:00
Maria Dimashova 33493f4e19 renamed WITH(HAVE)_EIGEN2 to WITH(HAVE)_EIGEN, fixed compilation error if eigen3 is used (#805) 2011-05-27 12:15:36 +00:00
Alexey Spizhevoy 56f7e54cce added GC_COLOR_GRAD cost function type into opencv_stitching 2011-05-27 11:41:35 +00:00
Alexey Spizhevoy 8e3777676c minor changes in opencv_stitching 2011-05-27 04:44:32 +00:00
Vadim Pisarevsky bfbc70436d fixed crash in cv2.findHomography() (ticket #1094) 2011-05-26 20:33:55 +00:00
Elena Fedotova f26859b345 Purpose: 2nd review cycle - see ??. added index entries 2011-05-26 20:09:05 +00:00
Elena Fedotova 8b89672774 Purpose: 2nd review cycle 2011-05-26 19:28:21 +00:00
Alexey Spizhevoy 497ee7a5f3 added some comments into multi-band blending code 2011-05-26 09:01:27 +00:00
Alexey Spizhevoy e639daf22b updated default parameter in opencv_stitching 2011-05-26 07:11:12 +00:00
Alexey Spizhevoy fd83d6fe59 replaced brute force matcher with flann based one (opencv_stitching) 2011-05-26 07:10:44 +00:00
Alexey Spizhevoy 24e5ff7ab6 minor changes in opencv_stitching 2011-05-26 05:42:00 +00:00
Vadim Pisarevsky c0ec0e05c5 made datamatrix build on Windows; fixed unresolved symbols 2011-05-25 14:49:09 +00:00
Alexey Spizhevoy 052bf4df73 added number of bands cropping in multi-bands blending 2011-05-25 13:14:56 +00:00
Alexey Spizhevoy c65a39be82 fixed some bugs in opencv_stitching 2011-05-25 12:36:14 +00:00
Alexey Spizhevoy 899d7726d3 added gain compensation into opencv_stitching 2011-05-25 09:09:41 +00:00
Vladislav Vinogradov 331062360d fixed bug in SURF_GPU (compute descriptors, tid < 25) 2011-05-25 08:37:46 +00:00
Vladislav Vinogradov 6259520aa1 fixed bug in SURF_GPU (reduce_sum25) 2011-05-25 08:16:17 +00:00
Vincent Rabaud 8a2c434260 - set the right comparison distance for ORB 2011-05-25 03:19:36 +00:00
Vincent Rabaud 9806306d3d - fix the test for ORB (it's a binary feature) 2011-05-25 00:34:25 +00:00
Vincent Rabaud 909e484e74 - fix a possible crash when only asking for features and not descriptors 2011-05-25 00:33:50 +00:00
Ethan Rublee 355ad2993a adding c++ interface to the datamtrix codes of j. 2011-05-25 00:23:50 +00:00
Ethan Rublee 89b5f40ce3 Reverting the boost::python bindings, moving dev to out of trunk. 2011-05-24 22:01:41 +00:00
Andrey Kamaev 0d2c98b5e1 Implemented 4 missing Mat::ptr methods 2011-05-24 16:14:23 +00:00
Leonid Beynenson 555e9c64bc Small change in the SURF algorithm to be sure that without TBB the template parallel_for is not used
(the reason: the parallelization in the SURF algorithm conflicts with ThreadingFramework, which is a temporary substitute of TBB for ARMs)
2011-05-24 16:13:55 +00:00
Alexey Spizhevoy 00a72d48af added exposure compensation base class into opencv_stitching 2011-05-24 13:59:02 +00:00
Vadim Pisarevsky 7659c77619 fixed formatting a bit 2011-05-24 13:38:55 +00:00
Vadim Pisarevsky 309bb171b2 do not use system is<alpha|alnum|space|...>, because of the different implementations (and in OpenCV we assume english names of the identifiers etc) 2011-05-24 13:34:25 +00:00
Vadim Pisarevsky 76e4c2007b fixed vector resize in the ORB detector 2011-05-24 13:31:50 +00:00
Vadim Pisarevsky 0bf00036a8 improved jSVD accuracy 2011-05-24 13:25:26 +00:00
Maria Dimashova a360a19c56 added TBB optimization to DOT 2011-05-24 13:20:32 +00:00
Alexey Spizhevoy 3d50df37c2 reduced memory requirements for multi-band blending 2011-05-24 09:58:25 +00:00
Vladislav Vinogradov 15677d6d28 minor optimization of SURF_GPU (orientation calculation, changed block size to 32x4) 2011-05-24 08:02:39 +00:00
Alexey Spizhevoy eaa6614101 updated focal estimation again (opencv_stitching) 2011-05-24 06:07:47 +00:00
Alexey Spizhevoy ef966e15c1 updated focal estimation (opencv_stitching) + refactoring 2011-05-24 05:58:15 +00:00
Ethan Rublee 5c5cd449b3 Adding python default install path for debian vs mac. changing site-packages -> dist-packages. See python help
for site. Also ticket #1087.
2011-05-24 00:30:03 +00:00
Elena Fedotova 37f745737b Purpose: 2nd review cycle 2011-05-23 21:20:31 +00:00
Elena Fedotova 0848a2d67f Purpose: 2nd review cycle 2011-05-23 20:16:53 +00:00
Vincent Rabaud 974799acd8 - fix possible crash introduced by cvRound 2011-05-23 20:03:16 +00:00
Ethan Rublee 72728b4481 Applying patch mentioned in ticket #1085 2011-05-23 19:52:23 +00:00
Vladislav Vinogradov 7fbcc1ec05 minor SURF_GPU optimization (descriptor calculation, change block size to 6x6) 2011-05-23 18:40:09 +00:00
Ethan Rublee 44e9fdaa2d Initial pass at some boost python bindings. 2011-05-23 17:26:58 +00:00
Alexey Spizhevoy 3bb685a744 minor changes in opencv_stitching 2011-05-23 14:28:53 +00:00
Vadim Pisarevsky 47443d9826 fixed 2 bugs reported by exvan (ticket #799) 2011-05-23 14:01:12 +00:00
Vadim Pisarevsky c639b2a85e avoid crash in the case of multiple pyramid levels 2011-05-23 13:50:17 +00:00
Alexey Spizhevoy f44632ee6f switched float with short in blending step (opencv_stitching) 2011-05-23 13:08:31 +00:00
Alexey Spizhevoy 5bf8109dbc minor memory optimization in opencv_stitching 2011-05-23 12:20:12 +00:00
Alexey Spizhevoy 4827fbf326 implemented images pairwise matching via TBB (opencv_stitching), added procomp.hpp 2011-05-23 11:31:02 +00:00
Vladislav Vinogradov ae6d5252ab minor fix 2011-05-23 08:46:27 +00:00
Vladislav Vinogradov 0b19f915be minor optimization of SURF_GPU (reduce memory transfers, use structure of arrays instead of array of structures) 2011-05-23 07:59:20 +00:00
Vadim Pisarevsky 145a76faf4 fixed features2d (ORB) compile errors on Windows 2011-05-23 07:58:35 +00:00
Alexey Spizhevoy 71ebe377fc updated usage message (opencv_stitching) 2011-05-23 07:38:42 +00:00
Alexey Spizhevoy f610b16eaf fixed bug in graphcut seam estimation (opencv_stitching) 2011-05-23 07:35:46 +00:00
Alexey Spizhevoy f391ea2ad0 added scaling of images before seam estimation (opencv_stitching) 2011-05-23 07:10:48 +00:00
Vadim Pisarevsky f2a337f990 fixed several typos, including the old ones from ticket #854 2011-05-21 20:17:45 +00:00
Vadim Pisarevsky 57e5fabf8f Use INVALID_DISP_SCALED instead of INVALID_DISP in validateDisparity (ticket #1007) 2011-05-21 18:36:30 +00:00
Vadim Pisarevsky 23768b1826 replaced #include <some_opencv_hdr> with #include "some_opencv_hdr" (ticket #719) 2011-05-21 18:32:34 +00:00
Vadim Pisarevsky b58d9edc6a return NULL in the case of incorrect camera index (ticket #710) 2011-05-21 18:07:28 +00:00
Vincent Rabaud 9170ff6f5e - assign some members outside the header (fixes #1081) 2011-05-21 17:27:38 +00:00
Kirill Kornyakov 92d1262f87 bugfix for Windows x64, Visual Studio 10 2011-05-21 15:09:54 +00:00
Alexey Spizhevoy 868035215f made number of bands in blending parameter 2011-05-21 14:44:37 +00:00
Alexey Spizhevoy 97530caa53 more refactoring of opencv_stitching 2011-05-21 14:22:06 +00:00
Kirill Kornyakov aadb1669a7 some samples updated according to new CommandLineParser class 2011-05-21 14:09:03 +00:00
Alexey Spizhevoy 4ba6793568 updated poor pairs filtering in opencv_stitching 2011-05-21 14:03:06 +00:00
Alexey Spizhevoy 706a065d14 memory optimizations in opencv_stitching 2011-05-21 13:27:57 +00:00
Alexey Spizhevoy 90ece0b8e5 refactoring in opencv_stitching 2011-05-21 11:24:42 +00:00
Alexey Spizhevoy 16e6c45ed7 changes blenders interface in opencv_stitching 2011-05-21 11:09:47 +00:00
Vadim Pisarevsky fa0c8d954e allow lower-case utf-8 encoding specification as well 2011-05-21 09:29:21 +00:00
Vadim Pisarevsky 6d05622a5f one more fix with encoding when reading/writing XMLs 2011-05-21 09:03:04 +00:00
Vincent Rabaud dc37ad803e - add missing tests for ORB
- remove useless code for 2.3
2011-05-20 23:53:22 +00:00
Vincent Rabaud 4b1f183bcd - adding ORB 2011-05-20 22:25:53 +00:00
Vadim Pisarevsky 856c717783 fixed reading/writing of utf-8 strings 2011-05-20 20:24:34 +00:00
Andrey Kamaev 1388826c41 Tegra optimization for calcOpticalFlowPyrLK 2011-05-20 14:33:41 +00:00
Maria Dimashova ebe2d03aef removed duplicated output, added the print of first and last points always 2011-05-20 12:46:05 +00:00
Maria Dimashova f3662b0bd1 fixed sample 2011-05-20 12:30:47 +00:00
Maria Dimashova 983f4f1621 minor changes of recall-precision output 2011-05-20 12:14:35 +00:00
Alexey Spizhevoy 2de0e1fc66 refactored opencv_stitching 2011-05-20 08:08:55 +00:00
Alexey Spizhevoy 5b50d63754 added number of bands estimation in opencv_stitching 2011-05-20 07:44:37 +00:00
Alexey Spizhevoy 767a6e8e78 added histograms comparison into opencv_stitching 2011-05-20 07:32:25 +00:00
Anatoly Baksheev 63ac784ea0 fixed #1069 (cvflann::set_distance_type - Unresolved external under VS2008) 2011-05-19 17:11:25 +00:00
Vadim Pisarevsky 51c6842384 alter the read stage.threshold to match traincascade behavior (ticket #1071) 2011-05-19 12:41:48 +00:00
Vadim Pisarevsky d40320090b fixed top-right and bottom-right corners filtering in the case of constant border (ticket #1058) 2011-05-19 12:19:48 +00:00
Andrey Kamaev 613a69abe8 Tegra optimization for yuv420i to rgb conversion 2011-05-19 06:36:44 +00:00
Alexey Spizhevoy 2cb08d7fde added time measurements into opencv_stitching 2011-05-19 05:59:10 +00:00
Vadim Pisarevsky 2dc981aaa8 fixed bug with possible memory corruption in CvMat m = iarray.getMat(); expressions (ticket #1054) 2011-05-18 15:16:12 +00:00
Alexey Spizhevoy d998c73769 minor changes in opencv_stitching 2011-05-18 15:05:06 +00:00
Alexey Spizhevoy 4567b4326b reduced memory requirements in opencv_stitching 2011-05-18 14:52:23 +00:00
Alexey Spizhevoy 71ca501bb6 added parameters controlling resolution into opencv_stitching 2011-05-18 13:21:45 +00:00
Vadim Pisarevsky 98f090e390 fixed bug with crash in HoughCircles & HoughLines when no circles/lines are detected (ticket #1066) 2011-05-18 13:05:46 +00:00
Alexey Spizhevoy 7d350280c0 compilation under mac 2011-05-18 13:02:27 +00:00
Kirill Kornyakov 8a47b3d5d5 fixed OpenCV_DIR 2011-05-18 12:48:08 +00:00
Maria Dimashova 411e7798aa added the link in doc on kinect 2011-05-18 11:57:43 +00:00
Alexey Spizhevoy 60e1eda149 modified focal estimation function in opencv_stitching 2011-05-18 08:56:48 +00:00
Vladislav Vinogradov 34e2c78cec minor fix 2011-05-18 07:18:30 +00:00
Alexey Spizhevoy 5fe8beac42 minor refactoring in opencv_stitching 2011-05-18 07:15:12 +00:00
Alexey Spizhevoy 21d89cc420 added leaveBiggestComponent function into opencv_stitching 2011-05-18 07:11:45 +00:00
Vladislav Vinogradov f3b45af876 GpuMat::setTo optimization (call cudaMemcpy2D if possible) 2011-05-18 06:51:05 +00:00
Vadim Pisarevsky b0598fcf36 removed debug print statement from cvMixChannels() 2011-05-17 15:55:40 +00:00
Vadim Pisarevsky 0c504b42a0 copied helper modules from doc to modules/python/test 2011-05-17 15:52:23 +00:00
Vadim Pisarevsky 62569f6926 fixed a few warnings on Windows; fixed critical bugs in cvMixChannels and AutoBuffer<>. 2011-05-17 15:44:01 +00:00
Vadim Pisarevsky 306a11a7c5 fixed a few warnings from VS2010 express 2011-05-17 14:15:23 +00:00
Alexey Spizhevoy 013b7fdc91 minor changes in opencv_stitching 2011-05-17 13:48:27 +00:00
Vadim Pisarevsky 3d154c9dde fix build problems on Windows 2011-05-17 13:32:42 +00:00
Andrey Pavlenko 0f5f60f7f5 - extra spaces are removed
- static class member modifier processing is fixed (moved from 'rettype' to 'func_modlist')
2011-05-17 12:52:07 +00:00
Anatoly Baksheev 2935bb29e5 solution folder flag disabled by default 2011-05-17 09:48:23 +00:00
Anatoly Baksheev 69f28ef65c solution folder flag disabled by default 2011-05-17 09:40:06 +00:00
Vadim Pisarevsky 7b2e39a3f9 added missing #include for compatibility with VS2008 2011-05-17 07:27:48 +00:00
Alexey Spizhevoy 2728e3ee7c changed default args values for opencv_stitching app 2011-05-17 04:59:44 +00:00
Andrey Kamaev 16712bad93 minor bugfix 2011-05-16 15:10:44 +00:00
Andrey Kamaev 0293912ea4 Parallel version of YUV->RGB conversion for Android camera 2011-05-16 14:14:06 +00:00
Alexander Mordvintsev 30f9710d55 fixed #808 and #848 2011-05-16 10:52:20 +00:00
Vladislav Vinogradov 0caf2707ee update gpu docs (SURF and BruteForceMatcher) 2011-05-16 08:54:06 +00:00
Vladislav Vinogradov f11efdced3 added support of Hamming distance to BruteForceMatcher_GPU 2011-05-16 08:38:27 +00:00
Alexey Spizhevoy 79ed4e4c92 refactored opencv_stitching 2011-05-16 05:11:09 +00:00
Elena Fedotova f80c93aa82 Purpose: updated the feature2d chapter 2011-05-15 20:56:53 +00:00
Kirill Kornyakov 94760a5f2b command line parser added. Leonid Beynenson is original contributor of the class. Class will be used in samples for convenient (and unified) work with command arguments. 2011-05-15 19:25:00 +00:00
Elena Fedotova aa1fac4c5a Purpose: completed the calib3d chapter 2011-05-15 19:16:53 +00:00
Elena Fedotova 99ef14ad77 Purpose: completed the objdetect chapter 2011-05-15 19:16:27 +00:00
Elena Fedotova 718f56e6ad Purpose: completed the ml chapter 2011-05-15 19:15:36 +00:00
Maria Dimashova 8acce4e31f some renames 2011-05-15 09:19:05 +00:00
Vadim Pisarevsky 05394d9835 added missing #include "ctype.h" 2011-05-13 20:01:36 +00:00
Vadim Pisarevsky fa2f1c036a removed "#include "windows.h"" from core headers 2011-05-13 20:00:58 +00:00
Vadim Pisarevsky 5199cd9c95 removed unnecessary #include "windows.h" from "highgui_c.h" 2011-05-13 19:40:57 +00:00
Andrey Kamaev 9d787afe72 Small Android build fixes 2011-05-13 18:32:05 +00:00
Vadim Pisarevsky 56cf08a873 made "filestorage << vector<Mat>" work properly. 2011-05-13 15:24:21 +00:00
Vadim Pisarevsky 0243fe6b07 disabled creation of hdr_parser.pyc 2011-05-13 13:26:14 +00:00
Andrey Kamaev 058b761a46 cv:threshold optimization for Tegra 2011-05-12 15:22:55 +00:00
Vadim Pisarevsky 138b9724d8 make ubuntu 11.04 compile with libv4l 2011-05-12 11:40:42 +00:00
Andrey Kamaev 23a369b27e Fixed Android build 2011-05-12 07:02:39 +00:00
Vadim Pisarevsky facff37e82 reviewed ? marks in features2d 2011-05-11 23:31:50 +00:00
Andrey Kamaev 039c35e2e7 Removed outdated build instructions 2011-05-11 22:48:05 +00:00
Andrey Kamaev 6aea54e308 Added simple command line sample for Android 2011-05-11 22:46:17 +00:00
Xavier Delacour 5e4ca22737 small updates to bundle adjustment implementation 2011-05-11 20:17:15 +00:00
Andrey Pavlenko ad4969d81a Removing auto-generated file 2011-05-11 18:34:06 +00:00
Andrey Pavlenko 6ce8b93cb3 Fixing build for Android 2011-05-11 15:39:09 +00:00
Anatoly Baksheev 7a24dc9cb6 formatting 2011-05-11 14:45:35 +00:00
Anatoly Baksheev 429b33de97 minor 2011-05-11 13:51:41 +00:00
Anatoly Baksheev 17e1bcb006 fixed pch for non-windows 2011-05-11 13:50:17 +00:00
Anatoly Baksheev c49dc37761 [+] added use_folders cmake feature if cmake version is greater then 2.8.0
[~] fixed warning in featuers2d under windows (can't generate assignment operator)
2011-05-11 13:37:20 +00:00
Maria Dimashova c46b510f4c restored 2 methods (for backward compatibility) 2011-05-11 12:59:36 +00:00
Maria Dimashova af28d19b3a extended the constructor parameters of AdjusterAdapter's inheritors 2011-05-11 12:13:58 +00:00
Maria Dimashova c98c87d545 fixed DynamicAdaptedFeatureDetector 2011-05-11 11:53:53 +00:00
Vadim Pisarevsky 6afd44674f fixed paths to demo python scripts 2011-05-11 11:27:29 +00:00
Maria Dimashova f8d93df52a minor 2011-05-11 09:18:28 +00:00
P. Druzhkov 15f7918e34 problem with the supported data matrices types is fixed
minor fixes in CvGBTrees, its test and sample
2011-05-11 07:58:47 +00:00
Vladislav Vinogradov 6a03be2632 added lightweight class DeviceBuffer to matrix_reductions.cpp 2011-05-11 07:30:46 +00:00
Vladislav Vinogradov 3c2d7b951a fixed LUT (ticket #1057) 2011-05-11 05:32:00 +00:00
Alexey Spizhevoy 7e4769a047 reduced memory requirements for multi-band blending 2011-05-11 05:28:55 +00:00
Vadim Pisarevsky b699e946b5 converted user guide & tutorials from tex to rst; added them into the whole documentation tree; added html_docs target. 2011-05-10 22:09:07 +00:00
Andrey Kamaev 6facf8ba3b Final version of scripts for Android cross-compilation on Windows. 2011-05-10 13:35:20 +00:00
Maria Dimashova 0f6b8002dc fixed save/load of dot; added data for the sample 2011-05-10 13:30:58 +00:00
Vladislav Vinogradov 1c9f4e7ca2 fixed gpu::meanStdDev and gpu::norm under CUDA 4.0
fixed compilation under Win64
2011-05-10 12:39:12 +00:00
Leonid Beynenson 7ec77593db Made changes in Android camera classes: now we can get list of possible preview resolutions of Android camera (as string).
Also now work of Android camera is more accurate in the case when the size of grabbed frame buffer does not consist with the expected frame size.
2011-05-10 12:29:43 +00:00
Maria Dimashova f4c74eb532 changed the dot 2011-05-10 12:01:42 +00:00
Vladislav Vinogradov d0a91f8f19 fixed gpu projectPoints and solvePnPRansac tests 2011-05-10 07:37:05 +00:00
Vladislav Vinogradov 79b500eb0d fixed bug in cv::Scharr and cv::Laplacian (ddepth < 0) 2011-05-10 06:28:48 +00:00
Vladislav Vinogradov bf29b16d1d fixed bug in cv::Sobel (ddepth < 0) 2011-05-10 06:24:44 +00:00
Vladislav Vinogradov 58e26313dd fixed bug in cv::LUT (multi-channel source array and single-channel table)
added missing cudaSafeCall
2011-05-10 06:11:03 +00:00
Andrey Kamaev 4c7a8f8d24 Updated Android cross-compilation on Windows. 2011-05-09 23:22:46 +00:00
Vadim Pisarevsky f8e4b10248 made ptrdiff_t visible to GCC 4.6 compiler 2011-05-09 21:21:31 +00:00
Vadim Pisarevsky a7b9c31e6a repaired opencv refman & refman1 build 2011-05-09 16:50:29 +00:00
Vadim Pisarevsky e5eb9868f6 moved the new docs from docroot to doc 2011-05-09 16:37:42 +00:00
Vadim Pisarevsky 99d86393cf moved the new docs from docroot to doc 2011-05-09 16:35:30 +00:00
Vadim Pisarevsky a15fe21ea0 moved the new docs from docroot to doc 2011-05-09 16:35:11 +00:00
Vadim Pisarevsky 7491596ef8 moved the new docs from docroot to doc 2011-05-09 16:34:47 +00:00
Vadim Pisarevsky d7592dd1b8 moved the new docs from docroot to doc 2011-05-09 16:33:53 +00:00
Vadim Pisarevsky bd05e356ed moved the new docs from docroot to doc 2011-05-09 16:32:58 +00:00
Vadim Pisarevsky 30645f8d0d moved the new docs from docroot to doc 2011-05-09 16:31:44 +00:00
Vadim Pisarevsky 16bfe3f450 moved the new docs from docroot to doc 2011-05-09 16:31:28 +00:00
Vadim Pisarevsky 73c935fab2 moved the new docs from docroot to doc 2011-05-09 16:29:17 +00:00
Vadim Pisarevsky 4a0880de19 moved the new docs from docroot to doc 2011-05-09 16:28:07 +00:00
Vadim Pisarevsky 122bce6cc7 updated conf files to use the blue theme 2011-05-09 16:22:17 +00:00
Vadim Pisarevsky f82c04f426 removed obsolete docs 2011-05-09 16:20:46 +00:00
Elena Fedotova 12d98a7d18 Purpose: completed the feature2d chapter 2011-05-08 15:30:00 +00:00
Elena Fedotova 4f335d18fb Purpose: completed the feature2d chapter 2011-05-08 09:31:15 +00:00
Elena Fedotova 7ad698f076 Purpose: updated the feature2d chapter 2011-05-08 09:09:39 +00:00
Elena Fedotova 53e9d8354e Purpose: updated the feature2d chapter 2011-05-08 08:59:23 +00:00
Elena Fedotova 4a21c6d394 Purpose: updated the feature2d chapter 2011-05-08 08:35:08 +00:00
Anatoly Baksheev 8ebff41c29 more warnings fixed. +some warnings in examples 2011-05-07 12:06:58 +00:00
Anatoly Baksheev 927dccb463 fixed compilation WITH_TBB 2011-05-07 11:37:56 +00:00
Anatoly Baksheev 1c18e5fef9 fixed ~300 warnings under windows (had to hack gtest a bit) 2011-05-06 21:45:48 +00:00
Andrey Kamaev c67f1a2551 Added missed CMakeCache.android.initial.cmake to windows build scripts 2011-05-06 20:53:55 +00:00
Elena Fedotova dee0aba92e Purpose: updated the feature2d chapter 2011-05-06 20:08:11 +00:00
Nils Hasler 39b79b1261 change state of pipeline to NULL before freeing. 2011-05-06 19:06:33 +00:00
Andrey Kamaev 43f12fa96b Removed excess l 2011-05-06 18:42:25 +00:00
Anatoly Baksheev cce26e58b8 fixed warning: can't generate assignment operator 2011-05-06 18:29:53 +00:00
Andrey Kamaev 05ece2433e Fixed Android API level detection for toolchain build 2011-05-06 16:15:10 +00:00
Ilya Lysenkov a685be3ea9 Added extra argument for BlobDetector in findCirclesGrid 2011-05-06 14:02:07 +00:00
Andrey Kamaev 9f29506d2c Refactored NEON optimization usage 2011-05-06 12:24:56 +00:00
Maria Dimashova 94a5bf88d0 fixed #1048 2011-05-06 12:15:14 +00:00
Vadim Pisarevsky 62b966460d do not include DLLMain into core when it is a static library (thanks to aglinarth for the patch) 2011-05-06 12:06:20 +00:00
Vadim Pisarevsky ae8f2eeac2 restored img_proc_test main() call; removed windows.h from ml.hpp 2011-05-06 11:51:39 +00:00
Ilya Lysenkov dde9181117 Added a fast algorithm for the symmetric circles grid detection 2011-05-06 09:40:18 +00:00
Alexey Spizhevoy 58b7c344aa refactored opencv_stitching 2011-05-06 08:05:02 +00:00
Alexey Spizhevoy 29b917a500 now BA in opencv_stitching uses only geometrically consistent matches 2011-05-06 07:14:36 +00:00
Alexey Spizhevoy 15173fc559 added wave correct support into opencv_stitching 2011-05-06 06:20:41 +00:00
Alexey Spizhevoy 3928dd9d99 added --ba_thresh key into opencv_stitching CLI 2011-05-06 05:14:07 +00:00
Alexey Spizhevoy e72c0ad661 fixed BA error calculation in opencv_stitching, added draft version of waveCorrect 2011-05-05 15:12:36 +00:00
Vadim Pisarevsky f39db3f15a fixed problems indicated with ? marks 2011-05-05 13:31:54 +00:00
Alexey Spizhevoy 3467c6f732 opencv_stitching refactoring 2011-05-05 12:12:32 +00:00
Alexey Spizhevoy f6fc807d49 fixed some tests in gpu module 2011-05-05 11:44:47 +00:00
Maria Dimashova 95f7e5ca2f fixed #1046 2011-05-05 11:44:11 +00:00
Maria Dimashova 66c116ec6a fixed #1044 2011-05-05 10:10:46 +00:00
Vadim Pisarevsky 71d14386e4 fixed generation of Python wrapper cv2. 2011-05-04 19:45:21 +00:00
Elena Fedotova 916ec81d09 Purpose: updated the feature2d chapter 2011-05-04 19:22:51 +00:00
Vadim Pisarevsky d3a159d3cc added missing Python wrappers for OpenCV 1.x 2011-05-04 17:31:48 +00:00
Maria Dimashova 1b5f5dd371 changed GBT parameters in sample 2011-05-04 14:49:02 +00:00
Maria Dimashova 8bbbd93410 fixed #1025 2011-05-04 11:12:17 +00:00
Vladislav Vinogradov 336989f80b added image stitching module 2011-05-04 11:09:42 +00:00
Maria Dimashova d7f04f04cc fixed #1038 2011-05-04 10:19:12 +00:00
Vladislav Vinogradov 6200f388dd fixed bug in BruteForceMatcher_GPU::knnMatch (allDist buffer reuse) 2011-05-04 08:53:43 +00:00
Elena Fedotova af6072814c Purpose: updated the feature2d chapter 2011-05-03 20:41:11 +00:00
Vadim Pisarevsky 573c637ea5 fixed artifacts in warpPerspective (ticket #1024) 2011-05-03 17:28:17 +00:00
Vadim Pisarevsky 7f7965bc93 separated opencv 1.x and opencv 2.x wrappers. moved tests/python/* to modules/python/test 2011-05-03 16:00:31 +00:00
Vadim Pisarevsky 0c9e5f6c9c removed comments in Russian 2011-05-03 13:03:48 +00:00
Vadim Pisarevsky 6432267de8 corrected angular difference check in MSER test (thanks to Pieter-Jan Busschaert for the patch) 2011-05-03 12:58:58 +00:00
Stefano Fabri dff9c0703f Fix a litte bug on matrix subtraction 2011-05-03 10:56:20 +00:00
Vladislav Vinogradov c21a783646 added aligned memory allocation to CudaMem (if allocation type is ZERO_COPY)
fixed bugs in gpu::cvtColor
2011-05-03 09:09:05 +00:00
Andrey Kamaev 727fbd5376 Android cmake toolchain file is included into OpenCV 2011-05-03 08:13:50 +00:00
Vadim Pisarevsky ce2edd137d fixed typo in fitellipse err message (ticket #365) 2011-05-02 22:37:21 +00:00
Vadim Pisarevsky d02a0cab48 updated OpenCV version to 2.2.9; added missing cv::convertPointsHomogeneous for backward compatibility; fixed bug #952 2011-05-02 22:20:22 +00:00
Elena Fedotova b435ff0bb7 Purpose: updated the video chapter 2011-05-02 20:21:37 +00:00
Elena Fedotova a766f9b446 Purpose: updated the highgui chapter 2011-05-02 19:34:16 +00:00
Maria Dimashova 2f81eb22f6 fixed #887 2011-05-02 17:04:29 +00:00
Maria Dimashova 9ce792fb3a minor 2011-05-02 17:03:53 +00:00
Vadim Pisarevsky ad84d784ee make CMAKE_INSTALL_PREFIX available on Windows as well 2011-05-02 08:13:36 +00:00
Maria Dimashova b9662e099c added the filtering of keypoints having zero size (#877) 2011-05-01 17:38:52 +00:00
Vadim Pisarevsky d3aa228073 fixed opencv-ffmpeg compile bug with MinGW (thanks to takacsd for the patch) 2011-05-01 17:09:40 +00:00
Maria Dimashova 098795cd16 minor changes 2011-05-01 09:01:57 +00:00
Vadim Pisarevsky 23a9b7bb9c fixed several warnings from Xcode 4 LLVM compiler; fixed bug #920 2011-04-30 19:29:26 +00:00
Maria Dimashova 92852ca06e added new ML models to points_classifier sample 2011-04-30 18:04:33 +00:00
Maria Dimashova 5c9e6b7059 fixed CvGBTrees 2011-04-30 18:02:56 +00:00
Maria Dimashova 481d0b2c56 fixed CvBoost 2011-04-30 17:39:24 +00:00
Maria Dimashova 428aef522b added new sample on ML models 2011-04-30 16:44:34 +00:00
Elena Fedotova e762f2a33c Purpose: updated the highgui chapter 2011-04-30 14:10:45 +00:00
Elena Fedotova b561cecbab Purpose: completed the imgproc chapter 2011-04-30 14:04:51 +00:00
Elena Fedotova 2eecdcd50c Purpose: completed the imgproc chapter 2011-04-30 13:53:21 +00:00
Elena Fedotova 25f289eae9 Purpose: completed the imgproc chapter 2011-04-30 13:53:08 +00:00
Elena Fedotova 150d7aab90 Purpose: completed the imgproc chapter 2011-04-30 13:52:54 +00:00
Elena Fedotova 753b689d85 Purpose: completed the imgproc chapter 2011-04-30 13:52:40 +00:00
Elena Fedotova 046c9ac033 Purpose: completed the imgproc chapter 2011-04-30 13:52:25 +00:00
Elena Fedotova 738c5bb495 Purpose: completed the imgproc chapter 2011-04-30 13:52:10 +00:00
Andrey Kamaev 41f5e8e3d8 Fixed output paths for some libraries and executables.
Added option to force disable precompiled headers.
2011-04-30 10:42:33 +00:00
Andrey Kamaev c122b7e114 Fixed tests compilation issue with low Android API levels. OpenCV successfully compiles for API level 3 and above.
Enable tests for Android by default.
2011-04-30 10:38:24 +00:00
Ethan Rublee 17b11a47bf Conditional for the module ts, depending on whether tests are being built. 2011-04-29 21:00:10 +00:00
Ethan Rublee 74907eeb8e Dissable tests for android by default. 2011-04-29 20:51:56 +00:00
Leonid Beynenson e262f054ad Changed algorithm of Android camera synchronisation --- added "auto-grab" mode. 2011-04-29 19:03:41 +00:00
Maria Dimashova e7ef84b2c2 fixed #932 2011-04-29 17:12:55 +00:00
Maria Dimashova fa6400843e fixed #982 2011-04-29 16:42:38 +00:00
Alexander Shishkov 8a79d414c0 fixed bug in solvePnPRansac test (thanks to Pieter-Jan Busschaert)
test was refactored
2011-04-29 15:00:37 +00:00
Maria Dimashova 34a18f79e1 fixed #832 2011-04-29 14:37:02 +00:00
Leonid Beynenson 2806db93d8 Merged the branch /branches/opencv_pthread_framework/opencv into the trunk.
The branch contains changes, concerning adding ThreadingFramework -- temporary lightweight decision for ARM instead of Intel TBB.
Also some changes in Android highgui camera class were made.
2011-04-29 14:20:24 +00:00
Maria Dimashova e202b13069 fixed bug in knnMatch method 2011-04-29 14:12:17 +00:00
Alexander Shishkov de93fdb1af fixed bug in knnMatch method 2011-04-29 13:23:22 +00:00
Vadim Pisarevsky 9702b5ef8a made the samples compile on Windows 2011-04-29 12:41:30 +00:00
Vadim Pisarevsky 9ca45daba3 fixed couple of integral-related bugs 2011-04-29 11:55:33 +00:00
Vadim Pisarevsky 8da637854c added extra check to avoid crashes 2011-04-29 10:34:54 +00:00
Vadim Pisarevsky 06b233bdc9 corrected the output euler angle on y axis in RQDecomp3x3 (thanks to Lasve for the patch) 2011-04-29 09:57:15 +00:00
Vadim Pisarevsky 3d92d4c0bc fixed compile errors on Ubuntu 11.04 2011-04-28 14:08:03 +00:00
Vadim Pisarevsky 675aaea46f removed duplicated directory 2011-04-28 13:45:07 +00:00
Vadim Pisarevsky 820c5941fc corrected badarg test of findchessboardcorners (thanks to Pieter-Jan Busschaert) 2011-04-27 17:56:58 +00:00
Vadim Pisarevsky c82252035f fixed bug with misaligned data access (on Windows & Linux) 2011-04-27 13:28:49 +00:00
Vadim Pisarevsky aa7d423a6d fixed typo 2011-04-27 08:24:24 +00:00
Vadim Pisarevsky d95bf478fe fixed corners emptiness check in drawChessboardCorners (thanks to thomask) 2011-04-27 06:59:59 +00:00
Alexey Spizhevoy ce808af594 fixed failing GPU projectPoints and solvePnPRansac tests 2011-04-27 05:29:02 +00:00
Vadim Pisarevsky d67e612f10 fixed highgui build on Windows 2011-04-26 16:10:26 +00:00
Vadim Pisarevsky 5f6beac5d5 fixed libpng build on Windows 2011-04-26 16:03:02 +00:00
Vadim Pisarevsky 417663c062 moved image codecs' headers to the respective subdirectories; allow the user to use system zlib. 2011-04-26 15:50:24 +00:00
Vadim Pisarevsky 6985540744 moved image codecs' headers to the respective subdirectories; allow the user to use system zlib. 2011-04-26 15:46:15 +00:00
Vadim Pisarevsky 0e0929af15 fixed compile errors on Ubuntu 2011-04-26 15:38:32 +00:00
Maria Dimashova cd981f4d13 started to integrate DOT detector 2011-04-26 13:57:55 +00:00
Vadim Pisarevsky 0a8c7d274b fixed typo in cv::erode description 2011-04-26 13:51:30 +00:00
Vadim Pisarevsky 35af5dacde do not define CVAPI_EXPORTS when OpenCV is built statically (thanks to Mika Fischer for the patch) 2011-04-26 13:07:05 +00:00
Vadim Pisarevsky caa943c85f made png codec in highgui compatible with libpng-1.5 (thanks to wiz for the patch) 2011-04-26 12:41:42 +00:00
Vadim Pisarevsky 0556c5ede2 make sure filter2D does not use uninitialized buffers (thanks to flkleber for the patch) 2011-04-26 12:33:25 +00:00
Vadim Pisarevsky 4b2f9e78fc fixed repeated allocation of RNG on each theRNG() call (thanks to barjenbr for the patch) 2011-04-26 12:20:42 +00:00
Vadim Pisarevsky 0cfcb48796 bugfix for highgui crash on Windows in debug mode (ticket #752) has been propagated from branch 2.2 to trunk 2011-04-26 12:09:27 +00:00
James Bowman 6f82c0d662 simple mean for decode 2011-04-26 00:02:09 +00:00
James Bowman 181de06445 restore data matrix 2011-04-26 00:01:41 +00:00
Vadim Pisarevsky 7735712732 removed obsolete tex docs in order to avoid possible confusion 2011-04-25 22:02:11 +00:00
James Bowman 8047d0503f datamatrix 2011-04-25 21:51:36 +00:00
Vadim Pisarevsky 4aaa2700f6 do not use Lapack anymore 2011-04-25 21:50:25 +00:00
Vadim Pisarevsky 9ac3a35175 do not use Lapack anymore 2011-04-25 21:44:22 +00:00
Anton Obukhov 8a54967e0b [~] Updated GPU module install target to copy NCV.hpp and NPP_staging.hpp to the package include directory 2011-04-25 16:07:48 +00:00
Anton Obukhov b28c33f5dc [~] Added nppStSetActiveCUDAstream and nppStGetActiveCUDAstream to the export table 2011-04-25 15:35:33 +00:00
Vladislav Vinogradov dad986a6cb added 16-bit support to TiffEncoder (restore after #4919) 2011-04-25 10:46:06 +00:00
Nils Hasler 3b9138c4a0 fixed jump over initialisation bug. 2011-04-25 09:04:15 +00:00
Alexey Spizhevoy c9894f9655 fixed compile-time bug under Ubuntu 2011-04-25 08:38:54 +00:00
Anton Obukhov 0c325cace3 [~] Minor refactoring, clean-up
[+] Added 128-bit transpose
2011-04-24 21:39:08 +00:00
Elena Fedotova e2caf4a3ed Purpose: updated the imgproc chapter 2011-04-24 21:02:14 +00:00
Nils Hasler 91d813bc89 If a pipeline is specified manually, this has to be done in full now, ending with appsink. For example:
"uridecodebin uri=file:///path/to/some/video.avi ! ffmpegcolorspace ! appsink"
2011-04-24 09:48:19 +00:00
Nils Hasler 80da1d408b removed private copy of gstappsink because appsink is now part of gstreamer base. 2011-04-23 21:24:41 +00:00
Maria Dimashova e7e72d24d3 fixed compile error (ubuntu64) 2011-04-23 13:09:56 +00:00
Vadim Pisarevsky 83efef4b9a added overloaded variants of findHomography & findFundamentalMat for backward compatibility 2011-04-23 12:49:14 +00:00
Nils Hasler ee0c16e43e * added property CV_CAP_GSTREAMER_QUEUE_LENGTH
* removed unnecessary memcpy
* fixed minor memory leak
2011-04-23 07:27:04 +00:00
Vincent Rabaud 6e15238dd9 - make sure the code compiles with gcc 4.6 2011-04-22 21:35:46 +00:00
Alexey Kazakov 1e69bd5118 class MeanshiftGrouping replaced from objdetect.hpp to cascadedetect.cpp 2011-04-22 16:11:35 +00:00
Alexey Kazakov fb0b25692e A little fix in haar cascade 2011-04-22 11:21:40 +00:00
Vadim Pisarevsky 5c1fafdd6f moved precomp.hpp before all other headers (to repair PCH mechanism). moved tables from the header to datamatrix.cpp 2011-04-22 10:35:51 +00:00
Alexey Kazakov e9aa6fa012 Added ROC-curve calculating to the cascade detection algorithm 2011-04-22 10:03:05 +00:00
Vadim Pisarevsky 06070dfcf6 fixed linker errors by adding CV_EXPORTS to the exported DataMatrix functionality; 2011-04-22 09:53:10 +00:00
Vadim Pisarevsky a4924cf52d some more minor fixes in datamatrix: warnings eliminated, replaced MMX intrinsics (which are not recommended to use on x64) with SSE2. 2011-04-22 07:25:09 +00:00
James Bowman 2c05ddd565 #1018: predicate on SSE2 2011-04-21 17:29:21 +00:00
Andrey Morozov efd368f432 temporary fix for problem with compilation sse intrinsics on Windows 2011-04-21 14:47:57 +00:00
Andrey Kamaev 16044d1ad5 Android compatibility fix: avoid regex.h include to be able to build OpenCV for platform android-5 2011-04-21 12:54:16 +00:00
Vadim Pisarevsky 64814321ee removed compiled hdr_parser.py 2011-04-21 12:05:56 +00:00
Vladislav Vinogradov 604c53a0ab added 16-bit support to TiffEncoder 2011-04-21 08:16:23 +00:00
James Bowman f385bb97eb datamatrix 2011-04-21 00:47:37 +00:00
James Bowman 4b350e9a09 datamatrix test image 2011-04-21 00:24:21 +00:00
James Bowman 324e89ab3a datamatrix 2011-04-21 00:21:42 +00:00
Vadim Pisarevsky 21f962c315 small correction to the previous patch (also by Konstantin Krivakin) 2011-04-20 17:56:25 +00:00
Andrey Kamaev e3f394af01 Fixed remaining Android compatibility issues: added compiler flag to interpret char as signed char. 2011-04-20 14:48:02 +00:00
Andrey Kamaev 8483b95256 Fixed #1004 2011-04-20 11:28:16 +00:00
Andrey Kamaev cc1c613313 Fixed #998 and #999: OpponentSIFT and OpponentSURF regression tests failure on Android 2011-04-20 07:33:05 +00:00
Victor Erukhimov 1d7b9750c0 Tutorials 2011-04-19 17:18:36 +00:00
Vadim Pisarevsky 17a2480a21 integrated parallel SVM prediction; fixed warnings after meanshift integration 2011-04-19 16:20:44 +00:00
Alexey Kazakov 537a36115f The bug was fixed 2011-04-19 12:31:35 +00:00
Vadim Pisarevsky e9a5bbc003 fixed ?? marks; fixed missing highlighting in some of the sections 2011-04-19 11:41:12 +00:00
Alexey Kazakov e863c3d5f6 Added to objdetect module: meanshift grouping (groupRectangles_meanshift(...) for input rectangles); new pedestrian detection model, trained on the Daimler base (getDaimlerPeopleDetector(...) ).
Some changes in the HOGDescriptor class interface(objdetect.hpp) (added useMeanShiftGrouping parameter to the detectMultiScale(...) function)
2011-04-19 09:05:15 +00:00
Vladimir Dudnik 2057f2c452 fixed build issues related to changes in IPP calls. 2011-04-18 21:24:57 +00:00
Vladimir Dudnik 8e7768379f minor changes: removed trailing spaces in some files 2011-04-18 19:34:51 +00:00
Vadim Pisarevsky dd45fe13d1 fixed OutputArray::create, which resolves several failures in opencv_test_core 2011-04-18 16:32:43 +00:00
Vadim Pisarevsky 94e09f24c7 fixed crash in test_core 2011-04-18 15:34:35 +00:00
Vadim Pisarevsky 9a991a2e10 fixed build problems on Windows 2011-04-18 15:14:32 +00:00
Andrey Morozov e58de551c5 corrected the errors in the python's tests 2011-04-18 15:06:09 +00:00
Andrey Kamaev 7e2f771940 Android compatibility fix for r4885: __kernel replaced with filter_kernel 2011-04-18 11:15:15 +00:00
Andrey Kamaev 31e77a3bd9 Android native camera: added BGR output format; added methods to configure output frame size. 2011-04-18 08:50:24 +00:00
Elena Fedotova 1965b297d0 Purpose: updated the imgproc chapter 2011-04-17 19:46:02 +00:00
Vadim Pisarevsky abeeb40d46 a big patch; use special proxy types (Input/OutputArray, Input/OutputArrayOfArrays) for passing in vectors, matrices etc. 2011-04-17 13:14:45 +00:00
Vadim Pisarevsky 335370a7c0 moved Python bindings source code into src subdirectory; preparing to add python/doc and python/test subdirectories 2011-04-17 13:09:04 +00:00
Vladimir Dudnik 26d348a5b7 fixed build issue (MSVC2010, x64) 2011-04-15 19:46:45 +00:00
Ilya Lysenkov a811a08d0d Added checks for incorrect results in the circles grid pattern detection. 2011-04-15 17:24:07 +00:00
Ilya Lysenkov 37cd2b6f25 Implemented new algorithm for asymmetric circles pattern detection. Use flag CALIB_CB_CLUSTERING. 2011-04-15 15:33:11 +00:00
Vadim Pisarevsky 2c8af20bd0 removed obsolete tests 2011-04-15 11:56:57 +00:00
Vadim Pisarevsky 8be541eed2 removed obsolete swig-based python & octave wrappers 2011-04-15 11:14:01 +00:00
Vadim Pisarevsky 1c347f4801 removed obsolete tests 2011-04-15 11:13:04 +00:00
Vadim Pisarevsky b9fa21d011 normal bayes classifier has been parallelized using TBB; letter_recog sample updated to demosntrate knearest & bayes classifiers (thanks to Konstantin Krivakin for the patches) 2011-04-14 17:04:39 +00:00
Nils Hasler 56b206dc7b When opening a file with GStreamer:
* if the filename looks like a URI, it is opened in non-blocking mode, cvQueryFrame() could skip frames or grab one frame more than once
* if the filename looks like a filename, it is opened in blocking mode. cvQueryFrame() grabs consecutive frames
* otherwise the filename is interpreted as a gstreamer pipeline as used with gst-launch. The last element of the pipeline has to have the property name=to-opencv
2011-04-13 07:15:35 +00:00
Andrey Kamaev b906ad3108 Test system included into Android build 2011-04-11 14:47:06 +00:00
Alexey Spizhevoy 1a02877ab7 fixed gpu::downsample and gpu::blendLinear compite-time bugs under Ubuntu 2011-04-11 05:11:23 +00:00
Elena Fedotova c6a6d71dae Purpose: updated the core chapter 2011-04-10 21:25:46 +00:00
Elena Fedotova 77cdc746a5 Purpose: updated the core chapter 2011-04-10 20:54:37 +00:00
Elena Fedotova cc1624b06a Purpose: updated the core chapter 2011-04-10 19:37:17 +00:00
Alexey Spizhevoy 97282d8ff8 added downsample function into gpu module, refactored it a little bit, added guard for CUDA related include in cascadeclassifier_nvidia_api.cpp 2011-04-08 08:04:56 +00:00
Alexey Spizhevoy 6cec5ff552 added blendLinear into gpu module 2011-04-08 05:21:47 +00:00
Valentina Kustikova 110351d3de Bugs in the test for LatentSVM were fixed. 2011-04-08 03:51:40 +00:00
Elena Fedotova ef06694779 Purpose: updated the core chapter 2011-04-07 20:29:59 +00:00
Anton Obukhov 07d19c2c6f [~] Refactored, cleaned up, and consolidated the code of GPU examples (cascadeclassifier and cascadeclassifier_nvidia_api) 2011-04-07 12:59:01 +00:00
Liu Liu daac469b83 no Window named "Object SURF" has ever been created, shouldn't destroy such one. 2011-04-07 05:48:48 +00:00
Vincent Rabaud 1dff306872 - make sure the code compiles under gcc-4.6 2011-04-06 22:00:09 +00:00
Ethan Rublee e17c30d3c2 A few scripts to each making the sample. 2011-04-06 18:11:54 +00:00
Andrey Kamaev 68534d70f3 Merged android-experimental branch back to trunk. 2011-04-06 14:31:03 +00:00
Vadim Pisarevsky bbdd0aecbd improved tree_engine.cpp sample (added train file data specification; print sorted variable importance table) 2011-04-05 15:13:10 +00:00
Anatoly Baksheev ce474db8eb refactored FaceDetection GPU sample 2011-04-04 15:21:58 +00:00
Anton Obukhov 58476b64a6 [*] Fixed #974 ("GPU CascadeClassifier fails with some training files"): Moved IsNodeLeaf bit from NodeDescriptor to FeatureDescriptor for both left and right nodes, therefore from now on max number of rects in a feature is 31 2011-04-04 11:47:21 +00:00
Vadim Pisarevsky 2388fa223e patched spilltree for better compatibility with multi-threaded apps (thanks to Kevin Keraudren) 2011-04-04 10:58:07 +00:00
Anatoly Baksheev e12b63dde0 beta cmake file for cuda4.0 (requires "cudafe", Mar 24 2011 22:01:27 or latter) 2011-04-04 10:01:55 +00:00
Elena Fedotova 25fc046a7a Purpose: updated the core chapter 2011-04-03 22:10:32 +00:00
Alexey Polovinkin da0cb51916 added documentation on LatentSVM algorithm 2011-04-03 10:16:28 +00:00
Maria Dimashova b1e0f2a45e to test buildbot (1) 2011-04-02 15:01:44 +00:00
Maria Dimashova f9d9b3893b to test buildbot 2011-04-02 14:18:32 +00:00
Maria Dimashova afd5683cb6 removed duplicated comments 2011-04-02 07:49:31 +00:00
Anatoly Baksheev 7f77f8f35a tbb search improvement 2011-04-01 19:19:03 +00:00
Vadim Pisarevsky 535425982f extended libdc1394 backend (the patch is by Michael Joachimiak) 2011-04-01 18:29:32 +00:00
Maria Dimashova c820438b22 restored several tests on features2d after moving on google tests 2011-04-01 14:21:46 +00:00
Vadim Pisarevsky 253d8c683e knearest training has been threaded (thanks to Konstantin Krivakin) 2011-04-01 11:24:15 +00:00
Alexey Spizhevoy caa2733636 minor changes in gpu performance sample 2011-04-01 07:31:06 +00:00
Elena Fedotova 3f2daa1dcf Purpose: updated the last section of chapter 10 2011-03-31 22:07:17 +00:00
Vadim Pisarevsky 60633fddd0 fixed bug in complanarity check in cvEstimateRigidTransform (thanks to Luca Del Tongo) 2011-03-31 14:03:17 +00:00
Anatoly Baksheev a69de4bf26 minor bug in hog (unbind texture) 2011-03-31 11:14:23 +00:00
Anatoly Baksheev 5f56b27616 added ROI support for HOG_GPU 2011-03-31 10:55:39 +00:00
Vadim Pisarevsky 400dbb13db fixed remaining ?? 2011-03-30 12:27:31 +00:00
Vadim Pisarevsky bc7412c0c2 do not enumerate subsections (individual functions and classes) 2011-03-30 12:26:58 +00:00
Anatoly Baksheev 8b8ad17f4a fixed extra memory allocations. 2011-03-30 11:42:23 +00:00
Elena Fedotova 05173022bb Purpose: updated the last section of chapter 10 2011-03-29 21:48:36 +00:00
Vadim Pisarevsky 5291b9dfe5 corrected grammar (done by Elena) 2011-03-28 23:16:20 +00:00
Vadim Pisarevsky fafc2f372c corrected grammar (done by Elena) 2011-03-28 23:05:42 +00:00
Vladislav Vinogradov 57195e9627 fixed SURF_GPU bug (features count > max dimension of grid)
minor gpu docs fixes
2011-03-28 10:34:44 +00:00
Anatoly Baksheev d0e66f7766 minor 2011-03-28 06:56:37 +00:00
Vincent Rabaud 3ac48de183 - speed up the Hamming distance 2011-03-28 04:36:39 +00:00
Maria Dimashova cbdc91889a fixed setProperty 2011-03-25 10:37:32 +00:00
Alexey Spizhevoy bf034f9927 fixed gpu::meanShiftSegmentation docs 2011-03-25 06:23:21 +00:00
Alexey Spizhevoy ca1584dd1f fixed gpu::graphcut preconditions 2011-03-24 12:22:23 +00:00
Alexey Spizhevoy ad693d7311 fixed gpu module HOG test failing on x64 OS 2011-03-24 12:09:29 +00:00
Vladislav Vinogradov d888b81052 fixed gpu docs (broken links, missing description, etc) 2011-03-23 10:56:20 +00:00
Ethan Rublee e7579b90e5 adding better support for asymmetric patterns. 2011-03-22 23:12:33 +00:00
Nils Hasler 2a5fde0c4d #include cstdarg because va_list is used 2011-03-22 22:30:31 +00:00
Vadim Pisarevsky 800266dd52 parallel training of a neural net using TBB (thanks to Konstantin Krivakin) 2011-03-22 17:40:58 +00:00
Alexey Kazakov d002c137ea Modified integral calculation function, know it can build float integral by float source matrix 2011-03-17 17:05:31 +00:00
Vladislav Vinogradov 9342c4b076 added upright parameter to SURF_GPU 2011-03-17 14:15:54 +00:00
Vadim Pisarevsky b6eb12c8dd temporarily comment off installation of the PDF documents during "make install" 2011-03-16 14:28:05 +00:00
Vladislav Vinogradov fcff126086 fixed some warnings in surf.cu 2011-03-16 07:01:27 +00:00
Ethan Rublee 6c2cdb6772 Applying fix described in ticket #910. sift was not being built for arm... 2011-03-15 16:31:53 +00:00
Vladislav Vinogradov ca803e12fd fixed mask calculation in SURF_GPU 2011-03-15 07:06:44 +00:00
Vladislav Vinogradov d05c6b8b68 fixed surf.cu compilation on CC 2.0 2011-03-14 14:33:10 +00:00
Anatoly Baksheev 9214173c2c some includes moved to precomp.hpp for gpu module 2011-03-14 09:40:13 +00:00
Vladislav Vinogradov ed3f491212 updated SURF_GPU docs 2011-03-14 07:04:41 +00:00
Vincent Rabaud 578ca872e4 - add support for the popcnt instruction (useful for the Hamming distance, soon to come in BRIEF and FLANN) 2011-03-13 22:51:33 +00:00
Vincent Rabaud 28c2d3b89f - replace the linear search in a sorted list by the appropriate algorithm 2011-03-13 00:31:17 +00:00
Anatoly Baksheev c3e813517d minor (fixed log message) 2011-03-11 13:31:40 +00:00
Vladislav Vinogradov 58f6919795 made GPU version of SURF more consistent with CPU one 2011-03-10 13:53:58 +00:00
Alexey Spizhevoy c067c633f0 added docs for gpu::solvePnPRansac 2011-03-09 08:48:39 +00:00
Vadim Pisarevsky 73f589e8a5 further docs cleanup 2011-03-08 22:22:24 +00:00
Alexey Spizhevoy 23416e3db5 make GPU version of solvePnPRansac more consistent with CPU one 2011-03-07 14:01:18 +00:00
Alexey Spizhevoy 1d62fddd31 updated solvePnpRansac performance test 2011-03-07 13:36:47 +00:00
Jose Luis Blanco 673061fb17 Fixed build errors in MSVC when building without CUDA. 2011-03-06 21:59:04 +00:00
Vadim Pisarevsky 9022a0f6ff fixed Python reference title 2011-03-05 21:28:31 +00:00
Vadim Pisarevsky 5c3447c125 added pictures for OpenCV 2.x reference manual; fixed some build problems and done some more cleanup work 2011-03-05 21:26:13 +00:00
Vadim Pisarevsky 7f83ea1be4 added OpenCV 1.x documentation 2011-03-05 21:23:47 +00:00
Vadim Pisarevsky 30dcfe0c7a 2011-03-05 06:28:19 +00:00
Alexander Shishkov 04461a53f1 added solvePnPRansac method 2011-03-05 00:18:49 +00:00
Alexey Spizhevoy c3b05cf398 added command line args parsing into gpu performance sample 2011-03-03 13:46:44 +00:00
Vadim Pisarevsky f025e4739a some more doc cleanup 2011-03-03 07:29:55 +00:00
Alexey Spizhevoy 4e6572acd9 removed test whether z is negative in gpu::solvePnpRansac (there is no need in this for tests passing) 2011-03-02 09:40:14 +00:00
Alexey Spizhevoy 74c398e6b7 refactored gpu::solvePnpRansac a bit 2011-03-02 08:04:08 +00:00
Alexey Spizhevoy 60e33921e3 added performance sample for solvePnpRansac + refactoring 2011-03-01 09:17:22 +00:00
Alexey Spizhevoy 4ec5fb43f0 fixed some warnings 2011-03-01 08:02:27 +00:00
Alexey Spizhevoy 5e85566477 added distortion coefs support into gpu::solvePnpRansac 2011-03-01 07:44:36 +00:00
Vadim Pisarevsky 513997e127 utility to clean up converted from TeX rst docs 2011-02-28 21:31:49 +00:00
Vadim Pisarevsky 4bb893aa9f the first round of cleaning up the RST docs 2011-02-28 21:26:43 +00:00
Alexey Spizhevoy eb8c0b8b4b parallelized hypotheses evaluation cycle in gpu::solvePnpRansac 2011-02-28 14:21:41 +00:00
Alexey Spizhevoy cae59a7caf added gpu::solvePnpRansac 2011-02-28 12:44:19 +00:00
Gary Bradski 518ed29480 fixed a bug in boost.calc_error and added more documentation 2011-02-28 02:24:11 +00:00
Vadim Pisarevsky 3dc7a67f59 fixed the fast branch of INTER_AREA resize (ticket #921) 2011-02-27 19:04:48 +00:00
Vladimir Dudnik 4f83a06358 added IPP dot product functions. Only 32f data type supported for now (there are accuracy issues in 8u/16s/16u/32s functions which will be fixed in IPP 7.0.3) 2011-02-27 18:12:30 +00:00
Vadim Pisarevsky 17dc1e1340 added 16u support in calcHist & calcBackProject; added image type checks (ticket #856) 2011-02-27 16:43:36 +00:00
Vadim Pisarevsky 24ccbccf63 cleaned RST formatting a bit 2011-02-26 11:05:10 +00:00
Vadim Pisarevsky d7b3e254dd removed duplicated SIFT points (reported by Luca Del Tongo) 2011-02-25 11:14:00 +00:00
Alexey Kazakov 833102c19e Replaced few methods to virtual in CascaseClassifier class (objdetect.hpp) 2011-02-24 11:03:00 +00:00
Alexey Kazakov 4e460cd7a6 Replaced private methods to protected in CascaseClassifier class (objdetect.hpp) 2011-02-24 10:24:55 +00:00
Ethan Rublee e7f0ad3c18 Command line python tools for generating patterns, may be incomplete. 2011-02-23 18:11:25 +00:00
Ilya Lysenkov 850f215305 Added a printable asymmetric pattern of circles 2011-02-23 14:47:15 +00:00
Vadim Pisarevsky 7d158f0fa5 OpenCV reference manual (C++ part only for now) is now produced directly from RST, not from TeX. 2011-02-22 20:46:12 +00:00
Vadim Pisarevsky 11c2f5d810 OpenCV reference manual (C++ part only for now) is now produced directly from RST, not from TeX. 2011-02-22 20:44:57 +00:00
Vadim Pisarevsky 371aa08006 OpenCV reference manual (C++ part only for now) is now produced directly from RST, not from TeX. 2011-02-22 20:43:26 +00:00
Vladislav Vinogradov 32a2fde8ac temporarily disabled compute descriptor kernel for new cards (some problems with threads synchronization), old version of kernels is used. 2011-02-22 09:27:42 +00:00
Alexey Spizhevoy 5b3d786e30 added asynchronous versions of transform- and projectPoints into the GPU module, added docs 2011-02-22 07:27:10 +00:00
Anatoly Baksheev efe16c6f3e minor refactoring 2011-02-21 16:50:19 +00:00
Alexey Spizhevoy b97d8fd656 added performance test for gpu::projectPoints function 2011-02-21 11:14:12 +00:00
Alexey Spizhevoy 289af671ee added projectPoints and transformPoints into GPU module 2011-02-21 10:58:05 +00:00
Alexey Spizhevoy e3b3982de6 added check into opencv_test_gpu: whether OpenCV was compiled with CUDA or not 2011-02-21 06:46:45 +00:00
Ethan Rublee 58cb6c268e adding cap_images.cpp to android build, may fix link error, but not really address issue of reading video files on android 2011-02-20 18:53:14 +00:00
Anatoly Baksheev 33f7307e9e added test data for NVidia's FD tests 2011-02-18 16:39:50 +00:00
Anatoly Baksheev dda3df8008 enabled nvidia's tests 2011-02-18 12:34:57 +00:00
Anatoly Baksheev 047c7e0fd6 *applied patch from NVidia (nppstTraspose bug)
*fixed some warnings
*finished gpu test port to gtest framework
2011-02-18 12:23:18 +00:00
Vadim Pisarevsky 916690a674 temporily excluded cv::Algorithm 2011-02-18 12:17:26 +00:00
Vadim Pisarevsky de913bd63f added missing "#include <functional>" 2011-02-18 12:08:28 +00:00
Alexey Spizhevoy 2a8185dd09 forgot to run bitiwise tests 2011-02-18 10:39:18 +00:00
Vadim Pisarevsky c5e3869c32 replaced alloca() (a.k.a. cvStackAlloc) with AutoBuffer or vector() everywhere. cvStackAlloc() is still defined, but we do not need alloca() anymore to compile and run OpenCV (fixes #889 and may be some others) 2011-02-18 10:36:18 +00:00
Vadim Pisarevsky 0e81d9a11c replaced alloca() (a.k.a. cvStackAlloc) with AutoBuffer or vector() everywhere. cvStackAlloc() is still defined, but we do not need alloca() anymore to compile and run OpenCV (fixes #889 and may be some others) 2011-02-18 10:31:14 +00:00
Vadim Pisarevsky 65a7f13af3 replaced alloca() (a.k.a. cvStackAlloc) with AutoBuffer or vector() everywhere. cvStackAlloc() is still defined, but we do not need alloca() anymore to compile and run OpenCV (fixes #889 and may be some others) 2011-02-18 10:29:57 +00:00
Alexey Spizhevoy 7b2ec0a1e6 fixed gpu/CMakeLists.txt 2011-02-18 10:04:31 +00:00
Alexey Spizhevoy 048689876e removed unnecessary code from gpu/CMakeLists.txt 2011-02-18 10:01:30 +00:00
Alexey Spizhevoy 7bf2816f28 removed CMakeLists.txt from gpu/test folder to avoid precompiled header associated warnings under Ubuntu 2011-02-18 07:43:15 +00:00
Maria Dimashova 63c9b4cec1 fixed mirror property of kinect 2011-02-17 15:53:20 +00:00
Alexey Spizhevoy e5b563b3fd refactored GPU performance sample, added filter suport 2011-02-17 15:25:50 +00:00
Alexey Spizhevoy 12c2ead83f added NVIDIA tests (disabled because doesn't work under Linux) 2011-02-17 14:51:57 +00:00
Alexey Spizhevoy 6f788ff8db ported GPU test to GTest framework 2011-02-17 14:01:28 +00:00
Alexey Spizhevoy 97eaa95a1e removed check_and_treat_gpu_exception function 2011-02-17 11:18:32 +00:00
Alexey Spizhevoy 993773b74a now GPU stereo_bp test prints error mesage and test system continues execution 2011-02-17 11:09:29 +00:00
Maria Dimashova faee18961d fixed colorizing disparity 2011-02-17 09:29:29 +00:00
Vadim Pisarevsky 9c05a74fee fixed memory corruption in cvtest::copyMakeBorder (thanks to Pieter-Jan Busschaert) 2011-02-17 09:07:55 +00:00
Alexey Spizhevoy e1b5a4fcc8 fixed incorrect device id in multi_gpu sample (checked both multi GPU samples work correctly with new multi GPU API) 2011-02-17 07:29:56 +00:00
Alexey Spizhevoy 7f1aa1b92d removed catch from GPU stereo_bp test as --gtest_catch_exceptions flags exists (but err msg isn't printed in case when there is no GPU) 2011-02-17 07:02:12 +00:00
Alexey Spizhevoy 51cee84123 created GPU new-style test project, ported StereoBP test 2011-02-16 11:38:58 +00:00
Marius Muja 2943b6ea48 Updated doc 2011-02-16 08:44:34 +00:00
Marius Muja 53e6bab678 Prefixed constants in flann with FLANN_ to prevent clashes with constants from other includes, closes bug #890 2011-02-16 08:42:52 +00:00
Anatoly Baksheev 0725a31e5a default target arch modified 2011-02-16 08:42:12 +00:00
Vladislav Vinogradov 54fa600b9e update docs
minor fixes and refactoring of GPU module
2011-02-16 08:31:45 +00:00
Marius Muja 7d42dbdd71 Removing 'using namespace std' from header files, closes bugs #730 and #846 2011-02-16 06:36:15 +00:00
Anatoly Baksheev 6b34532901 minor + warnings 2011-02-15 15:09:54 +00:00
Alexey Spizhevoy f10bff2653 added docs for MultiGpuManager 2011-02-15 14:36:53 +00:00
Alexey Spizhevoy 2f8af6335e renamed GpuFeature into FeatureSet and updated docs 2011-02-15 13:56:59 +00:00
Alexey Spizhevoy 04709a2793 refactoring of GPU module 2011-02-15 13:25:24 +00:00
Anatoly Baksheev 6b6a63ba38 fixed some warnings
GPU: TargetArchs -> added FEATURE_SET prefix.
2011-02-15 10:54:49 +00:00
Alexey Spizhevoy 725d83b0e5 added init() function into MultiGpuMgr, added samples 2011-02-15 10:03:26 +00:00
Alexey Spizhevoy 5d4913a2ee fixed multi GPU API, added driver_api prefix to multi gpu samples 2011-02-15 09:12:48 +00:00
Vladislav Vinogradov 0821c7ad17 fixed descriptor calculation in SURF_GPU 2011-02-15 08:57:35 +00:00
Vladislav Vinogradov deac5d972e fixed errors in gpu on old video cards (SURF_GPU, BruteForceMatcher_GPU, min/max, setTo, convertTo)
added assertion after all kernels calls
2011-02-14 15:50:17 +00:00
Alexey Spizhevoy 5f175f9594 fixed warnings in GPU samples 2011-02-14 15:36:07 +00:00
Alexey Spizhevoy a42a42858c fixed GPU samples and MultiGpuMgr 2011-02-14 15:09:45 +00:00
Alexey Spizhevoy 6ce1c0e27c removed debug output from tests 2011-02-14 13:58:20 +00:00
Alexey Spizhevoy 202e239cbd fixed GPU minMaxLoc test, updated docs 2011-02-14 13:56:12 +00:00
Anatoly Baksheev d7e612cd4b GPU: In strcut _scanElemOp dummy type pass by value 2011-02-14 13:30:00 +00:00
Alexey Spizhevoy 2a612ca62c 2011-02-14 13:13:05 +00:00
Alexey Spizhevoy 186e46fcca added draft version of MultiGpuMgr (it isn't tested on multi GPU machine yet) 2011-02-14 12:53:59 +00:00
Alexey Spizhevoy ae4ab7ff54 fixed GPU meanshift segmentation test under Ubuntu 2011-02-14 08:56:57 +00:00
Gary Bradski 975ecaca7d added output camera id if it fails 2011-02-13 04:09:58 +00:00
Gary Bradski 251918e120 just added frame saving 2011-02-13 04:04:30 +00:00
Alexey Spizhevoy 82856150c1 fixed warpAffine and warpPerspective under Linux 2011-02-11 14:31:20 +00:00
Alexey Spizhevoy 8cf6643903 changed a little NVIDIA Staging test framework to handle failed tests correctly 2011-02-11 09:59:21 +00:00
Ethan Rublee b541ce494d Fixes build for android, mentioned in ticket #873 2011-02-11 02:34:24 +00:00
Ethan Rublee a5e17c2fbf Linking order for android. 2011-02-10 18:59:13 +00:00
Alexey Spizhevoy 593fae4c02 minor chnages in GPU samples 2011-02-10 14:33:02 +00:00
Alexey Spizhevoy bbffbe904a fixed waitKey delay for the GPU FD sample, it didn't work under Linux 2011-02-10 13:27:50 +00:00
Alexey Spizhevoy a6aff1856b removed check disabling GPU face detection under Linux, i've checked -- it works 2011-02-10 13:01:36 +00:00
Vadim Pisarevsky e06557c4a1 temporarily disabled PyramidUp test (it crashes) 2011-02-09 23:20:44 +00:00
Vadim Pisarevsky 4b7aaf2e48 fixed build errors on Linux + fixed Farneback optical flow sample 2011-02-09 23:10:51 +00:00
Vadim Pisarevsky b38a11e837 .pyc files should not be in the repository 2011-02-09 22:52:59 +00:00
Vadim Pisarevsky d9ab1d2b92 fixed build on Windows with MSVC2010 2011-02-09 22:45:45 +00:00
Vadim Pisarevsky 0f1a047ed0 added missing ts internal header 2011-02-09 22:10:50 +00:00
Vadim Pisarevsky 6f44457de8 the combined cxts + gtest 2011-02-09 22:03:01 +00:00
Vadim Pisarevsky 23e83f8fc7 2011-02-09 21:58:31 +00:00
Vadim Pisarevsky e4b91918b1 the combined cxts + gtest 2011-02-09 21:56:48 +00:00
Vadim Pisarevsky 77529b1fa6 fixed bugs in CartToPolarToCart test 2011-02-09 21:37:33 +00:00
Vadim Pisarevsky 061b49e0b2 reworked nearly all of the OpenCV tests (except for opencv_gpu tests) - they now use the Google Test engine. 2011-02-09 20:55:11 +00:00
Alexey Spizhevoy 63806c9ab9 renamed gpu::DeviceInfo::has into gpu::DeviceInfo::supports 2011-02-09 12:31:05 +00:00
Vladislav Vinogradov 924670d32c fixed block size calculation in SURF_GPU (fasthessian_gpu and nonmaxonly_gpu kernels) 2011-02-09 09:11:11 +00:00
Valentina Kustikova d03b89f163 Parallel version of Latent SVM. 2011-02-08 07:34:25 +00:00
Anatoly Baksheev 7539b7de65 fixed build under ubuntu, but FS is still disabled 2011-02-07 13:47:10 +00:00
Alexander Shishkov 3eef457d38 uncomment building of samples 2011-02-07 10:44:44 +00:00
Vladislav Vinogradov 5cd06d6a36 fixed SURF_GPU (fails on empty data)
added test for SURF_GPU and reprojectImageTo3D
2011-02-07 10:12:04 +00:00
Anatoly Baksheev f42a449df9 fix compilation under win32 with gpu 2011-02-07 09:18:11 +00:00
Ilya Lysenkov d8488e778c Added test for the asymmetric pattern detection 2011-02-07 08:01:20 +00:00
Ilya Lysenkov 4d65de173e Added documentation for asymmetric pattern detection 2011-02-07 08:00:16 +00:00
Ilya Lysenkov 3e43bc579b Modified the calibration sample to work with asymmetric pattern 2011-02-07 07:59:01 +00:00
Ilya Lysenkov f8e9f65ea8 Added detection of asymmetric circles' pattern 2011-02-07 07:57:32 +00:00
Ethan Rublee 885cef7660 Minor fix to pop count based hamming distance. Being consistent with type. 2011-02-07 05:10:14 +00:00
Anatoly Baksheev 7b1c265563 fixed some compilation under ubuntu 2011-02-04 18:29:05 +00:00
Anatoly Baksheev 21f0d1e174 removed MS specific from FD code 2011-02-04 15:46:35 +00:00
Maria Dimashova eedd42f192 added messages to CMake log; fixed sample 2011-02-04 15:36:41 +00:00
Anatoly Baksheev 0747f2d863 1) NPP_staging as sources. Binaries removed.
2) NVidia tests for GPU
3) FD sample that uses NVidia's interface.
2011-02-04 15:15:25 +00:00
Maria Dimashova 811f6fbe92 fixed CvBoost 2011-02-04 15:06:26 +00:00
Maria Dimashova ad896ae640 refactored OpenNI integration 2011-02-04 13:41:10 +00:00
Alexey Spizhevoy 5c3495a079 added perf test for gpu::erode, fixed docs, refactored perf. sample 2011-02-04 08:16:09 +00:00
Alexey Spizhevoy da6aa774d2 updated docs 2011-02-03 14:55:54 +00:00
Alexey Spizhevoy 50429d8a3e fixed some warnings and errors under g++ 2011-02-03 14:51:58 +00:00
Alexey Spizhevoy 97b0335ef6 fixed docs 2011-02-03 13:19:56 +00:00
Alexey Spizhevoy ea94b43541 added stereo_multi_gpu sample, cosmetic changes in multi_gpu sample 2011-02-03 12:02:39 +00:00
Maria Dimashova ed77955635 moved an include dirs setting to the root cmake file 2011-02-03 09:55:17 +00:00
Maria Dimashova 6590711b8b fixed doc 2011-02-02 16:29:33 +00:00
Anatoly Baksheev 82441a4b56 intro fix in gpu module 2011-02-02 15:50:01 +00:00
Maria Dimashova 8d36926271 moved flannIndex to protected section again 2011-02-02 15:47:08 +00:00
Alexey Spizhevoy 5cc7d858ad fixed warpAffine and warpPerspective tests 2011-02-02 10:07:56 +00:00
Alexey Spizhevoy a80793667f fixed gpu image resize test 2011-02-02 09:58:22 +00:00
Alexey Spizhevoy 12f73aa9e2 added docs for gpu::GpuFeature 2011-02-02 07:45:50 +00:00
Vladislav Vinogradov 98493676f5 added cvtColor performance test, small fix of BruteForceMatcher performance test 2011-02-02 07:34:18 +00:00
Alexey Spizhevoy 557dd39f03 fixed gpu::sum* on CC1.0, updated some tests 2011-02-02 07:23:55 +00:00
Alexey Spizhevoy f7e62d89f8 forgot to commit cvconfig.h.cmake 2011-02-02 07:03:29 +00:00
Maria Dimashova 3ae5a314e3 moved flannIndex to public section (temporarily) 2011-02-01 17:38:11 +00:00
Alexey Spizhevoy da2d7ee72b updated performance sample 2011-02-01 12:55:05 +00:00
Alexey Spizhevoy e303b0dd62 added CUDA_ARCH_FEATUERS define (for correct handling of BIN(PTX) cases) 2011-02-01 12:28:39 +00:00
Vladislav Vinogradov 5a166ca963 fixed gpu minMax tests under linux 2011-02-01 10:55:58 +00:00
Alexey Spizhevoy bbdb52f8fd replaced source type 32F with 32FC4 in gpu::norm perf. test 2011-02-01 10:51:50 +00:00
Alexey Spizhevoy 16e74ab306 added buffered version of norm, updated performance sample and docs 2011-02-01 10:46:19 +00:00
Alexey Spizhevoy 3795142604 implemented gpu::norm via absSum, sqrSum, and minMax (removed norm_diff call), added support of other data types 2011-02-01 10:23:10 +00:00
Maria Dimashova 566d19d7a7 minor changes of user guide (Kinect section) 2011-02-01 10:04:14 +00:00
Alexey Spizhevoy cc3eec546e added bigger images for SURF performance test (it shows better results on them) 2011-02-01 09:51:23 +00:00
Victor Erukhimov 55a8d03888 English corrected 2011-01-31 19:53:56 +00:00
Maria Dimashova 0e8bc8c71b changed border type to float 2011-01-31 17:10:47 +00:00
Maria Dimashova c562d79121 changed border type to float 2011-01-31 16:45:12 +00:00
Maria Dimashova fd1f644e39 fixed #772 (added empty implementation of SIFT class methods throwing exception if ARM) 2011-01-31 16:23:26 +00:00
Maria Dimashova 40f0b1c009 fixed #841 2011-01-31 15:16:40 +00:00
Alexey Spizhevoy 047be13c1c added docs for absSum function 2011-01-31 14:58:51 +00:00
Maria Dimashova 79d8d50cbe forgot to commit in the last time 2011-01-31 14:48:15 +00:00
Alexey Spizhevoy ae529f4bc6 added absSum function 2011-01-31 14:37:03 +00:00
Maria Dimashova 9b4c682623 added empty() method to common features2d classes; fixed #831 2011-01-31 14:18:50 +00:00
Alexey Spizhevoy fa446e7e35 removed linear_filters_beta.cu as its functionality was moved into filters.cu 2011-01-31 13:31:59 +00:00
Vladislav Vinogradov 8274ed22e4 fixed gpu tests (BruteForceMatcher_GPU, divide, phase, cartToPolar, async)
minor code refactoring
2011-01-31 13:20:52 +00:00
Alexey Spizhevoy 7a29d96cf4 added buffered version of gpu::integral function and updated performance test (it still works too slow) 2011-01-31 10:42:33 +00:00
Maria Dimashova 1748f65f54 fixed ticket #823 2011-01-31 09:51:17 +00:00
Maria Dimashova 152fefe854 minor changes 2011-01-31 08:24:30 +00:00
Alexey Spizhevoy 9b556a5df9 removed obsolete file 2011-01-31 07:51:36 +00:00
Alexey Spizhevoy 70d0c214ae added docs for the DeviceInfo class 2011-01-31 07:45:00 +00:00
Vladislav Vinogradov 13c08e384a fixed GPU docs 2011-01-31 07:38:58 +00:00
Ethan Rublee 13019516f7 Fixing check in NativePreviewer for supported modes, and a little auto formatting 2011-01-31 03:13:29 +00:00
Ethan Rublee a08054126a Adding a few settings to the camera driver for android. 2011-01-30 02:36:20 +00:00
Anatoly Baksheev f6974df279 fixed documents errors for GPU module 2011-01-28 16:11:43 +00:00
Alexey Spizhevoy 3bac10a1ca minor changes in multi_gpu sample 2011-01-28 16:01:32 +00:00
Alexey Spizhevoy 937cbcecb6 added images for gpu samples 2011-01-28 15:00:08 +00:00
Alexey Spizhevoy 0af5356dbc updated code in case of the compilation without CUDA 2011-01-28 12:30:08 +00:00
Alexey Spizhevoy 575fd1fe4c reafactoring: replaced query device props functions with the DeviceInfo class 2011-01-28 11:59:26 +00:00
Alexey Spizhevoy e6d17406af added results check into multi_gpu sample 2011-01-28 09:42:45 +00:00
Alexey Spizhevoy b582330b90 added performance tests for mulSpectrum, resize, Sobel 2011-01-28 08:38:01 +00:00
Alexey Spizhevoy 8f35b572ff added performance tests for log, exp, add, magnitude 2011-01-28 07:45:01 +00:00
Alexey Spizhevoy 1c9ad08dc5 finished multi_gpu sample 2011-01-27 15:05:21 +00:00
Alexey Spizhevoy 3afc37ceec added HAVE_CUDA, HAVE_TBB handling into multi_gpu sample 2011-01-27 13:48:33 +00:00
Alexey Spizhevoy 65b9f3bc10 fixed TargetArchs implementation in case when HAVE_CUDA=false, added initial structure for multi_gpu sample 2011-01-27 12:17:56 +00:00
Maria Dimashova 85e5de67e4 added help on Kinect usage to user guide 2011-01-27 10:53:13 +00:00
Alexey Spizhevoy 891e2ff310 replaced has* methods in the GPU module with the TargetArchs monostate 2011-01-27 10:06:38 +00:00
Maria Dimashova 91769d0ed4 removed old unnecessary files from doc 2011-01-27 08:30:44 +00:00
Alexey Spizhevoy 13a6d0b92a fixed parsing GPU archs in BIN(PTX) format 2011-01-27 08:26:10 +00:00
Maria Dimashova d70d2edc9f changed returned value of unsupported property 2011-01-27 07:33:34 +00:00
Alexey Spizhevoy b7b21966c3 added bib link to the article in GPU docs (for HOG) 2011-01-27 07:26:38 +00:00
Vladislav Vinogradov eda8416358 fixed BruteForceMatcher_GPU (fails if input data is empty)
updated BruteForceMatcher_GPU test
2011-01-26 15:58:47 +00:00
Vladislav Vinogradov cecfde309c update BruteForceMatcher_GPU performance test 2011-01-26 15:35:41 +00:00
Alexey Spizhevoy feff022422 added BFM perf. test 2011-01-26 15:28:42 +00:00
Alexey Spizhevoy ba32b447ee added SURF perf. test, added working dir field (can be changed via CMD args) 2011-01-26 11:37:54 +00:00
Maria Dimashova 344db91676 minor user output change 2011-01-26 10:51:58 +00:00
Maria Dimashova 508aaa41f8 added ability to get and set some Kinect params 2011-01-26 10:38:31 +00:00
Anatoly Baksheev ee74e2cf08 fixed compilation 2011-01-26 09:14:46 +00:00
Alexey Spizhevoy 48aeb8f1d5 more GPU perf. tests refactoring, added singular maps into remap test 2011-01-26 08:12:06 +00:00
Alexey Spizhevoy 79ba160c1c added more GPU perf. tests, refactored 2011-01-26 07:49:56 +00:00
Anatoly Baksheev 11579324d8 GPU docs. introduction, data structures. 2011-01-25 15:23:02 +00:00
Alexey Spizhevoy ab8f578f9d added error handling into GPU perf. tests 2011-01-25 15:11:01 +00:00
Alexey Spizhevoy 6f91a29ea2 added initializers into GPU perf. tests 2011-01-25 14:43:54 +00:00
Alexey Spizhevoy dbff16eb85 updated cmake file to allow specifying GPU archs in BIN(PTX) format 2011-01-25 14:13:12 +00:00
Alexey Spizhevoy 397a63539c fixed bug in performance test matrix generation 2011-01-25 11:45:29 +00:00
Alexey Spizhevoy 7e3c69c82f added GPU memory allocation performance test 2011-01-25 10:37:48 +00:00
Alexey Spizhevoy 72b0ec90b9 added minMaxLoc, cornerHarris, remap and dft performance tests 2011-01-25 09:54:17 +00:00
Alexey Spizhevoy 8644c6f86b added minMaxLoc performance tests 2011-01-25 08:32:45 +00:00
James Bowman 6b4047eb46 #586: exceptions on invalid element access 2011-01-25 01:33:48 +00:00
James Bowman 3a53d8667a #489, leaking cvarrmat test and fix 2011-01-25 01:05:12 +00:00
Maria Dimashova 68ed806be0 replaced own point cloud computing by OpenNI ConvertProjectiveToRealWorld() 2011-01-24 17:09:45 +00:00
Ethan Rublee a47b6c23f5 revert the hamming distance to use unsigned long, on 64bit machines, using size_t
with __build_popcountl doesn't return correct number of bits. the ll version should work, but for simplicity,
locking it down to long for now.  TODO add a unit test for the Hamming distance.
2011-01-24 16:59:14 +00:00
Alexey Spizhevoy 581018354f refactoring of gpu perf. tests 2011-01-24 10:56:11 +00:00
Alexey Spizhevoy b9ed1489fa minor refactoring of gpu perf. tests 2011-01-24 10:39:28 +00:00
Alexey Spizhevoy 310c483da8 added first version of gpu performance tests 2011-01-24 10:33:01 +00:00
Vladislav Vinogradov 811ba31897 added synchronization after NPP calls 2011-01-24 10:32:57 +00:00
Vladislav Vinogradov 8abdb3721f added gpu threshold. 2011-01-24 10:11:02 +00:00
James Bowman 4c4ff882ad Fix for #791: MatchShapes 2011-01-21 21:55:52 +00:00
Maria Dimashova 3a04d08bf7 added Kinect support (initial version without settings configuration yet) and sample on usage 2011-01-21 17:00:08 +00:00
Maria Dimashova b63b3df522 minor fixed 2011-01-21 16:07:28 +00:00
Alexey Spizhevoy 5086c1b94a added link to HOG describing paper into gpu docs 2011-01-21 14:58:10 +00:00
Anatoly Baksheev 971a712652 documented data structures, cascade classifier GPU 2011-01-21 14:42:21 +00:00
Alexey Spizhevoy 055c226392 fixed FindNPP.cmake Apple-aimed part 2011-01-21 12:57:40 +00:00
Alexey Spizhevoy e51b9021bc forgot to rename namespace 2011-01-21 11:31:45 +00:00
Alexey Spizhevoy db41449be8 fixed errors under MacOS 2011-01-21 10:53:07 +00:00
Anatoly Baksheev e3f3de84db warning fixed 2011-01-21 09:00:19 +00:00
Alexey Spizhevoy 1327789d72 removed compile warning in GPU module 2011-01-21 08:48:20 +00:00
Alexey Spizhevoy a05ae51271 minor changes in gpu docs 2011-01-21 07:57:18 +00:00
Anatoly Baksheev ad10b6e0fe 2011-01-21 07:56:57 +00:00
Anatoly Baksheev 2aa5aa6c88 b 2011-01-21 07:56:40 +00:00
Alexey Spizhevoy 01dafce1a1 fixed some bugs in GPU matrix reductions, removed <functional> into precomp.hpp 2011-01-21 07:43:11 +00:00
Alexey Spizhevoy 0da71a01ff fixed some GPU tests failing when compiled for 1.1(no doubles) and run on 1.3(with doubles) 2011-01-20 15:08:48 +00:00
Alexey Spizhevoy 9e48f64149 fixed parsing of CC in gpu module 2011-01-20 14:34:27 +00:00
Alexey Spizhevoy 574b3f94a1 updated gpu initialization functions, added compile-time error on CC 1.0 2011-01-20 14:13:07 +00:00
Alexey Spizhevoy 6187b97199 fixed GPU switchable tests, changed default CC's for gpu module 2011-01-20 10:15:44 +00:00
Alexey Spizhevoy 3c1227ac65 cosmetic changes 2011-01-20 09:38:45 +00:00
Alexey Spizhevoy 8779306800 updated main CMakeLists.txt gpu module section, now user can manage binary and intermediate code versions of the gpu module image
added more functions to check version of gpu code in runtime
2011-01-20 09:22:05 +00:00
Ethan Rublee 1e1a139270 fixing bug related to using the hamming distance on descriptors whose length is not divisible by sizeof(size_t). 2011-01-20 02:36:46 +00:00
Vladimir Dudnik c987b9f180 added IPP Sobel and Sharr filters. Also some minor changes. 2011-01-19 23:27:30 +00:00
James Bowman d3462dfcba #674, fix leaks in CreateHist 2011-01-19 20:47:10 +00:00
Alexey Spizhevoy 4b8425dbb8 fixed minor bugs 2011-01-19 13:28:22 +00:00
Alexey Spizhevoy 134ae8e212 updates protected code testing for gpu HOGDescriptor 2011-01-19 13:13:23 +00:00
Alexey Spizhevoy 186b1fc6ef refactored gpu module 2011-01-19 12:47:34 +00:00
Alexey Spizhevoy 90ae1e3aed refactored gpu module 2011-01-19 10:54:58 +00:00
James Bowman 8503f75212 Fixed leak of dims in MatND creates 2011-01-19 01:43:45 +00:00
James Bowman 06b06d5f85 Test case for #674 2011-01-19 01:29:53 +00:00
James Bowman 5d0d485fd9 Better tests for ticket #759 2011-01-19 00:25:24 +00:00
James Bowman d2d52c7310 #818, Propset Rev 2011-01-19 00:22:02 +00:00
James Bowman 6004687563 #759. memtrack comments, sealed the numpy MatND leak 2011-01-19 00:05:30 +00:00
Victor Erukhimov afd42eed4b Added features2d section 2011-01-18 15:56:40 +00:00
Alexey Spizhevoy 1a0d41fb53 added checkPtxVersion into gpu module 2011-01-18 14:52:35 +00:00
Alexey Spizhevoy cbb132ccb1 added ensureSizeIsEnough into gpu module, updated reduction methods 2011-01-18 12:36:01 +00:00
Alexey Spizhevoy f3a2656808 added hasPtxFor and isCompatibleWith functions into gpu module, added docs for them 2011-01-18 12:01:28 +00:00
Vladislav Vinogradov 566befe908 fixed some mistakes in gpu docs, added docs for gpu stereo. 2011-01-18 11:42:11 +00:00
Alexey Spizhevoy 6f0f1fb453 fixed some mistakes in gpu docs 2011-01-18 08:09:47 +00:00
Anatoly Baksheev afa8e373d5 minor (possibility to change, font scale, min neighbors) 2011-01-17 17:32:50 +00:00
Victor Erukhimov 12201ff673 Moving all user guide sources to a single folder 2011-01-17 13:15:40 +00:00
Alexey Spizhevoy eb5d4437e7 updated gpu docs (monowidth font for types) 2011-01-17 12:09:47 +00:00
Alexey Spizhevoy 47b6f19766 gpu docs minor changes 2011-01-17 11:34:20 +00:00
Anatoly Baksheev cb63046dcf gpu face detetcion:
1) fixed bug with error codes (enum NppStStatus) shift.
2) added some asserts
2011-01-17 11:32:38 +00:00
Anatoly Baksheev 6f87567ee1 gpu morphology sample 2011-01-17 10:56:02 +00:00
Vladislav Vinogradov 63545d1e40 updated gpu image filtering and image processing docs 2011-01-17 10:19:11 +00:00
Alexey Spizhevoy 1697a89995 finished gpu module docs for matrix operations 2011-01-17 09:27:01 +00:00
Alexey Spizhevoy dd5182ee70 finished gpu module docs for matrix reductions 2011-01-17 08:39:08 +00:00
Alexey Spizhevoy 612f234f7e finished gpu module docs for per-element operations 2011-01-17 08:14:48 +00:00
Alexey Spizhevoy 59983648ea restructured gpu modules docs 2011-01-17 06:57:57 +00:00
Anatoly Baksheev e91ca8c6a3 documented all functions from GPU initialization section 2011-01-14 17:52:40 +00:00
Alexey Spizhevoy 7de8251607 updated gpu module docs 2011-01-14 14:53:48 +00:00
Alexey Spizhevoy 5a524f63d7 updated gpu module docs 2011-01-14 14:46:32 +00:00
Alexey Spizhevoy 2f564e7cae updated gpu module docs 2011-01-14 09:17:18 +00:00
Alexey Spizhevoy ea01adb9c9 fixed writing video in HOG sample 2011-01-14 08:08:02 +00:00
Alexey Spizhevoy 3ce147bd94 updated gpu module docs 2011-01-13 14:53:47 +00:00
Alexey Spizhevoy 34a99422ae updated gpu module docs 2011-01-13 14:43:47 +00:00
Alexey Spizhevoy ee5c0debb6 updated gpu module docs 2011-01-13 14:02:55 +00:00
Alexey Spizhevoy db852e0b54 updated gpu module docs 2011-01-13 13:55:13 +00:00
Vladislav Vinogradov 349e0ece93 added docs for GPU Filter Engine 2011-01-13 13:48:58 +00:00
Anatoly Baksheev 1a94186195 First version of CascadeClassifier_GPU.
Only for VS2008 now.
Sample for it.
new NPP_staging for VS2008 only
2011-01-13 13:04:00 +00:00
Alexey Spizhevoy 31e582e314 updated gpu module docs 2011-01-13 12:26:15 +00:00
Alexey Spizhevoy b28c73b694 updated gpu module docs 2011-01-13 11:42:29 +00:00
Vladislav Vinogradov 20ed43bc03 added docs for SURF_GPU and BruteForceMatcher_GPU 2011-01-13 09:39:42 +00:00
Alexey Spizhevoy 536625d6fb updated gpu module docs 2011-01-13 09:11:56 +00:00
Victor Erukhimov 4502f671ae Memory management and primitive operators 2011-01-12 19:50:36 +00:00
Victor Erukhimov 975fbb6f90 Memory management and primitive operators 2011-01-12 19:50:19 +00:00
Victor Erukhimov 37e70e8ca2 Added a section on accessing matrix elements 2011-01-12 18:35:55 +00:00
Alexey Spizhevoy 0e77c79737 doc'd gpu bitwise, meanShift code 2011-01-12 15:03:24 +00:00
Alexey Spizhevoy 4e23f37ff8 added docs for gpu::HOGDescriptor 2011-01-12 13:07:33 +00:00
Maria Dimashova 073a8a6f27 fixed CvBoost 2011-01-12 12:53:36 +00:00
Maria Dimashova a16d304d52 fixed compile error 2011-01-12 12:46:26 +00:00
Maria Dimashova 96d88f0673 fixed FernDescriptorMatcher (#765) 2011-01-12 12:03:03 +00:00
Alexey Spizhevoy 4dfbf99dd5 cosmetic changes in gpu module, decreased matchTemplate test running time 2011-01-12 09:30:08 +00:00
Alexey Spizhevoy d091ae5746 removed unnecessary code from gpu::matchTemplate 2011-01-12 06:49:03 +00:00
Maria Dimashova 655120febc fixed collisions between std::transform() and cv::transform() (#781) 2011-01-12 06:39:08 +00:00
Victor Erukhimov 358b061ade OpenCV user guide prototype 2011-01-11 20:51:08 +00:00
Vadim Pisarevsky be4251c143 fixed compile problems when Makefiles are used 2011-01-11 12:14:31 +00:00
Vadim Pisarevsky d2c2c07ad2 updated the new arithmetic tests 2011-01-11 11:55:58 +00:00
Alexey Spizhevoy 57f917d6f2 replaced adding constant in normalization with taking max 2011-01-11 10:15:46 +00:00
Alexey Spizhevoy dc763e0250 updated normalization routine in the matchTemplate to avoid division by zero on black images (ticket #798), added test 2011-01-11 09:36:21 +00:00
Vladimir Dudnik a961cfe135 fixed mistake in integration of IPP Sub functions. Added IPP min/max/absdiff/and/or/xor functions. 2011-01-10 00:43:14 +00:00
Vladimir Dudnik a34f044d19 add IPP Sub operations to arithm.cpp for 8u, 16u, 16s, 32s, 32f, 64f data types. 2011-01-08 21:24:31 +00:00
Vladimir Dudnik abdb139096 add IPP Add operations to arithm.cpp for 8u, 16u, 16s, 32s, 32f, 64f data types.
Added print of IPP info in test log files
2011-01-07 00:26:09 +00:00
Marius Muja 204c54291d Bug fix in flann wrapper 2011-01-06 05:46:08 +00:00
Marius Muja 9bf80fb209 Renaming log constants, fixes bug #792 2011-01-05 22:06:03 +00:00
Vadim Pisarevsky 90e191211e increased "inf" constant in the true distance transform algorithm to handle high-resolution images 2011-01-05 20:18:52 +00:00
Vladimir Dudnik c72466c439 fix issue in IPP search algorithm (when no IPPROOT available in system and IPP is installed) 2011-01-03 16:26:45 +00:00
Vladimir Dudnik 767af0f2a7 added OpenCVFindIPP.cmake script, which will look for IPP installation at CMake configuration time. First, IPPROOT environment variable will be tested, if not found script will look at default install places.
The script should support IPP from 5.3 up to 7.x versions (although tested on Windows for IPP 6.1 and IPP 7.0 versions only)

Preliminary optimization of HOG with IPP added too. Not yet quite efficient, code for cpu branch should be redesigned in order to have better performance.
2010-12-31 16:45:56 +00:00
Vladimir Dudnik 6309b2d08d added OpenCVFindIPP.cmake script, which will look for IPP installation at CMake configuration time. First, IPPROOT environment variable will be tested, if not found script will look at default install places.
The script should support IPP from 5.3 up to 7.x versions (although tested on Windows for IPP 6.1 and IPP 7.0 versions only)

Preliminary optimization of HOG with IPP added too. Not yet quite efficient, code for cpu branch should be redesigned in order to have better performance.
2010-12-31 16:45:18 +00:00
Alexey Spizhevoy 1a34fa30f4 video writing via cmd args in hog sample added 2010-12-30 07:19:32 +00:00
Vadim Pisarevsky 4ad938afcc fixed incorrect sign of the result of the convolution with normalized asymmetric kernels (ticket #779) 2010-12-29 23:44:12 +00:00
Ethan Rublee 6b8b42bb8a swapping features2d with calib3d for linking order, rerun cmake in android to update your
android-opencv.mk file.
2010-12-29 18:49:41 +00:00
Alexey Spizhevoy ab543b5085 updated gpu hog sample 2010-12-29 16:08:56 +00:00
Alexey Spizhevoy 2f13e4ce58 refactored hog, added camera support into hog_sample 2010-12-29 15:45:01 +00:00
Brian Gerkey 16bcf9b645 test commit emails 2010-12-28 21:38:23 +00:00
Vadim Pisarevsky e26ac53589 some more fixes in background/foreground subtraction; converted bgfg_segm.cpp sample to C++ 2010-12-28 21:28:34 +00:00
Vadim Pisarevsky 2dd0e85264 fixed some build problems 2010-12-28 21:15:58 +00:00
Vadim Pisarevsky 0468bdeadd added background/foreground segmentation algorithm with shadow detection (by Zoran Zivkovic) 2010-12-28 16:25:39 +00:00
Vadim Pisarevsky 97d9a672cc moved gtest to modules; added some gtest-based tests 2010-12-28 16:24:23 +00:00
Alexey Spizhevoy ba32833c3f added missed include (for MSVC 2010) 2010-12-28 14:57:23 +00:00
Vadim Pisarevsky e90f197beb merged fix for x64 MSVC compile errors in highgui into trunk 2010-12-27 12:01:38 +00:00
Alexey Spizhevoy be38864dd0 added buffered version of gpu::convolve 2010-12-27 10:18:42 +00:00
Vadim Pisarevsky e5d1b9eecd another attempt to fix findHomography 2010-12-27 10:00:26 +00:00
Ilya Lysenkov 2d5a984c28 Moved BlobDetector to features2d 2010-12-27 09:15:08 +00:00
Alexey Spizhevoy 1ecb6cf775 simplified gpu::columnSum test, it doesn't fail on Quadro anymore (when seed is 000001af5a11badd) after BFM test, but something definitely wrong with NPP_Staging's transpose 2010-12-27 09:10:22 +00:00
Ilya Lysenkov dc9e5eda19 Moved PlanarObjectDetector to the objdetect module 2010-12-27 08:25:31 +00:00
Alexey Spizhevoy 8f0d36b8b6 refactored gpu::dft 2010-12-27 07:35:41 +00:00
Vadim Pisarevsky a379d011fd fixed MatConstIterator<> (ticket #776) 2010-12-26 22:18:30 +00:00
Alexey Spizhevoy 86802ec968 minor warning fixed 2010-12-24 13:44:26 +00:00
Alexey Spizhevoy eaf35a8421 minor refactoring in gpu module 2010-12-24 12:55:43 +00:00
Alexey Spizhevoy 21b081deff now single row GPU matrix is continuous one, added aux. functions, updated dft and matchTemplates 2010-12-24 09:26:19 +00:00
Alexey Spizhevoy 54fcdf4cae minor changes in gpu module (comments and warnings) 2010-12-24 07:00:08 +00:00
Alexey Spizhevoy 6702d55711 added support of scaling into gpu::dft, refactored gpu::convolve 2010-12-24 06:48:23 +00:00
Vladimir Dudnik 2026649f73 cosmetic changes, removed trailing spaces 2010-12-23 23:13:49 +00:00
Vladimir Dudnik 46d4975ba3 cosmetic changes 2010-12-23 23:08:16 +00:00
Vladimir Dudnik 0064bd516b cosmetic changes, removed trailing spaces 2010-12-23 23:06:52 +00:00
Vladimir Dudnik eedde64902 cosmetic changes, removed trailing spaces 2010-12-23 23:05:35 +00:00
Vladimir Dudnik b6f53fc465 cosmetic changes, removed trailing spaces 2010-12-23 23:04:24 +00:00
Vladimir Dudnik 8511c9fcb8 cosmetic changes, removed trailing spaces 2010-12-23 23:03:15 +00:00
Vladimir Dudnik e92d0e4bc2 cosmetic changes 2010-12-23 23:01:18 +00:00
Vladimir Dudnik c9d20500ce cosmetic changes, removed trailing spaces. Added ippGetCpuClocks if IPP is available (important for 64-bit build) 2010-12-23 23:00:04 +00:00
Vladimir Dudnik 50e5456874 cosmetic changes 2010-12-23 22:56:28 +00:00
Vladimir Dudnik 3c6f35740d cosmetic changes 2010-12-23 22:55:23 +00:00
Vladimir Dudnik 5cb81c0a14 test svn access 2010-12-23 22:42:08 +00:00
Alexey Spizhevoy 783716838d updated test for gpu::dft, updated dft for handling continous source 2010-12-23 13:00:33 +00:00
Alexey Spizhevoy 52ca0c4bca fixed bug in gpu::dft 2010-12-23 10:07:37 +00:00
Alexey Spizhevoy 09735fd208 added gpu::dft implemented via CUFFT 2010-12-23 09:24:33 +00:00
Alexey Spizhevoy da1fb6c50a added tests for gpu::mulSpectrums 2010-12-22 14:01:26 +00:00
Alexey Spizhevoy 68aba9f2fb added mulSpectrums functions into GPU module 2010-12-22 13:46:06 +00:00
Alexey Spizhevoy fef06c25b5 moved crossCorr (as NPP_Staging wrapper) into public GPU module part from the internal matchTemplate files 2010-12-22 08:56:16 +00:00
Alexey Spizhevoy f9bcef9003 moved sqrIntegral (NPP_Staging wrapper) into public GPU module part from matchTemplate.cpp 2010-12-22 08:17:36 +00:00
Vladislav Vinogradov 428e8d1255 added matcher_simple_gpu sample 2010-12-22 08:16:00 +00:00
Alexey Spizhevoy a6d9cce500 added CUFFT errors handling into GPU module 2010-12-22 08:03:53 +00:00
Vladislav Vinogradov 8190837dd4 fixed some warnings under linux 2010-12-22 07:30:21 +00:00
Vladislav Vinogradov 0cd587ee34 added gpu transpose and integral based on NPP Staging.
added mask support to SURF_GPU.
2010-12-21 14:02:09 +00:00
Ilya Lysenkov 457c6a8dfe Fixed documentation 2010-12-21 13:17:52 +00:00
Ilya Lysenkov 0bc1349335 Fixed some warnings under Windows 2010-12-21 12:11:28 +00:00
Ilya Lysenkov 351f6eeb97 Fixed compile errors under Windows 2010-12-21 11:39:12 +00:00
Anatoly Baksheev 998fab0ef5 warningx fixed under vs2008 2010-12-21 11:37:08 +00:00
Alexey Spizhevoy 0545e780f8 minor changes in the gpu stereo sample 2010-12-21 10:47:17 +00:00
Ilya Lysenkov c4a8ae5931 Used Poitn2f instead of KeyPoint 2010-12-21 10:08:57 +00:00
Alexey Spizhevoy b102299dfa fixed comment 2010-12-21 09:55:56 +00:00
Alexey Spizhevoy 65a356ebdd added convert into gray and prefilter Sobel controls (for gpu stereo sample) 2010-12-21 09:49:58 +00:00
Ilya Lysenkov bdf6f0258c Changed the camera calibration sample to support circles' grid pattern 2010-12-21 09:32:14 +00:00
Ilya Lysenkov 5f5dc91bfd Added documentation for cirlces' grid detection 2010-12-21 09:30:21 +00:00
Ilya Lysenkov 84dc12d387 Added a regression test for a circles' grid detection 2010-12-21 09:27:31 +00:00
Ilya Lysenkov 964df356bf Added detection of cirlces' grid pattern 2010-12-21 09:24:36 +00:00
Alexey Spizhevoy 24206bd19f added more controls into gpu stereo sample 2010-12-21 08:26:48 +00:00
Vladislav Vinogradov 5bfb44f887 fixed compiler error under linux 2010-12-21 08:13:15 +00:00
Alexey Spizhevoy edce202065 added first version of stereo match sample on gpu 2010-12-21 07:35:46 +00:00
Vadim Pisarevsky 8b48eebeee enable #include "cvconfig.h" in highgui on Windows. That should fix camera capture. 2010-12-20 21:20:46 +00:00
Vladislav Vinogradov 0e45a637c4 added SURF_GPU.
added support of CV_32FC1 type to gpu copyMakeBorder.
2010-12-20 12:49:40 +00:00
Alexey Spizhevoy a2ace58bb0 gpu hog sample: added support of writing video 2010-12-20 12:29:57 +00:00
Alexey Spizhevoy df8529377b refactoring: moved gpu reduction-based functions into separated file 2010-12-20 09:51:25 +00:00
Alexey Spizhevoy 1922e50f19 refactoring: made gpu bitwise operations inline 2010-12-20 09:16:17 +00:00
Alexey Spizhevoy 0465b89e7e gpu module refactoring: moved per-element operations into separated file 2010-12-20 09:07:19 +00:00
Alexey Spizhevoy 6891a60149 added host code for gpu::matchTemplate (as NPP_staging was integrated) 2010-12-20 08:09:09 +00:00
Alexey Spizhevoy e62bf3a2ae updated gpu bitwise operations 2010-12-20 08:06:13 +00:00
Anatoly Baksheev 0f30fe080f renamed constantspacebp -> stereocsbp line all other algs
created element_operations and matrix_reductions files for farther refactoring
2010-12-19 17:20:54 +00:00
Anatoly Baksheev 9dd4a22a5e temporary added NPP_staging, functionality from the library will be moved to NPP with next release. 2010-12-17 15:41:26 +00:00
Maria Dimashova e5c5a1cb3d fixed traincascade 2010-12-17 14:24:59 +00:00
Alexey Spizhevoy 7767038ef0 updated other gpu's bitwise operations 2010-12-17 12:48:04 +00:00
Alexey Spizhevoy 5132ce211b reimplemented gpu::bitwise_not operation, refactored gpu module 2010-12-17 12:22:51 +00:00
Alexey Spizhevoy 1a93412eca refactored bitwise operations in gpu module 2010-12-17 10:26:57 +00:00
Alexey Spizhevoy 74197c5b14 fixed link time error in gpu module 2010-12-16 08:46:47 +00:00
Alexey Spizhevoy 343c33d73e added support of CCOEFF_NORMED for multichannel images (8U) into gpu::matchTemplate 2010-12-16 08:10:31 +00:00
Alexey Spizhevoy 640af6623c added support of multichannel images into gpu::sqrSum 2010-12-15 16:32:56 +00:00
Alexey Spizhevoy 3db5b687f6 added support of multichannel images into gpu::matchTemplate for CCOEFF method 2010-12-15 16:04:10 +00:00
Alexey Spizhevoy f56d9c340f added support of remaining image number of channels into gpu::sum 2010-12-15 15:28:35 +00:00
Alexey Spizhevoy d8a7ff1e00 refactored gpu module, added vec math operators for uint, added support of 2 channel images into gpu::sum (removed support of double) 2010-12-15 15:12:32 +00:00
Alexey Spizhevoy e5eec31be1 fixed minor bugs in gpu module 2010-12-15 12:10:30 +00:00
Kirill Kornyakov 93e344a962 compilation warning fixed 2010-12-15 11:32:37 +00:00
Alexey Spizhevoy 68c3018047 added support of multichannel images into gpu::matchTemplate (all methods except CCOEFF based), refactored 2010-12-15 11:22:37 +00:00
Kirill Kornyakov c418858104 bug #762 fixed 2010-12-15 11:21:27 +00:00
Kirill Kornyakov e7f491ae1a CascadeClassifier refactored. Most of the members and methods are private now. 2010-12-14 10:17:45 +00:00
Alexey Spizhevoy e7cf541f5f fixed bug in matchTemplate when template size is (1,1), refactored 2010-12-14 09:53:17 +00:00
Alexey Spizhevoy 1887b7d2e4 refactored matchTemplate.cu 2010-12-14 08:45:11 +00:00
Alexey Spizhevoy ce47a37e6e added CUDA kernel for CV_TM_CCOEFF_NORMED matchTemplate method 2010-12-14 08:00:53 +00:00
Alexey Spizhevoy b35aa77418 added CUDA kernel for CV_TM_CCOEFF matchTemplate method 2010-12-14 07:42:55 +00:00
James Bowman af86e87c70 Export CV_PI explcitly, #758. 2010-12-14 00:13:42 +00:00
Vadim Pisarevsky 5633cf0379 one more fix in the recently rewritten copyMakeBorder 2010-12-13 16:53:46 +00:00
Alexey Spizhevoy 39700c5d54 added some gpu::matchTemplate kernels (other parts after NPP Staging integration) 2010-12-13 16:48:34 +00:00
Alexey Spizhevoy a81b41fb08 fixed some warning under Ubuntu in gpu module 2010-12-13 15:56:29 +00:00
Vadim Pisarevsky 4ac4ce3e40 replaced 8x6 pattern with 9x6, which orientation can be determined without any ambiguity 2010-12-13 15:00:35 +00:00
Alexey Spizhevoy c9f9f38777 added gpu::sqrSum function 2010-12-13 14:34:02 +00:00
Vladislav Vinogradov b18a3a5f83 fixed errors in StereoBeliefPropogation under linux 2010-12-13 13:52:40 +00:00
Anatoly Baksheev 070d87fb7f fixed bug with prefilter_xsobel preset. 2010-12-13 13:42:35 +00:00
Alexey Spizhevoy e193fa1165 fixed minor bug in gpu::sum 2010-12-13 12:50:52 +00:00
Alexey Spizhevoy 3997514b7c added tests for gpu::sum, it supports all data types, but single channel images only 2010-12-13 12:00:58 +00:00
Vladislav Vinogradov 442cd75c32 fixed compile error under linux 2010-12-13 09:50:32 +00:00
Vladislav Vinogradov 49ec8ba742 fixed bug in gpu filter engine (incorrect buffer type) and in vector's saturate_cast.
changed buffer type in linear filters to float.
added support of 1 channel image to linear filters.
added support of BORDER_REFLECT101, BORDER_REPLICATE and BORDER_CONSTANT border type to gpu linear filters.
minor fix in tests.
update comments in gpu.hpp.
2010-12-13 08:43:04 +00:00
Vadim Pisarevsky 108ab94023 improved naive bayes robustness in the case of singular data 2010-12-12 22:45:31 +00:00
Vadim Pisarevsky 51d039945a fixed cv::CHAIN_APPROX_* definitions (ticket #755) 2010-12-12 20:46:06 +00:00
Vadim Pisarevsky 76c8a7d96b rewrote copyMakeBorder (to support other border types and fix some bugs) 2010-12-11 21:50:31 +00:00
Vadim Pisarevsky 8511b69635 fixed Mat::Mat(Vec|Matx|vector) constructor (ticket #747) 2010-12-11 18:32:11 +00:00
Vadim Pisarevsky 4339f69da4 fix opencv-highgui build with old versions of libpng (< 1.4.x) 2010-12-11 18:05:50 +00:00
Anatoly Baksheev 6c2cce6e28 some files rename 2010-12-11 15:21:11 +00:00
Anatoly Baksheev ec4d2b6bb9 Fixed serious kernel crash IN StereoBM_GPU for some parameter. Will more rework for the code farther. 2010-12-11 15:07:14 +00:00
Vadim Pisarevsky fcdce4edcb fixed border processing bayer2rgb & bayer2gray; made the test "color-bayer" pass; renamed CV_Bayer*2Gray -> CV_Bayer*2GRAY for consistency 2010-12-11 10:43:32 +00:00
Vadim Pisarevsky d14b744ea9 possibly improved findHomography accuracy (reported by Luca Del Tongo) 2010-12-10 21:02:13 +00:00
Vadim Pisarevsky da293ee3d9 SSE2 optimization for Bayer->RGB; added Bayer->Gray with SSE2 optimization; corrected some bugs noted in the yahoogroups forum 2010-12-10 19:06:38 +00:00
Alexander Shishkov e834a46ccf moved failed tests to blacklists
"em",        //ticket 754
2010-12-10 16:57:38 +00:00
Alexey Spizhevoy 79b1eec3d3 minor refactoring of gpu module 2010-12-10 14:02:41 +00:00
Alexey Spizhevoy 9f80317ffa fixed minor bug in gpu module, added first version of sum 2010-12-10 13:36:00 +00:00
Alexey Spizhevoy d557c800a7 refactored gpu module 2010-12-10 10:23:32 +00:00
Alexey Spizhevoy 97484089c5 added support of CV_8U & CV_TM_CCORR into gpu::matchTemplate 2010-12-10 08:06:54 +00:00
Vadim Pisarevsky e5564b4388 improved accuracy of determinant(), invert() and solve() on 3x3 matrices (ticket #749) 2010-12-09 20:54:04 +00:00
Vadim Pisarevsky c09a3dc54a fixed compile error in multicascadeclassifier 2010-12-09 20:31:59 +00:00
Kirill Kornyakov d8415ed44e code cleaning of cascade classifier 2010-12-09 15:09:34 +00:00
Kirill Kornyakov 33c44fcd7a facedetect code cleaned. added new multicascadeclassifier sample, duplicating facedetect right now. 2010-12-09 15:08:32 +00:00
Vadim Pisarevsky 0cc559b33c added missing #include <iterator> 2010-12-09 12:24:12 +00:00
Vadim Pisarevsky 8a87c15a66 added opencv/include/CMakeLists.txt to the install package for Windows 2010-12-09 12:23:41 +00:00
Vadim Pisarevsky 1dfcb6fb22 make the floodfill test parameters more discrete, to avoid weird rounding errors 2010-12-08 20:15:54 +00:00
Alexey Spizhevoy 9801d07a46 added test for gpu:columnSum 2010-12-08 16:51:12 +00:00
Alexey Spizhevoy fa322bf46f added gpu::columnSum, fixed compile error (if there is no cuda), refactored 2010-12-08 15:06:10 +00:00
Alexey Spizhevoy b1c5b9293e added support of CV_32F & CV_TM_SQDIFF into gpu::matchTemplate 2010-12-08 13:12:12 +00:00
Alexey Spizhevoy 40304721a7 added support of CV_TM_CCORR (via FFT) into gpu::matchTemplate (versions both with block and without blocks) 2010-12-08 13:03:53 +00:00
Vadim Pisarevsky 3beac049d5 replicated the fix for Ptr<CvCapture> bug 2010-12-08 09:36:42 +00:00
Vladislav Vinogradov 905e5f1739 added support of 4-channels images to StereoConstantSpaceBP.
refactored transpose_gpu, made it non template function.
2010-12-08 07:23:59 +00:00
Vladislav Vinogradov c18aa438ec added support of 4 channels images to StereoBeliefPropagation, minor code refactoring. 2010-12-07 10:20:03 +00:00
Maria Dimashova 5e401f2998 removed test from black list (#737) 2010-12-07 09:56:12 +00:00
Maria Dimashova c9662c2e38 updated test threshold 2010-12-07 09:13:45 +00:00
Alexey Spizhevoy 0036cabaf2 fixed total FPS evaluation in the GPU HOG sample 2010-12-07 07:56:30 +00:00
Alexander Shishkov 066590dcd4 moved failed tests to blacklists
"descriptor-opponent-sift",       //ticket 737
"_3d-rodrigues",                  //ticket 435
2010-12-07 07:31:07 +00:00
Alexey Spizhevoy 349a9fac86 fixed compile-time warning under g++ 2010-12-07 07:16:13 +00:00
Alexey Spizhevoy 19b434be50 minor refactoring of gpu module 2010-12-07 06:45:54 +00:00
Vadim Pisarevsky ed934ed6fc fixed GBTrees build on NetBSD & Android; fixed GPU brute force matcher test build on MacOSX 2010-12-06 19:42:16 +00:00
Anatoly Baksheev 652fb1212e module reorganization: added folder with pure device functions, cuda_shared.hpp renamed to internal_shared.hpp 2010-12-06 16:37:32 +00:00
Vladislav Vinogradov fadd19b976 added assertion on Compute Capability >= 1.1 to BruteForceMatcher_GPU_base::radiusMatch 2010-12-06 14:51:47 +00:00
Alexey Spizhevoy 50167f6c26 added first version of gpu::matchTemplate, currently it works only with 8UC1 images and SQDIFF method 2010-12-06 14:19:41 +00:00
Vladislav Vinogradov 8891acb67a added BruteForceMatcher_GPU 2010-12-06 12:06:51 +00:00
Alexey Spizhevoy 77027f6075 refactored border interpolation in gpu module 2010-12-06 09:44:51 +00:00
Vadim Pisarevsky bc21cc6fe9 revert to using fixed RNG in EM, otherwise the algorithm becomes non-deterministic and the test fails sometimes. in the meantime, EM needs to switch to more robust cv::kmeans instead of CvEM::kmeans. 2010-12-06 09:41:28 +00:00
Vadim Pisarevsky e6aba3e51c turn off SSE2 optimization in cv::exp & cv::log in the case of GCC <=4.1 (not no Mac, where a patched GCC 4.0 is used) 2010-12-06 08:49:49 +00:00
Vladislav Vinogradov 17d9014373 added per-element min/max to gpu module.
fixed compile error in transform.
2010-12-06 08:10:11 +00:00
Anatoly Baksheev d96c5ebb7d misprint 2010-12-06 08:03:33 +00:00
Alexey Spizhevoy 6ef4d9b1dd added sipport of BORDER_REPLICATE mode into gpu::corner* functions 2010-12-06 07:47:26 +00:00
2597 arquivos alterados com 365089 adições e 822870 exclusões
+8 -12
Ver Arquivo
@@ -1,22 +1,18 @@
if(ANDROID)
configure_file("${CMAKE_SOURCE_DIR}/Android.mk.modules.in" "${CMAKE_CURRENT_BINARY_DIR}/Android.mk")
if(NOT ZLIB_FOUND)
add_subdirectory(zlib)
endif()
add_subdirectory(lapack)
add_subdirectory(zlib)
if(WITH_JASPER AND NOT JASPER_FOUND)
add_subdirectory(libjasper)
add_subdirectory(libjasper)
endif()
if(WITH_JPEG AND NOT JPEG_FOUND)
add_subdirectory(libjpeg)
add_subdirectory(libjpeg)
endif()
if(WITH_PNG AND NOT PNG_FOUND)
add_subdirectory(libpng)
add_subdirectory(libpng)
endif()
if(WITH_TIFF AND NOT TIFF_FOUND)
add_subdirectory(libtiff)
add_subdirectory(libtiff)
endif()
if(0)
add_subdirectory(gtest)
if(WIN32)
add_subdirectory(ffmpeg)
endif()
+20
Ver Arquivo
@@ -0,0 +1,20 @@
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)
+1
Ver Arquivo
@@ -0,0 +1 @@
#include "cap_ffmpeg_impl.hpp"
+2
Ver Arquivo
@@ -0,0 +1,2 @@
set path=c:\dev\msys32\bin;%path% & gcc -Wall -shared -o opencv_ffmpeg.dll -O2 -x c++ -I../include -I../include/ffmpeg_ -I../../modules/highgui/src ffopencv.c -L../lib -lavformat -lavcodec -lavdevice -lswscale -lavutil -lwsock32
set path=c:\dev\msys64\bin;%path% & gcc -m64 -Wall -shared -o opencv_ffmpeg_64.dll -O2 -x c++ -I../include -I../include/ffmpeg_ -I../../modules/highgui/src ffopencv.c -L../lib -lavformat64 -lavcodec64 -lavdevice64 -lswscale64 -lavutil64 -lavcore64 -lwsock32 -lws2_32
Arquivo binário não exibido.
Arquivo binário não exibido.
+44
Ver Arquivo
@@ -0,0 +1,44 @@
The build script is to be fixed.
Right now it assumes that 32-bit MinGW is in the system path and
64-bit mingw is installed to c:\Apps\MinGW64.
It is important that gcc is used, not g++!
Otherwise the produced DLL will likely be dependent on libgcc_s_dw2-1.dll or similar DLL.
While we want to make the DLLs with minimum dependencies: Win32 libraries + msvcrt.dll.
ffopencv.c is really a C++ source, hence -x c++ is used.
How to update opencv_ffmpeg.dll and opencv_ffmpeg_64.dll when a new version of FFMPEG is release?
1. Install 32-bit MinGW + MSYS from
http://sourceforge.net/projects/mingw/files/Automated%20MinGW%20Installer/mingw-get-inst/
Let's assume, it's installed in C:\MSYS32.
2. Install 64-bit MinGW. http://mingw-w64.sourceforge.net/
Let's assume, it's installed in C:\MSYS64
3. Copy C:\MSYS32\msys to C:\MSYS64\msys. Edit C:\MSYS64\msys\etc\fstab, change C:\MSYS32 to C:\MSYS64.
4. Now you have working MSYS32 and MSYS64 environments.
Launch, one by one, C:\MSYS32\msys\msys.bat and C:\MSYS64\msys\msys.bat to create your home directories.
4. Download ffmpeg-x.y.z.tar.gz (where x.y.z denotes the actual ffmpeg version).
Copy it to C:\MSYS{32|64}\msys\home\<loginname> directory.
5. To build 32-bit ffmpeg libraries, run C:\MSYS32\msys\msys.bat and type the following commands:
5.1. tar -xzf ffmpeg-x.y.z.tar.gz
5.2. mkdir build
5.3. cd build
5.4. ../ffmpeg-x.y.z/configure --enable-w32threads
5.5. make
5.6. make install
5.7. cd /local/lib
5.8. strip -g *.a
6. Then repeat the same for 64-bit case. The output libs: libavcodec.a etc. need to be renamed to libavcodec64.a etc.
7. Then, copy all those libs to <opencv>\3rdparty\lib\, copy the headers to <opencv>\3rdparty\include\ffmpeg_.
8. Then, go to <opencv>\3rdparty\ffmpeg, edit make.bat
(change paths to the actual paths to your msys32 and msys64 distributions) and then run make.bat
-29
Ver Arquivo
@@ -1,29 +0,0 @@
project(opencv_gtest)
# List of C++ files:
include_directories("${CMAKE_CURRENT_SOURCE_DIR}/..")
# The .cpp files:
file(GLOB lib_srcs *.cpp)
file(GLOB lib_hdrs *.h)
# ----------------------------------------------------------------------------------
# Define the library target:
# ----------------------------------------------------------------------------------
set(the_target "opencv_gtest")
add_library(${the_target} STATIC ${lib_srcs} ${lib_hdrs})
if(UNIX)
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}"
DEBUG_POSTFIX "${OPENCV_DEBUG_POSTFIX}"
ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/3rdparty/lib
)
-417
Ver Arquivo
@@ -1,417 +0,0 @@
Google C++ Testing Framework
============================
http://code.google.com/p/googletest/
Overview
--------
Google's framework for writing C++ tests on a variety of platforms
(Linux, Mac OS X, Windows, Windows CE, Symbian, etc). Based on the
xUnit architecture. Supports automatic test discovery, a rich set of
assertions, user-defined assertions, death tests, fatal and non-fatal
failures, various options for running the tests, and XML test report
generation.
Please see the project page above for more information as well as the
mailing list for questions, discussions, and development. There is
also an IRC channel on OFTC (irc.oftc.net) #gtest available. Please
join us!
Requirements for End Users
--------------------------
Google Test is designed to have fairly minimal requirements to build
and use with your projects, but there are some. Currently, we support
Linux, Windows, Mac OS X, and Cygwin. We will also make our best
effort to support other platforms (e.g. Solaris, AIX, and z/OS).
However, since core members of the Google Test project have no access
to these platforms, Google Test may have outstanding issues there. If
you notice any problems on your platform, please notify
googletestframework@googlegroups.com. Patches for fixing them are
even more welcome!
### Linux Requirements ###
These are the base requirements to build and use Google Test from a source
package (as described below):
* GNU-compatible Make or gmake
* POSIX-standard shell
* POSIX(-2) Regular Expressions (regex.h)
* A C++98-standard-compliant compiler
### Windows Requirements ###
* Microsoft Visual C++ 7.1 or newer
### Cygwin Requirements ###
* Cygwin 1.5.25-14 or newer
### Mac OS X Requirements ###
* Mac OS X 10.4 Tiger or newer
* Developer Tools Installed
Also, you'll need CMake 2.6.4 or higher if you want to build the
samples using the provided CMake script, regardless of the platform.
Requirements for Contributors
-----------------------------
We welcome patches. If you plan to contribute a patch, you need to
build Google Test and its own tests from an SVN checkout (described
below), which has further requirements:
* Python version 2.3 or newer (for running some of the tests and
re-generating certain source files from templates)
* CMake 2.6.4 or newer
Getting the Source
------------------
There are two primary ways of getting Google Test's source code: you
can download a stable source release in your preferred archive format,
or directly check out the source from our Subversion (SVN) repositary.
The SVN checkout requires a few extra steps and some extra software
packages on your system, but lets you track the latest development and
make patches much more easily, so we highly encourage it.
### Source Package ###
Google Test is released in versioned source packages which can be
downloaded from the download page [1]. Several different archive
formats are provided, but the only difference is the tools used to
manipulate them, and the size of the resulting file. Download
whichever you are most comfortable with.
[1] http://code.google.com/p/googletest/downloads/list
Once the package is downloaded, expand it using whichever tools you
prefer for that type. This will result in a new directory with the
name "gtest-X.Y.Z" which contains all of the source code. Here are
some examples on Linux:
tar -xvzf gtest-X.Y.Z.tar.gz
tar -xvjf gtest-X.Y.Z.tar.bz2
unzip gtest-X.Y.Z.zip
### SVN Checkout ###
To check out the main branch (also known as the "trunk") of Google
Test, run the following Subversion command:
svn checkout http://googletest.googlecode.com/svn/trunk/ gtest-svn
Setting up the Build
--------------------
To build Google Test and your tests that use it, you need to tell your
build system where to find its headers and source files. The exact
way to do it depends on which build system you use, and is usually
straightforward.
### Generic Build Instructions ###
Suppose you put Google Test in directory ${GTEST_DIR}. To build it,
create a library build target (or a project as called by Visual Studio
and Xcode) to compile
${GTEST_DIR}/src/gtest-all.cc
with
${GTEST_DIR}/include and ${GTEST_DIR}
in the header search path. Assuming a Linux-like system and gcc,
something like the following will do:
g++ -I${GTEST_DIR}/include -I${GTEST_DIR} -c ${GTEST_DIR}/src/gtest-all.cc
ar -rv libgtest.a gtest-all.o
Next, you should compile your test source file with
${GTEST_DIR}/include in the header search path, and link it with gtest
and any other necessary libraries:
g++ -I${GTEST_DIR}/include path/to/your_test.cc libgtest.a -o your_test
As an example, the make/ directory contains a Makefile that you can
use to build Google Test on systems where GNU make is available
(e.g. Linux, Mac OS X, and Cygwin). It doesn't try to build Google
Test's own tests. Instead, it just builds the Google Test library and
a sample test. You can use it as a starting point for your own build
script.
If the default settings are correct for your environment, the
following commands should succeed:
cd ${GTEST_DIR}/make
make
./sample1_unittest
If you see errors, try to tweak the contents of make/Makefile to make
them go away. There are instructions in make/Makefile on how to do
it.
### Using CMake ###
Google Test comes with a CMake build script (CMakeLists.txt) that can
be used on a wide range of platforms ("C" stands for cross-platofrm.).
If you don't have CMake installed already, you can download it for
free from http://www.cmake.org/.
CMake works by generating native makefiles or build projects that can
be used in the compiler environment of your choice. The typical
workflow starts with:
mkdir mybuild # Create a directory to hold the build output.
cd mybuild
cmake ${GTEST_DIR} # Generate native build scripts.
If you want to build Google Test's samples, you should replace the
last command with
cmake -Dbuild_gtest_samples=ON ${GTEST_DIR}
If you are on a *nix system, you should now see a Makefile in the
current directory. Just type 'make' to build gtest.
If you use Windows and have Vistual Studio installed, a gtest.sln file
and several .vcproj files will be created. You can then build them
using Visual Studio.
On Mac OS X with Xcode installed, a .xcodeproj file will be generated.
### Legacy Build Scripts ###
Before settling on CMake, we have been providing hand-maintained build
projects/scripts for Visual Studio, Xcode, and Autotools. While we
continue to provide them for convenience, they are not actively
maintained any more. We highly recommend that you follow the
instructions in the previous two sections to integrate Google Test
with your existing build system.
If you still need to use the legacy build scripts, here's how:
The msvc\ folder contains two solutions with Visual C++ projects.
Open the gtest.sln or gtest-md.sln file using Visual Studio, and you
are ready to build Google Test the same way you build any Visual
Studio project. Files that have names ending with -md use DLL
versions of Microsoft runtime libraries (the /MD or the /MDd compiler
option). Files without that suffix use static versions of the runtime
libraries (the /MT or the /MTd option). Please note that one must use
the same option to compile both gtest and the test code. If you use
Visual Studio 2005 or above, we recommend the -md version as /MD is
the default for new projects in these versions of Visual Studio.
On Mac OS X, open the gtest.xcodeproj in the xcode/ folder using
Xcode. Build the "gtest" target. The universal binary framework will
end up in your selected build directory (selected in the Xcode
"Preferences..." -> "Building" pane and defaults to xcode/build).
Alternatively, at the command line, enter:
xcodebuild
This will build the "Release" configuration of gtest.framework in your
default build location. See the "xcodebuild" man page for more
information about building different configurations and building in
different locations.
Tweaking Google Test
--------------------
Google Test can be used in diverse environments. The default
configuration may not work (or may not work well) out of the box in
some environments. However, you can easily tweak Google Test by
defining control macros on the compiler command line. Generally,
these macros are named like GTEST_XYZ and you define them to either 1
or 0 to enable or disable a certain feature.
We list the most frequently used macros below. For a complete list,
see file include/gtest/internal/gtest-port.h.
### Choosing a TR1 Tuple Library ###
Some Google Test features require the C++ Technical Report 1 (TR1)
tuple library, which is not yet available with all compilers. The
good news is that Google Test implements a subset of TR1 tuple that's
enough for its own need, and will automatically use this when the
compiler doesn't provide TR1 tuple.
Usually you don't need to care about which tuple library Google Test
uses. However, if your project already uses TR1 tuple, you need to
tell Google Test to use the same TR1 tuple library the rest of your
project uses, or the two tuple implementations will clash. To do
that, add
-DGTEST_USE_OWN_TR1_TUPLE=0
to the compiler flags while compiling Google Test and your tests. If
you want to force Google Test to use its own tuple library, just add
-DGTEST_USE_OWN_TR1_TUPLE=1
to the compiler flags instead.
If you don't want Google Test to use tuple at all, add
-DGTEST_HAS_TR1_TUPLE=0
and all features using tuple will be disabled.
### Multi-threaded Tests ###
Google Test is thread-safe where the pthread library is available.
After #include <gtest/gtest.h>, you can check the GTEST_IS_THREADSAFE
macro to see whether this is the case (yes if the macro is #defined to
1, no if it's undefined.).
If Google Test doesn't correctly detect whether pthread is available
in your environment, you can force it with
-DGTEST_HAS_PTHREAD=1
or
-DGTEST_HAS_PTHREAD=0
When Google Test uses pthread, you may need to add flags to your
compiler and/or linker to select the pthread library, or you'll get
link errors. If you use the CMake script or the deprecated Autotools
script, this is taken care of for you. If you use your own build
script, you'll need to read your compiler and linker's manual to
figure out what flags to add.
### As a Shared Library (DLL) ###
Google Test is compact, so most users can build and link it as a
static library for the simplicity. You can choose to use Google Test
as a shared library (known as a DLL on Windows) if you prefer.
To compile gtest as a shared library, add
-DGTEST_CREATE_SHARED_LIBRARY=1
to the compiler flags. You'll also need to tell the linker to produce
a shared library instead - consult your linker's manual for how to do
it.
To compile your tests that use the gtest shared library, add
-DGTEST_LINKED_AS_SHARED_LIBRARY=1
to the compiler flags.
### Avoiding Macro Name Clashes ###
In C++, macros don't obey namespaces. Therefore two libraries that
both define a macro of the same name will clash if you #include both
definitions. In case a Google Test macro clashes with another
library, you can force Google Test to rename its macro to avoid the
conflict.
Specifically, if both Google Test and some other code define macro
FOO, you can add
-DGTEST_DONT_DEFINE_FOO=1
to the compiler flags to tell Google Test to change the macro's name
from FOO to GTEST_FOO. Currently FOO can be FAIL, SUCCEED, or TEST.
For example, with -DGTEST_DONT_DEFINE_TEST=1, you'll need to write
GTEST_TEST(SomeTest, DoesThis) { ... }
instead of
TEST(SomeTest, DoesThis) { ... }
in order to define a test.
Upgrating from an Earlier Version
---------------------------------
We strive to keep Google Test releases backward compatible.
Sometimes, though, we have to make some breaking changes for the
users' long-term benefits. This section describes what you'll need to
do if you are upgrading from an earlier version of Google Test.
### Upgrading from 1.3.0 or Earlier ###
You may need to explicitly enable or disable Google Test's own TR1
tuple library. See the instructions in section "Choosing a TR1 Tuple
Library".
### Upgrading from 1.4.0 or Earlier ###
The Autotools build script (configure + make) is no longer officially
supportted. You are encouraged to migrate to your own build system or
use CMake. If you still need to use Autotools, you can find
instructions in the README file from Google Test 1.4.0.
On platforms where the pthread library is available, Google Test uses
it in order to be thread-safe. See the "Multi-threaded Tests" section
for what this means to your build script.
If you use Microsoft Visual C++ 7.1 with exceptions disabled, Google
Test will no longer compile. This should affect very few people, as a
large portion of STL (including <string>) doesn't compile in this mode
anyway. We decided to stop supporting it in order to greatly simplify
Google Test's implementation.
Developing Google Test
----------------------
This section discusses how to make your own changes to Google Test.
### Testing Google Test Itself ###
To make sure your changes work as intended and don't break existing
functionality, you'll want to compile and run Google Test's own tests.
For that you can use CMake:
mkdir mybuild
cd mybuild
cmake -Dbuild_all_gtest_tests=ON ${GTEST_DIR}
Make sure you have Python installed, as some of Google Test's tests
are written in Python. If the cmake command complains about not being
able to find Python ("Could NOT find PythonInterp (missing:
PYTHON_EXECUTABLE)"), try telling it explicitly where your Python
executable can be found:
cmake -DPYTHON_EXECUTABLE=path/to/python -Dbuild_all_gtest_tests=ON \
${GTEST_DIR}
Next, you can build Google Test and all of its own tests. On *nix,
this is usually done by 'make'. To run the tests, do
make test
All tests should pass.
### Regenerating Source Files ###
Some of Google Test's source files are generated from templates (not
in the C++ sense) using a script. A template file is named FOO.pump,
where FOO is the name of the file it will generate. For example, the
file include/gtest/internal/gtest-type-util.h.pump is used to generate
gtest-type-util.h in the same directory.
Normally you don't need to worry about regenerating the source files,
unless you need to modify them. In that case, you should modify the
corresponding .pump files instead and run the pump.py Python script to
regenerate them. You can find pump.py in the scripts/ directory.
Read the Pump manual [2] for how to use it.
[2] http://code.google.com/p/googletest/wiki/PumpManual
### Contributing a Patch ###
We welcome patches. Please read the Google Test developer's guide [3]
for how you can contribute. In particular, make sure you have signed
the Contributor License Agreement, or we won't be able to accept the
patch.
[3] http://code.google.com/p/googletest/wiki/GoogleTestDevGuide
Happy testing!
-8510
Ver Arquivo
Diferenças do arquivo suprimidas por serem muito extensas Carregar Diff
-18007
Ver Arquivo
Diferenças do arquivo suprimidas por serem muito extensas Carregar Diff
-100
Ver Arquivo
@@ -1,100 +0,0 @@
/* CLAPACK 3.0 BLAS wrapper macros and functions
* Feb 5, 2000
*/
#ifndef __CBLAS_H
#define __CBLAS_H
#include "f2c.h"
#if defined _MSC_VER && _MSC_VER >= 1400
#pragma warning(disable: 4244 4554)
#endif
#ifdef __cplusplus
extern "C" {
#endif
static __inline double r_lg10(real *x)
{
return 0.43429448190325182765*log(*x);
}
static __inline double d_lg10(doublereal *x)
{
return 0.43429448190325182765*log(*x);
}
static __inline double d_sign(doublereal *a, doublereal *b)
{
double x = fabs(*a);
return *b >= 0 ? x : -x;
}
static __inline double r_sign(real *a, real *b)
{
double x = fabs((double)*a);
return *b >= 0 ? x : -x;
}
extern const unsigned char lapack_toupper_tab[];
#define lapack_toupper(c) ((char)lapack_toupper_tab[(unsigned char)(c)])
extern const unsigned char lapack_lamch_tab[];
extern const doublereal lapack_dlamch_tab[];
extern const doublereal lapack_slamch_tab[];
static __inline logical lsame_(char *ca, char *cb)
{
return lapack_toupper(ca[0]) == lapack_toupper(cb[0]);
}
static __inline doublereal dlamch_(char* cmach)
{
return lapack_dlamch_tab[lapack_lamch_tab[(unsigned char)cmach[0]]];
}
static __inline doublereal slamch_(char* cmach)
{
return lapack_slamch_tab[lapack_lamch_tab[(unsigned char)cmach[0]]];
}
static __inline integer i_nint(real *x)
{
return (integer)(*x >= 0 ? floor(*x + .5) : -floor(.5 - *x));
}
static __inline void exit_(integer *rc)
{
exit(*rc);
}
integer pow_ii(integer *ap, integer *bp);
double pow_ri(real *ap, integer *bp);
double pow_di(doublereal *ap, integer *bp);
static __inline double pow_dd(doublereal *ap, doublereal *bp)
{
return pow(*ap, *bp);
}
logical slaisnan_(real *in1, real *in2);
logical dlaisnan_(doublereal *din1, doublereal *din2);
static __inline logical sisnan_(real *in1)
{
return slaisnan_(in1, in1);
}
static __inline logical disnan_(doublereal *din1)
{
return dlaisnan_(din1, din1);
}
char *F77_aloc(ftnlen, char*);
#ifdef __cplusplus
}
#endif
#endif /* __BLASWRAP_H */
-3715
Ver Arquivo
Diferenças do arquivo suprimidas por serem muito extensas Carregar Diff
+110
Ver Arquivo
@@ -0,0 +1,110 @@
/**
* This file has no copyright assigned and is placed in the Public Domain.
* This file is part of the w64 mingw-runtime package.
* No warranty is given; refer to the file DISCLAIMER within this package.
*/
#if defined(_MSC_VER) && !defined(_MSC_EXTENSIONS)
#define NONAMELESSUNION 1
#endif
#if defined(NONAMELESSSTRUCT) && \
!defined(NONAMELESSUNION)
#define NONAMELESSUNION 1
#endif
#if defined(NONAMELESSUNION) && \
!defined(NONAMELESSSTRUCT)
#define NONAMELESSSTRUCT 1
#endif
#ifndef __ANONYMOUS_DEFINED
#define __ANONYMOUS_DEFINED
#if defined(__GNUC__) || defined(__GNUG__)
#define _ANONYMOUS_UNION __extension__
#define _ANONYMOUS_STRUCT __extension__
#else
#define _ANONYMOUS_UNION
#define _ANONYMOUS_STRUCT
#endif
#ifndef NONAMELESSUNION
#define _UNION_NAME(x)
#define _STRUCT_NAME(x)
#else /* NONAMELESSUNION */
#define _UNION_NAME(x) x
#define _STRUCT_NAME(x) x
#endif
#endif /* __ANONYMOUS_DEFINED */
#ifndef DUMMYUNIONNAME
# ifdef NONAMELESSUNION
# define DUMMYUNIONNAME u
# define DUMMYUNIONNAME1 u1 /* Wine uses this variant */
# define DUMMYUNIONNAME2 u2
# define DUMMYUNIONNAME3 u3
# define DUMMYUNIONNAME4 u4
# define DUMMYUNIONNAME5 u5
# define DUMMYUNIONNAME6 u6
# define DUMMYUNIONNAME7 u7
# define DUMMYUNIONNAME8 u8
# define DUMMYUNIONNAME9 u9
# else /* NONAMELESSUNION */
# define DUMMYUNIONNAME
# define DUMMYUNIONNAME1 /* Wine uses this variant */
# define DUMMYUNIONNAME2
# define DUMMYUNIONNAME3
# define DUMMYUNIONNAME4
# define DUMMYUNIONNAME5
# define DUMMYUNIONNAME6
# define DUMMYUNIONNAME7
# define DUMMYUNIONNAME8
# define DUMMYUNIONNAME9
# endif
#endif /* DUMMYUNIONNAME */
#if !defined(DUMMYUNIONNAME1) /* MinGW does not define this one */
# ifdef NONAMELESSUNION
# define DUMMYUNIONNAME1 u1 /* Wine uses this variant */
# else
# define DUMMYUNIONNAME1 /* Wine uses this variant */
# endif
#endif /* DUMMYUNIONNAME1 */
#ifndef DUMMYSTRUCTNAME
# ifdef NONAMELESSUNION
# define DUMMYSTRUCTNAME s
# define DUMMYSTRUCTNAME1 s1 /* Wine uses this variant */
# define DUMMYSTRUCTNAME2 s2
# define DUMMYSTRUCTNAME3 s3
# define DUMMYSTRUCTNAME4 s4
# define DUMMYSTRUCTNAME5 s5
# else
# define DUMMYSTRUCTNAME
# define DUMMYSTRUCTNAME1 /* Wine uses this variant */
# define DUMMYSTRUCTNAME2
# define DUMMYSTRUCTNAME3
# define DUMMYSTRUCTNAME4
# define DUMMYSTRUCTNAME5
# endif
#endif /* DUMMYSTRUCTNAME */
/* These are for compatibility with the Wine source tree */
#ifndef WINELIB_NAME_AW
# ifdef __MINGW_NAME_AW
# define WINELIB_NAME_AW __MINGW_NAME_AW
# else
# ifdef UNICODE
# define WINELIB_NAME_AW(func) func##W
# else
# define WINELIB_NAME_AW(func) func##A
# endif
# endif
#endif /* WINELIB_NAME_AW */
#ifndef DECL_WINELIB_TYPE_AW
# ifdef __MINGW_TYPEDEF_AW
# define DECL_WINELIB_TYPE_AW __MINGW_TYPEDEF_AW
# else
# define DECL_WINELIB_TYPE_AW(type) typedef WINELIB_NAME_AW(type) type;
# endif
#endif /* DECL_WINELIB_TYPE_AW */
+33
Ver Arquivo
@@ -0,0 +1,33 @@
/**
* This file has no copyright assigned and is placed in the Public Domain.
* This file is part of the w64 mingw-runtime package.
* No warranty is given; refer to the file DISCLAIMER.PD within this package.
*/
#if !defined(_INC_CRT_UNICODE_MACROS)
/* _INC_CRT_UNICODE_MACROS defined based on UNICODE flag */
#if defined(UNICODE)
# define _INC_CRT_UNICODE_MACROS 1
# define __MINGW_NAME_AW(func) func##W
# define __MINGW_NAME_AW_EXT(func,ext) func##W##ext
# define __MINGW_NAME_UAW(func) func##_W
# define __MINGW_NAME_UAW_EXT(func,ext) func##_W_##ext
# define __MINGW_STRING_AW(str) L##str /* same as TEXT() from winnt.h */
# define __MINGW_PROCNAMEEXT_AW "W"
#else
# define _INC_CRT_UNICODE_MACROS 2
# define __MINGW_NAME_AW(func) func##A
# define __MINGW_NAME_AW_EXT(func,ext) func##A##ext
# define __MINGW_NAME_UAW(func) func##_A
# define __MINGW_NAME_UAW_EXT(func,ext) func##_A_##ext
# define __MINGW_STRING_AW(str) str /* same as TEXT() from winnt.h */
# define __MINGW_PROCNAMEEXT_AW "A"
#endif
#define __MINGW_TYPEDEF_AW(type) \
typedef __MINGW_NAME_AW(type) type;
#define __MINGW_TYPEDEF_UAW(type) \
typedef __MINGW_NAME_UAW(type) type;
#endif /* !defined(_INC_CRT_UNICODE_MACROS) */
Diferenças do arquivo suprimidas por serem muito extensas Carregar Diff
+31
Ver Arquivo
@@ -0,0 +1,31 @@
#ifndef _AUDEVCOD_H
#define _AUDEVCOD_H
#if __GNUC__ >=3
#pragma GCC system_header
#endif
#ifdef __cplusplus
extern "C" {
#endif
typedef enum _tagSND_DEVICE_ERROR {
SNDDEV_ERROR_Open = 1,
SNDDEV_ERROR_Close = 2,
SNDDEV_ERROR_GetCaps = 3,
SNDDEV_ERROR_PrepareHeader = 4,
SNDDEV_ERROR_UnprepareHeader = 5,
SNDDEV_ERROR_Reset = 6,
SNDDEV_ERROR_Restart = 7,
SNDDEV_ERROR_GetPosition = 8,
SNDDEV_ERROR_Write = 9,
SNDDEV_ERROR_Pause = 10,
SNDDEV_ERROR_Stop = 11,
SNDDEV_ERROR_Start = 12,
SNDDEV_ERROR_AddBuffer = 13,
SNDDEV_ERROR_Query = 14
} SNDDEV_ERR;
#ifdef __cplusplus
}
#endif
#endif
externo Arquivo executável
+32
Ver Arquivo
@@ -0,0 +1,32 @@
#ifndef _BDATYPES_H
#define _BDATYPES_H
#if __GNUC__ >= 3
#pragma GCC system_header
#endif
#ifdef __cplusplus
extern "C" {
#endif
/*--- DirectShow Reference - DirectShow Enumerated Types */
typedef enum {
MEDIA_TRANSPORT_PACKET,
MEDIA_ELEMENTARY_STREAM,
MEDIA_MPEG2_PSI,
MEDIA_TRANSPORT_PAYLOAD
} MEDIA_SAMPLE_CONTENT;
/*--- DirectShow Reference - DirectShow Structures */
typedef struct {
DWORD dwOffset;
DWORD dwPacketLength;
DWORD dwStride;
} MPEG2_TRANSPORT_STRIDE;
typedef struct {
ULONG ulPID;
MEDIA_SAMPLE_CONTENT MediaSampleContent ;
} PID_MAP;
#ifdef __cplusplus
}
#endif
#endif
Diferenças do arquivo suprimidas por serem muito extensas Carregar Diff
+2712
Ver Arquivo
Diferenças do arquivo suprimidas por serem muito extensas Carregar Diff
+61
Ver Arquivo
@@ -0,0 +1,61 @@
/*
* Copyright (C) 2002 Alexandre Julliard
*
* This library 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.
*
* This library 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 this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#ifndef __DSHOW_INCLUDED__
#define __DSHOW_INCLUDED__
#define AM_NOVTABLE
#ifndef __WINESRC__
# include <windows.h>
# include <windowsx.h>
#else
# include <windef.h>
# include <wingdi.h>
# include <objbase.h>
#endif
#include <olectl.h>
#include <dshow/ddraw.h>
#include <mmsystem.h>
/* FIXME: #include <strsafe.h>*/
#ifndef NUMELMS
#define NUMELMS(array) (sizeof(array)/sizeof((array)[0]))
#endif
#include <dshow/strmif.h>
#include <dshow/amvideo.h>
#ifdef DSHOW_USE_AMAUDIO
/* FIXME: #include <amaudio.h>*/
#endif
#include <dshow/control.h>
#include <dshow/evcode.h>
#include <dshow/uuids.h>
#include <dshow/errors.h>
/* FIXME: #include <edevdefs.h> */
#include <dshow/audevcod.h>
/* FIXME: #include <dvdevcod.h> */
#ifndef OATRUE
#define OATRUE (-1)
#endif
#ifndef OAFALSE
#define OAFALSE (0)
#endif
#endif /* __DSHOW_INCLUDED__ */
Diferenças do arquivo suprimidas por serem muito extensas Carregar Diff
+75
Ver Arquivo
@@ -0,0 +1,75 @@
/*
* Copyright (C) 2008 Maarten Lankhorst
*
* This library 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.
*
* This library 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 this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#ifndef __DVDMEDIA_H__
#define __DVDMEDIA_H__
#define AMCONTROL_USED 0x00000001
#define AMCONTROL_PAD_TO_4x3 0x00000002
#define AMCONTROL_PAD_TO_16x9 0x00000004
enum AM_MPEG2Level {
AM_MPEG2Level_Low = 1,
AM_MPEG2Level_Main,
AM_MPEG2Level_High1440,
AM_MPEG2Level_High
};
enum AM_MPEG2Profile {
AM_MPEG2Profile_Simple = 1,
AM_MPEG2Profile_Main,
AM_MPEG2Profile_SNRScalable,
AM_MPEG2Profile_SpatiallyScalable,
AM_MPEG2Profile_High
};
typedef enum {
AM_RATE_ChangeRate = 1,
AM_RATE_FullDataRateMax = 2,
AM_RATE_ReverseDecode = 3,
AM_RATE_DecoderPosition = 4,
AM_RATE_DecoderVersion = 5
} AM_PROPERTY_DVD_RATE_CHANGE;
typedef struct tagVIDEOINFOHEADER2 {
RECT rcSource;
RECT rcTarget;
DWORD dwBitRate;
DWORD dwBitErrorRate;
REFERENCE_TIME AvgTimePerFrame;
DWORD dwInterlaceFlags;
DWORD dwCopyProtectFlags;
DWORD dwPictAspectRatioX;
DWORD dwPictAspectRatioY;
union {
DWORD dwControlFlags;
DWORD dwReserved1;
} DUMMYUNIONNAME;
DWORD dwReserved2;
BITMAPINFOHEADER bmiHeader;
} VIDEOINFOHEADER2;
typedef struct tagMPEG2VIDEOINFO {
VIDEOINFOHEADER2 hdr;
DWORD dwStartTimeCode;
DWORD cbSequenceHeader;
DWORD dwProfile;
DWORD dwLevel;
DWORD dwFlags;
DWORD dwSequenceHeader[1];
} MPEG2VIDEOINFO;
#endif /* __DVDMEDIA_H__ */
+169
Ver Arquivo
@@ -0,0 +1,169 @@
#ifndef _ERRORS_H
#define _ERRORS_H
#if __GNUC__ >=3
#pragma GCC system_header
#endif
#ifdef __cplusplus
extern "C" {
#endif
/*--- DirectShow Reference - Constants and GUIDs - Error and Success Codes */
#define VFW_S_NO_MORE_ITEMS 0x00040103
#define VFW_S_DUPLICATE_NAME 0x0004022D
#define VFW_S_STATE_INTERMEDIATE 0x00040237
#define VFW_S_PARTIAL_RENDER 0x00040242
#define VFW_S_SOME_DATA_IGNORED 0x00040245
#define VFW_S_CONNECTIONS_DEFERRED 0x00040246
#define VFW_S_RESOURCE_NOT_NEEDED 0x00040250
#define VFW_S_MEDIA_TYPE_IGNORED 0x00040254
#define VFW_S_VIDEO_NOT_RENDERED 0x00040257
#define VFW_S_AUDIO_NOT_RENDERED 0x00040258
#define VFW_S_RPZA 0x0004025A
#define VFW_S_ESTIMATED 0x00040260
#define VFW_S_RESERVED 0x00040263
#define VFW_S_STREAM_OFF 0x00040267
#define VFW_S_CANT_CUE 0x00040268
#define VFW_S_NOPREVIEWPIN 0x0004027E
#define VFW_S_DVD_NON_ONE_SEQUENTIAL 0x00040280
#define VFW_S_DVD_CHANNEL_CONTENTS_NOT_AVAILABLE 0x0004028C
#define VFW_S_DVD_NOT_ACCURATE 0x0004028D
#define VFW_E_INVALIDMEDIATYPE 0x80040200
#define VFW_E_INVALIDSUBTYPE 0x80040201
#define VFW_E_NEED_OWNER 0x80040202
#define VFW_E_ENUM_OUT_OF_SYNC 0x80040203
#define VFW_E_ALREADY_CONNECTED 0x80040204
#define VFW_E_FILTER_ACTIVE 0x80040205
#define VFW_E_NO_TYPES 0x80040206
#define VFW_E_NO_ACCEPTABLE_TYPES 0x80040207
#define VFW_E_INVALID_DIRECTION 0x80040208
#define VFW_E_NOT_CONNECTED 0x80040209
#define VFW_E_NO_ALLOCATOR 0x8004020A
#define VFW_E_RUNTIME_ERROR 0x8004020B
#define VFW_E_BUFFER_NOTSET 0x8004020C
#define VFW_E_BUFFER_OVERFLOW 0x8004020D
#define VFW_E_BADALIGN 0x8004020E
#define VFW_E_ALREADY_COMMITTED 0x8004020F
#define VFW_E_BUFFERS_OUTSTANDING 0x80040210
#define VFW_E_NOT_COMMITTED 0x80040211
#define VFW_E_SIZENOTSET 0x80040212
#define VFW_E_NO_CLOCK 0x80040213
#define VFW_E_NO_SINK 0x80040214
#define VFW_E_NO_INTERFACE 0x80040215
#define VFW_E_NOT_FOUND 0x80040216
#define VFW_E_CANNOT_CONNECT 0x80040217
#define VFW_E_CANNOT_RENDER 0x80040218
#define VFW_E_CHANGING_FORMAT 0x80040219
#define VFW_E_NO_COLOR_KEY_SET 0x8004021A
#define VFW_E_NOT_OVERLAY_CONNECTION 0x8004021B
#define VFW_E_NOT_SAMPLE_CONNECTION 0x8004021C
#define VFW_E_PALETTE_SET 0x8004021D
#define VFW_E_COLOR_KEY_SET 0x8004021E
#define VFW_E_NO_COLOR_KEY_FOUND 0x8004021F
#define VFW_E_NO_PALETTE_AVAILABLE 0x80040220
#define VFW_E_NO_DISPLAY_PALETTE 0x80040221
#define VFW_E_TOO_MANY_COLORS 0x80040222
#define VFW_E_STATE_CHANGED 0x80040223
#define VFW_E_NOT_STOPPED 0x80040224
#define VFW_E_NOT_PAUSED 0x80040225
#define VFW_E_NOT_RUNNING 0x80040226
#define VFW_E_WRONG_STATE 0x80040227
#define VFW_E_START_TIME_AFTER_END 0x80040228
#define VFW_E_INVALID_RECT 0x80040229
#define VFW_E_TYPE_NOT_ACCEPTED 0x8004022A
#define VFW_E_SAMPLE_REJECTED 0x8004022B
#define VFW_E_SAMPLE_REJECTED_EOS 0x8004022C
#define VFW_E_DUPLICATE_NAME 0x8004022D
#define VFW_E_TIMEOUT 0x8004022E
#define VFW_E_INVALID_FILE_FORMAT 0x8004022F
#define VFW_E_ENUM_OUT_OF_RANGE 0x80040230
#define VFW_E_CIRCULAR_GRAPH 0x80040231
#define VFW_E_NOT_ALLOWED_TO_SAVE 0x80040232
#define VFW_E_TIME_ALREADY_PASSED 0x80040233
#define VFW_E_ALREADY_CANCELLED 0x80040234
#define VFW_E_CORRUPT_GRAPH_FILE 0x80040235
#define VFW_E_ADVISE_ALREADY_SET 0x80040236
#define VFW_E_NO_MODEX_AVAILABLE 0x80040238
#define VFW_E_NO_ADVISE_SET 0x80040239
#define VFW_E_NO_FULLSCREEN 0x8004023A
#define VFW_E_IN_FULLSCREEN_MODE 0x8004023B
#define VFW_E_UNKNOWN_FILE_TYPE 0x80040240
#define VFW_E_CANNOT_LOAD_SOURCE_FILTER 0x80040241
#define VFW_E_FILE_TOO_SHORT 0x80040243
#define VFW_E_INVALID_FILE_VERSION 0x80040244
#define VFW_E_INVALID_CLSID 0x80040247
#define VFW_E_INVALID_MEDIA_TYPE 0x80040248
#define VFW_E_SAMPLE_TIME_NOT_SET 0x80040249
#define VFW_E_MEDIA_TIME_NOT_SET 0x80040251
#define VFW_E_NO_TIME_FORMAT_SET 0x80040252
#define VFW_E_MONO_AUDIO_HW 0x80040253
#define VFW_E_NO_DECOMPRESSOR 0x80040255
#define VFW_E_NO_AUDIO_HARDWARE 0x80040256
#define VFW_E_RPZA 0x80040259
#define VFW_E_PROCESSOR_NOT_SUITABLE 0x8004025B
#define VFW_E_UNSUPPORTED_AUDIO 0x8004025C
#define VFW_E_UNSUPPORTED_VIDEO 0x8004025D
#define VFW_E_MPEG_NOT_CONSTRAINED 0x8004025E
#define VFW_E_NOT_IN_GRAPH 0x8004025F
#define VFW_E_NO_TIME_FORMAT 0x80040261
#define VFW_E_READ_ONLY 0x80040262
#define VFW_E_BUFFER_UNDERFLOW 0x80040264
#define VFW_E_UNSUPPORTED_STREAM 0x80040265
#define VFW_E_NO_TRANSPORT 0x80040266
#define VFW_E_BAD_VIDEOCD 0x80040269
#define VFW_S_NO_STOP_TIME 0x80040270
#define VFW_E_OUT_OF_VIDEO_MEMORY 0x80040271
#define VFW_E_VP_NEGOTIATION_FAILED 0x80040272
#define VFW_E_DDRAW_CAPS_NOT_SUITABLE 0x80040273
#define VFW_E_NO_VP_HARDWARE 0x80040274
#define VFW_E_NO_CAPTURE_HARDWARE 0x80040275
#define VFW_E_DVD_OPERATION_INHIBITED 0x80040276
#define VFW_E_DVD_INVALIDDOMAIN 0x80040277
#define VFW_E_DVD_NO_BUTTON 0x80040278
#define VFW_E_DVD_GRAPHNOTREADY 0x80040279
#define VFW_E_DVD_RENDERFAIL 0x8004027A
#define VFW_E_DVD_DECNOTENOUGH 0x8004027B
#define VFW_E_DDRAW_VERSION_NOT_SUITABLE 0x8004027C
#define VFW_E_COPYPROT_FAILED 0x8004027D
#define VFW_E_TIME_EXPIRED 0x8004027F
#define VFW_E_DVD_WRONG_SPEED 0x80040281
#define VFW_E_DVD_MENU_DOES_NOT_EXIST 0x80040282
#define VFW_E_DVD_CMD_CANCELLED 0x80040283
#define VFW_E_DVD_STATE_WRONG_VERSION 0x80040284
#define VFW_E_DVD_STATE_CORRUPT 0x80040285
#define VFW_E_DVD_STATE_WRONG_DISC 0x80040286
#define VFW_E_DVD_INCOMPATIBLE_REGION 0x80040287
#define VFW_E_DVD_NO_ATTRIBUTES 0x80040288
#define VFW_E_DVD_NO_GOUP_PGC 0x80040289
#define VFW_E_DVD_LOW_PARENTAL_LEVEL 0x8004028A
#define VFW_E_DVD_NOT_IN_KARAOKE_MODE 0x8004028B
#define VFW_E_FRAME_STEP_UNSUPPORTED 0x8004028E
#define VFW_E_DVD_STREAM_DISABLED 0x8004028F
#define VFW_E_DVD_TITLE_UNKNOWN 0x80040290
#define VFW_E_DVD_INVALID_DISC 0x80040291
#define VFW_E_DVD_NO_RESUME_INFORMATION 0x80040292
#define VFW_E_PIN_ALREADY_BLOCKED_ON_THIS_THREAD 0x80040293
#define VFW_E_PIN_ALREADY_BLOCKED 0x80040294
#define VFW_E_CERTIFICATION_FAILURE 0x80040295
#define VFW_E_VMR_NOT_IN_MIXER_MODE 0x80040296
#define VFW_E_VMR_NO_AP_SUPPLIED 0x80040297
#define VFW_E_VMR_NO_DEINTERLACE_HW 0x80040298
#define VFW_E_VMR_NO_PROCAMP_HW 0x80040299
#define VFW_E_DVD_VMR9_INCOMPATIBLEDEC 0x8004029A
#define VFW_E_NO_COPP_HW 0x8004029B
#define VFW_E_BAD_KEY 0x800403F2
/*--- DirectShow Reference - Functions */
#define MAX_ERROR_TEXT_LEN 160
/*--- DirectShow Reference - Functions */
DWORD WINAPI AMGetErrorTextA(HRESULT,CHAR*,DWORD);
DWORD WINAPI AMGetErrorTextW(HRESULT,WCHAR*,DWORD);
#ifdef UNICODE
#define AMGetErrorText AMGetErrorTextW
#else
#define AMGetErrorText AMGetErrorTextA
#endif
#ifdef __cplusplus
}
#endif
#endif
+68
Ver Arquivo
@@ -0,0 +1,68 @@
#ifndef _EVCODE_H
#define _EVCODE_H
#if __GNUC__ >=3
#pragma GCC system_header
#endif
#ifdef __cplusplus
extern "C" {
#endif
/*--- DirectShow Reference - Constants and GUIDs - Event Notification Codes */
#define EC_ACTIVATE 0x0013
#define EC_BUFFERING_DATA 0x0011
#define EC_BUILT 0x0300
#define EC_CLOCK_CHANGED 0x000D
#define EC_CLOCK_UNSET 0x0051
#define EC_CODECAPI_EVENT 0x0057
#define EC_COMPLETE 0x0001
#define EC_DEVICE_LOST 0x001F
#define EC_DISPLAY_CHANGED 0x0016
#define EC_END_OF_SEGMENT 0x001C
#define EC_ERROR_STILLPLAYING 0x0008
#define EC_ERRORABORT 0x0003
#define EC_EXTDEVICE_MODE_CHANGE 0x0031
#define EC_FULLSCREEN_LOST 0x0012
#define EC_GRAPH_CHANGED 0x0050
#define EC_LENGTH_CHANGED 0x001E
#define EC_NEED_RESTART 0x0014
#define EC_NOTIFY_WINDOW 0x0019
#define EC_OLE_EVENT 0x0018
#define EC_OPENING_FILE 0x0010
#define EC_PALETTE_CHANGED 0x0009
#define EC_PAUSED 0x000E
#define EC_PREPROCESS_COMPLETE 0x0056
#define EC_QUALITY_CHANGE 0x000B
#define EC_REPAINT 0x0005
#define EC_SEGMENT_STARTED 0x001D
#define EC_SHUTTING_DOWN 0x000C
#define EC_SNDDEV_IN_ERROR 0x0200
#define EC_SNDDEV_OUT_ERROR 0x0201
#define EC_STARVATION 0x0017
#define EC_STATE_CHANGE 0x0032
#define EC_STEP_COMPLETE 0x0024
#define EC_STREAM_CONTROL_STARTED 0x001B
#define EC_STREAM_CONTROL_STOPPED 0x001A
#define EC_STREAM_ERROR_STILLPLAYING 0x0007
#define EC_STREAM_ERROR_STOPPED 0x0006
#define EC_TIMECODE_AVAILABLE 0x0030
#define EC_UNBUILT 0x0301
#define EC_USERABORT 0x0002
#define EC_VIDEO_SIZE_CHANGED 0x000A
#define EC_VMR_RENDERDEVICE_SET 0x0053
#define EC_VMR_SURFACE_FLIPPED 0x0054
#define EC_VMR_RECONNECTION_FAILED 0x0055
#define EC_WINDOW_DESTROYED 0x0015
#define EC_WMT_EVENT 0x0252
#define EC_WMT_INDEX_EVENT 0x0251
#define EC_USER 0x8000
/*--- DirectShow Reference - DirectShow Structures */
typedef struct {
HRESULT hrStatus;
void *pData;
} AM_WMT_EVENT_DATA;
#ifdef __cplusplus
}
#endif
#endif
+191
Ver Arquivo
@@ -0,0 +1,191 @@
/**
* This file has no copyright assigned and is placed in the Public Domain.
* This file is part of the w64 mingw-runtime package.
* No warranty is given; refer to the file DISCLAIMER.PD within this package.
*/
OUR_GUID_ENTRY(MEDIATYPE_MPEG2_PACK,
0x36523B13,0x8EE5,0x11d1,0x8C,0xA3,0x00,0x60,0xB0,0x57,0x66,0x4A)
OUR_GUID_ENTRY(MEDIATYPE_MPEG2_PES,
0xe06d8020,0xdb46,0x11cf,0xb4,0xd1,0x00,0x80,0x5f,0x6c,0xbb,0xea)
OUR_GUID_ENTRY(MEDIASUBTYPE_MPEG2_WMDRM_TRANSPORT,
0x18BEC4EA,0x4676,0x450e,0xB4,0x78,0x0C,0xD8,0x4C,0x54,0xB3,0x27)
OUR_GUID_ENTRY(MEDIASUBTYPE_MPEG2_VIDEO,
0xe06d8026,0xdb46,0x11cf,0xb4,0xd1,0x00,0x80,0x5f,0x6c,0xbb,0xea)
OUR_GUID_ENTRY(FORMAT_MPEG2_VIDEO,
0xe06d80e3,0xdb46,0x11cf,0xb4,0xd1,0x00,0x80,0x5f,0x6c,0xbb,0xea)
OUR_GUID_ENTRY(FORMAT_VIDEOINFO2,
0xf72a76A0L,0xeb0a,0x11d0,0xac,0xe4,0x0,0x0,0xc0,0xcc,0x16,0xba)
OUR_GUID_ENTRY(MEDIASUBTYPE_MPEG2_PROGRAM,
0xe06d8022,0xdb46,0x11cf,0xb4,0xd1,0x00,0x80,0x05f,0x6c,0xbb,0xea)
OUR_GUID_ENTRY(MEDIASUBTYPE_MPEG2_TRANSPORT,
0xe06d8023,0xdb46,0x11cf,0xb4,0xd1,0x00,0x80,0x05f,0x6c,0xbb,0xea)
OUR_GUID_ENTRY(MEDIASUBTYPE_MPEG2_AUDIO,
0xe06d802b,0xdb46,0x11cf,0xb4,0xd1,0x00,0x80,0x05f,0x6c,0xbb,0xea)
OUR_GUID_ENTRY(MEDIASUBTYPE_DOLBY_AC3,
0xe06d802c,0xdb46,0x11cf,0xb4,0xd1,0x00,0x80,0x05f,0x6c,0xbb,0xea)
OUR_GUID_ENTRY(MEDIASUBTYPE_DVD_SUBPICTURE,
0xe06d802d,0xdb46,0x11cf,0xb4,0xd1,0x00,0x80,0x05f,0x6c,0xbb,0xea)
OUR_GUID_ENTRY(MEDIASUBTYPE_DVD_LPCM_AUDIO,
0xe06d8032,0xdb46,0x11cf,0xb4,0xd1,0x00,0x80,0x05f,0x6c,0xbb,0xea)
OUR_GUID_ENTRY(MEDIATYPE_DVD_ENCRYPTED_PACK,
0xed0b916a,0x044d,0x11d1,0xaa,0x78,0x00,0xc0,0x04f,0xc3,0x1d,0x60)
OUR_GUID_ENTRY(MEDIATYPE_DVD_NAVIGATION,
0xe06d802e,0xdb46,0x11cf,0xb4,0xd1,0x00,0x80,0x05f,0x6c,0xbb,0xea)
OUR_GUID_ENTRY(MEDIASUBTYPE_DVD_NAVIGATION_PCI,
0xe06d802f,0xdb46,0x11cf,0xb4,0xd1,0x00,0x80,0x05f,0x6c,0xbb,0xea)
OUR_GUID_ENTRY(MEDIASUBTYPE_DVD_NAVIGATION_DSI,
0xe06d8030,0xdb46,0x11cf,0xb4,0xd1,0x00,0x80,0x05f,0x6c,0xbb,0xea)
OUR_GUID_ENTRY(MEDIASUBTYPE_DVD_NAVIGATION_PROVIDER,
0xe06d8031,0xdb46,0x11cf,0xb4,0xd1,0x00,0x80,0x05f,0x6c,0xbb,0xea)
OUR_GUID_ENTRY(FORMAT_MPEG2Video,
0xe06d80e3,0xdb46,0x11cf,0xb4,0xd1,0x00,0x80,0x05f,0x6c,0xbb,0xea)
OUR_GUID_ENTRY(FORMAT_DolbyAC3,
0xe06d80e4,0xdb46,0x11cf,0xb4,0xd1,0x00,0x80,0x05f,0x6c,0xbb,0xea)
OUR_GUID_ENTRY(FORMAT_MPEG2Audio,
0xe06d80e5,0xdb46,0x11cf,0xb4,0xd1,0x00,0x80,0x05f,0x6c,0xbb,0xea)
OUR_GUID_ENTRY(FORMAT_DVD_LPCMAudio,
0xe06d80e6,0xdb46,0x11cf,0xb4,0xd1,0x00,0x80,0x05f,0x6c,0xbb,0xea)
OUR_GUID_ENTRY(AM_KSPROPSETID_AC3,
0xBFABE720,0x6E1F,0x11D0,0xBC,0xF2,0x44,0x45,0x53,0x54,0x00,0x00)
OUR_GUID_ENTRY(AM_KSPROPSETID_DvdSubPic,
0xac390460,0x43af,0x11d0,0xbd,0x6a,0x00,0x35,0x05,0xc1,0x03,0xa9)
OUR_GUID_ENTRY(AM_KSPROPSETID_CopyProt,
0x0E8A0A40,0x6AEF,0x11D0,0x9E,0xD0,0x00,0xA0,0x24,0xCA,0x19,0xB3)
OUR_GUID_ENTRY(AM_KSPROPSETID_TSRateChange,
0xa503c5c0,0x1d1d,0x11d1,0xad,0x80,0x44,0x45,0x53,0x54,0x0,0x0)
OUR_GUID_ENTRY(AM_KSPROPSETID_MPEG4_MediaType_Attributes,
0xff6c4bfa,0x7a9,0x4c7b,0xa2,0x37,0x67,0x2f,0x9d,0x68,0x6,0x5f)
OUR_GUID_ENTRY(AM_KSCATEGORY_CAPTURE,
0x65E8773DL,0x8F56,0x11D0,0xA3,0xB9,0x00,0xA0,0xC9,0x22,0x31,0x96)
OUR_GUID_ENTRY(AM_KSCATEGORY_RENDER,
0x65E8773EL,0x8F56,0x11D0,0xA3,0xB9,0x00,0xA0,0xC9,0x22,0x31,0x96)
OUR_GUID_ENTRY(AM_KSCATEGORY_DATACOMPRESSOR,
0x1E84C900L,0x7E70,0x11D0,0xA5,0xD6,0x28,0xDB,0x04,0xC1,0x00,0x00)
OUR_GUID_ENTRY(AM_KSCATEGORY_AUDIO,
0x6994AD04L,0x93EF,0x11D0,0xA3,0xCC,0x00,0xA0,0xC9,0x22,0x31,0x96)
OUR_GUID_ENTRY(AM_KSCATEGORY_VIDEO,
0x6994AD05L,0x93EF,0x11D0,0xA3,0xCC,0x00,0xA0,0xC9,0x22,0x31,0x96)
OUR_GUID_ENTRY(AM_KSCATEGORY_TVTUNER,
0xa799a800L,0xa46d,0x11d0,0xa1,0x8c,0x00,0xa0,0x24,0x01,0xdc,0xd4)
OUR_GUID_ENTRY(AM_KSCATEGORY_CROSSBAR,
0xa799a801L,0xa46d,0x11d0,0xa1,0x8c,0x00,0xa0,0x24,0x01,0xdc,0xd4)
OUR_GUID_ENTRY(AM_KSCATEGORY_TVAUDIO,
0xa799a802L,0xa46d,0x11d0,0xa1,0x8c,0x00,0xa0,0x24,0x01,0xdc,0xd4)
OUR_GUID_ENTRY(AM_KSCATEGORY_VBICODEC,
0x07dad660L,0x22f1,0x11d1,0xa9,0xf4,0x00,0xc0,0x4f,0xbb,0xde,0x8f)
OUR_GUID_ENTRY(AM_KSCATEGORY_SPLITTER,
0x0A4252A0L,0x7E70,0x11D0,0xA5,0xD6,0x28,0xDB,0x04,0xC1,0x00,0x00)
OUR_GUID_ENTRY(IID_IKsInterfaceHandler,
0xD3ABC7E0L,0x9A61,0x11D0,0xA4,0x0D,0x00,0xA0,0xC9,0x22,0x31,0x96)
OUR_GUID_ENTRY(IID_IKsDataTypeHandler,
0x5FFBAA02L,0x49A3,0x11D0,0x9F,0x36,0x00,0xAA,0x00,0xA2,0x16,0xA1)
OUR_GUID_ENTRY(IID_IKsPin,
0xb61178d1L,0xa2d9,0x11cf,0x9e,0x53,0x00,0xaa,0x00,0xa2,0x16,0xa1)
OUR_GUID_ENTRY(IID_IKsControl,
0x28F54685L,0x06FD,0x11D2,0xB2,0x7A,0x00,0xA0,0xC9,0x22,0x31,0x96)
OUR_GUID_ENTRY(IID_IKsPinFactory,
0xCD5EBE6BL,0x8B6E,0x11D1,0x8A,0xE0,0x00,0xA0,0xC9,0x22,0x31,0x96)
OUR_GUID_ENTRY(AM_INTERFACESETID_Standard,
0x1A8766A0L,0x62CE,0x11CF,0xA5,0xD6,0x28,0xDB,0x04,0xC1,0x00,0x00)
#if ( (NTDDI_VERSION >= NTDDI_WINXPSP2) && (NTDDI_VERSION < NTDDI_WS03) ) || (NTDDI_VERSION >= NTDDI_WS03SP1)
OUR_GUID_ENTRY(MEDIATYPE_MPEG2_SECTIONS,
0x455f176c,0x4b06,0x47ce,0x9a,0xef,0x8c,0xae,0xf7,0x3d,0xf7,0xb5)
OUR_GUID_ENTRY(MEDIASUBTYPE_MPEG2_VERSIONED_TABLES,
0x1ed988b0,0x3ffc,0x4523,0x87,0x25,0x34,0x7b,0xee,0xc1,0xa8,0xa0)
OUR_GUID_ENTRY(MEDIASUBTYPE_ATSC_SI,
0xb3c7397c,0xd303,0x414d,0xb3,0x3c,0x4e,0xd2,0xc9,0xd2,0x97,0x33)
OUR_GUID_ENTRY(MEDIASUBTYPE_DVB_SI,
0xe9dd31a3,0x221d,0x4adb,0x85,0x32,0x9a,0xf3,0x9,0xc1,0xa4,0x8)
OUR_GUID_ENTRY(MEDIASUBTYPE_ISDB_SI,
0xe89ad298,0x3601,0x4b06,0xaa,0xec,0x9d,0xde,0xed,0xcc,0x5b,0xd0)
OUR_GUID_ENTRY(MEDIASUBTYPE_TIF_SI,
0xec232eb2,0xcb96,0x4191,0xb2,0x26,0xe,0xa1,0x29,0xf3,0x82,0x50)
OUR_GUID_ENTRY(MEDIASUBTYPE_MPEG2DATA,
0xc892e55b,0x252d,0x42b5,0xa3,0x16,0xd9,0x97,0xe7,0xa5,0xd9,0x95)
#endif
/* ( (NTDDI_VERSION >= NTDDI_WINXPSP2) && (NTDDI_VERSION < NTDDI_WS03) ) ||
(NTDDI_VERSION >= NTDDI_WS03SP1) */
#if (NTDDI_VERSION >= NTDDI_WINXP)
OUR_GUID_ENTRY(MEDIASUBTYPE_MPEG2_TRANSPORT_STRIDE,
0x138aa9a4,0x1ee2,0x4c5b,0x98,0x8e,0x19,0xab,0xfd,0xbc,0x8a,0x11)
OUR_GUID_ENTRY(MEDIASUBTYPE_MPEG2_UDCR_TRANSPORT,
0x18BEC4EA,0x4676,0x450e,0xB4,0x78,0x0C,0xD8,0x4C,0x54,0xB3,0x27)
OUR_GUID_ENTRY(MEDIASUBTYPE_MPEG2_PBDA_TRANSPORT_RAW,
0x0d7aed42,0xcb9a,0x11db,0x97,0x5,0x0,0x50,0x56,0xc0,0x0,0x8)
OUR_GUID_ENTRY(MEDIASUBTYPE_MPEG2_PBDA_TRANSPORT_PROCESSED,
0xaf748dd4,0xd80,0x11db,0x97,0x5,0x0,0x50,0x56,0xc0,0x0,0x8)
OUR_GUID_ENTRY(MEDIASUBTYPE_DTS,
0xe06d8033,0xdb46,0x11cf,0xb4,0xd1,0x00,0x80,0x05f,0x6c,0xbb,0xea)
OUR_GUID_ENTRY(MEDIASUBTYPE_SDDS,
0xe06d8034,0xdb46,0x11cf,0xb4,0xd1,0x00,0x80,0x05f,0x6c,0xbb,0xea)
OUR_GUID_ENTRY(AM_KSPROPSETID_DVD_RateChange,
0x3577eb09,0x9582,0x477f,0xb2,0x9c,0xb0,0xc4,0x52,0xa4,0xff,0x9a)
OUR_GUID_ENTRY(AM_KSPROPSETID_DvdKaraoke,
0xae4720ae,0xaa71,0x42d8,0xb8,0x2a,0xff,0xfd,0xf5,0x8b,0x76,0xfd)
OUR_GUID_ENTRY(AM_KSPROPSETID_FrameStep,
0xc830acbd,0xab07,0x492f,0x88,0x52,0x45,0xb6,0x98,0x7c,0x29,0x79)
#endif /* NTDDI_VERSION >= NTDDI_WINXP */
#if (NTDDI_VERSION >= NTDDI_WS03SP1)
OUR_GUID_ENTRY(AM_KSCATEGORY_VBICODEC_MI,
0x9c24a977,0x951,0x451a,0x80,0x6,0xe,0x49,0xbd,0x28,0xcd,0x5f)
#endif /* NTDDI_VERSION >= NTDDI_WS03SP1 */
Diferenças do arquivo suprimidas por serem muito extensas Carregar Diff
+368
Ver Arquivo
@@ -0,0 +1,368 @@
/**
* This file has no copyright assigned and is placed in the Public Domain.
* This file is part of the w64 mingw-runtime package.
* No warranty is given; refer to the file DISCLAIMER.PD within this package.
*/
#ifndef OUR_GUID_ENTRY
#define OUR_GUID_ENTRY(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8);
#endif
#define MEDIATYPE_NULL GUID_NULL
#define MEDIASUBTYPE_NULL GUID_NULL
OUR_GUID_ENTRY(MEDIASUBTYPE_None,0xe436eb8e,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70)
OUR_GUID_ENTRY(MEDIATYPE_Video,0x73646976,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71)
OUR_GUID_ENTRY(MEDIATYPE_Audio,0x73647561,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71)
OUR_GUID_ENTRY(MEDIATYPE_Text,0x73747874,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71)
OUR_GUID_ENTRY(MEDIATYPE_Midi,0x7364696D,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71)
OUR_GUID_ENTRY(MEDIATYPE_Stream,0xe436eb83,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70)
OUR_GUID_ENTRY(MEDIATYPE_Interleaved,0x73766169,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71)
OUR_GUID_ENTRY(MEDIATYPE_File,0x656c6966,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71)
OUR_GUID_ENTRY(MEDIATYPE_ScriptCommand,0x73636d64,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71)
OUR_GUID_ENTRY(MEDIATYPE_AUXLine21Data,0x670aea80,0x3a82,0x11d0,0xb7,0x9b,0x0,0xaa,0x0,0x37,0x67,0xa7)
OUR_GUID_ENTRY(MEDIATYPE_VBI,0xf72a76e1,0xeb0a,0x11d0,0xac,0xe4,0x00,0x00,0xc0,0xcc,0x16,0xba)
OUR_GUID_ENTRY(MEDIATYPE_Timecode,0x482dee3,0x7817,0x11cf,0x8a,0x3,0x0,0xaa,0x0,0x6e,0xcb,0x65)
OUR_GUID_ENTRY(MEDIATYPE_LMRT,0x74726c6d,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71)
OUR_GUID_ENTRY(MEDIATYPE_URL_STREAM,0x736c7275,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71)
OUR_GUID_ENTRY(MEDIASUBTYPE_CLPL,0x4C504C43,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71)
OUR_GUID_ENTRY(MEDIASUBTYPE_YUYV,0x56595559,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71)
OUR_GUID_ENTRY(MEDIASUBTYPE_IYUV,0x56555949,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71)
OUR_GUID_ENTRY(MEDIASUBTYPE_YVU9,0x39555659,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71)
OUR_GUID_ENTRY(MEDIASUBTYPE_Y411,0x31313459,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71)
OUR_GUID_ENTRY(MEDIASUBTYPE_Y41P,0x50313459,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71)
OUR_GUID_ENTRY(MEDIASUBTYPE_YUY2,0x32595559,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71)
OUR_GUID_ENTRY(MEDIASUBTYPE_YVYU,0x55595659,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71)
OUR_GUID_ENTRY(MEDIASUBTYPE_UYVY,0x59565955,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71)
OUR_GUID_ENTRY(MEDIASUBTYPE_Y211,0x31313259,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71)
OUR_GUID_ENTRY(MEDIASUBTYPE_CLJR,0x524a4c43,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71)
OUR_GUID_ENTRY(MEDIASUBTYPE_IF09,0x39304649,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71)
OUR_GUID_ENTRY(MEDIASUBTYPE_CPLA,0x414c5043,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71)
OUR_GUID_ENTRY(MEDIASUBTYPE_MJPG,0x47504A4D,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71)
OUR_GUID_ENTRY(MEDIASUBTYPE_TVMJ,0x4A4D5654,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71)
OUR_GUID_ENTRY(MEDIASUBTYPE_WAKE,0x454B4157,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71)
OUR_GUID_ENTRY(MEDIASUBTYPE_CFCC,0x43434643,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71)
OUR_GUID_ENTRY(MEDIASUBTYPE_IJPG,0x47504A49,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71)
OUR_GUID_ENTRY(MEDIASUBTYPE_Plum,0x6D756C50,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71)
OUR_GUID_ENTRY(MEDIASUBTYPE_DVCS,0x53435644,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71)
OUR_GUID_ENTRY(MEDIASUBTYPE_DVSD,0x44535644,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71)
OUR_GUID_ENTRY(MEDIASUBTYPE_MDVF,0x4656444D,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71)
OUR_GUID_ENTRY(MEDIASUBTYPE_RGB1,0xe436eb78,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70)
OUR_GUID_ENTRY(MEDIASUBTYPE_RGB4,0xe436eb79,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70)
OUR_GUID_ENTRY(MEDIASUBTYPE_RGB8,0xe436eb7a,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70)
OUR_GUID_ENTRY(MEDIASUBTYPE_RGB565,0xe436eb7b,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70)
OUR_GUID_ENTRY(MEDIASUBTYPE_RGB555,0xe436eb7c,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70)
OUR_GUID_ENTRY(MEDIASUBTYPE_RGB24,0xe436eb7d,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70)
OUR_GUID_ENTRY(MEDIASUBTYPE_RGB32,0xe436eb7e,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70)
OUR_GUID_ENTRY(MEDIASUBTYPE_ARGB1555,0x297c55af,0xe209,0x4cb3,0xb7,0x57,0xc7,0x6d,0x6b,0x9c,0x88,0xa8)
OUR_GUID_ENTRY(MEDIASUBTYPE_ARGB4444,0x6e6415e6,0x5c24,0x425f,0x93,0xcd,0x80,0x10,0x2b,0x3d,0x1c,0xca)
OUR_GUID_ENTRY(MEDIASUBTYPE_ARGB32,0x773c9ac0,0x3274,0x11d0,0xb7,0x24,0x0,0xaa,0x0,0x6c,0x1a,0x1)
OUR_GUID_ENTRY(MEDIASUBTYPE_A2R10G10B10,0x2f8bb76d,0xb644,0x4550,0xac,0xf3,0xd3,0x0c,0xaa,0x65,0xd5,0xc5)
OUR_GUID_ENTRY(MEDIASUBTYPE_A2B10G10R10,0x576f7893,0xbdf6,0x48c4,0x87,0x5f,0xae,0x7b,0x81,0x83,0x45,0x67)
OUR_GUID_ENTRY(MEDIASUBTYPE_AYUV,0x56555941,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71)
OUR_GUID_ENTRY(MEDIASUBTYPE_AI44,0x34344941,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71)
OUR_GUID_ENTRY(MEDIASUBTYPE_IA44,0x34344149,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71)
OUR_GUID_ENTRY(MEDIASUBTYPE_RGB32_D3D_DX7_RT,0x32335237,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71)
OUR_GUID_ENTRY(MEDIASUBTYPE_RGB16_D3D_DX7_RT,0x36315237,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71)
OUR_GUID_ENTRY(MEDIASUBTYPE_ARGB32_D3D_DX7_RT,0x38384137,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71)
OUR_GUID_ENTRY(MEDIASUBTYPE_ARGB4444_D3D_DX7_RT,0x34344137,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71)
OUR_GUID_ENTRY(MEDIASUBTYPE_ARGB1555_D3D_DX7_RT,0x35314137,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71)
OUR_GUID_ENTRY(MEDIASUBTYPE_RGB32_D3D_DX9_RT,0x32335239,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71)
OUR_GUID_ENTRY(MEDIASUBTYPE_RGB16_D3D_DX9_RT,0x36315239,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71)
OUR_GUID_ENTRY(MEDIASUBTYPE_ARGB32_D3D_DX9_RT,0x38384139,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71)
OUR_GUID_ENTRY(MEDIASUBTYPE_ARGB4444_D3D_DX9_RT,0x34344139,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71)
OUR_GUID_ENTRY(MEDIASUBTYPE_ARGB1555_D3D_DX9_RT,0x35314139,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71)
#define MEDIASUBTYPE_HASALPHA(mt) (((mt).subtype==MEDIASUBTYPE_ARGB4444) || ((mt).subtype==MEDIASUBTYPE_ARGB32) || ((mt).subtype==MEDIASUBTYPE_AYUV) || ((mt).subtype==MEDIASUBTYPE_AI44) || ((mt).subtype==MEDIASUBTYPE_IA44) || ((mt).subtype==MEDIASUBTYPE_ARGB1555) || ((mt).subtype==MEDIASUBTYPE_ARGB32_D3D_DX7_RT) || ((mt).subtype==MEDIASUBTYPE_ARGB4444_D3D_DX7_RT) || ((mt).subtype==MEDIASUBTYPE_ARGB1555_D3D_DX7_RT) || ((mt).subtype==MEDIASUBTYPE_ARGB32_D3D_DX9_RT) || ((mt).subtype==MEDIASUBTYPE_ARGB4444_D3D_DX9_RT) || ((mt).subtype==MEDIASUBTYPE_ARGB1555_D3D_DX9_RT))
#define MEDIASUBTYPE_HASALPHA7(mt) (((mt).subtype==MEDIASUBTYPE_ARGB32_D3D_DX7_RT) || ((mt).subtype==MEDIASUBTYPE_ARGB4444_D3D_DX7_RT) || ((mt).subtype==MEDIASUBTYPE_ARGB1555_D3D_DX7_RT))
#define MEDIASUBTYPE_D3D_DX7_RT(mt) (((mt).subtype==MEDIASUBTYPE_ARGB32_D3D_DX7_RT) || ((mt).subtype==MEDIASUBTYPE_ARGB4444_D3D_DX7_RT) || ((mt).subtype==MEDIASUBTYPE_ARGB1555_D3D_DX7_RT) || ((mt).subtype==MEDIASUBTYPE_RGB32_D3D_DX7_RT) || ((mt).subtype==MEDIASUBTYPE_RGB16_D3D_DX7_RT))
#define MEDIASUBTYPE_HASALPHA9(mt) (((mt).subtype==MEDIASUBTYPE_ARGB32_D3D_DX9_RT) || ((mt).subtype==MEDIASUBTYPE_ARGB4444_D3D_DX9_RT) || ((mt).subtype==MEDIASUBTYPE_ARGB1555_D3D_DX9_RT))
#define MEDIASUBTYPE_D3D_DX9_RT(mt) (((mt).subtype==MEDIASUBTYPE_ARGB32_D3D_DX9_RT) || ((mt).subtype==MEDIASUBTYPE_ARGB4444_D3D_DX9_RT) || ((mt).subtype==MEDIASUBTYPE_ARGB1555_D3D_DX9_RT) || ((mt).subtype==MEDIASUBTYPE_RGB32_D3D_DX9_RT) || ((mt).subtype==MEDIASUBTYPE_RGB16_D3D_DX9_RT))
OUR_GUID_ENTRY(MEDIASUBTYPE_YV12,0x32315659,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71)
OUR_GUID_ENTRY(MEDIASUBTYPE_NV12,0x3231564E,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71)
OUR_GUID_ENTRY(MEDIASUBTYPE_IMC1,0x31434D49,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71)
OUR_GUID_ENTRY(MEDIASUBTYPE_IMC2,0x32434D49,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71)
OUR_GUID_ENTRY(MEDIASUBTYPE_IMC3,0x33434D49,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71)
OUR_GUID_ENTRY(MEDIASUBTYPE_IMC4,0x34434D49,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71)
OUR_GUID_ENTRY(MEDIASUBTYPE_S340,0x30343353,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71)
OUR_GUID_ENTRY(MEDIASUBTYPE_S342,0x32343353,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71)
OUR_GUID_ENTRY(MEDIASUBTYPE_Overlay,0xe436eb7f,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70)
OUR_GUID_ENTRY(MEDIASUBTYPE_MPEG1Packet,0xe436eb80,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70)
OUR_GUID_ENTRY(MEDIASUBTYPE_MPEG1Payload,0xe436eb81,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70)
OUR_GUID_ENTRY(MEDIASUBTYPE_MPEG1AudioPayload,0x00000050,0x0000,0x0010,0x80,0x00,0x00,0xAA,0x00,0x38,0x9B,0x71)
OUR_GUID_ENTRY(MEDIATYPE_MPEG1SystemStream,0xe436eb82,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70)
OUR_GUID_ENTRY(MEDIASUBTYPE_MPEG1System,0xe436eb84,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70)
OUR_GUID_ENTRY(MEDIASUBTYPE_MPEG1VideoCD,0xe436eb85,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70)
OUR_GUID_ENTRY(MEDIASUBTYPE_MPEG1Video,0xe436eb86,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70)
OUR_GUID_ENTRY(MEDIASUBTYPE_MPEG1Audio,0xe436eb87,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70)
OUR_GUID_ENTRY(MEDIASUBTYPE_Avi,0xe436eb88,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70)
OUR_GUID_ENTRY(MEDIASUBTYPE_Asf,0x3db80f90,0x9412,0x11d1,0xad,0xed,0x0,0x0,0xf8,0x75,0x4b,0x99)
OUR_GUID_ENTRY(MEDIASUBTYPE_QTMovie,0xe436eb89,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70)
OUR_GUID_ENTRY(MEDIASUBTYPE_QTRpza,0x617a7072,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71)
OUR_GUID_ENTRY(MEDIASUBTYPE_QTSmc,0x20636d73,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71)
OUR_GUID_ENTRY(MEDIASUBTYPE_QTRle,0x20656c72,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71)
OUR_GUID_ENTRY(MEDIASUBTYPE_QTJpeg,0x6765706a,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71)
OUR_GUID_ENTRY(MEDIASUBTYPE_PCMAudio_Obsolete,0xe436eb8a,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70)
OUR_GUID_ENTRY(MEDIASUBTYPE_PCM,0x00000001,0x0000,0x0010,0x80,0x00,0x00,0xAA,0x00,0x38,0x9B,0x71)
OUR_GUID_ENTRY(MEDIASUBTYPE_WAVE,0xe436eb8b,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70)
OUR_GUID_ENTRY(MEDIASUBTYPE_AU,0xe436eb8c,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70)
OUR_GUID_ENTRY(MEDIASUBTYPE_AIFF,0xe436eb8d,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70)
OUR_GUID_ENTRY(MEDIASUBTYPE_dvsd,0x64737664,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71)
OUR_GUID_ENTRY(MEDIASUBTYPE_dvhd,0x64687664,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71)
OUR_GUID_ENTRY(MEDIASUBTYPE_dvsl,0x6c737664,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71)
OUR_GUID_ENTRY(MEDIASUBTYPE_dv25,0x35327664,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71)
OUR_GUID_ENTRY(MEDIASUBTYPE_dv50,0x30357664,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71)
OUR_GUID_ENTRY(MEDIASUBTYPE_dvh1,0x31687664,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71)
OUR_GUID_ENTRY(MEDIASUBTYPE_Line21_BytePair,0x6e8d4a22,0x310c,0x11d0,0xb7,0x9a,0x0,0xaa,0x0,0x37,0x67,0xa7)
OUR_GUID_ENTRY(MEDIASUBTYPE_Line21_GOPPacket,0x6e8d4a23,0x310c,0x11d0,0xb7,0x9a,0x0,0xaa,0x0,0x37,0x67,0xa7)
OUR_GUID_ENTRY(MEDIASUBTYPE_Line21_VBIRawData,0x6e8d4a24,0x310c,0x11d0,0xb7,0x9a,0x0,0xaa,0x0,0x37,0x67,0xa7)
OUR_GUID_ENTRY(MEDIASUBTYPE_TELETEXT,0xf72a76e3,0xeb0a,0x11d0,0xac,0xe4,0x00,0x00,0xc0,0xcc,0x16,0xba)
OUR_GUID_ENTRY(MEDIASUBTYPE_WSS,0x2791D576,0x8E7A,0x466F,0x9E,0x90,0x5D,0x3F,0x30,0x83,0x73,0x8B)
OUR_GUID_ENTRY(MEDIASUBTYPE_VPS,0xa1b3f620,0x9792,0x4d8d,0x81,0xa4,0x86,0xaf,0x25,0x77,0x20,0x90)
OUR_GUID_ENTRY(MEDIASUBTYPE_DRM_Audio,0x00000009,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71)
OUR_GUID_ENTRY(MEDIASUBTYPE_IEEE_FLOAT,0x00000003,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71)
OUR_GUID_ENTRY(MEDIASUBTYPE_DOLBY_AC3_SPDIF,0x00000092,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71)
OUR_GUID_ENTRY(MEDIASUBTYPE_RAW_SPORT,0x00000240,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71)
OUR_GUID_ENTRY(MEDIASUBTYPE_SPDIF_TAG_241h,0x00000241,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71)
OUR_GUID_ENTRY(MEDIASUBTYPE_DssVideo,0xa0af4f81,0xe163,0x11d0,0xba,0xd9,0x0,0x60,0x97,0x44,0x11,0x1a)
OUR_GUID_ENTRY(MEDIASUBTYPE_DssAudio,0xa0af4f82,0xe163,0x11d0,0xba,0xd9,0x0,0x60,0x97,0x44,0x11,0x1a)
OUR_GUID_ENTRY(MEDIASUBTYPE_VPVideo,0x5a9b6a40,0x1a22,0x11d1,0xba,0xd9,0x0,0x60,0x97,0x44,0x11,0x1a)
OUR_GUID_ENTRY(MEDIASUBTYPE_VPVBI,0x5a9b6a41,0x1a22,0x11d1,0xba,0xd9,0x0,0x60,0x97,0x44,0x11,0x1a)
OUR_GUID_ENTRY(CLSID_CaptureGraphBuilder,0xBF87B6E0,0x8C27,0x11d0,0xB3,0xF0,0x0,0xAA,0x00,0x37,0x61,0xC5)
OUR_GUID_ENTRY(CLSID_CaptureGraphBuilder2,0xBF87B6E1,0x8C27,0x11d0,0xB3,0xF0,0x0,0xAA,0x00,0x37,0x61,0xC5)
OUR_GUID_ENTRY(CLSID_ProtoFilterGraph,0xe436ebb0,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70)
OUR_GUID_ENTRY(CLSID_SystemClock,0xe436ebb1,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70)
OUR_GUID_ENTRY(CLSID_FilterMapper,0xe436ebb2,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70)
OUR_GUID_ENTRY(CLSID_FilterGraph,0xe436ebb3,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70)
OUR_GUID_ENTRY(CLSID_FilterGraphNoThread,0xe436ebb8,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70)
OUR_GUID_ENTRY(CLSID_MPEG1Doc,0xe4bbd160,0x4269,0x11ce,0x83,0x8d,0x0,0xaa,0x0,0x55,0x59,0x5a)
OUR_GUID_ENTRY(CLSID_FileSource,0x701722e0,0x8ae3,0x11ce,0xa8,0x5c,0x00,0xaa,0x00,0x2f,0xea,0xb5)
OUR_GUID_ENTRY(CLSID_MPEG1PacketPlayer,0x26c25940,0x4ca9,0x11ce,0xa8,0x28,0x0,0xaa,0x0,0x2f,0xea,0xb5)
OUR_GUID_ENTRY(CLSID_MPEG1Splitter,0x336475d0,0x942a,0x11ce,0xa8,0x70,0x00,0xaa,0x00,0x2f,0xea,0xb5)
OUR_GUID_ENTRY(CLSID_CMpegVideoCodec,0xfeb50740,0x7bef,0x11ce,0x9b,0xd9,0x0,0x0,0xe2,0x2,0x59,0x9c)
OUR_GUID_ENTRY(CLSID_CMpegAudioCodec,0x4a2286e0,0x7bef,0x11ce,0x9b,0xd9,0x0,0x0,0xe2,0x2,0x59,0x9c)
OUR_GUID_ENTRY(CLSID_TextRender,0xe30629d3,0x27e5,0x11ce,0x87,0x5d,0x0,0x60,0x8c,0xb7,0x80,0x66)
OUR_GUID_ENTRY(CLSID_InfTee,0xf8388a40,0xd5bb,0x11d0,0xbe,0x5a,0x0,0x80,0xc7,0x6,0x56,0x8e)
OUR_GUID_ENTRY(CLSID_AviSplitter,0x1b544c20,0xfd0b,0x11ce,0x8c,0x63,0x0,0xaa,0x00,0x44,0xb5,0x1e)
OUR_GUID_ENTRY(CLSID_AviReader,0x1b544c21,0xfd0b,0x11ce,0x8c,0x63,0x0,0xaa,0x00,0x44,0xb5,0x1e)
OUR_GUID_ENTRY(CLSID_VfwCapture,0x1b544c22,0xfd0b,0x11ce,0x8c,0x63,0x0,0xaa,0x00,0x44,0xb5,0x1e)
OUR_GUID_ENTRY(CLSID_CaptureProperties,0x1B544c22,0xFD0B,0x11ce,0x8C,0x63,0x00,0xAA,0x00,0x44,0xB5,0x1F)
OUR_GUID_ENTRY(CLSID_FGControl,0xe436ebb4,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70)
OUR_GUID_ENTRY(CLSID_MOVReader,0x44584800,0xf8ee,0x11ce,0xb2,0xd4,0x00,0xdd,0x1,0x10,0x1b,0x85)
OUR_GUID_ENTRY(CLSID_QuickTimeParser,0xd51bd5a0,0x7548,0x11cf,0xa5,0x20,0x0,0x80,0xc7,0x7e,0xf5,0x8a)
OUR_GUID_ENTRY(CLSID_QTDec,0xfdfe9681,0x74a3,0x11d0,0xaf,0xa7,0x0,0xaa,0x0,0xb6,0x7a,0x42)
OUR_GUID_ENTRY(CLSID_AVIDoc,0xd3588ab0,0x0781,0x11ce,0xb0,0x3a,0x00,0x20,0xaf,0xb,0xa7,0x70)
OUR_GUID_ENTRY(CLSID_VideoRenderer,0x70e102b0,0x5556,0x11ce,0x97,0xc0,0x00,0xaa,0x00,0x55,0x59,0x5a)
OUR_GUID_ENTRY(CLSID_Colour,0x1643e180,0x90f5,0x11ce,0x97,0xd5,0x00,0xaa,0x00,0x55,0x59,0x5a)
OUR_GUID_ENTRY(CLSID_Dither,0x1da08500,0x9edc,0x11cf,0xbc,0x10,0x00,0xaa,0x00,0xac,0x74,0xf6)
OUR_GUID_ENTRY(CLSID_ModexRenderer,0x7167665,0x5011,0x11cf,0xbf,0x33,0x0,0xaa,0x0,0x55,0x59,0x5a)
OUR_GUID_ENTRY(CLSID_AudioRender,0xe30629d1,0x27e5,0x11ce,0x87,0x5d,0x0,0x60,0x8c,0xb7,0x80,0x66)
OUR_GUID_ENTRY(CLSID_AudioProperties,0x05589faf,0xc356,0x11ce,0xbf,0x01,0x0,0xaa,0x0,0x55,0x59,0x5a)
OUR_GUID_ENTRY(CLSID_DSoundRender,0x79376820,0x07D0,0x11CF,0xA2,0x4D,0x0,0x20,0xAF,0xD7,0x97,0x67)
OUR_GUID_ENTRY(CLSID_AudioRecord,0xe30629d2,0x27e5,0x11ce,0x87,0x5d,0x0,0x60,0x8c,0xb7,0x80,0x66)
OUR_GUID_ENTRY(CLSID_AudioInputMixerProperties,0x2ca8ca52,0x3c3f,0x11d2,0xb7,0x3d,0x0,0xc0,0x4f,0xb6,0xbd,0x3d)
OUR_GUID_ENTRY(CLSID_AVIDec,0xcf49d4e0,0x1115,0x11ce,0xb0,0x3a,0x0,0x20,0xaf,0xb,0xa7,0x70)
OUR_GUID_ENTRY(CLSID_AVIDraw,0xa888df60,0x1e90,0x11cf,0xac,0x98,0x0,0xaa,0x0,0x4c,0xf,0xa9)
OUR_GUID_ENTRY(CLSID_ACMWrapper,0x6a08cf80,0x0e18,0x11cf,0xa2,0x4d,0x0,0x20,0xaf,0xd7,0x97,0x67)
OUR_GUID_ENTRY(CLSID_AsyncReader,0xe436ebb5,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70)
OUR_GUID_ENTRY(CLSID_URLReader,0xe436ebb6,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70)
OUR_GUID_ENTRY(CLSID_PersistMonikerPID,0xe436ebb7,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70)
OUR_GUID_ENTRY(CLSID_AVICo,0xd76e2820,0x1563,0x11cf,0xac,0x98,0x0,0xaa,0x0,0x4c,0xf,0xa9)
OUR_GUID_ENTRY(CLSID_FileWriter,0x8596e5f0,0xda5,0x11d0,0xbd,0x21,0x0,0xa0,0xc9,0x11,0xce,0x86)
OUR_GUID_ENTRY(CLSID_AviDest,0xe2510970,0xf137,0x11ce,0x8b,0x67,0x0,0xaa,0x0,0xa3,0xf1,0xa6)
OUR_GUID_ENTRY(CLSID_AviMuxProptyPage,0xc647b5c0,0x157c,0x11d0,0xbd,0x23,0x0,0xa0,0xc9,0x11,0xce,0x86)
OUR_GUID_ENTRY(CLSID_AviMuxProptyPage1,0xa9ae910,0x85c0,0x11d0,0xbd,0x42,0x0,0xa0,0xc9,0x11,0xce,0x86)
OUR_GUID_ENTRY(CLSID_AVIMIDIRender,0x07b65360,0xc445,0x11ce,0xaf,0xde,0x00,0xaa,0x00,0x6c,0x14,0xf4)
OUR_GUID_ENTRY(CLSID_WMAsfReader,0x187463a0,0x5bb7,0x11d3,0xac,0xbe,0x0,0x80,0xc7,0x5e,0x24,0x6e)
OUR_GUID_ENTRY(CLSID_WMAsfWriter,0x7c23220e,0x55bb,0x11d3,0x8b,0x16,0x0,0xc0,0x4f,0xb6,0xbd,0x3d)
OUR_GUID_ENTRY(CLSID_MPEG2Demultiplexer,0xafb6c280,0x2c41,0x11d3,0x8a,0x60,0x00,0x00,0xf8,0x1e,0x0e,0x4a)
OUR_GUID_ENTRY(CLSID_MMSPLITTER,0x3ae86b20,0x7be8,0x11d1,0xab,0xe6,0x00,0xa0,0xc9,0x05,0xf3,0x75)
OUR_GUID_ENTRY(CLSID_StreamBufferSink,0x2db47ae5,0xcf39,0x43c2,0xb4,0xd6,0xc,0xd8,0xd9,0x9,0x46,0xf4)
OUR_GUID_ENTRY(CLSID_StreamBufferSource,0xc9f5fe02,0xf851,0x4eb5,0x99,0xee,0xad,0x60,0x2a,0xf1,0xe6,0x19)
OUR_GUID_ENTRY(CLSID_StreamBufferConfig,0xfa8a68b2,0xc864,0x4ba2,0xad,0x53,0xd3,0x87,0x6a,0x87,0x49,0x4b)
OUR_GUID_ENTRY(CLSID_Mpeg2VideoStreamAnalyzer,0x6cfad761,0x735d,0x4aa5,0x8a,0xfc,0xaf,0x91,0xa7,0xd6,0x1e,0xba)
OUR_GUID_ENTRY(CLSID_StreamBufferRecordingAttributes,0xccaa63ac,0x1057,0x4778,0xae,0x92,0x12,0x6,0xab,0x9a,0xce,0xe6)
OUR_GUID_ENTRY(CLSID_StreamBufferComposeRecording,0xd682c4ba,0xa90a,0x42fe,0xb9,0xe1,0x3,0x10,0x98,0x49,0xc4,0x23)
OUR_GUID_ENTRY(CLSID_DVVideoCodec,0xb1b77c00,0xc3e4,0x11cf,0xaf,0x79,0x0,0xaa,0x0,0xb6,0x7a,0x42)
OUR_GUID_ENTRY(CLSID_DVVideoEnc,0x13aa3650,0xbb6f,0x11d0,0xaf,0xb9,0x0,0xaa,0x0,0xb6,0x7a,0x42)
OUR_GUID_ENTRY(CLSID_DVSplitter,0x4eb31670,0x9fc6,0x11cf,0xaf,0x6e,0x0,0xaa,0x0,0xb6,0x7a,0x42)
OUR_GUID_ENTRY(CLSID_DVMux,0x129d7e40,0xc10d,0x11d0,0xaf,0xb9,0x0,0xaa,0x0,0xb6,0x7a,0x42)
OUR_GUID_ENTRY(CLSID_SeekingPassThru,0x60af76c,0x68dd,0x11d0,0x8f,0xc1,0x0,0xc0,0x4f,0xd9,0x18,0x9d)
OUR_GUID_ENTRY(CLSID_Line21Decoder,0x6e8d4a20,0x310c,0x11d0,0xb7,0x9a,0x0,0xaa,0x0,0x37,0x67,0xa7)
OUR_GUID_ENTRY(CLSID_Line21Decoder2,0xe4206432,0x01a1,0x4bee,0xb3,0xe1,0x37,0x02,0xc8,0xed,0xc5,0x74)
OUR_GUID_ENTRY(CLSID_OverlayMixer,0xcd8743a1,0x3736,0x11d0,0x9e,0x69,0x0,0xc0,0x4f,0xd7,0xc1,0x5b)
OUR_GUID_ENTRY(CLSID_VBISurfaces,0x814b9800,0x1c88,0x11d1,0xba,0xd9,0x0,0x60,0x97,0x44,0x11,0x1a)
OUR_GUID_ENTRY(CLSID_WSTDecoder,0x70bc06e0,0x5666,0x11d3,0xa1,0x84,0x0,0x10,0x5a,0xef,0x9f,0x33)
OUR_GUID_ENTRY(CLSID_MjpegDec,0x301056d0,0x6dff,0x11d2,0x9e,0xeb,0x0,0x60,0x8,0x3,0x9e,0x37)
OUR_GUID_ENTRY(CLSID_MJPGEnc,0xb80ab0a0,0x7416,0x11d2,0x9e,0xeb,0x0,0x60,0x8,0x3,0x9e,0x37)
OUR_GUID_ENTRY(CLSID_SystemDeviceEnum,0x62BE5D10,0x60EB,0x11d0,0xBD,0x3B,0x00,0xA0,0xC9,0x11,0xCE,0x86)
OUR_GUID_ENTRY(CLSID_CDeviceMoniker,0x4315D437,0x5B8C,0x11d0,0xBD,0x3B,0x00,0xA0,0xC9,0x11,0xCE,0x86)
OUR_GUID_ENTRY(CLSID_VideoInputDeviceCategory,0x860BB310,0x5D01,0x11d0,0xBD,0x3B,0x00,0xA0,0xC9,0x11,0xCE,0x86)
OUR_GUID_ENTRY(CLSID_CVidCapClassManager,0x860BB310,0x5D01,0x11d0,0xBD,0x3B,0x00,0xA0,0xC9,0x11,0xCE,0x86)
OUR_GUID_ENTRY(CLSID_LegacyAmFilterCategory,0x083863F1,0x70DE,0x11d0,0xBD,0x40,0x00,0xA0,0xC9,0x11,0xCE,0x86)
OUR_GUID_ENTRY(CLSID_CQzFilterClassManager,0x083863F1,0x70DE,0x11d0,0xBD,0x40,0x00,0xA0,0xC9,0x11,0xCE,0x86)
OUR_GUID_ENTRY(CLSID_VideoCompressorCategory,0x33d9a760,0x90c8,0x11d0,0xbd,0x43,0x0,0xa0,0xc9,0x11,0xce,0x86)
OUR_GUID_ENTRY(CLSID_CIcmCoClassManager,0x33d9a760,0x90c8,0x11d0,0xbd,0x43,0x0,0xa0,0xc9,0x11,0xce,0x86)
OUR_GUID_ENTRY(CLSID_AudioCompressorCategory,0x33d9a761,0x90c8,0x11d0,0xbd,0x43,0x0,0xa0,0xc9,0x11,0xce,0x86)
OUR_GUID_ENTRY(CLSID_CAcmCoClassManager,0x33d9a761,0x90c8,0x11d0,0xbd,0x43,0x0,0xa0,0xc9,0x11,0xce,0x86)
OUR_GUID_ENTRY(CLSID_AudioInputDeviceCategory,0x33d9a762,0x90c8,0x11d0,0xbd,0x43,0x0,0xa0,0xc9,0x11,0xce,0x86)
OUR_GUID_ENTRY(CLSID_CWaveinClassManager,0x33d9a762,0x90c8,0x11d0,0xbd,0x43,0x0,0xa0,0xc9,0x11,0xce,0x86)
OUR_GUID_ENTRY(CLSID_AudioRendererCategory,0xe0f158e1,0xcb04,0x11d0,0xbd,0x4e,0x0,0xa0,0xc9,0x11,0xce,0x86)
OUR_GUID_ENTRY(CLSID_CWaveOutClassManager,0xe0f158e1,0xcb04,0x11d0,0xbd,0x4e,0x0,0xa0,0xc9,0x11,0xce,0x86)
OUR_GUID_ENTRY(CLSID_MidiRendererCategory,0x4EfE2452,0x168A,0x11d1,0xBC,0x76,0x0,0xc0,0x4F,0xB9,0x45,0x3B)
OUR_GUID_ENTRY(CLSID_CMidiOutClassManager,0x4EfE2452,0x168A,0x11d1,0xBC,0x76,0x0,0xc0,0x4F,0xB9,0x45,0x3B)
OUR_GUID_ENTRY(CLSID_TransmitCategory,0xcc7bfb41,0xf175,0x11d1,0xa3,0x92,0x0,0xe0,0x29,0x1f,0x39,0x59)
OUR_GUID_ENTRY(CLSID_DeviceControlCategory,0xcc7bfb46,0xf175,0x11d1,0xa3,0x92,0x0,0xe0,0x29,0x1f,0x39,0x59)
OUR_GUID_ENTRY(CLSID_ActiveMovieCategories,0xda4e3da0,0xd07d,0x11d0,0xbd,0x50,0x0,0xa0,0xc9,0x11,0xce,0x86)
OUR_GUID_ENTRY(CLSID_DVDHWDecodersCategory,0x2721AE20,0x7E70,0x11D0,0xA5,0xD6,0x28,0xDB,0x04,0xC1,0x00,0x00)
OUR_GUID_ENTRY(CLSID_MediaEncoderCategory,0x7D22E920,0x5CA9,0x4787,0x8C,0x2B,0xA6,0x77,0x9B,0xD1,0x17,0x81)
OUR_GUID_ENTRY(CLSID_MediaMultiplexerCategory,0x236C9559,0xADCE,0x4736,0xBF,0x72,0xBA,0xB3,0x4E,0x39,0x21,0x96)
OUR_GUID_ENTRY(CLSID_FilterMapper2,0xcda42200,0xbd88,0x11d0,0xbd,0x4e,0x0,0xa0,0xc9,0x11,0xce,0x86)
OUR_GUID_ENTRY(CLSID_MemoryAllocator,0x1e651cc0,0xb199,0x11d0,0x82,0x12,0x00,0xc0,0x4f,0xc3,0x2c,0x45)
OUR_GUID_ENTRY(CLSID_MediaPropertyBag,0xcdbd8d00,0xc193,0x11d0,0xbd,0x4e,0x0,0xa0,0xc9,0x11,0xce,0x86)
OUR_GUID_ENTRY(CLSID_DvdGraphBuilder,0xFCC152B7,0xF372,0x11d0,0x8E,0x00,0x00,0xC0,0x4F,0xD7,0xC0,0x8B)
OUR_GUID_ENTRY(CLSID_DVDNavigator,0x9b8c4620,0x2c1a,0x11d0,0x84,0x93,0x0,0xa0,0x24,0x38,0xad,0x48)
OUR_GUID_ENTRY(CLSID_DVDState,0xf963c5cf,0xa659,0x4a93,0x96,0x38,0xca,0xf3,0xcd,0x27,0x7d,0x13)
OUR_GUID_ENTRY(CLSID_SmartTee,0xcc58e280,0x8aa1,0x11d1,0xb3,0xf1,0x0,0xaa,0x0,0x37,0x61,0xc5)
OUR_GUID_ENTRY(FORMAT_None,0x0F6417D6,0xc318,0x11d0,0xa4,0x3f,0x00,0xa0,0xc9,0x22,0x31,0x96)
OUR_GUID_ENTRY(FORMAT_VideoInfo,0x05589f80,0xc356,0x11ce,0xbf,0x01,0x00,0xaa,0x00,0x55,0x59,0x5a)
OUR_GUID_ENTRY(FORMAT_VideoInfo2,0xf72a76A0,0xeb0a,0x11d0,0xac,0xe4,0x00,0x00,0xc0,0xcc,0x16,0xba)
OUR_GUID_ENTRY(FORMAT_WaveFormatEx,0x05589f81,0xc356,0x11ce,0xbf,0x01,0x00,0xaa,0x00,0x55,0x59,0x5a)
OUR_GUID_ENTRY(FORMAT_MPEGVideo,0x05589f82,0xc356,0x11ce,0xbf,0x01,0x00,0xaa,0x00,0x55,0x59,0x5a)
OUR_GUID_ENTRY(FORMAT_MPEGStreams,0x05589f83,0xc356,0x11ce,0xbf,0x01,0x00,0xaa,0x00,0x55,0x59,0x5a)
OUR_GUID_ENTRY(FORMAT_DvInfo,0x05589f84,0xc356,0x11ce,0xbf,0x01,0x00,0xaa,0x00,0x55,0x59,0x5a)
OUR_GUID_ENTRY(CLSID_DirectDrawProperties,0x944d4c00,0xdd52,0x11ce,0xbf,0x0e,0x00,0xaa,0x00,0x55,0x59,0x5a)
OUR_GUID_ENTRY(CLSID_PerformanceProperties,0x59ce6880,0xacf8,0x11cf,0xb5,0x6e,0x00,0x80,0xc7,0xc4,0xb6,0x8a)
OUR_GUID_ENTRY(CLSID_QualityProperties,0x418afb70,0xf8b8,0x11ce,0xaa,0xc6,0x00,0x20,0xaf,0x0b,0x99,0xa3)
OUR_GUID_ENTRY(IID_IBaseVideoMixer,0x61ded640,0xe912,0x11ce,0xa0,0x99,0x00,0xaa,0x00,0x47,0x9a,0x58)
OUR_GUID_ENTRY(IID_IDirectDrawVideo,0x36d39eb0,0xdd75,0x11ce,0xbf,0x0e,0x00,0xaa,0x00,0x55,0x59,0x5a)
OUR_GUID_ENTRY(IID_IQualProp,0x1bd0ecb0,0xf8e2,0x11ce,0xaa,0xc6,0x00,0x20,0xaf,0x0b,0x99,0xa3)
OUR_GUID_ENTRY(CLSID_VPObject,0xce292861,0xfc88,0x11d0,0x9e,0x69,0x0,0xc0,0x4f,0xd7,0xc1,0x5b)
OUR_GUID_ENTRY(IID_IVPObject,0xce292862,0xfc88,0x11d0,0x9e,0x69,0x0,0xc0,0x4f,0xd7,0xc1,0x5b)
OUR_GUID_ENTRY(IID_IVPControl,0x25df12c1,0x3de0,0x11d1,0x9e,0x69,0x0,0xc0,0x4f,0xd7,0xc1,0x5b)
OUR_GUID_ENTRY(CLSID_VPVBIObject,0x814b9801,0x1c88,0x11d1,0xba,0xd9,0x0,0x60,0x97,0x44,0x11,0x1a)
OUR_GUID_ENTRY(IID_IVPVBIObject,0x814b9802,0x1c88,0x11d1,0xba,0xd9,0x0,0x60,0x97,0x44,0x11,0x1a)
OUR_GUID_ENTRY(IID_IVPConfig,0xbc29a660,0x30e3,0x11d0,0x9e,0x69,0x0,0xc0,0x4f,0xd7,0xc1,0x5b)
OUR_GUID_ENTRY(IID_IVPNotify,0xc76794a1,0xd6c5,0x11d0,0x9e,0x69,0x0,0xc0,0x4f,0xd7,0xc1,0x5b)
OUR_GUID_ENTRY(IID_IVPNotify2,0xebf47183,0x8764,0x11d1,0x9e,0x69,0x0,0xc0,0x4f,0xd7,0xc1,0x5b)
OUR_GUID_ENTRY(IID_IVPVBIConfig,0xec529b00,0x1a1f,0x11d1,0xba,0xd9,0x0,0x60,0x97,0x44,0x11,0x1a)
OUR_GUID_ENTRY(IID_IVPVBINotify,0xec529b01,0x1a1f,0x11d1,0xba,0xd9,0x0,0x60,0x97,0x44,0x11,0x1a)
OUR_GUID_ENTRY(IID_IMixerPinConfig,0x593cdde1,0x759,0x11d1,0x9e,0x69,0x0,0xc0,0x4f,0xd7,0xc1,0x5b)
OUR_GUID_ENTRY(IID_IMixerPinConfig2,0xebf47182,0x8764,0x11d1,0x9e,0x69,0x0,0xc0,0x4f,0xd7,0xc1,0x5b)
#ifndef __DDRAW_INCLUDED__
OUR_GUID_ENTRY(CLSID_DirectDraw,0xD7B70EE0,0x4340,0x11CF,0xB0,0x63,0x00,0x20,0xAF,0xC2,0xCD,0x35)
OUR_GUID_ENTRY(CLSID_DirectDrawClipper,0x593817A0,0x7DB3,0x11CF,0xA2,0xDE,0x00,0xAA,0x00,0xb9,0x33,0x56)
OUR_GUID_ENTRY(IID_IDirectDraw,0x6C14DB80,0xA733,0x11CE,0xA5,0x21,0x00,0x20,0xAF,0x0B,0xE5,0x60)
OUR_GUID_ENTRY(IID_IDirectDraw2,0xB3A6F3E0,0x2B43,0x11CF,0xA2,0xDE,0x00,0xAA,0x00,0xB9,0x33,0x56)
OUR_GUID_ENTRY(IID_IDirectDrawSurface,0x6C14DB81,0xA733,0x11CE,0xA5,0x21,0x00,0x20,0xAF,0x0B,0xE5,0x60)
OUR_GUID_ENTRY(IID_IDirectDrawSurface2,0x57805885,0x6eec,0x11cf,0x94,0x41,0xa8,0x23,0x03,0xc1,0x0e,0x27)
OUR_GUID_ENTRY(IID_IDirectDrawSurface3,0xDA044E00,0x69B2,0x11D0,0xA1,0xD5,0x00,0xAA,0x00,0xB8,0xDF,0xBB)
OUR_GUID_ENTRY(IID_IDirectDrawSurface4,0x0B2B8630,0xAD35,0x11D0,0x8E,0xA6,0x00,0x60,0x97,0x97,0xEA,0x5B)
OUR_GUID_ENTRY(IID_IDirectDrawSurface7,0x06675a80,0x3b9b,0x11d2,0xb9,0x2f,0x00,0x60,0x97,0x97,0xea,0x5b)
OUR_GUID_ENTRY(IID_IDirectDrawPalette,0x6C14DB84,0xA733,0x11CE,0xA5,0x21,0x00,0x20,0xAF,0x0B,0xE5,0x60)
OUR_GUID_ENTRY(IID_IDirectDrawClipper,0x6C14DB85,0xA733,0x11CE,0xA5,0x21,0x00,0x20,0xAF,0x0B,0xE5,0x60)
OUR_GUID_ENTRY(IID_IDirectDrawColorControl,0x4B9F0EE0,0x0D7E,0x11D0,0x9B,0x06,0x00,0xA0,0xC9,0x03,0xA3,0xB8)
#endif
#ifndef __DVP_INCLUDED__
OUR_GUID_ENTRY(IID_IDDVideoPortContainer,0x6C142760,0xA733,0x11CE,0xA5,0x21,0x00,0x20,0xAF,0x0B,0xE5,0x60)
#endif
#ifndef __DDKM_INCLUDED__
OUR_GUID_ENTRY(IID_IDirectDrawKernel,0x8D56C120,0x6A08,0x11D0,0x9B,0x06,0x00,0xA0,0xC9,0x03,0xA3,0xB8)
OUR_GUID_ENTRY(IID_IDirectDrawSurfaceKernel,0x60755DA0,0x6A40,0x11D0,0x9B,0x06,0x00,0xA0,0xC9,0x03,0xA3,0xB8)
#endif
OUR_GUID_ENTRY(CLSID_ModexProperties,0x0618aa30,0x6bc4,0x11cf,0xbf,0x36,0x00,0xaa,0x00,0x55,0x59,0x5a)
OUR_GUID_ENTRY(IID_IFullScreenVideo,0xdd1d7110,0x7836,0x11cf,0xbf,0x47,0x00,0xaa,0x00,0x55,0x59,0x5a)
OUR_GUID_ENTRY(IID_IFullScreenVideoEx,0x53479470,0xf1dd,0x11cf,0xbc,0x42,0x00,0xaa,0x00,0xac,0x74,0xf6)
OUR_GUID_ENTRY(CLSID_DVDecPropertiesPage,0x101193c0,0xbfe,0x11d0,0xaf,0x91,0x0,0xaa,0x0,0xb6,0x7a,0x42)
OUR_GUID_ENTRY(CLSID_DVEncPropertiesPage,0x4150f050,0xbb6f,0x11d0,0xaf,0xb9,0x0,0xaa,0x0,0xb6,0x7a,0x42)
OUR_GUID_ENTRY(CLSID_DVMuxPropertyPage,0x4db880e0,0xc10d,0x11d0,0xaf,0xb9,0x0,0xaa,0x0,0xb6,0x7a,0x42)
OUR_GUID_ENTRY(IID_IAMDirectSound,0x546f4260,0xd53e,0x11cf,0xb3,0xf0,0x0,0xaa,0x0,0x37,0x61,0xc5)
OUR_GUID_ENTRY(IID_IMpegAudioDecoder,0xb45dd570,0x3c77,0x11d1,0xab,0xe1,0x00,0xa0,0xc9,0x05,0xf3,0x75)
OUR_GUID_ENTRY(IID_IAMLine21Decoder,0x6e8d4a21,0x310c,0x11d0,0xb7,0x9a,0x0,0xaa,0x0,0x37,0x67,0xa7)
OUR_GUID_ENTRY(IID_IAMWstDecoder,0xc056de21,0x75c2,0x11d3,0xa1,0x84,0x0,0x10,0x5a,0xef,0x9f,0x33)
OUR_GUID_ENTRY(CLSID_WstDecoderPropertyPage,0x4e27f80,0x91e4,0x11d3,0xa1,0x84,0x0,0x10,0x5a,0xef,0x9f,0x33)
OUR_GUID_ENTRY(FORMAT_AnalogVideo,0x482dde0,0x7817,0x11cf,0x8a,0x3,0x0,0xaa,0x0,0x6e,0xcb,0x65)
OUR_GUID_ENTRY(MEDIATYPE_AnalogVideo,0x482dde1,0x7817,0x11cf,0x8a,0x3,0x0,0xaa,0x0,0x6e,0xcb,0x65)
OUR_GUID_ENTRY(MEDIASUBTYPE_AnalogVideo_NTSC_M,0x482dde2,0x7817,0x11cf,0x8a,0x3,0x0,0xaa,0x0,0x6e,0xcb,0x65)
OUR_GUID_ENTRY(MEDIASUBTYPE_AnalogVideo_PAL_B,0x482dde5,0x7817,0x11cf,0x8a,0x3,0x0,0xaa,0x0,0x6e,0xcb,0x65)
OUR_GUID_ENTRY(MEDIASUBTYPE_AnalogVideo_PAL_D,0x482dde6,0x7817,0x11cf,0x8a,0x3,0x0,0xaa,0x0,0x6e,0xcb,0x65)
OUR_GUID_ENTRY(MEDIASUBTYPE_AnalogVideo_PAL_G,0x482dde7,0x7817,0x11cf,0x8a,0x3,0x0,0xaa,0x0,0x6e,0xcb,0x65)
OUR_GUID_ENTRY(MEDIASUBTYPE_AnalogVideo_PAL_H,0x482dde8,0x7817,0x11cf,0x8a,0x3,0x0,0xaa,0x0,0x6e,0xcb,0x65)
OUR_GUID_ENTRY(MEDIASUBTYPE_AnalogVideo_PAL_I,0x482dde9,0x7817,0x11cf,0x8a,0x3,0x0,0xaa,0x0,0x6e,0xcb,0x65)
OUR_GUID_ENTRY(MEDIASUBTYPE_AnalogVideo_PAL_M,0x482ddea,0x7817,0x11cf,0x8a,0x3,0x0,0xaa,0x0,0x6e,0xcb,0x65)
OUR_GUID_ENTRY(MEDIASUBTYPE_AnalogVideo_PAL_N,0x482ddeb,0x7817,0x11cf,0x8a,0x3,0x0,0xaa,0x0,0x6e,0xcb,0x65)
OUR_GUID_ENTRY(MEDIASUBTYPE_AnalogVideo_PAL_N_COMBO,0x482ddec,0x7817,0x11cf,0x8a,0x3,0x0,0xaa,0x0,0x6e,0xcb,0x65)
OUR_GUID_ENTRY(MEDIASUBTYPE_AnalogVideo_SECAM_B,0x482ddf0,0x7817,0x11cf,0x8a,0x3,0x0,0xaa,0x0,0x6e,0xcb,0x65)
OUR_GUID_ENTRY(MEDIASUBTYPE_AnalogVideo_SECAM_D,0x482ddf1,0x7817,0x11cf,0x8a,0x3,0x0,0xaa,0x0,0x6e,0xcb,0x65)
OUR_GUID_ENTRY(MEDIASUBTYPE_AnalogVideo_SECAM_G,0x482ddf2,0x7817,0x11cf,0x8a,0x3,0x0,0xaa,0x0,0x6e,0xcb,0x65)
OUR_GUID_ENTRY(MEDIASUBTYPE_AnalogVideo_SECAM_H,0x482ddf3,0x7817,0x11cf,0x8a,0x3,0x0,0xaa,0x0,0x6e,0xcb,0x65)
OUR_GUID_ENTRY(MEDIASUBTYPE_AnalogVideo_SECAM_K,0x482ddf4,0x7817,0x11cf,0x8a,0x3,0x0,0xaa,0x0,0x6e,0xcb,0x65)
OUR_GUID_ENTRY(MEDIASUBTYPE_AnalogVideo_SECAM_K1,0x482ddf5,0x7817,0x11cf,0x8a,0x3,0x0,0xaa,0x0,0x6e,0xcb,0x65)
OUR_GUID_ENTRY(MEDIASUBTYPE_AnalogVideo_SECAM_L,0x482ddf6,0x7817,0x11cf,0x8a,0x3,0x0,0xaa,0x0,0x6e,0xcb,0x65)
OUR_GUID_ENTRY(MEDIATYPE_AnalogAudio,0x482dee1,0x7817,0x11cf,0x8a,0x3,0x0,0xaa,0x0,0x6e,0xcb,0x65)
#include "dshow/ksuuids.h"
OUR_GUID_ENTRY(TIME_FORMAT_NONE,0L,0,0,0,0,0,0,0,0,0,0)
OUR_GUID_ENTRY(TIME_FORMAT_FRAME,0x7b785570,0x8c82,0x11cf,0xbc,0xc,0x0,0xaa,0x0,0xac,0x74,0xf6)
OUR_GUID_ENTRY(TIME_FORMAT_BYTE,0x7b785571,0x8c82,0x11cf,0xbc,0xc,0x0,0xaa,0x0,0xac,0x74,0xf6)
OUR_GUID_ENTRY(TIME_FORMAT_SAMPLE,0x7b785572,0x8c82,0x11cf,0xbc,0xc,0x0,0xaa,0x0,0xac,0x74,0xf6)
OUR_GUID_ENTRY(TIME_FORMAT_FIELD,0x7b785573,0x8c82,0x11cf,0xbc,0xc,0x0,0xaa,0x0,0xac,0x74,0xf6)
OUR_GUID_ENTRY(TIME_FORMAT_MEDIA_TIME,0x7b785574,0x8c82,0x11cf,0xbc,0xc,0x0,0xaa,0x0,0xac,0x74,0xf6)
OUR_GUID_ENTRY(AMPROPSETID_Pin,0x9b00f101,0x1567,0x11d1,0xb3,0xf1,0x0,0xaa,0x0,0x37,0x61,0xc5)
OUR_GUID_ENTRY(PIN_CATEGORY_CAPTURE,0xfb6c4281,0x0353,0x11d1,0x90,0x5f,0x00,0x00,0xc0,0xcc,0x16,0xba)
OUR_GUID_ENTRY(PIN_CATEGORY_PREVIEW,0xfb6c4282,0x0353,0x11d1,0x90,0x5f,0x00,0x00,0xc0,0xcc,0x16,0xba)
OUR_GUID_ENTRY(PIN_CATEGORY_ANALOGVIDEOIN,0xfb6c4283,0x0353,0x11d1,0x90,0x5f,0x00,0x00,0xc0,0xcc,0x16,0xba)
OUR_GUID_ENTRY(PIN_CATEGORY_VBI,0xfb6c4284,0x0353,0x11d1,0x90,0x5f,0x00,0x00,0xc0,0xcc,0x16,0xba)
OUR_GUID_ENTRY(PIN_CATEGORY_VIDEOPORT,0xfb6c4285,0x0353,0x11d1,0x90,0x5f,0x00,0x00,0xc0,0xcc,0x16,0xba)
OUR_GUID_ENTRY(PIN_CATEGORY_NABTS,0xfb6c4286,0x0353,0x11d1,0x90,0x5f,0x00,0x00,0xc0,0xcc,0x16,0xba)
OUR_GUID_ENTRY(PIN_CATEGORY_EDS,0xfb6c4287,0x0353,0x11d1,0x90,0x5f,0x00,0x00,0xc0,0xcc,0x16,0xba)
OUR_GUID_ENTRY(PIN_CATEGORY_TELETEXT,0xfb6c4288,0x0353,0x11d1,0x90,0x5f,0x00,0x00,0xc0,0xcc,0x16,0xba)
OUR_GUID_ENTRY(PIN_CATEGORY_CC,0xfb6c4289,0x0353,0x11d1,0x90,0x5f,0x00,0x00,0xc0,0xcc,0x16,0xba)
OUR_GUID_ENTRY(PIN_CATEGORY_STILL,0xfb6c428a,0x0353,0x11d1,0x90,0x5f,0x00,0x00,0xc0,0xcc,0x16,0xba)
OUR_GUID_ENTRY(PIN_CATEGORY_TIMECODE,0xfb6c428b,0x0353,0x11d1,0x90,0x5f,0x00,0x00,0xc0,0xcc,0x16,0xba)
OUR_GUID_ENTRY(PIN_CATEGORY_VIDEOPORT_VBI,0xfb6c428c,0x0353,0x11d1,0x90,0x5f,0x00,0x00,0xc0,0xcc,0x16,0xba)
OUR_GUID_ENTRY(LOOK_UPSTREAM_ONLY,0xac798be0,0x98e3,0x11d1,0xb3,0xf1,0x0,0xaa,0x0,0x37,0x61,0xc5)
OUR_GUID_ENTRY(LOOK_DOWNSTREAM_ONLY,0xac798be1,0x98e3,0x11d1,0xb3,0xf1,0x0,0xaa,0x0,0x37,0x61,0xc5)
OUR_GUID_ENTRY(CLSID_TVTunerFilterPropertyPage,0x266eee41,0x6c63,0x11cf,0x8a,0x3,0x0,0xaa,0x0,0x6e,0xcb,0x65)
OUR_GUID_ENTRY(CLSID_CrossbarFilterPropertyPage,0x71f96461,0x78f3,0x11d0,0xa1,0x8c,0x0,0xa0,0xc9,0x11,0x89,0x56)
OUR_GUID_ENTRY(CLSID_TVAudioFilterPropertyPage,0x71f96463,0x78f3,0x11d0,0xa1,0x8c,0x0,0xa0,0xc9,0x11,0x89,0x56)
OUR_GUID_ENTRY(CLSID_VideoProcAmpPropertyPage,0x71f96464,0x78f3,0x11d0,0xa1,0x8c,0x0,0xa0,0xc9,0x11,0x89,0x56)
OUR_GUID_ENTRY(CLSID_CameraControlPropertyPage,0x71f96465,0x78f3,0x11d0,0xa1,0x8c,0x0,0xa0,0xc9,0x11,0x89,0x56)
OUR_GUID_ENTRY(CLSID_AnalogVideoDecoderPropertyPage,0x71f96466,0x78f3,0x11d0,0xa1,0x8c,0x0,0xa0,0xc9,0x11,0x89,0x56)
OUR_GUID_ENTRY(CLSID_VideoStreamConfigPropertyPage,0x71f96467,0x78f3,0x11d0,0xa1,0x8c,0x0,0xa0,0xc9,0x11,0x89,0x56)
OUR_GUID_ENTRY(CLSID_AudioRendererAdvancedProperties,0x37e92a92,0xd9aa,0x11d2,0xbf,0x84,0x8e,0xf2,0xb1,0x55,0x5a,0xed)
OUR_GUID_ENTRY(CLSID_VideoMixingRenderer,0xB87BEB7B,0x8D29,0x423f,0xAE,0x4D,0x65,0x82,0xC1,0x01,0x75,0xAC)
OUR_GUID_ENTRY(CLSID_VideoRendererDefault,0x6BC1CFFA,0x8FC1,0x4261,0xAC,0x22,0xCF,0xB4,0xCC,0x38,0xDB,0x50)
OUR_GUID_ENTRY(CLSID_AllocPresenter,0x99d54f63,0x1a69,0x41ae,0xaa,0x4d,0xc9,0x76,0xeb,0x3f,0x07,0x13)
OUR_GUID_ENTRY(CLSID_AllocPresenterDDXclMode,0x4444ac9e,0x242e,0x471b,0xa3,0xc7,0x45,0xdc,0xd4,0x63,0x52,0xbc)
OUR_GUID_ENTRY(CLSID_VideoPortManager,0x6f26a6cd,0x967b,0x47fd,0x87,0x4a,0x7a,0xed,0x2c,0x9d,0x25,0xa2)
OUR_GUID_ENTRY(CLSID_VideoMixingRenderer9,0x51b4abf3,0x748f,0x4e3b,0xa2,0x76,0xc8,0x28,0x33,0x0e,0x92,0x6a)
OUR_GUID_ENTRY(CLSID_ATSCNetworkProvider,0x0dad2fdd,0x5fd7,0x11d3,0x8f,0x50,0x00,0xc0,0x4f,0x79,0x71,0xe2)
OUR_GUID_ENTRY(CLSID_ATSCNetworkPropertyPage,0xe3444d16,0x5ac4,0x4386,0x88,0xdf,0x13,0xfd,0x23,0x0e,0x1d,0xda)
OUR_GUID_ENTRY(CLSID_DVBSNetworkProvider,0xfa4b375a,0x45b4,0x4d45,0x84,0x40,0x26,0x39,0x57,0xb1,0x16,0x23)
OUR_GUID_ENTRY(CLSID_DVBTNetworkProvider,0x216c62df,0x6d7f,0x4e9a,0x85,0x71,0x5,0xf1,0x4e,0xdb,0x76,0x6a)
OUR_GUID_ENTRY(CLSID_DVBCNetworkProvider,0xdc0c0fe7,0x485,0x4266,0xb9,0x3f,0x68,0xfb,0xf8,0xe,0xd8,0x34)
OUR_GUID_ENTRY(CLSID_DShowTVEFilter,0x05500280,0xFAA5,0x4DF9,0x82,0x46,0xBF,0xC2,0x3A,0xC5,0xCE,0xA8)
OUR_GUID_ENTRY(CLSID_TVEFilterTuneProperties,0x05500281,0xFAA5,0x4DF9,0x82,0x46,0xBF,0xC2,0x3A,0xC5,0xCE,0xA8)
OUR_GUID_ENTRY(CLSID_TVEFilterCCProperties,0x05500282,0xFAA5,0x4DF9,0x82,0x46,0xBF,0xC2,0x3A,0xC5,0xCE,0xA8)
OUR_GUID_ENTRY(CLSID_TVEFilterStatsProperties,0x05500283,0xFAA5,0x4DF9,0x82,0x46,0xBF,0xC2,0x3A,0xC5,0xCE,0xA8)
OUR_GUID_ENTRY(CLSID_IVideoEncoderProxy,0xb43c4eec,0x8c32,0x4791,0x91,0x2,0x50,0x8a,0xda,0x5e,0xe8,0xe7)
OUR_GUID_ENTRY(CLSID_ICodecAPIProxy,0x7ff0997a,0x1999,0x4286,0xa7,0x3c,0x62,0x2b,0x88,0x14,0xe7,0xeb)
OUR_GUID_ENTRY(CLSID_IVideoEncoderCodecAPIProxy,0xb05dabd9,0x56e5,0x4fdc,0xaf,0xa4,0x8a,0x47,0xe9,0x1f,0x1c,0x9c)
#ifndef __ENCODER_API_GUIDS__
#define __ENCODER_API_GUIDS__
OUR_GUID_ENTRY(ENCAPIPARAM_BITRATE,0x49cc4c43,0xca83,0x4ad4,0xa9,0xaf,0xf3,0x69,0x6a,0xf6,0x66,0xdf)
OUR_GUID_ENTRY(ENCAPIPARAM_PEAK_BITRATE,0x703f16a9,0x3d48,0x44a1,0xb0,0x77,0x1,0x8d,0xff,0x91,0x5d,0x19)
OUR_GUID_ENTRY(ENCAPIPARAM_BITRATE_MODE,0xee5fb25c,0xc713,0x40d1,0x9d,0x58,0xc0,0xd7,0x24,0x1e,0x25,0xf)
OUR_GUID_ENTRY(CODECAPI_CHANGELISTS,0x62b12acf,0xf6b0,0x47d9,0x94,0x56,0x96,0xf2,0x2c,0x4e,0x0b,0x9d)
OUR_GUID_ENTRY(CODECAPI_VIDEO_ENCODER,0x7112e8e1,0x3d03,0x47ef,0x8e,0x60,0x03,0xf1,0xcf,0x53,0x73,0x01)
OUR_GUID_ENTRY(CODECAPI_AUDIO_ENCODER,0xb9d19a3e,0xf897,0x429c,0xbc,0x46,0x81,0x38,0xb7,0x27,0x2b,0x2d)
OUR_GUID_ENTRY(CODECAPI_SETALLDEFAULTS,0x6c5e6a7c,0xacf8,0x4f55,0xa9,0x99,0x1a,0x62,0x81,0x09,0x05,0x1b)
OUR_GUID_ENTRY(CODECAPI_ALLSETTINGS,0x6a577e92,0x83e1,0x4113,0xad,0xc2,0x4f,0xce,0xc3,0x2f,0x83,0xa1)
OUR_GUID_ENTRY(CODECAPI_SUPPORTSEVENTS,0x0581af97,0x7693,0x4dbd,0x9d,0xca,0x3f,0x9e,0xbd,0x65,0x85,0xa1)
OUR_GUID_ENTRY(CODECAPI_CURRENTCHANGELIST,0x1cb14e83,0x7d72,0x4657,0x83,0xfd,0x47,0xa2,0xc5,0xb9,0xd1,0x3d)
#endif
#undef OUR_GUID_ENTRY
-253
Ver Arquivo
@@ -1,253 +0,0 @@
/* f2c.h -- Standard Fortran to C header file */
/** barf [ba:rf] 2. "He suggested using FORTRAN, and everybody barfed."
- From The Shogakukan DICTIONARY OF NEW ENGLISH (Second edition) */
#ifndef F2C_INCLUDE
#define F2C_INCLUDE
#include <assert.h>
#include <math.h>
#include <ctype.h>
#include <stdlib.h>
/* needed for Windows Mobile */
#ifdef WINCE
#undef complex;
#endif
#include <string.h>
#include <stdio.h>
#if __SSE2__ || defined _M_X64
#include "emmintrin.h"
#endif
#ifdef __cplusplus
extern "C" {
#endif
typedef int integer;
typedef unsigned int uinteger;
typedef char *address;
typedef short int shortint;
typedef float real;
typedef double doublereal;
typedef struct { real r, i; } complex;
typedef struct { doublereal r, i; } doublecomplex;
typedef int logical;
typedef short int shortlogical;
typedef char logical1;
typedef char integer1;
#ifdef INTEGER_STAR_8 /* Adjust for integer*8. */
typedef long long longint; /* system-dependent */
typedef unsigned long long ulongint; /* system-dependent */
#define qbit_clear(a,b) ((a) & ~((ulongint)1 << (b)))
#define qbit_set(a,b) ((a) | ((ulongint)1 << (b)))
#endif
#define TRUE_ (1)
#define FALSE_ (0)
/* Extern is for use with -E */
#ifndef Extern
#define Extern extern
#endif
/* I/O stuff */
#ifdef f2c_i2
/* for -i2 */
typedef short flag;
typedef short ftnlen;
typedef short ftnint;
#else
typedef int flag;
typedef int ftnlen;
typedef int ftnint;
#endif
/*external read, write*/
typedef struct
{ flag cierr;
ftnint ciunit;
flag ciend;
char *cifmt;
ftnint cirec;
} cilist;
/*internal read, write*/
typedef struct
{ flag icierr;
char *iciunit;
flag iciend;
char *icifmt;
ftnint icirlen;
ftnint icirnum;
} icilist;
/*open*/
typedef struct
{ flag oerr;
ftnint ounit;
char *ofnm;
ftnlen ofnmlen;
char *osta;
char *oacc;
char *ofm;
ftnint orl;
char *oblnk;
} olist;
/*close*/
typedef struct
{ flag cerr;
ftnint cunit;
char *csta;
} cllist;
/*rewind, backspace, endfile*/
typedef struct
{ flag aerr;
ftnint aunit;
} alist;
/* inquire */
typedef struct
{ flag inerr;
ftnint inunit;
char *infile;
ftnlen infilen;
ftnint *inex; /*parameters in standard's order*/
ftnint *inopen;
ftnint *innum;
ftnint *innamed;
char *inname;
ftnlen innamlen;
char *inacc;
ftnlen inacclen;
char *inseq;
ftnlen inseqlen;
char *indir;
ftnlen indirlen;
char *infmt;
ftnlen infmtlen;
char *inform;
ftnint informlen;
char *inunf;
ftnlen inunflen;
ftnint *inrecl;
ftnint *innrec;
char *inblank;
ftnlen inblanklen;
} inlist;
#define VOID void
union Multitype { /* for multiple entry points */
integer1 g;
shortint h;
integer i;
/* longint j; */
real r;
doublereal d;
complex c;
doublecomplex z;
};
typedef union Multitype Multitype;
/*typedef long int Long;*/ /* No longer used; formerly in Namelist */
struct Vardesc { /* for Namelist */
char *name;
char *addr;
ftnlen *dims;
int type;
};
typedef struct Vardesc Vardesc;
struct Namelist {
char *name;
Vardesc **vars;
int nvars;
};
typedef struct Namelist Namelist;
#ifndef abs
#define abs(x) ((x) >= 0 ? (x) : -(x))
#endif
#define dabs(x) (doublereal)abs(x)
#ifndef min
#define min(a,b) ((a) <= (b) ? (a) : (b))
#endif
#ifndef max
#define max(a,b) ((a) >= (b) ? (a) : (b))
#endif
#define dmin(a,b) (doublereal)min(a,b)
#define dmax(a,b) (doublereal)max(a,b)
#define bit_test(a,b) ((a) >> (b) & 1)
#define bit_clear(a,b) ((a) & ~((uinteger)1 << (b)))
#define bit_set(a,b) ((a) | ((uinteger)1 << (b)))
/* procedure parameter types for -A and -C++ */
#define F2C_proc_par_types 1
#ifdef __cplusplus
typedef int /* Unknown procedure type */ (*U_fp)(...);
typedef shortint (*J_fp)(...);
typedef integer (*I_fp)(...);
typedef real (*R_fp)(...);
typedef doublereal (*D_fp)(...), (*E_fp)(...);
typedef /* Complex */ VOID (*C_fp)(...);
typedef /* Double Complex */ VOID (*Z_fp)(...);
typedef logical (*L_fp)(...);
typedef shortlogical (*K_fp)(...);
typedef /* Character */ VOID (*H_fp)(...);
typedef /* Subroutine */ int (*S_fp)(...);
#else
typedef int /* Unknown procedure type */ (*U_fp)();
typedef shortint (*J_fp)();
typedef integer (*I_fp)();
typedef real (*R_fp)();
typedef doublereal (*D_fp)(), (*E_fp)();
typedef /* Complex */ VOID (*C_fp)();
typedef /* Double Complex */ VOID (*Z_fp)();
typedef logical (*L_fp)();
typedef shortlogical (*K_fp)();
typedef /* Character */ VOID (*H_fp)();
typedef /* Subroutine */ int (*S_fp)();
#endif
/* E_fp is for real functions when -R is not specified */
typedef VOID C_f; /* complex function */
typedef VOID H_f; /* character function */
typedef VOID Z_f; /* double complex function */
typedef doublereal E_f; /* real function with -R not specified */
/* undef any lower-case symbols that your C compiler predefines, e.g.: */
#ifndef Skip_f2c_Undefs
#undef cray
#undef gcos
#undef mc68010
#undef mc68020
#undef mips
#undef pdp11
#undef sgi
#undef sparc
#undef sun
#undef sun2
#undef sun3
#undef sun4
#undef u370
#undef u3b
#undef u3b2
#undef u3b5
#undef unix
#undef vax
#endif
#ifdef __cplusplus
}
#endif
#endif
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
+1 -1
Ver Arquivo
@@ -23,7 +23,7 @@
#ifndef AVCODEC_DXVA_H
#define AVCODEC_DXVA_H
#include <msc_stdint.h>
#include <stdint.h>
#include <dxva2api.h>
+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 */
+1 -1
Ver Arquivo
@@ -24,7 +24,7 @@
#ifndef AVCODEC_VAAPI_H
#define AVCODEC_VAAPI_H
#include <msc_stdint.h>
#include <stdint.h>
/**
* \defgroup VAAPI_Decoding VA API Decoding
+7 -8
Ver Arquivo
@@ -38,7 +38,6 @@
* and rendering (API calls) are done as part of the VDPAU
* presentation (vo_vdpau.c) module.
*
* @{
* \defgroup VDPAU_Decoding VDPAU Decoding
* \ingroup Decoder
* @{
@@ -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;
};
/* @}*/
+72
Ver Arquivo
@@ -0,0 +1,72 @@
/*
*
* 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 7
#define LIBAVCODEC_VERSION_MICRO 0
#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 < 54)
#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
#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 */
+11 -6
Ver Arquivo
@@ -20,10 +20,11 @@
#define AVDEVICE_AVDEVICE_H
#include "libavutil/avutil.h"
#include "libavformat/avformat.h"
#define LIBAVDEVICE_VERSION_MAJOR 52
#define LIBAVDEVICE_VERSION_MINOR 2
#define LIBAVDEVICE_VERSION_MICRO 0
#define LIBAVDEVICE_VERSION_MAJOR 53
#define LIBAVDEVICE_VERSION_MINOR 1
#define LIBAVDEVICE_VERSION_MICRO 1
#define LIBAVDEVICE_VERSION_INT AV_VERSION_INT(LIBAVDEVICE_VERSION_MAJOR, \
LIBAVDEVICE_VERSION_MINOR, \
@@ -33,18 +34,22 @@
LIBAVDEVICE_VERSION_MICRO)
#define LIBAVDEVICE_BUILD LIBAVDEVICE_VERSION_INT
#ifndef FF_API_V4L
#define FF_API_V4L (LIBAVDEVICE_VERSION_MAJOR < 54)
#endif
/**
* 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
+81
Ver Arquivo
@@ -0,0 +1,81 @@
/*
* 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
#include "libavutil/avutil.h"
#define LIBAVFORMAT_VERSION_MAJOR 53
#define LIBAVFORMAT_VERSION_MINOR 4
#define LIBAVFORMAT_VERSION_MICRO 0
#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_READ_SEEK
#define FF_API_READ_SEEK (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
#endif /* AVFORMAT_VERSION_H */
+13 -1
Ver Arquivo
@@ -21,9 +21,21 @@
#ifndef AVUTIL_ADLER32_H
#define AVUTIL_ADLER32_H
#include <msc_stdint.h>
#include <stdint.h>
#include "attributes.h"
/**
* 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;
+47
Ver Arquivo
@@ -0,0 +1,47 @@
/*
* 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>
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 */
+24 -3
Ver Arquivo
@@ -65,7 +65,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 +73,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
@@ -96,8 +96,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
+95
Ver Arquivo
@@ -0,0 +1,95 @@
/*
* 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
*/
/* 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.
/** 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 0x8000000000000000LL
/* 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_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_4POINT0 (AV_CH_LAYOUT_SURROUND|AV_CH_BACK_CENTER)
#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_7POINT0 (AV_CH_LAYOUT_5POINT0|AV_CH_BACK_LEFT|AV_CH_BACK_RIGHT)
#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_BACK|AV_CH_FRONT_LEFT_OF_CENTER|AV_CH_FRONT_RIGHT_OF_CENTER)
#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.
*/
int64_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, int64_t channel_layout);
/**
* Return the number of channels in the channel layout.
*/
int av_get_channel_layout_nb_channels(int64_t channel_layout);
#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 */
+16
Ver Arquivo
@@ -114,4 +114,20 @@ size_t av_strlcatf(char *dst, size_t size, const char *fmt, ...);
*/
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);
#endif /* AVUTIL_AVSTRING_H */
+50 -5
Ver Arquivo
@@ -39,8 +39,8 @@
#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_MAJOR 51
#define LIBAVUTIL_VERSION_MINOR 9
#define LIBAVUTIL_VERSION_MICRO 1
#define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \
@@ -54,17 +54,31 @@
#define LIBAVUTIL_IDENT "Lavu" AV_STRINGIFY(LIBAVUTIL_VERSION)
/**
* Returns the LIBAVUTIL_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_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
/**
* 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);
@@ -78,6 +92,37 @@ enum AVMediaType {
AVMEDIA_TYPE_NB
};
#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
#define AV_NOPTS_VALUE INT64_C(0x8000000000000000)
#define AV_TIME_BASE 1000000
#define AV_TIME_BASE_Q (AVRational){1, AV_TIME_BASE}
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"
+19 -14
Ver Arquivo
@@ -21,29 +21,34 @@
#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.
* 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 */
+124
Ver Arquivo
@@ -0,0 +1,124 @@
/*
* 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)
{
x= ((x<<8)&0xFF00FF00) | ((x>>8)&0x00FF00FF);
x= (x>>16) | (x<<16);
return x;
}
#endif
#ifndef av_bswap64
static inline uint64_t av_const av_bswap64(uint64_t x)
{
#if 0
x= ((x<< 8)&0xFF00FF00FF00FF00ULL) | ((x>> 8)&0x00FF00FF00FF00FFULL);
x= ((x<<16)&0xFFFF0000FFFF0000ULL) | ((x>>16)&0x0000FFFF0000FFFFULL);
return (x>>32) | (x<<32);
#else
union {
uint64_t ll;
uint32_t l[2];
} w, r;
w.ll = x;
r.l[0] = av_bswap32 (w.l[1]);
r.l[1] = av_bswap32 (w.l[0]);
return r.ll;
#endif
}
#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 */
+128 -53
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,122 @@ 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.
#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))
/**
* 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 +249,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;\
@@ -239,7 +272,7 @@ 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).
* 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.
@@ -275,7 +308,7 @@ 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).
* 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.
@@ -310,3 +343,45 @@ 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
+61
Ver Arquivo
@@ -0,0 +1,61 @@
/*
* 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_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"
+81
Ver Arquivo
@@ -0,0 +1,81 @@
/*
*
* 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.
*/
#ifndef AVUTIL_DICT_H
#define AVUTIL_DICT_H
#define AV_DICT_MATCH_CASE 1
#define AV_DICT_IGNORE_SUFFIX 2
#define AV_DICT_DONT_STRDUP_KEY 4
#define AV_DICT_DONT_STRDUP_VAL 8
#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.
*/
void av_dict_free(AVDictionary **m);
#endif // AVUTIL_DICT_H
+16 -20
Ver Arquivo
@@ -37,32 +37,28 @@
#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_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.
* 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
+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 successfull 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 */
+10 -10
Ver Arquivo
@@ -24,7 +24,7 @@
#ifndef AVUTIL_FIFO_H
#define AVUTIL_FIFO_H
#include <msc_stdint.h>
#include <stdint.h>
typedef struct AVFifoBuffer {
uint8_t *buffer;
@@ -33,26 +33,26 @@ 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.
* 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.
* 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
* @return size
@@ -60,7 +60,7 @@ void av_fifo_reset(AVFifoBuffer *f);
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
* @return size
@@ -68,7 +68,7 @@ int av_fifo_size(AVFifoBuffer *f);
int av_fifo_space(AVFifoBuffer *f);
/**
* Feeds data from an AVFifoBuffer to a user-supplied callback.
* 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
@@ -77,7 +77,7 @@ int av_fifo_space(AVFifoBuffer *f);
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.
* 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
@@ -92,7 +92,7 @@ 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.
* Resize an AVFifoBuffer.
* @param *f AVFifoBuffer to resize
* @param size new AVFifoBuffer size in bytes
* @return <0 for failure, >=0 otherwise
@@ -100,7 +100,7 @@ int av_fifo_generic_write(AVFifoBuffer *f, void *src, int size, int (*func)(void
int av_fifo_realloc2(AVFifoBuffer *f, unsigned int size);
/**
* Reads and discards the specified amount of data from an AVFifoBuffer.
* 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
*/
+52
Ver Arquivo
@@ -0,0 +1,52 @@
/*
* 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);
#endif /* AVUTIL_FILE_H */
+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 AVUTIL_IMGUTILS_H
#define AVUTIL_IMGUTILS_H
/**
* @file
* misc image utilities
*/
#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_linesize linesizes for the image in dst_data
* @param src_linesize 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 */
+1 -1
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 */
+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 */
+49 -5
Ver Arquivo
@@ -25,7 +25,7 @@
#include "avutil.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.).
*/
@@ -56,6 +56,27 @@ 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;
/**
* A function for extended searching, e.g. in possible
* children objects.
*/
const struct AVOption* (*opt_find)(void *obj, const char *name, const char *unit,
int opt_flags, int search_flags);
} AVClass;
/* av_log API */
@@ -95,7 +116,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.
@@ -109,15 +130,38 @@ typedef struct {
* @see av_vlog
*/
#ifdef __GNUC__
void av_log(void*, int level, const char *fmt, ...) __attribute__ ((__format__ (__printf__, 3, 4)));
void av_log(void *avcl, int level, const char *fmt, ...) __attribute__ ((__format__ (__printf__, 3, 4)));
#else
void av_log(void*, int level, const char *fmt, ...);
void av_log(void *avcl, int level, const char *fmt, ...);
#endif
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);
/**
* 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 */
+2 -2
Ver Arquivo
@@ -22,9 +22,9 @@
#ifndef AVUTIL_LZO_H
#define AVUTIL_LZO_H
#include <msc_stdint.h>
#include <stdint.h>
/** \defgroup errflags Error flags returned by av_lzo1x_decode
/** @name Error flags returned by av_lzo1x_decode
* \{ */
//! end of the input buffer reached before decoding finished
#define AV_LZO_INPUT_DEPLETED 1
+20 -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
@@ -63,36 +66,47 @@ 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 */
+1 -1
Ver Arquivo
@@ -21,7 +21,7 @@
#ifndef AVUTIL_MD5_H
#define AVUTIL_MD5_H
#include <msc_stdint.h>
#include <stdint.h>
extern const int av_md5_size;
+25 -15
Ver Arquivo
@@ -27,8 +27,9 @@
#define AVUTIL_MEM_H
#include "attributes.h"
#include "avutil.h"
#if defined(__ICC) || defined(__SUNPRO_C)
#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 +41,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,26 +56,26 @@
#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.
* 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 size Size in bytes for the memory block to be allocated or
* reallocated.
* @param ptr Pointer to a memory block already allocated with
@@ -83,10 +84,10 @@ void *av_malloc(unsigned int size) av_malloc_attrib av_alloc_size(1);
* 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
* 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 +97,17 @@ 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.
* 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 +115,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 +123,13 @@ 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);
#endif /* AVUTIL_MEM_H */
+243
Ver Arquivo
@@ -0,0 +1,243 @@
/*
* 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"
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
*/
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
/**
* 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 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);
/**
* 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);
void av_opt_set_defaults(void *s);
void av_opt_set_defaults2(void *s, int mask, int flags);
/**
* 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);
#define AV_OPT_SEARCH_CHILDREN 0x0001 /**< Search in possible children of the
given object first. */
/**
* 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.
* @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);
#endif /* AVUTIL_OPT_H */
+117
Ver Arquivo
@@ -0,0 +1,117 @@
/*
* 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 "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);
/**
* Parses timestr and returns 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 datestr 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);
#endif /* AVUTIL_PARSEUTILS_H */
+31 -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
@@ -93,11 +94,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 +109,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 +143,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
+32 -7
Ver Arquivo
@@ -71,9 +71,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 +95,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 +128,33 @@ 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), little-endian
PIX_FMT_YUV422P10LE,///< planar YUV 4:2:2, 20bpp, (1 Cr & Cb sample per 2x1 Y samples), big-endian
PIX_FMT_YUV444P9BE, ///< planar YUV 4:4:4, 27bpp, (1 Cr & Cb sample per 1x1 Y samples), little-endian
PIX_FMT_YUV444P9LE, ///< planar YUV 4:4:4, 27bpp, (1 Cr & Cb sample per 1x1 Y samples), big-endian
PIX_FMT_YUV444P10BE,///< planar YUV 4:4:4, 30bpp, (1 Cr & Cb sample per 1x1 Y samples), little-endian
PIX_FMT_YUV444P10LE,///< planar YUV 4:4:4, 30bpp, (1 Cr & Cb sample per 1x1 Y samples), big-endian
PIX_FMT_NB, ///< number of pixel formats, DO NOT USE THIS if you want to link with shared libav* because the number of formats might differ between versions
};
#define PIX_FMT_Y400A PIX_FMT_GRAY8A
#if AV_HAVE_BIGENDIAN
# define PIX_FMT_NE(be, le) PIX_FMT_##be
#else
@@ -152,10 +171,16 @@ enum PixelFormat {
#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_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)
+31
Ver Arquivo
@@ -0,0 +1,31 @@
/*
* 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>
/**
* Get a seed to use in conjunction with random functions.
*/
uint32_t av_get_random_seed(void);
#endif /* AVUTIL_RANDOM_SEED_H */
+19 -13
Ver Arquivo
@@ -28,7 +28,8 @@
#ifndef AVUTIL_RATIONAL_H
#define AVUTIL_RATIONAL_H
#include <msc_stdint.h>
#include <stdint.h>
#include <limits.h>
#include "attributes.h"
/**
@@ -40,20 +41,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 +66,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 +78,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 +86,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 +94,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 +102,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 +110,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,7 +126,7 @@ 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
*/
+125
Ver Arquivo
@@ -0,0 +1,125 @@
/*
* 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_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);
/**
* 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);
/**
* Fill channel data pointers and linesizes 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 plane'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 samples
* plane, that is linesize[i] will contain the linesize of the plane i,
* and will be zero for all the unused planes. All linesize values are
* equal.
*
* @param pointers array to be filled with the pointer for each plane, may be NULL
* @param linesizes array to be filled with the linesize, may be NULL
* @param buf the pointer to a buffer containing the samples
* @param nb_samples the number of samples in a single channel
* @param planar 1 if the samples layout is planar, 0 if it is packed
* @param nb_channels the number of channels
* @return the total size of the buffer, a negative
* error code in case of failure
*/
int av_samples_fill_arrays(uint8_t *pointers[8], int linesizes[8],
uint8_t *buf, int nb_channels, int nb_samples,
enum AVSampleFormat sample_fmt, int planar, int align);
/**
* Allocate a samples buffer for nb_samples samples, and
* fill pointers and linesizes accordingly.
* The allocated samples buffer has to be freed by using
* av_freep(&pointers[0]).
*
* @param nb_channels number of audio channels
* @param nb_samples number of samples per channel
* @param planar 1 if the samples layout is planar, 0 if packed,
* @param align the value to use for buffer size alignment
* @return the size in bytes required for the samples buffer, a negative
* error code in case of failure
* @see av_samples_fill_arrays()
*/
int av_samples_alloc(uint8_t *pointers[8], int linesizes[8],
int nb_channels, int nb_samples,
enum AVSampleFormat sample_fmt, int planar,
int align);
#endif /* AVCORE_SAMPLEFMT_H */
+56
Ver Arquivo
@@ -0,0 +1,56 @@
/*
* 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>
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 */
+46 -5
Ver Arquivo
@@ -29,8 +29,8 @@
#include "libavutil/avutil.h"
#define LIBSWSCALE_VERSION_MAJOR 0
#define LIBSWSCALE_VERSION_MINOR 11
#define LIBSWSCALE_VERSION_MAJOR 2
#define LIBSWSCALE_VERSION_MINOR 0
#define LIBSWSCALE_VERSION_MICRO 0
#define LIBSWSCALE_VERSION_INT AV_VERSION_INT(LIBSWSCALE_VERSION_MAJOR, \
@@ -43,6 +43,20 @@
#define LIBSWSCALE_IDENT "SwS" AV_STRINGIFY(LIBSWSCALE_VERSION)
/**
* Those FF_API_* defines are not part of public API.
* They may change, break or disappear at any time.
*/
#ifndef FF_API_SWS_GETCONTEXT
#define FF_API_SWS_GETCONTEXT (LIBSWSCALE_VERSION_MAJOR < 3)
#endif
#ifndef FF_API_SWS_CPU_CAPS
#define FF_API_SWS_CPU_CAPS (LIBSWSCALE_VERSION_MAJOR < 3)
#endif
#ifndef FF_API_SWS_FORMAT_NAME
#define FF_API_SWS_FORMAT_NAME (LIBSWSCALE_VERSION_MAJOR < 3)
#endif
/**
* Returns the LIBSWSCALE_VERSION_INT constant.
*/
@@ -87,11 +101,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
@@ -142,12 +163,28 @@ int sws_isSupportedInput(enum PixelFormat pix_fmt);
*/
int sws_isSupportedOutput(enum PixelFormat pix_fmt);
/**
* Allocates 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);
/**
* Initializes 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);
/**
* Frees 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
* scaling/conversion operations using sws_scale().
@@ -160,11 +197,15 @@ 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
@@ -194,6 +235,7 @@ struct SwsContext *sws_getContext(int srcW, int srcH, enum PixelFormat srcFormat
*/
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.
@@ -205,7 +247,6 @@ int sws_scale_ordered(struct SwsContext *context, const uint8_t* const src[],
/**
* @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],
@@ -312,7 +353,7 @@ 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.
@@ -324,7 +365,7 @@ 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);
#endif /* SWSCALE_SWSCALE_H */
-2701
Ver Arquivo
Diferenças do arquivo suprimidas por serem muito extensas Carregar Diff
-385
Ver Arquivo
@@ -1,385 +0,0 @@
#ifndef _VIDEOINPUT
#define _VIDEOINPUT
//THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
//IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
//FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
//AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
//LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
//OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
//THE SOFTWARE.
//////////////////////////////////////////////////////////
//Written by Theodore Watson - theo.watson@gmail.com //
//Do whatever you want with this code but if you find //
//a bug or make an improvement I would love to know! //
// //
//Warning This code is experimental //
//use at your own risk :) //
//////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////
/* Shoutouts
Thanks to:
Dillip Kumar Kara for crossbar code.
Zachary Lieberman for getting me into this stuff
and for being so generous with time and code.
The guys at Potion Design for helping me with VC++
Josh Fisher for being a serious C++ nerd :)
Golan Levin for helping me debug the strangest
and slowest bug in the world!
And all the people using this library who send in
bugs, suggestions and improvements who keep me working on
the next version - yeah thanks a lot ;)
*/
/////////////////////////////////////////////////////////
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
#include <string.h>
#include <wchar.h>
//this is for TryEnterCriticalSection
#ifndef _WIN32_WINNT
# define _WIN32_WINNT 0x400
#endif
#include <windows.h>
//Example Usage
/*
//create a videoInput object
videoInput VI;
//Prints out a list of available devices and returns num of devices found
int numDevices = VI.listDevices();
int device1 = 0; //this could be any deviceID that shows up in listDevices
int device2 = 1; //this could be any deviceID that shows up in listDevices
//if you want to capture at a different frame rate (default is 30)
//specify it here, you are not guaranteed to get this fps though.
//VI.setIdealFramerate(dev, 60);
//setup the first device - there are a number of options:
VI.setupDevice(device1); //setup the first device with the default settings
//VI.setupDevice(device1, VI_COMPOSITE); //or setup device with specific connection type
//VI.setupDevice(device1, 320, 240); //or setup device with specified video size
//VI.setupDevice(device1, 320, 240, VI_COMPOSITE); //or setup device with video size and connection type
//VI.setFormat(device1, VI_NTSC_M); //if your card doesn't remember what format it should be
//call this with the appropriate format listed above
//NOTE: must be called after setupDevice!
//optionally setup a second (or third, fourth ...) device - same options as above
VI.setupDevice(device2);
//As requested width and height can not always be accomodated
//make sure to check the size once the device is setup
int width = VI.getWidth(device1);
int height = VI.getHeight(device1);
int size = VI.getSize(device1);
unsigned char * yourBuffer1 = new unsigned char[size];
unsigned char * yourBuffer2 = new unsigned char[size];
//to get the data from the device first check if the data is new
if(VI.isFrameNew(device1)){
VI.getPixels(device1, yourBuffer1, false, false); //fills pixels as a BGR (for openCV) unsigned char array - no flipping
VI.getPixels(device1, yourBuffer2, true, true); //fills pixels as a RGB (for openGL) unsigned char array - flipping!
}
//same applies to device2 etc
//to get a settings dialog for the device
VI.showSettingsWindow(device1);
//Shut down devices properly
VI.stopDevice(device1);
VI.stopDevice(device2);
*/
////////////////////////////////////// VARS AND DEFS //////////////////////////////////
//STUFF YOU CAN CHANGE
//change for verbose debug info
static bool verbose = true;
//if you need VI to use multi threaded com
//#define VI_COM_MULTI_THREADED
//STUFF YOU DON'T CHANGE
//videoInput defines
#define VI_VERSION 0.1995
#define VI_MAX_CAMERAS 20
#define VI_NUM_TYPES 18 //DON'T TOUCH
#define VI_NUM_FORMATS 18 //DON'T TOUCH
//defines for setPhyCon - tuner is not as well supported as composite and s-video
#define VI_COMPOSITE 0
#define VI_S_VIDEO 1
#define VI_TUNER 2
#define VI_USB 3
#define VI_1394 4
//defines for formats
#define VI_NTSC_M 0
#define VI_PAL_B 1
#define VI_PAL_D 2
#define VI_PAL_G 3
#define VI_PAL_H 4
#define VI_PAL_I 5
#define VI_PAL_M 6
#define VI_PAL_N 7
#define VI_PAL_NC 8
#define VI_SECAM_B 9
#define VI_SECAM_D 10
#define VI_SECAM_G 11
#define VI_SECAM_H 12
#define VI_SECAM_K 13
#define VI_SECAM_K1 14
#define VI_SECAM_L 15
#define VI_NTSC_M_J 16
#define VI_NTSC_433 17
//allows us to directShow classes here with the includes in the cpp
struct ICaptureGraphBuilder2;
struct IGraphBuilder;
struct IBaseFilter;
struct IAMCrossbar;
struct IMediaControl;
struct ISampleGrabber;
struct IMediaEventEx;
struct IAMStreamConfig;
struct _AMMediaType;
class SampleGrabberCallback;
typedef _AMMediaType AM_MEDIA_TYPE;
//keeps track of how many instances of VI are being used
//don't touch
static int comInitCount = 0;
//////////////////////////////////////// VIDEO DEVICE ///////////////////////////////////
class videoDevice{
public:
videoDevice();
void setSize(int w, int h);
void NukeDownstream(IBaseFilter *pBF);
void destroyGraph();
~videoDevice();
int videoSize;
int width;
int height;
int tryWidth;
int tryHeight;
ICaptureGraphBuilder2 *pCaptureGraph; // Capture graph builder object
IGraphBuilder *pGraph; // Graph builder object
IMediaControl *pControl; // Media control object
IBaseFilter *pVideoInputFilter; // Video Capture filter
IBaseFilter *pGrabberF;
IBaseFilter * pDestFilter;
IAMStreamConfig *streamConf;
ISampleGrabber * pGrabber; // Grabs frame
AM_MEDIA_TYPE * pAmMediaType;
IMediaEventEx * pMediaEvent;
GUID videoType;
long formatType;
SampleGrabberCallback * sgCallback;
bool tryDiffSize;
bool useCrossbar;
bool readyToCapture;
bool sizeSet;
bool setupStarted;
bool specificFormat;
bool autoReconnect;
int nFramesForReconnect;
unsigned long nFramesRunning;
int connection;
int storeConn;
int myID;
long requestedFrameTime; //ie fps
char nDeviceName[255];
WCHAR wDeviceName[255];
unsigned char * pixels;
char * pBuffer;
};
////////////////////////////////////// VIDEO INPUT /////////////////////////////////////
class videoInput{
public:
videoInput();
~videoInput();
//turns off console messages - default is to print messages
static void setVerbose(bool _verbose);
//Functions in rough order they should be used.
static int listDevices(bool silent = false);
//needs to be called after listDevices - otherwise returns NULL
static char * getDeviceName(int deviceID);
//choose to use callback based capture - or single threaded
void setUseCallback(bool useCallback);
//call before setupDevice
//directshow will try and get the closest possible framerate to what is requested
void setIdealFramerate(int deviceID, int idealFramerate);
//some devices will stop delivering frames after a while - this method gives you the option to try and reconnect
//to a device if videoInput detects that a device has stopped delivering frames.
//you MUST CALL isFrameNew every app loop for this to have any effect
void setAutoReconnectOnFreeze(int deviceNumber, bool doReconnect, int numMissedFramesBeforeReconnect);
//Choose one of these four to setup your device
bool setupDevice(int deviceID);
bool setupDevice(int deviceID, int w, int h);
//These two are only for capture cards
//USB and Firewire cameras souldn't specify connection
bool setupDevice(int deviceID, int connection);
bool setupDevice(int deviceID, int w, int h, int connection);
//If you need to you can set your NTSC/PAL/SECAM
//preference here. if it is available it will be used.
//see #defines above for available formats - eg VI_NTSC_M or VI_PAL_B
//should be called after setupDevice
//can be called multiple times
bool setFormat(int deviceNumber, int format);
//Tells you when a new frame has arrived - you should call this if you have specified setAutoReconnectOnFreeze to true
bool isFrameNew(int deviceID);
bool isDeviceSetup(int deviceID);
//Returns the pixels - flipRedAndBlue toggles RGB/BGR flipping - and you can flip the image too
unsigned char * getPixels(int deviceID, bool flipRedAndBlue = true, bool flipImage = false);
//Or pass in a buffer for getPixels to fill returns true if successful.
bool getPixels(int id, unsigned char * pixels, bool flipRedAndBlue = true, bool flipImage = false);
//Launches a pop up settings window
//For some reason in GLUT you have to call it twice each time.
void showSettingsWindow(int deviceID);
//Manual control over settings thanks.....
//These are experimental for now.
bool setVideoSettingFilter(int deviceID, long Property, long lValue, long Flags = NULL, bool useDefaultValue = false);
bool setVideoSettingFilterPct(int deviceID, long Property, float pctValue, long Flags = NULL);
bool getVideoSettingFilter(int deviceID, long Property, long &min, long &max, long &SteppingDelta, long &currentValue, long &flags, long &defaultValue);
bool setVideoSettingCamera(int deviceID, long Property, long lValue, long Flags = NULL, bool useDefaultValue = false);
bool setVideoSettingCameraPct(int deviceID, long Property, float pctValue, long Flags = NULL);
bool getVideoSettingCamera(int deviceID, long Property, long &min, long &max, long &SteppingDelta, long &currentValue, long &flags, long &defaultValue);
//bool setVideoSettingCam(int deviceID, long Property, long lValue, long Flags = NULL, bool useDefaultValue = false);
//get width, height and number of pixels
int getWidth(int deviceID);
int getHeight(int deviceID);
int getSize(int deviceID);
//completely stops and frees a device
void stopDevice(int deviceID);
//as above but then sets it up with same settings
bool restartDevice(int deviceID);
//number of devices available
int devicesFound;
long propBrightness;
long propContrast;
long propHue;
long propSaturation;
long propSharpness;
long propGamma;
long propColorEnable;
long propWhiteBalance;
long propBacklightCompensation;
long propGain;
long propPan;
long propTilt;
long propRoll;
long propZoom;
long propExposure;
long propIris;
long propFocus;
private:
void setPhyCon(int deviceID, int conn);
void setAttemptCaptureSize(int deviceID, int w, int h);
bool setup(int deviceID);
void processPixels(unsigned char * src, unsigned char * dst, int width, int height, bool bRGB, bool bFlip);
int start(int deviceID, videoDevice * VD);
int getDeviceCount();
void getMediaSubtypeAsString(GUID type, char * typeAsString);
HRESULT getDevice(IBaseFilter **pSrcFilter, int deviceID, WCHAR * wDeviceName, char * nDeviceName);
static HRESULT ShowFilterPropertyPages(IBaseFilter *pFilter);
HRESULT SaveGraphFile(IGraphBuilder *pGraph, WCHAR *wszPath);
HRESULT routeCrossbar(ICaptureGraphBuilder2 **ppBuild, IBaseFilter **pVidInFilter, int conType, GUID captureMode);
//don't touch
static bool comInit();
static bool comUnInit();
int connection;
int callbackSetCount;
bool bCallback;
GUID CAPTURE_MODE;
//Extra video subtypes
GUID MEDIASUBTYPE_Y800;
GUID MEDIASUBTYPE_Y8;
GUID MEDIASUBTYPE_GREY;
videoDevice * VDList[VI_MAX_CAMERAS];
GUID mediaSubtypes[VI_NUM_TYPES];
long formatTypes[VI_NUM_FORMATS];
static void __cdecl basicThread(void * objPtr);
static char deviceNames[VI_MAX_CAMERAS][255];
};
#endif
-69
Ver Arquivo
@@ -1,69 +0,0 @@
# ----------------------------------------------------------------------------
# CMake file for opencv_lapack. See root CMakeLists.txt
#
# ----------------------------------------------------------------------------
if(ANDROID)
define_3rdparty_module(opencv_lapack)
else()
project(opencv_lapack)
# List of C++ files:
include_directories(
${CMAKE_CURRENT_SOURCE_DIR}
"${CMAKE_CURRENT_SOURCE_DIR}/../include"
${CMAKE_CURRENT_BINARY_DIR}
)
# The .cpp files:
file(GLOB lib_srcs *.c)
file(GLOB lib_hdrs *.h)
set(lib_ext_hdrs "../include/f2c.h" "../include/cblas.h" "../include/clapack.h")
# ----------------------------------------------------------------------------------
# Define the library target:
# ----------------------------------------------------------------------------------
set(the_target "opencv_lapack")
add_library(${the_target} STATIC ${lib_srcs} ${lib_hdrs} ${lib_ext_hdrs})
if(PCHSupport_FOUND)
set(pch_header ${CMAKE_CURRENT_SOURCE_DIR}/../include/clapack.h)
if(${CMAKE_GENERATOR} MATCHES "Visual*" OR ${CMAKE_GENERATOR} MATCHES "Xcode*")
if(${CMAKE_GENERATOR} MATCHES "Visual*")
set(${the_target}_pch "precomp.c")
endif()
add_native_precompiled_header(${the_target} ${pch_header})
#elseif(CMAKE_COMPILER_IS_GNUCXX AND ${CMAKE_GENERATOR} MATCHES ".*Makefiles")
# add_precompiled_header(${the_target} ${pch_header})
endif()
endif()
if(MSVC)
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()
endif()
if(CMAKE_COMPILER_IS_GNUCXX)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-parentheses -Wno-uninitialized -Wno-implicit-function-declaration -Wno-unused")
endif()
set_target_properties(${the_target}
PROPERTIES OUTPUT_NAME "${the_target}"
DEBUG_POSTFIX "${OPENCV_DEBUG_POSTFIX}"
ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/3rdparty/lib
)
if(NOT BUILD_SHARED_LIBS)
install(TARGETS ${the_target}
ARCHIVE DESTINATION share/opencv/3rdparty/lib COMPONENT main)
endif()
endif() #android
-36
Ver Arquivo
@@ -1,36 +0,0 @@
Copyright (c) 1992-2008 The University of Tennessee. All rights reserved.
$COPYRIGHT$
Additional copyrights may follow
$HEADER$
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
- Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
- Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer listed
in this license in the documentation and/or other materials
provided with the distribution.
- Neither the name of the copyright holders nor the names of its
contributors may be used to endorse or promote products derived from
this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-101
Ver Arquivo
@@ -1,101 +0,0 @@
/* dasum.f -- translated by f2c (version 20061008).
You must link the resulting object file with libf2c:
on Microsoft Windows system, link with libf2c.lib;
on Linux or Unix systems, link with .../path/to/libf2c.a -lm
or, if you install libf2c.a in a standard place, with -lf2c -lm
-- in that order, at the end of the command line, as in
cc *.o -lf2c -lm
Source for libf2c is in /netlib/f2c/libf2c.zip, e.g.,
http://www.netlib.org/f2c/libf2c.zip
*/
#include "clapack.h"
doublereal dasum_(integer *n, doublereal *dx, integer *incx)
{
/* System generated locals */
integer i__1, i__2;
doublereal ret_val, d__1, d__2, d__3, d__4, d__5, d__6;
/* Local variables */
integer i__, m, mp1;
doublereal dtemp;
integer nincx;
/* .. Scalar Arguments .. */
/* .. */
/* .. Array Arguments .. */
/* .. */
/* Purpose */
/* ======= */
/* takes the sum of the absolute values. */
/* jack dongarra, linpack, 3/11/78. */
/* modified 3/93 to return if incx .le. 0. */
/* modified 12/3/93, array(1) declarations changed to array(*) */
/* .. Local Scalars .. */
/* .. */
/* .. Intrinsic Functions .. */
/* .. */
/* Parameter adjustments */
--dx;
/* Function Body */
ret_val = 0.;
dtemp = 0.;
if (*n <= 0 || *incx <= 0) {
return ret_val;
}
if (*incx == 1) {
goto L20;
}
/* code for increment not equal to 1 */
nincx = *n * *incx;
i__1 = nincx;
i__2 = *incx;
for (i__ = 1; i__2 < 0 ? i__ >= i__1 : i__ <= i__1; i__ += i__2) {
dtemp += (d__1 = dx[i__], abs(d__1));
/* L10: */
}
ret_val = dtemp;
return ret_val;
/* code for increment equal to 1 */
/* clean-up loop */
L20:
m = *n % 6;
if (m == 0) {
goto L40;
}
i__2 = m;
for (i__ = 1; i__ <= i__2; ++i__) {
dtemp += (d__1 = dx[i__], abs(d__1));
/* L30: */
}
if (*n < 6) {
goto L60;
}
L40:
mp1 = m + 1;
i__2 = *n;
for (i__ = mp1; i__ <= i__2; i__ += 6) {
dtemp = dtemp + (d__1 = dx[i__], abs(d__1)) + (d__2 = dx[i__ + 1],
abs(d__2)) + (d__3 = dx[i__ + 2], abs(d__3)) + (d__4 = dx[i__
+ 3], abs(d__4)) + (d__5 = dx[i__ + 4], abs(d__5)) + (d__6 =
dx[i__ + 5], abs(d__6));
/* L50: */
}
L60:
ret_val = dtemp;
return ret_val;
} /* dasum_ */
-107
Ver Arquivo
@@ -1,107 +0,0 @@
/* daxpy.f -- translated by f2c (version 20061008).
You must link the resulting object file with libf2c:
on Microsoft Windows system, link with libf2c.lib;
on Linux or Unix systems, link with .../path/to/libf2c.a -lm
or, if you install libf2c.a in a standard place, with -lf2c -lm
-- in that order, at the end of the command line, as in
cc *.o -lf2c -lm
Source for libf2c is in /netlib/f2c/libf2c.zip, e.g.,
http://www.netlib.org/f2c/libf2c.zip
*/
#include "clapack.h"
/* Subroutine */ int daxpy_(integer *n, doublereal *da, doublereal *dx,
integer *incx, doublereal *dy, integer *incy)
{
/* System generated locals */
integer i__1;
/* Local variables */
integer i__, m, ix, iy, mp1;
/* .. Scalar Arguments .. */
/* .. */
/* .. Array Arguments .. */
/* .. */
/* Purpose */
/* ======= */
/* constant times a vector plus a vector. */
/* uses unrolled loops for increments equal to one. */
/* jack dongarra, linpack, 3/11/78. */
/* modified 12/3/93, array(1) declarations changed to array(*) */
/* .. Local Scalars .. */
/* .. */
/* .. Intrinsic Functions .. */
/* .. */
/* Parameter adjustments */
--dy;
--dx;
/* Function Body */
if (*n <= 0) {
return 0;
}
if (*da == 0.) {
return 0;
}
if (*incx == 1 && *incy == 1) {
goto L20;
}
/* code for unequal increments or equal increments */
/* not equal to 1 */
ix = 1;
iy = 1;
if (*incx < 0) {
ix = (-(*n) + 1) * *incx + 1;
}
if (*incy < 0) {
iy = (-(*n) + 1) * *incy + 1;
}
i__1 = *n;
for (i__ = 1; i__ <= i__1; ++i__) {
dy[iy] += *da * dx[ix];
ix += *incx;
iy += *incy;
/* L10: */
}
return 0;
/* code for both increments equal to 1 */
/* clean-up loop */
L20:
m = *n % 4;
if (m == 0) {
goto L40;
}
i__1 = m;
for (i__ = 1; i__ <= i__1; ++i__) {
dy[i__] += *da * dx[i__];
/* L30: */
}
if (*n < 4) {
return 0;
}
L40:
mp1 = m + 1;
i__1 = *n;
for (i__ = mp1; i__ <= i__1; i__ += 4) {
dy[i__] += *da * dx[i__];
dy[i__ + 1] += *da * dx[i__ + 1];
dy[i__ + 2] += *da * dx[i__ + 2];
dy[i__ + 3] += *da * dx[i__ + 3];
/* L50: */
}
return 0;
} /* daxpy_ */
-514
Ver Arquivo
@@ -1,514 +0,0 @@
/* dbdsdc.f -- translated by f2c (version 20061008).
You must link the resulting object file with libf2c:
on Microsoft Windows system, link with libf2c.lib;
on Linux or Unix systems, link with .../path/to/libf2c.a -lm
or, if you install libf2c.a in a standard place, with -lf2c -lm
-- in that order, at the end of the command line, as in
cc *.o -lf2c -lm
Source for libf2c is in /netlib/f2c/libf2c.zip, e.g.,
http://www.netlib.org/f2c/libf2c.zip
*/
#include "clapack.h"
/* Table of constant values */
static integer c__9 = 9;
static integer c__0 = 0;
static doublereal c_b15 = 1.;
static integer c__1 = 1;
static doublereal c_b29 = 0.;
/* Subroutine */ int dbdsdc_(char *uplo, char *compq, integer *n, doublereal *
d__, doublereal *e, doublereal *u, integer *ldu, doublereal *vt,
integer *ldvt, doublereal *q, integer *iq, doublereal *work, integer *
iwork, integer *info)
{
/* System generated locals */
integer u_dim1, u_offset, vt_dim1, vt_offset, i__1, i__2;
doublereal d__1;
/* Builtin functions */
double d_sign(doublereal *, doublereal *), log(doublereal);
/* Local variables */
integer i__, j, k;
doublereal p, r__;
integer z__, ic, ii, kk;
doublereal cs;
integer is, iu;
doublereal sn;
integer nm1;
doublereal eps;
integer ivt, difl, difr, ierr, perm, mlvl, sqre;
extern logical lsame_(char *, char *);
extern /* Subroutine */ int dlasr_(char *, char *, char *, integer *,
integer *, doublereal *, doublereal *, doublereal *, integer *), dcopy_(integer *, doublereal *, integer *
, doublereal *, integer *), dswap_(integer *, doublereal *,
integer *, doublereal *, integer *);
integer poles, iuplo, nsize, start;
extern /* Subroutine */ int dlasd0_(integer *, integer *, doublereal *,
doublereal *, doublereal *, integer *, doublereal *, integer *,
integer *, integer *, doublereal *, integer *);
extern doublereal dlamch_(char *);
extern /* Subroutine */ int dlasda_(integer *, integer *, integer *,
integer *, doublereal *, doublereal *, doublereal *, integer *,
doublereal *, integer *, doublereal *, doublereal *, doublereal *,
doublereal *, integer *, integer *, integer *, integer *,
doublereal *, doublereal *, doublereal *, doublereal *, integer *,
integer *), dlascl_(char *, integer *, integer *, doublereal *,
doublereal *, integer *, integer *, doublereal *, integer *,
integer *), dlasdq_(char *, integer *, integer *, integer
*, integer *, integer *, doublereal *, doublereal *, doublereal *,
integer *, doublereal *, integer *, doublereal *, integer *,
doublereal *, integer *), dlaset_(char *, integer *,
integer *, doublereal *, doublereal *, doublereal *, integer *), dlartg_(doublereal *, doublereal *, doublereal *,
doublereal *, doublereal *);
extern integer ilaenv_(integer *, char *, char *, integer *, integer *,
integer *, integer *);
extern /* Subroutine */ int xerbla_(char *, integer *);
integer givcol;
extern doublereal dlanst_(char *, integer *, doublereal *, doublereal *);
integer icompq;
doublereal orgnrm;
integer givnum, givptr, qstart, smlsiz, wstart, smlszp;
/* -- LAPACK routine (version 3.2) -- */
/* Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. */
/* November 2006 */
/* .. Scalar Arguments .. */
/* .. */
/* .. Array Arguments .. */
/* .. */
/* Purpose */
/* ======= */
/* DBDSDC computes the singular value decomposition (SVD) of a real */
/* N-by-N (upper or lower) bidiagonal matrix B: B = U * S * VT, */
/* using a divide and conquer method, where S is a diagonal matrix */
/* with non-negative diagonal elements (the singular values of B), and */
/* U and VT are orthogonal matrices of left and right singular vectors, */
/* respectively. DBDSDC can be used to compute all singular values, */
/* and optionally, singular vectors or singular vectors in compact form. */
/* This code makes very mild assumptions about floating point */
/* arithmetic. It will work on machines with a guard digit in */
/* add/subtract, or on those binary machines without guard digits */
/* which subtract like the Cray X-MP, Cray Y-MP, Cray C-90, or Cray-2. */
/* It could conceivably fail on hexadecimal or decimal machines */
/* without guard digits, but we know of none. See DLASD3 for details. */
/* The code currently calls DLASDQ if singular values only are desired. */
/* However, it can be slightly modified to compute singular values */
/* using the divide and conquer method. */
/* Arguments */
/* ========= */
/* UPLO (input) CHARACTER*1 */
/* = 'U': B is upper bidiagonal. */
/* = 'L': B is lower bidiagonal. */
/* COMPQ (input) CHARACTER*1 */
/* Specifies whether singular vectors are to be computed */
/* as follows: */
/* = 'N': Compute singular values only; */
/* = 'P': Compute singular values and compute singular */
/* vectors in compact form; */
/* = 'I': Compute singular values and singular vectors. */
/* N (input) INTEGER */
/* The order of the matrix B. N >= 0. */
/* D (input/output) DOUBLE PRECISION array, dimension (N) */
/* On entry, the n diagonal elements of the bidiagonal matrix B. */
/* On exit, if INFO=0, the singular values of B. */
/* E (input/output) DOUBLE PRECISION array, dimension (N-1) */
/* On entry, the elements of E contain the offdiagonal */
/* elements of the bidiagonal matrix whose SVD is desired. */
/* On exit, E has been destroyed. */
/* U (output) DOUBLE PRECISION array, dimension (LDU,N) */
/* If COMPQ = 'I', then: */
/* On exit, if INFO = 0, U contains the left singular vectors */
/* of the bidiagonal matrix. */
/* For other values of COMPQ, U is not referenced. */
/* LDU (input) INTEGER */
/* The leading dimension of the array U. LDU >= 1. */
/* If singular vectors are desired, then LDU >= max( 1, N ). */
/* VT (output) DOUBLE PRECISION array, dimension (LDVT,N) */
/* If COMPQ = 'I', then: */
/* On exit, if INFO = 0, VT' contains the right singular */
/* vectors of the bidiagonal matrix. */
/* For other values of COMPQ, VT is not referenced. */
/* LDVT (input) INTEGER */
/* The leading dimension of the array VT. LDVT >= 1. */
/* If singular vectors are desired, then LDVT >= max( 1, N ). */
/* Q (output) DOUBLE PRECISION array, dimension (LDQ) */
/* If COMPQ = 'P', then: */
/* On exit, if INFO = 0, Q and IQ contain the left */
/* and right singular vectors in a compact form, */
/* requiring O(N log N) space instead of 2*N**2. */
/* In particular, Q contains all the DOUBLE PRECISION data in */
/* LDQ >= N*(11 + 2*SMLSIZ + 8*INT(LOG_2(N/(SMLSIZ+1)))) */
/* words of memory, where SMLSIZ is returned by ILAENV and */
/* is equal to the maximum size of the subproblems at the */
/* bottom of the computation tree (usually about 25). */
/* For other values of COMPQ, Q is not referenced. */
/* IQ (output) INTEGER array, dimension (LDIQ) */
/* If COMPQ = 'P', then: */
/* On exit, if INFO = 0, Q and IQ contain the left */
/* and right singular vectors in a compact form, */
/* requiring O(N log N) space instead of 2*N**2. */
/* In particular, IQ contains all INTEGER data in */
/* LDIQ >= N*(3 + 3*INT(LOG_2(N/(SMLSIZ+1)))) */
/* words of memory, where SMLSIZ is returned by ILAENV and */
/* is equal to the maximum size of the subproblems at the */
/* bottom of the computation tree (usually about 25). */
/* For other values of COMPQ, IQ is not referenced. */
/* WORK (workspace) DOUBLE PRECISION array, dimension (MAX(1,LWORK)) */
/* If COMPQ = 'N' then LWORK >= (4 * N). */
/* If COMPQ = 'P' then LWORK >= (6 * N). */
/* If COMPQ = 'I' then LWORK >= (3 * N**2 + 4 * N). */
/* IWORK (workspace) INTEGER array, dimension (8*N) */
/* INFO (output) INTEGER */
/* = 0: successful exit. */
/* < 0: if INFO = -i, the i-th argument had an illegal value. */
/* > 0: The algorithm failed to compute an singular value. */
/* The update process of divide and conquer failed. */
/* Further Details */
/* =============== */
/* Based on contributions by */
/* Ming Gu and Huan Ren, Computer Science Division, University of */
/* California at Berkeley, USA */
/* ===================================================================== */
/* Changed dimension statement in comment describing E from (N) to */
/* (N-1). Sven, 17 Feb 05. */
/* ===================================================================== */
/* .. Parameters .. */
/* .. */
/* .. Local Scalars .. */
/* .. */
/* .. External Functions .. */
/* .. */
/* .. External Subroutines .. */
/* .. */
/* .. Intrinsic Functions .. */
/* .. */
/* .. Executable Statements .. */
/* Test the input parameters. */
/* Parameter adjustments */
--d__;
--e;
u_dim1 = *ldu;
u_offset = 1 + u_dim1;
u -= u_offset;
vt_dim1 = *ldvt;
vt_offset = 1 + vt_dim1;
vt -= vt_offset;
--q;
--iq;
--work;
--iwork;
/* Function Body */
*info = 0;
iuplo = 0;
if (lsame_(uplo, "U")) {
iuplo = 1;
}
if (lsame_(uplo, "L")) {
iuplo = 2;
}
if (lsame_(compq, "N")) {
icompq = 0;
} else if (lsame_(compq, "P")) {
icompq = 1;
} else if (lsame_(compq, "I")) {
icompq = 2;
} else {
icompq = -1;
}
if (iuplo == 0) {
*info = -1;
} else if (icompq < 0) {
*info = -2;
} else if (*n < 0) {
*info = -3;
} else if (*ldu < 1 || icompq == 2 && *ldu < *n) {
*info = -7;
} else if (*ldvt < 1 || icompq == 2 && *ldvt < *n) {
*info = -9;
}
if (*info != 0) {
i__1 = -(*info);
xerbla_("DBDSDC", &i__1);
return 0;
}
/* Quick return if possible */
if (*n == 0) {
return 0;
}
smlsiz = ilaenv_(&c__9, "DBDSDC", " ", &c__0, &c__0, &c__0, &c__0);
if (*n == 1) {
if (icompq == 1) {
q[1] = d_sign(&c_b15, &d__[1]);
q[smlsiz * *n + 1] = 1.;
} else if (icompq == 2) {
u[u_dim1 + 1] = d_sign(&c_b15, &d__[1]);
vt[vt_dim1 + 1] = 1.;
}
d__[1] = abs(d__[1]);
return 0;
}
nm1 = *n - 1;
/* If matrix lower bidiagonal, rotate to be upper bidiagonal */
/* by applying Givens rotations on the left */
wstart = 1;
qstart = 3;
if (icompq == 1) {
dcopy_(n, &d__[1], &c__1, &q[1], &c__1);
i__1 = *n - 1;
dcopy_(&i__1, &e[1], &c__1, &q[*n + 1], &c__1);
}
if (iuplo == 2) {
qstart = 5;
wstart = (*n << 1) - 1;
i__1 = *n - 1;
for (i__ = 1; i__ <= i__1; ++i__) {
dlartg_(&d__[i__], &e[i__], &cs, &sn, &r__);
d__[i__] = r__;
e[i__] = sn * d__[i__ + 1];
d__[i__ + 1] = cs * d__[i__ + 1];
if (icompq == 1) {
q[i__ + (*n << 1)] = cs;
q[i__ + *n * 3] = sn;
} else if (icompq == 2) {
work[i__] = cs;
work[nm1 + i__] = -sn;
}
/* L10: */
}
}
/* If ICOMPQ = 0, use DLASDQ to compute the singular values. */
if (icompq == 0) {
dlasdq_("U", &c__0, n, &c__0, &c__0, &c__0, &d__[1], &e[1], &vt[
vt_offset], ldvt, &u[u_offset], ldu, &u[u_offset], ldu, &work[
wstart], info);
goto L40;
}
/* If N is smaller than the minimum divide size SMLSIZ, then solve */
/* the problem with another solver. */
if (*n <= smlsiz) {
if (icompq == 2) {
dlaset_("A", n, n, &c_b29, &c_b15, &u[u_offset], ldu);
dlaset_("A", n, n, &c_b29, &c_b15, &vt[vt_offset], ldvt);
dlasdq_("U", &c__0, n, n, n, &c__0, &d__[1], &e[1], &vt[vt_offset]
, ldvt, &u[u_offset], ldu, &u[u_offset], ldu, &work[
wstart], info);
} else if (icompq == 1) {
iu = 1;
ivt = iu + *n;
dlaset_("A", n, n, &c_b29, &c_b15, &q[iu + (qstart - 1) * *n], n);
dlaset_("A", n, n, &c_b29, &c_b15, &q[ivt + (qstart - 1) * *n], n);
dlasdq_("U", &c__0, n, n, n, &c__0, &d__[1], &e[1], &q[ivt + (
qstart - 1) * *n], n, &q[iu + (qstart - 1) * *n], n, &q[
iu + (qstart - 1) * *n], n, &work[wstart], info);
}
goto L40;
}
if (icompq == 2) {
dlaset_("A", n, n, &c_b29, &c_b15, &u[u_offset], ldu);
dlaset_("A", n, n, &c_b29, &c_b15, &vt[vt_offset], ldvt);
}
/* Scale. */
orgnrm = dlanst_("M", n, &d__[1], &e[1]);
if (orgnrm == 0.) {
return 0;
}
dlascl_("G", &c__0, &c__0, &orgnrm, &c_b15, n, &c__1, &d__[1], n, &ierr);
dlascl_("G", &c__0, &c__0, &orgnrm, &c_b15, &nm1, &c__1, &e[1], &nm1, &
ierr);
eps = dlamch_("Epsilon");
mlvl = (integer) (log((doublereal) (*n) / (doublereal) (smlsiz + 1)) /
log(2.)) + 1;
smlszp = smlsiz + 1;
if (icompq == 1) {
iu = 1;
ivt = smlsiz + 1;
difl = ivt + smlszp;
difr = difl + mlvl;
z__ = difr + (mlvl << 1);
ic = z__ + mlvl;
is = ic + 1;
poles = is + 1;
givnum = poles + (mlvl << 1);
k = 1;
givptr = 2;
perm = 3;
givcol = perm + mlvl;
}
i__1 = *n;
for (i__ = 1; i__ <= i__1; ++i__) {
if ((d__1 = d__[i__], abs(d__1)) < eps) {
d__[i__] = d_sign(&eps, &d__[i__]);
}
/* L20: */
}
start = 1;
sqre = 0;
i__1 = nm1;
for (i__ = 1; i__ <= i__1; ++i__) {
if ((d__1 = e[i__], abs(d__1)) < eps || i__ == nm1) {
/* Subproblem found. First determine its size and then */
/* apply divide and conquer on it. */
if (i__ < nm1) {
/* A subproblem with E(I) small for I < NM1. */
nsize = i__ - start + 1;
} else if ((d__1 = e[i__], abs(d__1)) >= eps) {
/* A subproblem with E(NM1) not too small but I = NM1. */
nsize = *n - start + 1;
} else {
/* A subproblem with E(NM1) small. This implies an */
/* 1-by-1 subproblem at D(N). Solve this 1-by-1 problem */
/* first. */
nsize = i__ - start + 1;
if (icompq == 2) {
u[*n + *n * u_dim1] = d_sign(&c_b15, &d__[*n]);
vt[*n + *n * vt_dim1] = 1.;
} else if (icompq == 1) {
q[*n + (qstart - 1) * *n] = d_sign(&c_b15, &d__[*n]);
q[*n + (smlsiz + qstart - 1) * *n] = 1.;
}
d__[*n] = (d__1 = d__[*n], abs(d__1));
}
if (icompq == 2) {
dlasd0_(&nsize, &sqre, &d__[start], &e[start], &u[start +
start * u_dim1], ldu, &vt[start + start * vt_dim1],
ldvt, &smlsiz, &iwork[1], &work[wstart], info);
} else {
dlasda_(&icompq, &smlsiz, &nsize, &sqre, &d__[start], &e[
start], &q[start + (iu + qstart - 2) * *n], n, &q[
start + (ivt + qstart - 2) * *n], &iq[start + k * *n],
&q[start + (difl + qstart - 2) * *n], &q[start + (
difr + qstart - 2) * *n], &q[start + (z__ + qstart -
2) * *n], &q[start + (poles + qstart - 2) * *n], &iq[
start + givptr * *n], &iq[start + givcol * *n], n, &
iq[start + perm * *n], &q[start + (givnum + qstart -
2) * *n], &q[start + (ic + qstart - 2) * *n], &q[
start + (is + qstart - 2) * *n], &work[wstart], &
iwork[1], info);
if (*info != 0) {
return 0;
}
}
start = i__ + 1;
}
/* L30: */
}
/* Unscale */
dlascl_("G", &c__0, &c__0, &c_b15, &orgnrm, n, &c__1, &d__[1], n, &ierr);
L40:
/* Use Selection Sort to minimize swaps of singular vectors */
i__1 = *n;
for (ii = 2; ii <= i__1; ++ii) {
i__ = ii - 1;
kk = i__;
p = d__[i__];
i__2 = *n;
for (j = ii; j <= i__2; ++j) {
if (d__[j] > p) {
kk = j;
p = d__[j];
}
/* L50: */
}
if (kk != i__) {
d__[kk] = d__[i__];
d__[i__] = p;
if (icompq == 1) {
iq[i__] = kk;
} else if (icompq == 2) {
dswap_(n, &u[i__ * u_dim1 + 1], &c__1, &u[kk * u_dim1 + 1], &
c__1);
dswap_(n, &vt[i__ + vt_dim1], ldvt, &vt[kk + vt_dim1], ldvt);
}
} else if (icompq == 1) {
iq[i__] = i__;
}
/* L60: */
}
/* If ICOMPQ = 1, use IQ(N,1) as the indicator for UPLO */
if (icompq == 1) {
if (iuplo == 1) {
iq[*n] = 1;
} else {
iq[*n] = 0;
}
}
/* If B is lower bidiagonal, update U by those Givens rotations */
/* which rotated B to be upper bidiagonal */
if (iuplo == 2 && icompq == 2) {
dlasr_("L", "V", "B", n, n, &work[1], &work[*n], &u[u_offset], ldu);
}
return 0;
/* End of DBDSDC */
} /* dbdsdc_ */
-918
Ver Arquivo
@@ -1,918 +0,0 @@
/* dbdsqr.f -- translated by f2c (version 20061008).
You must link the resulting object file with libf2c:
on Microsoft Windows system, link with libf2c.lib;
on Linux or Unix systems, link with .../path/to/libf2c.a -lm
or, if you install libf2c.a in a standard place, with -lf2c -lm
-- in that order, at the end of the command line, as in
cc *.o -lf2c -lm
Source for libf2c is in /netlib/f2c/libf2c.zip, e.g.,
http://www.netlib.org/f2c/libf2c.zip
*/
#include "clapack.h"
/* Table of constant values */
static doublereal c_b15 = -.125;
static integer c__1 = 1;
static doublereal c_b49 = 1.;
static doublereal c_b72 = -1.;
/* Subroutine */ int dbdsqr_(char *uplo, integer *n, integer *ncvt, integer *
nru, integer *ncc, doublereal *d__, doublereal *e, doublereal *vt,
integer *ldvt, doublereal *u, integer *ldu, doublereal *c__, integer *
ldc, doublereal *work, integer *info)
{
/* System generated locals */
integer c_dim1, c_offset, u_dim1, u_offset, vt_dim1, vt_offset, i__1,
i__2;
doublereal d__1, d__2, d__3, d__4;
/* Builtin functions */
double pow_dd(doublereal *, doublereal *), sqrt(doublereal), d_sign(
doublereal *, doublereal *);
/* Local variables */
doublereal f, g, h__;
integer i__, j, m;
doublereal r__, cs;
integer ll;
doublereal sn, mu;
integer nm1, nm12, nm13, lll;
doublereal eps, sll, tol, abse;
integer idir;
doublereal abss;
integer oldm;
doublereal cosl;
integer isub, iter;
doublereal unfl, sinl, cosr, smin, smax, sinr;
extern /* Subroutine */ int drot_(integer *, doublereal *, integer *,
doublereal *, integer *, doublereal *, doublereal *), dlas2_(
doublereal *, doublereal *, doublereal *, doublereal *,
doublereal *), dscal_(integer *, doublereal *, doublereal *,
integer *);
extern logical lsame_(char *, char *);
doublereal oldcs;
extern /* Subroutine */ int dlasr_(char *, char *, char *, integer *,
integer *, doublereal *, doublereal *, doublereal *, integer *);
integer oldll;
doublereal shift, sigmn, oldsn;
extern /* Subroutine */ int dswap_(integer *, doublereal *, integer *,
doublereal *, integer *);
integer maxit;
doublereal sminl, sigmx;
logical lower;
extern /* Subroutine */ int dlasq1_(integer *, doublereal *, doublereal *,
doublereal *, integer *), dlasv2_(doublereal *, doublereal *,
doublereal *, doublereal *, doublereal *, doublereal *,
doublereal *, doublereal *, doublereal *);
extern doublereal dlamch_(char *);
extern /* Subroutine */ int dlartg_(doublereal *, doublereal *,
doublereal *, doublereal *, doublereal *), xerbla_(char *,
integer *);
doublereal sminoa, thresh;
logical rotate;
doublereal tolmul;
/* -- LAPACK routine (version 3.2) -- */
/* Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. */
/* January 2007 */
/* .. Scalar Arguments .. */
/* .. */
/* .. Array Arguments .. */
/* .. */
/* Purpose */
/* ======= */
/* DBDSQR computes the singular values and, optionally, the right and/or */
/* left singular vectors from the singular value decomposition (SVD) of */
/* a real N-by-N (upper or lower) bidiagonal matrix B using the implicit */
/* zero-shift QR algorithm. The SVD of B has the form */
/* B = Q * S * P**T */
/* where S is the diagonal matrix of singular values, Q is an orthogonal */
/* matrix of left singular vectors, and P is an orthogonal matrix of */
/* right singular vectors. If left singular vectors are requested, this */
/* subroutine actually returns U*Q instead of Q, and, if right singular */
/* vectors are requested, this subroutine returns P**T*VT instead of */
/* P**T, for given real input matrices U and VT. When U and VT are the */
/* orthogonal matrices that reduce a general matrix A to bidiagonal */
/* form: A = U*B*VT, as computed by DGEBRD, then */
/* A = (U*Q) * S * (P**T*VT) */
/* is the SVD of A. Optionally, the subroutine may also compute Q**T*C */
/* for a given real input matrix C. */
/* See "Computing Small Singular Values of Bidiagonal Matrices With */
/* Guaranteed High Relative Accuracy," by J. Demmel and W. Kahan, */
/* LAPACK Working Note #3 (or SIAM J. Sci. Statist. Comput. vol. 11, */
/* no. 5, pp. 873-912, Sept 1990) and */
/* "Accurate singular values and differential qd algorithms," by */
/* B. Parlett and V. Fernando, Technical Report CPAM-554, Mathematics */
/* Department, University of California at Berkeley, July 1992 */
/* for a detailed description of the algorithm. */
/* Arguments */
/* ========= */
/* UPLO (input) CHARACTER*1 */
/* = 'U': B is upper bidiagonal; */
/* = 'L': B is lower bidiagonal. */
/* N (input) INTEGER */
/* The order of the matrix B. N >= 0. */
/* NCVT (input) INTEGER */
/* The number of columns of the matrix VT. NCVT >= 0. */
/* NRU (input) INTEGER */
/* The number of rows of the matrix U. NRU >= 0. */
/* NCC (input) INTEGER */
/* The number of columns of the matrix C. NCC >= 0. */
/* D (input/output) DOUBLE PRECISION array, dimension (N) */
/* On entry, the n diagonal elements of the bidiagonal matrix B. */
/* On exit, if INFO=0, the singular values of B in decreasing */
/* order. */
/* E (input/output) DOUBLE PRECISION array, dimension (N-1) */
/* On entry, the N-1 offdiagonal elements of the bidiagonal */
/* matrix B. */
/* On exit, if INFO = 0, E is destroyed; if INFO > 0, D and E */
/* will contain the diagonal and superdiagonal elements of a */
/* bidiagonal matrix orthogonally equivalent to the one given */
/* as input. */
/* VT (input/output) DOUBLE PRECISION array, dimension (LDVT, NCVT) */
/* On entry, an N-by-NCVT matrix VT. */
/* On exit, VT is overwritten by P**T * VT. */
/* Not referenced if NCVT = 0. */
/* LDVT (input) INTEGER */
/* The leading dimension of the array VT. */
/* LDVT >= max(1,N) if NCVT > 0; LDVT >= 1 if NCVT = 0. */
/* U (input/output) DOUBLE PRECISION array, dimension (LDU, N) */
/* On entry, an NRU-by-N matrix U. */
/* On exit, U is overwritten by U * Q. */
/* Not referenced if NRU = 0. */
/* LDU (input) INTEGER */
/* The leading dimension of the array U. LDU >= max(1,NRU). */
/* C (input/output) DOUBLE PRECISION array, dimension (LDC, NCC) */
/* On entry, an N-by-NCC matrix C. */
/* On exit, C is overwritten by Q**T * C. */
/* Not referenced if NCC = 0. */
/* LDC (input) INTEGER */
/* The leading dimension of the array C. */
/* LDC >= max(1,N) if NCC > 0; LDC >=1 if NCC = 0. */
/* WORK (workspace) DOUBLE PRECISION array, dimension (4*N) */
/* INFO (output) INTEGER */
/* = 0: successful exit */
/* < 0: If INFO = -i, the i-th argument had an illegal value */
/* > 0: */
/* if NCVT = NRU = NCC = 0, */
/* = 1, a split was marked by a positive value in E */
/* = 2, current block of Z not diagonalized after 30*N */
/* iterations (in inner while loop) */
/* = 3, termination criterion of outer while loop not met */
/* (program created more than N unreduced blocks) */
/* else NCVT = NRU = NCC = 0, */
/* the algorithm did not converge; D and E contain the */
/* elements of a bidiagonal matrix which is orthogonally */
/* similar to the input matrix B; if INFO = i, i */
/* elements of E have not converged to zero. */
/* Internal Parameters */
/* =================== */
/* TOLMUL DOUBLE PRECISION, default = max(10,min(100,EPS**(-1/8))) */
/* TOLMUL controls the convergence criterion of the QR loop. */
/* If it is positive, TOLMUL*EPS is the desired relative */
/* precision in the computed singular values. */
/* If it is negative, abs(TOLMUL*EPS*sigma_max) is the */
/* desired absolute accuracy in the computed singular */
/* values (corresponds to relative accuracy */
/* abs(TOLMUL*EPS) in the largest singular value. */
/* abs(TOLMUL) should be between 1 and 1/EPS, and preferably */
/* between 10 (for fast convergence) and .1/EPS */
/* (for there to be some accuracy in the results). */
/* Default is to lose at either one eighth or 2 of the */
/* available decimal digits in each computed singular value */
/* (whichever is smaller). */
/* MAXITR INTEGER, default = 6 */
/* MAXITR controls the maximum number of passes of the */
/* algorithm through its inner loop. The algorithms stops */
/* (and so fails to converge) if the number of passes */
/* through the inner loop exceeds MAXITR*N**2. */
/* ===================================================================== */
/* .. Parameters .. */
/* .. */
/* .. Local Scalars .. */
/* .. */
/* .. External Functions .. */
/* .. */
/* .. External Subroutines .. */
/* .. */
/* .. Intrinsic Functions .. */
/* .. */
/* .. Executable Statements .. */
/* Test the input parameters. */
/* Parameter adjustments */
--d__;
--e;
vt_dim1 = *ldvt;
vt_offset = 1 + vt_dim1;
vt -= vt_offset;
u_dim1 = *ldu;
u_offset = 1 + u_dim1;
u -= u_offset;
c_dim1 = *ldc;
c_offset = 1 + c_dim1;
c__ -= c_offset;
--work;
/* Function Body */
*info = 0;
lower = lsame_(uplo, "L");
if (! lsame_(uplo, "U") && ! lower) {
*info = -1;
} else if (*n < 0) {
*info = -2;
} else if (*ncvt < 0) {
*info = -3;
} else if (*nru < 0) {
*info = -4;
} else if (*ncc < 0) {
*info = -5;
} else if (*ncvt == 0 && *ldvt < 1 || *ncvt > 0 && *ldvt < max(1,*n)) {
*info = -9;
} else if (*ldu < max(1,*nru)) {
*info = -11;
} else if (*ncc == 0 && *ldc < 1 || *ncc > 0 && *ldc < max(1,*n)) {
*info = -13;
}
if (*info != 0) {
i__1 = -(*info);
xerbla_("DBDSQR", &i__1);
return 0;
}
if (*n == 0) {
return 0;
}
if (*n == 1) {
goto L160;
}
/* ROTATE is true if any singular vectors desired, false otherwise */
rotate = *ncvt > 0 || *nru > 0 || *ncc > 0;
/* If no singular vectors desired, use qd algorithm */
if (! rotate) {
dlasq1_(n, &d__[1], &e[1], &work[1], info);
return 0;
}
nm1 = *n - 1;
nm12 = nm1 + nm1;
nm13 = nm12 + nm1;
idir = 0;
/* Get machine constants */
eps = dlamch_("Epsilon");
unfl = dlamch_("Safe minimum");
/* If matrix lower bidiagonal, rotate to be upper bidiagonal */
/* by applying Givens rotations on the left */
if (lower) {
i__1 = *n - 1;
for (i__ = 1; i__ <= i__1; ++i__) {
dlartg_(&d__[i__], &e[i__], &cs, &sn, &r__);
d__[i__] = r__;
e[i__] = sn * d__[i__ + 1];
d__[i__ + 1] = cs * d__[i__ + 1];
work[i__] = cs;
work[nm1 + i__] = sn;
/* L10: */
}
/* Update singular vectors if desired */
if (*nru > 0) {
dlasr_("R", "V", "F", nru, n, &work[1], &work[*n], &u[u_offset],
ldu);
}
if (*ncc > 0) {
dlasr_("L", "V", "F", n, ncc, &work[1], &work[*n], &c__[c_offset],
ldc);
}
}
/* Compute singular values to relative accuracy TOL */
/* (By setting TOL to be negative, algorithm will compute */
/* singular values to absolute accuracy ABS(TOL)*norm(input matrix)) */
/* Computing MAX */
/* Computing MIN */
d__3 = 100., d__4 = pow_dd(&eps, &c_b15);
d__1 = 10., d__2 = min(d__3,d__4);
tolmul = max(d__1,d__2);
tol = tolmul * eps;
/* Compute approximate maximum, minimum singular values */
smax = 0.;
i__1 = *n;
for (i__ = 1; i__ <= i__1; ++i__) {
/* Computing MAX */
d__2 = smax, d__3 = (d__1 = d__[i__], abs(d__1));
smax = max(d__2,d__3);
/* L20: */
}
i__1 = *n - 1;
for (i__ = 1; i__ <= i__1; ++i__) {
/* Computing MAX */
d__2 = smax, d__3 = (d__1 = e[i__], abs(d__1));
smax = max(d__2,d__3);
/* L30: */
}
sminl = 0.;
if (tol >= 0.) {
/* Relative accuracy desired */
sminoa = abs(d__[1]);
if (sminoa == 0.) {
goto L50;
}
mu = sminoa;
i__1 = *n;
for (i__ = 2; i__ <= i__1; ++i__) {
mu = (d__2 = d__[i__], abs(d__2)) * (mu / (mu + (d__1 = e[i__ - 1]
, abs(d__1))));
sminoa = min(sminoa,mu);
if (sminoa == 0.) {
goto L50;
}
/* L40: */
}
L50:
sminoa /= sqrt((doublereal) (*n));
/* Computing MAX */
d__1 = tol * sminoa, d__2 = *n * 6 * *n * unfl;
thresh = max(d__1,d__2);
} else {
/* Absolute accuracy desired */
/* Computing MAX */
d__1 = abs(tol) * smax, d__2 = *n * 6 * *n * unfl;
thresh = max(d__1,d__2);
}
/* Prepare for main iteration loop for the singular values */
/* (MAXIT is the maximum number of passes through the inner */
/* loop permitted before nonconvergence signalled.) */
maxit = *n * 6 * *n;
iter = 0;
oldll = -1;
oldm = -1;
/* M points to last element of unconverged part of matrix */
m = *n;
/* Begin main iteration loop */
L60:
/* Check for convergence or exceeding iteration count */
if (m <= 1) {
goto L160;
}
if (iter > maxit) {
goto L200;
}
/* Find diagonal block of matrix to work on */
if (tol < 0. && (d__1 = d__[m], abs(d__1)) <= thresh) {
d__[m] = 0.;
}
smax = (d__1 = d__[m], abs(d__1));
smin = smax;
i__1 = m - 1;
for (lll = 1; lll <= i__1; ++lll) {
ll = m - lll;
abss = (d__1 = d__[ll], abs(d__1));
abse = (d__1 = e[ll], abs(d__1));
if (tol < 0. && abss <= thresh) {
d__[ll] = 0.;
}
if (abse <= thresh) {
goto L80;
}
smin = min(smin,abss);
/* Computing MAX */
d__1 = max(smax,abss);
smax = max(d__1,abse);
/* L70: */
}
ll = 0;
goto L90;
L80:
e[ll] = 0.;
/* Matrix splits since E(LL) = 0 */
if (ll == m - 1) {
/* Convergence of bottom singular value, return to top of loop */
--m;
goto L60;
}
L90:
++ll;
/* E(LL) through E(M-1) are nonzero, E(LL-1) is zero */
if (ll == m - 1) {
/* 2 by 2 block, handle separately */
dlasv2_(&d__[m - 1], &e[m - 1], &d__[m], &sigmn, &sigmx, &sinr, &cosr,
&sinl, &cosl);
d__[m - 1] = sigmx;
e[m - 1] = 0.;
d__[m] = sigmn;
/* Compute singular vectors, if desired */
if (*ncvt > 0) {
drot_(ncvt, &vt[m - 1 + vt_dim1], ldvt, &vt[m + vt_dim1], ldvt, &
cosr, &sinr);
}
if (*nru > 0) {
drot_(nru, &u[(m - 1) * u_dim1 + 1], &c__1, &u[m * u_dim1 + 1], &
c__1, &cosl, &sinl);
}
if (*ncc > 0) {
drot_(ncc, &c__[m - 1 + c_dim1], ldc, &c__[m + c_dim1], ldc, &
cosl, &sinl);
}
m += -2;
goto L60;
}
/* If working on new submatrix, choose shift direction */
/* (from larger end diagonal element towards smaller) */
if (ll > oldm || m < oldll) {
if ((d__1 = d__[ll], abs(d__1)) >= (d__2 = d__[m], abs(d__2))) {
/* Chase bulge from top (big end) to bottom (small end) */
idir = 1;
} else {
/* Chase bulge from bottom (big end) to top (small end) */
idir = 2;
}
}
/* Apply convergence tests */
if (idir == 1) {
/* Run convergence test in forward direction */
/* First apply standard test to bottom of matrix */
if ((d__2 = e[m - 1], abs(d__2)) <= abs(tol) * (d__1 = d__[m], abs(
d__1)) || tol < 0. && (d__3 = e[m - 1], abs(d__3)) <= thresh)
{
e[m - 1] = 0.;
goto L60;
}
if (tol >= 0.) {
/* If relative accuracy desired, */
/* apply convergence criterion forward */
mu = (d__1 = d__[ll], abs(d__1));
sminl = mu;
i__1 = m - 1;
for (lll = ll; lll <= i__1; ++lll) {
if ((d__1 = e[lll], abs(d__1)) <= tol * mu) {
e[lll] = 0.;
goto L60;
}
mu = (d__2 = d__[lll + 1], abs(d__2)) * (mu / (mu + (d__1 = e[
lll], abs(d__1))));
sminl = min(sminl,mu);
/* L100: */
}
}
} else {
/* Run convergence test in backward direction */
/* First apply standard test to top of matrix */
if ((d__2 = e[ll], abs(d__2)) <= abs(tol) * (d__1 = d__[ll], abs(d__1)
) || tol < 0. && (d__3 = e[ll], abs(d__3)) <= thresh) {
e[ll] = 0.;
goto L60;
}
if (tol >= 0.) {
/* If relative accuracy desired, */
/* apply convergence criterion backward */
mu = (d__1 = d__[m], abs(d__1));
sminl = mu;
i__1 = ll;
for (lll = m - 1; lll >= i__1; --lll) {
if ((d__1 = e[lll], abs(d__1)) <= tol * mu) {
e[lll] = 0.;
goto L60;
}
mu = (d__2 = d__[lll], abs(d__2)) * (mu / (mu + (d__1 = e[lll]
, abs(d__1))));
sminl = min(sminl,mu);
/* L110: */
}
}
}
oldll = ll;
oldm = m;
/* Compute shift. First, test if shifting would ruin relative */
/* accuracy, and if so set the shift to zero. */
/* Computing MAX */
d__1 = eps, d__2 = tol * .01;
if (tol >= 0. && *n * tol * (sminl / smax) <= max(d__1,d__2)) {
/* Use a zero shift to avoid loss of relative accuracy */
shift = 0.;
} else {
/* Compute the shift from 2-by-2 block at end of matrix */
if (idir == 1) {
sll = (d__1 = d__[ll], abs(d__1));
dlas2_(&d__[m - 1], &e[m - 1], &d__[m], &shift, &r__);
} else {
sll = (d__1 = d__[m], abs(d__1));
dlas2_(&d__[ll], &e[ll], &d__[ll + 1], &shift, &r__);
}
/* Test if shift negligible, and if so set to zero */
if (sll > 0.) {
/* Computing 2nd power */
d__1 = shift / sll;
if (d__1 * d__1 < eps) {
shift = 0.;
}
}
}
/* Increment iteration count */
iter = iter + m - ll;
/* If SHIFT = 0, do simplified QR iteration */
if (shift == 0.) {
if (idir == 1) {
/* Chase bulge from top to bottom */
/* Save cosines and sines for later singular vector updates */
cs = 1.;
oldcs = 1.;
i__1 = m - 1;
for (i__ = ll; i__ <= i__1; ++i__) {
d__1 = d__[i__] * cs;
dlartg_(&d__1, &e[i__], &cs, &sn, &r__);
if (i__ > ll) {
e[i__ - 1] = oldsn * r__;
}
d__1 = oldcs * r__;
d__2 = d__[i__ + 1] * sn;
dlartg_(&d__1, &d__2, &oldcs, &oldsn, &d__[i__]);
work[i__ - ll + 1] = cs;
work[i__ - ll + 1 + nm1] = sn;
work[i__ - ll + 1 + nm12] = oldcs;
work[i__ - ll + 1 + nm13] = oldsn;
/* L120: */
}
h__ = d__[m] * cs;
d__[m] = h__ * oldcs;
e[m - 1] = h__ * oldsn;
/* Update singular vectors */
if (*ncvt > 0) {
i__1 = m - ll + 1;
dlasr_("L", "V", "F", &i__1, ncvt, &work[1], &work[*n], &vt[
ll + vt_dim1], ldvt);
}
if (*nru > 0) {
i__1 = m - ll + 1;
dlasr_("R", "V", "F", nru, &i__1, &work[nm12 + 1], &work[nm13
+ 1], &u[ll * u_dim1 + 1], ldu);
}
if (*ncc > 0) {
i__1 = m - ll + 1;
dlasr_("L", "V", "F", &i__1, ncc, &work[nm12 + 1], &work[nm13
+ 1], &c__[ll + c_dim1], ldc);
}
/* Test convergence */
if ((d__1 = e[m - 1], abs(d__1)) <= thresh) {
e[m - 1] = 0.;
}
} else {
/* Chase bulge from bottom to top */
/* Save cosines and sines for later singular vector updates */
cs = 1.;
oldcs = 1.;
i__1 = ll + 1;
for (i__ = m; i__ >= i__1; --i__) {
d__1 = d__[i__] * cs;
dlartg_(&d__1, &e[i__ - 1], &cs, &sn, &r__);
if (i__ < m) {
e[i__] = oldsn * r__;
}
d__1 = oldcs * r__;
d__2 = d__[i__ - 1] * sn;
dlartg_(&d__1, &d__2, &oldcs, &oldsn, &d__[i__]);
work[i__ - ll] = cs;
work[i__ - ll + nm1] = -sn;
work[i__ - ll + nm12] = oldcs;
work[i__ - ll + nm13] = -oldsn;
/* L130: */
}
h__ = d__[ll] * cs;
d__[ll] = h__ * oldcs;
e[ll] = h__ * oldsn;
/* Update singular vectors */
if (*ncvt > 0) {
i__1 = m - ll + 1;
dlasr_("L", "V", "B", &i__1, ncvt, &work[nm12 + 1], &work[
nm13 + 1], &vt[ll + vt_dim1], ldvt);
}
if (*nru > 0) {
i__1 = m - ll + 1;
dlasr_("R", "V", "B", nru, &i__1, &work[1], &work[*n], &u[ll *
u_dim1 + 1], ldu);
}
if (*ncc > 0) {
i__1 = m - ll + 1;
dlasr_("L", "V", "B", &i__1, ncc, &work[1], &work[*n], &c__[
ll + c_dim1], ldc);
}
/* Test convergence */
if ((d__1 = e[ll], abs(d__1)) <= thresh) {
e[ll] = 0.;
}
}
} else {
/* Use nonzero shift */
if (idir == 1) {
/* Chase bulge from top to bottom */
/* Save cosines and sines for later singular vector updates */
f = ((d__1 = d__[ll], abs(d__1)) - shift) * (d_sign(&c_b49, &d__[
ll]) + shift / d__[ll]);
g = e[ll];
i__1 = m - 1;
for (i__ = ll; i__ <= i__1; ++i__) {
dlartg_(&f, &g, &cosr, &sinr, &r__);
if (i__ > ll) {
e[i__ - 1] = r__;
}
f = cosr * d__[i__] + sinr * e[i__];
e[i__] = cosr * e[i__] - sinr * d__[i__];
g = sinr * d__[i__ + 1];
d__[i__ + 1] = cosr * d__[i__ + 1];
dlartg_(&f, &g, &cosl, &sinl, &r__);
d__[i__] = r__;
f = cosl * e[i__] + sinl * d__[i__ + 1];
d__[i__ + 1] = cosl * d__[i__ + 1] - sinl * e[i__];
if (i__ < m - 1) {
g = sinl * e[i__ + 1];
e[i__ + 1] = cosl * e[i__ + 1];
}
work[i__ - ll + 1] = cosr;
work[i__ - ll + 1 + nm1] = sinr;
work[i__ - ll + 1 + nm12] = cosl;
work[i__ - ll + 1 + nm13] = sinl;
/* L140: */
}
e[m - 1] = f;
/* Update singular vectors */
if (*ncvt > 0) {
i__1 = m - ll + 1;
dlasr_("L", "V", "F", &i__1, ncvt, &work[1], &work[*n], &vt[
ll + vt_dim1], ldvt);
}
if (*nru > 0) {
i__1 = m - ll + 1;
dlasr_("R", "V", "F", nru, &i__1, &work[nm12 + 1], &work[nm13
+ 1], &u[ll * u_dim1 + 1], ldu);
}
if (*ncc > 0) {
i__1 = m - ll + 1;
dlasr_("L", "V", "F", &i__1, ncc, &work[nm12 + 1], &work[nm13
+ 1], &c__[ll + c_dim1], ldc);
}
/* Test convergence */
if ((d__1 = e[m - 1], abs(d__1)) <= thresh) {
e[m - 1] = 0.;
}
} else {
/* Chase bulge from bottom to top */
/* Save cosines and sines for later singular vector updates */
f = ((d__1 = d__[m], abs(d__1)) - shift) * (d_sign(&c_b49, &d__[m]
) + shift / d__[m]);
g = e[m - 1];
i__1 = ll + 1;
for (i__ = m; i__ >= i__1; --i__) {
dlartg_(&f, &g, &cosr, &sinr, &r__);
if (i__ < m) {
e[i__] = r__;
}
f = cosr * d__[i__] + sinr * e[i__ - 1];
e[i__ - 1] = cosr * e[i__ - 1] - sinr * d__[i__];
g = sinr * d__[i__ - 1];
d__[i__ - 1] = cosr * d__[i__ - 1];
dlartg_(&f, &g, &cosl, &sinl, &r__);
d__[i__] = r__;
f = cosl * e[i__ - 1] + sinl * d__[i__ - 1];
d__[i__ - 1] = cosl * d__[i__ - 1] - sinl * e[i__ - 1];
if (i__ > ll + 1) {
g = sinl * e[i__ - 2];
e[i__ - 2] = cosl * e[i__ - 2];
}
work[i__ - ll] = cosr;
work[i__ - ll + nm1] = -sinr;
work[i__ - ll + nm12] = cosl;
work[i__ - ll + nm13] = -sinl;
/* L150: */
}
e[ll] = f;
/* Test convergence */
if ((d__1 = e[ll], abs(d__1)) <= thresh) {
e[ll] = 0.;
}
/* Update singular vectors if desired */
if (*ncvt > 0) {
i__1 = m - ll + 1;
dlasr_("L", "V", "B", &i__1, ncvt, &work[nm12 + 1], &work[
nm13 + 1], &vt[ll + vt_dim1], ldvt);
}
if (*nru > 0) {
i__1 = m - ll + 1;
dlasr_("R", "V", "B", nru, &i__1, &work[1], &work[*n], &u[ll *
u_dim1 + 1], ldu);
}
if (*ncc > 0) {
i__1 = m - ll + 1;
dlasr_("L", "V", "B", &i__1, ncc, &work[1], &work[*n], &c__[
ll + c_dim1], ldc);
}
}
}
/* QR iteration finished, go back and check convergence */
goto L60;
/* All singular values converged, so make them positive */
L160:
i__1 = *n;
for (i__ = 1; i__ <= i__1; ++i__) {
if (d__[i__] < 0.) {
d__[i__] = -d__[i__];
/* Change sign of singular vectors, if desired */
if (*ncvt > 0) {
dscal_(ncvt, &c_b72, &vt[i__ + vt_dim1], ldvt);
}
}
/* L170: */
}
/* Sort the singular values into decreasing order (insertion sort on */
/* singular values, but only one transposition per singular vector) */
i__1 = *n - 1;
for (i__ = 1; i__ <= i__1; ++i__) {
/* Scan for smallest D(I) */
isub = 1;
smin = d__[1];
i__2 = *n + 1 - i__;
for (j = 2; j <= i__2; ++j) {
if (d__[j] <= smin) {
isub = j;
smin = d__[j];
}
/* L180: */
}
if (isub != *n + 1 - i__) {
/* Swap singular values and vectors */
d__[isub] = d__[*n + 1 - i__];
d__[*n + 1 - i__] = smin;
if (*ncvt > 0) {
dswap_(ncvt, &vt[isub + vt_dim1], ldvt, &vt[*n + 1 - i__ +
vt_dim1], ldvt);
}
if (*nru > 0) {
dswap_(nru, &u[isub * u_dim1 + 1], &c__1, &u[(*n + 1 - i__) *
u_dim1 + 1], &c__1);
}
if (*ncc > 0) {
dswap_(ncc, &c__[isub + c_dim1], ldc, &c__[*n + 1 - i__ +
c_dim1], ldc);
}
}
/* L190: */
}
goto L220;
/* Maximum number of iterations exceeded, failure to converge */
L200:
*info = 0;
i__1 = *n - 1;
for (i__ = 1; i__ <= i__1; ++i__) {
if (e[i__] != 0.) {
++(*info);
}
/* L210: */
}
L220:
return 0;
/* End of DBDSQR */
} /* dbdsqr_ */
-107
Ver Arquivo
@@ -1,107 +0,0 @@
/* dcopy.f -- translated by f2c (version 20061008).
You must link the resulting object file with libf2c:
on Microsoft Windows system, link with libf2c.lib;
on Linux or Unix systems, link with .../path/to/libf2c.a -lm
or, if you install libf2c.a in a standard place, with -lf2c -lm
-- in that order, at the end of the command line, as in
cc *.o -lf2c -lm
Source for libf2c is in /netlib/f2c/libf2c.zip, e.g.,
http://www.netlib.org/f2c/libf2c.zip
*/
#include "clapack.h"
/* Subroutine */ int dcopy_(integer *n, doublereal *dx, integer *incx,
doublereal *dy, integer *incy)
{
/* System generated locals */
integer i__1;
/* Local variables */
integer i__, m, ix, iy, mp1;
/* .. Scalar Arguments .. */
/* .. */
/* .. Array Arguments .. */
/* .. */
/* Purpose */
/* ======= */
/* copies a vector, x, to a vector, y. */
/* uses unrolled loops for increments equal to one. */
/* jack dongarra, linpack, 3/11/78. */
/* modified 12/3/93, array(1) declarations changed to array(*) */
/* .. Local Scalars .. */
/* .. */
/* .. Intrinsic Functions .. */
/* .. */
/* Parameter adjustments */
--dy;
--dx;
/* Function Body */
if (*n <= 0) {
return 0;
}
if (*incx == 1 && *incy == 1) {
goto L20;
}
/* code for unequal increments or equal increments */
/* not equal to 1 */
ix = 1;
iy = 1;
if (*incx < 0) {
ix = (-(*n) + 1) * *incx + 1;
}
if (*incy < 0) {
iy = (-(*n) + 1) * *incy + 1;
}
i__1 = *n;
for (i__ = 1; i__ <= i__1; ++i__) {
dy[iy] = dx[ix];
ix += *incx;
iy += *incy;
/* L10: */
}
return 0;
/* code for both increments equal to 1 */
/* clean-up loop */
L20:
m = *n % 7;
if (m == 0) {
goto L40;
}
i__1 = m;
for (i__ = 1; i__ <= i__1; ++i__) {
dy[i__] = dx[i__];
/* L30: */
}
if (*n < 7) {
return 0;
}
L40:
mp1 = m + 1;
i__1 = *n;
for (i__ = mp1; i__ <= i__1; i__ += 7) {
dy[i__] = dx[i__];
dy[i__ + 1] = dx[i__ + 1];
dy[i__ + 2] = dx[i__ + 2];
dy[i__ + 3] = dx[i__ + 3];
dy[i__ + 4] = dx[i__ + 4];
dy[i__ + 5] = dx[i__ + 5];
dy[i__ + 6] = dx[i__ + 6];
/* L50: */
}
return 0;
} /* dcopy_ */
-110
Ver Arquivo
@@ -1,110 +0,0 @@
/* ddot.f -- translated by f2c (version 20061008).
You must link the resulting object file with libf2c:
on Microsoft Windows system, link with libf2c.lib;
on Linux or Unix systems, link with .../path/to/libf2c.a -lm
or, if you install libf2c.a in a standard place, with -lf2c -lm
-- in that order, at the end of the command line, as in
cc *.o -lf2c -lm
Source for libf2c is in /netlib/f2c/libf2c.zip, e.g.,
http://www.netlib.org/f2c/libf2c.zip
*/
#include "clapack.h"
doublereal ddot_(integer *n, doublereal *dx, integer *incx, doublereal *dy,
integer *incy)
{
/* System generated locals */
integer i__1;
doublereal ret_val;
/* Local variables */
integer i__, m, ix, iy, mp1;
doublereal dtemp;
/* .. Scalar Arguments .. */
/* .. */
/* .. Array Arguments .. */
/* .. */
/* Purpose */
/* ======= */
/* forms the dot product of two vectors. */
/* uses unrolled loops for increments equal to one. */
/* jack dongarra, linpack, 3/11/78. */
/* modified 12/3/93, array(1) declarations changed to array(*) */
/* .. Local Scalars .. */
/* .. */
/* .. Intrinsic Functions .. */
/* .. */
/* Parameter adjustments */
--dy;
--dx;
/* Function Body */
ret_val = 0.;
dtemp = 0.;
if (*n <= 0) {
return ret_val;
}
if (*incx == 1 && *incy == 1) {
goto L20;
}
/* code for unequal increments or equal increments */
/* not equal to 1 */
ix = 1;
iy = 1;
if (*incx < 0) {
ix = (-(*n) + 1) * *incx + 1;
}
if (*incy < 0) {
iy = (-(*n) + 1) * *incy + 1;
}
i__1 = *n;
for (i__ = 1; i__ <= i__1; ++i__) {
dtemp += dx[ix] * dy[iy];
ix += *incx;
iy += *incy;
/* L10: */
}
ret_val = dtemp;
return ret_val;
/* code for both increments equal to 1 */
/* clean-up loop */
L20:
m = *n % 5;
if (m == 0) {
goto L40;
}
i__1 = m;
for (i__ = 1; i__ <= i__1; ++i__) {
dtemp += dx[i__] * dy[i__];
/* L30: */
}
if (*n < 5) {
goto L60;
}
L40:
mp1 = m + 1;
i__1 = *n;
for (i__ = mp1; i__ <= i__1; i__ += 5) {
dtemp = dtemp + dx[i__] * dy[i__] + dx[i__ + 1] * dy[i__ + 1] + dx[
i__ + 2] * dy[i__ + 2] + dx[i__ + 3] * dy[i__ + 3] + dx[i__ +
4] * dy[i__ + 4];
/* L50: */
}
L60:
ret_val = dtemp;
return ret_val;
} /* ddot_ */
-304
Ver Arquivo
@@ -1,304 +0,0 @@
/* dgebd2.f -- translated by f2c (version 20061008).
You must link the resulting object file with libf2c:
on Microsoft Windows system, link with libf2c.lib;
on Linux or Unix systems, link with .../path/to/libf2c.a -lm
or, if you install libf2c.a in a standard place, with -lf2c -lm
-- in that order, at the end of the command line, as in
cc *.o -lf2c -lm
Source for libf2c is in /netlib/f2c/libf2c.zip, e.g.,
http://www.netlib.org/f2c/libf2c.zip
*/
#include "clapack.h"
/* Table of constant values */
static integer c__1 = 1;
/* Subroutine */ int dgebd2_(integer *m, integer *n, doublereal *a, integer *
lda, doublereal *d__, doublereal *e, doublereal *tauq, doublereal *
taup, doublereal *work, integer *info)
{
/* System generated locals */
integer a_dim1, a_offset, i__1, i__2, i__3;
/* Local variables */
integer i__;
extern /* Subroutine */ int dlarf_(char *, integer *, integer *,
doublereal *, integer *, doublereal *, doublereal *, integer *,
doublereal *), dlarfg_(integer *, doublereal *,
doublereal *, integer *, doublereal *), xerbla_(char *, integer *);
/* -- LAPACK routine (version 3.2) -- */
/* Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. */
/* November 2006 */
/* .. Scalar Arguments .. */
/* .. */
/* .. Array Arguments .. */
/* .. */
/* Purpose */
/* ======= */
/* DGEBD2 reduces a real general m by n matrix A to upper or lower */
/* bidiagonal form B by an orthogonal transformation: Q' * A * P = B. */
/* If m >= n, B is upper bidiagonal; if m < n, B is lower bidiagonal. */
/* Arguments */
/* ========= */
/* M (input) INTEGER */
/* The number of rows in the matrix A. M >= 0. */
/* N (input) INTEGER */
/* The number of columns in the matrix A. N >= 0. */
/* A (input/output) DOUBLE PRECISION array, dimension (LDA,N) */
/* On entry, the m by n general matrix to be reduced. */
/* On exit, */
/* if m >= n, the diagonal and the first superdiagonal are */
/* overwritten with the upper bidiagonal matrix B; the */
/* elements below the diagonal, with the array TAUQ, represent */
/* the orthogonal matrix Q as a product of elementary */
/* reflectors, and the elements above the first superdiagonal, */
/* with the array TAUP, represent the orthogonal matrix P as */
/* a product of elementary reflectors; */
/* if m < n, the diagonal and the first subdiagonal are */
/* overwritten with the lower bidiagonal matrix B; the */
/* elements below the first subdiagonal, with the array TAUQ, */
/* represent the orthogonal matrix Q as a product of */
/* elementary reflectors, and the elements above the diagonal, */
/* with the array TAUP, represent the orthogonal matrix P as */
/* a product of elementary reflectors. */
/* See Further Details. */
/* LDA (input) INTEGER */
/* The leading dimension of the array A. LDA >= max(1,M). */
/* D (output) DOUBLE PRECISION array, dimension (min(M,N)) */
/* The diagonal elements of the bidiagonal matrix B: */
/* D(i) = A(i,i). */
/* E (output) DOUBLE PRECISION array, dimension (min(M,N)-1) */
/* The off-diagonal elements of the bidiagonal matrix B: */
/* if m >= n, E(i) = A(i,i+1) for i = 1,2,...,n-1; */
/* if m < n, E(i) = A(i+1,i) for i = 1,2,...,m-1. */
/* TAUQ (output) DOUBLE PRECISION array dimension (min(M,N)) */
/* The scalar factors of the elementary reflectors which */
/* represent the orthogonal matrix Q. See Further Details. */
/* TAUP (output) DOUBLE PRECISION array, dimension (min(M,N)) */
/* The scalar factors of the elementary reflectors which */
/* represent the orthogonal matrix P. See Further Details. */
/* WORK (workspace) DOUBLE PRECISION array, dimension (max(M,N)) */
/* INFO (output) INTEGER */
/* = 0: successful exit. */
/* < 0: if INFO = -i, the i-th argument had an illegal value. */
/* Further Details */
/* =============== */
/* The matrices Q and P are represented as products of elementary */
/* reflectors: */
/* If m >= n, */
/* Q = H(1) H(2) . . . H(n) and P = G(1) G(2) . . . G(n-1) */
/* Each H(i) and G(i) has the form: */
/* H(i) = I - tauq * v * v' and G(i) = I - taup * u * u' */
/* where tauq and taup are real scalars, and v and u are real vectors; */
/* v(1:i-1) = 0, v(i) = 1, and v(i+1:m) is stored on exit in A(i+1:m,i); */
/* u(1:i) = 0, u(i+1) = 1, and u(i+2:n) is stored on exit in A(i,i+2:n); */
/* tauq is stored in TAUQ(i) and taup in TAUP(i). */
/* If m < n, */
/* Q = H(1) H(2) . . . H(m-1) and P = G(1) G(2) . . . G(m) */
/* Each H(i) and G(i) has the form: */
/* H(i) = I - tauq * v * v' and G(i) = I - taup * u * u' */
/* where tauq and taup are real scalars, and v and u are real vectors; */
/* v(1:i) = 0, v(i+1) = 1, and v(i+2:m) is stored on exit in A(i+2:m,i); */
/* u(1:i-1) = 0, u(i) = 1, and u(i+1:n) is stored on exit in A(i,i+1:n); */
/* tauq is stored in TAUQ(i) and taup in TAUP(i). */
/* The contents of A on exit are illustrated by the following examples: */
/* m = 6 and n = 5 (m > n): m = 5 and n = 6 (m < n): */
/* ( d e u1 u1 u1 ) ( d u1 u1 u1 u1 u1 ) */
/* ( v1 d e u2 u2 ) ( e d u2 u2 u2 u2 ) */
/* ( v1 v2 d e u3 ) ( v1 e d u3 u3 u3 ) */
/* ( v1 v2 v3 d e ) ( v1 v2 e d u4 u4 ) */
/* ( v1 v2 v3 v4 d ) ( v1 v2 v3 e d u5 ) */
/* ( v1 v2 v3 v4 v5 ) */
/* where d and e denote diagonal and off-diagonal elements of B, vi */
/* denotes an element of the vector defining H(i), and ui an element of */
/* the vector defining G(i). */
/* ===================================================================== */
/* .. Parameters .. */
/* .. */
/* .. Local Scalars .. */
/* .. */
/* .. External Subroutines .. */
/* .. */
/* .. Intrinsic Functions .. */
/* .. */
/* .. Executable Statements .. */
/* Test the input parameters */
/* Parameter adjustments */
a_dim1 = *lda;
a_offset = 1 + a_dim1;
a -= a_offset;
--d__;
--e;
--tauq;
--taup;
--work;
/* Function Body */
*info = 0;
if (*m < 0) {
*info = -1;
} else if (*n < 0) {
*info = -2;
} else if (*lda < max(1,*m)) {
*info = -4;
}
if (*info < 0) {
i__1 = -(*info);
xerbla_("DGEBD2", &i__1);
return 0;
}
if (*m >= *n) {
/* Reduce to upper bidiagonal form */
i__1 = *n;
for (i__ = 1; i__ <= i__1; ++i__) {
/* Generate elementary reflector H(i) to annihilate A(i+1:m,i) */
i__2 = *m - i__ + 1;
/* Computing MIN */
i__3 = i__ + 1;
dlarfg_(&i__2, &a[i__ + i__ * a_dim1], &a[min(i__3, *m)+ i__ *
a_dim1], &c__1, &tauq[i__]);
d__[i__] = a[i__ + i__ * a_dim1];
a[i__ + i__ * a_dim1] = 1.;
/* Apply H(i) to A(i:m,i+1:n) from the left */
if (i__ < *n) {
i__2 = *m - i__ + 1;
i__3 = *n - i__;
dlarf_("Left", &i__2, &i__3, &a[i__ + i__ * a_dim1], &c__1, &
tauq[i__], &a[i__ + (i__ + 1) * a_dim1], lda, &work[1]
);
}
a[i__ + i__ * a_dim1] = d__[i__];
if (i__ < *n) {
/* Generate elementary reflector G(i) to annihilate */
/* A(i,i+2:n) */
i__2 = *n - i__;
/* Computing MIN */
i__3 = i__ + 2;
dlarfg_(&i__2, &a[i__ + (i__ + 1) * a_dim1], &a[i__ + min(
i__3, *n)* a_dim1], lda, &taup[i__]);
e[i__] = a[i__ + (i__ + 1) * a_dim1];
a[i__ + (i__ + 1) * a_dim1] = 1.;
/* Apply G(i) to A(i+1:m,i+1:n) from the right */
i__2 = *m - i__;
i__3 = *n - i__;
dlarf_("Right", &i__2, &i__3, &a[i__ + (i__ + 1) * a_dim1],
lda, &taup[i__], &a[i__ + 1 + (i__ + 1) * a_dim1],
lda, &work[1]);
a[i__ + (i__ + 1) * a_dim1] = e[i__];
} else {
taup[i__] = 0.;
}
/* L10: */
}
} else {
/* Reduce to lower bidiagonal form */
i__1 = *m;
for (i__ = 1; i__ <= i__1; ++i__) {
/* Generate elementary reflector G(i) to annihilate A(i,i+1:n) */
i__2 = *n - i__ + 1;
/* Computing MIN */
i__3 = i__ + 1;
dlarfg_(&i__2, &a[i__ + i__ * a_dim1], &a[i__ + min(i__3, *n)*
a_dim1], lda, &taup[i__]);
d__[i__] = a[i__ + i__ * a_dim1];
a[i__ + i__ * a_dim1] = 1.;
/* Apply G(i) to A(i+1:m,i:n) from the right */
if (i__ < *m) {
i__2 = *m - i__;
i__3 = *n - i__ + 1;
dlarf_("Right", &i__2, &i__3, &a[i__ + i__ * a_dim1], lda, &
taup[i__], &a[i__ + 1 + i__ * a_dim1], lda, &work[1]);
}
a[i__ + i__ * a_dim1] = d__[i__];
if (i__ < *m) {
/* Generate elementary reflector H(i) to annihilate */
/* A(i+2:m,i) */
i__2 = *m - i__;
/* Computing MIN */
i__3 = i__ + 2;
dlarfg_(&i__2, &a[i__ + 1 + i__ * a_dim1], &a[min(i__3, *m)+
i__ * a_dim1], &c__1, &tauq[i__]);
e[i__] = a[i__ + 1 + i__ * a_dim1];
a[i__ + 1 + i__ * a_dim1] = 1.;
/* Apply H(i) to A(i+1:m,i+1:n) from the left */
i__2 = *m - i__;
i__3 = *n - i__;
dlarf_("Left", &i__2, &i__3, &a[i__ + 1 + i__ * a_dim1], &
c__1, &tauq[i__], &a[i__ + 1 + (i__ + 1) * a_dim1],
lda, &work[1]);
a[i__ + 1 + i__ * a_dim1] = e[i__];
} else {
tauq[i__] = 0.;
}
/* L20: */
}
}
return 0;
/* End of DGEBD2 */
} /* dgebd2_ */
-336
Ver Arquivo
@@ -1,336 +0,0 @@
/* dgebrd.f -- translated by f2c (version 20061008).
You must link the resulting object file with libf2c:
on Microsoft Windows system, link with libf2c.lib;
on Linux or Unix systems, link with .../path/to/libf2c.a -lm
or, if you install libf2c.a in a standard place, with -lf2c -lm
-- in that order, at the end of the command line, as in
cc *.o -lf2c -lm
Source for libf2c is in /netlib/f2c/libf2c.zip, e.g.,
http://www.netlib.org/f2c/libf2c.zip
*/
#include "clapack.h"
/* Table of constant values */
static integer c__1 = 1;
static integer c_n1 = -1;
static integer c__3 = 3;
static integer c__2 = 2;
static doublereal c_b21 = -1.;
static doublereal c_b22 = 1.;
/* Subroutine */ int dgebrd_(integer *m, integer *n, doublereal *a, integer *
lda, doublereal *d__, doublereal *e, doublereal *tauq, doublereal *
taup, doublereal *work, integer *lwork, integer *info)
{
/* System generated locals */
integer a_dim1, a_offset, i__1, i__2, i__3, i__4;
/* Local variables */
integer i__, j, nb, nx;
doublereal ws;
extern /* Subroutine */ int dgemm_(char *, char *, integer *, integer *,
integer *, doublereal *, doublereal *, integer *, doublereal *,
integer *, doublereal *, doublereal *, integer *);
integer nbmin, iinfo, minmn;
extern /* Subroutine */ int dgebd2_(integer *, integer *, doublereal *,
integer *, doublereal *, doublereal *, doublereal *, doublereal *,
doublereal *, integer *), dlabrd_(integer *, integer *, integer *
, doublereal *, integer *, doublereal *, doublereal *, doublereal
*, doublereal *, doublereal *, integer *, doublereal *, integer *)
, xerbla_(char *, integer *);
extern integer ilaenv_(integer *, char *, char *, integer *, integer *,
integer *, integer *);
integer ldwrkx, ldwrky, lwkopt;
logical lquery;
/* -- LAPACK routine (version 3.2) -- */
/* Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. */
/* November 2006 */
/* .. Scalar Arguments .. */
/* .. */
/* .. Array Arguments .. */
/* .. */
/* Purpose */
/* ======= */
/* DGEBRD reduces a general real M-by-N matrix A to upper or lower */
/* bidiagonal form B by an orthogonal transformation: Q**T * A * P = B. */
/* If m >= n, B is upper bidiagonal; if m < n, B is lower bidiagonal. */
/* Arguments */
/* ========= */
/* M (input) INTEGER */
/* The number of rows in the matrix A. M >= 0. */
/* N (input) INTEGER */
/* The number of columns in the matrix A. N >= 0. */
/* A (input/output) DOUBLE PRECISION array, dimension (LDA,N) */
/* On entry, the M-by-N general matrix to be reduced. */
/* On exit, */
/* if m >= n, the diagonal and the first superdiagonal are */
/* overwritten with the upper bidiagonal matrix B; the */
/* elements below the diagonal, with the array TAUQ, represent */
/* the orthogonal matrix Q as a product of elementary */
/* reflectors, and the elements above the first superdiagonal, */
/* with the array TAUP, represent the orthogonal matrix P as */
/* a product of elementary reflectors; */
/* if m < n, the diagonal and the first subdiagonal are */
/* overwritten with the lower bidiagonal matrix B; the */
/* elements below the first subdiagonal, with the array TAUQ, */
/* represent the orthogonal matrix Q as a product of */
/* elementary reflectors, and the elements above the diagonal, */
/* with the array TAUP, represent the orthogonal matrix P as */
/* a product of elementary reflectors. */
/* See Further Details. */
/* LDA (input) INTEGER */
/* The leading dimension of the array A. LDA >= max(1,M). */
/* D (output) DOUBLE PRECISION array, dimension (min(M,N)) */
/* The diagonal elements of the bidiagonal matrix B: */
/* D(i) = A(i,i). */
/* E (output) DOUBLE PRECISION array, dimension (min(M,N)-1) */
/* The off-diagonal elements of the bidiagonal matrix B: */
/* if m >= n, E(i) = A(i,i+1) for i = 1,2,...,n-1; */
/* if m < n, E(i) = A(i+1,i) for i = 1,2,...,m-1. */
/* TAUQ (output) DOUBLE PRECISION array dimension (min(M,N)) */
/* The scalar factors of the elementary reflectors which */
/* represent the orthogonal matrix Q. See Further Details. */
/* TAUP (output) DOUBLE PRECISION array, dimension (min(M,N)) */
/* The scalar factors of the elementary reflectors which */
/* represent the orthogonal matrix P. See Further Details. */
/* WORK (workspace/output) DOUBLE PRECISION array, dimension (MAX(1,LWORK)) */
/* On exit, if INFO = 0, WORK(1) returns the optimal LWORK. */
/* LWORK (input) INTEGER */
/* The length of the array WORK. LWORK >= max(1,M,N). */
/* For optimum performance LWORK >= (M+N)*NB, where NB */
/* is the optimal blocksize. */
/* If LWORK = -1, then a workspace query is assumed; the routine */
/* only calculates the optimal size of the WORK array, returns */
/* this value as the first entry of the WORK array, and no error */
/* message related to LWORK is issued by XERBLA. */
/* INFO (output) INTEGER */
/* = 0: successful exit */
/* < 0: if INFO = -i, the i-th argument had an illegal value. */
/* Further Details */
/* =============== */
/* The matrices Q and P are represented as products of elementary */
/* reflectors: */
/* If m >= n, */
/* Q = H(1) H(2) . . . H(n) and P = G(1) G(2) . . . G(n-1) */
/* Each H(i) and G(i) has the form: */
/* H(i) = I - tauq * v * v' and G(i) = I - taup * u * u' */
/* where tauq and taup are real scalars, and v and u are real vectors; */
/* v(1:i-1) = 0, v(i) = 1, and v(i+1:m) is stored on exit in A(i+1:m,i); */
/* u(1:i) = 0, u(i+1) = 1, and u(i+2:n) is stored on exit in A(i,i+2:n); */
/* tauq is stored in TAUQ(i) and taup in TAUP(i). */
/* If m < n, */
/* Q = H(1) H(2) . . . H(m-1) and P = G(1) G(2) . . . G(m) */
/* Each H(i) and G(i) has the form: */
/* H(i) = I - tauq * v * v' and G(i) = I - taup * u * u' */
/* where tauq and taup are real scalars, and v and u are real vectors; */
/* v(1:i) = 0, v(i+1) = 1, and v(i+2:m) is stored on exit in A(i+2:m,i); */
/* u(1:i-1) = 0, u(i) = 1, and u(i+1:n) is stored on exit in A(i,i+1:n); */
/* tauq is stored in TAUQ(i) and taup in TAUP(i). */
/* The contents of A on exit are illustrated by the following examples: */
/* m = 6 and n = 5 (m > n): m = 5 and n = 6 (m < n): */
/* ( d e u1 u1 u1 ) ( d u1 u1 u1 u1 u1 ) */
/* ( v1 d e u2 u2 ) ( e d u2 u2 u2 u2 ) */
/* ( v1 v2 d e u3 ) ( v1 e d u3 u3 u3 ) */
/* ( v1 v2 v3 d e ) ( v1 v2 e d u4 u4 ) */
/* ( v1 v2 v3 v4 d ) ( v1 v2 v3 e d u5 ) */
/* ( v1 v2 v3 v4 v5 ) */
/* where d and e denote diagonal and off-diagonal elements of B, vi */
/* denotes an element of the vector defining H(i), and ui an element of */
/* the vector defining G(i). */
/* ===================================================================== */
/* .. Parameters .. */
/* .. */
/* .. Local Scalars .. */
/* .. */
/* .. External Subroutines .. */
/* .. */
/* .. Intrinsic Functions .. */
/* .. */
/* .. External Functions .. */
/* .. */
/* .. Executable Statements .. */
/* Test the input parameters */
/* Parameter adjustments */
a_dim1 = *lda;
a_offset = 1 + a_dim1;
a -= a_offset;
--d__;
--e;
--tauq;
--taup;
--work;
/* Function Body */
*info = 0;
/* Computing MAX */
i__1 = 1, i__2 = ilaenv_(&c__1, "DGEBRD", " ", m, n, &c_n1, &c_n1);
nb = max(i__1,i__2);
lwkopt = (*m + *n) * nb;
work[1] = (doublereal) lwkopt;
lquery = *lwork == -1;
if (*m < 0) {
*info = -1;
} else if (*n < 0) {
*info = -2;
} else if (*lda < max(1,*m)) {
*info = -4;
} else /* if(complicated condition) */ {
/* Computing MAX */
i__1 = max(1,*m);
if (*lwork < max(i__1,*n) && ! lquery) {
*info = -10;
}
}
if (*info < 0) {
i__1 = -(*info);
xerbla_("DGEBRD", &i__1);
return 0;
} else if (lquery) {
return 0;
}
/* Quick return if possible */
minmn = min(*m,*n);
if (minmn == 0) {
work[1] = 1.;
return 0;
}
ws = (doublereal) max(*m,*n);
ldwrkx = *m;
ldwrky = *n;
if (nb > 1 && nb < minmn) {
/* Set the crossover point NX. */
/* Computing MAX */
i__1 = nb, i__2 = ilaenv_(&c__3, "DGEBRD", " ", m, n, &c_n1, &c_n1);
nx = max(i__1,i__2);
/* Determine when to switch from blocked to unblocked code. */
if (nx < minmn) {
ws = (doublereal) ((*m + *n) * nb);
if ((doublereal) (*lwork) < ws) {
/* Not enough work space for the optimal NB, consider using */
/* a smaller block size. */
nbmin = ilaenv_(&c__2, "DGEBRD", " ", m, n, &c_n1, &c_n1);
if (*lwork >= (*m + *n) * nbmin) {
nb = *lwork / (*m + *n);
} else {
nb = 1;
nx = minmn;
}
}
}
} else {
nx = minmn;
}
i__1 = minmn - nx;
i__2 = nb;
for (i__ = 1; i__2 < 0 ? i__ >= i__1 : i__ <= i__1; i__ += i__2) {
/* Reduce rows and columns i:i+nb-1 to bidiagonal form and return */
/* the matrices X and Y which are needed to update the unreduced */
/* part of the matrix */
i__3 = *m - i__ + 1;
i__4 = *n - i__ + 1;
dlabrd_(&i__3, &i__4, &nb, &a[i__ + i__ * a_dim1], lda, &d__[i__], &e[
i__], &tauq[i__], &taup[i__], &work[1], &ldwrkx, &work[ldwrkx
* nb + 1], &ldwrky);
/* Update the trailing submatrix A(i+nb:m,i+nb:n), using an update */
/* of the form A := A - V*Y' - X*U' */
i__3 = *m - i__ - nb + 1;
i__4 = *n - i__ - nb + 1;
dgemm_("No transpose", "Transpose", &i__3, &i__4, &nb, &c_b21, &a[i__
+ nb + i__ * a_dim1], lda, &work[ldwrkx * nb + nb + 1], &
ldwrky, &c_b22, &a[i__ + nb + (i__ + nb) * a_dim1], lda);
i__3 = *m - i__ - nb + 1;
i__4 = *n - i__ - nb + 1;
dgemm_("No transpose", "No transpose", &i__3, &i__4, &nb, &c_b21, &
work[nb + 1], &ldwrkx, &a[i__ + (i__ + nb) * a_dim1], lda, &
c_b22, &a[i__ + nb + (i__ + nb) * a_dim1], lda);
/* Copy diagonal and off-diagonal elements of B back into A */
if (*m >= *n) {
i__3 = i__ + nb - 1;
for (j = i__; j <= i__3; ++j) {
a[j + j * a_dim1] = d__[j];
a[j + (j + 1) * a_dim1] = e[j];
/* L10: */
}
} else {
i__3 = i__ + nb - 1;
for (j = i__; j <= i__3; ++j) {
a[j + j * a_dim1] = d__[j];
a[j + 1 + j * a_dim1] = e[j];
/* L20: */
}
}
/* L30: */
}
/* Use unblocked code to reduce the remainder of the matrix */
i__2 = *m - i__ + 1;
i__1 = *n - i__ + 1;
dgebd2_(&i__2, &i__1, &a[i__ + i__ * a_dim1], lda, &d__[i__], &e[i__], &
tauq[i__], &taup[i__], &work[1], &iinfo);
work[1] = ws;
return 0;
/* End of DGEBRD */
} /* dgebrd_ */
-157
Ver Arquivo
@@ -1,157 +0,0 @@
/* dgelq2.f -- translated by f2c (version 20061008).
You must link the resulting object file with libf2c:
on Microsoft Windows system, link with libf2c.lib;
on Linux or Unix systems, link with .../path/to/libf2c.a -lm
or, if you install libf2c.a in a standard place, with -lf2c -lm
-- in that order, at the end of the command line, as in
cc *.o -lf2c -lm
Source for libf2c is in /netlib/f2c/libf2c.zip, e.g.,
http://www.netlib.org/f2c/libf2c.zip
*/
#include "clapack.h"
/* Subroutine */ int dgelq2_(integer *m, integer *n, doublereal *a, integer *
lda, doublereal *tau, doublereal *work, integer *info)
{
/* System generated locals */
integer a_dim1, a_offset, i__1, i__2, i__3;
/* Local variables */
integer i__, k;
doublereal aii;
extern /* Subroutine */ int dlarf_(char *, integer *, integer *,
doublereal *, integer *, doublereal *, doublereal *, integer *,
doublereal *), dlarfp_(integer *, doublereal *,
doublereal *, integer *, doublereal *), xerbla_(char *, integer *);
/* -- LAPACK routine (version 3.2) -- */
/* Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. */
/* November 2006 */
/* .. Scalar Arguments .. */
/* .. */
/* .. Array Arguments .. */
/* .. */
/* Purpose */
/* ======= */
/* DGELQ2 computes an LQ factorization of a real m by n matrix A: */
/* A = L * Q. */
/* Arguments */
/* ========= */
/* M (input) INTEGER */
/* The number of rows of the matrix A. M >= 0. */
/* N (input) INTEGER */
/* The number of columns of the matrix A. N >= 0. */
/* A (input/output) DOUBLE PRECISION array, dimension (LDA,N) */
/* On entry, the m by n matrix A. */
/* On exit, the elements on and below the diagonal of the array */
/* contain the m by min(m,n) lower trapezoidal matrix L (L is */
/* lower triangular if m <= n); the elements above the diagonal, */
/* with the array TAU, represent the orthogonal matrix Q as a */
/* product of elementary reflectors (see Further Details). */
/* LDA (input) INTEGER */
/* The leading dimension of the array A. LDA >= max(1,M). */
/* TAU (output) DOUBLE PRECISION array, dimension (min(M,N)) */
/* The scalar factors of the elementary reflectors (see Further */
/* Details). */
/* WORK (workspace) DOUBLE PRECISION array, dimension (M) */
/* INFO (output) INTEGER */
/* = 0: successful exit */
/* < 0: if INFO = -i, the i-th argument had an illegal value */
/* Further Details */
/* =============== */
/* The matrix Q is represented as a product of elementary reflectors */
/* Q = H(k) . . . H(2) H(1), where k = min(m,n). */
/* Each H(i) has the form */
/* H(i) = I - tau * v * v' */
/* where tau is a real scalar, and v is a real vector with */
/* v(1:i-1) = 0 and v(i) = 1; v(i+1:n) is stored on exit in A(i,i+1:n), */
/* and tau in TAU(i). */
/* ===================================================================== */
/* .. Parameters .. */
/* .. */
/* .. Local Scalars .. */
/* .. */
/* .. External Subroutines .. */
/* .. */
/* .. Intrinsic Functions .. */
/* .. */
/* .. Executable Statements .. */
/* Test the input arguments */
/* Parameter adjustments */
a_dim1 = *lda;
a_offset = 1 + a_dim1;
a -= a_offset;
--tau;
--work;
/* Function Body */
*info = 0;
if (*m < 0) {
*info = -1;
} else if (*n < 0) {
*info = -2;
} else if (*lda < max(1,*m)) {
*info = -4;
}
if (*info != 0) {
i__1 = -(*info);
xerbla_("DGELQ2", &i__1);
return 0;
}
k = min(*m,*n);
i__1 = k;
for (i__ = 1; i__ <= i__1; ++i__) {
/* Generate elementary reflector H(i) to annihilate A(i,i+1:n) */
i__2 = *n - i__ + 1;
/* Computing MIN */
i__3 = i__ + 1;
dlarfp_(&i__2, &a[i__ + i__ * a_dim1], &a[i__ + min(i__3, *n)* a_dim1]
, lda, &tau[i__]);
if (i__ < *m) {
/* Apply H(i) to A(i+1:m,i:n) from the right */
aii = a[i__ + i__ * a_dim1];
a[i__ + i__ * a_dim1] = 1.;
i__2 = *m - i__;
i__3 = *n - i__ + 1;
dlarf_("Right", &i__2, &i__3, &a[i__ + i__ * a_dim1], lda, &tau[
i__], &a[i__ + 1 + i__ * a_dim1], lda, &work[1]);
a[i__ + i__ * a_dim1] = aii;
}
/* L10: */
}
return 0;
/* End of DGELQ2 */
} /* dgelq2_ */
-251
Ver Arquivo
@@ -1,251 +0,0 @@
/* dgelqf.f -- translated by f2c (version 20061008).
You must link the resulting object file with libf2c:
on Microsoft Windows system, link with libf2c.lib;
on Linux or Unix systems, link with .../path/to/libf2c.a -lm
or, if you install libf2c.a in a standard place, with -lf2c -lm
-- in that order, at the end of the command line, as in
cc *.o -lf2c -lm
Source for libf2c is in /netlib/f2c/libf2c.zip, e.g.,
http://www.netlib.org/f2c/libf2c.zip
*/
#include "clapack.h"
/* Table of constant values */
static integer c__1 = 1;
static integer c_n1 = -1;
static integer c__3 = 3;
static integer c__2 = 2;
/* Subroutine */ int dgelqf_(integer *m, integer *n, doublereal *a, integer *
lda, doublereal *tau, doublereal *work, integer *lwork, integer *info)
{
/* System generated locals */
integer a_dim1, a_offset, i__1, i__2, i__3, i__4;
/* Local variables */
integer i__, k, ib, nb, nx, iws, nbmin, iinfo;
extern /* Subroutine */ int dgelq2_(integer *, integer *, doublereal *,
integer *, doublereal *, doublereal *, integer *), dlarfb_(char *,
char *, char *, char *, integer *, integer *, integer *,
doublereal *, integer *, doublereal *, integer *, doublereal *,
integer *, doublereal *, integer *), dlarft_(char *, char *, integer *, integer *, doublereal
*, integer *, doublereal *, doublereal *, integer *), xerbla_(char *, integer *);
extern integer ilaenv_(integer *, char *, char *, integer *, integer *,
integer *, integer *);
integer ldwork, lwkopt;
logical lquery;
/* -- LAPACK routine (version 3.2) -- */
/* Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. */
/* November 2006 */
/* .. Scalar Arguments .. */
/* .. */
/* .. Array Arguments .. */
/* .. */
/* Purpose */
/* ======= */
/* DGELQF computes an LQ factorization of a real M-by-N matrix A: */
/* A = L * Q. */
/* Arguments */
/* ========= */
/* M (input) INTEGER */
/* The number of rows of the matrix A. M >= 0. */
/* N (input) INTEGER */
/* The number of columns of the matrix A. N >= 0. */
/* A (input/output) DOUBLE PRECISION array, dimension (LDA,N) */
/* On entry, the M-by-N matrix A. */
/* On exit, the elements on and below the diagonal of the array */
/* contain the m-by-min(m,n) lower trapezoidal matrix L (L is */
/* lower triangular if m <= n); the elements above the diagonal, */
/* with the array TAU, represent the orthogonal matrix Q as a */
/* product of elementary reflectors (see Further Details). */
/* LDA (input) INTEGER */
/* The leading dimension of the array A. LDA >= max(1,M). */
/* TAU (output) DOUBLE PRECISION array, dimension (min(M,N)) */
/* The scalar factors of the elementary reflectors (see Further */
/* Details). */
/* WORK (workspace/output) DOUBLE PRECISION array, dimension (MAX(1,LWORK)) */
/* On exit, if INFO = 0, WORK(1) returns the optimal LWORK. */
/* LWORK (input) INTEGER */
/* The dimension of the array WORK. LWORK >= max(1,M). */
/* For optimum performance LWORK >= M*NB, where NB is the */
/* optimal blocksize. */
/* If LWORK = -1, then a workspace query is assumed; the routine */
/* only calculates the optimal size of the WORK array, returns */
/* this value as the first entry of the WORK array, and no error */
/* message related to LWORK is issued by XERBLA. */
/* INFO (output) INTEGER */
/* = 0: successful exit */
/* < 0: if INFO = -i, the i-th argument had an illegal value */
/* Further Details */
/* =============== */
/* The matrix Q is represented as a product of elementary reflectors */
/* Q = H(k) . . . H(2) H(1), where k = min(m,n). */
/* Each H(i) has the form */
/* H(i) = I - tau * v * v' */
/* where tau is a real scalar, and v is a real vector with */
/* v(1:i-1) = 0 and v(i) = 1; v(i+1:n) is stored on exit in A(i,i+1:n), */
/* and tau in TAU(i). */
/* ===================================================================== */
/* .. Local Scalars .. */
/* .. */
/* .. External Subroutines .. */
/* .. */
/* .. Intrinsic Functions .. */
/* .. */
/* .. External Functions .. */
/* .. */
/* .. Executable Statements .. */
/* Test the input arguments */
/* Parameter adjustments */
a_dim1 = *lda;
a_offset = 1 + a_dim1;
a -= a_offset;
--tau;
--work;
/* Function Body */
*info = 0;
nb = ilaenv_(&c__1, "DGELQF", " ", m, n, &c_n1, &c_n1);
lwkopt = *m * nb;
work[1] = (doublereal) lwkopt;
lquery = *lwork == -1;
if (*m < 0) {
*info = -1;
} else if (*n < 0) {
*info = -2;
} else if (*lda < max(1,*m)) {
*info = -4;
} else if (*lwork < max(1,*m) && ! lquery) {
*info = -7;
}
if (*info != 0) {
i__1 = -(*info);
xerbla_("DGELQF", &i__1);
return 0;
} else if (lquery) {
return 0;
}
/* Quick return if possible */
k = min(*m,*n);
if (k == 0) {
work[1] = 1.;
return 0;
}
nbmin = 2;
nx = 0;
iws = *m;
if (nb > 1 && nb < k) {
/* Determine when to cross over from blocked to unblocked code. */
/* Computing MAX */
i__1 = 0, i__2 = ilaenv_(&c__3, "DGELQF", " ", m, n, &c_n1, &c_n1);
nx = max(i__1,i__2);
if (nx < k) {
/* Determine if workspace is large enough for blocked code. */
ldwork = *m;
iws = ldwork * nb;
if (*lwork < iws) {
/* Not enough workspace to use optimal NB: reduce NB and */
/* determine the minimum value of NB. */
nb = *lwork / ldwork;
/* Computing MAX */
i__1 = 2, i__2 = ilaenv_(&c__2, "DGELQF", " ", m, n, &c_n1, &
c_n1);
nbmin = max(i__1,i__2);
}
}
}
if (nb >= nbmin && nb < k && nx < k) {
/* Use blocked code initially */
i__1 = k - nx;
i__2 = nb;
for (i__ = 1; i__2 < 0 ? i__ >= i__1 : i__ <= i__1; i__ += i__2) {
/* Computing MIN */
i__3 = k - i__ + 1;
ib = min(i__3,nb);
/* Compute the LQ factorization of the current block */
/* A(i:i+ib-1,i:n) */
i__3 = *n - i__ + 1;
dgelq2_(&ib, &i__3, &a[i__ + i__ * a_dim1], lda, &tau[i__], &work[
1], &iinfo);
if (i__ + ib <= *m) {
/* Form the triangular factor of the block reflector */
/* H = H(i) H(i+1) . . . H(i+ib-1) */
i__3 = *n - i__ + 1;
dlarft_("Forward", "Rowwise", &i__3, &ib, &a[i__ + i__ *
a_dim1], lda, &tau[i__], &work[1], &ldwork);
/* Apply H to A(i+ib:m,i:n) from the right */
i__3 = *m - i__ - ib + 1;
i__4 = *n - i__ + 1;
dlarfb_("Right", "No transpose", "Forward", "Rowwise", &i__3,
&i__4, &ib, &a[i__ + i__ * a_dim1], lda, &work[1], &
ldwork, &a[i__ + ib + i__ * a_dim1], lda, &work[ib +
1], &ldwork);
}
/* L10: */
}
} else {
i__ = 1;
}
/* Use unblocked code to factor the last or only block. */
if (i__ <= k) {
i__2 = *m - i__ + 1;
i__1 = *n - i__ + 1;
dgelq2_(&i__2, &i__1, &a[i__ + i__ * a_dim1], lda, &tau[i__], &work[1]
, &iinfo);
}
work[1] = (doublereal) iws;
return 0;
/* End of DGELQF */
} /* dgelqf_ */
-515
Ver Arquivo
@@ -1,515 +0,0 @@
/* dgels.f -- translated by f2c (version 20061008).
You must link the resulting object file with libf2c:
on Microsoft Windows system, link with libf2c.lib;
on Linux or Unix systems, link with .../path/to/libf2c.a -lm
or, if you install libf2c.a in a standard place, with -lf2c -lm
-- in that order, at the end of the command line, as in
cc *.o -lf2c -lm
Source for libf2c is in /netlib/f2c/libf2c.zip, e.g.,
http://www.netlib.org/f2c/libf2c.zip
*/
#include "clapack.h"
/* Table of constant values */
static integer c__1 = 1;
static integer c_n1 = -1;
static doublereal c_b33 = 0.;
static integer c__0 = 0;
/* Subroutine */ int dgels_(char *trans, integer *m, integer *n, integer *
nrhs, doublereal *a, integer *lda, doublereal *b, integer *ldb,
doublereal *work, integer *lwork, integer *info)
{
/* System generated locals */
integer a_dim1, a_offset, b_dim1, b_offset, i__1, i__2;
/* Local variables */
integer i__, j, nb, mn;
doublereal anrm, bnrm;
integer brow;
logical tpsd;
integer iascl, ibscl;
extern logical lsame_(char *, char *);
integer wsize;
doublereal rwork[1];
extern /* Subroutine */ int dlabad_(doublereal *, doublereal *);
extern doublereal dlamch_(char *), dlange_(char *, integer *,
integer *, doublereal *, integer *, doublereal *);
extern /* Subroutine */ int dgelqf_(integer *, integer *, doublereal *,
integer *, doublereal *, doublereal *, integer *, integer *),
dlascl_(char *, integer *, integer *, doublereal *, doublereal *,
integer *, integer *, doublereal *, integer *, integer *),
dgeqrf_(integer *, integer *, doublereal *, integer *,
doublereal *, doublereal *, integer *, integer *), dlaset_(char *,
integer *, integer *, doublereal *, doublereal *, doublereal *,
integer *), xerbla_(char *, integer *);
extern integer ilaenv_(integer *, char *, char *, integer *, integer *,
integer *, integer *);
integer scllen;
doublereal bignum;
extern /* Subroutine */ int dormlq_(char *, char *, integer *, integer *,
integer *, doublereal *, integer *, doublereal *, doublereal *,
integer *, doublereal *, integer *, integer *),
dormqr_(char *, char *, integer *, integer *, integer *,
doublereal *, integer *, doublereal *, doublereal *, integer *,
doublereal *, integer *, integer *);
doublereal smlnum;
logical lquery;
extern /* Subroutine */ int dtrtrs_(char *, char *, char *, integer *,
integer *, doublereal *, integer *, doublereal *, integer *,
integer *);
/* -- LAPACK driver routine (version 3.2) -- */
/* Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. */
/* November 2006 */
/* .. Scalar Arguments .. */
/* .. */
/* .. Array Arguments .. */
/* .. */
/* Purpose */
/* ======= */
/* DGELS solves overdetermined or underdetermined real linear systems */
/* involving an M-by-N matrix A, or its transpose, using a QR or LQ */
/* factorization of A. It is assumed that A has full rank. */
/* The following options are provided: */
/* 1. If TRANS = 'N' and m >= n: find the least squares solution of */
/* an overdetermined system, i.e., solve the least squares problem */
/* minimize || B - A*X ||. */
/* 2. If TRANS = 'N' and m < n: find the minimum norm solution of */
/* an underdetermined system A * X = B. */
/* 3. If TRANS = 'T' and m >= n: find the minimum norm solution of */
/* an undetermined system A**T * X = B. */
/* 4. If TRANS = 'T' and m < n: find the least squares solution of */
/* an overdetermined system, i.e., solve the least squares problem */
/* minimize || B - A**T * X ||. */
/* Several right hand side vectors b and solution vectors x can be */
/* handled in a single call; they are stored as the columns of the */
/* M-by-NRHS right hand side matrix B and the N-by-NRHS solution */
/* matrix X. */
/* Arguments */
/* ========= */
/* TRANS (input) CHARACTER*1 */
/* = 'N': the linear system involves A; */
/* = 'T': the linear system involves A**T. */
/* M (input) INTEGER */
/* The number of rows of the matrix A. M >= 0. */
/* N (input) INTEGER */
/* The number of columns of the matrix A. N >= 0. */
/* NRHS (input) INTEGER */
/* The number of right hand sides, i.e., the number of */
/* columns of the matrices B and X. NRHS >=0. */
/* A (input/output) DOUBLE PRECISION array, dimension (LDA,N) */
/* On entry, the M-by-N matrix A. */
/* On exit, */
/* if M >= N, A is overwritten by details of its QR */
/* factorization as returned by DGEQRF; */
/* if M < N, A is overwritten by details of its LQ */
/* factorization as returned by DGELQF. */
/* LDA (input) INTEGER */
/* The leading dimension of the array A. LDA >= max(1,M). */
/* B (input/output) DOUBLE PRECISION array, dimension (LDB,NRHS) */
/* On entry, the matrix B of right hand side vectors, stored */
/* columnwise; B is M-by-NRHS if TRANS = 'N', or N-by-NRHS */
/* if TRANS = 'T'. */
/* On exit, if INFO = 0, B is overwritten by the solution */
/* vectors, stored columnwise: */
/* if TRANS = 'N' and m >= n, rows 1 to n of B contain the least */
/* squares solution vectors; the residual sum of squares for the */
/* solution in each column is given by the sum of squares of */
/* elements N+1 to M in that column; */
/* if TRANS = 'N' and m < n, rows 1 to N of B contain the */
/* minimum norm solution vectors; */
/* if TRANS = 'T' and m >= n, rows 1 to M of B contain the */
/* minimum norm solution vectors; */
/* if TRANS = 'T' and m < n, rows 1 to M of B contain the */
/* least squares solution vectors; the residual sum of squares */
/* for the solution in each column is given by the sum of */
/* squares of elements M+1 to N in that column. */
/* LDB (input) INTEGER */
/* The leading dimension of the array B. LDB >= MAX(1,M,N). */
/* WORK (workspace/output) DOUBLE PRECISION array, dimension (MAX(1,LWORK)) */
/* On exit, if INFO = 0, WORK(1) returns the optimal LWORK. */
/* LWORK (input) INTEGER */
/* The dimension of the array WORK. */
/* LWORK >= max( 1, MN + max( MN, NRHS ) ). */
/* For optimal performance, */
/* LWORK >= max( 1, MN + max( MN, NRHS )*NB ). */
/* where MN = min(M,N) and NB is the optimum block size. */
/* If LWORK = -1, then a workspace query is assumed; the routine */
/* only calculates the optimal size of the WORK array, returns */
/* this value as the first entry of the WORK array, and no error */
/* message related to LWORK is issued by XERBLA. */
/* INFO (output) INTEGER */
/* = 0: successful exit */
/* < 0: if INFO = -i, the i-th argument had an illegal value */
/* > 0: if INFO = i, the i-th diagonal element of the */
/* triangular factor of A is zero, so that A does not have */
/* full rank; the least squares solution could not be */
/* computed. */
/* ===================================================================== */
/* .. Parameters .. */
/* .. */
/* .. Local Scalars .. */
/* .. */
/* .. Local Arrays .. */
/* .. */
/* .. External Functions .. */
/* .. */
/* .. External Subroutines .. */
/* .. */
/* .. Intrinsic Functions .. */
/* .. */
/* .. Executable Statements .. */
/* Test the input arguments. */
/* Parameter adjustments */
a_dim1 = *lda;
a_offset = 1 + a_dim1;
a -= a_offset;
b_dim1 = *ldb;
b_offset = 1 + b_dim1;
b -= b_offset;
--work;
/* Function Body */
*info = 0;
mn = min(*m,*n);
lquery = *lwork == -1;
if (! (lsame_(trans, "N") || lsame_(trans, "T"))) {
*info = -1;
} else if (*m < 0) {
*info = -2;
} else if (*n < 0) {
*info = -3;
} else if (*nrhs < 0) {
*info = -4;
} else if (*lda < max(1,*m)) {
*info = -6;
} else /* if(complicated condition) */ {
/* Computing MAX */
i__1 = max(1,*m);
if (*ldb < max(i__1,*n)) {
*info = -8;
} else /* if(complicated condition) */ {
/* Computing MAX */
i__1 = 1, i__2 = mn + max(mn,*nrhs);
if (*lwork < max(i__1,i__2) && ! lquery) {
*info = -10;
}
}
}
/* Figure out optimal block size */
if (*info == 0 || *info == -10) {
tpsd = TRUE_;
if (lsame_(trans, "N")) {
tpsd = FALSE_;
}
if (*m >= *n) {
nb = ilaenv_(&c__1, "DGEQRF", " ", m, n, &c_n1, &c_n1);
if (tpsd) {
/* Computing MAX */
i__1 = nb, i__2 = ilaenv_(&c__1, "DORMQR", "LN", m, nrhs, n, &
c_n1);
nb = max(i__1,i__2);
} else {
/* Computing MAX */
i__1 = nb, i__2 = ilaenv_(&c__1, "DORMQR", "LT", m, nrhs, n, &
c_n1);
nb = max(i__1,i__2);
}
} else {
nb = ilaenv_(&c__1, "DGELQF", " ", m, n, &c_n1, &c_n1);
if (tpsd) {
/* Computing MAX */
i__1 = nb, i__2 = ilaenv_(&c__1, "DORMLQ", "LT", n, nrhs, m, &
c_n1);
nb = max(i__1,i__2);
} else {
/* Computing MAX */
i__1 = nb, i__2 = ilaenv_(&c__1, "DORMLQ", "LN", n, nrhs, m, &
c_n1);
nb = max(i__1,i__2);
}
}
/* Computing MAX */
i__1 = 1, i__2 = mn + max(mn,*nrhs) * nb;
wsize = max(i__1,i__2);
work[1] = (doublereal) wsize;
}
if (*info != 0) {
i__1 = -(*info);
xerbla_("DGELS ", &i__1);
return 0;
} else if (lquery) {
return 0;
}
/* Quick return if possible */
/* Computing MIN */
i__1 = min(*m,*n);
if (min(i__1,*nrhs) == 0) {
i__1 = max(*m,*n);
dlaset_("Full", &i__1, nrhs, &c_b33, &c_b33, &b[b_offset], ldb);
return 0;
}
/* Get machine parameters */
smlnum = dlamch_("S") / dlamch_("P");
bignum = 1. / smlnum;
dlabad_(&smlnum, &bignum);
/* Scale A, B if max element outside range [SMLNUM,BIGNUM] */
anrm = dlange_("M", m, n, &a[a_offset], lda, rwork);
iascl = 0;
if (anrm > 0. && anrm < smlnum) {
/* Scale matrix norm up to SMLNUM */
dlascl_("G", &c__0, &c__0, &anrm, &smlnum, m, n, &a[a_offset], lda,
info);
iascl = 1;
} else if (anrm > bignum) {
/* Scale matrix norm down to BIGNUM */
dlascl_("G", &c__0, &c__0, &anrm, &bignum, m, n, &a[a_offset], lda,
info);
iascl = 2;
} else if (anrm == 0.) {
/* Matrix all zero. Return zero solution. */
i__1 = max(*m,*n);
dlaset_("F", &i__1, nrhs, &c_b33, &c_b33, &b[b_offset], ldb);
goto L50;
}
brow = *m;
if (tpsd) {
brow = *n;
}
bnrm = dlange_("M", &brow, nrhs, &b[b_offset], ldb, rwork);
ibscl = 0;
if (bnrm > 0. && bnrm < smlnum) {
/* Scale matrix norm up to SMLNUM */
dlascl_("G", &c__0, &c__0, &bnrm, &smlnum, &brow, nrhs, &b[b_offset],
ldb, info);
ibscl = 1;
} else if (bnrm > bignum) {
/* Scale matrix norm down to BIGNUM */
dlascl_("G", &c__0, &c__0, &bnrm, &bignum, &brow, nrhs, &b[b_offset],
ldb, info);
ibscl = 2;
}
if (*m >= *n) {
/* compute QR factorization of A */
i__1 = *lwork - mn;
dgeqrf_(m, n, &a[a_offset], lda, &work[1], &work[mn + 1], &i__1, info)
;
/* workspace at least N, optimally N*NB */
if (! tpsd) {
/* Least-Squares Problem min || A * X - B || */
/* B(1:M,1:NRHS) := Q' * B(1:M,1:NRHS) */
i__1 = *lwork - mn;
dormqr_("Left", "Transpose", m, nrhs, n, &a[a_offset], lda, &work[
1], &b[b_offset], ldb, &work[mn + 1], &i__1, info);
/* workspace at least NRHS, optimally NRHS*NB */
/* B(1:N,1:NRHS) := inv(R) * B(1:N,1:NRHS) */
dtrtrs_("Upper", "No transpose", "Non-unit", n, nrhs, &a[a_offset]
, lda, &b[b_offset], ldb, info);
if (*info > 0) {
return 0;
}
scllen = *n;
} else {
/* Overdetermined system of equations A' * X = B */
/* B(1:N,1:NRHS) := inv(R') * B(1:N,1:NRHS) */
dtrtrs_("Upper", "Transpose", "Non-unit", n, nrhs, &a[a_offset],
lda, &b[b_offset], ldb, info);
if (*info > 0) {
return 0;
}
/* B(N+1:M,1:NRHS) = ZERO */
i__1 = *nrhs;
for (j = 1; j <= i__1; ++j) {
i__2 = *m;
for (i__ = *n + 1; i__ <= i__2; ++i__) {
b[i__ + j * b_dim1] = 0.;
/* L10: */
}
/* L20: */
}
/* B(1:M,1:NRHS) := Q(1:N,:) * B(1:N,1:NRHS) */
i__1 = *lwork - mn;
dormqr_("Left", "No transpose", m, nrhs, n, &a[a_offset], lda, &
work[1], &b[b_offset], ldb, &work[mn + 1], &i__1, info);
/* workspace at least NRHS, optimally NRHS*NB */
scllen = *m;
}
} else {
/* Compute LQ factorization of A */
i__1 = *lwork - mn;
dgelqf_(m, n, &a[a_offset], lda, &work[1], &work[mn + 1], &i__1, info)
;
/* workspace at least M, optimally M*NB. */
if (! tpsd) {
/* underdetermined system of equations A * X = B */
/* B(1:M,1:NRHS) := inv(L) * B(1:M,1:NRHS) */
dtrtrs_("Lower", "No transpose", "Non-unit", m, nrhs, &a[a_offset]
, lda, &b[b_offset], ldb, info);
if (*info > 0) {
return 0;
}
/* B(M+1:N,1:NRHS) = 0 */
i__1 = *nrhs;
for (j = 1; j <= i__1; ++j) {
i__2 = *n;
for (i__ = *m + 1; i__ <= i__2; ++i__) {
b[i__ + j * b_dim1] = 0.;
/* L30: */
}
/* L40: */
}
/* B(1:N,1:NRHS) := Q(1:N,:)' * B(1:M,1:NRHS) */
i__1 = *lwork - mn;
dormlq_("Left", "Transpose", n, nrhs, m, &a[a_offset], lda, &work[
1], &b[b_offset], ldb, &work[mn + 1], &i__1, info);
/* workspace at least NRHS, optimally NRHS*NB */
scllen = *n;
} else {
/* overdetermined system min || A' * X - B || */
/* B(1:N,1:NRHS) := Q * B(1:N,1:NRHS) */
i__1 = *lwork - mn;
dormlq_("Left", "No transpose", n, nrhs, m, &a[a_offset], lda, &
work[1], &b[b_offset], ldb, &work[mn + 1], &i__1, info);
/* workspace at least NRHS, optimally NRHS*NB */
/* B(1:M,1:NRHS) := inv(L') * B(1:M,1:NRHS) */
dtrtrs_("Lower", "Transpose", "Non-unit", m, nrhs, &a[a_offset],
lda, &b[b_offset], ldb, info);
if (*info > 0) {
return 0;
}
scllen = *m;
}
}
/* Undo scaling */
if (iascl == 1) {
dlascl_("G", &c__0, &c__0, &anrm, &smlnum, &scllen, nrhs, &b[b_offset]
, ldb, info);
} else if (iascl == 2) {
dlascl_("G", &c__0, &c__0, &anrm, &bignum, &scllen, nrhs, &b[b_offset]
, ldb, info);
}
if (ibscl == 1) {
dlascl_("G", &c__0, &c__0, &smlnum, &bnrm, &scllen, nrhs, &b[b_offset]
, ldb, info);
} else if (ibscl == 2) {
dlascl_("G", &c__0, &c__0, &bignum, &bnrm, &scllen, nrhs, &b[b_offset]
, ldb, info);
}
L50:
work[1] = (doublereal) wsize;
return 0;
/* End of DGELS */
} /* dgels_ */
-693
Ver Arquivo
@@ -1,693 +0,0 @@
/* dgelsd.f -- translated by f2c (version 20061008).
You must link the resulting object file with libf2c:
on Microsoft Windows system, link with libf2c.lib;
on Linux or Unix systems, link with .../path/to/libf2c.a -lm
or, if you install libf2c.a in a standard place, with -lf2c -lm
-- in that order, at the end of the command line, as in
cc *.o -lf2c -lm
Source for libf2c is in /netlib/f2c/libf2c.zip, e.g.,
http://www.netlib.org/f2c/libf2c.zip
*/
#include "clapack.h"
/* Table of constant values */
static integer c__6 = 6;
static integer c_n1 = -1;
static integer c__9 = 9;
static integer c__0 = 0;
static integer c__1 = 1;
static doublereal c_b82 = 0.;
/* Subroutine */ int dgelsd_(integer *m, integer *n, integer *nrhs,
doublereal *a, integer *lda, doublereal *b, integer *ldb, doublereal *
s, doublereal *rcond, integer *rank, doublereal *work, integer *lwork,
integer *iwork, integer *info)
{
/* System generated locals */
integer a_dim1, a_offset, b_dim1, b_offset, i__1, i__2, i__3, i__4;
/* Builtin functions */
double log(doublereal);
/* Local variables */
integer ie, il, mm;
doublereal eps, anrm, bnrm;
integer itau, nlvl, iascl, ibscl;
doublereal sfmin;
integer minmn, maxmn, itaup, itauq, mnthr, nwork;
extern /* Subroutine */ int dlabad_(doublereal *, doublereal *), dgebrd_(
integer *, integer *, doublereal *, integer *, doublereal *,
doublereal *, doublereal *, doublereal *, doublereal *, integer *,
integer *);
extern doublereal dlamch_(char *), dlange_(char *, integer *,
integer *, doublereal *, integer *, doublereal *);
extern /* Subroutine */ int dgelqf_(integer *, integer *, doublereal *,
integer *, doublereal *, doublereal *, integer *, integer *),
dlalsd_(char *, integer *, integer *, integer *, doublereal *,
doublereal *, doublereal *, integer *, doublereal *, integer *,
doublereal *, integer *, integer *), dlascl_(char *,
integer *, integer *, doublereal *, doublereal *, integer *,
integer *, doublereal *, integer *, integer *), dgeqrf_(
integer *, integer *, doublereal *, integer *, doublereal *,
doublereal *, integer *, integer *), dlacpy_(char *, integer *,
integer *, doublereal *, integer *, doublereal *, integer *), dlaset_(char *, integer *, integer *, doublereal *,
doublereal *, doublereal *, integer *), xerbla_(char *,
integer *);
extern integer ilaenv_(integer *, char *, char *, integer *, integer *,
integer *, integer *);
doublereal bignum;
extern /* Subroutine */ int dormbr_(char *, char *, char *, integer *,
integer *, integer *, doublereal *, integer *, doublereal *,
doublereal *, integer *, doublereal *, integer *, integer *);
integer wlalsd;
extern /* Subroutine */ int dormlq_(char *, char *, integer *, integer *,
integer *, doublereal *, integer *, doublereal *, doublereal *,
integer *, doublereal *, integer *, integer *);
integer ldwork;
extern /* Subroutine */ int dormqr_(char *, char *, integer *, integer *,
integer *, doublereal *, integer *, doublereal *, doublereal *,
integer *, doublereal *, integer *, integer *);
integer minwrk, maxwrk;
doublereal smlnum;
logical lquery;
integer smlsiz;
/* -- LAPACK driver routine (version 3.2) -- */
/* Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. */
/* November 2006 */
/* .. Scalar Arguments .. */
/* .. */
/* .. Array Arguments .. */
/* .. */
/* Purpose */
/* ======= */
/* DGELSD computes the minimum-norm solution to a real linear least */
/* squares problem: */
/* minimize 2-norm(| b - A*x |) */
/* using the singular value decomposition (SVD) of A. A is an M-by-N */
/* matrix which may be rank-deficient. */
/* Several right hand side vectors b and solution vectors x can be */
/* handled in a single call; they are stored as the columns of the */
/* M-by-NRHS right hand side matrix B and the N-by-NRHS solution */
/* matrix X. */
/* The problem is solved in three steps: */
/* (1) Reduce the coefficient matrix A to bidiagonal form with */
/* Householder transformations, reducing the original problem */
/* into a "bidiagonal least squares problem" (BLS) */
/* (2) Solve the BLS using a divide and conquer approach. */
/* (3) Apply back all the Householder tranformations to solve */
/* the original least squares problem. */
/* The effective rank of A is determined by treating as zero those */
/* singular values which are less than RCOND times the largest singular */
/* value. */
/* The divide and conquer algorithm makes very mild assumptions about */
/* floating point arithmetic. It will work on machines with a guard */
/* digit in add/subtract, or on those binary machines without guard */
/* digits which subtract like the Cray X-MP, Cray Y-MP, Cray C-90, or */
/* Cray-2. It could conceivably fail on hexadecimal or decimal machines */
/* without guard digits, but we know of none. */
/* Arguments */
/* ========= */
/* M (input) INTEGER */
/* The number of rows of A. M >= 0. */
/* N (input) INTEGER */
/* The number of columns of A. N >= 0. */
/* NRHS (input) INTEGER */
/* The number of right hand sides, i.e., the number of columns */
/* of the matrices B and X. NRHS >= 0. */
/* A (input) DOUBLE PRECISION array, dimension (LDA,N) */
/* On entry, the M-by-N matrix A. */
/* On exit, A has been destroyed. */
/* LDA (input) INTEGER */
/* The leading dimension of the array A. LDA >= max(1,M). */
/* B (input/output) DOUBLE PRECISION array, dimension (LDB,NRHS) */
/* On entry, the M-by-NRHS right hand side matrix B. */
/* On exit, B is overwritten by the N-by-NRHS solution */
/* matrix X. If m >= n and RANK = n, the residual */
/* sum-of-squares for the solution in the i-th column is given */
/* by the sum of squares of elements n+1:m in that column. */
/* LDB (input) INTEGER */
/* The leading dimension of the array B. LDB >= max(1,max(M,N)). */
/* S (output) DOUBLE PRECISION array, dimension (min(M,N)) */
/* The singular values of A in decreasing order. */
/* The condition number of A in the 2-norm = S(1)/S(min(m,n)). */
/* RCOND (input) DOUBLE PRECISION */
/* RCOND is used to determine the effective rank of A. */
/* Singular values S(i) <= RCOND*S(1) are treated as zero. */
/* If RCOND < 0, machine precision is used instead. */
/* RANK (output) INTEGER */
/* The effective rank of A, i.e., the number of singular values */
/* which are greater than RCOND*S(1). */
/* WORK (workspace/output) DOUBLE PRECISION array, dimension (MAX(1,LWORK)) */
/* On exit, if INFO = 0, WORK(1) returns the optimal LWORK. */
/* LWORK (input) INTEGER */
/* The dimension of the array WORK. LWORK must be at least 1. */
/* The exact minimum amount of workspace needed depends on M, */
/* N and NRHS. As long as LWORK is at least */
/* 12*N + 2*N*SMLSIZ + 8*N*NLVL + N*NRHS + (SMLSIZ+1)**2, */
/* if M is greater than or equal to N or */
/* 12*M + 2*M*SMLSIZ + 8*M*NLVL + M*NRHS + (SMLSIZ+1)**2, */
/* if M is less than N, the code will execute correctly. */
/* SMLSIZ is returned by ILAENV and is equal to the maximum */
/* size of the subproblems at the bottom of the computation */
/* tree (usually about 25), and */
/* NLVL = MAX( 0, INT( LOG_2( MIN( M,N )/(SMLSIZ+1) ) ) + 1 ) */
/* For good performance, LWORK should generally be larger. */
/* If LWORK = -1, then a workspace query is assumed; the routine */
/* only calculates the optimal size of the WORK array, returns */
/* this value as the first entry of the WORK array, and no error */
/* message related to LWORK is issued by XERBLA. */
/* IWORK (workspace) INTEGER array, dimension (MAX(1,LIWORK)) */
/* LIWORK >= 3 * MINMN * NLVL + 11 * MINMN, */
/* where MINMN = MIN( M,N ). */
/* INFO (output) INTEGER */
/* = 0: successful exit */
/* < 0: if INFO = -i, the i-th argument had an illegal value. */
/* > 0: the algorithm for computing the SVD failed to converge; */
/* if INFO = i, i off-diagonal elements of an intermediate */
/* bidiagonal form did not converge to zero. */
/* Further Details */
/* =============== */
/* Based on contributions by */
/* Ming Gu and Ren-Cang Li, Computer Science Division, University of */
/* California at Berkeley, USA */
/* Osni Marques, LBNL/NERSC, USA */
/* ===================================================================== */
/* .. Parameters .. */
/* .. */
/* .. Local Scalars .. */
/* .. */
/* .. External Subroutines .. */
/* .. */
/* .. External Functions .. */
/* .. */
/* .. Intrinsic Functions .. */
/* .. */
/* .. Executable Statements .. */
/* Test the input arguments. */
/* Parameter adjustments */
a_dim1 = *lda;
a_offset = 1 + a_dim1;
a -= a_offset;
b_dim1 = *ldb;
b_offset = 1 + b_dim1;
b -= b_offset;
--s;
--work;
--iwork;
/* Function Body */
*info = 0;
minmn = min(*m,*n);
maxmn = max(*m,*n);
mnthr = ilaenv_(&c__6, "DGELSD", " ", m, n, nrhs, &c_n1);
lquery = *lwork == -1;
if (*m < 0) {
*info = -1;
} else if (*n < 0) {
*info = -2;
} else if (*nrhs < 0) {
*info = -3;
} else if (*lda < max(1,*m)) {
*info = -5;
} else if (*ldb < max(1,maxmn)) {
*info = -7;
}
smlsiz = ilaenv_(&c__9, "DGELSD", " ", &c__0, &c__0, &c__0, &c__0);
/* Compute workspace. */
/* (Note: Comments in the code beginning "Workspace:" describe the */
/* minimal amount of workspace needed at that point in the code, */
/* as well as the preferred amount for good performance. */
/* NB refers to the optimal block size for the immediately */
/* following subroutine, as returned by ILAENV.) */
minwrk = 1;
minmn = max(1,minmn);
/* Computing MAX */
i__1 = (integer) (log((doublereal) minmn / (doublereal) (smlsiz + 1)) /
log(2.)) + 1;
nlvl = max(i__1,0);
if (*info == 0) {
maxwrk = 0;
mm = *m;
if (*m >= *n && *m >= mnthr) {
/* Path 1a - overdetermined, with many more rows than columns. */
mm = *n;
/* Computing MAX */
i__1 = maxwrk, i__2 = *n + *n * ilaenv_(&c__1, "DGEQRF", " ", m,
n, &c_n1, &c_n1);
maxwrk = max(i__1,i__2);
/* Computing MAX */
i__1 = maxwrk, i__2 = *n + *nrhs * ilaenv_(&c__1, "DORMQR", "LT",
m, nrhs, n, &c_n1);
maxwrk = max(i__1,i__2);
}
if (*m >= *n) {
/* Path 1 - overdetermined or exactly determined. */
/* Computing MAX */
i__1 = maxwrk, i__2 = *n * 3 + (mm + *n) * ilaenv_(&c__1, "DGEBRD"
, " ", &mm, n, &c_n1, &c_n1);
maxwrk = max(i__1,i__2);
/* Computing MAX */
i__1 = maxwrk, i__2 = *n * 3 + *nrhs * ilaenv_(&c__1, "DORMBR",
"QLT", &mm, nrhs, n, &c_n1);
maxwrk = max(i__1,i__2);
/* Computing MAX */
i__1 = maxwrk, i__2 = *n * 3 + (*n - 1) * ilaenv_(&c__1, "DORMBR",
"PLN", n, nrhs, n, &c_n1);
maxwrk = max(i__1,i__2);
/* Computing 2nd power */
i__1 = smlsiz + 1;
wlalsd = *n * 9 + (*n << 1) * smlsiz + (*n << 3) * nlvl + *n * *
nrhs + i__1 * i__1;
/* Computing MAX */
i__1 = maxwrk, i__2 = *n * 3 + wlalsd;
maxwrk = max(i__1,i__2);
/* Computing MAX */
i__1 = *n * 3 + mm, i__2 = *n * 3 + *nrhs, i__1 = max(i__1,i__2),
i__2 = *n * 3 + wlalsd;
minwrk = max(i__1,i__2);
}
if (*n > *m) {
/* Computing 2nd power */
i__1 = smlsiz + 1;
wlalsd = *m * 9 + (*m << 1) * smlsiz + (*m << 3) * nlvl + *m * *
nrhs + i__1 * i__1;
if (*n >= mnthr) {
/* Path 2a - underdetermined, with many more columns */
/* than rows. */
maxwrk = *m + *m * ilaenv_(&c__1, "DGELQF", " ", m, n, &c_n1,
&c_n1);
/* Computing MAX */
i__1 = maxwrk, i__2 = *m * *m + (*m << 2) + (*m << 1) *
ilaenv_(&c__1, "DGEBRD", " ", m, m, &c_n1, &c_n1);
maxwrk = max(i__1,i__2);
/* Computing MAX */
i__1 = maxwrk, i__2 = *m * *m + (*m << 2) + *nrhs * ilaenv_(&
c__1, "DORMBR", "QLT", m, nrhs, m, &c_n1);
maxwrk = max(i__1,i__2);
/* Computing MAX */
i__1 = maxwrk, i__2 = *m * *m + (*m << 2) + (*m - 1) *
ilaenv_(&c__1, "DORMBR", "PLN", m, nrhs, m, &c_n1);
maxwrk = max(i__1,i__2);
if (*nrhs > 1) {
/* Computing MAX */
i__1 = maxwrk, i__2 = *m * *m + *m + *m * *nrhs;
maxwrk = max(i__1,i__2);
} else {
/* Computing MAX */
i__1 = maxwrk, i__2 = *m * *m + (*m << 1);
maxwrk = max(i__1,i__2);
}
/* Computing MAX */
i__1 = maxwrk, i__2 = *m + *nrhs * ilaenv_(&c__1, "DORMLQ",
"LT", n, nrhs, m, &c_n1);
maxwrk = max(i__1,i__2);
/* Computing MAX */
i__1 = maxwrk, i__2 = *m * *m + (*m << 2) + wlalsd;
maxwrk = max(i__1,i__2);
/* XXX: Ensure the Path 2a case below is triggered. The workspace */
/* calculation should use queries for all routines eventually. */
/* Computing MAX */
/* Computing MAX */
i__3 = *m, i__4 = (*m << 1) - 4, i__3 = max(i__3,i__4), i__3 =
max(i__3,*nrhs), i__4 = *n - *m * 3;
i__1 = maxwrk, i__2 = (*m << 2) + *m * *m + max(i__3,i__4);
maxwrk = max(i__1,i__2);
} else {
/* Path 2 - remaining underdetermined cases. */
maxwrk = *m * 3 + (*n + *m) * ilaenv_(&c__1, "DGEBRD", " ", m,
n, &c_n1, &c_n1);
/* Computing MAX */
i__1 = maxwrk, i__2 = *m * 3 + *nrhs * ilaenv_(&c__1, "DORMBR"
, "QLT", m, nrhs, n, &c_n1);
maxwrk = max(i__1,i__2);
/* Computing MAX */
i__1 = maxwrk, i__2 = *m * 3 + *m * ilaenv_(&c__1, "DORMBR",
"PLN", n, nrhs, m, &c_n1);
maxwrk = max(i__1,i__2);
/* Computing MAX */
i__1 = maxwrk, i__2 = *m * 3 + wlalsd;
maxwrk = max(i__1,i__2);
}
/* Computing MAX */
i__1 = *m * 3 + *nrhs, i__2 = *m * 3 + *m, i__1 = max(i__1,i__2),
i__2 = *m * 3 + wlalsd;
minwrk = max(i__1,i__2);
}
minwrk = min(minwrk,maxwrk);
work[1] = (doublereal) maxwrk;
if (*lwork < minwrk && ! lquery) {
*info = -12;
}
}
if (*info != 0) {
i__1 = -(*info);
xerbla_("DGELSD", &i__1);
return 0;
} else if (lquery) {
goto L10;
}
/* Quick return if possible. */
if (*m == 0 || *n == 0) {
*rank = 0;
return 0;
}
/* Get machine parameters. */
eps = dlamch_("P");
sfmin = dlamch_("S");
smlnum = sfmin / eps;
bignum = 1. / smlnum;
dlabad_(&smlnum, &bignum);
/* Scale A if max entry outside range [SMLNUM,BIGNUM]. */
anrm = dlange_("M", m, n, &a[a_offset], lda, &work[1]);
iascl = 0;
if (anrm > 0. && anrm < smlnum) {
/* Scale matrix norm up to SMLNUM. */
dlascl_("G", &c__0, &c__0, &anrm, &smlnum, m, n, &a[a_offset], lda,
info);
iascl = 1;
} else if (anrm > bignum) {
/* Scale matrix norm down to BIGNUM. */
dlascl_("G", &c__0, &c__0, &anrm, &bignum, m, n, &a[a_offset], lda,
info);
iascl = 2;
} else if (anrm == 0.) {
/* Matrix all zero. Return zero solution. */
i__1 = max(*m,*n);
dlaset_("F", &i__1, nrhs, &c_b82, &c_b82, &b[b_offset], ldb);
dlaset_("F", &minmn, &c__1, &c_b82, &c_b82, &s[1], &c__1);
*rank = 0;
goto L10;
}
/* Scale B if max entry outside range [SMLNUM,BIGNUM]. */
bnrm = dlange_("M", m, nrhs, &b[b_offset], ldb, &work[1]);
ibscl = 0;
if (bnrm > 0. && bnrm < smlnum) {
/* Scale matrix norm up to SMLNUM. */
dlascl_("G", &c__0, &c__0, &bnrm, &smlnum, m, nrhs, &b[b_offset], ldb,
info);
ibscl = 1;
} else if (bnrm > bignum) {
/* Scale matrix norm down to BIGNUM. */
dlascl_("G", &c__0, &c__0, &bnrm, &bignum, m, nrhs, &b[b_offset], ldb,
info);
ibscl = 2;
}
/* If M < N make sure certain entries of B are zero. */
if (*m < *n) {
i__1 = *n - *m;
dlaset_("F", &i__1, nrhs, &c_b82, &c_b82, &b[*m + 1 + b_dim1], ldb);
}
/* Overdetermined case. */
if (*m >= *n) {
/* Path 1 - overdetermined or exactly determined. */
mm = *m;
if (*m >= mnthr) {
/* Path 1a - overdetermined, with many more rows than columns. */
mm = *n;
itau = 1;
nwork = itau + *n;
/* Compute A=Q*R. */
/* (Workspace: need 2*N, prefer N+N*NB) */
i__1 = *lwork - nwork + 1;
dgeqrf_(m, n, &a[a_offset], lda, &work[itau], &work[nwork], &i__1,
info);
/* Multiply B by transpose(Q). */
/* (Workspace: need N+NRHS, prefer N+NRHS*NB) */
i__1 = *lwork - nwork + 1;
dormqr_("L", "T", m, nrhs, n, &a[a_offset], lda, &work[itau], &b[
b_offset], ldb, &work[nwork], &i__1, info);
/* Zero out below R. */
if (*n > 1) {
i__1 = *n - 1;
i__2 = *n - 1;
dlaset_("L", &i__1, &i__2, &c_b82, &c_b82, &a[a_dim1 + 2],
lda);
}
}
ie = 1;
itauq = ie + *n;
itaup = itauq + *n;
nwork = itaup + *n;
/* Bidiagonalize R in A. */
/* (Workspace: need 3*N+MM, prefer 3*N+(MM+N)*NB) */
i__1 = *lwork - nwork + 1;
dgebrd_(&mm, n, &a[a_offset], lda, &s[1], &work[ie], &work[itauq], &
work[itaup], &work[nwork], &i__1, info);
/* Multiply B by transpose of left bidiagonalizing vectors of R. */
/* (Workspace: need 3*N+NRHS, prefer 3*N+NRHS*NB) */
i__1 = *lwork - nwork + 1;
dormbr_("Q", "L", "T", &mm, nrhs, n, &a[a_offset], lda, &work[itauq],
&b[b_offset], ldb, &work[nwork], &i__1, info);
/* Solve the bidiagonal least squares problem. */
dlalsd_("U", &smlsiz, n, nrhs, &s[1], &work[ie], &b[b_offset], ldb,
rcond, rank, &work[nwork], &iwork[1], info);
if (*info != 0) {
goto L10;
}
/* Multiply B by right bidiagonalizing vectors of R. */
i__1 = *lwork - nwork + 1;
dormbr_("P", "L", "N", n, nrhs, n, &a[a_offset], lda, &work[itaup], &
b[b_offset], ldb, &work[nwork], &i__1, info);
} else /* if(complicated condition) */ {
/* Computing MAX */
i__1 = *m, i__2 = (*m << 1) - 4, i__1 = max(i__1,i__2), i__1 = max(
i__1,*nrhs), i__2 = *n - *m * 3, i__1 = max(i__1,i__2);
if (*n >= mnthr && *lwork >= (*m << 2) + *m * *m + max(i__1,wlalsd)) {
/* Path 2a - underdetermined, with many more columns than rows */
/* and sufficient workspace for an efficient algorithm. */
ldwork = *m;
/* Computing MAX */
/* Computing MAX */
i__3 = *m, i__4 = (*m << 1) - 4, i__3 = max(i__3,i__4), i__3 =
max(i__3,*nrhs), i__4 = *n - *m * 3;
i__1 = (*m << 2) + *m * *lda + max(i__3,i__4), i__2 = *m * *lda +
*m + *m * *nrhs, i__1 = max(i__1,i__2), i__2 = (*m << 2)
+ *m * *lda + wlalsd;
if (*lwork >= max(i__1,i__2)) {
ldwork = *lda;
}
itau = 1;
nwork = *m + 1;
/* Compute A=L*Q. */
/* (Workspace: need 2*M, prefer M+M*NB) */
i__1 = *lwork - nwork + 1;
dgelqf_(m, n, &a[a_offset], lda, &work[itau], &work[nwork], &i__1,
info);
il = nwork;
/* Copy L to WORK(IL), zeroing out above its diagonal. */
dlacpy_("L", m, m, &a[a_offset], lda, &work[il], &ldwork);
i__1 = *m - 1;
i__2 = *m - 1;
dlaset_("U", &i__1, &i__2, &c_b82, &c_b82, &work[il + ldwork], &
ldwork);
ie = il + ldwork * *m;
itauq = ie + *m;
itaup = itauq + *m;
nwork = itaup + *m;
/* Bidiagonalize L in WORK(IL). */
/* (Workspace: need M*M+5*M, prefer M*M+4*M+2*M*NB) */
i__1 = *lwork - nwork + 1;
dgebrd_(m, m, &work[il], &ldwork, &s[1], &work[ie], &work[itauq],
&work[itaup], &work[nwork], &i__1, info);
/* Multiply B by transpose of left bidiagonalizing vectors of L. */
/* (Workspace: need M*M+4*M+NRHS, prefer M*M+4*M+NRHS*NB) */
i__1 = *lwork - nwork + 1;
dormbr_("Q", "L", "T", m, nrhs, m, &work[il], &ldwork, &work[
itauq], &b[b_offset], ldb, &work[nwork], &i__1, info);
/* Solve the bidiagonal least squares problem. */
dlalsd_("U", &smlsiz, m, nrhs, &s[1], &work[ie], &b[b_offset],
ldb, rcond, rank, &work[nwork], &iwork[1], info);
if (*info != 0) {
goto L10;
}
/* Multiply B by right bidiagonalizing vectors of L. */
i__1 = *lwork - nwork + 1;
dormbr_("P", "L", "N", m, nrhs, m, &work[il], &ldwork, &work[
itaup], &b[b_offset], ldb, &work[nwork], &i__1, info);
/* Zero out below first M rows of B. */
i__1 = *n - *m;
dlaset_("F", &i__1, nrhs, &c_b82, &c_b82, &b[*m + 1 + b_dim1],
ldb);
nwork = itau + *m;
/* Multiply transpose(Q) by B. */
/* (Workspace: need M+NRHS, prefer M+NRHS*NB) */
i__1 = *lwork - nwork + 1;
dormlq_("L", "T", n, nrhs, m, &a[a_offset], lda, &work[itau], &b[
b_offset], ldb, &work[nwork], &i__1, info);
} else {
/* Path 2 - remaining underdetermined cases. */
ie = 1;
itauq = ie + *m;
itaup = itauq + *m;
nwork = itaup + *m;
/* Bidiagonalize A. */
/* (Workspace: need 3*M+N, prefer 3*M+(M+N)*NB) */
i__1 = *lwork - nwork + 1;
dgebrd_(m, n, &a[a_offset], lda, &s[1], &work[ie], &work[itauq], &
work[itaup], &work[nwork], &i__1, info);
/* Multiply B by transpose of left bidiagonalizing vectors. */
/* (Workspace: need 3*M+NRHS, prefer 3*M+NRHS*NB) */
i__1 = *lwork - nwork + 1;
dormbr_("Q", "L", "T", m, nrhs, n, &a[a_offset], lda, &work[itauq]
, &b[b_offset], ldb, &work[nwork], &i__1, info);
/* Solve the bidiagonal least squares problem. */
dlalsd_("L", &smlsiz, m, nrhs, &s[1], &work[ie], &b[b_offset],
ldb, rcond, rank, &work[nwork], &iwork[1], info);
if (*info != 0) {
goto L10;
}
/* Multiply B by right bidiagonalizing vectors of A. */
i__1 = *lwork - nwork + 1;
dormbr_("P", "L", "N", n, nrhs, m, &a[a_offset], lda, &work[itaup]
, &b[b_offset], ldb, &work[nwork], &i__1, info);
}
}
/* Undo scaling. */
if (iascl == 1) {
dlascl_("G", &c__0, &c__0, &anrm, &smlnum, n, nrhs, &b[b_offset], ldb,
info);
dlascl_("G", &c__0, &c__0, &smlnum, &anrm, &minmn, &c__1, &s[1], &
minmn, info);
} else if (iascl == 2) {
dlascl_("G", &c__0, &c__0, &anrm, &bignum, n, nrhs, &b[b_offset], ldb,
info);
dlascl_("G", &c__0, &c__0, &bignum, &anrm, &minmn, &c__1, &s[1], &
minmn, info);
}
if (ibscl == 1) {
dlascl_("G", &c__0, &c__0, &smlnum, &bnrm, n, nrhs, &b[b_offset], ldb,
info);
} else if (ibscl == 2) {
dlascl_("G", &c__0, &c__0, &bignum, &bnrm, n, nrhs, &b[b_offset], ldb,
info);
}
L10:
work[1] = (doublereal) maxwrk;
return 0;
/* End of DGELSD */
} /* dgelsd_ */
-389
Ver Arquivo
@@ -1,389 +0,0 @@
/* dgemm.f -- translated by f2c (version 20061008).
You must link the resulting object file with libf2c:
on Microsoft Windows system, link with libf2c.lib;
on Linux or Unix systems, link with .../path/to/libf2c.a -lm
or, if you install libf2c.a in a standard place, with -lf2c -lm
-- in that order, at the end of the command line, as in
cc *.o -lf2c -lm
Source for libf2c is in /netlib/f2c/libf2c.zip, e.g.,
http://www.netlib.org/f2c/libf2c.zip
*/
#include "clapack.h"
/* Subroutine */ int dgemm_(char *transa, char *transb, integer *m, integer *
n, integer *k, doublereal *alpha, doublereal *a, integer *lda,
doublereal *b, integer *ldb, doublereal *beta, doublereal *c__,
integer *ldc)
{
/* System generated locals */
integer a_dim1, a_offset, b_dim1, b_offset, c_dim1, c_offset, i__1, i__2,
i__3;
/* Local variables */
integer i__, j, l, info;
logical nota, notb;
doublereal temp;
integer ncola;
extern logical lsame_(char *, char *);
integer nrowa, nrowb;
extern /* Subroutine */ int xerbla_(char *, integer *);
/* .. Scalar Arguments .. */
/* .. */
/* .. Array Arguments .. */
/* .. */
/* Purpose */
/* ======= */
/* DGEMM performs one of the matrix-matrix operations */
/* C := alpha*op( A )*op( B ) + beta*C, */
/* where op( X ) is one of */
/* op( X ) = X or op( X ) = X', */
/* alpha and beta are scalars, and A, B and C are matrices, with op( A ) */
/* an m by k matrix, op( B ) a k by n matrix and C an m by n matrix. */
/* Arguments */
/* ========== */
/* TRANSA - CHARACTER*1. */
/* On entry, TRANSA specifies the form of op( A ) to be used in */
/* the matrix multiplication as follows: */
/* TRANSA = 'N' or 'n', op( A ) = A. */
/* TRANSA = 'T' or 't', op( A ) = A'. */
/* TRANSA = 'C' or 'c', op( A ) = A'. */
/* Unchanged on exit. */
/* TRANSB - CHARACTER*1. */
/* On entry, TRANSB specifies the form of op( B ) to be used in */
/* the matrix multiplication as follows: */
/* TRANSB = 'N' or 'n', op( B ) = B. */
/* TRANSB = 'T' or 't', op( B ) = B'. */
/* TRANSB = 'C' or 'c', op( B ) = B'. */
/* Unchanged on exit. */
/* M - INTEGER. */
/* On entry, M specifies the number of rows of the matrix */
/* op( A ) and of the matrix C. M must be at least zero. */
/* Unchanged on exit. */
/* N - INTEGER. */
/* On entry, N specifies the number of columns of the matrix */
/* op( B ) and the number of columns of the matrix C. N must be */
/* at least zero. */
/* Unchanged on exit. */
/* K - INTEGER. */
/* On entry, K specifies the number of columns of the matrix */
/* op( A ) and the number of rows of the matrix op( B ). K must */
/* be at least zero. */
/* Unchanged on exit. */
/* ALPHA - DOUBLE PRECISION. */
/* On entry, ALPHA specifies the scalar alpha. */
/* Unchanged on exit. */
/* A - DOUBLE PRECISION array of DIMENSION ( LDA, ka ), where ka is */
/* k when TRANSA = 'N' or 'n', and is m otherwise. */
/* Before entry with TRANSA = 'N' or 'n', the leading m by k */
/* part of the array A must contain the matrix A, otherwise */
/* the leading k by m part of the array A must contain the */
/* matrix A. */
/* Unchanged on exit. */
/* LDA - INTEGER. */
/* On entry, LDA specifies the first dimension of A as declared */
/* in the calling (sub) program. When TRANSA = 'N' or 'n' then */
/* LDA must be at least max( 1, m ), otherwise LDA must be at */
/* least max( 1, k ). */
/* Unchanged on exit. */
/* B - DOUBLE PRECISION array of DIMENSION ( LDB, kb ), where kb is */
/* n when TRANSB = 'N' or 'n', and is k otherwise. */
/* Before entry with TRANSB = 'N' or 'n', the leading k by n */
/* part of the array B must contain the matrix B, otherwise */
/* the leading n by k part of the array B must contain the */
/* matrix B. */
/* Unchanged on exit. */
/* LDB - INTEGER. */
/* On entry, LDB specifies the first dimension of B as declared */
/* in the calling (sub) program. When TRANSB = 'N' or 'n' then */
/* LDB must be at least max( 1, k ), otherwise LDB must be at */
/* least max( 1, n ). */
/* Unchanged on exit. */
/* BETA - DOUBLE PRECISION. */
/* On entry, BETA specifies the scalar beta. When BETA is */
/* supplied as zero then C need not be set on input. */
/* Unchanged on exit. */
/* C - DOUBLE PRECISION array of DIMENSION ( LDC, n ). */
/* Before entry, the leading m by n part of the array C must */
/* contain the matrix C, except when beta is zero, in which */
/* case C need not be set on entry. */
/* On exit, the array C is overwritten by the m by n matrix */
/* ( alpha*op( A )*op( B ) + beta*C ). */
/* LDC - INTEGER. */
/* On entry, LDC specifies the first dimension of C as declared */
/* in the calling (sub) program. LDC must be at least */
/* max( 1, m ). */
/* Unchanged on exit. */
/* Level 3 Blas routine. */
/* -- Written on 8-February-1989. */
/* Jack Dongarra, Argonne National Laboratory. */
/* Iain Duff, AERE Harwell. */
/* Jeremy Du Croz, Numerical Algorithms Group Ltd. */
/* Sven Hammarling, Numerical Algorithms Group Ltd. */
/* .. External Functions .. */
/* .. */
/* .. External Subroutines .. */
/* .. */
/* .. Intrinsic Functions .. */
/* .. */
/* .. Local Scalars .. */
/* .. */
/* .. Parameters .. */
/* .. */
/* Set NOTA and NOTB as true if A and B respectively are not */
/* transposed and set NROWA, NCOLA and NROWB as the number of rows */
/* and columns of A and the number of rows of B respectively. */
/* Parameter adjustments */
a_dim1 = *lda;
a_offset = 1 + a_dim1;
a -= a_offset;
b_dim1 = *ldb;
b_offset = 1 + b_dim1;
b -= b_offset;
c_dim1 = *ldc;
c_offset = 1 + c_dim1;
c__ -= c_offset;
/* Function Body */
nota = lsame_(transa, "N");
notb = lsame_(transb, "N");
if (nota) {
nrowa = *m;
ncola = *k;
} else {
nrowa = *k;
ncola = *m;
}
if (notb) {
nrowb = *k;
} else {
nrowb = *n;
}
/* Test the input parameters. */
info = 0;
if (! nota && ! lsame_(transa, "C") && ! lsame_(
transa, "T")) {
info = 1;
} else if (! notb && ! lsame_(transb, "C") && !
lsame_(transb, "T")) {
info = 2;
} else if (*m < 0) {
info = 3;
} else if (*n < 0) {
info = 4;
} else if (*k < 0) {
info = 5;
} else if (*lda < max(1,nrowa)) {
info = 8;
} else if (*ldb < max(1,nrowb)) {
info = 10;
} else if (*ldc < max(1,*m)) {
info = 13;
}
if (info != 0) {
xerbla_("DGEMM ", &info);
return 0;
}
/* Quick return if possible. */
if (*m == 0 || *n == 0 || (*alpha == 0. || *k == 0) && *beta == 1.) {
return 0;
}
/* And if alpha.eq.zero. */
if (*alpha == 0.) {
if (*beta == 0.) {
i__1 = *n;
for (j = 1; j <= i__1; ++j) {
i__2 = *m;
for (i__ = 1; i__ <= i__2; ++i__) {
c__[i__ + j * c_dim1] = 0.;
/* L10: */
}
/* L20: */
}
} else {
i__1 = *n;
for (j = 1; j <= i__1; ++j) {
i__2 = *m;
for (i__ = 1; i__ <= i__2; ++i__) {
c__[i__ + j * c_dim1] = *beta * c__[i__ + j * c_dim1];
/* L30: */
}
/* L40: */
}
}
return 0;
}
/* Start the operations. */
if (notb) {
if (nota) {
/* Form C := alpha*A*B + beta*C. */
i__1 = *n;
for (j = 1; j <= i__1; ++j) {
if (*beta == 0.) {
i__2 = *m;
for (i__ = 1; i__ <= i__2; ++i__) {
c__[i__ + j * c_dim1] = 0.;
/* L50: */
}
} else if (*beta != 1.) {
i__2 = *m;
for (i__ = 1; i__ <= i__2; ++i__) {
c__[i__ + j * c_dim1] = *beta * c__[i__ + j * c_dim1];
/* L60: */
}
}
i__2 = *k;
for (l = 1; l <= i__2; ++l) {
if (b[l + j * b_dim1] != 0.) {
temp = *alpha * b[l + j * b_dim1];
i__3 = *m;
for (i__ = 1; i__ <= i__3; ++i__) {
c__[i__ + j * c_dim1] += temp * a[i__ + l *
a_dim1];
/* L70: */
}
}
/* L80: */
}
/* L90: */
}
} else {
/* Form C := alpha*A'*B + beta*C */
i__1 = *n;
for (j = 1; j <= i__1; ++j) {
i__2 = *m;
for (i__ = 1; i__ <= i__2; ++i__) {
temp = 0.;
i__3 = *k;
for (l = 1; l <= i__3; ++l) {
temp += a[l + i__ * a_dim1] * b[l + j * b_dim1];
/* L100: */
}
if (*beta == 0.) {
c__[i__ + j * c_dim1] = *alpha * temp;
} else {
c__[i__ + j * c_dim1] = *alpha * temp + *beta * c__[
i__ + j * c_dim1];
}
/* L110: */
}
/* L120: */
}
}
} else {
if (nota) {
/* Form C := alpha*A*B' + beta*C */
i__1 = *n;
for (j = 1; j <= i__1; ++j) {
if (*beta == 0.) {
i__2 = *m;
for (i__ = 1; i__ <= i__2; ++i__) {
c__[i__ + j * c_dim1] = 0.;
/* L130: */
}
} else if (*beta != 1.) {
i__2 = *m;
for (i__ = 1; i__ <= i__2; ++i__) {
c__[i__ + j * c_dim1] = *beta * c__[i__ + j * c_dim1];
/* L140: */
}
}
i__2 = *k;
for (l = 1; l <= i__2; ++l) {
if (b[j + l * b_dim1] != 0.) {
temp = *alpha * b[j + l * b_dim1];
i__3 = *m;
for (i__ = 1; i__ <= i__3; ++i__) {
c__[i__ + j * c_dim1] += temp * a[i__ + l *
a_dim1];
/* L150: */
}
}
/* L160: */
}
/* L170: */
}
} else {
/* Form C := alpha*A'*B' + beta*C */
i__1 = *n;
for (j = 1; j <= i__1; ++j) {
i__2 = *m;
for (i__ = 1; i__ <= i__2; ++i__) {
temp = 0.;
i__3 = *k;
for (l = 1; l <= i__3; ++l) {
temp += a[l + i__ * a_dim1] * b[j + l * b_dim1];
/* L180: */
}
if (*beta == 0.) {
c__[i__ + j * c_dim1] = *alpha * temp;
} else {
c__[i__ + j * c_dim1] = *alpha * temp + *beta * c__[
i__ + j * c_dim1];
}
/* L190: */
}
/* L200: */
}
}
}
return 0;
/* End of DGEMM . */
} /* dgemm_ */
-241
Ver Arquivo
@@ -1,241 +0,0 @@
#include "clapack.h"
/* Subroutine */ int dgemv_(char *_trans, integer *_m, integer *_n, doublereal *
_alpha, doublereal *a, integer *_lda, doublereal *x, integer *_incx,
doublereal *_beta, doublereal *y, integer *_incy)
{
/* .. Scalar Arguments .. */
/* .. */
/* .. Array Arguments .. */
/* .. */
/* Purpose */
/* ======= */
/* DGEMV performs one of the matrix-vector operations */
/* y := alpha*A*x + beta*y, or y := alpha*A'*x + beta*y, */
/* where alpha and beta are scalars, x and y are vectors and A is an */
/* m by n matrix. */
/* Arguments */
/* ========== */
/* TRANS - CHARACTER*1. */
/* On entry, TRANS specifies the operation to be performed as */
/* follows: */
/* TRANS = 'N' or 'n' y := alpha*A*x + beta*y. */
/* TRANS = 'T' or 't' y := alpha*A'*x + beta*y. */
/* TRANS = 'C' or 'c' y := alpha*A'*x + beta*y. */
/* Unchanged on exit. */
/* M - INTEGER. */
/* On entry, M specifies the number of rows of the matrix A. */
/* M must be at least zero. */
/* Unchanged on exit. */
/* N - INTEGER. */
/* On entry, N specifies the number of columns of the matrix A. */
/* N must be at least zero. */
/* Unchanged on exit. */
/* ALPHA - DOUBLE PRECISION. */
/* On entry, ALPHA specifies the scalar alpha. */
/* Unchanged on exit. */
/* A - DOUBLE PRECISION array of DIMENSION ( LDA, n ). */
/* Before entry, the leading m by n part of the array A must */
/* contain the matrix of coefficients. */
/* Unchanged on exit. */
/* LDA - INTEGER. */
/* On entry, LDA specifies the first dimension of A as declared */
/* in the calling (sub) program. LDA must be at least */
/* max( 1, m ). */
/* Unchanged on exit. */
/* X - DOUBLE PRECISION array of DIMENSION at least */
/* ( 1 + ( n - 1 )*abs( INCX ) ) when TRANS = 'N' or 'n' */
/* and at least */
/* ( 1 + ( m - 1 )*abs( INCX ) ) otherwise. */
/* Before entry, the incremented array X must contain the */
/* vector x. */
/* Unchanged on exit. */
/* INCX - INTEGER. */
/* On entry, INCX specifies the increment for the elements of */
/* X. INCX must not be zero. */
/* Unchanged on exit. */
/* BETA - DOUBLE PRECISION. */
/* On entry, BETA specifies the scalar beta. When BETA is */
/* supplied as zero then Y need not be set on input. */
/* Unchanged on exit. */
/* Y - DOUBLE PRECISION array of DIMENSION at least */
/* ( 1 + ( m - 1 )*abs( INCY ) ) when TRANS = 'N' or 'n' */
/* and at least */
/* ( 1 + ( n - 1 )*abs( INCY ) ) otherwise. */
/* Before entry with BETA non-zero, the incremented array Y */
/* must contain the vector y. On exit, Y is overwritten by the */
/* updated vector y. */
/* INCY - INTEGER. */
/* On entry, INCY specifies the increment for the elements of */
/* Y. INCY must not be zero. */
/* Unchanged on exit. */
/* Level 2 Blas routine. */
/* -- Written on 22-October-1986. */
/* Jack Dongarra, Argonne National Lab. */
/* Jeremy Du Croz, Nag Central Office. */
/* Sven Hammarling, Nag Central Office. */
/* Richard Hanson, Sandia National Labs. */
/* .. Parameters .. */
/* .. */
/* .. Local Scalars .. */
/* .. */
/* .. External Functions .. */
/* .. */
/* .. External Subroutines .. */
/* .. */
/* .. Intrinsic Functions .. */
/* .. */
/* Test the input parameters. */
char trans = lapack_toupper(_trans[0]);
integer i, j, m = *_m, n = *_n, lda = *_lda, incx = *_incx, incy = *_incy;
integer leny = trans == 'N' ? m : n, lenx = trans == 'N' ? n : m;
doublereal alpha = *_alpha, beta = *_beta;
integer info = 0;
if (trans != 'N' && trans != 'T' && trans != 'C')
info = 1;
else if (m < 0)
info = 2;
else if (n < 0)
info = 3;
else if (lda < max(1,m))
info = 6;
else if (incx == 0)
info = 8;
else if (incy == 0)
info = 11;
if (info != 0)
{
xerbla_("SGEMV ", &info);
return 0;
}
if( incy < 0 )
y -= incy*(leny - 1);
if( incx < 0 )
x -= incx*(lenx - 1);
/* Start the operations. In this version the elements of A are */
/* accessed sequentially with one pass through A. */
if( beta != 1. )
{
if( incy == 1 )
{
if( beta == 0. )
for( i = 0; i < leny; i++ )
y[i] = 0.;
else
for( i = 0; i < leny; i++ )
y[i] *= beta;
}
else
{
if( beta == 0. )
for( i = 0; i < leny; i++ )
y[i*incy] = 0.;
else
for( i = 0; i < leny; i++ )
y[i*incy] *= beta;
}
}
if( alpha == 0. )
;
else if( trans == 'N' )
{
if( incy == 1 )
{
for( i = 0; i < n; i++, a += lda )
{
doublereal s = x[i*incx];
if( s == 0. )
continue;
s *= alpha;
for( j = 0; j <= m - 4; j += 4 )
{
doublereal t0 = y[j] + s*a[j];
doublereal t1 = y[j+1] + s*a[j+1];
y[j] = t0; y[j+1] = t1;
t0 = y[j+2] + s*a[j+2];
t1 = y[j+3] + s*a[j+3];
y[j+2] = t0; y[j+3] = t1;
}
for( ; j < m; j++ )
y[j] += s*a[j];
}
}
else
{
for( i = 0; i < n; i++, a += lda )
{
doublereal s = x[i*incx];
if( s == 0. )
continue;
s *= alpha;
for( j = 0; j < m; j++ )
y[j*incy] += s*a[j];
}
}
}
else
{
if( incx == 1 )
{
for( i = 0; i < n; i++, a += lda )
{
doublereal s = 0;
for( j = 0; j <= m - 4; j += 4 )
s += x[j]*a[j] + x[j+1]*a[j+1] + x[j+2]*a[j+2] + x[j+3]*a[j+3];
for( ; j < m; j++ )
s += x[j]*a[j];
y[i*incy] += alpha*s;
}
}
else
{
for( i = 0; i < n; i++, a += lda )
{
doublereal s = 0;
for( j = 0; j < m; j++ )
s += x[j*incx]*a[j];
y[i*incy] += alpha*s;
}
}
}
return 0;
/* End of DGEMV . */
} /* dgemv_ */
-161
Ver Arquivo
@@ -1,161 +0,0 @@
/* dgeqr2.f -- translated by f2c (version 20061008).
You must link the resulting object file with libf2c:
on Microsoft Windows system, link with libf2c.lib;
on Linux or Unix systems, link with .../path/to/libf2c.a -lm
or, if you install libf2c.a in a standard place, with -lf2c -lm
-- in that order, at the end of the command line, as in
cc *.o -lf2c -lm
Source for libf2c is in /netlib/f2c/libf2c.zip, e.g.,
http://www.netlib.org/f2c/libf2c.zip
*/
#include "clapack.h"
/* Table of constant values */
static integer c__1 = 1;
/* Subroutine */ int dgeqr2_(integer *m, integer *n, doublereal *a, integer *
lda, doublereal *tau, doublereal *work, integer *info)
{
/* System generated locals */
integer a_dim1, a_offset, i__1, i__2, i__3;
/* Local variables */
integer i__, k;
doublereal aii;
extern /* Subroutine */ int dlarf_(char *, integer *, integer *,
doublereal *, integer *, doublereal *, doublereal *, integer *,
doublereal *), dlarfp_(integer *, doublereal *,
doublereal *, integer *, doublereal *), xerbla_(char *, integer *);
/* -- LAPACK routine (version 3.2) -- */
/* Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. */
/* November 2006 */
/* .. Scalar Arguments .. */
/* .. */
/* .. Array Arguments .. */
/* .. */
/* Purpose */
/* ======= */
/* DGEQR2 computes a QR factorization of a real m by n matrix A: */
/* A = Q * R. */
/* Arguments */
/* ========= */
/* M (input) INTEGER */
/* The number of rows of the matrix A. M >= 0. */
/* N (input) INTEGER */
/* The number of columns of the matrix A. N >= 0. */
/* A (input/output) DOUBLE PRECISION array, dimension (LDA,N) */
/* On entry, the m by n matrix A. */
/* On exit, the elements on and above the diagonal of the array */
/* contain the min(m,n) by n upper trapezoidal matrix R (R is */
/* upper triangular if m >= n); the elements below the diagonal, */
/* with the array TAU, represent the orthogonal matrix Q as a */
/* product of elementary reflectors (see Further Details). */
/* LDA (input) INTEGER */
/* The leading dimension of the array A. LDA >= max(1,M). */
/* TAU (output) DOUBLE PRECISION array, dimension (min(M,N)) */
/* The scalar factors of the elementary reflectors (see Further */
/* Details). */
/* WORK (workspace) DOUBLE PRECISION array, dimension (N) */
/* INFO (output) INTEGER */
/* = 0: successful exit */
/* < 0: if INFO = -i, the i-th argument had an illegal value */
/* Further Details */
/* =============== */
/* The matrix Q is represented as a product of elementary reflectors */
/* Q = H(1) H(2) . . . H(k), where k = min(m,n). */
/* Each H(i) has the form */
/* H(i) = I - tau * v * v' */
/* where tau is a real scalar, and v is a real vector with */
/* v(1:i-1) = 0 and v(i) = 1; v(i+1:m) is stored on exit in A(i+1:m,i), */
/* and tau in TAU(i). */
/* ===================================================================== */
/* .. Parameters .. */
/* .. */
/* .. Local Scalars .. */
/* .. */
/* .. External Subroutines .. */
/* .. */
/* .. Intrinsic Functions .. */
/* .. */
/* .. Executable Statements .. */
/* Test the input arguments */
/* Parameter adjustments */
a_dim1 = *lda;
a_offset = 1 + a_dim1;
a -= a_offset;
--tau;
--work;
/* Function Body */
*info = 0;
if (*m < 0) {
*info = -1;
} else if (*n < 0) {
*info = -2;
} else if (*lda < max(1,*m)) {
*info = -4;
}
if (*info != 0) {
i__1 = -(*info);
xerbla_("DGEQR2", &i__1);
return 0;
}
k = min(*m,*n);
i__1 = k;
for (i__ = 1; i__ <= i__1; ++i__) {
/* Generate elementary reflector H(i) to annihilate A(i+1:m,i) */
i__2 = *m - i__ + 1;
/* Computing MIN */
i__3 = i__ + 1;
dlarfp_(&i__2, &a[i__ + i__ * a_dim1], &a[min(i__3, *m)+ i__ * a_dim1]
, &c__1, &tau[i__]);
if (i__ < *n) {
/* Apply H(i) to A(i:m,i+1:n) from the left */
aii = a[i__ + i__ * a_dim1];
a[i__ + i__ * a_dim1] = 1.;
i__2 = *m - i__ + 1;
i__3 = *n - i__;
dlarf_("Left", &i__2, &i__3, &a[i__ + i__ * a_dim1], &c__1, &tau[
i__], &a[i__ + (i__ + 1) * a_dim1], lda, &work[1]);
a[i__ + i__ * a_dim1] = aii;
}
/* L10: */
}
return 0;
/* End of DGEQR2 */
} /* dgeqr2_ */
-252
Ver Arquivo
@@ -1,252 +0,0 @@
/* dgeqrf.f -- translated by f2c (version 20061008).
You must link the resulting object file with libf2c:
on Microsoft Windows system, link with libf2c.lib;
on Linux or Unix systems, link with .../path/to/libf2c.a -lm
or, if you install libf2c.a in a standard place, with -lf2c -lm
-- in that order, at the end of the command line, as in
cc *.o -lf2c -lm
Source for libf2c is in /netlib/f2c/libf2c.zip, e.g.,
http://www.netlib.org/f2c/libf2c.zip
*/
#include "clapack.h"
/* Table of constant values */
static integer c__1 = 1;
static integer c_n1 = -1;
static integer c__3 = 3;
static integer c__2 = 2;
/* Subroutine */ int dgeqrf_(integer *m, integer *n, doublereal *a, integer *
lda, doublereal *tau, doublereal *work, integer *lwork, integer *info)
{
/* System generated locals */
integer a_dim1, a_offset, i__1, i__2, i__3, i__4;
/* Local variables */
integer i__, k, ib, nb, nx, iws, nbmin, iinfo;
extern /* Subroutine */ int dgeqr2_(integer *, integer *, doublereal *,
integer *, doublereal *, doublereal *, integer *), dlarfb_(char *,
char *, char *, char *, integer *, integer *, integer *,
doublereal *, integer *, doublereal *, integer *, doublereal *,
integer *, doublereal *, integer *), dlarft_(char *, char *, integer *, integer *, doublereal
*, integer *, doublereal *, doublereal *, integer *), xerbla_(char *, integer *);
extern integer ilaenv_(integer *, char *, char *, integer *, integer *,
integer *, integer *);
integer ldwork, lwkopt;
logical lquery;
/* -- LAPACK routine (version 3.2) -- */
/* Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. */
/* November 2006 */
/* .. Scalar Arguments .. */
/* .. */
/* .. Array Arguments .. */
/* .. */
/* Purpose */
/* ======= */
/* DGEQRF computes a QR factorization of a real M-by-N matrix A: */
/* A = Q * R. */
/* Arguments */
/* ========= */
/* M (input) INTEGER */
/* The number of rows of the matrix A. M >= 0. */
/* N (input) INTEGER */
/* The number of columns of the matrix A. N >= 0. */
/* A (input/output) DOUBLE PRECISION array, dimension (LDA,N) */
/* On entry, the M-by-N matrix A. */
/* On exit, the elements on and above the diagonal of the array */
/* contain the min(M,N)-by-N upper trapezoidal matrix R (R is */
/* upper triangular if m >= n); the elements below the diagonal, */
/* with the array TAU, represent the orthogonal matrix Q as a */
/* product of min(m,n) elementary reflectors (see Further */
/* Details). */
/* LDA (input) INTEGER */
/* The leading dimension of the array A. LDA >= max(1,M). */
/* TAU (output) DOUBLE PRECISION array, dimension (min(M,N)) */
/* The scalar factors of the elementary reflectors (see Further */
/* Details). */
/* WORK (workspace/output) DOUBLE PRECISION array, dimension (MAX(1,LWORK)) */
/* On exit, if INFO = 0, WORK(1) returns the optimal LWORK. */
/* LWORK (input) INTEGER */
/* The dimension of the array WORK. LWORK >= max(1,N). */
/* For optimum performance LWORK >= N*NB, where NB is */
/* the optimal blocksize. */
/* If LWORK = -1, then a workspace query is assumed; the routine */
/* only calculates the optimal size of the WORK array, returns */
/* this value as the first entry of the WORK array, and no error */
/* message related to LWORK is issued by XERBLA. */
/* INFO (output) INTEGER */
/* = 0: successful exit */
/* < 0: if INFO = -i, the i-th argument had an illegal value */
/* Further Details */
/* =============== */
/* The matrix Q is represented as a product of elementary reflectors */
/* Q = H(1) H(2) . . . H(k), where k = min(m,n). */
/* Each H(i) has the form */
/* H(i) = I - tau * v * v' */
/* where tau is a real scalar, and v is a real vector with */
/* v(1:i-1) = 0 and v(i) = 1; v(i+1:m) is stored on exit in A(i+1:m,i), */
/* and tau in TAU(i). */
/* ===================================================================== */
/* .. Local Scalars .. */
/* .. */
/* .. External Subroutines .. */
/* .. */
/* .. Intrinsic Functions .. */
/* .. */
/* .. External Functions .. */
/* .. */
/* .. Executable Statements .. */
/* Test the input arguments */
/* Parameter adjustments */
a_dim1 = *lda;
a_offset = 1 + a_dim1;
a -= a_offset;
--tau;
--work;
/* Function Body */
*info = 0;
nb = ilaenv_(&c__1, "DGEQRF", " ", m, n, &c_n1, &c_n1);
lwkopt = *n * nb;
work[1] = (doublereal) lwkopt;
lquery = *lwork == -1;
if (*m < 0) {
*info = -1;
} else if (*n < 0) {
*info = -2;
} else if (*lda < max(1,*m)) {
*info = -4;
} else if (*lwork < max(1,*n) && ! lquery) {
*info = -7;
}
if (*info != 0) {
i__1 = -(*info);
xerbla_("DGEQRF", &i__1);
return 0;
} else if (lquery) {
return 0;
}
/* Quick return if possible */
k = min(*m,*n);
if (k == 0) {
work[1] = 1.;
return 0;
}
nbmin = 2;
nx = 0;
iws = *n;
if (nb > 1 && nb < k) {
/* Determine when to cross over from blocked to unblocked code. */
/* Computing MAX */
i__1 = 0, i__2 = ilaenv_(&c__3, "DGEQRF", " ", m, n, &c_n1, &c_n1);
nx = max(i__1,i__2);
if (nx < k) {
/* Determine if workspace is large enough for blocked code. */
ldwork = *n;
iws = ldwork * nb;
if (*lwork < iws) {
/* Not enough workspace to use optimal NB: reduce NB and */
/* determine the minimum value of NB. */
nb = *lwork / ldwork;
/* Computing MAX */
i__1 = 2, i__2 = ilaenv_(&c__2, "DGEQRF", " ", m, n, &c_n1, &
c_n1);
nbmin = max(i__1,i__2);
}
}
}
if (nb >= nbmin && nb < k && nx < k) {
/* Use blocked code initially */
i__1 = k - nx;
i__2 = nb;
for (i__ = 1; i__2 < 0 ? i__ >= i__1 : i__ <= i__1; i__ += i__2) {
/* Computing MIN */
i__3 = k - i__ + 1;
ib = min(i__3,nb);
/* Compute the QR factorization of the current block */
/* A(i:m,i:i+ib-1) */
i__3 = *m - i__ + 1;
dgeqr2_(&i__3, &ib, &a[i__ + i__ * a_dim1], lda, &tau[i__], &work[
1], &iinfo);
if (i__ + ib <= *n) {
/* Form the triangular factor of the block reflector */
/* H = H(i) H(i+1) . . . H(i+ib-1) */
i__3 = *m - i__ + 1;
dlarft_("Forward", "Columnwise", &i__3, &ib, &a[i__ + i__ *
a_dim1], lda, &tau[i__], &work[1], &ldwork);
/* Apply H' to A(i:m,i+ib:n) from the left */
i__3 = *m - i__ + 1;
i__4 = *n - i__ - ib + 1;
dlarfb_("Left", "Transpose", "Forward", "Columnwise", &i__3, &
i__4, &ib, &a[i__ + i__ * a_dim1], lda, &work[1], &
ldwork, &a[i__ + (i__ + ib) * a_dim1], lda, &work[ib
+ 1], &ldwork);
}
/* L10: */
}
} else {
i__ = 1;
}
/* Use unblocked code to factor the last or only block. */
if (i__ <= k) {
i__2 = *m - i__ + 1;
i__1 = *n - i__ + 1;
dgeqr2_(&i__2, &i__1, &a[i__ + i__ * a_dim1], lda, &tau[i__], &work[1]
, &iinfo);
}
work[1] = (doublereal) iws;
return 0;
/* End of DGEQRF */
} /* dgeqrf_ */
-165
Ver Arquivo
@@ -1,165 +0,0 @@
#include "clapack.h"
/* Subroutine */ int dger_(integer *_m, integer *_n, doublereal *_alpha,
doublereal *x, integer *_incx, doublereal *y, integer *_incy,
doublereal *a, integer *_lda)
{
/* .. Scalar Arguments .. */
/* .. */
/* .. Array Arguments .. */
/* .. */
/* Purpose */
/* ======= */
/* DGER performs the rank 1 operation */
/* A := alpha*x*y' + A, */
/* where alpha is a scalar, x is an m element vector, y is an n element */
/* vector and A is an m by n matrix. */
/* Arguments */
/* ========== */
/* M - INTEGER. */
/* On entry, M specifies the number of rows of the matrix A. */
/* M must be at least zero. */
/* Unchanged on exit. */
/* N - INTEGER. */
/* On entry, N specifies the number of columns of the matrix A. */
/* N must be at least zero. */
/* Unchanged on exit. */
/* ALPHA - DOUBLE PRECISION. */
/* On entry, ALPHA specifies the scalar alpha. */
/* Unchanged on exit. */
/* X - DOUBLE PRECISION array of dimension at least */
/* ( 1 + ( m - 1 )*abs( INCX ) ). */
/* Before entry, the incremented array X must contain the m */
/* element vector x. */
/* Unchanged on exit. */
/* INCX - INTEGER. */
/* On entry, INCX specifies the increment for the elements of */
/* X. INCX must not be zero. */
/* Unchanged on exit. */
/* Y - DOUBLE PRECISION array of dimension at least */
/* ( 1 + ( n - 1 )*abs( INCY ) ). */
/* Before entry, the incremented array Y must contain the n */
/* element vector y. */
/* Unchanged on exit. */
/* INCY - INTEGER. */
/* On entry, INCY specifies the increment for the elements of */
/* Y. INCY must not be zero. */
/* Unchanged on exit. */
/* A - DOUBLE PRECISION array of DIMENSION ( LDA, n ). */
/* Before entry, the leading m by n part of the array A must */
/* contain the matrix of coefficients. On exit, A is */
/* overwritten by the updated matrix. */
/* LDA - INTEGER. */
/* On entry, LDA specifies the first dimension of A as declared */
/* in the calling (sub) program. LDA must be at least */
/* max( 1, m ). */
/* Unchanged on exit. */
/* Level 2 Blas routine. */
/* -- Written on 22-October-1986. */
/* Jack Dongarra, Argonne National Lab. */
/* Jeremy Du Croz, Nag Central Office. */
/* Sven Hammarling, Nag Central Office. */
/* Richard Hanson, Sandia National Labs. */
/* .. Parameters .. */
/* .. */
/* .. Local Scalars .. */
/* .. */
/* .. External Subroutines .. */
/* .. */
/* .. Intrinsic Functions .. */
/* .. */
/* Test the input parameters. */
/* Function Body */
integer i, j, m = *_m, n = *_n, incx = *_incx, incy = *_incy, lda = *_lda;
doublereal alpha = *_alpha;
integer info = 0;
if (m < 0)
info = 1;
else if (n < 0)
info = 2;
else if (incx == 0)
info = 5;
else if (incy == 0)
info = 7;
else if (lda < max(1,m))
info = 9;
if (info != 0)
{
xerbla_("DGER ", &info);
return 0;
}
if (incx < 0)
x -= (m-1)*incx;
if (incy < 0)
y -= (n-1)*incy;
/* Start the operations. In this version the elements of A are */
/* accessed sequentially with one pass through A. */
if( alpha == 0 )
;
else if( incx == 1 )
{
for( j = 0; j < n; j++, a += lda )
{
doublereal s = y[j*incy];
if( s == 0 )
continue;
s *= alpha;
for( i = 0; i <= m - 2; i += 2 )
{
doublereal t0 = a[i] + x[i]*s;
doublereal t1 = a[i+1] + x[i+1]*s;
a[i] = t0; a[i+1] = t1;
}
for( ; i < m; i++ )
a[i] += x[i]*s;
}
}
else
{
for( j = 0; j < n; j++, a += lda )
{
doublereal s = y[j*incy];
if( s == 0 )
continue;
s *= alpha;
for( i = 0; i < m; i++ )
a[i] += x[i*incx]*s;
}
}
return 0;
/* End of DGER . */
} /* dger_ */
-1609
Ver Arquivo
Diferenças do arquivo suprimidas por serem muito extensas Carregar Diff
-138
Ver Arquivo
@@ -1,138 +0,0 @@
/* dgesv.f -- translated by f2c (version 20061008).
You must link the resulting object file with libf2c:
on Microsoft Windows system, link with libf2c.lib;
on Linux or Unix systems, link with .../path/to/libf2c.a -lm
or, if you install libf2c.a in a standard place, with -lf2c -lm
-- in that order, at the end of the command line, as in
cc *.o -lf2c -lm
Source for libf2c is in /netlib/f2c/libf2c.zip, e.g.,
http://www.netlib.org/f2c/libf2c.zip
*/
#include "clapack.h"
/* Subroutine */ int dgesv_(integer *n, integer *nrhs, doublereal *a, integer
*lda, integer *ipiv, doublereal *b, integer *ldb, integer *info)
{
/* System generated locals */
integer a_dim1, a_offset, b_dim1, b_offset, i__1;
/* Local variables */
extern /* Subroutine */ int dgetrf_(integer *, integer *, doublereal *,
integer *, integer *, integer *), xerbla_(char *, integer *), dgetrs_(char *, integer *, integer *, doublereal *,
integer *, integer *, doublereal *, integer *, integer *);
/* -- LAPACK driver routine (version 3.2) -- */
/* Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. */
/* November 2006 */
/* .. Scalar Arguments .. */
/* .. */
/* .. Array Arguments .. */
/* .. */
/* Purpose */
/* ======= */
/* DGESV computes the solution to a real system of linear equations */
/* A * X = B, */
/* where A is an N-by-N matrix and X and B are N-by-NRHS matrices. */
/* The LU decomposition with partial pivoting and row interchanges is */
/* used to factor A as */
/* A = P * L * U, */
/* where P is a permutation matrix, L is unit lower triangular, and U is */
/* upper triangular. The factored form of A is then used to solve the */
/* system of equations A * X = B. */
/* Arguments */
/* ========= */
/* N (input) INTEGER */
/* The number of linear equations, i.e., the order of the */
/* matrix A. N >= 0. */
/* NRHS (input) INTEGER */
/* The number of right hand sides, i.e., the number of columns */
/* of the matrix B. NRHS >= 0. */
/* A (input/output) DOUBLE PRECISION array, dimension (LDA,N) */
/* On entry, the N-by-N coefficient matrix A. */
/* On exit, the factors L and U from the factorization */
/* A = P*L*U; the unit diagonal elements of L are not stored. */
/* LDA (input) INTEGER */
/* The leading dimension of the array A. LDA >= max(1,N). */
/* IPIV (output) INTEGER array, dimension (N) */
/* The pivot indices that define the permutation matrix P; */
/* row i of the matrix was interchanged with row IPIV(i). */
/* B (input/output) DOUBLE PRECISION array, dimension (LDB,NRHS) */
/* On entry, the N-by-NRHS matrix of right hand side matrix B. */
/* On exit, if INFO = 0, the N-by-NRHS solution matrix X. */
/* LDB (input) INTEGER */
/* The leading dimension of the array B. LDB >= max(1,N). */
/* INFO (output) INTEGER */
/* = 0: successful exit */
/* < 0: if INFO = -i, the i-th argument had an illegal value */
/* > 0: if INFO = i, U(i,i) is exactly zero. The factorization */
/* has been completed, but the factor U is exactly */
/* singular, so the solution could not be computed. */
/* ===================================================================== */
/* .. External Subroutines .. */
/* .. */
/* .. Intrinsic Functions .. */
/* .. */
/* .. Executable Statements .. */
/* Test the input parameters. */
/* Parameter adjustments */
a_dim1 = *lda;
a_offset = 1 + a_dim1;
a -= a_offset;
--ipiv;
b_dim1 = *ldb;
b_offset = 1 + b_dim1;
b -= b_offset;
/* Function Body */
*info = 0;
if (*n < 0) {
*info = -1;
} else if (*nrhs < 0) {
*info = -2;
} else if (*lda < max(1,*n)) {
*info = -4;
} else if (*ldb < max(1,*n)) {
*info = -7;
}
if (*info != 0) {
i__1 = -(*info);
xerbla_("DGESV ", &i__1);
return 0;
}
/* Compute the LU factorization of A. */
dgetrf_(n, n, &a[a_offset], lda, &ipiv[1], info);
if (*info == 0) {
/* Solve the system A*X = B, overwriting B with X. */
dgetrs_("No transpose", n, nrhs, &a[a_offset], lda, &ipiv[1], &b[
b_offset], ldb, info);
}
return 0;
/* End of DGESV */
} /* dgesv_ */

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