Compare commits

...

2499 Commits
2.4.2 ... 2.4.4

Author SHA1 Message Date
Andrey Kamaev
facab40745 Disable -fomit-frame-pointer for OS X Clang as it leads to crash on exception thrown 2013-03-01 19:44:17 +04:00
Andrey Kamaev
08545b8f96 Merge pull request #603 from taka-no-me:avoid_deps_on_missing_lib 2013-03-01 17:10:46 +04:00
Andrey Kamaev
f22ee8fc19 Merge pull request #602 from bitwangyaoyao:2.4_fixAdd 2013-03-01 17:10:11 +04:00
Andrey Kamaev
e6cb44edc3 Merge pull request #600 from taka-no-me:fix_build_warnings 2013-03-01 17:09:56 +04:00
Andrey Kamaev
1094179155 Avoid build falure in armeabi build with Android SDK 2013-03-01 16:50:42 +04:00
cuda-geek
a706de2446 Merge pull request #601 from apavlenko:android_tutorial_update 2013-03-01 16:09:25 +04:00
yao
65bb4250a4 Fix a bug in addWeighted x64 mode
And a potential problem in remap
2013-03-01 18:08:53 +08:00
Andrey Pavlenko
07b1ccdeb0 removing redundant picture resize 2013-03-01 13:56:50 +04:00
Andrey Kamaev
2128b82c6b Merge pull request #598 from asmorkalov:lib_info_fix 2013-03-01 13:52:57 +04:00
Andrey Pavlenko
978132edc1 minor Android tutorial fixes 2013-03-01 13:52:14 +04:00
Andrey Kamaev
22d33373fa Fix build warnings on MSVC x64 and OS X clang 2013-03-01 13:29:43 +04:00
Andrey Kamaev
eaaba1336a Merge pull request #595 from bitwangyaoyao:2.4_perfTest 2013-03-01 12:49:43 +04:00
Andrey Kamaev
85c7a36f93 Merge pull request #594 from asmorkalov:android_all_build_fix 2013-03-01 12:49:27 +04:00
Andrey Kamaev
6be6adbbed Merge pull request #593 from apavlenko:java_tutorial_fixes 2013-03-01 12:49:15 +04:00
Alexander Smorkalov
da455efc26 Full package version fixed. 2013-03-01 12:44:14 +04:00
Vadim Pisarevsky
a910360689 Merge pull request #586 from bitwangyaoyao:2.4_FixBFMatcher 2013-03-01 10:55:11 +04:00
yao
8f3883a28d fix a compile warning 2013-03-01 10:06:51 +08:00
yao
82b9854837 fix compile warnings 2013-03-01 08:47:20 +08:00
Alexander
3cfd3d3ee0 Build with OpenCV.mk for all terget fixed. 2013-02-28 21:43:57 +04:00
Andrey Pavlenko
af2552d72c fixing issues from http://www.code.opencv.org/issues/2807 2013-02-28 19:11:24 +04:00
Andrey Kamaev
c865b28243 Merge pull request #591 from jet47:gpu-sanity-tests 2013-02-28 18:08:11 +04:00
Andrey Kamaev
79cf292d78 Merge pull request #590 from apavlenko:java_fixes 2013-02-28 18:07:33 +04:00
Andrey Kamaev
1018d110d6 Merge pull request #589 from taka-no-me:2digit_pyversion 2013-02-28 18:06:43 +04:00
Andrey Kamaev
fba0e6fc5c Merge pull request #587 from bitwangyaoyao:2.4_fixHog 2013-02-28 18:06:28 +04:00
Andrey Kamaev
4811988caf Merge pull request #585 from bitwangyaoyao:2.4_SURF 2013-02-28 18:06:14 +04:00
Andrey Kamaev
2a73a6c445 Merge pull request #525 from odeniz:2.4 2013-02-28 18:05:55 +04:00
Andrey Pavlenko
d18b2c2502 patch -> revision 2013-02-28 17:19:52 +04:00
Andrey Pavlenko
c24d7cc066 adding more version-related variables 2013-02-28 16:56:53 +04:00
Vladislav Vinogradov
f533f0dca9 fixed gpu sanity tests 2013-02-28 16:54:37 +04:00
Andrey Kamaev
bd38a1945d Honor 2-digit python version 2013-02-28 16:32:13 +04:00
Andrey Pavlenko
29b763dc60 updating samples to load JNI lib with correct suffix 2013-02-28 16:24:52 +04:00
Andrey Pavlenko
5321da92cb adding/fixing version suffix for desktop java library on all OSes 2013-02-28 16:12:44 +04:00
Andrey Kamaev
f4b413e830 Merge pull request #570 from taka-no-me:fix_android_cmakeconfig 2013-02-28 15:45:45 +04:00
Andrey Kamaev
1f411b5a2b Merge pull request #572 from asmorkalov:manager_4_digit_version 2013-02-28 15:44:57 +04:00
Andrey Kamaev
bf4c8c6ff1 Merge pull request #584 from bitwangyaoyao:2.4_perfTest 2013-02-28 15:44:06 +04:00
Andrey Kamaev
d0e340bc80 Merge pull request #582 from bitwangyaoyao:2.4_fixBlend 2013-02-28 15:43:51 +04:00
Alexander Smorkalov
ddc2e334da OpenCV version swithed to 4 digit in GUI and package revision number. 2013-02-28 12:59:24 +04:00
yao
f12369a53c Fix ocl::HOG crash on Intel OCL 2013-02-28 16:56:39 +08:00
Andrey Kamaev
831580ef31 Merge pull request #578 from jet47:nmake-ffmpeg-copy 2013-02-28 12:56:26 +04:00
Andrey Kamaev
6ce51d88a4 Merge pull request #573 from jet47:config-cross-compilation 2013-02-28 12:56:08 +04:00
cuda-geek
0771fd82c0 Merge pull request #557 from jet47:gpu-sanity 2013-02-28 11:17:12 +04:00
yao
f791344810 linux warning fix 2013-02-28 14:37:37 +08:00
Vladislav Vinogradov
61ef48eee6 fixed OpenCVConfig for cross-compilation:
* added CUDA to EXTRA libs if OpenCV uses it
* added -rpath-link option for linker if OpenCV was built as SHARED libs
2013-02-28 10:33:05 +04:00
yao
504008dbe0 Fix ocl::bruteforcematcher crash on Intel OCL 2013-02-28 14:31:08 +08:00
Vladislav Vinogradov
df456245e7 fixed ffmpeg destination folder for NMake generator 2013-02-28 10:16:41 +04:00
yao
7c1f1d8837 fix bug #2787 2013-02-28 14:05:36 +08:00
yao
ed3c3822fc adjust some test cases, use original template file name in Haar 2013-02-28 12:15:13 +08:00
yao
69eebdd608 fix the blend crash in some cases 2013-02-28 09:03:10 +08:00
Andrey Kamaev
2be893a21e Revise git attributes 2013-02-28 03:18:54 +04:00
Andrey Kamaev
a5d2253be8 Merge pull request #544 from AnnaKogan8:added-regressions-only-option 2013-02-28 00:38:47 +04:00
Andrey Kamaev
5b7a4cd955 Merge pull request #579 from bitwangyaoyao:2.4_perfTest 2013-02-27 19:34:17 +04:00
Andrey Kamaev
0a8711d76b Merge pull request #576 from bitwangyaoyao:2.4_customMat2 2013-02-27 19:33:54 +04:00
Andrey Kamaev
af13c8604d Merge pull request #568 from bitwangyaoyao:2.4_moments 2013-02-27 19:33:26 +04:00
yao
cbff75db9e fix build errors 2013-02-27 21:56:03 +08:00
yao
bf427c01c1 adjust matchTemplate in performance sample, as current version is too slow when template size isn't small 2013-02-27 21:41:04 +08:00
Andrey Kamaev
024185b9ed Fix OpenCVConfig.cmake generated for Android platform (issue #2496)
* fix path to libraries in Android SDK
* allow to link to opencv_java.so as Android.mk does

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

    find_package(OpenCV opencv_java)

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

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

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

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

PR to master was
https://github.com/Itseez/opencv/pull/320
2013-01-24 10:01:18 +01:00
yao
2aae501234 make ocl module compile on VS2012 2013-01-24 15:45:29 +08:00
yao
d574e6dc09 fix canny crash in bug #2279 2013-01-24 14:58:41 +08:00
yao
4f778436b5 ocl::cvtColor support YUV and YCbCr formats 2013-01-24 14:33:28 +08:00
Vladislav Vinogradov
395f0201e3 fixed build for CARMA:
- added CMake toolchain file
- added WITH_NVCUVID flag
2013-01-23 21:05:08 +04:00
Vladislav Vinogradov
9cb4292d5c implemented Luv/Lab <-> RGB conversion 2013-01-23 21:05:08 +04:00
Vladislav Vinogradov
e446903aac added more types support for gpu separable filters 2013-01-23 21:05:07 +04:00
Vladislav Vinogradov
281d036fcf optimizations:
- new reduce implementation (with kepler optimizations)
- saturate_cast via asm command
- video SIMD instructions in element operations
- float arithmetics instead of double
- new deviceSupports function
2013-01-23 21:05:07 +04:00
Vladislav Vinogradov
ae6266e101 fixes for gpu module:
- fixed printCudaDeviceInfo for new CC
- fixed some compilation errors and warnings
- removed unset command from CMake script
- removed unused std imports
2013-01-23 21:05:06 +04:00
Vladislav Vinogradov
b7e6b5af1b fixed tests (call resetDevice, if there was a gpu failure) 2013-01-23 21:05:04 +04:00
Andrey Kamaev
0773ab4d07 Merge pull request #315 from taka-no-me:java_on 2013-01-23 19:02:27 +04:00
Andrey Pavlenko
e287dea91b fixing build warnings 2013-01-23 18:45:06 +04:00
Andrey Kamaev
2c32536bf4 Enable Java bindings on all platforms by default 2013-01-23 18:08:09 +04:00
Andrey Kamaev
caa2c06e50 Quiet output of cv::error in Java tests
Introduced new Java API
void org.opencv.core.Core.setErrorVerbosity(boolean verbose)
used to suppress output to stderr from OpenCV's asserts
2013-01-23 18:08:09 +04:00
Andrey Kamaev
5eabcf8e4f Java tests: print summary for tests run 2013-01-23 18:08:09 +04:00
Andrey Kamaev
4668a133f0 Java API: fix build warning on OS X
Common part of all source files is extracted to special header
2013-01-23 18:08:09 +04:00
Andrey Kamaev
3889b34ec3 Add option to run java tests with run.py 2013-01-23 18:08:08 +04:00
Andrey Pavlenko
81721d0dce enabling sanity checks for warp and resize functions on Android
- add syntetic images generation function to ts
- use generated syntetic images
2013-01-23 17:25:30 +04:00
Andrey Kamaev
311d799344 Merge pull request #299 from branch 'bitwangyaoyao_ocl' into 2.4 2013-01-23 14:50:29 +04:00
yao
e05112a364 some host side optimizations to ocl::GaussianBlur 2013-01-23 14:48:04 +04:00
yao
9060365f5e use format on filtering.cpp 2013-01-23 14:48:04 +04:00
yao
56c1a7fab6 make oclHaarDetectObjects running on more ocl platforms 2013-01-23 14:48:04 +04:00
yao
b5bd2cde9e A few optimizations to ocl::pyrLK::sparse, make it running on more OCL platforms 2013-01-23 14:48:04 +04:00
yao
02c9e0a3e0 add default clAmdFft and clAmdBlas path 2013-01-23 14:48:04 +04:00
yao
f6d82773f9 fix bug #2674 2013-01-23 14:48:04 +04:00
Andrey Kamaev
78dc44a7fd Merge pull request #295 from apavlenko:test_surf_keypoints_invariance 2013-01-23 14:40:05 +04:00
Andrey Kamaev
4d64db8be7 Merge pull request #319 from AnnaKogan8:added-surf-keypoints-cleanup 2013-01-23 10:36:02 +04:00
Anna Kogan
608fab60fd Added cleanup of keypoints vector 2013-01-22 18:05:18 +04:00
Andrey Kamaev
46c4390a2e Hardly refactored CMake script for Java wrappers 2013-01-22 17:59:01 +04:00
Andrey Kamaev
c92743d124 Eliminate intermediate build target "opencv_java_api" 2013-01-22 17:59:00 +04:00
Andrey Kamaev
594f969641 Merge pull request #316 from mdim:draw_matches_fix 2013-01-22 16:09:48 +04:00
Eric Christiansen
c2c2403a79 Added a desktop Java tutorial 2013-01-21 14:57:25 -08:00
mdim
93f8e7ba74 check of keypoint index range in drawMatches 2013-01-22 00:37:27 +04:00
Andrey Kamaev
a45eb275e3 Merge pull request #306 from AnnaKogan8:perf_tests_timing.py-improvement 2013-01-21 18:10:08 +04:00
Andrey Kamaev
abb9e08671 Merge pull request #314 from vpisarev:2.4 2013-01-21 17:52:35 +04:00
Vadim Pisarevsky
f14b7af5ac changed diagnostic from "warning" to "note" in the python wrapper generator, to suppress some noise in opencv utilities 2013-01-21 15:00:32 +04:00
Andrey Kamaev
9c7a8dd584 Merge pull request #312 from taka-no-me:cheatsheet 2013-01-19 12:03:20 +04:00
Andrey Kamaev
1ed507c065 Merge pull request #310 from taka-no-me:4digit_version 2013-01-19 12:03:04 +04:00
Andrey Kamaev
55c74ebea8 Merge pull request #309 from asmorkalov:android_manager_4number_version 2013-01-19 12:02:49 +04:00
Andrey Kamaev
e9301c3c4b Add opencv_cheatsheet.pdf to documentation build and silence Latex output 2013-01-18 18:27:43 +04:00
Andrey Kamaev
e3474878b6 Consistently use 4-digit library version 2013-01-18 14:57:55 +04:00
Alexander Smorkalov
4feae810fa 4 digit library version numeration implemented in OpenCV Manager
Code refactoring done.
OpenCV library version type changed to int.
Some UI labels updated.
OpenCV Manager verison incremented.
2013-01-18 11:42:48 +04:00
Andrey Kamaev
101e9bd456 Merge pull request #304 from apavlenko:test_java_fix_double 2013-01-17 18:20:47 +04:00
Siegfried Hochdorfer
82a9f9a5a9 MeanshiftGrouping Bugfix (Bug #2685) 2013-01-17 11:46:24 +01:00
Andrey Pavlenko
a8c0f1d962 fixing test failure on some systems 2013-01-16 18:33:35 +04:00
Andrey Kamaev
7341eaa654 Merge pull request #296 from asmorkalov:html_docs_warning_fix 2013-01-16 16:44:13 +04:00
Andrey Kamaev
28afa8d2d4 Merge pull request #297 from taka-no-me:fix_deps 2013-01-16 16:30:38 +04:00
Andrey Kamaev
0fed75a880 Merge pull request #302 from taka-no-me:fix_doc_sphinx107 2013-01-16 16:07:49 +04:00
Andrey Kamaev
069844cd4e Merge pull request #300 from taka-no-me:java_64bit 2013-01-16 14:49:46 +04:00
Andrey Kamaev
b362d47d95 Fix documentation build with Sphinx 1.07 2013-01-16 12:43:12 +04:00
Eric Christiansen
6169b1dc90 Adds samples for Java and Scala 2013-01-15 12:03:55 -08:00
Andrey Kamaev
bf3c2b0bbb Fix incorrect Mat address reconstruction on 64-bit platforms
This fixes random failures in Java wrappers.
2013-01-15 19:23:49 +04:00
Anna Kogan
0587bef667 Switched time from seconds to minutes 2013-01-15 15:32:22 +04:00
Anna Kogan
3cdfa654ae Added 'Num of tests' col, changed headers, added 'overall time' row 2013-01-15 15:26:43 +04:00
Andrey Kamaev
3cb84ed17c Fix dependencies inference for auto-disabled targets
Sometimes information about dependencies causing disabling were loosed and it
was not possible to correctly display these dependencies in status report
2013-01-14 18:58:24 +04:00
Andrey Pavlenko
9f0d5f60b5 fixinf warning on non-Windows systems 2013-01-14 18:15:51 +04:00
Alexander Smorkalov
8cb0343f4c Documentation build warning fixes.
Invalid links and refences fixed.
SpaeseMat class documentation updated.
2013-01-14 17:58:27 +04:00
Andrey Pavlenko
8e42ca1764 SURF keypoints rotation invariance test.
It calcs kpts for a cross and checks that 4 kpts at the edges have equal responce.
2013-01-14 14:06:00 +04:00
Andrey Kamaev
c49b23d4dd Merge pull request #240 from emchristiansen:javatest2.4 2013-01-14 11:06:44 +04:00
Andrey Pavlenko
b0e1cb473a more tests fixes 2013-01-11 09:13:25 +04:00
Andrey Kamaev
5e2726fb17 Merge pull request #287 from taka-no-me:fix_cvCalcOpticalFlow_2526 2013-01-10 19:56:44 +04:00
Andrey Kamaev
64d89d3546 Merge pull request #288 from taka-no-me:fix_unused_cmake_variable 2013-01-10 19:56:26 +04:00
Andrey Kamaev
cf8deac2b2 Always touch variable controlling build of the module
This suppresses "unused variable" CMake warning when user explicilty disables
module unavailable in selected configuration
2013-01-10 19:05:39 +04:00
Andrey Kamaev
b1384a6da8 Fix cvCalcOpticalFlow when the status parameter is NULL
issue 2526
2013-01-10 18:14:08 +04:00
Andrey Kamaev
dff59ec960 Merge pull request #284 from taka-no-me:fix_equalize_hist_2678 2013-01-10 16:58:36 +04:00
Andrey Kamaev
59c6e2cc44 Merge pull request #283 from AnnaKogan8:perf_tests_timing.py-improved-console-output 2013-01-10 16:58:22 +04:00
Andrey Kamaev
6131a847a2 Fix histogram calculation in equalizeHist
issue #2678
2013-01-10 14:48:31 +04:00
Andrey Kamaev
b81d1b25c7 Merge pull request #280 from vpisarev:bug_fixes_jan9 2013-01-10 13:31:04 +04:00
Anna Kogan
3271e395c8 Improved console output 2013-01-10 13:19:59 +04:00
Anna Kogan
0d7ce141aa Cleaned code 2013-01-10 13:18:26 +04:00
Anna Kogan
0334cf11cc Fixed last testsuit disregarding 2013-01-10 13:16:46 +04:00
Vadim Pisarevsky
e383d39598 fixed bug #2679 2013-01-09 17:53:19 +04:00
Andrey Kamaev
399c20a928 Merge pull request #272 from 5kg:fix_haar 2013-01-09 16:53:11 +04:00
Andrey Kamaev
e34aba60d9 Merge pull request #278 from taka-no-me:fix_build_jpeg9 2013-01-09 16:52:56 +04:00
Andrey Kamaev
873aefae19 Merge pull request #279 from taka-no-me:mingw_java 2013-01-09 16:52:41 +04:00
Vadim Pisarevsky
46cf2e96b5 Merge pull request #265 from taka-no-me:doc_signatures 2013-01-09 15:40:39 +04:00
Andrey Kamaev
4e1ba6f02f Fix build with libjpeg release 9 2013-01-08 19:55:29 +04:00
Andrey Kamaev
da9089612a Fix build of java bindings on mingw 2012-12-30 23:24:39 +04:00
cuda-geek
47df8f4c2a Merge pull request #275 from mdim:bug_fix_cvboost 2012-12-30 00:31:03 +04:00
Andrey Kamaev
dcde359181 Merge pull request #270 from wswld:2.4 2012-12-29 16:47:39 +04:00
Andrey Kamaev
7f4bcd3d72 Merge pull request #271 from 5kg:fix_cascade 2012-12-29 15:04:11 +04:00
Maria Dimashova
0e2958e888 fixed CvBoost::predict
(Sometimes sample_data became bad because the buffer with its values was deallocated early).
2012-12-29 00:30:52 +04:00
Zifei Tong
260bdc057c Changed parallel_for to parallel_for_ in haar.cpp 2012-12-28 22:56:47 +08:00
Andrey Pavlenko
c49b1bc6d5 partial fix for failing tests; fix for Windows launcher script; more quiet output 2012-12-28 17:03:35 +04:00
Zifei Tong
e331787645 Fix race condition for Cascade Classifier when TBB enabled. 2012-12-28 20:51:02 +08:00
Vsevolod Glumov
c0411caef4 Fixed a bunch of minor issues in 'dev_with_OCV_on_Android.rst'. 2012-12-28 16:37:05 +04:00
Andrey Kamaev
b401c6a0c3 Fix discrepancies between function signatures in headers and documentation 2012-12-26 18:24:50 +04:00
Andrey Kamaev
aabbe11e64 Improve function arguments parsing and checking
* always use "argN" names for unnamed arguments
* honor space symbol between typename and "*", "&" symbols
* fix indent errors
2012-12-26 17:55:03 +04:00
Andrey Kamaev
5f41971305 Merge pull request #264 from kirill-kornyakov:remove-hack-from-hough-lines-perf-test 2012-12-26 12:53:50 +04:00
Kirill Kornyakov
5023afffc7 Removed hack from perf test on HoughLines, since I hope it is fixed by pr263 2012-12-26 10:33:02 +04:00
Andrey Kamaev
04f3c19b9a Merge pull request #263 from taka-no-me:hough_explicit_double 2012-12-25 18:54:54 +04:00
Andrey Kamaev
b78811112f Merge pull request #261 from apavlenko:samples_remove_empty_menu 2012-12-25 18:28:05 +04:00
Andrey Kamaev
2e2972cef3 Merge pull request #262 from kirill-kornyakov:minor-cleanings-for-android-sdk 2012-12-25 18:26:17 +04:00
Andrey Kamaev
16687a2655 Explicitly use double precision sin & cos in hough implementation
On some platforms sin and cos are calculated in single precision resulting in
diversity of results.
2012-12-25 18:05:05 +04:00
Kirill Kornyakov
e21f106159 Updated OpenCV Manager rst documentation 2012-12-25 17:50:31 +04:00
Andrey Pavlenko
dd8e648d78 hiding empty menu button on Android 4 2012-12-25 17:49:10 +04:00
Kirill Kornyakov
def1745132 Updated readme.txt with desciption about different OCV Manager packages 2012-12-25 17:16:30 +04:00
Andrey Kamaev
6bc795308e Merge pull request #247 from wswld:2.4 2012-12-24 21:02:04 +04:00
Andrey Pavlenko
1e5b533d01 updating tutorial #2 2012-12-24 20:05:27 +04:00
Andrey Kamaev
02d1e68c64 Merge pull request #257 from AnnaKogan8:perf-tests-timing-script 2012-12-24 19:38:49 +04:00
Andrey Kamaev
1af55b4bcb Merge pull request #259 from asmorkalov:manager_outofbound_fix 2012-12-24 19:32:51 +04:00
Andrey Kamaev
efecf3b8fd Merge ppull request #258 from asmorkalov/android_emu_fix 2012-12-24 19:25:57 +04:00
Andrey Kamaev
8cf6bcb20a Merge pull request #260 from alekcac:css_fix 2012-12-24 19:26:15 +04:00
Andrey Pavlenko
99299b3605 updating tutorial #1 2012-12-24 19:25:42 +04:00
Alexander Shishkov
7e52a8d1b6 modify default css for search button (error #2654) 2012-12-24 18:26:02 +04:00
Alexander Smorkalov
064bf167ad OpenCV Manager crashes with exception (Bug #2660)
String checking and range cheching added.
2012-12-24 18:05:48 +04:00
Alexander Smorkalov
9ca65ceef8 OpenCV example-tutorial1 does not work on Android emulator (Bug #2656)
Problems with Android 2.3.3 (API level 10) fixed;
Android 2.2 does not work due to unsupported camera frame format (known android-2.2 emulator issue).
2012-12-24 17:49:49 +04:00
Anna Kogan
f57d692cd7 Improved code 2012-12-24 17:09:04 +04:00
Anna Kogan
e1331b44f5 Wrote script generating timing table 2012-12-24 17:09:04 +04:00
Andrey Kamaev
014a500f79 Merge pull request #256 from znah:2.4 2012-12-24 16:11:19 +04:00
Andrey Kamaev
524bde2aeb Merge pull request #255 from taka-no-me:fix_batchdist_test 2012-12-24 13:29:32 +04:00
Alexander Mordvintsev
20838b6f6e fix #2643: use SVD to solve least squares in cvStereoRectifyUncalibrated 2012-12-24 12:59:39 +04:00
Andrey Kamaev
02c7e221a3 Merge pull request #252 from taka-no-me:fix_stlport_build 2012-12-24 12:44:13 +04:00
Andrey Kamaev
0c3bdbf23a Merge pull request #254 from taka-no-me:array_total 2012-12-24 12:43:31 +04:00
Andrey Kamaev
d6d1d20816 Show STL type in CMake status report 2012-12-22 22:52:27 +04:00
Andrey Kamaev
b870b246e1 Fix memory corruption in batchDistance perf tests 2012-12-22 21:01:57 +04:00
Andrey Kamaev
f87987ed72 Honor multidimensional matrices in InputArray::total 2012-12-22 17:56:02 +04:00
Andrey Kamaev
9944282b09 Fix build with STLPort from NDK r8d 2012-12-22 00:59:56 +04:00
Andrey Kamaev
ffdbddd6b1 Merge pull request #250 from taka-no-me:android_ndk_r8d 2012-12-21 17:57:59 +04:00
Andrey Kamaev
f22ee7f0df Workaround "Segmentation fault" when built with gcc 4.7 from NDK r8d 2012-12-21 16:44:54 +04:00
Vsevolod Glumov
e9e46d3086 Updated Android introductory tutorials, based on frequent Q&A questions/issues. 2012-12-21 16:10:20 +04:00
Andrey Kamaev
b6efec5f8b Add support for Android NDK r8d 2012-12-21 15:39:23 +04:00
Andrey Kamaev
512f0091db Merge pull request #248 from taka-no-me:reduce_tmp_size 2012-12-20 20:09:35 +04:00
Andrey Kamaev
9526907cba Use .yml.gz format to reduce space requirement from ~260Mb to ~17Mb for ml tests
The size of temporary files is an issue on mobile platforms.
2012-12-20 18:46:54 +04:00
Andrey Kamaev
aaf779a3a2 Adjust OpenCV version to 2.4.3.2 2012-12-20 17:19:34 +04:00
Andrey Kamaev
0d00109f05 Merge pull request #244 from asmorkalov:manager_nonarm_fix 2012-12-20 17:21:59 +04:00
Andrey Kamaev
7bee55b84e Merge pull request #243 from takacsd:2.4 2012-12-20 16:58:14 +04:00
Alexander Smorkalov
ee144852f2 Hardware platform detection for non arm devices fixed. 2012-12-20 16:44:56 +04:00
Andrey Kamaev
7c37f5d7de Merge pull request #242 from asmorkalov:manager_warning_fix 2012-12-20 16:13:45 +04:00
takacsd
64f821908e Add missing _WIN32 check in core/operations.hpp.
Fix a compilation error with MinGW gcc 4.7 with enabled C++11 support (-std=c++11).
Issue number: #2555
2012-12-20 11:28:16 +01:00
Andrey Kamaev
875294aa92 Merge pull request #241 from taka-no-me:less_cc_tests 2012-12-20 13:05:05 +04:00
Alexander Smorkalov
71e7d444d8 All OpenCV Manager compiler warrnings fixed. 2012-12-20 12:28:30 +04:00
Andrey Kamaev
ca7abe1239 Reduce number of performance tests for LBP cascade 2012-12-20 12:25:59 +04:00
Andrey Kamaev
f4433ff9c4 Merge pull request #238 from asmorkalov:android_resolution_sample 2012-12-20 12:10:57 +04:00
Alexander Smorkalov
77df8730ef Tutorial-5 sample extended.
Application menu reorganized;
Resolution control added.
2012-12-20 11:16:34 +04:00
Eric Christiansen
ad326cb0be adds desktop java junit tests 2012-12-19 14:28:59 -08:00
Andrey Kamaev
c8b658fdb6 Merge pull request #237 from asmorkalov:android_make_install_fix 2012-12-19 22:09:04 +04:00
Andrey Kamaev
48f19fba76 Merge pull request #235 from asmorkalov:doc_manager_selection 2012-12-19 18:00:49 +04:00
Alexander Smorkalov
1555922228 OpenCV for Android SDK installation improved;
ReadMe.txt for OpenCV Manager added;
share folder excluded from SDK.
2012-12-19 17:28:46 +04:00
Andrey Kamaev
8763ad6c99 Fix ccache search in Android CMake toolchain. 2012-12-19 16:50:08 +04:00
Andrey Kamaev
35ac95930f Merge pull request #236 from asmorkalov:javadoc_fix 2012-12-19 16:32:45 +04:00
Andrey Kamaev
b35fa6c4ff Merge pull request #202 from Daniil-Osokin:calcHist 2012-12-19 15:07:40 +04:00
Alexander Smorkalov
d7c89fc649 A lot of javadoc warnings duting javadoc build (Bug #2647) issue fixed
Black list of entities, that are not implemented in Java API added to javadoc generator
2012-12-19 12:53:44 +04:00
Vadim Pisarevsky
a75e5ac277 Merge pull request #232 from asmorkalov:compiler_bug_workaround 2012-12-19 10:20:10 +04:00
Andrey Kamaev
2c56a09bee Merge pull request #226 from taka-no-me/equalizeHist
Fix equalization formula in equalizeHist function & rewrite in C++
2012-12-18 15:53:13 -08:00
Daniil Osokin
98d7d99244 Add threaded version of equalizeHist 2012-12-18 23:59:50 +04:00
Alexander Smorkalov
3c09b075fc OpenCV Manager selection chapter added to documentation. 2012-12-18 18:34:51 +04:00
Alexander Smorkalov
dfa4b2fefa Workaround for gcc overoptimization compiler bug. 2012-12-18 15:58:17 +04:00
Daniil-Osokin
cd501d947c perf tests for calcHist 2-3D case 2012-12-17 12:35:32 +04:00
Daniil-Osokin
7d94236c14 TBB version of calcHist 2012-12-17 11:01:31 +04:00
Vadim Pisarevsky
09be997ed8 Merge pull request #225 from pieleric:2.4 2012-12-16 22:18:24 +04:00
Vadim Pisarevsky
5c88577138 Merge pull request #227 from taka-no-me:sanity_MatND 2012-12-16 22:17:51 +04:00
Andrey Kamaev
80a1d569ca Add support for multidimentional matrices into the sanity checks 2012-12-15 20:15:34 +04:00
Andrey Kamaev
3de6846d12 Merge pull request #224 from wswld:2.4 2012-12-15 16:06:32 +04:00
Andrey Kamaev
0bbba847a4 Fix equalization formula in equalizeHist function & rewrite in C++
Old implementation did

    lut[i] = 255 * (count(Y <= i)) / (width * height)

which actually shifts uniform histograms.
From now histogram is equalized as

    C = count(Y == min(Y))
    lut[i] = 255 * (count(Y <= i) - C) / (width * height - C)
2012-12-15 15:29:15 +04:00
Éric Piel
7701fa7a63 highgui: fix segfault on CvCapture_GStreamer::open
when compiled with GStreamer, open (of a file) segfaults.

Fix was suggested by Bostjan Vesnicer.
2012-12-15 12:11:13 +01:00
Vadim Pisarevsky
9b09f09b9a Merge pull request #222 from taka-no-me:perf_verify_sanity 2012-12-14 12:26:18 +04:00
Vsevolod Glumov
3f417f1ec3 Fixes for issues #2570, #2492, #2559, #2489, #2592. 2012-12-14 10:49:51 +04:00
Andrey Kamaev
5a407153bd Fix sanity checks in stitching test 2012-12-12 20:29:23 +04:00
Andrey Kamaev
817a4c0c30 Merge branch 2.4 into perf_verify_sanity 2012-12-12 20:14:25 +04:00
Andrey Kamaev
932204d197 Added thresholds to some sanity checks 2012-12-12 20:14:20 +04:00
Andrey Kamaev
e1afb1409f Add --perf_verify_sanity option to performance tests
This option provides an easy way to identify tests having no regression data
for sanity checks
2012-12-12 19:42:24 +04:00
Andrey Kamaev
64cf113d23 Merge pull request #215 from asmorkalov:manager_depricated_packages 2012-12-12 18:47:14 +04:00
Andrey Kamaev
770a466dd2 Merge pull request #223 from taka-no-me:perf_tests 2012-12-12 18:38:48 +04:00
Andrey Kamaev
b876308d77 Merge pull request #200 from asmorkalov:t5_fix 2012-12-12 18:38:17 +04:00
Vadim Pisarevsky
5cc0abffa5 Merge pull request #221 from asmorkalov:doc_install_fix 2012-12-12 13:39:25 +04:00
Andrey Kamaev
6e244c83cd Corrected sanity checks in several perf tests
Also fixed a typo in performance testing framework and removed hardcoded
temporary file name from highgui perf test
2012-12-12 01:00:47 +04:00
Alexander Smorkalov
e5468008aa Installation of documents fixed. 2012-12-11 19:08:20 +04:00
Alexander Smorkalov
f29c727ada Tag "safe to remove" added to unused packages;
OpenCV Manager version++.
2012-12-11 12:36:01 +04:00
Andrey Kamaev
60ad505a63 Merge pull request #212 from taka-no-me/fix_2602
Prevent imread from illegal memory access (Bug #2602)
2012-12-10 11:48:28 -08:00
Andrey Kamaev
2bf56961c0 Merge pull request #204 from asmorkalov/manager_internal_lib
Feature #2565 implementation
2012-12-10 08:07:39 -08:00
Andrey Kamaev
f7dc98f67b Merge pull request #205 from taka-no-me/gtest_r629
Update googletest to the latest upstream
2012-12-10 08:07:30 -08:00
Andrey Kamaev
9c6eed0ba3 Merge pull request #206 from asmorkalov/manager_version_fix
Bug #2595 in OpenCV Manager fixed.
2012-12-10 08:07:19 -08:00
Andrey Kamaev
7660fe03a6 Merge pull request #214 from jmunk1/bugfix-2610
Fixed typo in OpenCVDetectOpenCL.cmake that resulted in cmake not findin...
2012-12-10 08:06:50 -08:00
Andrey Kamaev
e21884f4c4 Merge pull request #219 from kirill-kornyakov/hack-hough-lines-sanity-test-on-win32
Ugly hack to make HoughLines sanity check pass on Windows
2012-12-10 08:06:15 -08:00
Kirill Kornyakov
cdbbfc98e1 Ugly hack to make HoughLines sanity check pass on Wun32 2012-12-10 18:16:15 +04:00
Andrey Kamaev
7c6191ec11 Refactored run.py script and temporary file generation logic
* use OPENCV_TEMP_PATH environment variable on all platforms
* fix cleanup after OpenCV tests on Windows
* add --list flag to output names of all tests found
* do not override user-passed --perf_min_samples and --perf_force_samples
  options by --check flag
* fix complier checks inside run.py
2012-12-08 15:43:23 +04:00
Alexander Smorkalov
d550f95347 Date and time added to saved file name. 2012-12-07 14:46:53 +04:00
Justin Muncaster
709a1cc083 Fixed typo in OpenCVDetectOpenCL.cmake that resulted in cmake not finding OpenCL on windows. 2012-12-06 13:17:25 -08:00
Andrey Kamaev
1821d21f5b Prevent imread from illegal memory access (Bug #2602)
The change is based on pull request #211.
2012-12-06 19:42:17 +04:00
Alexander Smorkalov
257d8df1d4 Bug with skiped packages fixed. 2012-12-06 14:11:30 +04:00
Alexander Smorkalov
d2ed8e5f30 Bug #2595 in OpenCV Manager fixed.
OpenCV Manager 2.x marks old 2.4.2 binary package for Tegra as "in use".
The latest version of OpenCV library compatible with platform is used now.
2012-12-05 18:03:42 +04:00
Alexander Smorkalov
4ebcf2b224 GetPublicName function removed for OpenCV LibraryInfo class;
Some OpenCV Manager UI behavior updates;
CMake build fix.
2012-12-05 13:19:28 +04:00
Andrey Kamaev
b0d3830399 Update gtest to upstream r629 2012-12-05 03:02:37 +04:00
Vadim Pisarevsky
7852b68c20 Merge pull request #197 from asmorkalov:ffmpeg_status_message_fix 2012-12-04 21:02:10 +04:00
Alexander Smorkalov
0f64f847b2 Info library loading implemeneted. 2012-12-04 16:34:53 +04:00
Alexander Smorkalov
9823b7cd08 Internal version of OpenCV inside OpenCV Manager added to the list of installed packages. 2012-12-04 15:37:27 +04:00
Alexander Smorkalov
a0c504aabc Initial stub for OpenCVLibraryInfo class added. 2012-12-04 15:36:52 +04:00
Alexander Smorkalov
6e0db3f527 Feature #1322 "If dll cannot be loaded a warning should be generated" implemented. 2012-12-03 13:52:49 +04:00
Alexander Smorkalov
22484872fa Sample Tutorial-5 improved
Aditional toasts added;
Exception handling improved;
Bitmap recycling added.
2012-11-30 18:41:46 +04:00
Andrey Kamaev
f6ca38a579 Adjust Android Manager version from 2.2 to 2.3 2012-11-30 17:09:30 +04:00
Andrey Kamaev
f12d945712 Remove compiled pdf files from source control
The documentation is available online at http://opencv.org/documentation.html
2012-11-30 14:56:00 +04:00
Andrey Kamaev
49c35fafc0 Adjust OpenCV version to 2.4.3.1 2012-11-30 14:33:28 +04:00
Andrey Kamaev
60a98aa5f7 Merge pull request #199 from apavlenko/remove_android_tutorial0
removing Android tutorial 0
2012-11-30 01:20:07 -08:00
Andrey Kamaev
677443f3ef Merge pull request #191 from asmorkalov:custom_cam_init 2012-11-30 12:53:26 +04:00
Andrey Pavlenko
ea83d384c1 removing Android tutorial 0 since it has become irrelevant after moving to the new application framework 2012-11-30 12:32:16 +04:00
Andrey Kamaev
bbfccb61f3 Merge pull request #198 from asmorkalov:disable_warp_tests 2012-11-29 20:29:22 +04:00
Alexander Smorkalov
d36f8b9eb3 Code review comments applied
Sample renamed to CameraControl;
Picture taking added to show camera preview restart.
2012-11-29 18:26:57 +04:00
Alexander Smorkalov
f6ff2b87fa Some perf tests on warping and resize disabled on Android
MatInfo_Size_Size.resizeDownLinear
MatInfo_Size_Size.resizeUpLinear
TestWarpPerspectiveNear_t.WarpPerspectiveNear
TestWarpPerspective.WarpPerspective
2012-11-29 18:21:22 +04:00
Andrey Kamaev
64bed2060a Merge pull request #194 from asmorkalov/v4l_fix
Patch #2323 applied
2012-11-29 01:27:34 -08:00
Andrey Kamaev
7e8fab0747 Merge pull request #195 from vpisarev/inv3x3_fix
now invert 3x3 on "bad" matrices works well on Windows
2012-11-29 01:27:27 -08:00
Andrey Kamaev
c646bd4b7a Merge pull request #196 from jet47/gpu-bug-2581
fixed Bug #2581
2012-11-29 01:27:14 -08:00
Vladislav Vinogradov
362655b02a fixed Bug #2581
GoodFeaturesToTrackDetector_GPU fails when no corners found
2012-11-29 11:19:30 +04:00
Vadim Pisarevsky
b57e801c04 now invert 3x3 on "bad" matrices works well on Windows 2012-11-28 23:05:51 +04:00
Alexander Smorkalov
bb3d14e1a0 Patch #2323 "cap_libv4l.cpp clears default width and height after setting them" applied. 2012-11-28 21:53:39 +04:00
Andrey Kamaev
5047b3fba2 Merge pull request #193 from AnnaKogan8/perf-tests-increase-time-limits
Increased time limits for perf tests
2012-11-28 07:18:11 -08:00
Andrey Kamaev
e1a4d22da6 Merge pull request #192 from taka-no-me/ndk_selection_fix
Android: always sort list of NDK toolchains
2012-11-28 07:17:49 -08:00
Anna Kogan
4e21f42714 increased time-limits 2012-11-28 18:17:33 +04:00
Anna Kogan
8877066846 increased time-limits 2012-11-28 18:17:33 +04:00
Andrey Kamaev
157cdeb443 Merge pull request #175 from taka-no-me:run_py 2012-11-28 12:44:05 +04:00
Andrey Kamaev
ae149adb29 Merge pull request #190 from asmorkalov:ninja_fix 2012-11-27 23:41:30 +04:00
Andrey Kamaev
cbe22fb5d1 Android: always sort list of NDK toolchains
Order returned by CMake is unreliable but we need clang to go after gcc for
automatic toolchain selection.
2012-11-27 18:16:36 +04:00
Alexander Smorkalov
86f7a357ae Tutorial-5 functionality implemented. 2012-11-27 18:06:43 +04:00
Alexander Smorkalov
24c920a33a Base for new sample added. 2012-11-27 18:06:43 +04:00
Andrey Kamaev
03f402892d Merge pull request #188 from asmorkalov:app_framework 2012-11-27 17:50:39 +04:00
Andrey Kamaev
930b580e0d Merge pull request #189 from wswld:2.4 2012-11-27 17:48:55 +04:00
Alexander Smorkalov
383e04d9e4 OpenCV Manager build via ninja (Bug #2575) fixed. 2012-11-27 17:30:05 +04:00
Vsevolod Glumov
0711e65972 Added a note to the android_dev_intro.rst. 2012-11-27 15:10:57 +04:00
Alexander Smorkalov
2e5a7284d2 Code review comments applied. 2012-11-27 14:55:49 +04:00
Alexander Smorkalov
e95fc27490 Samples updated
In tutorial-1 fps meter enabled via layout.xml. Camera id is set to "any" via lauout.xml;
In tutorial-2 message moved ion the bottom of the screen.
2012-11-27 12:47:41 +04:00
Alexander Smorkalov
0efc32fc21 Attribure loading from layout improved.
OpenCV namespace added;
Default values for camera_id added;
Aditional constructor with cameraId added.
Resolution added to FPS message.
2012-11-27 12:47:41 +04:00
Alexander Smorkalov
8266eab8b4 OpenCV app framework improved
FPS meter added;
Camera switching posibility added;
Attributes loading for layout filed implemented.
2012-11-27 12:47:41 +04:00
Andrey Kamaev
214629b220 Merge pull request #187 from vpisarev:doc_fixes_2.4 2012-11-26 22:33:01 +04:00
Andrey Kamaev
dc3aa27be4 Merge pull request #183 from apavlenko:perf/android_filters_accuracy 2012-11-26 22:32:38 +04:00
Andrey Kamaev
8286e1a5f7 Merge pull request #185 from apavlenko:bug2569/simplify_samples_jni_code 2012-11-26 22:32:22 +04:00
Andrey Pavlenko
c36dcbcada Increase accuracy interval for image filters on Android and other platforms when sensible 2012-11-26 22:29:05 +04:00
Vadim Pisarevsky
db965353f4 fixed a few compile errors/warnings in 2.4 branch of the docs 2012-11-26 18:48:23 +04:00
marina.kolpakova
39da17a02a Merge pull requst #177 from cuda-geek/another-one-integral-fix 2012-11-26 18:10:21 +04:00
marina.kolpakova
a22edb037f fixed typo 2012-11-26 17:57:56 +04:00
Andrey Pavlenko
b19f672843 (#2569) simplifying code to avoid Eclipse CDT editor confusion, removing warnings and typos in comments 2012-11-26 17:32:10 +04:00
marina.kolpakova
7df45c0dcc remove unnecessary copying in SURF 2012-11-25 03:26:50 +04:00
marina.kolpakova
91913364d6 reintegrate warp shuffle based integral 2012-11-25 03:21:51 +04:00
marina.kolpakova
5460cee9e9 fix cascade classifier GFF NMS for empty candidates vector 2012-11-25 03:19:24 +04:00
Andrey Kamaev
23011ffd81 Merge pull request #179 from cuda-geek:usr-bin-env-python 2012-11-24 19:24:01 +04:00
Andrey Kamaev
6eed90e5e8 Merge pull request #180 from mdim:fix_compile_error 2012-11-24 19:22:02 +04:00
Andrey Kamaev
901c0d80c3 Merge pull request #178 from cuda-geek:fix-2504 2012-11-24 19:20:53 +04:00
Maria Dimashova
97e36b9375 fix a compile error in case of building without highgui 2012-11-24 18:10:29 +04:00
marina.kolpakova
68d04d28b6 replace offsets in surf to simple copy for better speed 2012-11-24 16:50:29 +04:00
Andrey Kamaev
8daebeac8a run.py: add --check option for easy run of sanity checks 2012-11-24 14:12:32 +04:00
Andrey Kamaev
9db1d9ba13 run.py: improve handling of multiple Android devices
* do not lose auto-selected device while running several tests
* reduce output noise
* list available devices if unable to auto-select device
* fix error message when no devices connected
2012-11-24 14:11:07 +04:00
marina.kolpakova
be0c20b758 align grid by 4 2012-11-24 01:55:03 +04:00
marina.kolpakova
fceb62386d fix for 2504: WITH_CUDA disabled with OSX in 2.4.3. 2012-11-23 23:11:44 +04:00
marina.kolpakova
285d6320be add #/usr/bin/env python to all python files 2012-11-23 22:57:22 +04:00
Andrey Kamaev
f45b5b13f1 Merge pull request #172 from asmorkalov:default_cam_lib_path 2012-11-23 14:31:04 +04:00
Andrey Kamaev
081887ee16 Merge pull request #174 from asmorkalov:full_sreen_fix 2012-11-23 14:30:48 +04:00
Alexander Smorkalov
2c67731a7b Issue #2549 OpenCV Samples does not expand on full screen fixed.
All samples use application style in android manifest instead of system calls in onCreate event now.
2012-11-23 13:12:11 +04:00
Alexander Smorkalov
3282e08f55 Default native library path for native camera updated.
New versions tries to search library in arm-v7a and Manager packages only.
2012-11-22 12:40:25 +04:00
Alexander Smorkalov
845e52b676 OpenCV Manager headers refactoring.
All constants moved to android independent header file.
2012-11-22 12:39:06 +04:00
Andrey Kamaev
8579666b03 Merge pull request #171 from asmorkalov:android_8_neon_fix 2012-11-21 14:55:38 +04:00
Andrey Kamaev
24af691843 Merge pull request #168 from asmorkalov:android_42_camera_fix 2012-11-21 14:50:53 +04:00
Alexander Smorkalov
8ecd22ba48 Automatic minsdkversion setup added;
Linker problems on armeabi-v7a+NEON with Android 2.2 fixed;
2012-11-21 14:03:11 +04:00
Vadim Pisarevsky
c31f106012 Merge branch 'ParallelVideoStreams' of https://github.com/ilya-lavrenov/opencv into 2.4 2012-11-21 11:43:18 +04:00
Alexander Smorkalov
aa4e6a8a83 Issue #2547 Native camera does not work on Google Nexus 7 with Android 4.2 fixed;
Issue #2506 Unnecessary log printouts in OpenCV::camera fixed;
Native camera for MIPS Android 4.1.1 added.
Build script for camera updated.
2012-11-21 11:37:29 +04:00
Andrey Kamaev
d559c18ee5 Merge pull request #161 from apavlenko:fix/sdk_r21 2012-11-20 19:07:08 +04:00
Andrey Pavlenko
cfd634ca3e Improving compatibility with the latest Android SDK (r21) and NDK (r8c).
- Adding Android SDK/ADT r21 compatibility;
- fixing stl headers path for new ndk;
- fixing native API level for Android projects
2012-11-20 18:40:22 +04:00
Andrey Kamaev
4fce5a5e83 Merge pull request #170 from asmorkalov:engine_build_fix 2012-11-20 18:27:43 +04:00
Andrey Kamaev
934b623fa9 Merging pull request #169 from taka-no-me:android-ndk-r8c 2012-11-20 17:56:12 +04:00
Andrey Kamaev
d3397a1d6d Merging pull request #167 from asmorkalov:java_api_manager_test 2012-11-20 17:53:06 +04:00
Alexander Smorkalov
5b148083fe Libinfo build fix;
Libinfo revision formating fix;
HW dependent VersionCode for Manager implemented.
2012-11-20 17:39:45 +04:00
Andrey Kamaev
f172947ed5 Merging pull request #162 from taka-no-me/opencv 2012-11-20 17:33:34 +04:00
Andrey Kamaev
5527fc62f4 'Merging pull request 163 from asmorkalov/opencv' 2012-11-20 17:23:02 +04:00
Andrey Kamaev
04481d9ef4 Fix Android build with clang compiler 2012-11-20 15:20:04 +04:00
Andrey Kamaev
ab9311947a Update Android CMake toolchain for NDK r8c 2012-11-20 15:20:04 +04:00
Alexander Smorkalov
66a1ea7604 Test execution inside Eclipse fixed;
OpenCV testing via OpenCV Manager implemented.
2012-11-20 10:45:46 +04:00
Ilya Lavrenov
4abf0b3193 thread-safe VideoWriter and VideoCapture 2012-11-19 16:44:23 +04:00
Alexander Smorkalov
1f1d43fc88 Issue #2548 Missing static library libtbb.a for armeabi and mips build fixed. 2012-11-19 12:58:17 +04:00
Andrey Kamaev
9ca1162be8 Update URL for TBB download. Update to TBB 4.1 update 1 2012-11-19 11:43:28 +04:00
Andrey Kamaev
6cd70c83fb Merge pull request #160 from asmorkalov/android_4_2_manager_fix 2012-11-16 17:44:34 +04:00
Andrey Kamaev
f6f1861a2f Merge pull request #159 from asmorkalov/libinfo_install_fix 2012-11-16 17:44:02 +04:00
Andrey Kamaev
590d1d8118 Merge pull request #157 from vpisarev/bug_fixes5 2012-11-16 17:43:21 +04:00
Alexander Smorkalov
759863d95c Issue #2537 OpenCV Manager doesn't work on Android 4.2 fixed. 2012-11-16 17:01:25 +04:00
Alexander Smorkalov
1e0bff3268 Issue #2541 make install does not work for Android build fixed. 2012-11-15 11:24:41 +04:00
Alexander Mordvintsev
9cfa51a483 added CV_OUT to StereoVar output paramiter 2012-11-13 23:17:54 +04:00
Andrey Kamaev
72a63922d2 Merge pull request #156 from jet47/gpu-hough-lines-fix 2012-11-13 18:24:36 +04:00
Andrey Kamaev
e4fb680566 Merge pull request #155 from jet47/gpu-test-fix 2012-11-13 18:23:52 +04:00
Andrey Kamaev
5bc66ec8e4 Merge pull request #149 from taka-no-me/osx_warnings 2012-11-13 18:21:40 +04:00
Andrey Kamaev
a218507586 Merge pull request #148 from taka-no-me/tutorial_codes 2012-11-13 18:20:49 +04:00
Andrey Kamaev
8ba9289a2c Merge pull request #146 from taka-no-me/win_opengl 2012-11-13 18:19:42 +04:00
Andrey Kamaev
4d6bdc1533 Merge pull request #145 from taka-no-me/vec_print 2012-11-13 18:18:48 +04:00
Andrey Kamaev
c803cbb93b Merge pull request #143 from vpisarev/bug_fixes4 2012-11-13 18:17:33 +04:00
Andrey Kamaev
7e301c5c0e Merge pull request #141 from jet47/gpu-pyrlk-fix 2012-11-13 18:16:19 +04:00
Andrey Kamaev
b5e009eb87 Merge pull request #144 from asmorkalov/fd_package_fix_2.4 2012-11-13 18:13:33 +04:00
Vladislav Vinogradov
a9919e01d0 fixed bug in gpu::HoughLines 2012-11-13 17:54:17 +04:00
Vladislav Vinogradov
606c23b9aa fixed gpu module tests
uses old CommandLineParser class
2012-11-13 17:50:29 +04:00
Andrey Kamaev
a126532cb7 Fix OS X build warnings 2012-11-09 11:29:52 +04:00
Andrey Kamaev
dad56e202f Rename sample & tutorial executables 2012-11-09 10:15:48 +04:00
Andrey Kamaev
b131dfeecd Build tutorial codes together with other samples
These codes should be included into regular builds.
2012-11-09 10:15:48 +04:00
Andrey Kamaev
8c9c2b3a03 Fix build on Windows with OpenGl enabled
There was missing windows.h include in OpenGL interop code.
2012-11-09 10:00:24 +04:00
Andrey Kamaev
e5ffbf9498 Fix stream output operator for Vec<uchar,n>
This fixes output for 8U and 8S vector depths.
They were mistakenly printed as characters instead of numbers.
2012-11-09 09:54:43 +04:00
Alexander Smorkalov
91a9923dcf Face detection package name replaced on org.opencv.facedetect for consistency with Google Play package. 2012-11-09 09:40:19 +04:00
Vadim Pisarevsky
2e54e2a586 fixed problem with LBPHFaceRecognizer::update() without breaking binary compatibility. 2012-11-08 16:15:04 +04:00
Vadim Pisarevsky
9163471987 improved accuracy of 3x3 invert on poorly-conditioned matrices (bug #2525) 2012-11-08 14:09:43 +04:00
Vladislav Vinogradov
a0be7b57f5 fixed bug in gpu::PyrLKOpticalFlow::dense
vector index out of range
2012-11-07 17:13:19 +04:00
Evgeny Talanin
6484732509 Updated docs to 2.4.3 2012-11-02 17:29:49 +04:00
Andrey Kamaev
54f96f045e Merge pull request #134 from apavlenko/android-tutorial 2012-11-02 17:02:40 +04:00
Andrey Kamaev
4224a64264 Merge pull request #133 from vpisarev/ios_atomic_fix 2012-11-02 17:01:51 +04:00
Andrey Pavlenko
65c6b81cbc Android Tutorial update (TADP link, Android SDK platforms, CDT) 2012-11-02 16:11:08 +04:00
Vadim Pisarevsky
9a08b7be45 fixed compile problem with the old Xcode (<4.5) 2012-11-02 15:29:16 +04:00
Andrey Kamaev
f2af0e7a57 Merge pull request #132 from taka-no-me/version-2.4.3 2012-11-02 14:31:30 +04:00
Andrey Kamaev
4ac5223afa Merge pull request #131 from taka-no-me/tegra-fast 2012-11-02 14:31:02 +04:00
Andrey Kamaev
828faf4e68 Merge pull request #129 from cuda-geek/CCL-test-fix 2012-11-02 14:30:20 +04:00
Andrey Kamaev
63ee26adda Merge pull request #127 from cuda-geek/apple2clang 2012-11-02 14:29:39 +04:00
Andrey Kamaev
4a2f626d85 Remove "-rc" suffix from version 2012-11-02 14:27:34 +04:00
Andrey Kamaev
dbb5a32453 Use Tegra version of cv::FAST 2012-11-02 13:16:16 +04:00
Vadim Pisarevsky
42471c082f possibly fixed compile errors in GPU module on Windows 2012-11-02 12:03:25 +04:00
marina.kolpakova
97cab339d2 fix Connected Components Labeling test crash 2012-11-01 23:59:01 +04:00
marina.kolpakova
a04ef08602 Merge pull request #122 from kirill-kornyakov:2.4-android-documentation-fixes 2012-11-01 22:30:06 +04:00
Kirill Kornyakov
2b7d65d078 Updated OpenCV4Android SDK tutorial 2012-11-01 22:28:46 +04:00
Kirill Kornyakov
61ed591728 Updated Introduction into Android Development tutorial 2012-11-01 22:28:46 +04:00
Kirill Kornyakov
1c77f0abfe Rewrote abs documentation without funcx, so now :ocv:funcx: is used only for operator() 2012-11-01 22:28:46 +04:00
Kirill Kornyakov
2efd9b6ad7 Fixed a couple of minor issues in Javadocs 2012-11-01 22:28:46 +04:00
Kirill Kornyakov
c5fb2de887 Updated link to OpenCV for Android page in README.android 2012-11-01 22:28:46 +04:00
marina.kolpakova
7a5b9a6b7f replase __APPLE__ marco with __clang__ 2012-11-01 19:34:05 +04:00
marina.kolpakova
5ce9965459 Merge pull request #125 from taka-no-me:perf_tests 2012-11-01 19:31:33 +04:00
marina.kolpakova
358fcbd5b6 Merge pull request #115 from asmorkalov:java_test_data_update 2012-11-01 19:29:18 +04:00
marina.kolpakova
09dec4e873 Merge pull request #124 from branch taka-no-me:vs8-vs9-tbb 2012-11-01 19:26:30 +04:00
marina.kolpakova
334f6344dd Merge pull request #120 from NikoKJ:ocl2.4.3 2012-11-01 19:16:22 +04:00
marina.kolpakova
9b92de9a88 Merge pull request #121 from branch asmorkalov:android_samples_fix 2012-11-01 19:11:53 +04:00
marina.kolpakova
57fc5e00f3 Merge pull request #126 from vpisarev:bug_fixes3 2012-11-01 19:01:27 +04:00
Vadim Pisarevsky
3d0c08816d another fix to make OpenCV more friendly for iOS developers. We now use libc++ instead of libstdc++ and clang instead of gcc to build opencv2.framework. 2012-11-01 18:15:48 +04:00
Andrey Kamaev
9a01532caa Merge pull request #123 from asmorkalov/manager_static_lib_info 2012-11-01 17:08:45 +04:00
Vadim Pisarevsky
d9d4e8df6f fixed bugs #2300 (Vector::dot) and #2467 (build with Xcode 4.5 with --stdlib=libc++) 2012-11-01 16:37:39 +04:00
Andrey Kamaev
e3be5f138a Fixed sanity checks in several performance tests 2012-11-01 16:29:30 +04:00
Alexander Smorkalov
34896529d5 Review comments applied. 2012-11-01 16:19:11 +04:00
Andrey Kamaev
fd4909360f Remove windows.h include from opencv2/core/internal.hpp to avoid conflicts with TBB library. 2012-11-01 12:44:10 +04:00
Andrey Kamaev
7267d518d5 Fix build in Visual Studio 2005 2012-11-01 12:42:51 +04:00
Alexander Smorkalov
fc085d9dbd info library for OpenCV added. 2012-10-31 20:48:37 +04:00
Alexander Smorkalov
a1a2cb0aeb OpenCV Samples testing problems fixed:
Memory leak in color-blob-detection sample fixed;
Default face size in face-detection is set to 20%;
Error handling improved;
Some possible mat leak fixed;
Manager verison and engine interface version incremented to fix incompatibilities;
Docs updated;
2012-10-31 17:24:50 +04:00
Andrey Kamaev
b5ecb1d32d Merge pull request #111 from taka-no-me/algorithm/addParam-short 2012-10-31 16:57:06 +04:00
Andrey Kamaev
74fe158f4b Merge pull request #117 from vpisarev/doc_updates 2012-10-31 16:56:04 +04:00
Andrey Kamaev
a1c96c4b3c Merge pull request #118 from asmorkalov/opencv_manager_cmake 2012-10-31 16:54:07 +04:00
Andrey Kamaev
3e10e057cb Merge pull request #110 from vpisarev/test_fixes2 2012-10-31 16:52:50 +04:00
Andrey Kamaev
f15e49041e Merge pull request #112 from taka-no-me/warnings 2012-10-31 16:51:35 +04:00
Vadim Pisarevsky
849a8c8d20 fixed many errors in warnings in rst docs; added ocl module description (by Niko Li) 2012-10-31 15:15:51 +04:00
NikoKJ
2045c85ad5 a minor bug fix for brute force 2012-10-31 16:01:56 +08:00
Alexander Smorkalov
da31e12fed CMake for OpenCV Manager updated;
Some repo normalization problems fixed;
Deprecated cmake keys removed;
Warning fixed.
2012-10-31 11:47:27 +04:00
Vadim Pisarevsky
adc1d94e95 updated patch for tests; reenabled SURF & Denoising; removed fixes in ocl tests, since this is already fixed in another pull request 2012-10-30 15:25:46 +04:00
Andrey Kamaev
78fd99abdb Merge rebased pull request #106 from albenoit/retina_devel 2012-10-30 15:07:35 +04:00
alexandre benoit
08ff5f92f4 minor updates for doc redirections and tutorial images size 2012-10-30 15:06:13 +04:00
alexandre benoit
f593616b84 minor update 2012-10-30 15:06:13 +04:00
alexandre benoit
e475010e14 updated first image sample 2012-10-30 15:06:13 +04:00
alexandre benoit
3fb90abb76 added retina code tutorial 2012-10-30 15:06:13 +04:00
alexandre benoit
f05f374fb5 updated tutorial, rapid spell check, retina parameters discussion added 2012-10-30 15:06:13 +04:00
alexandre benoit
3eb4e38735 updated tutorial, need spell check, validation, nicer images and a discussion on parameters 2012-10-30 15:06:13 +04:00
alexandre benoit
23bd673598 adding retina tutorial 2012-10-30 15:06:13 +04:00
alexandre benoit
cdc4679b3e introducing a tutorial for the retina model 2012-10-30 15:06:13 +04:00
Alexander
b0106ca25e Test data form features2d updated. 2012-10-30 15:05:09 +04:00
Andrey Kamaev
0be590d898 Merge pull request #109 from asmorkalov/2.4 2012-10-30 13:02:29 +04:00
Andrey Kamaev
f3a158c862 Merge pull request #102 from NikoKJ/ocl4_2.43 2012-10-30 13:01:57 +04:00
NikoKJ
9ccdd17376 eliminate all the warnings on win32 and win64
add a new function abssum
fix the bug of test and perf because someone remove non-free module from cmakelist.txt
2012-10-30 13:01:42 +04:00
Vadim Pisarevsky
63bd6f9adf fixed compile errors in ocl tests; disabled a few problematic tests 2012-10-29 23:37:18 +04:00
Alexander
d495daf1ed Memory leak of native OpenCV mats fixed. 2012-10-29 16:56:21 +04:00
Andrey Kamaev
ad982f4ed6 Turn off video IO perf tests on Android 2012-10-26 17:00:31 +04:00
Andrey Kamaev
fcad269e53 Specify sanity threshold for WarpPerspective perf test 2012-10-26 17:00:31 +04:00
Andrey Kamaev
84934f7bfc Fix SHORT data type support in Algorithm
* typo in Algorithm::addParam for 'short' data type which results in segmentation fault on ARM
  on attempt to set type property for FAST using setter inherited from Algorithm
* added short type support to read/write methods
* improved some error messages
2012-10-26 17:00:13 +04:00
Andrey Kamaev
d936f06297 Merge pull request #103 from asmorkalov/2.4 2012-10-26 14:40:18 +04:00
Alexander Smorkalov
83d8bc8c55 Tutorial 1 updated. Execution time camera switching implemented.
Some unification done to simplify camera switching.
2012-10-26 13:30:20 +04:00
Alexander Smorkalov
016b2cadb0 Issue 2473 Service connection leak in OpenCV Manager installation waiting fixed.
Some code refactoring done.
2012-10-26 13:30:20 +04:00
Alexander Smorkalov
9217095955 Issue 2472 Android samples crash on Camera.StartPreview on Android 4.1 fixed. 2012-10-26 13:30:20 +04:00
Andrey Kamaev
bbb2d27add Merge pull request #74 from taka-no-me/cl2cpp 2012-10-25 14:56:53 +04:00
Andrey Kamaev
63397e825c Cleanup CMakeLists.txt of ocl module 2012-10-25 14:55:37 +04:00
Andrey Kamaev
42414b5689 Merge pull request #92 from LeonidBeynenson/cv_algorithm_changes_2.4 2012-10-25 14:52:50 +04:00
Andrey Kamaev
2b0072d823 Suppress more warnings in gtest on OS X 2012-10-24 20:36:30 +04:00
Andrey Kamaev
673aa91bac Fix remaining windows build warnings 2012-10-24 20:27:20 +04:00
Evgeny Talanin
12747068b5 Updated docs to 2.4.3 rc 2012-10-24 17:28:17 +04:00
Andrey Kamaev
ca20228956 Merge pull request #95 from apavlenko/perf-test/warp 2012-10-24 15:39:53 +04:00
Andrey Kamaev
6c5922542e Merge pull request #97 from asmorkalov/2.4 2012-10-24 15:02:05 +04:00
Andrey Kamaev
734b0da014 Merge pull request #94 from vpisarev/test_fixes 2012-10-24 14:42:20 +04:00
Vadim Pisarevsky
ae10ecd264 fixed 2 test failures (test_DrawChessboardCorners & Core_Array.expressions) 2012-10-24 14:41:15 +04:00
Alexander Smorkalov
e7e14b20cd OpenCV Manager version ++. 2012-10-24 13:25:07 +04:00
Alexander Smorkalov
293063eed3 Code normalization problems fixed.
Rair hangs on library installation fixed.
2012-10-24 12:47:43 +04:00
Alexander Smorkalov
680fba7e0d Repo normalization problems fixed. 2012-10-24 12:46:36 +04:00
Alexander Smorkalov
4f0f6686d1 Undefind behavior in Async Service Helper fixed. 2012-10-24 12:28:31 +04:00
Andrey Pavlenko
a94e80bea3 fixing typos in perf tests for warp funcs 2012-10-24 11:21:58 +04:00
Alexander Smorkalov
76bcf72ded 2.4.3 version support added to OpenCV Manager. Docs updated. Samples updated. 2012-10-24 09:51:01 +04:00
LeonidBeynenson
d6aa3bd8ed Made changes in cv::Algorithm
made it to give more verbose errors when arguments of wrong types are passed, added setters with types (e.g. setInt, etc)
2012-10-23 21:37:27 +04:00
Andrey Kamaev
080b9bbcd3 Merge pull request #80 from apavlenko/android-samples-refactor 2012-10-23 20:53:59 +04:00
Andrey Kamaev
b88323afc3 Merge pull request #91 from taka-no-me/warnings/windows 2012-10-23 20:52:42 +04:00
Andrey Kamaev
9b149edde6 Merge pull request #90 from taka-no-me/version_2.4.3-rc 2012-10-23 20:36:51 +04:00
Alexander Smorkalov
c1d42664bc Refactring. Bug fix. 2012-10-23 20:06:58 +04:00
Alexander Smorkalov
a942747046 Code review coments fixed. Lint wornings fixed. 2012-10-23 20:06:58 +04:00
Alexander Smorkalov
4c06d0834e camera-preview sample removed from CMakeLists.txt 2012-10-23 20:06:58 +04:00
Alexander Smorkalov
84856fa2c1 CMakeLists.txt rescued. Androidmanifest unified. 2012-10-23 20:06:58 +04:00
Alexander Smorkalov
a5ee07d340 Image manipulations sample ported on new framework. 2012-10-23 20:06:58 +04:00
Alexander Smorkalov
898320a0f6 Code clean up. 2012-10-23 20:06:58 +04:00
Alexander Smorkalov
c64ee44c9e Color blob detection sample ported on new framework. 2012-10-23 20:06:33 +04:00
Alexander Smorkalov
2fd8b51a26 Face detection sample ported on new framework. 2012-10-23 20:06:33 +04:00
Alexander Smorkalov
d9ea16ce57 Tutorial1 ported on new framework. 2012-10-23 20:06:33 +04:00
Alexander Smorkalov
873f47654a Tutorial2 ported on new framework. 2012-10-23 20:06:33 +04:00
Alexander Smorkalov
31763bdcf0 Tutorial3 ported on new framework. 2012-10-23 20:06:33 +04:00
Alexander Smorkalov
50500e5923 Tutorial4 ported on new sample framework. 2012-10-23 20:06:33 +04:00
Alexander Smorkalov
641ee645ab New sample framework integrated to Java part of SDK;
Frame format setter added to both views.
2012-10-23 20:06:33 +04:00
Alexander Smorkalov
9029acf6f0 openCV application framework moved to modules/java/... folder. Now it is part of OpenCV SDK. 2012-10-23 20:06:33 +04:00
Alexander Smorkalov
68ab3d5be6 Processing thread added to Java camera view. 2012-10-23 20:06:32 +04:00
Alexander Smorkalov
8393fd0c9d Auto focus added;
Old Android support added;
Android 4.1.x fixes added;
Thead sync added;
Camera errors handling added.
2012-10-23 20:06:32 +04:00
Alexander Smorkalov
f8bcff8ff3 Device rotation support added;
Nexus 7 support added.
2012-10-23 20:05:16 +04:00
Alexander Smorkalov
09901fae2b OnResume/OnPause handlers added to start/stop camera.
OpenCV initialization moved to onResume event to support package installation waiting.
2012-10-23 20:05:16 +04:00
Alexander Smorkalov
cc3430dbcc Naming fixed;
Warnings fixed;
Nexus 7 support added to manifest.
2012-10-23 20:04:09 +04:00
Konstantin Bezruk
cd152c3a03 Puzzle15 implementation with use of the OpenCV surface framework 2012-10-23 20:02:46 +04:00
Alexander Smorkalov
5f1339b319 Menu and style removed from sample. 2012-10-23 20:02:46 +04:00
Andrey Pavlenko
a32004f90c adding initial version of a sample with new Camera-View handling design 2012-10-23 20:01:23 +04:00
Andrey Kamaev
1a500813f6 Remove dead blobtrackingkalman.cpp 2012-10-23 18:20:07 +04:00
Andrey Kamaev
ac96bb357c Suppress more warnings in libtiff 2012-10-23 18:20:07 +04:00
Andrey Kamaev
9751014067 Fix warnings from MSVC 10 64-bit 2012-10-23 18:20:07 +04:00
Andrey Kamaev
afc79e2a02 Fix warnings from MSVC 9 64-bit 2012-10-23 18:20:07 +04:00
Andrey Kamaev
0072078857 Hide non-windows variable in gtest 2012-10-23 18:09:49 +04:00
Andrey Kamaev
1d8729a7aa Don't use _interlockedExchangeAdd in case of GNU compiler 2012-10-23 18:09:49 +04:00
Andrey Kamaev
15b7b01243 Merge pull request #86 from taka-no-me/test/python_kmeans 2012-10-23 18:03:52 +04:00
Andrey Kamaev
6f08d03322 Advance version number to 2.4.3-rc 2012-10-23 17:59:59 +04:00
Andrey Kamaev
08e4298a96 Merge pull request #84 from Daniil-Osokin/perfTest-warpPerspective 2012-10-23 17:35:05 +04:00
Andrey Kamaev
cd320565dd Merge pull request #82 from taka-no-me/perf/fix_failures 2012-10-23 16:22:16 +04:00
Andrey Kamaev
2d6ff8e946 Merge pull request #88 from taka-no-me/build_ubuntu_x86_o2 2012-10-23 16:20:56 +04:00
Daniil Osokin
e9ba5c225d extended perf test warpPerspectiveLarge 2012-10-23 16:06:03 +04:00
Andrey Kamaev
ed00642600 Force build with -O2 instead of -O3 on 32-bit linux 2012-10-23 15:52:11 +04:00
Andrey Kamaev
e64bb3654a Remove wrong assertion 2012-10-23 15:28:44 +04:00
Andrey Kamaev
585f3bc391 Disable perf test for unstable solvePnPRansac 2012-10-23 12:13:39 +04:00
Andrey Kamaev
b45a870d9a Limit 32S data in perf test for addWeighted to avoid integer overflow 2012-10-23 12:07:32 +04:00
Andrey Kamaev
c13eb07d47 Fix argument parsing for old command line parser 2012-10-23 12:07:01 +04:00
Andrey Kamaev
22e352d9cc Merge pull request #76 vpisarev/test_fixes_1 2012-10-22 21:13:26 +04:00
Vadim Pisarevsky
fbe0d6963c disabled several tests on Mac when no FFMPEG is used; disabled automatic table initialization in imgwarp in the case of MinGW 2012-10-22 21:13:26 +04:00
Andrey Kamaev
781d89829f Merge pull request #79 from taka-no-me:warnings 2012-10-22 20:56:53 +04:00
Andrey Kamaev
2e91405833 Fix OS X build warnings 2012-10-22 20:33:14 +04:00
Andrey Kamaev
40030d2ca0 Fix windows build warnings 2012-10-22 19:13:18 +04:00
Andrey Kamaev
15076f9232 Fix implementation of PCA overload with retained variance parameter 2012-10-22 18:46:20 +04:00
Andrey Kamaev
d0ec65e80c Fix linux build warning 2012-10-22 18:38:22 +04:00
Andrey Kamaev
bfa466dcbd Merge pull request #75 form taka-no-me:comments/2463 2012-10-22 18:31:20 +04:00
Andrey Kamaev
9900f8deb2 Remove russian comments 2012-10-22 17:24:43 +04:00
Andrey Kamaev
ecb707ca7b Convert cl2cpp.py script to cmake
New version removes inner comments and empty lines
2012-10-22 17:19:55 +04:00
Andrey Kamaev
769f61f8c7 Merge pull request #55 from vpisarev/ocl_fixes 2012-10-22 16:40:18 +04:00
Andrey Kamaev
d1d6ce63fc Merge pull request #48 from kazuki-ma/2430_ostream_24 2012-10-22 16:27:10 +04:00
Vadim Pisarevsky
eea6fe8e7f Merge pull request #71 from NikoKJ/ocl4_2.4.3
This patch is for the ocl module of 2.4.3

(tested on Mac (OSX 10.8, Xcode 4.5, OpenCL 1.1(?))
2012-10-22 04:57:42 -07:00
Vadim Pisarevsky
1770ba1df7 Merge pull request #66 from alekcac/ios-armv7s
added support armv7s for iOS framework; tested on my computer (OSX 10.8, Xcode 4.5)
2012-10-22 04:07:07 -07:00
marina.kolpakova
8e2f729aa7 Merge remote-tracking branch 'cuda-geek/surf-with-mask-fix' into 2.4 2012-10-22 13:16:27 +04:00
Niko
5df77a841e remove redundant OPENCL_DIR flag
remove as much warnings as possible
use enum instead of MACRO for ocl.hpp
add command line parser in accuracy test and perf test
some bug fix for arthim functions
2012-10-22 15:14:22 +08:00
marina.kolpakova
b14f447cc6 fix GPU SURF tests for masked case 2012-10-21 11:40:08 +04:00
marina.kolpakova
99c666691e Restore core multiply/divide depth to CV_64F value.
After setting depth to CV_32F for non double types this produces difference in results. I've attached test that reproduce this issue.The issue was found during anali broken GPU tests  for multiply/device functions.
2012-10-21 11:20:39 +04:00
Kazuki MATSUDA
72c93dabd3 Add stream operators (Requested #2430)
Add output stream operators (<<) for Rect, Size, Matx, Vec.
I can't add operations for cv::KeyPoint.

And putting together all operator<<.
(Matx, Point_, Point3_, Vec, Size_, Rect_)
2012-10-20 11:19:42 +09:00
Andrey Kamaev
b6a2717c2b Merge pull request #65 from taka-no-me:android/warnings 2012-10-19 20:49:19 +04:00
Andrey Kamaev
59452dfc6f Merge pull request #64 from vpisarev/bugs_1939_2100 2012-10-19 20:47:58 +04:00
Vadim Pisarevsky
40a30b6f30 fixed type "compatible -> incompatible" in the error message 2012-10-19 20:47:58 +04:00
Vadim Pisarevsky
d652cc72f2 fixed bugs #2100 (kind of) and #1393
[edit: cleaned whitespace]
2012-10-19 20:47:57 +04:00
Alexander Shishkov
2dba13f7d4 added support armv7s for iOS framework
for supporting with iOS 6 devices
2012-10-19 19:36:20 +04:00
Andrey Kamaev
8fb6d9f650 Fix Android build warnings 2012-10-19 16:14:14 +04:00
Andrey Kamaev
546ec2af65 Merge pull request #54 from taka-no-me:doc/fix-signatures 2012-10-19 15:02:30 +04:00
Andrey Kamaev
09abcd567e Merge pull request #50 from taka-no-me:parallel/fix-build-2445 2012-10-19 14:57:08 +04:00
Andrey Kamaev
7173c82382 Include unistd.h to parallel.cpp on UNIX-like systems
This fixes build without TBB and CUDA. Issue #2445
2012-10-19 14:38:30 +04:00
marina.kolpakova
ec8fb32336 Merge pull request #63 from jet47/gpu-sep-filters 2012-10-19 13:08:44 +04:00
Vladislav Vinogradov
34b4a35ea7 gpu separable filters for CV_8UC3, CV_32FC3 and CV_32FC4 types 2012-10-19 12:41:14 +04:00
Andrey Kamaev
9a97c74ef3 Merge pull request #61 from vpisarev/bug_2509 2012-10-19 11:17:25 +04:00
Andrey Kamaev
49397f7946 Merge pull request #60 from kirill-kornyakov/documentation-link-to-answers2 2012-10-19 11:00:10 +04:00
Andrey Kamaev
1341c64290 Merge pull request #51 from taka-no-me/java/fix-build-after-normalization 2012-10-19 10:27:16 +04:00
Andrey Kamaev
65d07c56fb Merge pull request #57 from vpisarev/bug_2429_2.4 2012-10-18 19:42:14 +04:00
Andrey Kamaev
e1c3ffb23f Fix weight calculation for the last pixel in generic area resize.
Also removed assigned only variable.
2012-10-18 19:41:45 +04:00
Vadim Pisarevsky
80f9bd864f fixed bug #2429
[edit: cleaned whitespace]
2012-10-18 19:39:22 +04:00
Vadim Pisarevsky
c40718ab61 fixed bug #2059 2012-10-18 14:41:26 +04:00
Kirill Kornyakov
908f25bc43 changed link to Q&A forum in the docs 2012-10-18 14:25:34 +04:00
Andrey Kamaev
634fedc3cb Merge pull request #56 from vpisarev/bug_2447_2.4 2012-10-18 13:28:01 +04:00
Vadim Pisarevsky
f5742e6cac fix bug #2447 - unary operator bug for single column matrix 2012-10-18 13:28:01 +04:00
Andrey Kamaev
461b69f6ee Eliminate discrepancies between signatures in documentation and OpenCV headers
All errors were found by doc/check_docs2.py
2012-10-17 21:24:55 +04:00
Andrey Kamaev
57d077b936 Fix Java API generation after normalization
The rst_parser.py was unintentionally corrupted by normalization.
This fix repairs the script and fixes Java API generation.
2012-10-17 18:20:46 +04:00
OpenCV Buildbot
04384a71e4 Normalize line endings and whitespace 2012-10-17 15:32:23 +04:00
vpisarev
f75946a16a made opencv_ocl module build with VS2012 2012-10-17 15:08:03 +04:00
Andrey Kamaev
69020da607 Merge branch 'release2.4.3' into 2.4 2012-10-17 02:17:08 +04:00
Andrey Kamaev
f4e33ea0ba Fix build of samples 2012-10-17 02:09:46 +04:00
Andrey Kamaev
7225f89ea2 Revert opencv_videostab to the state of 2.4.2 2012-10-17 02:09:43 +04:00
marina.kolpakova
e5437e5486 Fix binary compatibility of opencv_gpu 2012-10-17 02:09:40 +04:00
Andrey Kamaev
ed51162568 Fix binary compatibility of Java wrappers 2012-10-17 02:09:37 +04:00
Andrey Kamaev
42c8a42ad3 Fix binary compatibility of opencv_objdetect 2012-10-17 02:09:34 +04:00
Andrey Kamaev
a07cc84436 Fix binary compatibility of opencv_nonfree 2012-10-17 02:09:31 +04:00
Andrey Kamaev
26bcb3812c Fix binary compatibility of opencv_contrib 2012-10-17 02:09:28 +04:00
Andrey Kamaev
971d02cde6 Fix binary compatibility of opencv_stitching 2012-10-17 02:09:26 +04:00
Andrey Kamaev
edee177ef1 Fix binary compatibility of opencv_ml 2012-10-17 02:09:23 +04:00
Andrey Kamaev
7d6a2f1bca Revert "skip of table header in MLData (#1962)"
This reverts commit 4d36be8794.

Conflicts:
	modules/ml/include/opencv2/ml/ml.hpp
	modules/ml/src/data.cpp
2012-10-17 02:09:20 +04:00
Andrey Kamaev
0dc3d61071 Revert "yet another portion of changes towards the binary compatibility"
This reverts commit 618fbf5508.
2012-10-17 02:09:17 +04:00
Andrey Kamaev
5a730d09cd Fix binary compatibility of opencv_features2d 2012-10-17 02:09:14 +04:00
Andrey Kamaev
88e9a072ec Fix binary compatibility of opencv_flann 2012-10-16 15:13:00 +04:00
Andrey Kamaev
64b56d7018 Revert "remaining C-style planar subdivisions data structures are moved to legacy"
This reverts commit 4aaaef5967.

Conflicts:
    modules/imgproc/include/opencv2/imgproc/types_c.h
    modules/legacy/include/opencv2/legacy/legacy.hpp
2012-10-16 15:13:00 +04:00
Andrey Kamaev
ebac3a02aa Fix backward compatibility of opencv_core 2012-10-16 15:13:00 +04:00
Andrey Kamaev
d566c6bc86 Revert "add new version of CommandLineParser. add empty docs"
This reverts commit 54a202b3d5.

Conflicts:
	modules/core/doc/command_line_parser.rst
	modules/core/include/opencv2/core/core.hpp
	modules/core/src/cmdparser.cpp
	modules/gpu/perf/main.cpp
	modules/gpu/test/main.cpp
	modules/ts/src/ts_perf.cpp
2012-10-15 20:01:44 +04:00
Andrey Kamaev
52e490ef88 Revert "fixed compile error under linux"
This reverts commit e2d9fc4dcc.
2012-10-15 20:01:44 +04:00
Andrey Kamaev
58f31819cc Return drawContours back to imgproc
This partly reverts commit 6ca618277c.
2012-10-15 18:12:33 +04:00
Andrey Kamaev
dbd30d4fba Revert "fixing Java test and sample after moving drawContours() from Imgproc to Core"
This reverts commit eb4ce67dac.

Conflicts:
	samples/android/color-blob-detection/src/org/opencv/samples/colorblobdetect/ColorBlobDetectionView.java
2012-10-15 17:53:57 +04:00
Andrey Kamaev
a3b1971977 Bring back escaped virtual destructors from 2.4.2 2012-10-15 17:48:49 +04:00
Andrey Kamaev
3ffe0f0117 Remove unused tbb::task_scheduler_init from perf tests 2012-10-15 16:25:06 +04:00
Andrey Kamaev
c3881ede62 Refactor thread management in performance tests 2012-10-15 16:14:11 +04:00
Kirill Kornyakov
aedf56404e made imread description slightly better #2406 2012-10-15 15:23:38 +04:00
Vadim Pisarevsky
5b2271c6fb another fix for #2332 test 2012-10-15 14:12:32 +04:00
Vadim Pisarevsky
78a0b9787c fixed build errors on Mac; moved test for #2332 from imgproc to highgui 2012-10-15 13:55:32 +04:00
Andrey Kamaev
460644b8a4 Reimplement thread management functions:
* Refactor auto-detection of parallel frameworks
* Implement cv:getNumThreads, cv::setNumThreads and cv::getThreadNum for all supported frameworks
* From now cv::setNumThreads(0) can be used to turn off parallelisation
2012-10-15 12:44:16 +04:00
Andrey Kamaev
b54f59de90 Move thread-related functions implementation to parallel.cpp 2012-10-15 12:44:16 +04:00
Ilya Lavrenov
2cda65a782 fixed cvtColor (RGB <-> Lab) tests and created another one 2012-10-15 12:22:36 +04:00
Ilya Lavrenov
5f9aedbe01 fixed bug in cvtColor RGB(BGR) <-> Lab conversion 2012-10-15 12:21:16 +04:00
Anatoly Baksheev
f9ac5e2404 minor 2012-10-12 23:03:31 +04:00
KOLANICH
c1f2b1fcc4 replaced python build script with WSH one for windows platforms 2012-10-12 23:03:30 +04:00
Evgeny Talanin
cfe28e3b73 Added test inspired by #2332 2012-10-12 18:43:00 +04:00
Kirill Kornyakov
e770691522 deleted wrong line 2012-10-12 17:31:26 +04:00
Kirill Kornyakov
de98da42f7 commented wrong line 2012-10-12 17:30:23 +04:00
Kirill Kornyakov
84176fa027 Added perf test for warpPerpsective with large resolutions 2012-10-12 17:14:23 +04:00
Vadim Pisarevsky
fa368d6202 Merge remote-tracking branch 'origin/master' 2012-10-12 16:29:20 +04:00
Vadim Pisarevsky
5474b4d4bc finally, a proper fix for VNG (both SSE2 and C version) 2012-10-12 16:28:26 +04:00
marina.kolpakova
319e861cf2 FAIL_NO_CPU marco 2012-10-12 14:46:18 +04:00
marina.kolpakova
8d7ac8ad19 minor ending fix 2012-10-12 14:46:18 +04:00
marina.kolpakova
800cb9d0e6 allow gpu module write sanity data for GPU and CPU tests in one xml 2012-10-12 14:46:18 +04:00
Daniil Osokin
4500c48349 fixed 7 point mode in findFundamentalMat #1978 2012-10-12 14:38:52 +04:00
Evgeny Talanin
5dd1ec98f7 #720 patch apply 2012-10-12 14:25:36 +04:00
Vsevolod Glumov
b91ca6a73f Removed the phrase, that was causing all the confusion. Issue #2406.
+ Some minor formatting fixes.
2012-10-12 14:15:30 +04:00
Vadim Pisarevsky
7bbf8744d6 Merge remote-tracking branch 'origin/master' 2012-10-12 14:01:47 +04:00
Vadim Pisarevsky
cb58e5a3a4 let Kalman handle the missing measurements (bug #1380) 2012-10-12 14:01:36 +04:00
marina.kolpakova
296aa7c4fb One more fix for Kepler-specific gpu::integral usage 2012-10-12 13:45:09 +04:00
Daniil Osokin
1d3ec99102 fixed batchDistance minimum finding #2292 2012-10-12 13:25:55 +04:00
Andrey Kamaev
2abb67cc92 Merge pull request #29 from thorikawa/feature-523 2012-10-12 13:16:17 +04:00
Evgeny Talanin
2e7656dbdf #2192 patch apply 2012-10-12 13:03:43 +04:00
Andrey Kamaev
83799d6bf4 Fix Mat indexing in TrackingMotion tutorial code (supersedes pull request #38) 2012-10-12 12:59:50 +04:00
Vladislav Vinogradov
304714862f fixed bug in gpu::HOGDescriptor::computeConfidenceMultiScale 2012-10-12 12:49:10 +04:00
Vladislav Vinogradov
8abcad6b00 fixed CUDA_FAST_MATH flag 2012-10-12 12:49:10 +04:00
Andrey Kamaev
a390c1e2e6 Merge pull request #40 from emchristiansen/manualBRISKFREAK 2012-10-12 12:31:11 +04:00
Eric Christiansen
594ce1c869 fixed indentation 2012-10-12 12:31:11 +04:00
Eric Christiansen
caebcdcb3d Minor tweak to add BRISK and FREAK support for the Java wrapper 2012-10-12 12:31:11 +04:00
Andrey Kamaev
a3a658c034 Quiet MSVC warning 2012-10-12 12:19:34 +04:00
Vadim Pisarevsky
bddd06e6c4 another fix for the updated parallel_for_ implementation 2012-10-11 23:22:32 +04:00
Vadim Pisarevsky
d64438dcfd fixed build errors in the case of TBB and Concurrency 2012-10-11 23:04:45 +04:00
Vadim Pisarevsky
8441cf700d added function cv::findNonZero (patch #2205) 2012-10-11 22:52:15 +04:00
Vadim Pisarevsky
d72cc06b96 fixed possibly inccorrect interval measurements in flann's timer (bug #1165). Note: this may break binary compatibility, but since the class is not wrapped in Java and not exposed in Windows API, for example (it's considered internal-use class for flann), the effect should be minimal 2012-10-11 22:40:37 +04:00
Vadim Pisarevsky
354a5f2686 added recommended number of stripes to parallel_for_, modified some of the functions to use larger stripes (for better performance) 2012-10-11 22:37:14 +04:00
Andrey Kamaev
821de96346 Adjust thresholds in sanity checks for batchDistance 2012-10-11 20:35:28 +04:00
Andrey Kamaev
b8a67dc0e3 Adjust thresholds in sanity checks for calcOpticalFlowPyrLK 2012-10-11 19:46:18 +04:00
Alexander Smorkalov
5a524bdfd7 Issue #1861 Improve Javadoc documentation fixed. Multiline code segments added to Javadoc. 2012-10-11 19:21:40 +04:00
Vsevolod Glumov
a2088d0c52 Replaced SVN instructions with Git ones for 'Installation in Windows' section (Issue #2249); Also, fixed both bugs from issue #2374 in the same section. 2012-10-11 18:37:00 +04:00
Andrey Kamaev
97640847c5 Add methods to sort keypoints and corresponding descriptors 2012-10-11 18:25:45 +04:00
Andrey Kamaev
18295bc778 Improve performance tests failures formatting 2012-10-11 17:41:02 +04:00
Andrey Kamaev
8f44f25f47 Fix AndroidManifest.xml generation for OpenCV Android library project (second attempt) 2012-10-11 17:09:57 +04:00
Vsevolod Glumov
a3080636ba Replaced SVN instructions with Git instructions in iOS and Linux installation tutorials. Issue #2249
+ Minor formatting fixes.
2012-10-11 16:44:53 +04:00
Andrey Kamaev
f41ab3a330 Merge pull request #34 from roynos/master 2012-10-11 16:31:20 +04:00
Alexander Smorkalov
0c70b45625 Clickable optin turned off. Text disapearing fixed. 2012-10-11 16:27:01 +04:00
Andrey Kamaev
c46affe63e android.toolchain.cmake: restore implicit link with math library for C++ objects
Ticket #2426
2012-10-11 16:10:01 +04:00
Andrey Kamaev
7cb525d63f Fix AndroidManifest.xml generation for OpenCV Android library project 2012-10-11 15:47:57 +04:00
Andrey Kamaev
dc4a649513 Fix OS X build 2012-10-11 15:36:47 +04:00
Andrey Kamaev
be98693aaf Enable parallel CvtColorLoop for all platforms 2012-10-11 15:05:43 +04:00
Andrey Kamaev
df94591336 Fix instability of Luv/Lab color conversions 2012-10-11 15:05:43 +04:00
Vadim Pisarevsky
7ee6040192 enable Matx as Mat elements (bug #1705). 2012-10-11 15:02:48 +04:00
Daniil Osokin
e435674a90 added perf test for gabor filter 2012-10-11 14:52:35 +04:00
Daniil Osokin
f1e025dc68 delete normalization in gabor kernel #1995 2012-10-11 14:40:15 +04:00
Alexander Smorkalov
eb189713ae Issue #2431 OpenCV Manager UI crashes at start fixed.
Data rase in OpenCV Manager connection fixed.
2012-10-11 14:39:42 +04:00
Evgeny Talanin
bd4620f04e #2408 patch apply (see pull request at https://github.com/Itseez/opencv/pull/33) 2012-10-11 14:38:25 +04:00
Vadim Pisarevsky
43e3b83832 fixed potential memory buffer corruption in StereoSGBM (patch #2203) 2012-10-11 14:07:07 +04:00
Evgeny Talanin
8528b0abcd #1941 fix 2012-10-11 13:45:21 +04:00
Vadim Pisarevsky
56d3cad326 enabled odd size in DFT_COMPLEX_OUTPUT test 2012-10-11 12:27:10 +04:00
niko
97156897b2 format files to ANSI C style with coolformat
change the download channels to oclchannles()
fix bugs of arithm functions
perf fix of bilateral
bug fix of split test case
add build_warps functions
2012-10-11 16:22:47 +08:00
Vsevolod Glumov
69fbc6102c Fixed an issue with 'how_to_scan_images.cpp' tutorial code. Issue #2259 2012-10-11 03:51:34 +04:00
Vsevolod Glumov
1f21b96b9d Fixed the formulas, based on issue #2145 2012-10-11 03:26:23 +04:00
Vadim Pisarevsky
37ad10bf0d fixed bug with partly uninitialized output of dft with DFT_COMPLEX_OUTPUT flag (bug #2223) 2012-10-11 00:53:43 +04:00
Vadim Pisarevsky
63c9412922 enable huge value range in highgui sliders on Windows (patch #941) 2012-10-10 23:05:15 +04:00
Anatoly Baksheev
1d68850cb2 Added CUDA fast math flag 2012-10-10 22:16:51 +04:00
Andrey Kamaev
354b77e2e1 Applied fix from bug #2324: ocv_list_unique makes for incorrect linking 2012-10-10 19:40:55 +04:00
Andrey Kamaev
d6a8753124 Remove second argument from VideoCapture_Reading perf test 2012-10-10 19:40:19 +04:00
Andrey Kamaev
d40083a926 Add concurrency test for solvePnPRansac 2012-10-10 18:23:11 +04:00
Andrey Kamaev
423837ddae Restore theRNG seed reset on test SetUp as it is still needed 2012-10-10 18:07:03 +04:00
Vadim Pisarevsky
0e314163e5 fixed INT64_C & UINT64_C definitions (patch #2033) 2012-10-10 17:27:32 +04:00
Oleg Sklyarov
2f4e8ee73e Merge branch 'master' of git://code.opencv.org/opencv 2012-10-10 17:05:29 +04:00
Oleg Sklyarov
3f61b9792b fixed bug #2407: run.py now understands android device names with spaces 2012-10-10 16:59:00 +04:00
Vladislav Vinogradov
a008d6fc17 fixed bug #2425 : Concurrent convolutions with streams 2012-10-10 16:55:16 +04:00
Vadim Pisarevsky
9368aa9f7b Merge remote-tracking branch 'origin/master' 2012-10-10 16:16:05 +04:00
Vadim Pisarevsky
e80cbbb101 fixed C= detection script 2012-10-10 16:15:27 +04:00
marina.kolpakova
b28acfc12e add GPU module specific command line arguments 2012-10-10 16:13:25 +04:00
marina.kolpakova
f88be98ec4 print information message about target device for GPU module tests 2012-10-10 16:13:25 +04:00
marina.kolpakova
715a0032e0 add sanity checks into the denoising gpu performance tests 2012-10-10 16:13:25 +04:00
marina.kolpakova
45190aea47 add sanity checks into the features2d gpu performance tests 2012-10-10 16:13:25 +04:00
marina.kolpakova
2243645d36 add sanity checks into the objdetect gpu performance tests 2012-10-10 16:13:25 +04:00
marina.kolpakova
3de2023c61 add sanity checks into the calib3d gpu performance tests 2012-10-10 16:13:25 +04:00
marina.kolpakova
dce323a67b add sanity checks into the video gpu performance tests 2012-10-10 16:13:25 +04:00
marina.kolpakova
d7ef6f078f temporarily disable HoughLines test 2012-10-10 16:13:25 +04:00
marina.kolpakova
3dbfde421c add sanity checks into the matop gpu performance tests 2012-10-10 16:13:25 +04:00
marina.kolpakova
2a277fb777 add sanity checks into the filters gpu performance tests 2012-10-10 16:13:25 +04:00
marina.kolpakova
1e344d7eba add sanity checks into the imgproc gpu performance tests 2012-10-10 16:13:24 +04:00
marina.kolpakova
e46e928429 add sanity checks in core gpu pefrormance tests 2012-10-10 16:13:24 +04:00
marina.kolpakova
f5d6367ea1 GPU module performance tests are aligned with other OpenCV pefrofmance tests 2012-10-10 16:13:24 +04:00
marina.kolpakova
10f1004465 move GPU utiluty functions in utility.cpp 2012-10-10 16:13:24 +04:00
marina.kolpakova
a9ab26f799 main.cpp moved to perf_main.cpp 2012-10-10 16:13:24 +04:00
Vladislav Vinogradov
ece77e3930 fixed cvtColor parameter in KeypointBasedMotionEstimatorGpu::estimate 2012-10-10 16:07:07 +04:00
Vadim Pisarevsky
e625d86485 added C= support; modified threading logic in threshold 2012-10-10 15:36:32 +04:00
Daniil Osokin
1516a6169a fixed one more msvc warning in tbb kmeans 2012-10-10 14:53:29 +04:00
Daniil Osokin
cc2d12b3e6 fixed msvc warning in tbb kmeans 2012-10-10 14:35:28 +04:00
Alexander Smorkalov
a91de25f10 Build fix after issue #2284 fix. 2012-10-10 14:27:17 +04:00
Alexander Smorkalov
9ad5fd709b Fixed Javadoc problems with ">" and "<" symbols. 2012-10-10 13:31:03 +04:00
Andrey Kamaev
006a4ba529 Fix gcc build error introduced in a9f36df 2012-10-10 13:24:49 +04:00
Andrey Kamaev
cabddaeb4f Revert "Issue #2035 Calling cv::namedWindow crashes on Android fixed."
This reverts commit 36135fc59d.
2012-10-10 13:24:49 +04:00
daniil.osokin
e83ff354bd added TBB for kmeans (patch #1261: thanks to Boris Mansencal) 2012-10-10 12:51:12 +04:00
daniil.osokin
a245161de6 added perf test for kmeans 2012-10-10 12:51:11 +04:00
Alexander Smorkalov
36135fc59d Issue #2035 Calling cv::namedWindow crashes on Android fixed.
Window-related functions is guarded from calls from application code.
Old implementations with "no-gui" exception are stell compiled and linked to OpenCV library for binary compatibility.
2012-10-10 12:40:36 +04:00
Alexander Smorkalov
306ed9801a Issue #2284 BaseLoaderCallback requires use of Activity fixed. 2012-10-10 11:44:01 +04:00
Andrey Kamaev
a9f36dfcfe Fix read after the end of local buffer in SSE-optimized TYPE_5_8 and TYPE_7_12 FAST cornerScore 2012-10-10 02:32:47 +04:00
Andrey Kamaev
56b27bcc7e Fix inconsistent argument type in HammingLUT distance (flann)
this fixes 64-bit MSVC warning
2012-10-10 00:31:22 +04:00
Vadim Pisarevsky
044d38a051 expanded cv::threshold parallelization to other threading frameworks; fixed potential bug with unprocessed bottom of the image; fixed build problem in stitching 2012-10-09 22:38:04 +04:00
Vadim Pisarevsky
e365726c4a fixed example of iteration through a SparseMat (bug #2310) 2012-10-09 22:16:57 +04:00
Vadim Pisarevsky
a09c88ab16 added Asus Xtion QVGA modes to the OpenNI backend (patch #1753) 2012-10-09 22:01:43 +04:00
Vadim Pisarevsky
89de0bebd8 Merge remote-tracking branch 'origin/master' 2012-10-09 21:52:56 +04:00
Vadim Pisarevsky
3243ad3483 applied patch #1473 (timestamp retrieval in OpenNI) 2012-10-09 21:52:41 +04:00
Andrey Kamaev
0afd51253d Add else branch to previous fix 2012-10-09 20:34:10 +04:00
Andrey Kamaev
34bfda10ca Fix regression in core arithmetic 2012-10-09 20:25:36 +04:00
Andrey Kamaev
8ebd04cbf9 Fix sanity checks in highgui module 2012-10-09 19:39:03 +04:00
Andrey Kamaev
4a53199e7a Quiet logs in stitching module 2012-10-09 19:28:15 +04:00
Andrey Kamaev
7cc67701a6 Add sanity checks to stitching perf tests 2012-10-09 19:17:58 +04:00
Andrey Kamaev
39d6eb7312 Add sanity check support for vector<DMatch> 2012-10-09 19:17:58 +04:00
Andrey Kamaev
d970a9159e Add sanity checks to nonfree module 2012-10-09 19:17:58 +04:00
Kirill Kornyakov
e8a173bcaf Merge branch 'master' of git://5.9.49.245/opencv 2012-10-09 18:57:02 +04:00
Kirill Kornyakov
9b8c47399a fixed compilation error because of DetectionBasedTracker 2012-10-09 18:55:20 +04:00
Andrey Kamaev
5047f2d64d Fix perf tests in features2d module 2012-10-09 18:41:27 +04:00
Andrey Kamaev
95b6a103b5 Add sanity checks support for vertor<KeyPoint> 2012-10-09 18:41:26 +04:00
Andrey Kamaev
5a5c477be6 Make performance tests for solvePnPRansec more determenistic 2012-10-09 18:41:26 +04:00
Andrey Kamaev
d4cf9e22cc Fix terrible perf test for FAST detector 2012-10-09 18:41:26 +04:00
Andrey Kamaev
b95923360d Add sanity checkes to video module perf tests 2012-10-09 18:41:26 +04:00
Alexander Smorkalov
9a76573172 Auto expand of OpenCV version for Android Library prject and some documentation pages added. 2012-10-09 18:30:58 +04:00
Alexander Smorkalov
705b4724cb ABI Compatibility config generator bug fix. 2012-10-09 18:30:58 +04:00
Vadim Pisarevsky
b0ad424087 fixed several warnings from VS2010 2012-10-09 17:24:37 +04:00
Vadim Pisarevsky
a135e862c1 made opencv headers windows.h-less (Bug #2122) 2012-10-09 17:12:42 +04:00
Vadim Pisarevsky
df8364ce63 Fixed "arr = NaN" case (bug #2056) 2012-10-09 16:28:31 +04:00
Vadim Pisarevsky
d54f4e1cfb added #undef True/False to avoid collision with X11 (Patch #1562) 2012-10-09 16:02:06 +04:00
Vadim Pisarevsky
a8c5e35619 some more fixes towards binary compatibility 2012-10-09 15:56:16 +04:00
Andrey Kamaev
e2ff0ed1fb Add sanity checks to objdetect module perf tests 2012-10-09 15:28:51 +04:00
Andrey Kamaev
c146c54bcd Fix sanity checks for empty objects 2012-10-09 15:28:51 +04:00
Andrey Kamaev
f8672d49a0 Add sanity checks to calib3d perf tests 2012-10-09 15:28:51 +04:00
Evgeny Talanin
7c71c8fa52 #2258 fix 2012-10-09 14:52:47 +04:00
Alexander Smorkalov
9ab19691d4 OpenCV Manager documentation updated.
Diagram rendering script updated.
2012-10-09 10:34:40 +04:00
Alexander Smorkalov
4b808b1199 RESTART_REQUIRED status removed from OpenCV Manager API;
OpenCV info library name fixed;
Minimum API level for OpenCV library project increased up to 3 for using message dialogs.
2012-10-09 10:34:40 +04:00
Anatoly Baksheev
408e0dcbd0 Fixed output log in GPU perf tests 2012-10-09 00:44:48 +04:00
Anatoly Baksheev
c9bcbda827 more compilation fixes 2012-10-09 00:12:28 +04:00
Anatoly Baksheev
91a1a71de2 fixed compilation under Ubuntu without CUDA 2012-10-08 22:44:11 +04:00
Vadim Pisarevsky
a310e2f027 fixed the case of scale != 1 in stereo_match.cpp (patch #1936) 2012-10-08 22:39:11 +04:00
Vadim Pisarevsky
a63669f819 fixed linking CLP in the case of MinGW (patch #1872) 2012-10-08 22:24:38 +04:00
Vadim Pisarevsky
ca6f2f080f hopefully, correctly applied modified patch #2034 that handles Windows case 2012-10-08 22:18:13 +04:00
Vadim Pisarevsky
4be8fd7253 Merge remote-tracking branch 'origin/master' 2012-10-08 22:00:40 +04:00
Vadim Pisarevsky
0bfa58b68d fixed detection of IPP 7.1 (patch #2413: thanks to Gino van den Bergen!) 2012-10-08 22:00:25 +04:00
Anatoly Baksheev
bc0d0c8f31 fixed compilation without CUDA 2012-10-08 21:49:40 +04:00
Andrey Kamaev
13bfcd643e Fix sanity checks in improc perf tests 2012-10-08 21:37:58 +04:00
Andrey Kamaev
a3ab6d147d Fix CV_ENUM macro instability 2012-10-08 21:37:58 +04:00
Vadim Pisarevsky
4be7619ce4 _InputArray/_OutputArray destructors are temporary made non-virtual. Please, restore it after 2.4.3 2012-10-08 21:37:15 +04:00
Vadim Pisarevsky
618fbf5508 yet another portion of changes towards the binary compatibility 2012-10-08 21:36:27 +04:00
Anatoly Baksheev
5b31c46c4f added MatCn enum to GPU perf tests 2012-10-08 19:57:20 +04:00
Anatoly Baksheev
9a4265a8d0 fast nlm (class version) 2012-10-08 19:57:20 +04:00
Anatoly Baksheev
4b5bbb7752 fast_nlm initial version 2012-10-08 19:57:19 +04:00
Andrey Kamaev
2446c9329f Remove bad perf test for cvRound 2012-10-08 18:40:41 +04:00
Andrey Kamaev
8c8ebd9ca6 Fix sanity checks for arithmetic tests on CV_32S data 2012-10-08 18:06:17 +04:00
Andrey Kamaev
6151a6ea0b Make SANITY_CHECK required for all performance tests 2012-10-08 17:17:42 +04:00
Vadim Pisarevsky
94b97b7a63 partially recovered binary compatibility (ticket #2415) 2012-10-08 17:06:05 +04:00
Andrey Kamaev
25a9b0a255 Fix depth calculation for Scalar in core arithmetic 2012-10-08 16:15:27 +04:00
Andrey Kamaev
c0f2a8e0cc Fix build without SSE 2012-10-08 16:08:16 +04:00
Alexander Smorkalov
febfdc9fa2 Wating for OpenCV library package installation added. 2012-10-08 14:37:59 +04:00
Alexander Smorkalov
11839e2cc9 Wating for OpenCV Manager installation added. 2012-10-08 14:37:59 +04:00
Alexander Smorkalov
601b87e3ed Java tests updated. Build fix. 2012-10-08 14:37:59 +04:00
Alexey Spizhevoy
cb705aad1a updated DP seaming to support 4 channel images 2012-10-08 14:29:10 +04:00
Vadim Pisarevsky
925d0cc769 added test for box filter 16u, fixed bug #2416 2012-10-08 14:11:39 +04:00
Ilya Lavrenov
280ecb68bf changed file path 2012-10-08 13:27:28 +04:00
Ilya Lavrenov
2759f026e9 fixed Bug #2074 2012-10-08 12:59:15 +04:00
cuda_geek
6b19c76233 fix hardcoded paths for static build OpenCV with CUDA 2012-10-08 10:52:58 +04:00
Andrey Kamaev
b486a59221 Quiet MSVC warning 2012-10-08 10:36:48 +04:00
marina.kolpakova
23699acca0 fix for bug 2264
fix compilation OpenCV with cxx11 under Ubuntu with clang and gcc 4.7
2012-10-08 02:37:22 +04:00
Alexey Spizhevoy
2ec264303e Added initial docs for the videostab module 2012-10-05 21:33:00 +04:00
Abhinav Gupta
c0638aa2e0 Update samples/cpp/tutorial_code/features2D/SURF_detector.cpp
Changes made for OpenCV 2.4.2 compatibility
2012-10-05 21:31:41 +04:00
Andrey Kamaev
73cb77842e Replace jpegs with png (see 06a13d9) 2012-10-05 18:15:44 +04:00
Andrey Kamaev
2885eb86b8 Remove alignment reqirements from NEON optimizations in libpng
On Android memory is not guaranted to be aligned and applications often crash with BUSERROR
2012-10-05 18:15:44 +04:00
Vladislav Vinogradov
f017ad5943 Merge branch 'gpu-device-layer' 2012-10-05 18:13:46 +04:00
Vladislav Vinogradov
be19150672 deleted thrust header 2012-10-05 18:06:46 +04:00
Vladislav Vinogradov
ab3a5244ba moved device layer headers to include directory 2012-10-05 18:04:23 +04:00
Alexander Smorkalov
9085fbe1e0 Native cameras build script output colorized. 2012-10-05 18:00:20 +04:00
Vladislav Vinogradov
3ebec7448d minor refactoring:
moved lbp.hpp to src/cuda folder
added missing cv::gpu::device namespace
deleted whitespaces
2012-10-05 17:43:22 +04:00
Ilya Lavrenov
a703df5456 parallel cvtColor for MSVS and Apple 2012-10-05 13:11:24 +04:00
Leonid Beynenson
2fd8ad65b9 Made changes in cv::DetectionBasedTracker -- now it can return status of the tracked objects 2012-10-04 20:50:59 +04:00
Andrey Kamaev
9218bdcbb4 TBB version of GridAdaptedFeatureDetector 2012-10-04 16:58:34 +04:00
Vladislav Vinogradov
8d07e92b2c disabled NPP resize for 8uc4+Cubic (Bug #2388) 2012-10-04 13:33:47 +04:00
Vladislav Vinogradov
cfc09d01c8 disabled NVidia test output by default 2012-10-04 13:33:06 +04:00
Roy Reapor
5d9d4659ad Fixed issue 2404
- imdecode_() only creates a temporary file when needed.
- Use the string's empty() function to flag if the temporary file needs
to be deleted.
2012-10-03 23:06:59 -07:00
Roy Reapor
aa400c5837 Fixed issue 2403
Created temporary files are now deleted in Win32.
2012-10-03 22:44:29 -07:00
Vadim Pisarevsky
06a13d9ba0 replaced jpegs with png's. Accuracy tests pass; performance tests were not tried yet 2012-10-02 23:07:46 +04:00
Alexander Smorkalov
d40a2c28c5 Ant build.xml and deps added. 2012-10-02 16:21:53 +04:00
Alexander Smorkalov
5ffbcf1e16 MIPS arch support added to OpenCV manager;
Internal OpenCV library in OpenCV Manager support added;
Unit tests improved, platform specific tests added, MIPS related tests added;
Code refactoring done.
2012-10-02 16:21:53 +04:00
Alexander Smorkalov
ad58e96581 Automation for build and test OpenCV Manager on several devices added. 2012-10-02 16:21:53 +04:00
Alexander Smorkalov
d64d76086e MIPS architecture support added. Native camera library built for MIPS device. 2012-10-02 16:21:53 +04:00
Vladislav Vinogradov
11367e2c3d added GpuMat support to OutputArray 2012-10-02 14:34:17 +04:00
Vadim Pisarevsky
b2bf90e951 fixed build errors in java bindings on desktop in Debug mode 2012-10-02 10:49:19 +04:00
Anatoly Baksheev
4df537bc1c warnings 2012-10-01 23:57:38 +04:00
Anatoly Baksheev
55b1d7c097 added CUDA_DISABLER preprocessor commands 2012-10-01 23:57:38 +04:00
Anatoly Baksheev
46874d40df warnings under windows 2012-10-01 23:57:37 +04:00
Ilya Lavrenov
c560a78c65 stable cvtColor 2012-10-01 18:52:27 +04:00
Ilya Lavrenov
45593030ab fixed TestRemap_Remap 2012-10-01 17:29:56 +04:00
Vadim Pisarevsky
57d9699058 added the note about 1-pixel border in findContours (relates to ticket #2362) 2012-10-01 16:43:07 +04:00
Vadim Pisarevsky
a4adf57edc fixed typos in the mat tutorial (ticket #2380) 2012-10-01 16:35:12 +04:00
Vadim Pisarevsky
c9f1490302 added variant of cv::imdecode with the specified output matrix 2012-10-01 16:23:40 +04:00
Vadim Pisarevsky
420dd22258 fixed a few warnings reported by Oleg; restored SSE2 optimization in FAST 2012-10-01 14:12:19 +04:00
marina.kolpakova
dc568d4de1 fix for 4-channels TIFF missing 'break' statement 2012-10-01 08:33:56 +04:00
Marius Muja
ae4ff999d7 Merge branch 'master' of git://code.opencv.org/opencv 2012-09-28 10:40:51 -07:00
Marius Muja
5cf6c5f0b2 Added test to fix backwards compatibility with the way LSH was handled before comit 7236858b 2012-09-28 10:40:38 -07:00
Andrey Kamaev
06e7101795 Add Tegra optimization for fastNlMeansDenoising 2012-09-28 18:56:36 +04:00
Andrey Pavlenko
a8e7f91e34 java samples fix (clear view before drawing frame) of 'dirty' FPS display bug 2012-09-28 18:21:22 +04:00
Ilya Lavrenov
9ee87bd04b added parallel version of CvtColorLoop - main inner function of cvtColor 2012-09-28 17:42:48 +04:00
marina.kolpakova
c6e741196a fix device pointer alignmen in sft-based integral integration 2012-09-28 14:55:45 +04:00
marina.kolpakova
ed6885dd8b fixed bit arifmetic in sft-based integral 2012-09-28 14:55:45 +04:00
Alexey Spizhevoy
eafb024112 fixed one of the log messages in the stitching module 2012-09-28 14:37:38 +04:00
Andrey Pavlenko
8c1550a4ec a new Java test to imencode() with params 2012-09-27 19:11:02 +04:00
Marius Muja
7236858bea Exposed HierarchicalClusteringIndex in OpenCV wrapper 2012-09-27 03:58:17 -07:00
Andrey Pavlenko
56200dbd37 REVERT OF: Update libjpeg to release 8d (reverse-merged from commit d28af08ef3) 2012-09-26 14:02:23 +04:00
Andrey Pavlenko
4e193a3380 REVERT OF reverted libjpeg to an earlier version (reverse-merged from commit bfc8a52402) 2012-09-26 14:01:51 +04:00
Alexey Spizhevoy
317a27e9eb fixed the bug #2385 2012-09-25 16:08:43 +04:00
Vadim Pisarevsky
60769f544f possibly repaired FAST test (however, FAST<7/12> and <5/8> could still do something different than described in the paper) 2012-09-25 15:50:03 +04:00
Evgeny Talanin
6308be2c3e Changed parallel_for to parallel_for_ in hog.cpp and cascadedetect.cpp 2012-09-25 12:18:33 +04:00
Ilya Lavrenov
b8c185de9f changed map indexes in test_remap 2012-09-24 20:36:25 +04:00
Ilya Lavrenov
6a3d5a1355 reorganized the resize algorithm 2012-09-24 17:07:08 +04:00
Anatoly Baksheev
f059899329 fixed bug in nln (out of border access) 2012-09-24 17:01:44 +04:00
Anatoly Baksheev
dffba48517 Added host compiler check before CUDA detection. For not supported compilers CUDA will be disabled. 2012-09-24 16:56:19 +04:00
Vadim Pisarevsky
854902b077 lowered tolerance thresholds in BRISK tests 2012-09-24 16:31:07 +04:00
bitwangyaoyao
3579c61388 Merge branch 'master' of git://code.opencv.org/opencv 2012-09-24 20:29:21 +08:00
bitwangyaoyao
09359982b1 some optimizations to ocl::pyrDown, PyrLK and Canny 2012-09-24 20:28:35 +08:00
Vadim Pisarevsky
d09b3828b8 fixed fail in arithmetic test 2012-09-24 16:14:19 +04:00
Kirill Kornyakov
494ae1562d Added 240p resolution alias for perf tests 2012-09-24 15:44:11 +04:00
Vadim Pisarevsky
da6e3ebff2 Merge remote-tracking branch 'origin/master' 2012-09-24 15:11:45 +04:00
Vadim Pisarevsky
bfc8a52402 reverted libjpeg to an earlier version 2012-09-24 15:11:29 +04:00
Ilya Lavrenov
33983bcbb7 edited misprint 2012-09-24 14:18:54 +04:00
Ilya Lavrenov
0e07b0d73a uncommented auto enabling GCD on Mac 2012-09-24 14:18:15 +04:00
Ilya Lavrenov
9c89947433 edited misprint 2012-09-24 13:46:09 +04:00
Ilya Lavrenov
2627c91c5e added platform specific definitions in resize algorithm 2012-09-24 12:57:39 +04:00
Ilya Lavrenov
077115bd4a debug 2012-09-24 12:40:20 +04:00
Ilya Lavrenov
bb589a590e debug 2012-09-24 11:35:46 +04:00
Vadim Pisarevsky
427ce1247a some bugfixes & improvements in openfabmap code, docs and samples by Arren Glover 2012-09-23 20:57:34 +04:00
Ilya Lavrenov
b7b32e74a5 some restructuring of resize algorithm code 2012-09-21 18:17:54 +04:00
Ilya Lavrenov
222303f24b attempt 2012-09-21 17:25:42 +04:00
Ivan Korolev
a8ba2d7f52 Added Rotation motion mode in the videostab module 2012-09-21 17:04:28 +04:00
Anatoly Baksheev
3b075a50e9 fixed warnings under windows 2012-09-21 13:41:56 +04:00
niko
0abe7f3196 many bugs fix for intel's HD4000
from my svn 855
2012-09-21 16:51:45 +08:00
Alexey Spizhevoy
f3bc1aede1 removed obsolte global motion estimation method 2012-09-21 10:46:21 +04:00
Leonid Beynenson
46ce5976ae Fix: Windows compilation error in CommandLineParser. 2012-09-20 18:11:33 +04:00
Leonid Beynenson
0bde00a88a Changed CommandLineParser to make it less verbose
when it is unrequired.
2012-09-20 18:01:24 +04:00
Alexander Kapustin
858f437162 Merge branch 'master' of git://code.opencv.org/opencv 2012-09-20 17:32:54 +04:00
Andrey Kamaev
44e8d76d74 Change denoising strength parameter from int to float 2012-09-20 17:27:48 +04:00
Alexander Kapustin
8f4ddad52d 1. New function ActualScalarDepth was added
2. Two new NeonOptimized functions subtract_8u8u32f and subtract_8u8u8s were added
2012-09-20 17:24:20 +04:00
Alexander Kapustin
bb3332508e 1. New function ActualScalarDepth was added
2. Two new NeonOptimized functions subtract_8u8u32f and subtract_8u8u8s were added

Conflicts:
	modules/core/src/arithm.cpp
2012-09-20 16:59:48 +04:00
Vladislav Vinogradov
6f175a3c52 changed the type of the arguments to const reference (Bug #2376)
ORB_GPU::downloadKeyPoints
ORB_GPU::convertKeyPoints
2012-09-20 13:52:04 +04:00
yao
2e36338636 remove warnings of some functions in ocl module 2012-09-20 09:23:11 +08:00
Andrey Kamaev
82b30963d2 Restore pdf patch command 2012-09-19 18:45:57 +04:00
Andrey Pavlenko
3bad6ac0ee This reverts commit 738d3fef38. 2012-09-19 18:03:50 +04:00
Vadim Pisarevsky
1ded1597e7 fixed mixed-type array operations (bug #2336) 2012-09-19 17:55:34 +04:00
Alexander Kapustin
738d3fef38 1. New function ActualScalarDepth was added
2. Two new NeonOptimized functions subtract_8u8u32f and subtract_8u8u8s were added
2012-09-19 17:08:25 +04:00
Vadim Pisarevsky
45fd6f509f Merge remote-tracking branch 'origin/master' 2012-09-19 16:57:27 +04:00
Vadim Pisarevsky
40d5b026c7 fixed verbose mode in highgui's DirectShow wrapper (bug #2350) 2012-09-19 16:57:10 +04:00
Andrey Kamaev
56ac2937d8 Fix typo 2012-09-19 16:56:54 +04:00
Vadim Pisarevsky
54705a009a Merge remote-tracking branch 'origin/master' 2012-09-19 16:52:07 +04:00
Vadim Pisarevsky
c3c49a317b fixed outlier filtering in cvStereoRectifyUncalibrated (bug #2367) 2012-09-19 16:51:49 +04:00
Andrey Kamaev
f42b38ac44 Refactor fast NL-means denoising
* reorder arguments
* rewrite accuracy tests
* replace doubles with integer arithmetic inside the main loop
2012-09-19 16:50:56 +04:00
OpenCV Buildbot
87f282eed2 update FFMPEG wrapper binaries 2012-09-19 16:49:39 +04:00
Vadim Pisarevsky
4e07561141 fixed possible compile error in cap_ffmpeg_impl.hpp (bug #2365) 2012-09-19 16:48:19 +04:00
yao
d38359620e some optimizations to ocl::blend 2012-09-19 10:52:25 +08:00
Oleg Sklyarov
bbe418427e Added WQHD = 1444p frame size 2012-09-18 18:02:29 +04:00
Vadim Pisarevsky
2d334401b1 improved the condition in the FAST test 2012-09-18 14:34:50 +04:00
Vadim Pisarevsky
d2613dd9f6 added patches by Bram Bolder 2012-09-18 14:11:08 +04:00
yao
310bd8701c a little optimizations to ocl::pyrDown 2012-09-18 17:57:37 +08:00
Alexander Smorkalov
b1d14f766d Bug with several "in use" labels fixed in OpenCV Manager UI. 2012-09-18 11:07:26 +04:00
Alexander Smorkalov
0105d0a241 "in use" label update fix in OpenCV Manager UI. 2012-09-18 11:07:26 +04:00
Alexander Smorkalov
92b0cc541e Minor bug fix in building all native camera libs for android 2012-09-18 11:07:26 +04:00
Alexander Smorkalov
ada27b54eb NDK detection bug fix. 2012-09-18 11:07:26 +04:00
Alexander Mordvintsev
556e6c1475 Merge branch 'master' of git://code.opencv.org/opencv 2012-09-17 19:42:55 +04:00
Ilya Lavrenov
fffd263ce4 attempt 2012-09-17 19:39:49 +04:00
Alexander Mordvintsev
1017dea332 Merge branch 'master' of git://code.opencv.org/opencv 2012-09-17 19:37:38 +04:00
Alexander Mordvintsev
2a96f28bc1 get rid of Lock in gabor_threads.py 2012-09-17 19:30:20 +04:00
Ilya Lavrenov
f58c5646b0 fixed wrong condition with interpolation types 2012-09-17 18:30:55 +04:00
Ilya Lavrenov
5ab3fe489f changed resize_area test 2012-09-17 17:38:23 +04:00
Andrey Kamaev
7e35838849 Minor refactoring of NL-means denoising 2012-09-17 17:19:00 +04:00
Andrey Pavlenko
3c4917555d fixing git commit getting for Android build 2012-09-17 17:08:48 +04:00
Ilya Lavrenov
a65cb5d2de added extra debug parameters in resize test 2012-09-17 17:08:06 +04:00
Vadim Pisarevsky
58fb8692c3 added test for png encoding bug #2352 2012-09-17 16:44:40 +04:00
Ilya Lavrenov
03daf44848 added recalculating scale coefficients 2012-09-17 16:31:30 +04:00
Vadim Pisarevsky
d9e801fbfa improved image rendering performance in Qt backend for highgui UI (bug #2356) 2012-09-17 16:13:53 +04:00
Vadim Pisarevsky
37f4ea6be7 Merge remote-tracking branch 'origin/master' 2012-09-17 16:12:36 +04:00
Vadim Pisarevsky
7946fcdb69 added test for #2336 2012-09-17 16:12:30 +04:00
Andrey Kamaev
e73089bdb5 Fix windows build warnings 2012-09-17 13:30:28 +04:00
Andrey Kamaev
089de14ed7 Fix copy-paste bug in AVX optimization of haar 2012-09-17 13:30:28 +04:00
Andrey Kamaev
f32eb05ea1 Fix AVX and other SIMD support detection 2012-09-17 13:30:28 +04:00
Andrey Kamaev
cd05d9aaad Fix build of Java API for Windows 2012-09-17 13:21:20 +04:00
Andrey Kamaev
fe0d07ae53 Add experimental support for desktop Java
Based on pull request #31 (thanks to Eric Christiansen)
Support for Java is turned off by default and can be enabled setting
BUILD_opencv_java to ON (e.g. cmake -DBUILD_opencv_java=ON ..)
2012-09-17 13:21:20 +04:00
Andrey Kamaev
ece71d6a06 Remove misused REQUIRED keyword from CMake scripts 2012-09-17 13:21:20 +04:00
yao
78e89890b0 add PyrLK to ocl module 2012-09-17 09:48:34 +08:00
Andrey Kamaev
0e9405e591 Honor resently added functionality in hdr_parser and rst_parser; minor fixes in documentation 2012-09-14 22:26:32 +04:00
Alexander Smorkalov
e9009db667 All HTC One S related changes reverted due to applyProperties problems on other devices. Libraries rebuilt.
(cherry picked from commit 8104164c78)
2012-09-14 19:23:36 +04:00
Alexander Smorkalov
dc5c7ee68f Link to OpenCV website updated. Full Manager version added to UI. Screen orientation fixed. 2012-09-14 17:45:29 +04:00
Alexander Smorkalov
d55e114f96 Issue #2357 OpenCV manager fails to determine hardware platfrom on Tegra2 fixed. 2012-09-14 17:45:29 +04:00
Vsevolod Glumov
415636a677 Fixed a minor issue in OpenCV4Android Reference. 2012-09-14 17:06:59 +04:00
Alexander Smorkalov
8104164c78 All HTC One S related changes reverted due to applyProperties problems on other devices. Libraries rebuilt. 2012-09-14 16:51:38 +04:00
yao
9efd7019ad A more reasonable verify method for ocl::HOG accuracy test 2012-09-14 17:07:29 +08:00
Vsevolod Glumov
1052a0b4eb Fixed some language issues in OpenCV4Android Reference. 2012-09-14 11:10:53 +04:00
Vladislav Vinogradov
538847e8a3 fixed compilation under VS2012 (Bug #2352, #2355) 2012-09-14 09:34:56 +04:00
Andrey Kamaev
4772c42c66 Tweak strip flags for Android camera wrapper libs 2012-09-13 20:28:25 +04:00
Andrey Kamaev
1e69d47ba5 Remove -g from Android complier flags in release mode (used by NDK but inconvenient for CMake) 2012-09-13 20:27:54 +04:00
yao
04e946b2a3 make ocl surf sample compile on Linux 2012-09-13 17:34:06 +08:00
Vladislav Vinogradov
35b671efb5 disabled utility code in gpu tests when WITH_CUDA=false 2012-09-13 12:17:35 +04:00
Vladislav Vinogradov
fd77ef7ece optimized gpu pyrDown and sepFilter2D 2012-09-13 10:21:43 +04:00
Vladislav Vinogradov
7591ee1688 fixed gpu perf tests (VideoCapture reopen) 2012-09-13 10:18:42 +04:00
Alexander Smorkalov
af2de86914 Native camera fix for Nexus 7 with Android JB. Camera build script updated.
(cherry picked from commit afe30d0f8a)
2012-09-12 15:29:17 +04:00
Alexander Smorkalov
afe30d0f8a Native camera fix for Nexus 7 with Android JB. Camera build script updated. 2012-09-12 14:29:00 +04:00
Alexander Smorkalov
ccafed3d90 ABI compatibility check config generator updated. Command line params added. NDK searching added. 2012-09-12 11:18:28 +04:00
Alexander Smorkalov
ec8b79cc91 Small camera build script improvements. 2012-09-12 11:18:28 +04:00
yao
c09e2f88df Add a SURF sample for ocl module 2012-09-12 11:49:37 +08:00
yao
656f06fa74 add bruteForceMatcher to ocl module 2012-09-12 11:40:13 +08:00
niko
23244a3565 rename all the perf test files
fix the channel 3 bug in matrix operation
perf and buf fix for LUT haardetect convertC3C4 resize warpaffine copytom settom
add convovle
remove stereo
2012-09-12 10:31:09 +08:00
Vadim Pisarevsky
e94cd1ec72 updated description of LineIterator with information about LineIterator::pos() (ticket #2338) 2012-09-11 20:20:05 +04:00
Vadim Pisarevsky
52ede9c84d fixed just introduced bug in Python wrapper generator 2012-09-11 20:04:18 +04:00
Alexander Smorkalov
f22a3af483 Issue #2345 Adapt OpenCV Manager UI for different screen resolution partially fixed. Layout for small resolution added.
Layout for small display resolution added.
2012-09-11 17:10:26 +04:00
Alexander Smorkalov
a699594854 Issue # 2344 OpenCV Manager doesn't tell which pack is used fixed. 2012-09-11 17:10:26 +04:00
Vadim Pisarevsky
84087a8566 fixed crash in Python's SURF wrapper (bug #2325) 2012-09-11 16:47:25 +04:00
Vladislav Vinogradov
e975259c06 several fixes in gpu module
fixed iterations>1 case in morphological operations
fixed possible access violation in HSV2RGB
fixed the case learningRate==0 in BackgroundSubtractorMOG2
2012-09-11 15:00:59 +04:00
Vadim Pisarevsky
9956c42804 fixed iterations>1 case in morphological operations (bug #2348; thanks to Andrei Zaharescu for the fix) 2012-09-11 14:49:56 +04:00
Vadim Pisarevsky
f53d94c645 fixed OpenCL detection in Linux (patch #2261) 2012-09-11 14:32:31 +04:00
Vadim Pisarevsky
9ea5b6bb44 fixed possible access violation in HSV2RGB (patch #2020) 2012-09-11 14:25:34 +04:00
Vadim Pisarevsky
bbeffcc115 fixed the case learningRate==0 in BackgroundSubtractorMOG2 (patch #2221; thanks to Will Lucas) 2012-09-11 14:13:37 +04:00
Vadim Pisarevsky
bb93651048 added support for bi-level PNG's (patch #2301; thanks to Costantino Grana) 2012-09-11 14:05:25 +04:00
Vadim Pisarevsky
b3408a9b3a fixed bug #2186 (thanks to Joao Soares for the patch) 2012-09-11 13:56:25 +04:00
Ilya Lavrenov
fbd9bfba47 fixed some warnings and errors on windows 2012-09-10 21:37:44 +04:00
Andrey Kamaev
b1b5e392e6 Fix Android build warnings in new imgproc tests 2012-09-10 20:33:35 +04:00
Ilya Lavrenov
dd1091bbe1 a reference function for remap was stabilized 2012-09-10 19:55:03 +04:00
Andrey Kamaev
a201233b59 Fix warning in Android camera code 2012-09-10 19:44:59 +04:00
Andrey Kamaev
36f912261b Move gpu sample to gpu folder 2012-09-10 19:17:50 +04:00
Andrey Kamaev
200a81746e Improve Eigen search
Should now automatically detect it during Android build
2012-09-10 18:15:29 +04:00
Alexander Smorkalov
8a8e719690 getWidth/getHeight optimized.
(cherry picked from commit 7d4432df27)
2012-09-10 17:15:54 +04:00
Alexander Smorkalov
7d4432df27 getWidth/getHeight optimized. 2012-09-10 17:08:35 +04:00
Vladislav Vinogradov
98c92f196e added Generalized Hough implementation 2012-09-10 16:49:40 +04:00
Alexander Smorkalov
86c7e183d2 Issue #2316 Change default libnative_camera path implemented. 2012-09-10 16:29:37 +04:00
Andrey Kamaev
e564a53ccd Add gitignore for Android tests and samples 2012-09-10 15:48:57 +04:00
Alexander Smorkalov
43a401ba19 OpenCV Manager version incremented. 2012-09-10 11:37:36 +04:00
Alexander Smorkalov
1de829c359 abi-compatibility-check tool configuration script for adnroid added. 2012-09-10 11:37:36 +04:00
yao
7d83db7d4d fix ocl::columnsum bug 2012-09-10 14:52:28 +08:00
Philipp Wagner
42f7329c78 Merge branch 'master' of git://code.opencv.org/opencv 2012-09-07 22:44:15 +02:00
Philipp Wagner
cfa250eff5 The labels of a model are now cloned instead of using Mat::copyTo, because Mat::copyTo leads to a crash with the Python wrapper. I need to further investigate it. 2012-09-07 22:42:46 +02:00
Andrey Kamaev
f268af8ef0 Removed remaining SWIG marks from headers 2012-09-07 22:19:43 +04:00
Philipp Wagner
a5e37779fb Added a simple CMakeLists.txt to the facerec_samples, which are not included in the samples folder. Makes building these samples a lot easier. 2012-09-07 17:33:44 +02:00
Andrey Kamaev
4bd2c6b50d Android toolchain: added fixes/workarounds for NDK r8b and NDK r6 bugs 2012-09-07 18:27:47 +04:00
Alexander Smorkalov
0ab954a3c4 Issue #2270 OpenCV Manager fails with JNI error fixed.
Local reference table overflow in JNI code fixed.
(cherry picked from commit 457c878538)
2012-09-07 18:12:41 +04:00
Andrey Morozov
e2d9fc4dcc fixed compile error under linux 2012-09-07 18:01:06 +04:00
Vadim Pisarevsky
7c13dc6cb3 little fix in command line parser - catch unknown parameter types 2012-09-07 17:49:38 +04:00
Vadim Pisarevsky
0598f33a85 refactored command line parser, fixed the docs 2012-09-07 17:44:01 +04:00
Alexander Smorkalov
0efa9d4c06 Build script for all native cameras added.
(cherry picked from commit b16b50d61b)
2012-09-07 17:37:33 +04:00
Alexander Smorkalov
a12baf180a All native camera libraries rebuild after HTC One S fix.
(cherry picked from commit 568d9583c1)
2012-09-07 17:37:32 +04:00
Alexander Smorkalov
da167d8f38 Issue #2248 OpenCV manager fails to determine hardware platfrom on Android Emulator fixed.
Search keys for /proc/sysinfo updated.
(cherry picked from commit db3a35f901)
2012-09-07 17:37:31 +04:00
Alexander Smorkalov
c07ba32e16 Native camera issue on HTC One S fixed.
Camera connect->disconnect->connect leads to sigsegv.
Apply properties method reimplemented.
(cherry picked from commit 710e070990)
2012-09-07 17:37:31 +04:00
Alexander Smorkalov
b16b50d61b Build script for all native cameras added. 2012-09-07 17:22:48 +04:00
Alexander Smorkalov
568d9583c1 All native camera libraries rebuild after HTC One S fix. 2012-09-07 17:22:48 +04:00
Alexander Smorkalov
db3a35f901 Issue #2248 OpenCV manager fails to determine hardware platfrom on Android Emulator fixed.
Search keys for /proc/sysinfo updated.
2012-09-07 17:22:48 +04:00
Alexander Smorkalov
710e070990 Native camera issue on HTC One S fixed.
Camera connect->disconnect->connect leads to sigsegv.
Apply properties method reimplemented.
2012-09-07 17:22:47 +04:00
Vadim Pisarevsky
19e1f89cd6 regenerated opencv_cheatsheet.pdf from the previously updated opencv_cheatsheet.tex 2012-09-07 15:35:18 +04:00
Vadim Pisarevsky
53fdae93bd fixed compile error on Windows 2012-09-07 15:25:32 +04:00
AoD314
54a202b3d5 add new version of CommandLineParser. add empty docs 2012-09-07 13:24:48 +04:00
Andrey Kamaev
6a112aa87a Use TBB 4.1 on Android 2012-09-06 19:38:13 +04:00
Andrey Kamaev
70234433d3 Reduce verbosity of Java API generators 2012-09-06 18:54:38 +04:00
Andrey Kamaev
b8adc04545 Fix Android build warnings 2012-09-06 18:54:38 +04:00
Andrey Kamaev
b8767f5fbe Disable TBB on Android for mips 2012-09-06 18:54:38 +04:00
Andrey Kamaev
2cc262bce4 Fix Android CMake toolchain compiler and linker flags 2012-09-06 18:54:38 +04:00
Andrey Pavlenko
04e9698685 possibility to maintain custom hardware-specific libs folders 2012-09-06 16:09:20 +04:00
Andrey Pavlenko
186f8b7417 possibility to maintain custom hardware-specific libs folders 2012-09-06 16:03:07 +04:00
Vadim Pisarevsky
36dacc688a removed non-existing CoreAnimation framework from the list of required frameworks (bug #2326) 2012-09-06 14:22:40 +04:00
Vadim Pisarevsky
283087dd56 fixed typo (bug #2327) 2012-09-06 14:16:18 +04:00
Vsevolod Glumov
037e3ee288 Fixed some minor formatting issues in 'old_basic_structures' and 'operations_on_arrays'. 2012-09-06 10:57:28 +04:00
yao
a1796469f7 Merge branch 'master' of git://code.opencv.org/opencv 2012-09-06 14:39:56 +08:00
yao
1b6639aa3d A little optimization on ocl/pyrdown, ocl/canny 2012-09-06 14:39:20 +08:00
Vsevolod Glumov
3d072dce02 Revert "Another batch of fixed 'undocumented parameter' warnings in 'operations_on_arrays.rst'."
This reverts commit 907a9101eb.
2012-09-06 10:38:03 +04:00
Vsevolod Glumov
907a9101eb Another batch of fixed 'undocumented parameter' warnings in 'operations_on_arrays.rst'. 2012-09-05 18:13:54 +04:00
Vadim Pisarevsky
932100c5a3 fixed build errors and warnings on Windows 2012-09-05 17:06:07 +04:00
Andrey Kamaev
d3501f1545 Android toolchain: restored explicit include_directories of system /usr/include
It is needed because of explicit STL include paths.
Otherwise some standard headers (like fenv.h) can not not be correctly found by the compiler.
2012-09-05 16:29:05 +04:00
Vadim Pisarevsky
dcdbc638af Merge https://github.com/urikz/opencv 2012-09-05 16:01:59 +04:00
Andrey Kamaev
bcd0aefbca Fix gcc build errors and warnings 2012-09-05 15:51:51 +04:00
Yury Zemlyanskiy
66ce62cd0d Small fixed #3 2012-09-05 14:39:33 +04:00
Yury Zemlyanskiy
036258b8da Small fixed #2 2012-09-05 14:36:40 +04:00
Yury Zemlyanskiy
9d1aa37e21 Small fixes 2012-09-05 14:19:44 +04:00
Yury Zemlyanskiy
4e0fdf2205 Merge remote-tracking branch 'itseez/opencv'
Conflicts:
	modules/video/src/simpleflow.cpp
	modules/video/test/test_simpleflow.cpp
2012-09-05 13:40:14 +04:00
Yury Zemlyanskiy
0c10ed26e3 Update to improve performance of SimpleFlow algorithm
+ Improve performance of calcOpticalFlowSingleScale method
+ Small refactoring

Current results:

IMAGE NAMES          RMSE
Beanbags
Dimetrodon           0.329428
DogDance
Grove2               0.550852
Grove3               1.464699
Hydrangea            0.523277
MiniCooper
RubberWhale          0.367246
Urban2               2.717003
Urban3               4.185070
Venus                0.775422
Walking

Time (for Urban3):
17.490248 sec
2012-09-05 13:27:47 +04:00
Takahiro Horikawa
ec45453baa #523 Fix the problem where the MaxSize parameter in cvHaarDetectObjects does not work when the flag CV_HAAR_SCALE_IMAGE is not set. 2012-09-04 20:46:42 -07:00
Ilya Lavrenov
5eac0419b2 changed eps in validate_result function 2012-09-04 22:22:07 +04:00
Ilya Lavrenov
be51e5d1b1 More strict tests for image waring algorithms 2012-09-04 21:52:40 +04:00
Andrey Kamaev
07d92d9e5a Fix android build warnings 2012-09-04 17:44:23 +04:00
Andrey Kamaev
8325a28d09 Merge branch 'android-toolchain' 2012-09-04 17:10:52 +04:00
Andrey Kamaev
02b33792cb Fix precompiled headers support detection for gcc-4.6 toolchain from Android NDK r8b
The version reported by toolchain is 4.6.x-google so regex needs an adjustment.
2012-09-04 16:50:55 +04:00
Andrey Kamaev
b0c7280978 Android toolchain: protect from changes of NDK_CCACHE on subsequent cmake 2012-09-04 16:33:24 +04:00
Andrey Kamaev
af415085d8 Fix Android build with CMake 2.6.3-2.8.3 2012-09-04 16:21:44 +04:00
Andrey Kamaev
53d219c857 Improved CMake warnings about known problems of Android NDKs 2012-09-04 16:21:44 +04:00
Vsevolod Glumov
16717a8641 Partially cleaned 'operations_on_arrays' section of undocumented parameters. 2012-09-04 15:44:21 +04:00
Vadim Pisarevsky
959674618f restored SSE2 and added AVX optimization of the old haar face detector 2012-09-04 14:59:38 +04:00
Vadim Pisarevsky
dea52eb730 fixed 4-channel resizeAreaFast x2 decimation case 2012-09-04 14:51:31 +04:00
Vadim Pisarevsky
bf7295f584 fixed multiple build warnings 2012-09-04 14:15:00 +04:00
Vadim Pisarevsky
e17b70e533 updated documentation with the new PCA functionality 2012-09-04 14:14:24 +04:00
Kevin
93155c6ae0 Overloaded PCA constructor and ( ) operator to implement Feature#2287 - PCA that retains a specified amount of variance from the data. A sample was added to samples/cpp to demonstrate the new functionality. Docs and Tests were also updated 2012-09-04 13:58:59 +04:00
Vadim Pisarevsky
a74a2302aa fixed bug #2331 2012-09-04 13:34:52 +04:00
Alexander Smorkalov
a08290d843 Merge branch 'master' of git://code.opencv.org/opencv 2012-09-04 10:50:35 +04:00
Alexander Smorkalov
457c878538 Issue #2270 OpenCV Manager fails with JNI error fixed.
Local reference table overflow in JNI code fixed.
2012-09-04 10:39:44 +04:00
yao
8f8a69d6f5 fix bug of ocl::canny 2012-09-04 08:51:08 +08:00
Andrey Kamaev
a3125c0b8d Added C++ runtime search for standalone toolchain 2012-09-04 02:08:27 +04:00
Andrey Kamaev
ac808b51a5 Fixing STL support in case of standalone toolchain 2012-09-03 19:13:51 +04:00
Andrey Kamaev
c91850ec2e Fix executable and C objects linking 2012-09-03 18:42:13 +04:00
Vadim Pisarevsky
778c31a1c8 added SSE2-optimized boxfilter by Grigoriy Frolov 2012-09-03 17:31:20 +04:00
Vadim Pisarevsky
67ff95083d added openfabmap code, contributed by Arren Glover. fixed several warnings in the new versions of retina filters 2012-09-03 17:03:31 +04:00
Andrey Kamaev
6ee7ecb617 Merge pull request #28: add openexr to 3rdparty libs 2012-09-03 16:03:25 +04:00
Andrey Kamaev
52581750fc Fix openexr build on Linux 2012-09-03 15:58:30 +04:00
niko
11b403900e add channel 3 for test/main.cpp
add remap
2012-09-03 18:07:31 +08:00
yao
c8bfc0fd89 A little fix to ocl accuracy tests, make them more uniformed 2012-09-03 17:23:13 +08:00
yao
0fdb55a54d update some of the functions in ocl module to the latest version 2012-09-03 17:03:37 +08:00
Andrey Kamaev
e402bb496d Add support for all NDK runtimes 2012-09-03 03:54:06 +04:00
Andrey Kamaev
7280039d8c Update readme for 3rdparty libs 2012-09-02 21:16:57 +04:00
Andrey Kamaev
577d9cdece Fix openexr build on MinGW 2012-09-02 20:44:09 +04:00
Andrey Kamaev
941391c0be Fix openexr build with MSVC 2012-09-02 20:44:07 +04:00
Andrey Kamaev
867777f825 Added OpenEXR library v1.7.1 2012-09-02 20:44:04 +04:00
Andrey Kamaev
21a536f999 Add NDK release detection into CMake toolchain 2012-09-02 19:56:12 +04:00
Andrey Kamaev
c9dbb0d314 Several small fixes in Android CMake toolchain
* fix formatting
* honor Windows-style paths
* suppress warnings inside try_compile
* correct caching of toolchain variables
2012-09-02 18:59:41 +04:00
Andrey Kamaev
3fb3851c7a Remove debug print 2012-09-01 08:42:07 +04:00
Vsevolod Glumov
ce4ac2d74a Cleaned 'old_basic_structures' of undocumented parameters. 2012-08-31 19:32:07 +04:00
kir
44da71daf4 removed duplicated sample (for facedetect) 2012-08-31 18:38:42 +04:00
Andrey Kamaev
f2a486c34b Fix Android samples for devices having front camera only (Nexus 7)
(cherry picked from commit 067744d071)
2012-08-31 18:29:55 +04:00
Andrey Kamaev
58baf2b455 Fix package name of Android color blob detection sample
(cherry picked from commit fc93518449)

Signed-off-by: Andrey Kamaev <andrey.kamaev@itseez.com>
2012-08-31 18:28:44 +04:00
Andrey Kamaev
11bffb0e7d Unify manifest files in Android examples
(cherry picked from commit bd12f636c8)

Signed-off-by: Andrey Kamaev <andrey.kamaev@itseez.com>
2012-08-31 18:28:38 +04:00
Andrey Kamaev
ca0609dde3 Fixed java camera release in Android tutorial-0 sample
(cherry picked from commit cd59cf3ab5)

Signed-off-by: Andrey Kamaev <andrey.kamaev@itseez.com>
2012-08-31 18:28:30 +04:00
Andrey Kamaev
067744d071 Fix Android samples for devices having front camera only (Nexus 7) 2012-08-31 18:25:08 +04:00
Andrey Kamaev
fc93518449 Fix package name of Android color blob detection sample 2012-08-31 17:47:12 +04:00
Andrey Kamaev
bd12f636c8 Unify manifest files in Android examples 2012-08-31 17:47:12 +04:00
Alexandre Benoit
37fe2a252a updated Retina module code for more flexible parallelisation : TBB parallel for loops are replaced by opencv parallel_for_ wrapper... compile error corrected 2012-08-31 14:55:32 +02:00
Alexandre Benoit
5a6114e299 updated code for more flexible parallelisation : TBB parallel for loops are replaced by opencv parallel_for_ wrapper 2012-08-31 14:14:57 +02:00
Vadim Pisarevsky
e5f9f97954 fixed build warnings on Windows 2012-08-31 14:56:28 +04:00
Vadim Pisarevsky
1686b0d9d3 Merge remote-tracking branch 'origin/master' 2012-08-31 14:56:09 +04:00
Yury Zemlyanskiy
1fde184192 Small fixes for SimpleFlow algorithm
+ Fixed warnings
+ Add new function calcOpticalFlow with smaller number of arguments
+ Add asserts to algorithm and remove 'exit(1)'
2012-08-31 14:39:59 +04:00
Yury Zemlyanskiy
784c09d6f9 Updates for SimpleFlow algorithm
+ New format for flow data - CV_32C2
+ Memory optimization
+ Cross Bilateral Filter optimization
+ Minor optimizations
+ Sample for calcOpticalFlowSF improved
2012-08-31 14:39:59 +04:00
Yury Zemlyanskiy
c77d099018 "SimpleFlow" optical flow estimation algorithm (GSoC project) declaration in includes, implementation, usage example, test 2012-08-31 14:39:58 +04:00
OpenCV Buildbot
1a2bbfafba update FFMPEG wrapper binaries 2012-08-31 14:36:22 +04:00
Vadim Pisarevsky
2367a195c5 probably fixed compile error on MacOSX 10.6 2012-08-31 14:35:11 +04:00
Yury Zemlyanskiy
7ad4c25452 Small fixes for SimpleFlow algorithm
+ Fixed warnings
+ Add new function calcOpticalFlow with smaller number of arguments
+ Add asserts to algorithm and remove 'exit(1)'
2012-08-31 13:34:24 +04:00
Alexandre Benoit
2907eec670 Merge branch 'master' of git://code.opencv.org/opencv 2012-08-31 11:20:13 +02:00
Alexandre Benoit
ffb3842ef1 updated retina documentation 2012-08-31 11:19:46 +02:00
niko
6f6e990988 use mutex provided by opencv itself
add getoclcontext and getoclcommandqueue so that other opencl program can interactive with opencv ocl module
correct haar test cases
add face detection sample
2012-08-31 14:08:52 +08:00
Andrey Kamaev
11e16a7204 Merge pull request #27 from sergiud/master 2012-08-30 23:16:49 +04:00
Andrey Kamaev
ecd96c8b18 Fix libjasper build on 32-bit MinGW 2012-08-30 23:14:09 +04:00
Andrey Kamaev
f02c1ad688 Fix MinGW warning on implicit 'exit' declaration 2012-08-30 22:51:03 +04:00
Alexandre Benoit
9f1c10e1c5 Merge branch 'master' of git://code.opencv.org/opencv 2012-08-30 16:02:48 +02:00
Alexandre Benoit
52b4b5b052 added retina module documentation 2012-08-30 16:02:04 +02:00
Vadim Pisarevsky
014106783d fixed building BRISK on Windows 2012-08-30 17:32:47 +04:00
Sergiu Dotenco
85eae7b30d win32: always link to vfw32 2012-08-30 14:52:39 +02:00
Vincent Rabaud
3ca0cc2253 add a scale invariance test for the detector 2012-08-30 16:28:39 +04:00
Vincent Rabaud
84c4797030 revert orientation computation in jeypoint detection for efficiency (like done originally) 2012-08-30 16:28:39 +04:00
Vincent Rabaud
da1921b2fc add const correctness, replace __inline__ and remote a useless release() 2012-08-30 16:28:39 +04:00
Vincent Rabaud
92da6d381b add rotation tests for the descriptors 2012-08-30 16:28:39 +04:00
Vincent Rabaud
b325b2f9a4 add more test to BRISK 2012-08-30 16:28:39 +04:00
Vincent Rabaud
13ded36ecb initial addition of BRISK with some tests 2012-08-30 16:28:39 +04:00
Vincent Rabaud
228070a74c split FAST in order to reuse it in BRISK 2012-08-30 16:28:38 +04:00
Vadim Pisarevsky
a6e2acbfee added a few missing images for tutorials; integrated pull request #26 2012-08-30 16:23:18 +04:00
Vadim Pisarevsky
3d4ca2d709 added ios tutorials by Charu Hans and Eduard Feicho 2012-08-30 15:49:53 +04:00
Andrey Kamaev
b2acf50c81 Fix build warning introduced in commit:424bc609b6f352a2b10f2a01ffcd037483e3591f 2012-08-30 13:04:34 +04:00
niko
b929012583 performance fix of convertC3C4
add OCL 1.2 feature for setTo
bug fix of integral
replace the error code -217 with suitable MACRO
simplify tests, no need apply a new context for each test case
add more control for tests in utility.hpp
2012-08-30 16:14:35 +08:00
Vladislav Vinogradov
44330afc7f fixed build without CUDA 2012-08-30 10:35:32 +04:00
Vladislav Vinogradov
29cdddd845 fixed bug in buildPointList 2012-08-30 10:03:19 +04:00
Andrey Kamaev
3ae2244bd9 3rdparty libs are updated to latest available versions 2012-08-30 00:58:00 +04:00
Andrey Kamaev
a881f165ec Update readme for 3rdparty libs 2012-08-30 00:56:18 +04:00
Andrey Kamaev
d8015fd6ed Fix libjasper build with MSVC 2012-08-30 00:40:40 +04:00
Andrey Kamaev
6e6cfdd024 Add changelog and copyright files from debian libjasper-dev (1.900.1-13) package 2012-08-30 00:40:32 +04:00
Andrey Kamaev
70fed019ae Apply 03-CVE-2011-4516-and-CVE-2011-4517 patch from debian libjasper-dev (1.900.1-13) package 2012-08-30 00:40:29 +04:00
Andrey Kamaev
c7db1c1cc8 Apply 02-fix-filename-buffer-overflow patch from debian libjasper-dev (1.900.1-13) package 2012-08-30 00:40:26 +04:00
Andrey Kamaev
4157a640ba Apply 01-misc-fixes patch from debian libjasper-dev (1.900.1-13) package 2012-08-30 00:40:23 +04:00
Andrey Kamaev
d28af08ef3 Update libjpeg to release 8d 2012-08-30 00:40:18 +04:00
Andrey Kamaev
35a869f6f0 Update libtiff to release v4.0.2 2012-08-30 00:23:45 +04:00
Andrey Kamaev
e9392d1466 Fix Android build with cmake 2.6.3 2012-08-30 00:23:41 +04:00
Andrey Kamaev
90a3d227c9 Enable libpng NEON optimization in Android build for armeabi-v7a with NEON target 2012-08-30 00:23:38 +04:00
Andrey Kamaev
c6d1421f9b Update libpng to release v1.5.12 2012-08-30 00:23:34 +04:00
Andrey Kamaev
ae4718558d Update zlib to release v1.2.7 2012-08-29 23:28:13 +04:00
Anatoly Baksheev
3456238c16 minor 2012-08-29 21:26:00 +04:00
noob
fba081992d Merge branch 'master' of git://code.opencv.org/opencv 2012-08-29 18:14:07 +02:00
noob
424bc609b6 Retina module is now parallelized thanks to the TBB library. Speed increase expected on multicore plateforms 2012-08-29 17:44:21 +02:00
Anatoly Baksheev
0ba01afd83 added GPU bilateral filter + tests
added GPU non local means brute force filter + tests
2012-08-29 19:20:32 +04:00
Anatoly Baksheev
a09679044e renamed device::bilaterl_filter kernel to device::disp_bilaterl_filter for correct naming
fixed some warnings
2012-08-29 19:20:32 +04:00
Andrey Kamaev
3d9018f019 Fix run.py version control detection when used outide of OpenCV build 2012-08-29 19:17:18 +04:00
OpenCV Buildbot
ee2bebf5f7 update FFMPEG wrapper binaries 2012-08-29 18:59:21 +04:00
Andrey Kamaev
429e5367c4 Merge pull request #25 from sergiud/master 2012-08-29 17:54:49 +04:00
Vladislav Vinogradov
14694343cb fixed gpu PyrLKSparse perf test 2012-08-29 10:51:40 +04:00
Andrey Kamaev
0adbead654 Android toolchain: fix CCache program search 2012-08-28 20:39:10 +04:00
Andrey Kamaev
cd59cf3ab5 Fixed java camera release in Android tutorial-0 sample 2012-08-28 20:37:06 +04:00
Sergiu Dotenco
6c3e769f32 eliminated type conversion warnings 2012-08-28 17:21:06 +02:00
Vsevolod Glumov
4d6730dc68 Improved javadoc comments. Minor formatting fix. 2012-08-28 18:51:46 +04:00
Vadim Pisarevsky
633a8bfacc fixed many warnings (modified pull request 13) 2012-08-28 18:15:14 +04:00
Leonid Beynenson
aa2524f41e Changed the file .gitignore
(added vim swap files and tag files)
2012-08-28 17:46:45 +04:00
Leonid Beynenson
8dcf52c90b Added possibility to make subfolders in modules' folders "src/". 2012-08-28 17:44:33 +04:00
Corentin Wallez
18fc11bc04 Fix fixed-point arithmetics in FREAK::meanIntensity 2012-08-28 16:57:20 +04:00
Vsevolod Glumov
dc6fa94118 Improved javadoc comments. 2012-08-28 15:49:50 +04:00
Vincent Rabaud
f56432559e add conversion from/to Matx 2012-08-28 15:13:41 +04:00
Andrey Kamaev
05630b336b Updated package version in Android samples
(cherry picked from commit 47b9640785)

Signed-off-by: Andrey Kamaev <andrey.kamaev@itseez.com>
2012-08-28 15:08:23 +04:00
Andrey Kamaev
47b9640785 Updated package version in Android samples 2012-08-28 15:07:42 +04:00
Andrey Kamaev
7744b1d600 Android camera: fix logging macro part 2 2012-08-28 15:07:42 +04:00
Vsevolod Glumov
396e4517ff Improved javadoc comments. Draft. 2012-08-28 15:01:46 +04:00
marina.kolpakova
a07e33609b added test for caltech images 2012-08-28 14:45:45 +04:00
Vadim Pisarevsky
e2c9e7c3fb applied patches from #2311 2012-08-28 14:19:34 +04:00
Vadim Pisarevsky
0bd68a70f1 fixed #2297, #2300; fixed several warnings 2012-08-28 13:45:35 +04:00
Andrey Kamaev
95d54196db Android camera: fix logging macro 2012-08-28 13:30:11 +04:00
Andrey Kamaev
d421ec26e2 Android toolchain: fixed ccache search 2012-08-28 13:26:57 +04:00
Yury Zemlyanskiy
5ee632fe90 Updates for SimpleFlow algorithm
+ New format for flow data - CV_32C2
+ Memory optimization
+ Cross Bilateral Filter optimization
+ Minor optimizations
+ Sample for calcOpticalFlowSF improved
2012-08-28 04:16:40 +04:00
Yury Zemlyanskiy
cc6f1eb824 "SimpleFlow" optical flow estimation algorithm (GSoC project)
declaration in includes, implementation, usage example, test
2012-08-28 04:16:40 +04:00
Andrey Kamaev
bbbe77e05e Fix Android build for mips platform 2012-08-27 20:16:54 +04:00
Andrey Kamaev
c0786e9d33 Support for the gold linker (NDK r8b is required) 2012-08-27 19:45:24 +04:00
Andrey Kamaev
bcf8dd510f Added CCache support to Android build
To speed up rebuilds, define the NDK_CCACHE environment or CMake variable
to the path to your ccache binary. When declared, the android.cmake.toolchain
automatically uses CCache when compiling any C/C++ source file. For example:

export NDK_CCACHE=ccache
2012-08-27 18:22:00 +04:00
Andrey Kamaev
5c01d13f38 Pass list of modules to javadoc generator
Previously the generator always uses hardcoded list of modules.
This fix replaces hardcoded list with actual set of modules coming from cmake.
2012-08-27 16:48:09 +04:00
Vsevolod Glumov
c78884c780 Improved 'Operations on Arrays" section of 'Core' module documentation. 2012-08-24 19:08:18 +04:00
Anatoly Baksheev
4449efb242 minor 2012-08-24 19:01:13 +04:00
Anatoly Baksheev
d3f4c9b2dc Fixed bug in BP_GPU 2012-08-24 18:38:54 +04:00
Andrey Kamaev
0948f4f863 Merge branch 'android_camera_2.4' into 2.4 2012-08-24 16:55:44 +04:00
Andrey Kamaev
4aa03d4b2b Fix/workaround bogus error in Android samples running on Android 4.1.1 2012-08-24 16:55:12 +04:00
Andrey Kamaev
eaf75dbc95 Fix crash on resume in face detection sample 2012-08-24 16:55:12 +04:00
Andrey Kamaev
c9d078ab00 Fix formatting in detection based tracker 2012-08-24 16:55:12 +04:00
Andrey Kamaev
a4235948a7 Fix Andoid samples: black screen after resume problem 2012-08-24 16:55:12 +04:00
Andrey Kamaev
d849f51023 Android camera: commented logs in frame callback 2012-08-24 16:55:12 +04:00
Andrey Kamaev
4ac2c22776 Fix buffer allocation in Android camera 2012-08-24 16:55:12 +04:00
Andrey Kamaev
a21df069e0 Cherry pick Android-related changes from master till 2012-08-23
* service
* tutorials
* samples
* gitignore
2012-08-24 16:52:30 +04:00
Andrey Kamaev
42a4ed6ebf Merge branch 'android_camera' 2012-08-24 16:44:52 +04:00
Andrey Kamaev
ba862ffdff Fix/workaround bogus error in Android samples running on Android 4.1.1 2012-08-24 16:24:53 +04:00
Andrey Kamaev
e9e0668549 Fix crash on resume in face detection sample 2012-08-24 16:24:53 +04:00
Andrey Kamaev
ce11c0d1eb Fix formatting in detection based tracker 2012-08-24 16:22:18 +04:00
Andrey Kamaev
285af48040 Fix Andoid samples: black screen after resume problem 2012-08-24 16:17:42 +04:00
Andrey Kamaev
71df8906be Android camera: commented logs in frame callback 2012-08-24 16:10:17 +04:00
Andrey Kamaev
ad35f317f6 Fix buffer allocation in Android camera 2012-08-24 16:10:17 +04:00
Andrey Kamaev
dd3b09441f Fix formatting in Android tutorials 2012-08-24 15:59:46 +04:00
Andrey Kamaev
62f9c0e140 Fixed layout in third Android tutorial 2012-08-24 15:59:46 +04:00
Vsevolod Glumov
3c8e151c73 Reviewed 'android_dev_intro' 2012-08-24 15:59:46 +04:00
Andrey Pavlenko
69538c3596 improving android tutorial v2 2012-08-24 15:59:45 +04:00
Andrey Pavlenko
1e25e736f0 improving android tutorial v2 2012-08-24 15:59:45 +04:00
Andrey Pavlenko
efc87105a3 improving android tutorial v2, removing v1 2012-08-24 15:59:45 +04:00
Vsevolod Glumov
526efe6724 Reviewed 'android_dev_intro' and 'O4A_SDK' 2012-08-24 15:59:45 +04:00
Andrey Kamaev
8facfd4fc8 Fixed tutorial link to NVIDIA Tegra platform 2012-08-24 15:59:45 +04:00
Andrey Pavlenko
6946213ecf improving android tutorial v2 2012-08-24 15:59:45 +04:00
Oleg Sklyarov
a053f611a4 ubuntu screenshot png 2012-08-24 15:59:45 +04:00
Oleg Sklyarov
c24549742b Android device recognition in Ubuntu Linux manual 2012-08-24 15:59:45 +04:00
Vsevolod Glumov
5577485755 some minor fixes to the 'android_dev_intro' 2012-08-24 15:59:45 +04:00
Vsevolod Glumov
2eb1a6d9d6 added a short preface to the 'android_dev_intro' doc. 2012-08-24 15:59:44 +04:00
Andrey Pavlenko
2315d5988f android tutorial, part 1 - adding 'device connection via usb' section, sections reordering 2012-08-24 15:59:44 +04:00
Oleg Sklyarov
71f032699d android tutorial minor layout fix (also my first test commit) 2012-08-24 15:59:44 +04:00
Andrey Kamaev
b29a639608 Fixed links in formatting in Android intro tutorial 2012-08-24 15:59:44 +04:00
Andrey Kamaev
5c788df83a Fix several documentation build warnings
Conflicts:
	modules/gpu/doc/video.rst
	modules/ocl/doc/ocl.rst
2012-08-24 15:59:44 +04:00
Andrey Pavlenko
9e171c9e26 android tutorial v2, initial draft commit 2012-08-24 15:59:44 +04:00
Andrey Kamaev
639bbec44a svn repository web references are replaced with links to git 2012-08-24 15:59:43 +04:00
marina.kolpakova
b061d4847f minor in license file 2012-08-24 15:59:43 +04:00
Andrey Pavlenko
afe8fbb018 minor update (pictures resize removed, emulator screen-shot downscaled) 2012-08-24 15:59:43 +04:00
Andrey Pavlenko
7b68271e31 minor updates to android tutorials 2012-08-24 15:59:43 +04:00
Alexander Kapustin
1b5903a719 Laplacian tegra optimized was added 2012-08-24 14:36:16 +04:00
Anatoly Baksheev
70204a8e68 Removed PtrElemStep, Marked DevMem1D as deprecated, now should use PtrStepSz now 2012-08-24 02:02:42 +04:00
Andrey Kamaev
9be63c50dd Merge branch 'norm_Matx' of git://github.com/vrabaud/opencv 2012-08-24 00:38:10 +04:00
Vladislav Vinogradov
56b7ddad09 fixed type for threshold parameter 2012-08-23 17:12:44 +04:00
Vladislav Vinogradov
8c1f9bafdc fixed gpu::integral for Kepler 2012-08-23 17:12:43 +04:00
Vladislav Vinogradov
c3f277b7bc gpu version of HoughCircles 2012-08-23 17:12:43 +04:00
Anatoly Baksheev
e60a50c43c removed /EHa flag for cuda compilation 2012-08-23 16:53:53 +04:00
Anatoly Baksheev
290030d030 possibility to enable /mp compiler flag from cmake
fixed MCVC warnings
2012-08-23 16:53:53 +04:00
Vincent Rabaud
1baf5209c4 fix the compile bug 2012-08-23 14:20:31 +02:00
Vsevolod Glumov
5648e49d59 Merge remote-tracking branch 'origin/master' 2012-08-23 14:58:41 +04:00
Vsevolod Glumov
fc307c87dc Improved the public 'non-optimized' duplicates of 'Tegra-optimized' functions. 2012-08-23 14:56:02 +04:00
marina.kolpakova
c8a54f67d4 minor warning fix 2012-08-23 13:43:42 +04:00
Anatoly Baksheev
d395bf1522 minor fix in FindTBB
added texture_binder
2012-08-23 13:37:27 +04:00
Alexey Spizhevoy
c8b7a8c80c added median-based version of global motion estimation (videostab) 2012-08-23 10:48:24 +04:00
Leonid Beynenson
6a5d996ca8 Removed the header opencv2/photo/denoising.hpp
All the functions from it are moved to the header
opencv2/photo/photo.hpp
2012-08-22 17:51:52 +04:00
Alexander Mordvintesv
4fb15ae1f0 Merge branch 'master' of code.opencv.org:opencv 2012-08-22 16:43:48 +03:00
Alexander Mordvintesv
d9185ec21b added _doc.py -- doc-string ckecking utility
added some sample description
2012-08-22 16:42:19 +03:00
Vadim Pisarevsky
bbf679267a modified facedetect to properly display very oblong objects and optionally flip image horizontally (for profile face detection). Added LBP cascades by Attila Novak for profile face detection and silverware detection (those are results of GSoC 2012) 2012-08-22 15:48:57 +04:00
Vadim Pisarevsky
e95bc7d502 fixed ios camera timing (patch by Eduard Feicho) 2012-08-22 13:33:13 +04:00
Vladislav Vinogradov
da5aaab277 optimized gpu::integral for Kepler 2012-08-22 12:13:34 +04:00
Ilya Lavrenov
92795ba476 parallel version of remap, resize, warpaffine, warpPerspective. Some optimization for 2x decimation in resize algorithm 2012-08-22 11:49:21 +04:00
Andrey Kamaev
f2a02feffa Fix Windows build issues
* No /arch:SSE3 in MSVC
* Warnings fixed or suppressed
2012-08-22 11:21:09 +04:00
Vadim Pisarevsky
793e8b546d fixed build on Ubuntu 2012-08-21 23:11:49 +04:00
Vadim Pisarevsky
64661ea9cd added SSE2-optimized resizeAreaFast for 8-bit images by Grigoriy Frolov 2012-08-21 23:00:50 +04:00
Andrey Kamaev
a840d929ac #2170 fix warning of undefined GTEST_HAS_DEATH_TEST 2012-08-21 18:59:51 +04:00
Andrey Kamaev
10dcf9ea39 Fix Java API build 2012-08-21 18:34:02 +04:00
Vadim Pisarevsky
2f1cc018c9 enabled SSE3 by default; integrated SSE3-optimized bilateral filter (by Grigoriy Frolov); modified API of non-local means (use Input/OutputArrays) 2012-08-21 17:39:40 +04:00
Leonid Beynenson
9f016da484 Merge branch 'master' of git://github.com/vpas/opencv into nonlocal_means 2012-08-21 16:07:18 +04:00
Victor Passichenko
18de45f7bc Add CV_Asserts for channels count 2012-08-21 16:05:18 +04:00
Victor Passichenko
92edd4fc6e Fix building for MS VS C++: remove allocation of arrays of dynamic size in stack 2012-08-21 15:41:51 +04:00
Vadim Pisarevsky
0d2b8f4ba1 fixed the channel ordering of rgba images (by Eduard) 2012-08-21 15:41:05 +04:00
Victor Passichenko
017ab51bf4 Fix wrong memory deallocation 2012-08-21 15:38:38 +04:00
Alexander Smorkalov
5acb80a9b1 ColorBlobDetection Sample, ImageManpulations Sample and Tutorial2 updated. Issues with native camera on Nexus 7 (Android 4.1) fixed. 2012-08-21 15:33:23 +04:00
Alexander Smorkalov
9314e3266c Debug build for Android added. Stripping of debug build turned off. 2012-08-21 15:33:19 +04:00
Alexander Smorkalov
7eb9fa14d3 Warning fix. ifdefs for 4.1.1 added. 2012-08-21 15:32:21 +04:00
Alexander Smorkalov
6bb509b44a Android 4.1.1 native camera fix. BufferQueue class is used instaed of Surface texture. Includes in cmake updated. 2012-08-21 15:31:50 +04:00
Alexander Smorkalov
ca6e85f526 Tegra3 package support enabled;
Version code incremented;
2012-08-21 15:31:07 +04:00
Alexander Smorkalov
48aeaf6239 Tegra detector fixed;
Some aditional logs added;
AndroidManifest version incremented.
2012-08-21 15:30:30 +04:00
Alexander Smorkalov
b1811a8bf6 HW compatibility tests added;
Arm-v7a neon package support enabled.
2012-08-21 15:29:57 +04:00
Alexander Smorkalov
44aeff04ae Package name logic improved;
Aditional tests added;
Some bug fixes with different __SUPPORT_XXX defines.
2012-08-21 15:29:11 +04:00
Alexander Smorkalov
a82fc0a046 Unit tests updated. Version and HW compatiblity tests added;
Tegra3, neon, sseX, x64 support uncomment and guarded by ifdefs
2012-08-21 15:15:40 +04:00
Daniil Osokin
cd062b7cc0 Add ignore for *.user files 2012-08-21 15:05:07 +04:00
Andrey Kamaev
6007bbc82d Added ignore for tbb source tarballs 2012-08-21 15:04:00 +04:00
Vadim Pisarevsky
2c7c9d0915 added gitignore to filter out certain temporary files 2012-08-21 15:03:54 +04:00
Vladislav Vinogradov
81d6400f45 fixed compilation under windows 2012-08-21 14:28:40 +04:00
Andrey Kamaev
94f7c3c592 Fixed FAST algorithm initializer 2012-08-21 01:03:52 +04:00
Andrey Kamaev
35754c0c03 Merge branch 'master' of git://github.com/vpas/opencv into nonlocal_means 2012-08-21 00:23:48 +04:00
marina.kolpakova
ee0dd4d496 disabled -Wunused-but-set-variable because of multiple warnings during building nvcc auto generated files (GCC 4.6) 2012-08-20 23:35:59 +04:00
Andrey Kamaev
682dede87e #2215 Fix dependencies escaping in generated OpenCVConfig.cmake 2012-08-20 19:53:03 +04:00
Andrey Kamaev
4a1ef53deb Fixed gcc build warning 2012-08-20 19:53:03 +04:00
Vadim Pisarevsky
d8b69d750d some tweaks in optimization flags for opencv2.framework 2012-08-20 19:46:52 +04:00
Vadim Pisarevsky
8efb84b5a4 added ios camera support in highgui. turned on optimization in opencv2.framework (ticket #2232) 2012-08-20 19:36:36 +04:00
Vladislav Vinogradov
c26d543e1e gpu::HoughLines : minor code improvements 2012-08-20 16:03:01 +04:00
marina.kolpakova
1e4012079d removed logging from test 2012-08-20 13:26:51 +04:00
Vladislav Vinogradov
3956e42507 Merge branch 'gpu-tests' 2012-08-20 11:29:40 +04:00
Vladislav Vinogradov
ec7f9566e0 minor gpu tests fix 2012-08-20 10:15:36 +04:00
Vladislav Vinogradov
a0aef244d6 removed perf_gpu_cpu from CMake scripts 2012-08-20 09:58:37 +04:00
niko
e7f4dd1a2e temp build fix because the new core.hpp impact on this project 2012-08-20 10:06:41 +08:00
marina.kolpakova
f17f4bda60 more warning fixes for GCC 2012-08-20 03:26:53 +04:00
marina.kolpakova
1521340152 updated CascadeClassifier_GPU documentation 2012-08-20 03:25:52 +04:00
marina.kolpakova
ede3781e3e fixed -Wstrict_alliasing warning for GCC 2012-08-20 02:27:54 +04:00
marina.kolpakova
aeaf1a6f6d refactoring in Emulation 2012-08-20 02:26:23 +04:00
marina.kolpakova
9c13b84e35 fixed unused warnings 2012-08-20 00:06:12 +04:00
marina.kolpakova
66eb96d719 minor warning fix 2012-08-19 22:43:27 +04:00
Alexander Mordvintesv
122f59560c Merge branch 'master' of code.opencv.org:opencv 2012-08-19 20:37:10 +03:00
Alexander Mordvintesv
c9f2ff4487 added texture_flow.py sample 2012-08-19 20:36:50 +03:00
Andrey Kamaev
1a621c2916 Fix build warnings 2012-08-19 19:36:43 +04:00
Andrey Kamaev
7d2b7b801a Merge branch 'sergiud_vs2012rtm_support' 2012-08-19 17:49:54 +04:00
Sergiu Dotenco
ddc7bd7659 fixed compilation errors caused by std::tuple 2012-08-19 15:30:41 +02:00
Sergiu Dotenco
4993748c91 added missing includes 2012-08-19 15:25:07 +02:00
Victor Passichenko
1f42de39a3 Add non-local means denoising algorithm implementatation into photo module 2012-08-19 13:13:58 +04:00
Andrey Kamaev
8e2258c494 Fix Windows build after commit:41b6d25 2012-08-19 00:20:08 +04:00
Alexander Mordvintesv
4c15465fbb Merge branch 'master' of code.opencv.org:opencv 2012-08-18 19:43:46 +03:00
Alexander Mordvintesv
a4bffd96c4 added deconvolution.py sample and example images 2012-08-18 19:43:32 +03:00
Andrey Kamaev
bf4c1df0d0 Fix formatting in Android tutorials 2012-08-17 19:23:45 +04:00
Andrey Kamaev
ff3aa6cbe1 Fix Android build after commit:41b6d25 2012-08-17 18:28:50 +04:00
Andrey Kamaev
9d6ccecfdd Fixed layout in third Android tutorial 2012-08-17 18:15:15 +04:00
Andrey Kamaev
915169e8b7 Fix documentation build warnings in gpu module reference 2012-08-17 18:15:15 +04:00
Vladislav Vinogradov
a507d564a4 merged gpu_perf_cpu into gpu_perf 2012-08-17 17:34:58 +04:00
Vadim Pisarevsky
ec8f926686 small correction for the previous patch in parallel.cpp 2012-08-17 17:34:51 +04:00
Vadim Pisarevsky
38ea339990 Merge remote-tracking branch 'origin/master' 2012-08-17 17:32:20 +04:00
Vadim Pisarevsky
41b6d25bdd added cross-platform Mutex implementation; enable platform-native (GDC/Concurrency) parallel_for_ implementation when TBB is not installed. 2012-08-17 17:32:06 +04:00
Andrey Kamaev
6da9b9f137 Android toolchain: libstdc++ and libsupc are removed from explicit link libraries
# Please enter the commit message for your changes. Lines starting
# with '#' will be kept; you may remove them yourself if you want to.
# An empty message aborts the commit.
# On branch master
# Your branch is ahead of 'origin/master' by 1 commit.
#
# Changes to be committed:
#   (use "git reset HEAD^1 <file>..." to unstage)
#
#	modified:   android/android.toolchain.cmake
#
2012-08-17 16:23:57 +04:00
Vladislav Vinogradov
93172bab87 added --cpu flag (run tests on CPU) 2012-08-17 16:12:32 +04:00
Vladislav Vinogradov
00546f24e0 updated mark_nvidia.py script 2012-08-17 15:50:35 +04:00
Vladislav Vinogradov
2634dc6cce removed license comments 2012-08-17 15:22:29 +04:00
Vladislav Vinogradov
362df96cb9 renamed perf_main.cpp to main.cpp 2012-08-17 15:16:45 +04:00
Vladislav Vinogradov
6e4eb722a6 updated gpu performance tests
now it executes only on one device
added posibility to specify device on which tests will be executed
2012-08-17 15:14:14 +04:00
niko
2e685dcf0a performance & bug fix for resize erode dilate sobel remap 2012-08-17 15:47:02 +08:00
Alexander Smorkalov
a1d8091e10 ColorBlobDetection Sample, ImageManpulations Sample and Tutorial2 updated. Issues with native camera on Nexus 7 (Android 4.1) fixed. 2012-08-16 16:52:53 +04:00
bitwangyaoyao
a091f9e4e2 bug fix of "squares" sample for ocl module 2012-08-16 20:34:24 +08:00
Vladislav Vinogradov
ddca47040b updated gpu accuracy tests
added posibility to specify device on which tests will be executed
2012-08-16 16:23:27 +04:00
Vladislav Vinogradov
cfdeb50335 updated mark_nvidia.py script 2012-08-16 12:54:00 +04:00
yao
d363d5589c add an "squares" sample for ocl module 2012-08-16 16:01:40 +08:00
Vladislav Vinogradov
19462c871d Forbid incorrect patchSize values in gpu::ORB 2012-08-15 17:24:53 +04:00
Vladislav Vinogradov
528ddb5647 fixed block size for old CC 2012-08-15 17:24:53 +04:00
Andrey Kamaev
65f8585630 #2229 Fix FREAK build on CentOS 2012-08-15 17:23:07 +04:00
Andrey Kamaev
859ee6087c #2216 Forbid incorrect patchSize values in ORB 2012-08-15 16:54:40 +04:00
Andrey Kamaev
b0927397e9 #2225 Rename getConvertData to getConvertElem to match the headers and documentation 2012-08-15 15:34:33 +04:00
Vsevolod Glumov
e578259a34 Merge remote-tracking branch 'origin/master' 2012-08-15 15:12:48 +04:00
Vsevolod Glumov
8899835886 Reviewed 'android_dev_intro' 2012-08-15 15:10:58 +04:00
Vladislav Vinogradov
a9fba14898 added docs for gpu::HoughLines 2012-08-15 15:07:30 +04:00
Vladislav Vinogradov
97731c152d fixed typo 2012-08-15 15:07:29 +04:00
Vladislav Vinogradov
db79022b85 fixed shared memory size for linesAccumShared 2012-08-15 15:07:29 +04:00
Andrey Kamaev
36fe62d7a5 #2245 Fix BFMatcher::radiusMatchImpl witch Hamming distance (thanks to Jukka Holappa) 2012-08-15 15:02:20 +04:00
Vladislav Vinogradov
456890e9e4 fixed warning C4512 2012-08-15 13:48:28 +04:00
Vladislav Vinogradov
647d4ae1f1 Merge branch 'hough-lines-gpu' 2012-08-15 13:24:46 +04:00
Vladislav Vinogradov
7928cec670 added linesAccumGlobal kernel 2012-08-15 13:18:35 +04:00
Andrey Pavlenko
3b07e977a9 improving android tutorial v2 2012-08-15 12:21:58 +04:00
Andrey Pavlenko
6e07a1346c improving android tutorial v2 2012-08-15 11:47:48 +04:00
Vsevolod Glumov
a4392e4906 Merge remote-tracking branch 'origin/master' 2012-08-15 11:39:54 +04:00
Vsevolod Glumov
5825c60491 Reviewed 'android_dev_intro' and 'O4A_SDK' 2012-08-15 11:39:02 +04:00
Andrey Pavlenko
c004df234f improving android tutorial v2, removing v1 2012-08-15 10:56:50 +04:00
Vladislav Vinogradov
7ae94c571c fixed build without cuda 2012-08-14 17:54:42 +04:00
Vladislav Vinogradov
34b9bd61a2 fixed failure 2012-08-14 17:42:15 +04:00
Andrey Kamaev
d861063159 Fixed tutorial link to NVIDIA Tegra platform 2012-08-14 17:26:00 +04:00
Andrey Pavlenko
37740fa30e improving android tutorial v2 2012-08-14 17:18:24 +04:00
Maria Dimashova
d973d571a4 changed the value that replace NaNs in bilateralFilter_32f 2012-08-14 17:15:03 +04:00
Vladislav Vinogradov
c3fa7974e6 new optimized version 2012-08-14 17:00:57 +04:00
Daniil Osokin
f1d41d8b94 disabled whole perf test for distance transform 2012-08-14 13:01:52 +04:00
Vladislav Vinogradov
9201db32eb fixed overflow bugs, updated perf tests 2012-08-14 12:33:47 +04:00
Daniil Osokin
2b53d2e6a4 Merge branch 'master' of code.opencv.org:opencv 2012-08-14 12:17:44 +04:00
Daniil Osokin
f4d4b0d742 disabled perf test on distance transform 2012-08-14 12:13:42 +04:00
Daniil Osokin
f66ac31d62 Merge branch 'branch1' 2012-08-14 12:10:45 +04:00
Alexander Smorkalov
14fa645026 Debug build for Android added. Stripping of debug build turned off. 2012-08-14 12:03:05 +04:00
Vladislav Vinogradov
1eefc69927 added accuracy and performance tests 2012-08-14 11:36:32 +04:00
Vadim Pisarevsky
70bb857c7e Merge remote-tracking branch 'origin/master' 2012-08-13 21:22:17 +04:00
Vadim Pisarevsky
ff90c3eba6 possibly fixes #2242 and #2257 2012-08-13 21:22:06 +04:00
Andrey Kamaev
d525362cd5 Fixed 2 new Android build warnings 2012-08-13 19:24:31 +04:00
Vladislav Vinogradov
3703722a72 first naive version 2012-08-13 17:44:46 +04:00
Vladislav Vinogradov
941897aa3d fixed build errors in bgfg_gmg 2012-08-13 17:00:21 +04:00
Vsevolod Glumov
2a1e8e3efd Merge remote-tracking branch 'origin/master' 2012-08-13 16:29:08 +04:00
Vsevolod Glumov
27212fdafe some minor fixes to the 'android_dev_intro' 2012-08-13 16:29:00 +04:00
Oleg Sklyarov
85351389f4 ubuntu screenshot png 2012-08-13 16:03:01 +04:00
Oleg Sklyarov
3b70fc6d32 Android device recognition in Ubuntu Linux manual 2012-08-13 16:00:58 +04:00
Alexey Spizhevoy
7992203598 Fixed CMakeLists.txt 2012-08-13 14:44:41 +04:00
Alexey Spizhevoy
27eb5d07cf Added getScale/setScale for image warpers (stitching module) 2012-08-13 14:39:47 +04:00
Vsevolod Glumov
87737c20c1 added a short preface to the 'android_dev_intro' doc. 2012-08-13 13:13:07 +04:00
Vladislav Vinogradov
4dbc7600e7 added support of all types to BackgroundSubtractorGMG 2012-08-13 10:28:42 +04:00
Philipp Wagner
9c75ff43ba Bug #2257: Adding a quick workaround for truncated labels on 64bit machines in the Python FaceRecognizer wrapper code. This is only a temporary bugfix, that will be fixed at a better point as soon as possible. 2012-08-11 22:36:35 +02:00
bitwangyaoyao
fa78459c56 fix ocl/match_template compiling error on Linux 2012-08-11 13:10:43 +08:00
Daniil Osokin
6bc060fddb Add ignore for *.user files 2012-08-10 17:37:52 +04:00
Daniil Osokin
45c49a9088 Added perf test 2012-08-10 17:37:48 +04:00
Daniil Osokin
0609f4e9b4 Added blur16x16 perf test 2012-08-10 17:36:45 +04:00
Daniil Osokin
b97b48ecb6 Added perf tests for histogram 2012-08-10 17:36:45 +04:00
Daniil Osokin
0b54739822 Added perf test for distanceTransform 2012-08-10 17:36:45 +04:00
Daniil Osokin
7a2eb514fa Added color YUV422 perf test 2012-08-10 17:36:39 +04:00
Daniil Osokin
e37b9469da Added perf tests 2012-08-10 17:17:09 +04:00
Daniil Osokin
cfd80152bb test 2012-08-10 17:08:27 +04:00
Daniil Osokin
39d6adea17 Added perf test 2012-08-10 16:39:36 +04:00
Daniil Osokin
4fdff6347f Added blur16x16 perf test 2012-08-10 15:45:18 +04:00
Daniil Osokin
136dff5fe4 Added perf tests for histogram 2012-08-10 15:43:03 +04:00
marina.kolpakova
c3ae08a13d fixed typo in enum 2012-08-10 15:39:45 +04:00
Daniil Osokin
9a408c744d Added perf test for distanceTransform 2012-08-10 15:33:19 +04:00
Daniil Osokin
bbc8605530 Added color YUV422 perf test 2012-08-10 15:32:15 +04:00
Daniil Osokin
8f6a2438a7 Added perf test for remap 2012-08-10 15:04:04 +04:00
marina.kolpakova
575078502f fixed perfomance test for CCL 2012-08-10 15:01:16 +04:00
Evgeny Talanin
19313923cc Use github pat to get data for in python tests (files from code.opencv.org are received truncated sometimes) 2012-08-10 14:09:58 +04:00
Vladislav Vinogradov
7ff04a65f1 fixed build for old compute capabilities 2012-08-10 10:03:35 +04:00
yao
fa5113f303 add Canny to ocl module 2012-08-10 11:59:47 +08:00
Philipp Wagner
6161a3335c Removed writing the test.png, wasn't meant to be commited. 2012-08-09 23:52:09 +02:00
Philipp Wagner
45e44442ad Merge branch 'master' of git://code.opencv.org/opencv 2012-08-09 23:05:07 +02:00
Andrey Pavlenko
a682ee40ad android tutorial, part 1 - adding 'device connection via usb' section, sections reordering 2012-08-09 22:57:06 +04:00
marina.kolpakova
40c76b9de2 1.x related fixes 2012-08-09 18:48:25 +04:00
Oleg Sklyarov
3f68e5bb0e android tutorial minor layout fix (also my first test commit) 2012-08-09 18:21:56 +04:00
Vladislav Vinogradov
79ef454c5f Merge branch 'bgfg-gmg-optimized' into bgfg-gmg-merged 2012-08-09 14:55:36 +04:00
Vladislav Vinogradov
827fa850f6 Merge branch 'bgfg-gmg-gpu' into bgfg-gmg-merged 2012-08-09 14:48:26 +04:00
Vladislav Vinogradov
1ecf491373 added updateBackgroundModel parameter 2012-08-09 14:46:27 +04:00
Vladislav Vinogradov
bfd9e6102a added updateBackgroundModel parameter and release method 2012-08-09 14:37:08 +04:00
Vladislav Vinogradov
7f3296566c added performance tests 2012-08-09 14:14:13 +04:00
Vladislav Vinogradov
77cae11a74 added docs for GMG_GPU 2012-08-09 13:28:28 +04:00
Vladislav Vinogradov
ace7e9d842 added release method to GMG_GPU 2012-08-09 13:13:04 +04:00
Vladislav Vinogradov
beb3e6ff18 added GMG_GPU to bgfg_segm sample 2012-08-09 12:59:18 +04:00
marina.kolpakova
634c9dae46 added performance test fot CCL 2012-08-09 12:42:27 +04:00
Vladislav Vinogradov
55f8310cac fixed number of training mode operation 2012-08-09 12:37:35 +04:00
Vladislav Vinogradov
f7f1fb2bd7 added tests for VIBE_GPU and GMG_GPU 2012-08-09 12:30:55 +04:00
Vladislav Vinogradov
da38a95de6 fixed number of update operation 2012-08-09 12:28:30 +04:00
Vladislav Vinogradov
9ec96597cd gpu version of GMG Background Subtractor 2012-08-09 11:31:08 +04:00
Vladislav Vinogradov
9b16563f44 fixed build warnings 2012-08-09 11:05:27 +04:00
Vladislav Vinogradov
fb5f366459 made BackgroundSubtractorGMG's parameters public 2012-08-09 10:23:24 +04:00
Andrey Kamaev
0ceb9b6a00 Fixed division by zero case in SphericalProjector::mapForward 2012-08-08 20:57:12 +04:00
Vladislav Vinogradov
42c1d4f4b1 new optimized version of BackgroundSubtractorGMG 2012-08-08 18:15:06 +04:00
Andrey Kamaev
017abbd963 Lowered acceptance threshold in Features2d_RotationInvariance_Detector_ORB.regression test 2012-08-08 17:15:46 +04:00
Andrey Pavlenko
c42c3ebc9c duplicating cv::error() message to Android logcat 2012-08-08 16:45:29 +04:00
Andrey Pavlenko
1995b1a06c duplicating cv::error() message to Android logcat 2012-08-08 16:39:24 +04:00
Andrey Kamaev
73f720d470 Fixed links in formatting in Android intro tutorial 2012-08-08 16:28:12 +04:00
marina.kolpakova
5084511fff reserved flags parameter for future usage 2012-08-08 15:51:56 +04:00
marina.kolpakova
3e8c35a347 added perf. test for GFF 2012-08-08 15:17:26 +04:00
marina.kolpakova
cbfee83b06 test: GFF same as cpu greedy implementation 2012-08-08 14:48:06 +04:00
marina.kolpakova
490622231a refactored test code 2012-08-08 14:48:06 +04:00
Vladislav Vinogradov
c5e92c31ba fixed Bug #2252
error in the tutorial Similarity check (PNSR and SSIM) on the GPU
2012-08-08 14:38:14 +04:00
yao
0f4bdcd708 Merge branch 'master' of git://code.opencv.org/opencv 2012-08-08 17:13:30 +08:00
yao
2fed1fcbff add an ocl sample 2012-08-08 17:12:53 +08:00
niko
37ca6d378b add performance test code for ocl module 2012-08-08 17:09:29 +08:00
yao
64e9cf5d75 add SURF and HOG to ocl module 2012-08-08 15:55:39 +08:00
Alexander Mordvintesv
a2df490914 added CV_IN_OUT to img argument of drawing functions 2012-08-08 11:18:52 +03:00
Alexey Spizhevoy
8c3984c5ff Refactored the DP based seam finder 2012-08-07 23:55:06 +04:00
Alexander Mordvintesv
7db1f711f6 Merge branch 'master' of code.opencv.org:opencv
Conflicts:
	samples/python2/common.py
	samples/python2/feature_homography.py
	samples/python2/plane_ar.py
	samples/python2/plane_tracker.py
2012-08-07 23:21:56 +03:00
Alexander Mordvintesv
647b1dd96c comment fixed 2012-08-07 23:19:13 +03:00
Alexander Mordvintesv
a29be81d77 typo fix in features_homography.py 2012-08-07 21:37:46 +03:00
Alexander Mordvintesv
0998669d26 Revert "fixed LshIndex types in its constructor"
This reverts commit 54d68da8e7.
2012-08-07 21:37:19 +03:00
Alexander Mordvintesv
0adf68ae62 work on #2100: pyopencv_to functions now can receive argument information through ArgInfo structure. Non-contiguous input numpy arrays are copied. In case of non-contiguous output array the TypeError is thrown. 2012-08-07 21:03:17 +03:00
Vadim Pisarevsky
e2eb81bcb2 Merge remote-tracking branch 'origin/master' 2012-08-07 18:17:49 +04:00
marina.kolpakova
fc8c65ff15 HAVE_CUDA macro 2012-08-07 18:23:18 +04:00
marina.kolpakova
8e274c886c Greedy Labeling implementation in correctness test 2012-08-07 18:23:18 +04:00
marina.kolpakova
e8e7b94443 test fix 2012-08-07 18:23:18 +04:00
Vadim Pisarevsky
36d3bbff8b added description of FAST 5/8 and FAST 7/12 (by Vincent) 2012-08-07 18:17:30 +04:00
Vadim Pisarevsky
bcb499328d Merge remote-tracking branch 'origin/master' 2012-08-07 18:00:10 +04:00
Andrey Kamaev
8aa2d6cddc Fix several documentation build warnings 2012-08-07 18:00:09 +04:00
Vadim Pisarevsky
4b5f948307 added SSE2-optimized 3x3 invert by Grigoriy Frolov 2012-08-07 17:59:52 +04:00
Andrey Pavlenko
c1571e21ff android tutorial v2, initial draft commit 2012-08-07 17:27:48 +04:00
alexey.spizhevoy
43d46c0e8b Minor fix in the DP based seam estimator 2012-08-07 16:24:21 +04:00
alexey.spizhevoy
7222f2724f Fixed bug 2012-08-07 16:24:21 +04:00
alexey.spizhevoy
85d1c463b9 Minor changes 2012-08-07 16:24:21 +04:00
alexey.spizhevoy
897c2bbd14 Added support of 8UC3 2012-08-07 16:24:21 +04:00
alexey.spizhevoy
a39bce204d implemented DP-based seam estimation method 2012-08-07 16:24:21 +04:00
Vladislav Vinogradov
cd58b7e154 Merge branch 'master' of code.opencv.org:opencv 2012-08-07 16:09:04 +04:00
Vladislav Vinogradov
76d46e20de fixed build with CUDA 4.2 2012-08-07 16:08:22 +04:00
Andrey Kamaev
ce9b97c78c Fixed number of svn->git migration issues 2012-08-07 14:32:57 +04:00
Andrey Kamaev
5100ca7508 svn repository web references are replaced with links to git 2012-08-07 14:30:36 +04:00
Andrey Kamaev
a3527fc4d8 Add git support to run.py 2012-08-07 14:30:36 +04:00
Andrey Kamaev
bd33e166d0 Use git hash instead of svn version in cmake status report 2012-08-07 14:30:36 +04:00
Andrey Kamaev
1852cb7eab Fix tegra build warnings 2012-08-07 14:29:51 +04:00
Vladislav Vinogradov
8624d18ca5 new implementation of gpu debayer
* without border extrapolation
* with aligned write
* process 4 pixels per thread in 8u case
2012-08-07 13:34:11 +04:00
Vladislav Vinogradov
5ce896d9ee added perf tests for new gpu::cvtColor functions 2012-08-07 13:34:11 +04:00
Vladislav Vinogradov
b0461db43f added missed device synchronization 2012-08-07 13:34:11 +04:00
Vladislav Vinogradov
7b025474e2 added debayer to gpu::cvtColor 2012-08-07 13:34:11 +04:00
marina.kolpakova
c0d3adef25 intervales for vector type support 2012-08-07 13:22:41 +04:00
marina.kolpakova
0bf10c9a47 added connectivityMask calculation function 2012-08-07 13:22:41 +04:00
marina.kolpakova
a9764dd910 fixed not defined macro warningds 2012-08-07 13:22:41 +04:00
marina.kolpakova
51433a9331 C.C. Labeling: added stream support 2012-08-07 13:22:41 +04:00
marina.kolpakova
350621057f connected components labeling 2012-08-07 13:22:41 +04:00
marina.kolpakova
2c8d11071c minor in license file 2012-08-07 13:22:41 +04:00
Vadim Pisarevsky
0d5c694ec4 Merge remote-tracking branch 'origin/master' 2012-08-07 12:54:22 +04:00
yao
c03ac12fcd Add dft and gemm to ocl module, using AMD's clAmdFft and clAmdBlas libraries 2012-08-07 16:33:46 +08:00
yao
7741d585f5 Merge branch 'master' of git://code.opencv.org/opencv 2012-08-07 08:37:38 +08:00
Andrey Kamaev
50d13ba5c4 Fixed xml name generation in run.py 2012-08-06 19:10:55 +04:00
Andrey Kamaev
9981b283a6 Fixed build warnings (including error in FAST) 2012-08-06 19:10:55 +04:00
Andrey Kamaev
fdc48abd18 Added ignore for tbb source tarballs 2012-08-06 19:10:55 +04:00
Andrey Kamaev
bc227ab075 Intermediate files generated by Android toolchain are moved into CMakeFiles subfolder 2012-08-06 19:10:55 +04:00
Alexander Mordvintesv
a717b7cbed Merge branch 'master' of code.opencv.org:opencv 2012-08-06 17:17:13 +03:00
Vadim Pisarevsky
2013118971 new/improved Python samples by Alexander Mordvintsev 2012-08-06 16:35:35 +04:00
yao
7d97e8112a fix bugs in tests, set device for each test case
Signed-off-by: yao <bitwangyaoyao@gmail.com>
2012-08-06 15:51:27 +08:00
yao
505cda43d1 Merge branch 'master' of git://code.opencv.org/opencv 2012-08-06 15:01:21 +08:00
yao
0db69fbe19 Add blend, columnsum, pyrUp/down, matchTemplate for ocl module 2012-08-06 15:00:27 +08:00
Philipp Wagner
9db42aca04 Issue #2232: Bugfixes for 64bit Python-compability. 2012-08-06 01:37:43 +02:00
Philipp Wagner
2c2d6fa5fd Issue #2231: Attempt to fix segfault, when copying labels. LDA needed to be updated to generate the Wrapper correctly. 2012-08-06 01:14:51 +02:00
Alexander Mordvintesv
d9dc02541a Added descriptions to PlaneTracker samples 2012-08-05 10:20:42 +03:00
Alexander Mordvintesv
353c69e017 created PlaneTracker (int plane_tracker.py), which implements multitarget planar tracking
rewritten feature_homography.py using it
added plane_ar.py - simple augmented reality sample
2012-08-03 22:17:11 +03:00
Alexander Mordvintesv
2ea3dd391a Merge branch 'master' of code.opencv.org:opencv 2012-08-03 19:21:10 +03:00
Evgeny Talanin
064d022a4b Set correct path to repo in python tests (changed after migration to git) 2012-08-03 17:50:55 +04:00
Vadim Pisarevsky
9c0f556d88 fixed a few compile warnings and errors with VS2010. 2012-08-03 17:12:45 +04:00
andrey.kamaev
5b4297cccf Android CMake toolchain is updated for NDK r8b 2012-08-03 17:00:46 +04:00
Vadim Pisarevsky
310b1ad7b9 moved parallel_for_ and ParallelLoopBody to core.hpp 2012-08-03 16:41:00 +04:00
Vadim Pisarevsky
fd9069422a Merge remote-tracking branch 'origin/master' 2012-08-03 16:14:38 +04:00
yao
687d7639a8 Merge branch 'master' of git://code.opencv.org/opencv 2012-08-03 15:44:15 +08:00
niko
3180bbe3a8 Merge branch 'master' of git://code.opencv.org/opencv 2012-08-03 14:09:04 +08:00
niko
8eeacc8cc8 performance and bug fix for addWeighted cartToPolar div exp log resize setTo
add channel 3 support
add fast way Between CPU and GPU for the data which is aligned
2012-08-03 14:08:36 +08:00
Ilya Lavrenov
27c2aa3a4e parallel version of bilateral filter was implemented using parallel_for_ 2012-08-02 16:25:30 +04:00
marina.kolpakova
8d73bbb8b7 fixed 2228 2012-08-02 13:18:55 +04:00
yao
1eedcea58d for test
Signed-off-by: yao <bitwangyaoyao@gmail.com>
2012-08-02 11:34:11 +08:00
Alexander Mordvintesv
ffa8c32348 work on feature_homography.py: multiple targets 2012-08-01 21:41:03 +03:00
Philipp Wagner
989631c5cc facerec.cpp: Removed Original LBP wrapper, because it is not in use and therefore generates a warning. 2012-07-31 21:54:48 +02:00
Philipp Wagner
4a4f90c406 facerec.cpp: Added an exception to the LBP extraction, so now a meaningful exception is thrown if the wrong image type was given. Thanks to Eric Christiansen for reporting. 2012-07-31 21:50:46 +02:00
Vadim Pisarevsky
fac3d9994c integrated another portion of SSE optimizations from Grigory Frolov 2012-07-31 19:07:55 +04:00
Vadim Pisarevsky
5f2ce22fbf Merge remote-tracking branch 'origin/master' 2012-07-31 17:18:35 +04:00
Vadim Pisarevsky
640408ebe7 added FAST<5/8> & FAST<7/12> (by Vincent Rabaud) 2012-07-31 17:17:58 +04:00
Andrey Pavlenko
73f95e59f3 Tegra3 package support enabled; Service version code incremented.
Android 4.1.1 native camera fix (shared libraries for native Android camera updated).
2012-07-31 15:22:58 +04:00
Alexander Smorkalov
d0608c2cd4 Shared libraries for native Android camera updated. 2012-07-31 13:20:36 +04:00
Alexander Smorkalov
f1e3bc850b Warning fix. ifdefs for 4.1.1 added. 2012-07-31 13:20:36 +04:00
Alexander Smorkalov
7d63f9f680 Android 4.1.1 native camera fix. BufferQueue class is used instaed of Surface texture. Includes in cmake updated. 2012-07-31 13:20:36 +04:00
Vladislav Vinogradov
b43cec3301 added gpu::graphcut for float sources (CUDA 5.0) 2012-07-31 12:46:04 +04:00
Vladislav Vinogradov
4f99f69a29 added gpu alpha premultiplication 2012-07-31 12:46:04 +04:00
Vladislav Vinogradov
79d0dc25f4 added gpu RGB<->Lab and BGR<->Luv conversions 2012-07-31 12:46:04 +04:00
Vladislav Vinogradov
051adcb786 added gpu BGR<->Lab and RGB<->Luv color conversion and gammaCorrection 2012-07-31 12:46:04 +04:00
Andrey Pavlenko
484e83a9b6 minor update (pictures resize removed, emulator screen-shot downscaled) 2012-07-31 12:31:23 +04:00
Philipp Wagner
40e65b9603 facerec_demo.py: Updated contact mail address. 2012-07-30 19:31:49 +02:00
Philipp Wagner
62a8f6783e FaceRecognizer supports updating a model now. Documentation has been updated to reflect latest changes. 2012-07-30 19:31:10 +02:00
Vadim Pisarevsky
b9d7c712f5 made countNonZero SSE code SSE2-compliant and portable 2012-07-30 16:02:49 +04:00
Alexander Mordvintsev
72a4f1924d feature_homography.py:
building descriptor index on target capture
simple AR experiment (work in progress)
2012-07-30 12:39:41 +04:00
Andrey Pavlenko
dea7f92c86 updating URL to Android info start page 2012-07-30 10:39:59 +04:00
Andrey Pavlenko
e2b9c65b35 updating README content 2012-07-30 10:36:23 +04:00
niko
cf04fed369 fix the compilation bugs 2012-07-30 14:34:36 +08:00
Philipp Wagner
c0a4105467 facerec_demo.py: Shortened code. Final version. 2012-07-30 02:24:39 +02:00
Philipp Wagner
4a7e29b3f4 facerec_demo.py: Reworked demo to remove all matplotlib dependencies. 2012-07-30 02:18:27 +02:00
Philipp Wagner
508a029dae Moved the facerec_demo.py to the wrong directory. Now moved to the python2 folder. 2012-07-30 01:18:58 +02:00
Philipp Wagner
1454f3d391 Added the facerec_demo.py to show how to perform Face Recognition with the Python module. 2012-07-30 01:16:38 +02:00
Philipp Wagner
f29d73fe86 Updated the train method to be an InputArrayOfArrays, so the Python wrapper now generates the correct code (and it works). 2012-07-29 23:51:12 +02:00
Philipp Wagner
b2deab2175 Updated the documentation to (1) reflect the latest changes and (2) answer some questions I were asked. 2012-07-29 23:16:51 +02:00
Philipp Wagner
5983f8008f Fixed facerec_eigenfaces.cpp demo sample: it contained hardcoded values, which made wrong element access possible. Fixed unsigned integer/signed integer warnings in facerec.cpp. 2012-07-29 22:41:40 +02:00
Philipp Wagner
f160c49473 Merge branch 'master' of git://code.opencv.org/opencv 2012-07-29 22:20:48 +02:00
Philipp Wagner
79b45b1392 Bug #2214: Fixed bug, when calling the train method multiple times. The Eigenfaces and Fisherfaces method now re-estimate the model, the LBPH method appends the new data to the existing model. 2012-07-29 22:20:07 +02:00
Josh Doe
f1690557bf core/stat: fix build with 32-bit
Optimization introduced in b782d8bb only works for 64-bit builds, but
ifdef failed to check for this.
2012-07-29 14:48:21 -04:00
Alexander Mordvintesv
f8facadc67 print description in mosse.py 2012-07-29 17:24:47 +03:00
Alexander Mordvintesv
f6191cc5bb added MOSSE sample 2012-07-29 17:21:49 +03:00
Alexander Mordvintesv
0f9bbf85e5 spelling corrections, added aero images as a more impressive example for
ASIFT
2012-07-29 16:26:22 +03:00
Alexander Mordvintesv
88a9f8f919 spelling corrections, added aero images as a more impressive example for
ASIFT
2012-07-29 16:15:44 +03:00
marina.kolpakova
22673c161a fixed 2212 2012-07-28 13:05:40 +04:00
marina.kolpakova
4869e846f3 partly merged with sbromle/opencv fixes branch 2012-07-27 13:09:53 +04:00
Eric Christiansen
f08996bd37 asserted in LBPH code that images must have a single channel 2012-07-26 16:55:54 -07:00
Sam Bromley
8506ce06c1 Fix missing remainder of line. 2012-07-26 12:46:51 -02:30
Sam Bromley
fd98520d78 Protect check of CV_SSE4_2 with #if defined. 2012-07-26 12:43:56 -02:30
OpenCV Buildbot
8f41f592d7 update FFMPEG wrapper binaries 2012-07-26 19:11:14 +04:00
Sam Bromley
966a652142 Fix crash when polling for non-existent Kinects.
If no Kinects are present, crash can result from
stepping beyond end of device list. Now we check
to ensure this does not happen.
2012-07-26 12:36:21 -02:30
Sam Bromley
49b55a7245 Protect check for _MSC_VER with #if defined. 2012-07-26 12:35:21 -02:30
Vadim Pisarevsky
318151d75b added gitignore to filter out certain temporary files 2012-07-26 17:11:00 +04:00
Anatoly Baksheev
acd19fe36c test7 2012-07-25 22:20:41 +04:00
Andrey Pavlenko
de90033e93 test 2012-07-25 18:26:07 +04:00
Anatoly Baksheev
29fee9cab3 test2 2012-07-25 18:11:07 +04:00
Anatoly Baksheev
2b0c0e71bb test 2012-07-25 18:05:39 +04:00
Maria Dimashova
a39cf2dd28 updated doc on triangulatePoints (#2167) 2012-07-25 17:51:37 +04:00
marina.kolpakova
e1e0c46639 integrated patch: HOG confidence calculation. Thanks, Wongun. 2012-07-25 15:26:26 +04:00
marina.kolpakova
4fa282e1a9 fixed SURf according to clockwise descriptor convention 2012-07-25 13:08:05 +04:00
marina.kolpakova
afc0cf8c4e fixed surf for upright case 2012-07-25 12:21:35 +04:00
marina.kolpakova
fdfa402428 fixed surf for upright case 2012-07-25 12:19:08 +04:00
marina.kolpakova
cf92e4b4e0 Merge branch 'master' of git://5.9.49.245/opencv 2012-07-25 08:33:51 +04:00
marina.kolpakova
51f7a3ca81 fixed #2190 2012-07-25 08:32:14 +04:00
Andrey Pavlenko
794b07ba11 removing unused files 2012-07-24 23:58:52 +04:00
Andrey Pavlenko
e16ae33a17 removing unused file 2012-07-24 23:55:14 +04:00
Andrey Pavlenko
e1c7bcab3a minor updates to android tutorials 2012-07-24 19:04:38 +04:00
Maria Dimashova
6b7470f683 fixed gcc compilation 2012-07-24 18:25:46 +04:00
Andrey Pavlenko
39554ead21 updating README content 2012-07-24 17:59:55 +04:00
Maria Dimashova
c5dbc06158 fixed bilateralFilter on uniform CV_32F image 2012-07-24 17:51:20 +04:00
Vadim Pisarevsky
b782d8bb53 integrated patch with some SSE2/SSE4.2 optimizations from Grigory Frolov 2012-07-24 17:24:31 +04:00
Maria Dimashova
54d68da8e7 fixed LshIndex types in its constructor 2012-07-24 17:09:24 +04:00
Anatoly Baksheev
1efb3c8235 test 2012-07-24 14:13:43 +04:00
marina.kolpakova
1b7ad93dc9 LBP features integrated in CascadeClassifier_GPU 2012-07-24 13:51:35 +04:00
marina.kolpakova
2dc93574e1 LBP: switched to PImpl pattern 2012-07-24 13:41:19 +04:00
marina.kolpakova
6c3eeb7d7c removed division 2012-07-24 13:35:04 +04:00
marina.kolpakova
8fb1f4093b removed unused code 2012-07-24 13:26:53 +04:00
Maria Dimashova
29f86df585 merged with r9002 (fix for SURF descriptor) 2012-07-17 14:24:54 +00:00
Marina Kolpakova
e63ab8dec5 LBP: multiscale approach; refactored atomics usage 2012-07-17 08:27:34 +00:00
Niko Li
5dc7752d54 fix a bug of detect opencl 2012-07-17 06:49:32 +00:00
Vadim Pisarevsky
9f4efab40a merged ocl module from ocl branch (it's not quite usable yet; at least on Mac) 2012-07-16 17:08:14 +00:00
Maria Dimashova
cfeb28f2ba fixed tests for scale invariance (uncommented sift test, it's ok now) 2012-07-16 16:21:40 +00:00
Alexander Mordvintsev
ea96047f78 small doc fix 2012-07-16 14:17:39 +00:00
Alexander Mordvintsev
200357fdf4 window name changed 2012-07-16 14:16:36 +00:00
Maria Dimashova
2556bb04f0 changed tests for rotation/scale invariance of descriptors 2012-07-16 13:01:55 +00:00
Alexander Mordvintsev
ad7a6ec41f correct unknown feature report in find_obj.py 2012-07-16 12:31:56 +00:00
Alexander Mordvintsev
3ce5b01543 added asift.py sample 2012-07-16 12:29:49 +00:00
Alexander Mordvintsev
99e404fe86 moving data used by sample into a separate folder
small fix in find_obj.py
2012-07-16 11:46:05 +00:00
Alexander Mordvintsev
8610ff1b4d find_obj.py allows to select detector and matcher and explore matching pairs 2012-07-16 11:31:43 +00:00
Maria Dimashova
63d8eedc51 changed the way of HARRIS creation 2012-07-16 09:26:02 +00:00
Maria Dimashova
839761fa3d fixed #2167 2012-07-16 09:00:25 +00:00
Maria Dimashova
5112d74cad revert my incorrect fix of #2167 2012-07-16 08:02:50 +00:00
Alexander Smorkalov
ddcc839519 Tegra3 package support enabled;
Version code incremented;
2012-07-16 07:56:12 +00:00
Maria Dimashova
d65920d2f7 fixed #2167 2012-07-15 19:10:52 +00:00
Maria Dimashova
ec23d9bb5e added tests on scale invariance of detectors and descriptors 2012-07-15 17:42:41 +00:00
Andrey Pavlenko
9f4c5afbbb merging r9039-9040,9044 from trunk (warnings and message in Java) 2012-07-15 13:20:38 +00:00
Andrey Pavlenko
dc68a56bab fixing wording 2012-07-15 05:51:29 +00:00
Marina Kolpakova
336dcbcff7 fixed brocken tests by classifier loger from r9027 2012-07-15 04:11:46 +00:00
Maria Dimashova
e4e00498a8 fixed typo in test class names 2012-07-14 20:32:31 +00:00
Maria Dimashova
0c6480d89b added tests to check rotation invariance of descriptors (features2d and nonfree) 2012-07-14 20:03:07 +00:00
Andrey Pavlenko
92e6aa5f17 customizing the 'Google Market error' message in samples 2012-07-14 19:49:00 +00:00
Andrey Pavlenko
4e4db94b6b removing warnings on deprecated api when targeting to android-15+ 2012-07-14 19:07:27 +00:00
Anatoly Baksheev
a2430afcac minor LBP for GPU 2012-07-14 16:23:56 +00:00
Maria Dimashova
5120d690f0 fixed nonfree rotation invariance tests for detectors 2012-07-14 16:07:48 +00:00
Maria Dimashova
2c0455da17 changed sift angles according to KeyPoint::angle specification in r9034 2012-07-14 16:02:45 +00:00
Marina Kolpakova
b9e53ec8ea fixed build after r9027 2012-07-14 15:50:49 +00:00
Maria Dimashova
6dc5cd15ed specified KeyPoint::angle in rst doc and code comment 2012-07-14 15:36:35 +00:00
Anatoly Baksheev
bfe6e2c4b1 minor in LBP for GPU 2012-07-14 15:36:25 +00:00
Maria Dimashova
eb119959e8 fixed features2d rotation invariance tests 2012-07-14 15:05:41 +00:00
Maria Dimashova
c94974ccb3 fixed mser (angle is -1 now) 2012-07-14 15:03:39 +00:00
Maria Dimashova
2bd86e2541 fixed compile errors under win 2012-07-14 13:25:41 +00:00
Alexander Mordvintsev
7bbc42127e refactored find_obj.py sample:
- handle bad matching case
- use BFMatcher and FlannBasedMatcher (and thus fixing a bug: L2^2 metric was used for flann)
2012-07-13 20:27:54 +00:00
Maria Dimashova
30c611f1d5 added tests to check rotation invariance of detectors 2012-07-13 18:03:20 +00:00
Anatoly Baksheev
9706079ace a bit refactoring in LBP face detection on GPU 2012-07-13 15:47:09 +00:00
Marina Kolpakova
fb3d6ecb98 merged documentation and android service from trunk 2012-07-13 14:27:09 +00:00
Andrey Kamaev
bb51626573 Build pdf for Android Manager documentation 2012-07-13 13:00:29 +00:00
Andrey Pavlenko
be2457c249 removing 'module' directive to eliminate "PYTHON MODULE INDEX" page in PDF 2012-07-13 08:39:31 +00:00
Maria Dimashova
722df6a998 minor change in doc 2012-07-13 06:00:30 +00:00
Maria Dimashova
438c1444eb added test to check keypoints returned by FeatureDetector (center, size, angle) 2012-07-12 17:52:49 +00:00
Maria Dimashova
017895dd93 filtered MSER keypoints that have centers out of image 2012-07-12 17:51:12 +00:00
Vincent Rabaud
fbf1973bac backport 9018 2012-07-12 16:04:51 +00:00
Vincent Rabaud
3df72fe669 fix gcc C++11 bug mentioned in http://answers.opencv.org/question/283 . Bug also fixed in FLANN upstream 2012-07-12 16:02:02 +00:00
Maria Dimashova
507f546158 split file of features2d tests 2012-07-12 13:57:17 +00:00
Alexander Smorkalov
76fdbeee8a Tegra detector fixed;
Some aditional logs added;
AndroidManifest version incremented.
2012-07-12 13:12:16 +00:00
Maria Dimashova
69296c3333 fixed #2165 2012-07-12 12:32:54 +00:00
Maria Dimashova
d38f694275 fixed CvBoost in mll if no tree can be trained. 2012-07-12 12:29:50 +00:00
Alexander Mordvintsev
65e2350606 work on digits_video.py 2012-07-12 11:51:27 +00:00
Alexander Smorkalov
9f0a16c844 HW compatibility tests added;
Arm-v7a neon package support enabled.
2012-07-12 11:50:40 +00:00
Andrey Pavlenko
76cb051082 better wording 2012-07-12 09:21:39 +00:00
Andrey Pavlenko
06a4553a4f minor upd. (formatting and wording) 2012-07-12 09:21:36 +00:00
Andrey Pavlenko
f6a4350ddd updating wording and initDebug() descr 2012-07-12 09:21:32 +00:00
Andrey Pavlenko
cacf1d1ed3 adding java api ref. to top-level index 2012-07-12 09:21:29 +00:00
Marina Kolpakova
58c67ccfea improved LBP indexing 2012-07-12 08:50:41 +00:00
Marina Kolpakova
965109228d added delobal memory version 2012-07-12 08:50:36 +00:00
Alexander Smorkalov
422f650b20 Package name logic improved;
Aditional tests added;
Some bug fixes with different __SUPPORT_XXX defines.
2012-07-12 08:02:41 +00:00
Marina Kolpakova
2aacff4c39 swithed to the fixed size thread block 2012-07-12 07:11:26 +00:00
Alexander Mordvintsev
c5669448a3 work on features2d python interface 2012-07-11 17:13:43 +00:00
Alexander Mordvintsev
ffd283b7d5 fixed SURF orientations, broken in r8892
(see also r8895, r8887 and #2043)
2012-07-11 16:26:52 +00:00
Maria Dimashova
0b4e96d89c updated thresholds in EM test after cv::EM fixing 2012-07-11 13:52:19 +00:00
Maria Dimashova
75e0eeab17 fixed #2160 2012-07-11 13:51:36 +00:00
Alexander Smorkalov
ed0a158cc1 Unit tests updated. Version and HW compatiblity tests added;
Tegra3, neon, sseX, x64 support uncomment and guarded by ifdefs.
2012-07-11 13:30:41 +00:00
Maria Dimashova
994f8710f3 fixed #2159 2012-07-11 13:26:58 +00:00
Maria Dimashova
7c211796e7 more doc details for #2152 2012-07-11 13:23:18 +00:00
Andrey Pavlenko
5ec9909b71 updating include dirs to make CDT project in Eclipse happy 2012-07-11 13:12:37 +00:00
Marina Kolpakova
3c2691ef96 LBP: minor changes 2012-07-11 12:22:28 +00:00
Marina Kolpakova
ed1b293d34 refactored GPU LBP cascade. Added support for big images. Fixed bug in connected components function 2012-07-11 12:22:22 +00:00
Maria Dimashova
469ec7c522 fixed vfw (#2156) 2012-07-11 09:04:25 +00:00
Maria Dimashova
bc3fb347a3 fixed #2155 2012-07-11 08:41:09 +00:00
Maria Dimashova
e68b26e71f fixed doc #2152 2012-07-11 08:05:06 +00:00
Alexander Mordvintsev
84281d284e mdot function in common.py 2012-07-11 05:07:00 +00:00
Vincent Rabaud
185673e9e2 backoprt 8987 2012-07-10 19:09:25 +00:00
Vincent Rabaud
c52d620817 update the docs for cvExtractSURF and initModule_nonfree() 2012-07-10 19:09:00 +00:00
Marina Kolpakova
86d785622b LBP: switched to texture implementation 2012-07-10 11:58:15 +00:00
Marina Kolpakova
b0606b0557 LBP classifer moved to ptr from DevMem2D 2012-07-10 11:58:10 +00:00
Marina Kolpakova
436d2ff1fc LBP classifer moved to ptr from DevMem2D 2012-07-10 11:58:06 +00:00
Andrey Kamaev
c474e27c1d One more fix for zlib search #1902 2012-07-09 19:16:38 +00:00
Leonid Beynenson
6d3db49932 Changed DetectionBasedTracker a bit to make its method addObject to return an integer value -- the id of the new added object. 2012-07-09 14:37:12 +00:00
Alexander Mordvintsev
d9478252e9 show detected keypoints in feature_homography.py 2012-07-09 12:19:59 +00:00
Andrey Kamaev
a5b60fa532 Fixed typo in Java wrapper for FetauresDetector class 2012-07-09 10:52:28 +00:00
Andrey Kamaev
3869d38671 fixed typo in SURF detector #2149 2012-07-09 10:47:09 +00:00
Marina Kolpakova
d88bbb3d9d fixed undefined behaviour in image codecs initialization 2012-07-08 18:26:28 +00:00
Marina Kolpakova
8c9a9f1c94 fixed documentation missmatch for ORB 2012-07-08 18:26:23 +00:00
Marina Kolpakova
33d95642d3 fixed documentation missmatch for polylines function 2012-07-08 18:26:18 +00:00
Marina Kolpakova
f094983d49 reduced the number of registers used in the LBP responce operator 2012-07-08 18:26:13 +00:00
Marina Kolpakova
09269b4cd8 fixed backward compatibility with less than 1.2 CUDA capability 2012-07-07 21:48:53 +00:00
Philipp Wagner
3ac6272c3b Grammar and Formatting fixes. Added link to the Yale Facedatabase A. Added download directive links for linking to the sample source code samples. 2012-07-06 20:42:02 +00:00
Alexander Mordvintsev
a2c3c1800a new feature_homography.py sample 2012-07-06 15:42:42 +00:00
Alexander Mordvintsev
c6705fbe20 exposed ORB features to python 2012-07-06 15:41:57 +00:00
Marina Kolpakova
66aff45e96 fixed #2130 2012-07-05 20:55:55 +00:00
Andrey Kamaev
e900952b87 quiet most of the OSX build warnings 2012-07-05 12:56:31 +00:00
Andrey Kamaev
b712bbe9a5 Android: updated default TBB version to 4.0 update 5 2012-07-05 09:22:52 +00:00
Andrey Kamaev
620d122fc2 Contrib module is added to java wrappers; fixed algorithm initialisation for python bindings 2012-07-05 07:58:40 +00:00
Andrey Kamaev
b1eba01afb Fixed several mistakes in documentation 2012-07-05 07:30:45 +00:00
Andrey Kamaev
5f8715c8b4 Fixed file globbing in documentation parsers 2012-07-05 05:11:15 +00:00
Vadim Pisarevsky
acf356b080 added contrib module support in Python wrappers (thanks to Eric Christiansen) 2012-07-04 17:59:14 +00:00
Marina Kolpakova
bc83011736 removed unnecessary memory allocation in LBP classifier 2012-07-04 16:03:48 +00:00
Marina Kolpakova
eb599f6832 added checking destination matrix size for resize and integral functions 2012-07-04 16:03:43 +00:00
Marina Kolpakova
6c0af66fd8 removed unused class filds 2012-07-04 16:03:40 +00:00
Marina Kolpakova
e496345d33 added lbp cascade test, fixed race conditions problems 2012-07-04 12:11:16 +00:00
Marina Kolpakova
248f39e13e added performance test for LBP classifier. 2012-07-04 12:11:07 +00:00
Alexander Smorkalov
a9718cc79f Messages updated. Samples rebuild is needed. 2012-07-04 09:55:00 +00:00
Andrey Kamaev
51f6127e0a Merged the recent fixes from 2.4 branch 2012-07-04 08:04:31 +00:00
Marina Kolpakova
4128d5782f added hipotesis filtration 2012-07-04 04:51:09 +00:00
Marina Kolpakova
a53f0f397e LBP classifier: tracking of count of detected objects was moved in cascadeclassifier.cpp 2012-07-04 04:51:00 +00:00
Alexander Shishkov
0ee2662da6 updated docs theme 2012-07-03 15:37:49 +00:00
Andrey Kamaev
bd394012e8 Eliminated discrepancy between SSE and non-SSE versions of bilinear resize 2012-07-03 11:30:17 +00:00
Andrey Kamaev
aa4cad80a0 Fixed opponent space color conversion 2012-07-03 11:01:56 +00:00
Andrey Kamaev
cfc593eb0d Fixed run.py bugs 2012-07-02 21:07:32 +00:00
Maria Dimashova
b528348f39 fixed #2118 2012-07-02 20:21:34 +00:00
Philipp Wagner
927523bc3d Bug 2129: Fix for missing citations in FaceRecognizer documentation. 2012-07-02 18:43:20 +00:00
Andrey Kamaev
a4ec89fb2c Merged version references fix 2012-07-02 15:41:14 +00:00
Maria Dimashova
249bf008ab fixed #1834 2012-07-02 14:50:28 +00:00
Andrey Kamaev
df262b340c Fixed #2125 2012-07-02 14:20:59 +00:00
Andrey Pavlenko
eaddfb32de updating tutorial 2012-07-02 14:10:06 +00:00
Alexander Mordvintsev
1543b46383 HoG and Hellinger-metric preprocess for digit recognition
line breaks in fitline.py description
2012-07-02 13:49:36 +00:00
Andrey Kamaev
efe139667b Fixed Android package dependencies 2012-07-02 13:26:51 +00:00
Andrey Kamaev
08890118db Fixed Android package dependencies 2012-07-02 13:19:46 +00:00
Andrey Kamaev
4216f3b24c Fixed Android package dependencies 2012-07-02 13:17:12 +00:00
Andrey Pavlenko
e2e6838da3 adding CDT Builder (via ndk-build.cmd) for JNI part 2012-07-02 13:15:16 +00:00
Vadim Pisarevsky
a1bc11c429 fixed typo in minMaxIdx description (ticket #2081) 2012-07-02 12:59:02 +00:00
Alexander Shishkov
76a644372f update FFMPEG wrapper binaries 2012-07-02 12:49:18 +00:00
Maria Dimashova
52ba2e45c4 removed obsolete parameter 'time' in regression test for descriptors 2012-07-02 12:44:41 +00:00
Maria Dimashova
9cd0c9033f fixed angles of SURF detector 2012-07-02 12:32:14 +00:00
Andrey Kamaev
565a8dc30d Fixed automatic temporary files cleaning with run.py on Windows 2012-07-02 12:23:57 +00:00
Maria Dimashova
ad6929b6a4 removed y-axis inversion in drawKeypoints (FeatureDetector has to do this) 2012-07-02 12:04:00 +00:00
Maria Dimashova
0f21890d7d added test for opponent descriptor extractor 2012-07-02 11:58:17 +00:00
Andrey Pavlenko
600ad799c7 restoring binary compatibility with 2.4.1 2012-07-02 11:54:24 +00:00
Andrey Kamaev
5d6c90e166 Fixed bugs in facerec documentation 2012-07-02 11:46:17 +00:00
Marina Kolpakova
76354287aa fixed build without CUDA 2012-07-02 10:54:05 +00:00
Alexander Smorkalov
c80d205ecf OpenCV Library renamed. 2012-07-02 10:07:24 +00:00
Alexander Smorkalov
3a88fc5aa9 Android samples renaming was done. Icon updated. 2012-07-02 10:06:08 +00:00
Maria Dimashova
b3f68d29e7 fixed bow sample 2012-07-02 09:21:55 +00:00
Marina Kolpakova
319c20c797 result storing: atomic based 2012-07-02 08:08:17 +00:00
Marina Kolpakova
a9f2f522e7 LBP classifier was refactored, added parameter for max size of detected object 2012-07-02 08:08:11 +00:00
Marina Kolpakova
e6f7e4d83e GPU resize became same as CPU implementation 2012-07-02 08:08:02 +00:00
Marina Kolpakova
60b73e7471 gpu classifier default values became same as to cpu implementation 2012-07-02 08:07:55 +00:00
Marina Kolpakova
e7f5978768 classifier loading has been improved 2012-07-02 08:07:46 +00:00
Alexander Mordvintsev
83ccdbd0ce refactored digits_adjust.py (dataset preprocess in cloud) 2012-07-02 07:49:46 +00:00
Alexander Mordvintsev
6977a89525 descriptions for watershed.py and video.py 2012-07-02 04:44:31 +00:00
Alexander Mordvintsev
d015bf6f5e fitline.py sample added 2012-07-02 03:51:47 +00:00
Maria Dimashova
6042c59495 fixed #1764 2012-07-01 22:40:25 +00:00
Vadim Pisarevsky
31395b0759 added check for false bug report #2081 2012-07-01 21:29:50 +00:00
Vadim Pisarevsky
562838e0b5 partial fix for repeated algorithm registration (patch #2101 by Stephan Reuter) 2012-07-01 21:14:16 +00:00
Maria Dimashova
d56b771963 fixed #2082 2012-07-01 20:59:29 +00:00
Maria Dimashova
8f5b15b1c3 fixed compilation in msvc 2012-07-01 20:58:08 +00:00
Vadim Pisarevsky
e918877bcf fixed bug with uninitialized variable in cvGetOptimalNewCameraMatrix (patch #1731 by floemker) 2012-07-01 20:56:27 +00:00
Vadim Pisarevsky
7ef2114107 added fullscreen mode on Mac (patch #2040 by Takahiro Horikawa) 2012-07-01 20:25:24 +00:00
Vadim Pisarevsky
b5eb318ae3 added support of homogeneous points to calcCorrespondEpilines (ticket #2055) 2012-07-01 20:13:49 +00:00
Andrey Kamaev
dec38e5949 Background subtractor GMG: removed flexitype, fixed build errors. 2012-06-30 20:47:09 +00:00
Andrey Kamaev
afe11f69fb Fixed Windows build warnings and configuration problem. 2012-06-30 20:45:01 +00:00
Andrey Kamaev
27c23b557c Merged few small fixes from 2.4 branch 2012-06-30 13:36:27 +00:00
Marina Kolpakova
cdad4ac7c9 Merge branch 'home' 2012-06-30 09:29:33 +00:00
Leonid Beynenson
6d3fecd490 Fixed small bug in cv::Ptr<_Tp> conversion to cv::Ptr<_Tp2>. Now this conversion is made in a more accurate way. 2012-06-29 16:38:03 +00:00
Andrey Pavlenko
a72f4474b4 fixing bug #1987(android keeps RGBA in alpha pre-multiplied form, Mat <-> Bitmap should handle this correctly) 2012-06-29 15:38:10 +00:00
Andrey Kamaev
2b6b6f12e2 Debug message is turned off 2012-06-29 08:47:38 +00:00
Andrey Kamaev
0584ac525b Quiet MSER tests 2012-06-29 08:34:07 +00:00
Andrey Kamaev
71729a5967 opencv_ts is removed for java API 2012-06-29 08:11:20 +00:00
Andrey Kamaev
4d09d62f85 Added Ptr<T> support to AlgorithmInfo; fixed some warnings 2012-06-29 07:46:53 +00:00
Andrey Kamaev
a25c27ca05 Fixed windows build problems of BackgroundSubtractorGMG but code still need more work. 2012-06-28 20:42:26 +00:00
Vadim Pisarevsky
82cb2ab556 fixed bug in SVD, ticket #2027; fixed building highgui with ffmpeg support on MacOSX 2012-06-28 19:45:13 +00:00
Andrey Kamaev
5a2ba94dd6 Fixing parallel build for Android 2012-06-28 19:30:39 +00:00
Andrey Kamaev
2a2092092f Fixed Android build warnings in backgroundsubtractor_gbh 2012-06-28 18:11:10 +00:00
Vadim Pisarevsky
7c778fc043 fixed possible video distortion problem when cap_avfoundation.mm is used to capture video (ticket #1980) 2012-06-28 16:34:53 +00:00
Vadim Pisarevsky
e4b58ebff5 added GMG background segmentation algorithm by Andrew Godbehere, ticket #2065 2012-06-28 16:24:48 +00:00
Leonid Beynenson
35344569bf Added possibility in the class DetectionBasedTracker to work as a tracker only -- without the mainDetector.
In this case new objects will be added into it by the method addObject(const cv::Rect& location).
2012-06-28 16:07:10 +00:00
Vadim Pisarevsky
fd901d8323 fixed #2108 (thanks to Vincent for the report and proposed solution) 2012-06-28 15:52:34 +00:00
Andrey Kamaev
6a13c9efc0 Added cmake for building Android package 2012-06-28 13:42:08 +00:00
Leonid Beynenson
d822989c8b Added template method cv::Algorithm::set(const char* _name, const Ptr<_Tp>& value),
which allows to pass as the second parameter of the method set any cv::Ptr<_Tp> object.
2012-06-28 12:17:11 +00:00
Leonid Beynenson
00b02f9f6d Small addition change in the FileStorage sample. 2012-06-28 11:17:32 +00:00
Andrey Kamaev
e4965b143f Fixed discrepancy between SSE and regular baranches in FREAK 2012-06-28 11:08:11 +00:00
Andrey Kamaev
739da31add Fixed Android build with SDK tools revision 20 2012-06-28 11:06:31 +00:00
Leonid Beynenson
7fc18fe146 Added to the sample, demonstrating FileStorage, how to read/write data from/to std::string. 2012-06-28 10:32:34 +00:00
Andrey Pavlenko
42d830ec23 switching to dynamic linking 2012-06-28 07:51:19 +00:00
Andrey Kamaev
e8b0d27942 Fixed cvExtractSURF in case of no keypoints found #2076 2012-06-28 05:59:30 +00:00
Vadim Pisarevsky
d60b1f2f82 fixed bug #2106; added test 2012-06-27 20:51:48 +00:00
Vadim Pisarevsky
73ce3ef8c1 fixed ios framework build (ticket #2092) 2012-06-27 19:52:59 +00:00
Philipp Wagner
ea0b57cc23 API Link corrected. 2012-06-27 18:37:03 +00:00
Philipp Wagner
d636c677f4 API Link corrected. 2012-06-27 18:35:52 +00:00
Andrey Kamaev
6c3137a8b5 Fixed divide by zero problem in cvStereoRectify (thanks to Philip Van Valkenberg) #2099 2012-06-27 15:15:32 +00:00
Andrey Kamaev
f09ae32796 Fixed Mat::isContinuous for big matrix (thanks to Boris Mansencal) #2103 2012-06-27 14:19:35 +00:00
Andrey Kamaev
15e50420bc Fixed linux and android install 2012-06-27 13:52:29 +00:00
Alexander Mordvintsev
c6685bc9a7 improved recognition accuracy by better region normalization 2012-06-27 13:22:06 +00:00
Alexander Mordvintsev
60dd599aea discard digit's internal contours in digits_video.py 2012-06-27 12:42:21 +00:00
Andrey Pavlenko
8b67adea98 workarounding missing native part in Java tests 2012-06-27 12:38:57 +00:00
Andrey Kamaev
a323da6fd5 Fixed some warnings and install problems on linux 2012-06-27 12:02:31 +00:00
Alexander Mordvintsev
981564ffe9 work on digits_video.py 2012-06-27 10:09:45 +00:00
Alexander Mordvintsev
c71c82a8f1 work on digits_video.py 2012-06-27 09:46:04 +00:00
Andrey Kamaev
abde1377f3 Fixed mistake in documentation 2012-06-27 09:20:02 +00:00
Alexander Mordvintsev
b987154ebc digits_video.py prints warning if trained classifier (should be created by digits.py) not found 2012-06-27 08:29:22 +00:00
Andrey Pavlenko
3804ca3e20 changing package layout after 'make install' for Android build 2012-06-27 06:22:26 +00:00
Alexander Mordvintsev
6dffc5332d digits_video.py (VERY IMMATURE)
digits.py now saves the resulting SVM classifier for use in digits_video.py
2012-06-27 05:59:16 +00:00
Alexander Mordvintsev
13b30d7428 digits_adjust.py sample added 2012-06-27 05:51:24 +00:00
Alexander Mordvintsev
d636e1128b removed ANN digits recognition
added deskew for SVN and KNearest recognition sample
2012-06-27 04:29:15 +00:00
Philipp Wagner
f2e78eed8c Fixed wrong restructured text directive, when referencing to other documents. 2012-06-26 21:24:19 +00:00
Andrey Kamaev
69b5972e03 Fixed MSVC build with Qt enabled #2096 2012-06-26 21:05:15 +00:00
Philipp Wagner
a15d97b716 Added the cv::FaceRecognizer documentation (API, Face Recognition Guide, Tutorials). 2012-06-26 20:13:11 +00:00
Andrey Pavlenko
9efc1a689b fixing project properties 2012-06-26 15:25:00 +00:00
Andrey Pavlenko
ac6061ee8a hiding extra build-time messages 2012-06-26 13:42:10 +00:00
Alexander Smorkalov
b962bf75cf Sample3-native build fix. Dependency from OpenCV library project added. Scripts updated. 2012-06-26 13:24:12 +00:00
Alexander Smorkalov
369f2c4903 Color blob detection example updated for OpenCV Manager model. 2012-06-26 12:58:46 +00:00
Alexander Smorkalov
109e308763 Sample4-mixed was updated for OpenCV Manager model. 2012-06-26 12:57:43 +00:00
Alexander Smorkalov
0693073b98 Example3-native updated for OpenCV Manager model 2012-06-26 12:44:57 +00:00
Marina Kolpakova
bd500ff0f7 fixed LBP loader test 2012-06-26 12:44:27 +00:00
Alexander Smorkalov
521b89e69d Sample 2 was updated for OpenCV Manager model. 2012-06-26 12:31:04 +00:00
Alexander Smorkalov
207f4fc53c Sample 1 updated for OpenCV Manager model. 2012-06-26 12:26:42 +00:00
Vladislav Vinogradov
e7c35b1852 fixed bug in cv::gpu::HOGDescriptor::detectMultiScale 2012-06-26 12:24:48 +00:00
Alexander Smorkalov
7a858885e6 Image manipulations sample updated for OpenCV Manager model. 2012-06-26 12:20:35 +00:00
Marina Kolpakova
a743eca076 LBP features: GPU representation 2012-06-26 12:15:19 +00:00
Andrey Kamaev
55567582a6 added XIMEA support for linux (by Igor Kuzmin) #2085 2012-06-26 11:48:58 +00:00
Andrey Kamaev
f9418853a0 Applied XIMEA path (by Marian Zajko) with multiple changes #2054 2012-06-26 11:47:49 +00:00
Vladislav Vinogradov
e9e66e5796 added VIBE_GPU (background subtraction) to gpu module 2012-06-26 10:38:15 +00:00
Andrey Kamaev
0f8e271509 Fixing iOS detection in core persistence 2012-06-26 09:21:22 +00:00
Andrey Kamaev
dd7eeea118 Fixing cv::tempfile on Windows #2093 2012-06-26 09:07:37 +00:00
Andrey Kamaev
a142a3b78a Fixed Android Manager build 2012-06-26 08:48:45 +00:00
Andrey Kamaev
ecf6b5a87c Making all dependencies from highgui module optional 2012-06-26 07:29:36 +00:00
Alexander Smorkalov
700b685575 Revision 8725 restored. Android sample FaceDetection updated according DetectionBasedTracker interface. 2012-06-25 17:12:19 +00:00
Alexander Smorkalov
80febef237 revision 8721 vas merged to head. Detection based tracker interface changed. cpp and android samples updated. 2012-06-25 17:01:55 +00:00
Marina Kolpakova
915c81febf fixed build without CUDA 2012-06-25 16:52:54 +00:00
Marina Kolpakova
6801f475ad LBP: implemented first version of device side part 2012-06-25 16:39:50 +00:00
Marina Kolpakova
71f94e12fb LBP: implemented image data preparing 2012-06-25 16:39:45 +00:00
Marina Kolpakova
91ba48c5f9 added lbp related CUDA files 2012-06-25 16:39:40 +00:00
Marina Kolpakova
e637168e44 completed test: load LBP classifier 2012-06-25 16:39:34 +00:00
Marina Kolpakova
143c57064b LBP classifier represintation in GPU memory 2012-06-25 16:39:29 +00:00
Andrey Kamaev
4a0249f865 Minor update for zlib search 2012-06-25 16:03:45 +00:00
Vladislav Vinogradov
4ee236b1b6 added docs for MOG_GPU and MOG2_GPU 2012-06-25 13:19:55 +00:00
Andrey Kamaev
7b806f6008 fixed several documentation errors 2012-06-25 12:56:46 +00:00
Vladislav Vinogradov
d85ef03a42 added background subtraction sample for gpu module 2012-06-25 12:48:54 +00:00
Vladislav Vinogradov
3a4353f04d added FGDStatModel, MOG and MOG2 to gpu performance sample 2012-06-25 11:46:45 +00:00
Vladislav Vinogradov
ed8b6c798b copy 768x576.avi video to sample directory 2012-06-25 11:26:07 +00:00
Andrey Kamaev
d9c74f63e1 All tests writing temporary files are updated to use cv::tempfile() function 2012-06-25 11:24:06 +00:00
Andrey Kamaev
ec3a7665b0 Fixed FREAK on Android 2012-06-25 11:19:11 +00:00
Vladislav Vinogradov
acc031aaba added MOG_GPU and MOG2_GPU (Gaussian Mixture background subtraction) 2012-06-25 11:13:50 +00:00
Alexander Mordvintsev
d49c697fda added comments to contours.py and edge.py samples 2012-06-25 10:58:34 +00:00
Alexander Mordvintsev
a3220a446f added comment to letter_recog.py sample (adopted from c++ version) 2012-06-25 10:52:45 +00:00
Marina Kolpakova
5f6bbcc89a added test for GPU LBP cascade: load cascade 2012-06-25 08:46:34 +00:00
Andrey Pavlenko
715b0d181c adding missing images 2012-06-25 06:44:08 +00:00
Andrey Kamaev
1ee5c95ee9 Updated gtest to upstream rev616 2012-06-24 18:25:58 +00:00
Andrey Kamaev
cfa9aa9206 Search python libs exactly matching to python executable on cmake 2.8.9 and newer 2012-06-24 18:25:01 +00:00
Andrey Kamaev
84d62b69dc Fixed windows build of FREAK 2012-06-24 14:33:30 +00:00
Andrey Kamaev
bd901eb52d Reverted r8721 and r8725 (issue #2080) 2012-06-24 08:50:03 +00:00
Vadim Pisarevsky
74707ec7ae added FREAK (by Kirell Benzi, Raphael Ortiz, Alexandre Alahi and Pierre Vandergheynst) 2012-06-24 01:37:55 +00:00
Andrey Kamaev
a381b95e91 Fixed buggy NEON check inside flann 2012-06-22 16:10:43 +00:00
Andrey Pavlenko
cc54226e12 updating version 2012-06-22 15:19:03 +00:00
Andrey Pavlenko
cf88b9d00c workarounding service-related changes 2012-06-22 15:18:06 +00:00
Vadim Pisarevsky
87d1731714 added synonym CV_COMP_HELLIGNER for CV_COMP_BHATTACHARYAA to reflect the real formula used (bug report #2073) 2012-06-22 15:12:19 +00:00
Marina Kolpakova
1365e28a54 initial support of GPU LBP classifier: added new style xml format loading 2012-06-22 15:00:36 +00:00
Alexander Smorkalov
02170a0a58 Sample updated due to new DetectionBasedTracker interface. 2012-06-22 14:07:54 +00:00
Vadim Pisarevsky
0c65ea976a added the optional output maxima value to phaseCorrelate (patch #2071 by Robert Huitl) 2012-06-22 13:34:03 +00:00
Andrey Kamaev
511d09f587 Fixed tests broken by r8708 2012-06-22 08:36:29 +00:00
Andrey Pavlenko
2984fa751e adding OpenCV Manager 2012-06-21 14:50:05 +00:00
Alexander Smorkalov
a3be73b5cc revisions 8681 and 8688 restored. Warning fixed.
Warning: changes beak binary compatibility
2012-06-21 14:37:28 +00:00
Andrey Pavlenko
0a58d8f139 moving to OpenCVLoader API 2012-06-21 14:06:23 +00:00
Andrey Kamaev
5e0160d711 Fixed few warnings on Linux 2012-06-21 12:44:48 +00:00
Andrey Pavlenko
952b25f86f changing 'java' module layout 2012-06-21 11:44:31 +00:00
Andrey Kamaev
25f70e691a Fixed warnigs from zlib defines 2012-06-21 10:28:57 +00:00
Andrey Pavlenko
3af92a9d92 fixing warnings 2012-06-21 09:14:14 +00:00
Marina Kolpakova
b065c7a296 fixes for the newly added gcc warning keys 2012-06-21 03:48:36 +00:00
Andrey Kamaev
f6ef504ef0 Fixed few more warnings/bugs. 2012-06-20 21:09:27 +00:00
Andrey Kamaev
e94e5866a1 Fixed mingw build warnings 2012-06-20 17:57:26 +00:00
Andrey Kamaev
988c405f79 Fixed build with MSVC 2012-06-20 16:03:03 +00:00
Andrey Kamaev
d48d7b2b46 Updated warning options for GCC; fixed new warnings. 2012-06-20 12:27:02 +00:00
Andrey Pavlenko
779f4e39de adding JNI func-s declarations to eliminate build warnings inside Android tree 2012-06-20 08:58:30 +00:00
Andrey Pavlenko
2c786a47d0 fix for #2048 (artificial 'delete' method had wrong JNI signature) 2012-06-20 08:28:43 +00:00
Andrey Pavlenko
dc93c21962 fix for #2063 ( Mat(Mat m, Rect roi) returns wrong sub-mat) 2012-06-20 07:43:01 +00:00
Marina Kolpakova
43f2682e15 fixed build without CUDA 2012-06-20 07:30:19 +00:00
Marina Kolpakova
e7f6c4b7ef scan operations are moved in separate header 2012-06-20 05:41:16 +00:00
Andrey Kamaev
8748cbc232 Fixed optional dependencies tracking in CMake. Fixed TBB compiler definitions for Android. 2012-06-19 20:08:15 +00:00
Marina Kolpakova
6620c5c92d Merge branch 'work' 2012-06-19 13:41:15 +00:00
Marina Kolpakova
18918a5e44 fix for 1.x compute capabilities 2012-06-19 13:41:08 +00:00
Evgeny Talanin
528da9184c added OpenCVConfig.cmake 2012-06-19 11:28:07 +00:00
Andrey Kamaev
e8d158a5c8 Reverted changes breaking Android build 2012-06-19 08:10:05 +00:00
Andrey Pavlenko
a497e1b37e minor tutorial update 2012-06-18 14:50:49 +00:00
Alexander Mordvintsev
e0df3e27ac added digits2.py sample (work in progress) 2012-06-18 14:42:43 +00:00
Maria Dimashova
9152d3fee2 minor fixing 2012-06-18 14:25:00 +00:00
Maria Dimashova
39f865faf9 set sample param to its default value in function 2012-06-18 14:14:15 +00:00
Andrey Kamaev
7dcbf32532 Fixed WString related build problem in Android build 2012-06-18 13:08:59 +00:00
Alexander Mordvintsev
3b55e0d4e9 added kmeans.py sample 2012-06-18 11:48:04 +00:00
Alexander Mordvintsev
b4dafa6b58 fixed SVM train_auto docs: "train set" <-> "test set" 2012-06-18 11:38:47 +00:00
Alexander Smorkalov
1736cc9739 Code style fix. dbt face detection example turned off for Windows. 2012-06-18 10:59:28 +00:00
Marina Kolpakova
db08656a38 resize area are fixed for scales that aren't divide 128 2012-06-18 10:31:36 +00:00
Andrey Kamaev
0f01d8df1c Fixed Visual Studio precompiled headers 2012-06-18 09:19:57 +00:00
Marina Kolpakova
f7c1d16b38 resize area with block scan 2012-06-18 09:00:36 +00:00
Marina Kolpakova
81c6adb959 resize area with block scan 2012-06-18 09:00:32 +00:00
Marina Kolpakova
9a9f212db0 resize function signature refactoring 2012-06-18 09:00:28 +00:00
Marina Kolpakova
e69c6fdef4 minor formating changes 2012-06-18 09:00:22 +00:00
Alexander Smorkalov
7c160cdc30 Detection based tracker was refactored. Detector interface added. 2012-06-18 08:55:05 +00:00
Andrey Kamaev
a20837fb7c Fixed precompiled headers support detection 2012-06-18 06:53:13 +00:00
Vladislav Vinogradov
f392ab0e08 new implementation of gpu::PyrLKOpticalFlow::sparse (1.5 - 2x faster) 2012-06-18 06:49:10 +00:00
Andrey Kamaev
33d9e2354a Fixed Android build with Eigen. 2012-06-16 14:52:46 +00:00
Philipp Wagner
000bf4af48 Two colormaps removed from the list of colormaps, as they are no visually improved enhancement to a Jet colormap. 2012-06-16 08:33:48 +00:00
Philipp Wagner
2c9e81a3ec The COLORMAP_PINK colormap was missing in applyColorMap. 2012-06-16 08:30:22 +00:00
Marina Kolpakova
5b0d7a65e6 minor formating fixes 2012-06-15 15:57:12 +00:00
Andrey Pavlenko
0942244d6f 'call' added to android.bat call 2012-06-15 15:37:11 +00:00
Marina Kolpakova
5d06788305 fixed more "shadow" warnings 2012-06-15 13:21:27 +00:00
Marina Kolpakova
cd81a13d8b added check for CUDA BLUS support in GEMM tests 2012-06-15 13:19:36 +00:00
Marina Kolpakova
c17bd8c11b fixed "shadow" warnings in nvidia folder 2012-06-15 13:16:43 +00:00
Marina Kolpakova
f33d90220d fixed "shadow" warnings in NVIDIA tests 2012-06-15 13:13:36 +00:00
Vladislav Vinogradov
2e2bd55729 new implementation of gpu::PyrLKOpticalFlow::dense (1.5 - 2x faster) 2012-06-15 11:02:33 +00:00
Andrey Pavlenko
af6b2e4e96 minor tutorial update 2012-06-15 10:59:09 +00:00
Andrey Pavlenko
8bc9e52dcc fixing typo that breaks the build 2012-06-15 10:42:32 +00:00
Maria Dimashova
5df3c44d30 added check to weight in rgbd 2012-06-15 09:17:10 +00:00
Andrey Pavlenko
fed67b3719 tutorial updated 2012-06-15 09:08:49 +00:00
Andrey Kamaev
c5df95d5a9 Shortened cmake script for opencv_world 2012-06-15 07:52:20 +00:00
Kirill Kornyakov
58aac7ea98 fixes #2044 2012-06-15 07:07:29 +00:00
Andrey Kamaev
16c94d643f Fixed #2053 2012-06-15 06:40:20 +00:00
Andrey Pavlenko
6e1ea0af71 tutorial updated 2012-06-14 20:03:47 +00:00
Andrey Kamaev
542563c444 Fixed Android build warnings for old NDK 2012-06-14 14:52:00 +00:00
Andrey Kamaev
cddac5d221 Android toolchain: fixed try_compile problem with old cmake versions 2012-06-14 14:38:04 +00:00
Andrey Pavlenko
a82ec18425 tutorial updated 2012-06-14 14:37:41 +00:00
Maria Dimashova
1774e73324 added weighting to rgbd odometry 2012-06-14 14:34:15 +00:00
Andrey Kamaev
913d4541a5 Reduced some tegra stubs 2012-06-14 14:09:04 +00:00
Alexander Mordvintsev
a98d6b6217 exposed parallelized SVM prediction to python (predict_all) 2012-06-14 10:02:49 +00:00
Alexander Shishkov
e4d9d5294e fixed #2047 2012-06-14 00:09:47 +00:00
Marina Kolpakova
f273e54be3 fixed part of shadow warnings 2012-06-13 13:21:51 +00:00
Marina Kolpakova
8c6dc17a9f scan based area interpolation for naive cases 2012-06-13 13:21:08 +00:00
Andrey Kamaev
7cccc93bdf Fixed Android build warnings and few warnings in specific cnfigurations 2012-06-13 13:19:43 +00:00
Marina Kolpakova
9dac223039 fixed part of shadow warnings 2012-06-13 13:12:21 +00:00
Marina Kolpakova
7dd0067792 suppress warning no previous declaration for gpu module 2012-06-13 13:10:11 +00:00
Andrey Kamaev
827d7ba2e9 fixed highgui configuration with QT enabled 2012-06-13 11:49:27 +00:00
Andrey Kamaev
cd19de45d3 Fixed problem with incorrect detection of some compiler flags 2012-06-13 11:40:05 +00:00
Andrey Kamaev
694f0e954f Added linking against AppKit framework when OpenCV is configured with WITH_QUICKTIME=OFF 2012-06-13 10:43:03 +00:00
Maria Dimashova
f363c835ab fixed compilation error and some warnings if with_openni is true 2012-06-13 08:38:30 +00:00
Philipp Wagner
7b544d2a6d Documentation for FaceRecognizer started (not added to toc of contrib/doc/contrib.rst yet). CSV file for the samples/cpp/facerec_demo.cpp added. Added some more exceptions to warn the user, when passing bad aligned data. 2012-06-12 22:49:14 +00:00
Andrey Kamaev
5349fa0302 Fixed target_link_libraries for python bindings 2012-06-12 16:18:14 +00:00
Andrey Kamaev
16b50fcec7 restored -Wno-unnamed-type-template-args 2012-06-12 16:15:14 +00:00
Andrey Kamaev
4ddcf06404 Added own CMake macro for compiler flag checks (to not depend on CMake version) 2012-06-12 16:11:30 +00:00
Andrey Kamaev
37212f5e00 Fixing compiler flags checks. 2012-06-12 15:14:28 +00:00
Andrey Kamaev
c5aba337e9 Fixed number of warnings. Fixed mingw64 build. 2012-06-12 14:46:12 +00:00
Alexander Mordvintsev
02e3afae3a fixed find_obj.py (use detectAndCompute) 2012-06-12 06:31:51 +00:00
Vadim Pisarevsky
dcf2a6b857 updated iOS installation instructions 2012-06-11 10:33:45 +00:00
Alexander Mordvintsev
08b2bd9174 fixed #1974 2012-06-11 07:20:34 +00:00
Philipp Wagner
b3c61ee0fe Minor grammatical correction in comments. 2012-06-10 22:42:20 +00:00
Philipp Wagner
cd7d93f362 Exceptions now go into CV_Error. Added thresholding to the FaceRecognizer and updated the demo accordingly. 2012-06-10 22:23:18 +00:00
Philipp Wagner
ee1b671279 Several exceptions added to the available FaceRecognizer classes and helper methods, so wrong input data is reported to the user. facerec_demo.cpp updated to latest cv::Algorithm changes and commented. 2012-06-10 11:57:33 +00:00
Marina Kolpakova
6727e4cb6d fixed build under android 2012-06-10 09:44:47 +00:00
Alexander Mordvintsev
889df76ea7 added lappyr.py sample 2012-06-10 08:38:25 +00:00
Vadim Pisarevsky
139e790fbf always remove libopencv_world.a before building framework to always include the up-to-date code into the framework binary. 2012-06-10 08:27:48 +00:00
Marina Kolpakova
183e13b359 fixed build without CUDA 2012-06-09 17:03:40 +00:00
Vadim Pisarevsky
76f49f3078 added script to build the universal opencv2.framework for iOS device and simulator. fixed opencv_world cmake script to create static libopencv_world.a for iOS. temporarily disable compressed file storages in the case of iOS (to avoid dependency of zlib) 2012-06-09 16:18:39 +00:00
Marina Kolpakova
09d4d69100 minor warning fixes 2012-06-09 15:24:36 +00:00
Marina Kolpakova
f2c30cd90d resize area for big downscaling integration 2012-06-09 15:24:01 +00:00
Andrey Kamaev
f2d3b9b4a1 Warning fixes continued 2012-06-09 15:00:04 +00:00
Marina Kolpakova
f6b451c607 fixed another piece of warnings 2012-06-09 10:58:32 +00:00
Marina Kolpakova
de23734776 Declaration of color conversion functions are moved in header file to avoid warnings 2012-06-09 09:04:17 +00:00
Marina Kolpakova
324a642a20 Fixed all anomimous warnings 2012-06-09 08:33:25 +00:00
Marina Kolpakova
8eadc49a7b Fixed another one thousand warnings about uninitialized anomimnomous 2012-06-09 08:07:10 +00:00
Vadim Pisarevsky
1e14d84008 possibly fixed crash boost caused by the recent modification; slightly improved mlp params in letter_recog sample 2012-06-09 07:05:24 +00:00
Marina Kolpakova
e86f0aaea1 fixed hundreds of "anonymous" warnings for gpu module. 2012-06-08 17:09:38 +00:00
Andrey Kamaev
ffa44fb114 Fixed precompiled headers build on Linux 2012-06-08 16:04:14 +00:00
Andrey Kamaev
47a4e87784 Ignored warnings from gtest with precompiled headers enabled 2012-06-08 14:54:17 +00:00
Andrey Kamaev
8720b27d87 Fixed build with TBB for Android 2012-06-08 10:32:51 +00:00
Alexander Kapustin
018d85dddb New Tegra Optimized thresh_16s and thresh_32f functions were added 2012-06-08 08:49:59 +00:00
Andrey Kamaev
2f40905548 Fixed Android build 2012-06-08 08:11:17 +00:00
Kirill Kornyakov
ec0ec69307 slightly updated windows_install.rst tutorial 2012-06-08 06:26:16 +00:00
Andrey Kamaev
89e3c461ec Fixed build with TBB 2012-06-08 06:23:28 +00:00
Andrey Kamaev
79df8db76f Fixed recently introduced build problems on some platforms 2012-06-08 06:19:17 +00:00
Andrey Kamaev
f62028dc16 Fixed mingw build. 2012-06-08 03:15:08 +00:00
Alexander Shishkov
bee982b492 update FFMPEG wrapper binaries 2012-06-07 17:25:39 +00:00
Andrey Kamaev
49a1ba6038 Set stricter warning rules for gcc 2012-06-07 17:21:29 +00:00
Anatoly Baksheev
0395f7c63f fixed relative path for stitching/details headers 2012-06-07 13:42:59 +00:00
Marina Kolpakova
16ef01efda set to linear interpolation type for upscaling with area interplation flag 2012-06-06 16:05:31 +00:00
Marina Kolpakova
75eedf8b03 call not NPP version in case of INTER_AREA resize 2012-06-06 15:38:08 +00:00
Marina Kolpakova
9aa3f754b7 fixed accuracy test 2012-06-06 15:29:24 +00:00
Marina Kolpakova
83390ea4e1 performance test for INTER_AREA resize has been added. 2012-06-06 14:45:33 +00:00
Marina Kolpakova
aa8fbc26da fix for down rounded output sizes 2012-06-06 13:25:36 +00:00
Andrey Kamaev
5a41c6509e Fixed build of opencv_world with QT on linux #2012 2012-06-06 13:24:41 +00:00
Marina Kolpakova
8231d0d11d fixed for resize with INTER AREA. Since now we divide by convolved area 2012-06-06 12:12:21 +00:00
Marina Kolpakova
eabd757def fixed build 2012-06-06 10:59:10 +00:00
Marina Kolpakova
d192117e86 GPU resize with INTER_AREA 2012-06-06 10:39:42 +00:00
Vadim Pisarevsky
bc54195199 decreased size of the buffer used in CvBoost::update_weights (ticket #1803) 2012-06-06 10:10:48 +00:00
Vadim Pisarevsky
517fc5e2d2 fixed typo in the tutorial code (thanks to Abid Rahman; ticket #2016) 2012-06-06 10:04:09 +00:00
Andrey Pavlenko
da7920ff85 auto-copy java.so to package 2012-06-06 09:22:53 +00:00
Alexander Shishkov
74786075e3 test commit 2012-06-06 09:21:09 +00:00
Andrey Kamaev
a91745558f Updated link in android readme 2012-06-06 09:15:14 +00:00
Alexander Shishkov
80a4157f11 test commit 2012-06-06 09:12:11 +00:00
Alexander Mordvintsev
455349a0eb comments for digits.py sample 2012-06-06 05:52:28 +00:00
Vladislav Vinogradov
03a14bb525 fixed build under windows, updated 768x576.avi video (other codec) 2012-06-05 14:16:57 +00:00
Alexander Shishkov
f5c7a73143 update FFMPEG wrapper binaries 2012-06-05 14:00:47 +00:00
Vladislav Vinogradov
bfb390e82a added gpu::FGDStatModel (Background/foreground segmentation) 2012-06-05 13:32:04 +00:00
Marina Kolpakova
3c16c9c92d fixed #2019 2012-06-05 10:58:53 +00:00
Vladislav Vinogradov
df1ca974ca made GPU Feature Extractor download/convertKeypoints() methods static (Feature #2007) 2012-06-05 08:37:16 +00:00
Andrey Kamaev
40c779fcf5 phaseCorrelate documentation patch by Will Lucas #2017 2012-06-05 06:02:50 +00:00
Andrey Kamaev
5b2db8e75b Dragonfly BSD build fix #2010 (thanks to Thomas Klausner) 2012-06-04 06:19:56 +00:00
Marina Kolpakova
74ec5d7cbb fix for ORB tests 2012-06-01 15:15:58 +00:00
Alexander Mordvintsev
3cfa6949d7 work on added digits.py sample (neural network for handwritten digit recognition) 2012-06-01 13:27:56 +00:00
Vadim Pisarevsky
2990f23e0c grid-adapted feature detector made a proper Algorithm (ticket #1874) 2012-06-01 09:10:53 +00:00
Vadim Pisarevsky
6206908868 added nmixtures parameter to BackgroundSubtractorMOG2 (ticket #1914) 2012-06-01 09:00:42 +00:00
Vadim Pisarevsky
677680d82d reverted the original VideoCapture::read() code; moved frame index check to where it should belong: ffmpeg wrapper; applied patch by Rob Reilink (ticket #1971) 2012-06-01 08:55:16 +00:00
Andrey Kamaev
586d5a6024 Merged lda fix from 2.4 branch (Fixed reconstruction, so that the mean is correctly added to the reconstructed image.) 2012-06-01 08:48:38 +00:00
Andrey Kamaev
b1c2cba07c Fixed pdf documentation build 2012-06-01 08:30:52 +00:00
Alexander Smorkalov
3780685fe6 CodeReview #1512 notes fixed. 2012-05-31 12:26:29 +00:00
Andrey Kamaev
834a0b518c Trunk OpenCV version is set to 2.4.9 2012-05-31 11:59:43 +00:00
Andrey Kamaev
dde8455db2 removed debug print 2012-05-31 11:06:06 +00:00
Andrey Kamaev
0809ae562e Fixed regression in python wrappers generator 2012-05-31 11:04:11 +00:00
Alexander Smorkalov
5c528defb8 CodeReview #1511 notes upplied. 2012-05-31 10:54:37 +00:00
Andrey Kamaev
314813e51c Added C++ and python signatures for moveWindow, resizeWindow and setMouseCallback 2012-05-31 08:11:47 +00:00
Andrey Kamaev
9399394e6c Fixed #1996 2012-05-31 08:02:52 +00:00
Andrey Kamaev
1a572c8e89 Added test for #1997; fixed build warnings 2012-05-31 06:59:06 +00:00
Marina Kolpakova
6d498495d3 tegra integration 2012-05-30 15:56:53 +00:00
Andrey Kamaev
bf27889f04 Made reference manual table of contents autogenerated 2012-05-30 14:06:47 +00:00
Vadim Pisarevsky
17d9509e31 changed "void FileStorage::release(string&)" to "string FileStorage::releaseAndGetString()" 2012-05-30 13:02:45 +00:00
Alexander Kapustin
29b9070698 tegra::cvtRGB2HSV function was added 2012-05-30 11:52:53 +00:00
Vadim Pisarevsky
74882fe188 replaced "string FileStorage::release()" with 2 methods to preserve backward compatibility. 2012-05-30 11:29:22 +00:00
Vladislav Vinogradov
48c3cfdfd0 fixed mark_nvidia.py script (warpAffine and warpPerspective) 2012-05-30 05:44:34 +00:00
Andrey Kamaev
ae3c754bb3 Fixed Java API build 2012-05-29 17:13:24 +00:00
Andrey Kamaev
a20248977c Documentation: fixed class/struc members documentation; added warning on incorrectly documented member 2012-05-29 16:55:46 +00:00
Andrey Kamaev
aaf043e7ba Documentation: fixed operators regex; added varargs support 2012-05-29 15:42:38 +00:00
Andrey Kamaev
cf25f572a6 Documentation: improved correctness checking for superclasses 2012-05-29 14:51:59 +00:00
Andrey Kamaev
dad75658f2 Documentation: added support for multiple superclasses 2012-05-29 14:18:43 +00:00
Andrey Kamaev
bb69e03f12 Documentation: added support for virtual methods 2012-05-29 13:59:49 +00:00
Andrey Kamaev
b69e08cf51 Documentation: added support for superclasses in class definition #1308 2012-05-29 13:42:50 +00:00
Alexander Smorkalov
8c50f3e8ae Native camera libs rebuilt for bug #1989 fix. 2012-05-29 13:11:08 +00:00
Alexander Smorkalov
6903e8f0fd Bug #1989 fixed. NULL pointer check added. 2012-05-29 12:13:51 +00:00
Evgeny Talanin
d3c73071ea Temporarily disable test on Mac 2012-05-29 11:41:24 +00:00
Andrey Kamaev
4800d85011 Fixed documentation generation for function arguments having array type i.e. 'type arg[]' 2012-05-29 11:41:23 +00:00
Vladislav Vinogradov
6f32fb025d Bug #1991 : fixed gpu interpolation (remap, resize, warp...) 2012-05-29 11:30:44 +00:00
Andrey Pavlenko
eb4ce67dac fixing Java test and sample after moving drawContours() from Imgproc to Core 2012-05-29 11:04:04 +00:00
Andrey Kamaev
40e8d08e8d Added check for trailing semicolon to rst parser; fixed few documentation build warnings 2012-05-29 10:57:25 +00:00
Andrey Kamaev
05de6302fd Fixed documentation: corrected parameter names 2012-05-29 10:36:19 +00:00
Vladislav Vinogradov
67b718f1cb fixed some bugs in gpu module under Windows:
* convertTo alignment error
* compare with scalars error
2012-05-29 08:03:36 +00:00
Andrey Kamaev
c492dc6a83 Fixed property names in cap_dshow #1993 2012-05-29 05:41:46 +00:00
Andrey Kamaev
6ca618277c More fixes for documentation. 2012-05-28 20:11:38 +00:00
Vadim Pisarevsky
bc929a7d46 added API for storing OpenCV data structures to text string and reading them back 2012-05-28 15:38:58 +00:00
Andrey Kamaev
18a8721f49 Small fixes for documentation checking script 2012-05-28 15:29:21 +00:00
Andrey Kamaev
ddd9a99c66 Added check for documented but missing functions 2012-05-28 14:45:14 +00:00
Andrey Kamaev
78329b0dfe New bunch of documentation fixes 2012-05-28 14:36:15 +00:00
Andrey Kamaev
4aaaef5967 remaining C-style planar subdivisions data structures are moved to legacy 2012-05-28 13:57:45 +00:00
Kirill Kornyakov
5c13b8706f added fix_properties scripts for Android samples 2012-05-28 13:31:44 +00:00
Vladislav Vinogradov
2582464e51 fixed several problems with CUDA 5.0
* gpu::LUT, uses device memory instead of host memory
* gpu::multiply, round mod for CV_8U depth
2012-05-28 12:09:40 +00:00
Andrey Kamaev
71625ad458 Fixed more documentation & source discrepancies 2012-05-28 11:22:43 +00:00
Alexander Mordvintsev
a61b730238 compatibility corrections 2012-05-28 09:25:08 +00:00
Alexander Mordvintsev
e0c1fb5f76 updated video_threaded.py sample:
- switch btw threaded and non-threaded mode
- performance counters
- description
2012-05-28 08:51:50 +00:00
Vladislav Vinogradov
addcd16d8f minor fix of gpu perf tests 2012-05-28 08:08:14 +00:00
Andrey Kamaev
eb2f1f81ed Fixed hundreds of documentation problems 2012-05-28 07:36:14 +00:00
Andrey Kamaev
7e698726e4 Added new script for checking correctness of documentation 2012-05-28 07:34:49 +00:00
Andrey Kamaev
9d73b5f510 Added test for #914 2012-05-25 17:56:28 +00:00
Alexander Mordvintsev
6116049225 video_threaded.py sample now uses multiprocessing module's ThreadPool 2012-05-25 14:38:39 +00:00
Alexander Shishkov
a71e690b5e temp commit 2012-05-25 13:35:14 +00:00
Alexander Shishkov
3165b22a97 temp commit 2012-05-25 13:16:16 +00:00
Andrey Kamaev
eb90882b2d Fixed some build warnings 2012-05-25 13:13:51 +00:00
Andrey Kamaev
ca6d2fe76b Moved 3rd-party libraries detection to separate cmake files 2012-05-25 13:12:02 +00:00
Alexander Shishkov
2ac9338f87 temp commit 2012-05-25 13:11:34 +00:00
Andrey Kamaev
0e9e0a01db Added new perf tests for boxFilter 2012-05-25 11:26:43 +00:00
Anatoly Baksheev
543825f2f5 compilation with CUDA5.0 (#1982, thanks to Rodrigo) 2012-05-25 09:44:00 +00:00
Andrey Kamaev
6c86cce21f Fixed groupRectangles documentation #1817 2012-05-25 09:04:26 +00:00
Andrey Kamaev
ab6f0c4e0b Added tegra stub for cornerEigenValsVecs 2012-05-25 08:20:13 +00:00
Andrey Kamaev
e161f428a0 Fixed PvAPI search on Windows #1927 2012-05-24 20:10:13 +00:00
Anatoly Baksheev
6455488ff4 perf_framework: added TEST_CYCLE_MULTIRUN macros ( invokes function tested several times at each iteration ) 2012-05-24 17:12:14 +00:00
Maria Dimashova
276a3fe01b fixed #1981 2012-05-24 16:52:14 +00:00
Andrey Kamaev
a33d67f48a Updated sanity checks for some imgproc perf tests 2012-05-24 15:42:07 +00:00
Alexander Mordvintsev
eb28bef2db added video_threaded.py sample 2012-05-24 15:40:55 +00:00
Vadim Pisarevsky
513080ea12 some more fixes in Algorithm methods declarations 2012-05-24 11:50:54 +00:00
Andrey Kamaev
0fe0a88108 Minor cmake change 2012-05-23 19:28:41 +00:00
Vladislav Vinogradov
3fe100a093 added mark_nvidia script 2012-05-23 13:55:10 +00:00
Vladislav Vinogradov
77f22fe366 minor fix of gpu perf tests 2012-05-23 13:20:53 +00:00
Vadim Pisarevsky
159cc29bb5 fixed undistortPoints description (ticket #1964) 2012-05-23 13:01:40 +00:00
Vladislav Vinogradov
f07250acf3 updated gpu performance tests 2012-05-23 12:58:01 +00:00
Vadim Pisarevsky
5cc4d23d1e fixed description of cv::invert() (ticket #1972) 2012-05-23 12:52:46 +00:00
Vadim Pisarevsky
01169ec826 fixed description of Algorithm::getList(); added sample, thanks to Shervin Emami (ticket #1972) 2012-05-23 12:35:51 +00:00
Andrey Kamaev
3108423a37 Fixed assert placement in cv::invert 2012-05-23 09:28:26 +00:00
Andrey Kamaev
88c934ea8c Added documentation for buildOpticalFlowPyramid 2012-05-23 08:50:43 +00:00
Vladislav Vinogradov
6d08d04293 compilation 2012-05-22 18:59:26 +00:00
Anatoly Baksheev
671233cd46 gpu: added Cascade and mulAndScaleSpectrums perf tests 2012-05-22 18:58:01 +00:00
Alexander Mordvintsev
e703e8f5a6 exposed MSER to python again 2012-05-22 15:53:39 +00:00
Alexander Smorkalov
fc71745caf cv::Exception handling added. Multithreading bug fixed. 2012-05-22 14:47:40 +00:00
Vladislav Vinogradov
3c7240024e updated filters performance tests in gpu module 2012-05-22 13:59:40 +00:00
Leonid Beynenson
32878f8577 Added a check of the DetectionBasedTracker's inner state in the main thread function of this class.
This change should fix a multithread bug in the class.
2012-05-22 13:24:37 +00:00
Anatoly Baksheev
32c7eeca78 arithm test gpu tests for cpu :) 2012-05-22 13:15:22 +00:00
Alexander Smorkalov
b422d078f8 Face detection example updated. Dtetection base tracker mode added. 2012-05-22 12:21:26 +00:00
Vladislav Vinogradov
9bddac1099 fixed gpu-vs-cpu performance tests 2012-05-22 11:27:45 +00:00
Alexander Mordvintsev
61fd5ed0e1 fixed #1969 2012-05-22 11:21:25 +00:00
Vladislav Vinogradov
1d57911646 updated gpu-vs-cpu performance tests 2012-05-22 10:29:58 +00:00
Alexander Mordvintsev
ddf7fde3b2 fixed gaussian_mix.py sample 2012-05-22 09:11:09 +00:00
Anatoly Baksheev
4793ca8fbb fixed precom for opencv_perf_gpu_cpu 2012-05-22 08:54:48 +00:00
Alexander Mordvintsev
cef18937a2 made video_dmtx.py description visible in demo.py 2012-05-22 08:45:10 +00:00
Alexander Mordvintsev
f4f41df756 removed derivLambda param for LK-tracker
linetype -> lineType
2012-05-22 08:43:42 +00:00
Vladislav Vinogradov
d78aa7c937 added cpu performance test for gpu module 2012-05-22 08:29:08 +00:00
Alexander Mordvintsev
8429c109be FIX: VideoCapture::read() was returning empty image for camera captures 2012-05-22 07:58:31 +00:00
Andrey Kamaev
37d9c3f835 Fixed some corner cases of opencv_world configuration 2012-05-21 20:15:17 +00:00
Andrey Kamaev
13a79c753f Updated to TBB4.0 update 4 for Android build 2012-05-21 19:25:03 +00:00
Vadim Pisarevsky
41c932f306 FaceRecognizer class is now derived from Algorithm, therefore it's possible to set and retrieve the parameters using conventional Algorithm::set and Algorithm::get methods 2012-05-21 15:27:40 +00:00
Vadim Pisarevsky
fd68cc768a fixed 2 build problems on MacOSX (highgui with ffmpeg, opencv_world); added macro CV_INIT_ALGORITHM for simpler algorithm registration (ticket #1876) 2012-05-21 14:56:07 +00:00
Andrey Kamaev
9bc5afd278 Updated tegra optical flow stub 2012-05-21 13:57:36 +00:00
Leonid Beynenson
daec4d88fa Now the DetectionBasedTracker will throw exception if it cannot load cascade detector from a file. 2012-05-21 13:54:42 +00:00
Andrey Kamaev
47f72b538f Added new performance tests for calcOpticalFlowPyrLK and buildOpticalFlowPyramid; extracted private header from lkpyramid.cpp 2012-05-21 13:07:53 +00:00
Andrey Kamaev
ac8f61ee91 Fixed Linux build 2012-05-21 08:53:38 +00:00
Maria Dimashova
608855a322 include nonfree for a couple of f2d samples 2012-05-21 08:47:57 +00:00
Andrey Kamaev
decd6c0fab Restored QuartzCore framework for OS X 2012-05-20 19:05:36 +00:00
Andrey Kamaev
0716ebb7a6 Refactored highgui libraries search (tested on Windows only) 2012-05-20 18:49:57 +00:00
Andrey Kamaev
c9027fecc0 Fixed few MinGW build problems 2012-05-20 18:45:19 +00:00
Andrey Kamaev
5a3cbadfe3 Fixing Android SDK search on OS X. 2012-05-20 08:26:20 +00:00
Maria Dimashova
4d36be8794 skip of table header in MLData (#1962) 2012-05-19 14:34:36 +00:00
Andrey Kamaev
094c32ced7 Refactored CMake status report for video IO libs 2012-05-19 13:48:36 +00:00
Andrey Kamaev
9961658eab Fixing compile on some MinGW platforms 2012-05-19 10:44:43 +00:00
Andrey Kamaev
d069c062a6 Added Windows paths support to Eigen search. 2012-05-19 10:14:10 +00:00
Andrey Kamaev
f8368ba6da MinGW: try -mpreferred-stack-boundary instead of mstackrealign 2012-05-19 08:50:24 +00:00
Andrey Kamaev
18c52c309b Restored -O2 for MinGW 2012-05-18 17:32:55 +00:00
Maria Dimashova
28297c0224 fixed Mat::diag (#1939) 2012-05-18 14:38:54 +00:00
Andrey Kamaev
80f1b1478d Fixed parameter name and copy condition 2012-05-18 13:29:49 +00:00
Andrey Kamaev
e309c51430 Fixed phaseCorrelate result for not power of 2 size images #1812 (thanks to Jeff Mast) 2012-05-18 08:33:19 +00:00
Andrey Kamaev
b8804ccc17 Fixed problem with manually set PYTHON_PACKAGES_PATH #1891 2012-05-18 07:43:12 +00:00
Andrey Kamaev
639bf3ee8f Fixed accumulateWeighted with mask for multichannel matrices #1959 2012-05-18 06:08:14 +00:00
Andrey Kamaev
4a3141accf #1932 Fixed SSE instability on mingw32 2012-05-17 20:25:12 +00:00
Andrey Kamaev
def87eae19 Fixed MinGW build after r8358 2012-05-17 20:19:48 +00:00
Andrey Pavlenko
e3fc405393 fix for #1954 (typos) 2012-05-17 19:36:38 +00:00
Anatoly Baksheev
b82b4a640d fixed possible compilation error for macos 2012-05-17 14:55:29 +00:00
Andrey Pavlenko
5855c4905e Android samples are updated: onPause()/onResume() release/open camera, a message is shown on camera open error, minor fixes in code and resources 2012-05-17 14:51:04 +00:00
Andrey Kamaev
0ba3236ce0 Fixed Algorithm usage example #1904 2012-05-17 10:52:07 +00:00
Andrey Kamaev
8f3273bf07 Refactored per-computed pyramid handling in calcOpticalFlowPyrLK #1321 2012-05-17 10:29:53 +00:00
Vadim Pisarevsky
00c30681bc Added Snap-to-Screen Edge feature in the case of multiple monitors (patch by Adi Shavit) 2012-05-16 16:13:24 +00:00
Andrey Kamaev
5f9e295adf Added test and workaround for #1942 2012-05-16 15:11:17 +00:00
Andrey Kamaev
a877ecdcf0 Added option to pass pre-computed pyramid to piramidal LK optical flow #1321 2012-05-16 14:52:46 +00:00
Vadim Pisarevsky
f620f1ce57 fixed building avfoundation on MacOSX with iOS targets 2012-05-15 15:34:53 +00:00
Vadim Pisarevsky
8a5b6ced1a fixed background update in GMM2 algorithm (ticket #1931) 2012-05-15 14:25:07 +00:00
Andrey Kamaev
d2da219ec0 Fixed incorrect CMake variable name 2012-05-15 07:43:00 +00:00
Andrey Kamaev
9275adff81 Applied patch for IPP linking under MinGW (thanks to Philippe FOUBERT) #1906 2012-05-14 14:56:17 +00:00
Andrey Kamaev
26fb7603c0 Fixed typo #1896 2012-05-14 14:51:13 +00:00
Andrey Kamaev
07658aeb74 Fixed replacement of -O3 with -O2 for mingw compiler #1896 2012-05-14 14:19:28 +00:00
Andrey Kamaev
78915e016c Fixed python version issue #1903 2012-05-14 14:05:25 +00:00
Andrey Kamaev
8d135e8ea1 Shortened CMake script for opencv_world. Fixed opencv_world link with non-Visual Studio generators on Windows. 2012-05-13 09:34:33 +00:00
Vadim Pisarevsky
6dde56faf4 fixed building opencv_world with VS2010 2012-05-12 16:27:40 +00:00
Andrey Kamaev
3ec3c59197 Updated sanity threshold for convertTo perf test 2012-05-12 15:12:21 +00:00
Vadim Pisarevsky
9bbcebd6b0 added opencv_world module that combines all the other [selected by user] OpenCV modules, except for opencv_python and opencv_gpu. 2012-05-12 13:54:26 +00:00
Andrey Kamaev
8408499c94 Updated dot profuct function table 2012-05-12 11:44:54 +00:00
Vladislav Vinogradov
9df6e51a5b added gpu::compare with scalars (Feature #1754) 2012-05-12 09:45:21 +00:00
Alexander Smorkalov
abe16352d6 ColorBlobDetection example. Bug fix. Refactoring. 2012-05-12 07:38:31 +00:00
Vladislav Vinogradov
ef478840af added message that timings doesn't include data transfer to gpu performance sample (Issue #1846) 2012-05-12 06:28:51 +00:00
Vadim Pisarevsky
52797a55e2 added support for vector<Mat_<>> in InputArray, OutputArray, split & merge 2012-05-11 13:36:48 +00:00
Vadim Pisarevsky
7a7dae3627 fixed problem with Mat::copyTo() with Mat_<> arguments (ticket #1918) 2012-05-11 12:40:20 +00:00
Vadim Pisarevsky
e794622776 propagated 2 fixed from 2.4 to trunk 2012-05-11 11:48:26 +00:00
Vladislav Vinogradov
2dafc9a853 fixed build under MacOS (disabled video decoding, it's not supported) 2012-05-11 11:48:15 +00:00
Vladislav Vinogradov
91e312958b disabled WITH_OPENGL flag under MacOS 2012-05-10 09:53:57 +00:00
Andrey Kamaev
31723effe7 #1902 added workaround for CMake 2.8.2 bug 2012-05-07 14:01:36 +00:00
Alexander Reshetnikov
57e26bde9f Accelerating the completion of video bypass (bug #1893) 2012-05-05 17:28:05 +00:00
Alexander Reshetnikov
3ec43a11ed Fixed read error in VideoCapture for images (bug #1892); minor fix of ffmpeg wrapper warning 2012-05-05 14:43:03 +00:00
Anatoly Baksheev
1313d8a570 added check for CMake 2.8.3 for CUDA support 2012-05-05 09:43:18 +00:00
Alexander Smorkalov
bae8a88c53 Base version implemented. 2012-05-04 13:46:00 +00:00
Anatoly Baksheev
fe91d1ca57 compilation for Macos 2012-05-04 12:11:01 +00:00
Anatoly Baksheev
962754141a Added check for CUDA toolkit version ( older can't compile Kepler ) 2012-05-04 10:31:40 +00:00
Anatoly Baksheev
03f122ca88 Added check for CUDA toolkit version ( older can't compile Kepler ) 2012-05-04 10:20:20 +00:00
Anatoly Baksheev
c05ebdffd8 Added default compilation for Kepler 2012-05-04 09:54:48 +00:00
Andrey Kamaev
0fecbdde6e Added Android NDK r8 support including new mips ABI 2012-05-03 10:40:29 +00:00
Vladislav Vinogradov
c65b7a9980 removed #include "cap_ffmpeg_impl_v2.hpp" 2012-05-03 08:34:14 +00:00
Andrey Kamaev
860172c626 run.py - fixed java tests launch on Windows 2012-05-03 07:50:24 +00:00
Anatoly Baksheev
a79c52a28f updated printCudaDeviceInfo to support Kepler 2012-05-02 21:55:38 +00:00
Marina Kolpakova
6e6271d995 Debug/Release folders fix for QTCreator build 2012-05-02 20:26:19 +00:00
Andrey Kamaev
3a1f85d4e8 Remerged the 2.4.0 branch 2012-05-02 20:20:14 +00:00
Vladislav Vinogradov
77717e1abc fixed opencv_ffmpeg.dll name in gpu video encoding/decoding 2012-05-02 13:23:11 +00:00
Vladislav Vinogradov
ca57239618 fixed some problems after r8280 (lost code) 2012-05-02 13:07:30 +00:00
Vadim Pisarevsky
d5a0088bbe merged 2.4 into trunk 2012-04-30 14:33:52 +00:00
Vladislav Vinogradov
3f1c6d7357 fixed PyrLKOpticalFlow.dense (final result size) 2012-04-28 13:12:14 +00:00
Vladislav Vinogradov
917063b7f7 reverted r8003 (CascadeClassifier_GPU) 2012-04-28 08:41:10 +00:00
Vladislav Vinogradov
76dc827648 added BruteForceMatcher_GPU (for legacy) 2012-04-28 07:41:21 +00:00
Alexey Spizhevoy
30431b94d9 Replaced CV_RANSAC in findHomography with CV_LMEDS (videostab) 2012-04-27 12:38:33 +00:00
Gary Bradski
54f92013b0 fix to Detector::write so that it doesn't abort on read 2012-04-27 04:05:33 +00:00
Alexey Spizhevoy
2799f51bf9 Minor changes in videostab module 2012-04-26 11:56:30 +00:00
Alexey Spizhevoy
02d34bdac2 Refactored videostab module 2012-04-26 09:01:15 +00:00
Alexander Kapustin
79e2070606 5 functions from addWeighted_func family were Neon Optimized 2012-04-26 08:18:01 +00:00
Alexander Kapustin
3e899f6fd7 File perf_addWeited.cpp added 2012-04-26 07:20:13 +00:00
Alexey Spizhevoy
2270c2f5bd Refactored videostab module 2012-04-26 07:11:01 +00:00
Alexandre Benoit
9dfb1f77a0 fixed a dicide by zero potential problem 2012-04-25 13:56:09 +00:00
Alexandre Benoit
18fdc6bf1c user can now use the default retia config auatogenerated file to test their own setup 2012-04-25 13:55:14 +00:00
Alexey Spizhevoy
71391eb76f Added LP based global motion estimation (videostab) 2012-04-25 13:21:38 +00:00
Vladislav Vinogradov
11eacb9d14 Bug #1823 : fixed patch size calculation in PyrLKOpticalFlow 2012-04-25 07:03:32 +00:00
Vladislav Vinogradov
092c1f98f6 fixed build of gpu demos pack 2012-04-25 06:27:55 +00:00
Vladislav Vinogradov
4ddde66b48 fixed build without ffmpeg (gpu module) 2012-04-24 14:15:38 +00:00
Vladislav Vinogradov
1fba38d01c updated gpu docs (BFMatcher_GPU) 2012-04-24 13:35:58 +00:00
Vladislav Vinogradov
5bafb372af fixed bug in ORB_GPU, behavior in the absence of keypoints found (Bug #1831) 2012-04-24 13:18:34 +00:00
Vladislav Vinogradov
70f8b8b5ec fixed GPU_NVidia/NCV.Visualization test 2012-04-24 12:36:15 +00:00
Alexey Spizhevoy
95efec7539 Added local outlier rejector. Added rigid motion estimator. Refactored videostab module. 2012-04-24 12:23:23 +00:00
Vladislav Vinogradov
6e830cf8f8 added additional tests to gpu::BFMatcher 2012-04-24 11:21:23 +00:00
Vladislav Vinogradov
44eaeee865 refactored gpu BruteForceMather (made it similar to BFMatcher) 2012-04-24 07:56:33 +00:00
Vladislav Vinogradov
c2935a6532 fixed build of gpu module without CUDA (video encoding/decoding) 2012-04-24 07:49:55 +00:00
Vladislav Vinogradov
f65d841d6f fixed several warnings (VS2010, Win64)
added getParams method to VideoWriter_GPU
2012-04-23 14:22:02 +00:00
Alexey Spizhevoy
24be840c44 Added GPU version of wobble suppressor (videostab) 2012-04-23 10:37:07 +00:00
Alexander Kapustin
3675ef516a 6 functions from Inrange_func family were Neon Optimized 2012-04-23 09:31:08 +00:00
Alexander Kapustin
0094b468e6 Fail perf_inRange.cpp added 2012-04-23 09:09:30 +00:00
Vladislav Vinogradov
1eebb4506a removed unnecessary CV_EXPORTS 2012-04-23 08:31:14 +00:00
Alexey Spizhevoy
36ef599840 Fixed trim ratio estimation for the case of homographies motion model (videostab) 2012-04-23 06:42:55 +00:00
Alexey Spizhevoy
ae8d377561 Replaced DECOMP_SVD with DECOMP_NORMAL|DECOMP_LU for speed (videostab) 2012-04-20 09:02:39 +00:00
Alexey Spizhevoy
e49ea39a1f Fixed parsing cmd args bug (videostab) 2012-04-19 12:16:45 +00:00
Alexey Spizhevoy
f355f798a4 Minor changes in videostab module and sample 2012-04-19 10:27:17 +00:00
Alexey Spizhevoy
f42eea1029 Added timing for main steps (videostab) 2012-04-19 09:29:13 +00:00
Alexey Spizhevoy
ada63d1800 Updated videostab sample 2012-04-19 08:38:42 +00:00
Alexey Spizhevoy
536d36b05a Refactoring (videostab) 2012-04-18 17:00:07 +00:00
Alexey Spizhevoy
1569c1ed52 Added GPU version of PyrLK based global motion estimator (videostab) 2012-04-18 13:23:41 +00:00
Vladislav Vinogradov
1351f4c8ef added docs for VideoReader_GPU 2012-04-18 12:46:56 +00:00
Vladislav Vinogradov
e29d41c885 minor fix in gpu video_writer sample 2012-04-18 11:49:17 +00:00
Vladislav Vinogradov
dd6b11b87d fixed build without CUDA 2012-04-18 11:25:56 +00:00
Vladislav Vinogradov
f4b4665940 added VideoReader_GPU 2012-04-18 11:18:25 +00:00
Andrey Pavlenko
b0dd192d52 fixing #1800 2012-04-17 15:33:18 +00:00
Vladislav Vinogradov
ffbee1fe97 added docs for VideoWriter_GPU 2012-04-17 11:36:37 +00:00
Vladislav Vinogradov
70909738f4 added support of different surface formats to VideoWriter_GPU
added key frame handling to ffmpeg wrappers
2012-04-17 11:08:08 +00:00
Alexey Spizhevoy
4c44ccc3c9 Removed unnecessary code (videostab) 2012-04-17 09:30:16 +00:00
Alexey Spizhevoy
dfedaff99b Removed unnecessary code (videostab) 2012-04-17 09:21:09 +00:00
Alexey Spizhevoy
19c30eaa11 Refactored videostab module 2012-04-17 09:12:14 +00:00
Vladislav Vinogradov
2bfaf540a1 added VideoWriter_GPU 2012-04-17 07:12:16 +00:00
Alexey Spizhevoy
0824cf5059 Added info about papers (videostab) 2012-04-16 11:45:08 +00:00
Alexander Kapustin
9bb6e899f3 12 functions from Norm_func family were Neon Optimized 2012-04-16 11:39:38 +00:00
Alexey Spizhevoy
8c4ffc8bb2 Fixed typo (videostab) 2012-04-16 11:14:30 +00:00
Alexey Spizhevoy
306248e444 Added support of Clp for Windows 2012-04-16 11:10:41 +00:00
Alexey Spizhevoy
601d2843f4 Fixed LP based stabilizer 2012-04-16 07:08:28 +00:00
Alexey Spizhevoy
40e7990b6b Added linear programming based stabilizer (videostab) 2012-04-16 06:41:06 +00:00
Andrey Kamaev
c4af85043a merged few missed changes from 2.4 to trunk 2012-04-15 23:19:57 +00:00
Vadim Pisarevsky
2fd1e2ea57 merged all the latest changes from 2.4 to trunk 2012-04-13 21:50:59 +00:00
Alexey Spizhevoy
020f9a6047 Updated Clp library related code in CMakeLists.txt 2012-04-13 11:55:12 +00:00
Alexey Spizhevoy
cc0ecf9123 Removed unnecessary line (videostab) 2012-04-12 13:58:25 +00:00
Alexey Spizhevoy
df410ce246 Removed unnecessary line (videostab) 2012-04-12 13:57:28 +00:00
Ilya Lysenkov
04ac6db04a Added support of CV_16S depth in morphology operations 2012-04-12 10:55:47 +00:00
Alexey Spizhevoy
9d871abd32 Refactored videostab module. Added normalization into motion estimators. 2012-04-11 14:02:10 +00:00
Ilya Lysenkov
258afe7cc2 Added OPTFLOW_LK_GET_MIN_EIGENVALS flag as alias for CV_LKFLOW_GET_MIN_EIGENVALS. 2012-04-11 12:36:16 +00:00
Alexey Spizhevoy
ae839df55d Added WITH_CLP flag support into cmake scripts. 2012-04-11 12:34:30 +00:00
Alexey Spizhevoy
b5a1bad7a4 Added more flags for motion estimation in videostab sample 2012-04-11 10:17:35 +00:00
Alexey Spizhevoy
b549900fe1 Minor fixes and updates in videostab module and sample 2012-04-10 10:33:19 +00:00
Alexey Spizhevoy
673f879ccd Fixed bug in videostab sample. Fixed model size in global estimators. 2012-04-10 09:07:30 +00:00
Alexander Shishkov
bf00eba093 update FFMPEG wrapper binaries 2012-04-09 20:17:58 +00:00
Alexander Shishkov
bf250b6fed update FFMPEG wrapper binaries 2012-04-09 15:39:02 +00:00
Alexander Shishkov
63a3211314 update FFMPEG wrapper binaries 2012-04-09 15:18:07 +00:00
Alexander Shishkov
302ececf6b update FFMPEG wrapper binaries 2012-04-09 13:37:13 +00:00
Alexey Spizhevoy
39cd13583f Fixed bug in motion stabilization pipeline and updated wobble stabilizer (videostab) 2012-04-09 11:58:56 +00:00
Alexey Spizhevoy
30b461a506 Added support of homography motion model into vidostab sample 2012-04-06 10:51:46 +00:00
Alexey Spizhevoy
d9d4755387 Updated wobble suppression code in videostab module 2012-04-06 08:52:31 +00:00
Alexey Spizhevoy
fa09f3d121 Refactored videostab module. Added MoreAccurateMotionWobbleSuppressor class 2012-04-05 13:23:42 +00:00
Alexey Spizhevoy
f32b645b96 Refactored videostab module, added base class for woobble suppression 2012-04-05 09:15:13 +00:00
Marius Muja
fd9a8c609f Bug fix in LSH index 2012-04-05 06:46:42 +00:00
Andrey Pavlenko
dc8c281fa1 fixing compilation 2012-04-05 05:02:24 +00:00
Alexey Spizhevoy
a7da9681c3 Added motion stabilization pipeline (videostab module) 2012-04-04 13:58:38 +00:00
Alexander Mordvintsev
5ee7596cbc fixed EM sample 2012-04-04 12:06:36 +00:00
Alexey Spizhevoy
9c44715f50 Added asserts into global motion estimation functions (videostab module) 2012-04-04 11:49:48 +00:00
Alexey Spizhevoy
efa0717d01 Added support of homography estimation into videostab module 2012-04-04 11:45:16 +00:00
Alexey Spizhevoy
ecb1f0e288 Fixed some bugs in videostab module and refactored it 2012-04-04 09:28:47 +00:00
Vladislav Vinogradov
2659453694 merged revisions r7808 from 2.4 branch 2012-04-03 06:49:13 +00:00
Alexander Kapustin
42e0214de5 36 functions of cvtScaleTIPES_func were Neon Optimized 2012-04-03 05:53:26 +00:00
Alexander Shishkov
9bfd50e6ae merged revisions r7802,r7804,r7805 from 2.4 branch 2012-04-03 00:33:33 +00:00
Alexey Spizhevoy
56b5e6d8a8 Updated videostab module 2012-04-02 12:26:05 +00:00
Alexander Smorkalov
abbfa848ba Issue 1119 Build for x86. Build script added. Tests are ok. 2012-04-02 09:44:36 +00:00
Alexey Spizhevoy
3e23bb6df6 Refactored videostab module and sample 2012-04-02 09:25:27 +00:00
Vladislav Vinogradov
5fe493474c minor fix of gpu performance sample 2012-04-02 08:55:04 +00:00
Vladislav Vinogradov
c02c676865 fixed gpu performance sample (SURF usage)
added tests for filter2D
2012-04-02 08:53:06 +00:00
Vladislav Vinogradov
489a1da0ed fixeg gpu::Laplacian 2012-04-02 08:20:23 +00:00
Andrey Kamaev
b880bbcc18 Fixed Java API build 2012-04-01 10:19:54 +00:00
2490 changed files with 521078 additions and 296689 deletions

63
.gitattributes vendored Normal file
View File

@@ -0,0 +1,63 @@
.git* export-ignore
* text=auto whitespace=trailing-space,space-before-tab,-indent-with-non-tab,tab-in-indent,tabwidth=4
*.py text
*.cpp text
*.hpp text
*.cxx text
*.hxx text
*.mm text
*.c text
*.h text
*.i text
*.js text
*.java text
*.scala text
*.cu text
*.cl text
*.css_t text
*.qrc text
*.qss text
*.S text
*.rst text
*.tex text
*.sty text
*.aidl text
*.mk text
*.cmake text whitespace=tabwidth=2
*.cmakein text whitespace=tabwidth=2
*.in text whitespace=tabwidth=2
CMakeLists.txt text whitespace=tabwidth=2
*.png binary
*.jepg binary
*.jpg binary
*.exr binary
*.ico binary
*.a binary
*.so binary
*.dll binary
*.jar binary
*.pdf binary
*.pbxproj binary
*.vec binary
*.doc binary
*.xml -text whitespace=cr-at-eol
*.yml -text whitespace=cr-at-eol
.project -text whitespace=cr-at-eol merge=union
.classpath -text whitespace=cr-at-eol merge=union
.cproject -text whitespace=cr-at-eol merge=union
org.eclipse.jdt.core.prefs -text whitespace=cr-at-eol merge=union
*.vcproj text eol=crlf merge=union
*.bat text eol=crlf
*.cmd text eol=crlf
*.cmd.tmpl text eol=crlf
*.sh text eol=lf

8
.gitignore vendored Normal file
View File

@@ -0,0 +1,8 @@
*.pyc
.DS_Store
refman.rst
OpenCV4Tegra/
*.user
.sw[a-z]
.*.swp
tags

View File

@@ -1,11 +1,11 @@
set(NEW_FFMPEG 1)
set(HAVE_FFMPEG_CODEC 1)
set(HAVE_FFMPEG_FORMAT 1)
set(HAVE_FFMPEG_UTIL 1)
set(HAVE_FFMPEG_SWSCALE 1)
set(HAVE_GENTOO_FFMPEG 1)
set(ALIASOF_libavcodec_VERSION 53.61.100)
set(ALIASOF_libavformat_VERSION 53.32.100)
set(ALIASOF_libavutil_VERSION 51.35.100)
set(NEW_FFMPEG 1)
set(HAVE_FFMPEG_CODEC 1)
set(HAVE_FFMPEG_FORMAT 1)
set(HAVE_FFMPEG_UTIL 1)
set(HAVE_FFMPEG_SWSCALE 1)
set(HAVE_GENTOO_FFMPEG 1)
set(ALIASOF_libavcodec_VERSION 53.61.100)
set(ALIASOF_libavformat_VERSION 53.32.100)
set(ALIASOF_libavutil_VERSION 51.35.100)
set(ALIASOF_libswscale_VERSION 2.1.100)

Binary file not shown.

Binary file not shown.

123
3rdparty/ilmimf/README vendored
View File

@@ -1,123 +0,0 @@
ABOUT THE OPENEXR LIBRARIES
----------------------------
Half is a class that encapsulates our 16-bit floating-point format.
IlmThread is a thread abstraction library for use with IlmImf. It
currently supports pthreads and Windows threads.
IlmImf is our "EXR" file format for storing 16-bit FP images.
Imath is a math library. IlmImf only uses a subset of it,
but we're releasing the full library because it's easier for us to
maintain, and we think it'll be useful to others.
Iex is an exception-handling library.
See the IlmImfExamples directory for some code that demonstrates how
to use the IlmImf library to read and write OpenEXR files. The doc
directory contains some high-level documentation and history about the
OpenEXR format.
If you have questions about using the OpenEXR libraries, you may want
to join our developer mailing list. See http://www.openexr.com for
details.
LICENSE
-------
The OpenEXR source code distribution is free software. See the file
named COPYING (included in this distribution) for details.
WHAT'S INCLUDED
---------------
Besides the core OpenEXR libraries, the release includes several
utilities for reading, writing, viewing, and manipulating OpenEXR
images. These include:
* exrdisplay, an image viewer.
* exrheader, a utility for dumping header information.
* exrstdattr, a utility for modifying OpenEXR standard attributes.
* exrmaketiled, for generating tiled and rip/mipmapped images.
* exrenvmap, for creating OpenEXR environment maps.
* exrmakepreview, for creating preview images for OpenEXR files.
exrdisplay requires FLTK 1.1 or greater and OpenGL. exrdisplay
supports fragment shaders if you have the Nvidia Cg SDK and a graphics
card capable of running fp30 profile fragment shaders. See
exrdisplay/README for details.
We have also released an OpenEXR display driver for Renderman, a file
I/O plugin for Shake, and a file I/O plugin for Adobe Photoshop (on
both Windows and MacOS). These are packaged separately. Go to
http://www.openexr.com to download them. NOTE: the most recent
versions of these applications now have native support for OpenEXR, so
you should only use our open-source versions of the plugins if you
have an older version of the application.
BUILDING OPENEXR
----------------
Building OpenEXR requires the zlib library. If you want to build the
'exrdisplay' image viewer, you'll also need FLTK 1.1, but this program
is not required to use OpenEXR's libraries in your application.
exrdisplay can also accelerate the display of OpenEXR images if you
have the NVIDIA Cg SDK.
Your OS distribution may already include these libraries, or supply
packages for them. That is the preferred way to obtain them for use
with OpenEXR. If not, you can obtain the source code for zlib and
FLTK from:
http://www.zlib.net
http://www.fltk.org
and you can download the NVIDIA Cg SDK from
http://developer.nvidia.com.
If you're building OpenEXR on a Windows platform, see README.win32 for
instructions on how to build OpenEXR. The remainder of this file
applies only to GNU/Linux or other UNIX-like systems.
After installing the required libraries, to build OpenEXR on
GNU/Linux or other UNIX-like systems, do this:
./configure
make
make install
unless you obtained OpenEXR directly from CVS, in which case you
should first read README.CVS.
If you have the Nvidia Cg SDK and you want to build support for
fragment shaders into exrdisplay, specify the path to the SDK using
the "--with-cg-prefix" flag. There are some additional compile-time
configuration options available; type `./configure --help` for more
information.
See README.OSX for details on building OpenEXR in MacOS X.
Do `make check` to run the OpenEXR confidence tests. They should all
pass; if you find a test that does not pass on your system, please let
us know.
Other UNIX variants haven't been tested, but should be easy to build.
Let us know if you're having problems porting OpenEXR to a particular
platform.
All include files needed to use the OpenEXR libraries are installed in the
OpenEXR subdirectory of the install prefix, e.g. /usr/local/include/OpenEXR.
USING OPENEXR IN YOUR APPLICATIONS
----------------------------------
On systems with support for pkg-config, use `pkg-config --cflags
OpenEXR` for the C++ flags required to compile against OpenEXR
headers; and `pkg-config --libs OpenEXR` for the linker flags required
to link against OpenEXR libraries.

File diff suppressed because it is too large Load Diff

View File

@@ -9,20 +9,20 @@ 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_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

18
3rdparty/include/dshow/bdatypes.h vendored Executable file → Normal file
View File

@@ -10,20 +10,20 @@ extern "C" {
/*--- DirectShow Reference - DirectShow Enumerated Types */
typedef enum {
MEDIA_TRANSPORT_PACKET,
MEDIA_ELEMENTARY_STREAM,
MEDIA_MPEG2_PSI,
MEDIA_TRANSPORT_PAYLOAD
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;
DWORD dwOffset;
DWORD dwPacketLength;
DWORD dwStride;
} MPEG2_TRANSPORT_STRIDE;
typedef struct {
ULONG ulPID;
MEDIA_SAMPLE_CONTENT MediaSampleContent ;
ULONG ulPID;
MEDIA_SAMPLE_CONTENT MediaSampleContent ;
} PID_MAP;
#ifdef __cplusplus

View File

@@ -322,7 +322,7 @@ typedef struct IDirectDrawGammaControl *LPDIRECTDRAWGAMMACONTROL;
#define DDSCAPS_OPTIMIZED 0x80000000
typedef struct _DDSCAPS {
DWORD dwCaps; /* capabilities of surface wanted */
DWORD dwCaps; /* capabilities of surface wanted */
} DDSCAPS,*LPDDSCAPS;
/* DDSCAPS2.dwCaps2 */
@@ -368,21 +368,21 @@ typedef struct _DDSCAPS {
#define DDSCAPS2_STEREOSURFACELEFT 0x00080000
typedef struct _DDSCAPS2 {
DWORD dwCaps; /* capabilities of surface wanted */
DWORD dwCaps2; /* additional capabilities */
DWORD dwCaps3; /* reserved capabilities */
__extension__ union {
DWORD dwCaps4; /* low word is the depth for a volume texture */
DWORD dwVolumeDepth;
} DUMMYUNIONNAME1;
DWORD dwCaps; /* capabilities of surface wanted */
DWORD dwCaps2; /* additional capabilities */
DWORD dwCaps3; /* reserved capabilities */
__extension__ union {
DWORD dwCaps4; /* low word is the depth for a volume texture */
DWORD dwVolumeDepth;
} DUMMYUNIONNAME1;
} DDSCAPS2,*LPDDSCAPS2;
typedef struct _DDSCAPSEX {
DWORD dwCaps2;
DWORD dwCaps3;
__extension__ union {
DWORD dwCaps4;
DWORD dwVolumeDepth;
DWORD dwCaps4;
DWORD dwVolumeDepth;
} DUMMYUNIONNAME1;
} DDSCAPSEX,*LPDDSCAPSEX;
@@ -712,12 +712,12 @@ typedef DDCAPS *LPDDCAPS;
typedef struct _DDCOLORKEY
{
DWORD dwColorSpaceLowValue;/* low boundary of color space that is to
DWORD dwColorSpaceLowValue;/* low boundary of color space that is to
* be treated as Color Key, inclusive
*/
DWORD dwColorSpaceHighValue;/* high boundary of color space that is
*/
DWORD dwColorSpaceHighValue;/* high boundary of color space that is
* to be treated as Color Key, inclusive
*/
*/
} DDCOLORKEY,*LPDDCOLORKEY;
/* ddCKEYCAPS bits */
@@ -746,40 +746,40 @@ typedef struct _DDPIXELFORMAT {
DWORD dwFlags; /* 4: pixel format flags */
DWORD dwFourCC; /* 8: (FOURCC code) */
__extension__ union {
DWORD dwRGBBitCount; /* C: how many bits per pixel */
DWORD dwYUVBitCount; /* C: how many bits per pixel */
DWORD dwZBufferBitDepth; /* C: how many bits for z buffers */
DWORD dwAlphaBitDepth; /* C: how many bits for alpha channels*/
DWORD dwLuminanceBitCount;
DWORD dwBumpBitCount;
DWORD dwRGBBitCount; /* C: how many bits per pixel */
DWORD dwYUVBitCount; /* C: how many bits per pixel */
DWORD dwZBufferBitDepth; /* C: how many bits for z buffers */
DWORD dwAlphaBitDepth; /* C: how many bits for alpha channels*/
DWORD dwLuminanceBitCount;
DWORD dwBumpBitCount;
} DUMMYUNIONNAME1;
__extension__ union {
DWORD dwRBitMask; /* 10: mask for red bit*/
DWORD dwYBitMask; /* 10: mask for Y bits*/
DWORD dwStencilBitDepth;
DWORD dwLuminanceBitMask;
DWORD dwBumpDuBitMask;
DWORD dwRBitMask; /* 10: mask for red bit*/
DWORD dwYBitMask; /* 10: mask for Y bits*/
DWORD dwStencilBitDepth;
DWORD dwLuminanceBitMask;
DWORD dwBumpDuBitMask;
} DUMMYUNIONNAME2;
__extension__ union {
DWORD dwGBitMask; /* 14: mask for green bits*/
DWORD dwUBitMask; /* 14: mask for U bits*/
DWORD dwZBitMask;
DWORD dwBumpDvBitMask;
DWORD dwGBitMask; /* 14: mask for green bits*/
DWORD dwUBitMask; /* 14: mask for U bits*/
DWORD dwZBitMask;
DWORD dwBumpDvBitMask;
} DUMMYUNIONNAME3;
__extension__ union {
DWORD dwBBitMask; /* 18: mask for blue bits*/
DWORD dwVBitMask; /* 18: mask for V bits*/
DWORD dwStencilBitMask;
DWORD dwBumpLuminanceBitMask;
DWORD dwBBitMask; /* 18: mask for blue bits*/
DWORD dwVBitMask; /* 18: mask for V bits*/
DWORD dwStencilBitMask;
DWORD dwBumpLuminanceBitMask;
} DUMMYUNIONNAME4;
__extension__ union {
DWORD dwRGBAlphaBitMask; /* 1C: mask for alpha channel */
DWORD dwYUVAlphaBitMask; /* 1C: mask for alpha channel */
DWORD dwLuminanceAlphaBitMask;
DWORD dwRGBZBitMask; /* 1C: mask for Z channel */
DWORD dwYUVZBitMask; /* 1C: mask for Z channel */
DWORD dwRGBAlphaBitMask; /* 1C: mask for alpha channel */
DWORD dwYUVAlphaBitMask; /* 1C: mask for alpha channel */
DWORD dwLuminanceAlphaBitMask;
DWORD dwRGBZBitMask; /* 1C: mask for Z channel */
DWORD dwYUVZBitMask; /* 1C: mask for Z channel */
} DUMMYUNIONNAME5;
/* 20: next structure */
/* 20: next structure */
} DDPIXELFORMAT,*LPDDPIXELFORMAT;
#ifndef MAKEFOURCC
@@ -980,79 +980,79 @@ typedef struct _DDPIXELFORMAT {
typedef struct _DDSURFACEDESC
{
DWORD dwSize; /* 0: size of the DDSURFACEDESC structure*/
DWORD dwFlags; /* 4: determines what fields are valid*/
DWORD dwHeight; /* 8: height of surface to be created*/
DWORD dwWidth; /* C: width of input surface*/
__extension__ union {
LONG lPitch; /* 10: distance to start of next line (return value only)*/
DWORD dwLinearSize;
} DUMMYUNIONNAME1;
DWORD dwBackBufferCount;/* 14: number of back buffers requested*/
__extension__ union {
DWORD dwMipMapCount;/* 18:number of mip-map levels requested*/
DWORD dwZBufferBitDepth;/*18: depth of Z buffer requested*/
DWORD dwRefreshRate;/* 18:refresh rate (used when display mode is described)*/
} DUMMYUNIONNAME2;
DWORD dwAlphaBitDepth;/* 1C:depth of alpha buffer requested*/
DWORD dwReserved; /* 20:reserved*/
LPVOID lpSurface; /* 24:pointer to the associated surface memory*/
DDCOLORKEY ddckCKDestOverlay;/* 28: CK for dest overlay use*/
DDCOLORKEY ddckCKDestBlt; /* 30: CK for destination blt use*/
DDCOLORKEY ddckCKSrcOverlay;/* 38: CK for source overlay use*/
DDCOLORKEY ddckCKSrcBlt; /* 40: CK for source blt use*/
DDPIXELFORMAT ddpfPixelFormat;/* 48: pixel format description of the surface*/
DDSCAPS ddsCaps; /* 68: direct draw surface caps */
DWORD dwSize; /* 0: size of the DDSURFACEDESC structure*/
DWORD dwFlags; /* 4: determines what fields are valid*/
DWORD dwHeight; /* 8: height of surface to be created*/
DWORD dwWidth; /* C: width of input surface*/
__extension__ union {
LONG lPitch; /* 10: distance to start of next line (return value only)*/
DWORD dwLinearSize;
} DUMMYUNIONNAME1;
DWORD dwBackBufferCount;/* 14: number of back buffers requested*/
__extension__ union {
DWORD dwMipMapCount;/* 18:number of mip-map levels requested*/
DWORD dwZBufferBitDepth;/*18: depth of Z buffer requested*/
DWORD dwRefreshRate;/* 18:refresh rate (used when display mode is described)*/
} DUMMYUNIONNAME2;
DWORD dwAlphaBitDepth;/* 1C:depth of alpha buffer requested*/
DWORD dwReserved; /* 20:reserved*/
LPVOID lpSurface; /* 24:pointer to the associated surface memory*/
DDCOLORKEY ddckCKDestOverlay;/* 28: CK for dest overlay use*/
DDCOLORKEY ddckCKDestBlt; /* 30: CK for destination blt use*/
DDCOLORKEY ddckCKSrcOverlay;/* 38: CK for source overlay use*/
DDCOLORKEY ddckCKSrcBlt; /* 40: CK for source blt use*/
DDPIXELFORMAT ddpfPixelFormat;/* 48: pixel format description of the surface*/
DDSCAPS ddsCaps; /* 68: direct draw surface caps */
} DDSURFACEDESC,*LPDDSURFACEDESC;
typedef struct _DDSURFACEDESC2
{
DWORD dwSize; /* 0: size of the DDSURFACEDESC2 structure*/
DWORD dwFlags; /* 4: determines what fields are valid*/
DWORD dwHeight; /* 8: height of surface to be created*/
DWORD dwWidth; /* C: width of input surface*/
__extension__ union {
LONG lPitch; /*10: distance to start of next line (return value only)*/
DWORD dwLinearSize; /*10: formless late-allocated optimized surface size */
} DUMMYUNIONNAME1;
DWORD dwBackBufferCount;/* 14: number of back buffers requested*/
__extension__ union {
DWORD dwMipMapCount;/* 18:number of mip-map levels requested*/
DWORD dwRefreshRate;/* 18:refresh rate (used when display mode is described)*/
DWORD dwSrcVBHandle;/* 18:source used in VB::Optimize */
} DUMMYUNIONNAME2;
DWORD dwAlphaBitDepth;/* 1C:depth of alpha buffer requested*/
DWORD dwReserved; /* 20:reserved*/
LPVOID lpSurface; /* 24:pointer to the associated surface memory*/
__extension__ union {
DDCOLORKEY ddckCKDestOverlay; /* 28: CK for dest overlay use*/
DWORD dwEmptyFaceColor; /* 28: color for empty cubemap faces */
} DUMMYUNIONNAME3;
DDCOLORKEY ddckCKDestBlt; /* 30: CK for destination blt use*/
DDCOLORKEY ddckCKSrcOverlay;/* 38: CK for source overlay use*/
DDCOLORKEY ddckCKSrcBlt; /* 40: CK for source blt use*/
DWORD dwSize; /* 0: size of the DDSURFACEDESC2 structure*/
DWORD dwFlags; /* 4: determines what fields are valid*/
DWORD dwHeight; /* 8: height of surface to be created*/
DWORD dwWidth; /* C: width of input surface*/
__extension__ union {
LONG lPitch; /*10: distance to start of next line (return value only)*/
DWORD dwLinearSize; /*10: formless late-allocated optimized surface size */
} DUMMYUNIONNAME1;
DWORD dwBackBufferCount;/* 14: number of back buffers requested*/
__extension__ union {
DWORD dwMipMapCount;/* 18:number of mip-map levels requested*/
DWORD dwRefreshRate;/* 18:refresh rate (used when display mode is described)*/
DWORD dwSrcVBHandle;/* 18:source used in VB::Optimize */
} DUMMYUNIONNAME2;
DWORD dwAlphaBitDepth;/* 1C:depth of alpha buffer requested*/
DWORD dwReserved; /* 20:reserved*/
LPVOID lpSurface; /* 24:pointer to the associated surface memory*/
__extension__ union {
DDCOLORKEY ddckCKDestOverlay; /* 28: CK for dest overlay use*/
DWORD dwEmptyFaceColor; /* 28: color for empty cubemap faces */
} DUMMYUNIONNAME3;
DDCOLORKEY ddckCKDestBlt; /* 30: CK for destination blt use*/
DDCOLORKEY ddckCKSrcOverlay;/* 38: CK for source overlay use*/
DDCOLORKEY ddckCKSrcBlt; /* 40: CK for source blt use*/
__extension__ union {
DDPIXELFORMAT ddpfPixelFormat;/* 48: pixel format description of the surface*/
DWORD dwFVF; /* 48: vertex format description of vertex buffers */
} DUMMYUNIONNAME4;
DDSCAPS2 ddsCaps; /* 68: DDraw surface caps */
DWORD dwTextureStage; /* 78: stage in multitexture cascade */
__extension__ union {
DDPIXELFORMAT ddpfPixelFormat;/* 48: pixel format description of the surface*/
DWORD dwFVF; /* 48: vertex format description of vertex buffers */
} DUMMYUNIONNAME4;
DDSCAPS2 ddsCaps; /* 68: DDraw surface caps */
DWORD dwTextureStage; /* 78: stage in multitexture cascade */
} DDSURFACEDESC2,*LPDDSURFACEDESC2;
typedef struct _DDARGB {
BYTE blue;
BYTE green;
BYTE red;
BYTE alpha;
BYTE blue;
BYTE green;
BYTE red;
BYTE alpha;
} DDARGB, *LPDDARGB;
typedef struct _DDRGBA {
BYTE red;
BYTE green;
BYTE blue;
BYTE alpha;
BYTE red;
BYTE green;
BYTE blue;
BYTE alpha;
} DDRGBA, *LPDDRGBA;
@@ -1066,22 +1066,22 @@ typedef struct _DDRGBA {
#define DDCOLOR_COLORENABLE 0x00000040
typedef struct {
DWORD dwSize;
DWORD dwFlags;
LONG lBrightness;
LONG lContrast;
LONG lHue;
LONG lSaturation;
LONG lSharpness;
LONG lGamma;
LONG lColorEnable;
DWORD dwReserved1;
DWORD dwSize;
DWORD dwFlags;
LONG lBrightness;
LONG lContrast;
LONG lHue;
LONG lSaturation;
LONG lSharpness;
LONG lGamma;
LONG lColorEnable;
DWORD dwReserved1;
} DDCOLORCONTROL,*LPDDCOLORCONTROL;
typedef struct {
WORD red[256];
WORD green[256];
WORD blue[256];
WORD red[256];
WORD green[256];
WORD blue[256];
} DDGAMMARAMP,*LPDDGAMMARAMP;
typedef BOOL (CALLBACK *LPDDENUMCALLBACKA)(GUID *, LPSTR, LPSTR, LPVOID);
@@ -1161,7 +1161,7 @@ typedef struct _DDBLTFX
{
DWORD dwFillColor; /* color in RGB or Palettized */
DWORD dwFillDepth; /* depth value for z-buffer */
DWORD dwFillPixel; /* pixel val for RGBA or RGBZ */
DWORD dwFillPixel; /* pixel val for RGBA or RGBZ */
LPDIRECTDRAWSURFACE lpDDSPattern; /* Surface to use as pattern */
} DUMMYUNIONNAME5;
DDCOLORKEY ddckDestColorkey; /* DestColorkey override */

View File

@@ -932,14 +932,14 @@ DECLARE_INTERFACE_(IDirectSoundNotify,IUnknown)
#define DS3D_DEFAULTCONEOUTSIDEVOLUME DSBVOLUME_MAX
typedef struct _DS3DLISTENER {
DWORD dwSize;
D3DVECTOR vPosition;
D3DVECTOR vVelocity;
D3DVECTOR vOrientFront;
D3DVECTOR vOrientTop;
D3DVALUE flDistanceFactor;
D3DVALUE flRolloffFactor;
D3DVALUE flDopplerFactor;
DWORD dwSize;
D3DVECTOR vPosition;
D3DVECTOR vVelocity;
D3DVECTOR vOrientFront;
D3DVECTOR vOrientTop;
D3DVALUE flDistanceFactor;
D3DVALUE flRolloffFactor;
D3DVALUE flDopplerFactor;
} DS3DLISTENER, *LPDS3DLISTENER;
typedef const DS3DLISTENER *LPCDS3DLISTENER;
@@ -1019,16 +1019,16 @@ DECLARE_INTERFACE_(IDirectSound3DListener,IUnknown)
* IDirectSound3DBuffer interface
*/
typedef struct _DS3DBUFFER {
DWORD dwSize;
D3DVECTOR vPosition;
D3DVECTOR vVelocity;
DWORD dwInsideConeAngle;
DWORD dwOutsideConeAngle;
D3DVECTOR vConeOrientation;
LONG lConeOutsideVolume;
D3DVALUE flMinDistance;
D3DVALUE flMaxDistance;
DWORD dwMode;
DWORD dwSize;
D3DVECTOR vPosition;
D3DVECTOR vVelocity;
DWORD dwInsideConeAngle;
DWORD dwOutsideConeAngle;
D3DVECTOR vConeOrientation;
LONG lConeOutsideVolume;
D3DVALUE flMinDistance;
D3DVALUE flMaxDistance;
DWORD dwMode;
} DS3DBUFFER, *LPDS3DBUFFER;
typedef const DS3DBUFFER *LPCDS3DBUFFER;

View File

@@ -24,24 +24,24 @@
#define AMCONTROL_PAD_TO_16x9 0x00000004
enum AM_MPEG2Level {
AM_MPEG2Level_Low = 1,
AM_MPEG2Level_Main,
AM_MPEG2Level_High1440,
AM_MPEG2Level_High
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
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_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 {

View File

@@ -58,8 +58,8 @@ extern "C" {
#define EC_USER 0x8000
/*--- DirectShow Reference - DirectShow Structures */
typedef struct {
HRESULT hrStatus;
void *pData;
HRESULT hrStatus;
void *pData;
} AM_WMT_EVENT_DATA;
#ifdef __cplusplus

View File

@@ -5,187 +5,187 @@
*/
OUR_GUID_ENTRY(MEDIATYPE_MPEG2_PACK,
0x36523B13,0x8EE5,0x11d1,0x8C,0xA3,0x00,0x60,0xB0,0x57,0x66,0x4A)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
0xc892e55b,0x252d,0x42b5,0xa3,0x16,0xd9,0x97,0xe7,0xa5,0xd9,0x95)
#endif
/* ( (NTDDI_VERSION >= NTDDI_WINXPSP2) && (NTDDI_VERSION < NTDDI_WS03) ) ||
(NTDDI_VERSION >= NTDDI_WS03SP1) */
(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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
0x9c24a977,0x951,0x451a,0x80,0x6,0xe,0x49,0xbd,0x28,0xcd,0x5f)
#endif /* NTDDI_VERSION >= NTDDI_WS03SP1 */

View File

@@ -2097,12 +2097,12 @@ typedef LONGLONG REFERENCE_TIME;
DWORD dwMerit;
union {
struct {
ULONG cPins;
const REGFILTERPINS *rgPins;
ULONG cPins;
const REGFILTERPINS *rgPins;
};
struct {
ULONG cPins2;
const REGFILTERPINS2 *rgPins2;
ULONG cPins2;
const REGFILTERPINS2 *rgPins2;
};
};
} REGFILTER2;

View File

@@ -1,32 +1,32 @@
// ISO C9x compliant inttypes.h for Microsoft Visual Studio
// Based on ISO/IEC 9899:TC2 Committee draft (May 6, 2005) WG14/N1124
//
// Based on ISO/IEC 9899:TC2 Committee draft (May 6, 2005) WG14/N1124
//
// Copyright (c) 2006 Alexander Chemeris
//
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are met:
//
//
// 1. Redistributions of source code must retain the above copyright notice,
// this list of conditions and the following disclaimer.
//
//
// 2. Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
//
//
// 3. The name of the author may be used to endorse or promote products
// derived from this software without specific prior written permission.
//
//
// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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,
// 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.
//
//
///////////////////////////////////////////////////////////////////////////////
#ifndef _MSC_VER // [

View File

@@ -1,32 +1,32 @@
// ISO C9x compliant stdint.h for Microsoft Visual Studio
// Based on ISO/IEC 9899:TC2 Committee draft (May 6, 2005) WG14/N1124
//
// Based on ISO/IEC 9899:TC2 Committee draft (May 6, 2005) WG14/N1124
//
// Copyright (c) 2006 Alexander Chemeris
//
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are met:
//
//
// 1. Redistributions of source code must retain the above copyright notice,
// this list of conditions and the following disclaimer.
//
//
// 2. Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
//
//
// 3. The name of the author may be used to endorse or promote products
// derived from this software without specific prior written permission.
//
//
// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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,
// 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.
//
//
///////////////////////////////////////////////////////////////////////////////
#ifndef _MSC_STDINT_H_ // [
@@ -39,7 +39,7 @@
// error C2733: second C linkage of overloaded function 'wmemchr' not allowed
#if (_MSC_VER < 1300) && defined(__cplusplus)
extern "C++" {
#endif
#endif
# include <wchar.h>
#if (_MSC_VER < 1300) && defined(__cplusplus)
}

BIN
3rdparty/lib/armeabi-v7a/libnative_camera_r2.3.3.so vendored Normal file → Executable file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
3rdparty/lib/mips/libnative_camera_r4.0.3.so vendored Executable file

Binary file not shown.

BIN
3rdparty/lib/mips/libnative_camera_r4.1.1.so vendored Executable file

Binary file not shown.

BIN
3rdparty/lib/mips/libnative_camera_r4.2.0.so vendored Executable file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
3rdparty/lib/x86/libnative_camera_r4.1.1.so vendored Executable file

Binary file not shown.

BIN
3rdparty/lib/x86/libnative_camera_r4.2.0.so vendored Executable file

Binary file not shown.

View File

@@ -19,12 +19,13 @@ file(GLOB lib_ext_hdrs jasper/*.h)
add_library(${JASPER_LIBRARY} STATIC ${lib_srcs} ${lib_hdrs} ${lib_ext_hdrs})
if(MSVC)
if(WIN32 AND NOT MINGW)
add_definitions(-DJAS_WIN_MSVC_BUILD)
endif()
endif(WIN32 AND NOT MINGW)
ocv_warnings_disable(CMAKE_C_FLAGS -Wno-implicit-function-declaration -Wno-uninitialized -Wmissing-prototypes -Wmissing-declarations -Wunused -Wshadow -Wsign-compare
/wd4013 /wd4018 /wd4715 /wd4244 /wd4101 /wd4267)
ocv_warnings_disable(CMAKE_C_FLAGS -Wno-implicit-function-declaration -Wno-uninitialized -Wmissing-prototypes -Wmissing-declarations -Wunused -Wshadow -Wsign-compare)
ocv_warnings_disable(CMAKE_C_FLAGS -Wunused-parameter) # clang
ocv_warnings_disable(CMAKE_C_FLAGS /wd4013 /wd4018 /wd4101 /wd4244 /wd4267 /wd4715) # vs2005
if(UNIX)
if(CMAKE_COMPILER_IS_GNUCXX OR CV_ICC)

162
3rdparty/libjasper/changelog vendored Normal file
View File

@@ -0,0 +1,162 @@
jasper (1.900.1-13) unstable; urgency=high
* Fix CVE-2011-4516 and CVE-2011-4517: Two buffer overflow issues possibly
exploitable via specially crafted input files (Closes: #652649)
Thanks to Red Hat and Michael Gilbert
-- Roland Stigge <stigge@antcom.de> Wed, 04 Jan 2012 19:14:40 +0100
jasper (1.900.1-12) unstable; urgency=low
* Added patch to fix filename buffer overflow, thanks to Jonas Smedegard
and Alex Cherepanov from ghostscript (Closes: #649833)
-- Roland Stigge <stigge@antcom.de> Sun, 27 Nov 2011 19:56:01 +0100
jasper (1.900.1-11) unstable; urgency=low
* Added Multiarch support, thanks to Colin Watson (Closes: #645118)
-- Roland Stigge <stigge@antcom.de> Wed, 02 Nov 2011 17:16:10 +0100
jasper (1.900.1-10) unstable; urgency=low
* Added debian/watch
* debian/patches/01-misc-fixes.patch:
- Separated out config.{guess,sub}
-- Roland Stigge <stigge@antcom.de> Mon, 15 Aug 2011 19:09:29 +0200
jasper (1.900.1-9) unstable; urgency=low
* Switch to dpkg-source 3.0 (quilt) format
* Using new dh 7 build system
-- Roland Stigge <stigge@antcom.de> Tue, 12 Jul 2011 20:21:21 +0200
jasper (1.900.1-8) unstable; urgency=low
* Removed unneeded .la file (Closes: #633162)
* debian/control:
- Standards-Version: 3.9.2
- use libjpeg8-dev instead of libjpeg62-dev
-- Roland Stigge <stigge@antcom.de> Mon, 11 Jul 2011 21:27:24 +0200
jasper (1.900.1-7) unstable; urgency=low
* Acknowledge NMU
* Added patch to fix Debian patch for CVE-2008-3521 (Closes: #506739)
* debian/control: Standards-Version: 3.8.4
-- Roland Stigge <stigge@antcom.de> Sun, 21 Feb 2010 16:09:45 +0100
jasper (1.900.1-6.1) unstable; urgency=low
* Non-maintainer upload.
* This is a fix for the GeoJP2 patch introduced in 1.900.1-5 which caused
GDAL faulting. Thanks Even Rouault. (Closes: #553429)
-- Francesco Paolo Lovergine <frankie@debian.org> Wed, 28 Oct 2009 09:39:28 +0100
jasper (1.900.1-6) unstable; urgency=low
* Reverted to jasper 1.900.1-6 because 1.900.1-5.1 messed up (see #528543)
but 1.900.1-5 wasn't available anymore. (Closes: #514296, #528543)
* Re-applied patch from #275619 as in 1.900.1-5
* debian/control: Standards-Version: 3.8.2
* Applied patch by Nico Golde (Closes: #501021)
- CVE-2008-3522[0]: Buffer overflow.
- CVE-2008-3521[1]: unsecure temporary files handling.
- CVE-2008-3520[2]: Multiple integer overflows.
-- Roland Stigge <stigge@antcom.de> Sat, 20 Jun 2009 15:21:16 +0200
jasper (1.900.1-5.1) unstable; urgency=low
* Non-maintainer upload.
* add patches/02_security.dpatch to fix various CVEs (Closes: #501021):
+ CVE-2008-3522[0]: Buffer overflow.
+ CVE-2008-3521[1]: unsecure temporary files handling.
+ CVE-2008-3520[2]: Multiple integer overflows.
-- Pierre Habouzit <madcoder@debian.org> Sun, 12 Oct 2008 21:40:59 +0200
jasper (1.900.1-5) unstable; urgency=low
* Added GeoJP2 patch by Sven Geggus <sven.geggus@iitb.fraunhofer.de>
(Closes: #275619)
* debian/control: Standards-Version: 3.8.0
-- Roland Stigge <stigge@antcom.de> Sun, 08 Jun 2008 13:14:24 +0200
jasper (1.900.1-4) unstable; urgency=low
* src/libjasper/jpc/jpc_dec.c: Extended assert() to accept 4 color
components (Closes: #469786)
* debian/rules: improve "make distclean", thanks to lintian
* debian/control:
- Standards-Version: 3.7.3
- ${Source-Version} -> ${binary:Version}
- Removed self-dependencies of libjasper-dev
-- Roland Stigge <stigge@antcom.de> Sun, 09 Mar 2008 11:53:44 +0100
jasper (1.900.1-3) unstable; urgency=low
* Fixed segfaults on broken images (Closes: #413041)
-- Roland Stigge <stigge@antcom.de> Tue, 10 Apr 2007 10:05:10 +0200
jasper (1.900.1-2) experimental; urgency=low
* Added jas_tmr.h to -dev package (Closes: #414705)
-- Roland Stigge <stigge@antcom.de> Tue, 13 Mar 2007 14:23:58 +0100
jasper (1.900.1-1) experimental; urgency=low
* New upstream release
* debian/control:
- Standards-Version: 3.7.2
- Build-Depends: freeglut3-dev instead of libglut3-dev (Closes: #394496)
* Renamed packages to libjasper1, libjasper-dev, libjasper-runtime according
to upstream shared library naming change
-- Roland Stigge <stigge@antcom.de> Fri, 26 Jan 2007 14:22:18 +0100
jasper (1.701.0-2) unstable; urgency=low
* Prevent compression of pdf documents in binary packages
* Added man pages for the executables (Closes: #250077)
* Again renamed binary packages to reflect Policy:
- libjasper-1.701-1
- libjasper-1.701-dev (Provides, Replaces and Conflicts: libjasper-dev)
- libjasper-runtime
-- Roland Stigge <stigge@antcom.de> Sun, 20 Jun 2004 13:54:10 +0200
jasper (1.701.0-1) unstable; urgency=low
* New maintainer (Closes: #217099)
* New upstream release (Closes: #217570)
- new DFSG-compliant license (Closes: #218999, #245075)
- includes newer libtool related files (Closes: #210383)
* debian/control:
- Standards-Version: 3.6.1
- Changed binary package names, fixed interdependencies (Closes: #211592)
libjasper-1.700-2 => libjasper1
libjasper-1.700-2-dev => libjasper-dev
libjasper-progs => libjasper-runtime
(new packages conflicting and replacing the old ones)
- Added libxi-dev, libxmu-dev, libxt-dev to Build-Depends
(Closes: #250481)
-- Roland Stigge <stigge@antcom.de> Sat, 19 Jun 2004 23:19:32 +0200
jasper (1.700.2-1) unstable; urgency=low
* Initial Release.
-- Christopher L Cheney <ccheney@debian.org> Fri, 22 Aug 2003 01:30:00 -0500

62
3rdparty/libjasper/copyright vendored Normal file
View File

@@ -0,0 +1,62 @@
This package was debianized by Christopher L Cheney <ccheney@debian.org> on
Fri, 22 Aug 2003 01:33:34 -0500.
The current maintainer is Roland Stigge <stigge@antcom.de>
It was downloaded from http://www.ece.uvic.ca/~mdadams/jasper/
Upstream Author: Michael Adams <mdadams@ece.uvic.ca>
License:
JasPer License Version 2.0
Copyright (c) 1999-2000 Image Power, Inc.
Copyright (c) 1999-2000 The University of British Columbia
Copyright (c) 2001-2003 Michael David Adams
All rights reserved.
Permission is hereby granted, free of charge, to any person (the
"User") obtaining a copy of this software and associated documentation
files (the "Software"), to deal in the Software without restriction,
including without limitation the rights to use, copy, modify, merge,
publish, distribute, and/or sell copies of the Software, and to permit
persons to whom the Software is furnished to do so, subject to the
following conditions:
1. The above copyright notices and this permission notice (which
includes the disclaimer below) shall be included in all copies or
substantial portions of the Software.
2. The name of a copyright holder shall not be used to endorse or
promote products derived from the Software without specific prior
written permission.
THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS
LICENSE. NO USE OF THE SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER
THIS DISCLAIMER. THE SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS
"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 OF THIRD PARTY RIGHTS. IN NO
EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. NO ASSURANCES ARE
PROVIDED BY THE COPYRIGHT HOLDERS THAT THE SOFTWARE DOES NOT INFRINGE
THE PATENT OR OTHER INTELLECTUAL PROPERTY RIGHTS OF ANY OTHER ENTITY.
EACH COPYRIGHT HOLDER DISCLAIMS ANY LIABILITY TO THE USER FOR CLAIMS
BROUGHT BY ANY OTHER ENTITY BASED ON INFRINGEMENT OF INTELLECTUAL
PROPERTY RIGHTS OR OTHERWISE. AS A CONDITION TO EXERCISING THE RIGHTS
GRANTED HEREUNDER, EACH USER HEREBY ASSUMES SOLE RESPONSIBILITY TO SECURE
ANY OTHER INTELLECTUAL PROPERTY RIGHTS NEEDED, IF ANY. THE SOFTWARE
IS NOT FAULT-TOLERANT AND IS NOT INTENDED FOR USE IN MISSION-CRITICAL
SYSTEMS, SUCH AS THOSE USED IN THE OPERATION OF NUCLEAR FACILITIES,
AIRCRAFT NAVIGATION OR COMMUNICATION SYSTEMS, AIR TRAFFIC CONTROL
SYSTEMS, DIRECT LIFE SUPPORT MACHINES, OR WEAPONS SYSTEMS, IN WHICH
THE FAILURE OF THE SOFTWARE OR SYSTEM COULD LEAD DIRECTLY TO DEATH,
PERSONAL INJURY, OR SEVERE PHYSICAL OR ENVIRONMENTAL DAMAGE ("HIGH
RISK ACTIVITIES"). THE COPYRIGHT HOLDERS SPECIFICALLY DISCLAIM ANY
EXPRESS OR IMPLIED WARRANTY OF FITNESS FOR HIGH RISK ACTIVITIES.

File diff suppressed because it is too large Load Diff

View File

@@ -4,15 +4,15 @@
*/
/* __START_OF_JASPER_LICENSE__
*
*
* JasPer License Version 2.0
*
*
* Copyright (c) 2001-2006 Michael David Adams
* Copyright (c) 1999-2000 Image Power, Inc.
* Copyright (c) 1999-2000 The University of British Columbia
*
*
* All rights reserved.
*
*
* Permission is hereby granted, free of charge, to any person (the
* "User") obtaining a copy of this software and associated documentation
* files (the "Software"), to deal in the Software without restriction,
@@ -20,15 +20,15 @@
* publish, distribute, and/or sell copies of the Software, and to permit
* persons to whom the Software is furnished to do so, subject to the
* following conditions:
*
*
* 1. The above copyright notices and this permission notice (which
* includes the disclaimer below) shall be included in all copies or
* substantial portions of the Software.
*
*
* 2. The name of a copyright holder shall not be used to endorse or
* promote products derived from the Software without specific prior
* written permission.
*
*
* THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS
* LICENSE. NO USE OF THE SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER
* THIS DISCLAIMER. THE SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS
@@ -55,7 +55,7 @@
* PERSONAL INJURY, OR SEVERE PHYSICAL OR ENVIRONMENTAL DAMAGE ("HIGH
* RISK ACTIVITIES"). THE COPYRIGHT HOLDERS SPECIFICALLY DISCLAIM ANY
* EXPRESS OR IMPLIED WARRANTY OF FITNESS FOR HIGH RISK ACTIVITIES.
*
*
* __END_OF_JASPER_LICENSE__
*/
@@ -83,22 +83,22 @@ static int jas_dbglevel = 0;
/* Set the library debug level. */
int jas_setdbglevel(int dbglevel)
{
int olddbglevel;
int olddbglevel;
/* Save the old debug level. */
olddbglevel = jas_dbglevel;
/* Save the old debug level. */
olddbglevel = jas_dbglevel;
/* Change the debug level. */
jas_dbglevel = dbglevel;
/* Change the debug level. */
jas_dbglevel = dbglevel;
/* Return the old debug level. */
return olddbglevel;
/* Return the old debug level. */
return olddbglevel;
}
/* Get the library debug level. */
int jas_getdbglevel()
{
return jas_dbglevel;
return jas_dbglevel;
}
/******************************************************************************\
@@ -108,30 +108,30 @@ int jas_getdbglevel()
/* Perform formatted output to standard error. */
int jas_eprintf(const char *fmt, ...)
{
int ret;
va_list ap;
int ret;
va_list ap;
va_start(ap, fmt);
ret = vfprintf(stderr, fmt, ap);
va_end(ap);
return ret;
va_start(ap, fmt);
ret = vfprintf(stderr, fmt, ap);
va_end(ap);
return ret;
}
/* Dump memory to a stream. */
int jas_memdump(FILE *out, void *data, size_t len)
{
size_t i;
size_t j;
uchar *dp;
dp = data;
for (i = 0; i < len; i += 16) {
fprintf(out, "%04x:", (int)i);
for (j = 0; j < 16; ++j) {
if (i + j < len) {
fprintf(out, " %02x", dp[i + j]);
}
}
fprintf(out, "\n");
}
return 0;
size_t i;
size_t j;
uchar *dp;
dp = data;
for (i = 0; i < len; i += 16) {
fprintf(out, "%04x:", (int)i);
for (j = 0; j < 16; ++j) {
if (i + j < len) {
fprintf(out, " %02x", dp[i + j]);
}
}
fprintf(out, "\n");
}
return 0;
}

View File

@@ -2,19 +2,19 @@
* Copyright (c) 1999-2000, Image Power, Inc. and the University of
* British Columbia.
* Copyright (c) 2001-2002 Michael David Adams.
* All rights reserved.
* All rights reserved.
*/
/* __START_OF_JASPER_LICENSE__
*
*
* JasPer License Version 2.0
*
*
* Copyright (c) 2001-2006 Michael David Adams
* Copyright (c) 1999-2000 Image Power, Inc.
* Copyright (c) 1999-2000 The University of British Columbia
*
*
* All rights reserved.
*
*
* Permission is hereby granted, free of charge, to any person (the
* "User") obtaining a copy of this software and associated documentation
* files (the "Software"), to deal in the Software without restriction,
@@ -22,15 +22,15 @@
* publish, distribute, and/or sell copies of the Software, and to permit
* persons to whom the Software is furnished to do so, subject to the
* following conditions:
*
*
* 1. The above copyright notices and this permission notice (which
* includes the disclaimer below) shall be included in all copies or
* substantial portions of the Software.
*
*
* 2. The name of a copyright holder shall not be used to endorse or
* promote products derived from the Software without specific prior
* written permission.
*
*
* THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS
* LICENSE. NO USE OF THE SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER
* THIS DISCLAIMER. THE SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS
@@ -57,7 +57,7 @@
* PERSONAL INJURY, OR SEVERE PHYSICAL OR ENVIRONMENTAL DAMAGE ("HIGH
* RISK ACTIVITIES"). THE COPYRIGHT HOLDERS SPECIFICALLY DISCLAIM ANY
* EXPRESS OR IMPLIED WARRANTY OF FITNESS FOR HIGH RISK ACTIVITIES.
*
*
* __END_OF_JASPER_LICENSE__
*/
@@ -91,78 +91,78 @@ char *jas_optarg = 0;
static jas_opt_t *jas_optlookup(jas_opt_t *opts, char *name)
{
jas_opt_t *opt;
jas_opt_t *opt;
for (opt = opts; opt->id >= 0 && opt->name; ++opt) {
if (!strcmp(opt->name, name)) {
return opt;
}
}
return 0;
for (opt = opts; opt->id >= 0 && opt->name; ++opt) {
if (!strcmp(opt->name, name)) {
return opt;
}
}
return 0;
}
int jas_getopt(int argc, char **argv, jas_opt_t *opts)
{
char *cp;
int id;
int hasarg;
jas_opt_t *opt;
char *s;
char *cp;
int id;
int hasarg;
jas_opt_t *opt;
char *s;
if (!jas_optind) {
jas_optind = JAS_MIN(1, argc);
}
while (jas_optind < argc) {
s = cp = argv[jas_optind];
if (*cp == '-') {
/* We are processing an option. */
++jas_optind;
if (*++cp == '-') {
/* We are processing a long option. */
++cp;
if (*cp == '\0') {
/* This is the end of the options. */
return JAS_GETOPT_EOF;
}
if (!(opt = jas_optlookup(opts, cp))) {
if (jas_opterr) {
jas_eprintf("unknown long option %s\n", s);
}
return JAS_GETOPT_ERR;
}
hasarg = (opt->flags & JAS_OPT_HASARG) != 0;
id = opt->id;
} else {
/* We are processing a short option. */
if (strlen(cp) != 1 ||
!(opt = jas_optlookup(opts, cp))) {
if (jas_opterr) {
jas_eprintf("unknown short option %s\n", s);
}
return JAS_GETOPT_ERR;
}
hasarg = (opt->flags & JAS_OPT_HASARG) != 0;
id = opt->id;
}
if (hasarg) {
/* The option has an argument. */
if (jas_optind >= argc) {
if (jas_opterr) {
jas_eprintf("missing argument for option %s\n", s);
}
return JAS_GETOPT_ERR;
}
jas_optarg = argv[jas_optind];
++jas_optind;
} else {
/* The option does not have an argument. */
jas_optarg = 0;
}
return id;
} else {
/* We are not processing an option. */
return JAS_GETOPT_EOF;
}
}
return JAS_GETOPT_EOF;
if (!jas_optind) {
jas_optind = JAS_MIN(1, argc);
}
while (jas_optind < argc) {
s = cp = argv[jas_optind];
if (*cp == '-') {
/* We are processing an option. */
++jas_optind;
if (*++cp == '-') {
/* We are processing a long option. */
++cp;
if (*cp == '\0') {
/* This is the end of the options. */
return JAS_GETOPT_EOF;
}
if (!(opt = jas_optlookup(opts, cp))) {
if (jas_opterr) {
jas_eprintf("unknown long option %s\n", s);
}
return JAS_GETOPT_ERR;
}
hasarg = (opt->flags & JAS_OPT_HASARG) != 0;
id = opt->id;
} else {
/* We are processing a short option. */
if (strlen(cp) != 1 ||
!(opt = jas_optlookup(opts, cp))) {
if (jas_opterr) {
jas_eprintf("unknown short option %s\n", s);
}
return JAS_GETOPT_ERR;
}
hasarg = (opt->flags & JAS_OPT_HASARG) != 0;
id = opt->id;
}
if (hasarg) {
/* The option has an argument. */
if (jas_optind >= argc) {
if (jas_opterr) {
jas_eprintf("missing argument for option %s\n", s);
}
return JAS_GETOPT_ERR;
}
jas_optarg = argv[jas_optind];
++jas_optind;
} else {
/* The option does not have an argument. */
jas_optarg = 0;
}
return id;
} else {
/* We are not processing an option. */
return JAS_GETOPT_EOF;
}
}
return JAS_GETOPT_EOF;
}

File diff suppressed because it is too large Load Diff

View File

@@ -4,15 +4,15 @@
*/
/* __START_OF_JASPER_LICENSE__
*
*
* JasPer License Version 2.0
*
*
* Copyright (c) 2001-2006 Michael David Adams
* Copyright (c) 1999-2000 Image Power, Inc.
* Copyright (c) 1999-2000 The University of British Columbia
*
*
* All rights reserved.
*
*
* Permission is hereby granted, free of charge, to any person (the
* "User") obtaining a copy of this software and associated documentation
* files (the "Software"), to deal in the Software without restriction,
@@ -20,15 +20,15 @@
* publish, distribute, and/or sell copies of the Software, and to permit
* persons to whom the Software is furnished to do so, subject to the
* following conditions:
*
*
* 1. The above copyright notices and this permission notice (which
* includes the disclaimer below) shall be included in all copies or
* substantial portions of the Software.
*
*
* 2. The name of a copyright holder shall not be used to endorse or
* promote products derived from the Software without specific prior
* written permission.
*
*
* THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS
* LICENSE. NO USE OF THE SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER
* THIS DISCLAIMER. THE SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS
@@ -55,7 +55,7 @@
* PERSONAL INJURY, OR SEVERE PHYSICAL OR ENVIRONMENTAL DAMAGE ("HIGH
* RISK ACTIVITIES"). THE COPYRIGHT HOLDERS SPECIFICALLY DISCLAIM ANY
* EXPRESS OR IMPLIED WARRANTY OF FITNESS FOR HIGH RISK ACTIVITIES.
*
*
* __END_OF_JASPER_LICENSE__
*/
@@ -64,454 +64,454 @@
uchar jas_iccprofdata_srgb[] =
{
0x00, 0x00, 0x0c, 0x48, 0x4c, 0x69, 0x6e, 0x6f,
0x02, 0x10, 0x00, 0x00, 0x6d, 0x6e, 0x74, 0x72,
0x52, 0x47, 0x42, 0x20, 0x58, 0x59, 0x5a, 0x20,
0x07, 0xce, 0x00, 0x02, 0x00, 0x09, 0x00, 0x06,
0x00, 0x31, 0x00, 0x00, 0x61, 0x63, 0x73, 0x70,
0x4d, 0x53, 0x46, 0x54, 0x00, 0x00, 0x00, 0x00,
0x49, 0x45, 0x43, 0x20, 0x73, 0x52, 0x47, 0x42,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf6, 0xd6,
0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0xd3, 0x2d,
0x48, 0x50, 0x20, 0x20, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x11, 0x63, 0x70, 0x72, 0x74,
0x00, 0x00, 0x01, 0x50, 0x00, 0x00, 0x00, 0x33,
0x64, 0x65, 0x73, 0x63, 0x00, 0x00, 0x01, 0x84,
0x00, 0x00, 0x00, 0x6c, 0x77, 0x74, 0x70, 0x74,
0x00, 0x00, 0x01, 0xf0, 0x00, 0x00, 0x00, 0x14,
0x62, 0x6b, 0x70, 0x74, 0x00, 0x00, 0x02, 0x04,
0x00, 0x00, 0x00, 0x14, 0x72, 0x58, 0x59, 0x5a,
0x00, 0x00, 0x02, 0x18, 0x00, 0x00, 0x00, 0x14,
0x67, 0x58, 0x59, 0x5a, 0x00, 0x00, 0x02, 0x2c,
0x00, 0x00, 0x00, 0x14, 0x62, 0x58, 0x59, 0x5a,
0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x14,
0x64, 0x6d, 0x6e, 0x64, 0x00, 0x00, 0x02, 0x54,
0x00, 0x00, 0x00, 0x70, 0x64, 0x6d, 0x64, 0x64,
0x00, 0x00, 0x02, 0xc4, 0x00, 0x00, 0x00, 0x88,
0x76, 0x75, 0x65, 0x64, 0x00, 0x00, 0x03, 0x4c,
0x00, 0x00, 0x00, 0x86, 0x76, 0x69, 0x65, 0x77,
0x00, 0x00, 0x03, 0xd4, 0x00, 0x00, 0x00, 0x24,
0x6c, 0x75, 0x6d, 0x69, 0x00, 0x00, 0x03, 0xf8,
0x00, 0x00, 0x00, 0x14, 0x6d, 0x65, 0x61, 0x73,
0x00, 0x00, 0x04, 0x0c, 0x00, 0x00, 0x00, 0x24,
0x74, 0x65, 0x63, 0x68, 0x00, 0x00, 0x04, 0x30,
0x00, 0x00, 0x00, 0x0c, 0x72, 0x54, 0x52, 0x43,
0x00, 0x00, 0x04, 0x3c, 0x00, 0x00, 0x08, 0x0c,
0x67, 0x54, 0x52, 0x43, 0x00, 0x00, 0x04, 0x3c,
0x00, 0x00, 0x08, 0x0c, 0x62, 0x54, 0x52, 0x43,
0x00, 0x00, 0x04, 0x3c, 0x00, 0x00, 0x08, 0x0c,
0x74, 0x65, 0x78, 0x74, 0x00, 0x00, 0x00, 0x00,
0x43, 0x6f, 0x70, 0x79, 0x72, 0x69, 0x67, 0x68,
0x74, 0x20, 0x28, 0x63, 0x29, 0x20, 0x31, 0x39,
0x39, 0x38, 0x20, 0x48, 0x65, 0x77, 0x6c, 0x65,
0x74, 0x74, 0x2d, 0x50, 0x61, 0x63, 0x6b, 0x61,
0x72, 0x64, 0x20, 0x43, 0x6f, 0x6d, 0x70, 0x61,
0x6e, 0x79, 0x00, 0x00, 0x64, 0x65, 0x73, 0x63,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12,
0x73, 0x52, 0x47, 0x42, 0x20, 0x49, 0x45, 0x43,
0x36, 0x31, 0x39, 0x36, 0x36, 0x2d, 0x32, 0x2e,
0x31, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x12, 0x73, 0x52, 0x47,
0x42, 0x20, 0x49, 0x45, 0x43, 0x36, 0x31, 0x39,
0x36, 0x36, 0x2d, 0x32, 0x2e, 0x31, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x58, 0x59, 0x5a, 0x20, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0xf3, 0x51, 0x00, 0x01, 0x00, 0x00,
0x00, 0x01, 0x16, 0xcc, 0x58, 0x59, 0x5a, 0x20,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x58, 0x59, 0x5a, 0x20, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x6f, 0xa2, 0x00, 0x00, 0x38, 0xf5,
0x00, 0x00, 0x03, 0x90, 0x58, 0x59, 0x5a, 0x20,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x62, 0x99,
0x00, 0x00, 0xb7, 0x85, 0x00, 0x00, 0x18, 0xda,
0x58, 0x59, 0x5a, 0x20, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x24, 0xa0, 0x00, 0x00, 0x0f, 0x84,
0x00, 0x00, 0xb6, 0xcf, 0x64, 0x65, 0x73, 0x63,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16,
0x49, 0x45, 0x43, 0x20, 0x68, 0x74, 0x74, 0x70,
0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x69,
0x65, 0x63, 0x2e, 0x63, 0x68, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x16, 0x49, 0x45, 0x43, 0x20, 0x68, 0x74, 0x74,
0x70, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e,
0x69, 0x65, 0x63, 0x2e, 0x63, 0x68, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x64, 0x65, 0x73, 0x63,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2e,
0x49, 0x45, 0x43, 0x20, 0x36, 0x31, 0x39, 0x36,
0x36, 0x2d, 0x32, 0x2e, 0x31, 0x20, 0x44, 0x65,
0x66, 0x61, 0x75, 0x6c, 0x74, 0x20, 0x52, 0x47,
0x42, 0x20, 0x63, 0x6f, 0x6c, 0x6f, 0x75, 0x72,
0x20, 0x73, 0x70, 0x61, 0x63, 0x65, 0x20, 0x2d,
0x20, 0x73, 0x52, 0x47, 0x42, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x2e, 0x49, 0x45, 0x43, 0x20, 0x36, 0x31, 0x39,
0x36, 0x36, 0x2d, 0x32, 0x2e, 0x31, 0x20, 0x44,
0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x20, 0x52,
0x47, 0x42, 0x20, 0x63, 0x6f, 0x6c, 0x6f, 0x75,
0x72, 0x20, 0x73, 0x70, 0x61, 0x63, 0x65, 0x20,
0x2d, 0x20, 0x73, 0x52, 0x47, 0x42, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x64, 0x65, 0x73, 0x63,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2c,
0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63,
0x65, 0x20, 0x56, 0x69, 0x65, 0x77, 0x69, 0x6e,
0x67, 0x20, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74,
0x69, 0x6f, 0x6e, 0x20, 0x69, 0x6e, 0x20, 0x49,
0x45, 0x43, 0x36, 0x31, 0x39, 0x36, 0x36, 0x2d,
0x32, 0x2e, 0x31, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2c, 0x52,
0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65,
0x20, 0x56, 0x69, 0x65, 0x77, 0x69, 0x6e, 0x67,
0x20, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69,
0x6f, 0x6e, 0x20, 0x69, 0x6e, 0x20, 0x49, 0x45,
0x43, 0x36, 0x31, 0x39, 0x36, 0x36, 0x2d, 0x32,
0x2e, 0x31, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x76, 0x69, 0x65, 0x77,
0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0xa4, 0xfe,
0x00, 0x14, 0x5f, 0x2e, 0x00, 0x10, 0xcf, 0x14,
0x00, 0x03, 0xed, 0xcc, 0x00, 0x04, 0x13, 0x0b,
0x00, 0x03, 0x5c, 0x9e, 0x00, 0x00, 0x00, 0x01,
0x58, 0x59, 0x5a, 0x20, 0x00, 0x00, 0x00, 0x00,
0x00, 0x4c, 0x09, 0x56, 0x00, 0x50, 0x00, 0x00,
0x00, 0x57, 0x1f, 0xe7, 0x6d, 0x65, 0x61, 0x73,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x02, 0x8f, 0x00, 0x00, 0x00, 0x02,
0x73, 0x69, 0x67, 0x20, 0x00, 0x00, 0x00, 0x00,
0x43, 0x52, 0x54, 0x20, 0x63, 0x75, 0x72, 0x76,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00,
0x00, 0x00, 0x00, 0x05, 0x00, 0x0a, 0x00, 0x0f,
0x00, 0x14, 0x00, 0x19, 0x00, 0x1e, 0x00, 0x23,
0x00, 0x28, 0x00, 0x2d, 0x00, 0x32, 0x00, 0x37,
0x00, 0x3b, 0x00, 0x40, 0x00, 0x45, 0x00, 0x4a,
0x00, 0x4f, 0x00, 0x54, 0x00, 0x59, 0x00, 0x5e,
0x00, 0x63, 0x00, 0x68, 0x00, 0x6d, 0x00, 0x72,
0x00, 0x77, 0x00, 0x7c, 0x00, 0x81, 0x00, 0x86,
0x00, 0x8b, 0x00, 0x90, 0x00, 0x95, 0x00, 0x9a,
0x00, 0x9f, 0x00, 0xa4, 0x00, 0xa9, 0x00, 0xae,
0x00, 0xb2, 0x00, 0xb7, 0x00, 0xbc, 0x00, 0xc1,
0x00, 0xc6, 0x00, 0xcb, 0x00, 0xd0, 0x00, 0xd5,
0x00, 0xdb, 0x00, 0xe0, 0x00, 0xe5, 0x00, 0xeb,
0x00, 0xf0, 0x00, 0xf6, 0x00, 0xfb, 0x01, 0x01,
0x01, 0x07, 0x01, 0x0d, 0x01, 0x13, 0x01, 0x19,
0x01, 0x1f, 0x01, 0x25, 0x01, 0x2b, 0x01, 0x32,
0x01, 0x38, 0x01, 0x3e, 0x01, 0x45, 0x01, 0x4c,
0x01, 0x52, 0x01, 0x59, 0x01, 0x60, 0x01, 0x67,
0x01, 0x6e, 0x01, 0x75, 0x01, 0x7c, 0x01, 0x83,
0x01, 0x8b, 0x01, 0x92, 0x01, 0x9a, 0x01, 0xa1,
0x01, 0xa9, 0x01, 0xb1, 0x01, 0xb9, 0x01, 0xc1,
0x01, 0xc9, 0x01, 0xd1, 0x01, 0xd9, 0x01, 0xe1,
0x01, 0xe9, 0x01, 0xf2, 0x01, 0xfa, 0x02, 0x03,
0x02, 0x0c, 0x02, 0x14, 0x02, 0x1d, 0x02, 0x26,
0x02, 0x2f, 0x02, 0x38, 0x02, 0x41, 0x02, 0x4b,
0x02, 0x54, 0x02, 0x5d, 0x02, 0x67, 0x02, 0x71,
0x02, 0x7a, 0x02, 0x84, 0x02, 0x8e, 0x02, 0x98,
0x02, 0xa2, 0x02, 0xac, 0x02, 0xb6, 0x02, 0xc1,
0x02, 0xcb, 0x02, 0xd5, 0x02, 0xe0, 0x02, 0xeb,
0x02, 0xf5, 0x03, 0x00, 0x03, 0x0b, 0x03, 0x16,
0x03, 0x21, 0x03, 0x2d, 0x03, 0x38, 0x03, 0x43,
0x03, 0x4f, 0x03, 0x5a, 0x03, 0x66, 0x03, 0x72,
0x03, 0x7e, 0x03, 0x8a, 0x03, 0x96, 0x03, 0xa2,
0x03, 0xae, 0x03, 0xba, 0x03, 0xc7, 0x03, 0xd3,
0x03, 0xe0, 0x03, 0xec, 0x03, 0xf9, 0x04, 0x06,
0x04, 0x13, 0x04, 0x20, 0x04, 0x2d, 0x04, 0x3b,
0x04, 0x48, 0x04, 0x55, 0x04, 0x63, 0x04, 0x71,
0x04, 0x7e, 0x04, 0x8c, 0x04, 0x9a, 0x04, 0xa8,
0x04, 0xb6, 0x04, 0xc4, 0x04, 0xd3, 0x04, 0xe1,
0x04, 0xf0, 0x04, 0xfe, 0x05, 0x0d, 0x05, 0x1c,
0x05, 0x2b, 0x05, 0x3a, 0x05, 0x49, 0x05, 0x58,
0x05, 0x67, 0x05, 0x77, 0x05, 0x86, 0x05, 0x96,
0x05, 0xa6, 0x05, 0xb5, 0x05, 0xc5, 0x05, 0xd5,
0x05, 0xe5, 0x05, 0xf6, 0x06, 0x06, 0x06, 0x16,
0x06, 0x27, 0x06, 0x37, 0x06, 0x48, 0x06, 0x59,
0x06, 0x6a, 0x06, 0x7b, 0x06, 0x8c, 0x06, 0x9d,
0x06, 0xaf, 0x06, 0xc0, 0x06, 0xd1, 0x06, 0xe3,
0x06, 0xf5, 0x07, 0x07, 0x07, 0x19, 0x07, 0x2b,
0x07, 0x3d, 0x07, 0x4f, 0x07, 0x61, 0x07, 0x74,
0x07, 0x86, 0x07, 0x99, 0x07, 0xac, 0x07, 0xbf,
0x07, 0xd2, 0x07, 0xe5, 0x07, 0xf8, 0x08, 0x0b,
0x08, 0x1f, 0x08, 0x32, 0x08, 0x46, 0x08, 0x5a,
0x08, 0x6e, 0x08, 0x82, 0x08, 0x96, 0x08, 0xaa,
0x08, 0xbe, 0x08, 0xd2, 0x08, 0xe7, 0x08, 0xfb,
0x09, 0x10, 0x09, 0x25, 0x09, 0x3a, 0x09, 0x4f,
0x09, 0x64, 0x09, 0x79, 0x09, 0x8f, 0x09, 0xa4,
0x09, 0xba, 0x09, 0xcf, 0x09, 0xe5, 0x09, 0xfb,
0x0a, 0x11, 0x0a, 0x27, 0x0a, 0x3d, 0x0a, 0x54,
0x0a, 0x6a, 0x0a, 0x81, 0x0a, 0x98, 0x0a, 0xae,
0x0a, 0xc5, 0x0a, 0xdc, 0x0a, 0xf3, 0x0b, 0x0b,
0x0b, 0x22, 0x0b, 0x39, 0x0b, 0x51, 0x0b, 0x69,
0x0b, 0x80, 0x0b, 0x98, 0x0b, 0xb0, 0x0b, 0xc8,
0x0b, 0xe1, 0x0b, 0xf9, 0x0c, 0x12, 0x0c, 0x2a,
0x0c, 0x43, 0x0c, 0x5c, 0x0c, 0x75, 0x0c, 0x8e,
0x0c, 0xa7, 0x0c, 0xc0, 0x0c, 0xd9, 0x0c, 0xf3,
0x0d, 0x0d, 0x0d, 0x26, 0x0d, 0x40, 0x0d, 0x5a,
0x0d, 0x74, 0x0d, 0x8e, 0x0d, 0xa9, 0x0d, 0xc3,
0x0d, 0xde, 0x0d, 0xf8, 0x0e, 0x13, 0x0e, 0x2e,
0x0e, 0x49, 0x0e, 0x64, 0x0e, 0x7f, 0x0e, 0x9b,
0x0e, 0xb6, 0x0e, 0xd2, 0x0e, 0xee, 0x0f, 0x09,
0x0f, 0x25, 0x0f, 0x41, 0x0f, 0x5e, 0x0f, 0x7a,
0x0f, 0x96, 0x0f, 0xb3, 0x0f, 0xcf, 0x0f, 0xec,
0x10, 0x09, 0x10, 0x26, 0x10, 0x43, 0x10, 0x61,
0x10, 0x7e, 0x10, 0x9b, 0x10, 0xb9, 0x10, 0xd7,
0x10, 0xf5, 0x11, 0x13, 0x11, 0x31, 0x11, 0x4f,
0x11, 0x6d, 0x11, 0x8c, 0x11, 0xaa, 0x11, 0xc9,
0x11, 0xe8, 0x12, 0x07, 0x12, 0x26, 0x12, 0x45,
0x12, 0x64, 0x12, 0x84, 0x12, 0xa3, 0x12, 0xc3,
0x12, 0xe3, 0x13, 0x03, 0x13, 0x23, 0x13, 0x43,
0x13, 0x63, 0x13, 0x83, 0x13, 0xa4, 0x13, 0xc5,
0x13, 0xe5, 0x14, 0x06, 0x14, 0x27, 0x14, 0x49,
0x14, 0x6a, 0x14, 0x8b, 0x14, 0xad, 0x14, 0xce,
0x14, 0xf0, 0x15, 0x12, 0x15, 0x34, 0x15, 0x56,
0x15, 0x78, 0x15, 0x9b, 0x15, 0xbd, 0x15, 0xe0,
0x16, 0x03, 0x16, 0x26, 0x16, 0x49, 0x16, 0x6c,
0x16, 0x8f, 0x16, 0xb2, 0x16, 0xd6, 0x16, 0xfa,
0x17, 0x1d, 0x17, 0x41, 0x17, 0x65, 0x17, 0x89,
0x17, 0xae, 0x17, 0xd2, 0x17, 0xf7, 0x18, 0x1b,
0x18, 0x40, 0x18, 0x65, 0x18, 0x8a, 0x18, 0xaf,
0x18, 0xd5, 0x18, 0xfa, 0x19, 0x20, 0x19, 0x45,
0x19, 0x6b, 0x19, 0x91, 0x19, 0xb7, 0x19, 0xdd,
0x1a, 0x04, 0x1a, 0x2a, 0x1a, 0x51, 0x1a, 0x77,
0x1a, 0x9e, 0x1a, 0xc5, 0x1a, 0xec, 0x1b, 0x14,
0x1b, 0x3b, 0x1b, 0x63, 0x1b, 0x8a, 0x1b, 0xb2,
0x1b, 0xda, 0x1c, 0x02, 0x1c, 0x2a, 0x1c, 0x52,
0x1c, 0x7b, 0x1c, 0xa3, 0x1c, 0xcc, 0x1c, 0xf5,
0x1d, 0x1e, 0x1d, 0x47, 0x1d, 0x70, 0x1d, 0x99,
0x1d, 0xc3, 0x1d, 0xec, 0x1e, 0x16, 0x1e, 0x40,
0x1e, 0x6a, 0x1e, 0x94, 0x1e, 0xbe, 0x1e, 0xe9,
0x1f, 0x13, 0x1f, 0x3e, 0x1f, 0x69, 0x1f, 0x94,
0x1f, 0xbf, 0x1f, 0xea, 0x20, 0x15, 0x20, 0x41,
0x20, 0x6c, 0x20, 0x98, 0x20, 0xc4, 0x20, 0xf0,
0x21, 0x1c, 0x21, 0x48, 0x21, 0x75, 0x21, 0xa1,
0x21, 0xce, 0x21, 0xfb, 0x22, 0x27, 0x22, 0x55,
0x22, 0x82, 0x22, 0xaf, 0x22, 0xdd, 0x23, 0x0a,
0x23, 0x38, 0x23, 0x66, 0x23, 0x94, 0x23, 0xc2,
0x23, 0xf0, 0x24, 0x1f, 0x24, 0x4d, 0x24, 0x7c,
0x24, 0xab, 0x24, 0xda, 0x25, 0x09, 0x25, 0x38,
0x25, 0x68, 0x25, 0x97, 0x25, 0xc7, 0x25, 0xf7,
0x26, 0x27, 0x26, 0x57, 0x26, 0x87, 0x26, 0xb7,
0x26, 0xe8, 0x27, 0x18, 0x27, 0x49, 0x27, 0x7a,
0x27, 0xab, 0x27, 0xdc, 0x28, 0x0d, 0x28, 0x3f,
0x28, 0x71, 0x28, 0xa2, 0x28, 0xd4, 0x29, 0x06,
0x29, 0x38, 0x29, 0x6b, 0x29, 0x9d, 0x29, 0xd0,
0x2a, 0x02, 0x2a, 0x35, 0x2a, 0x68, 0x2a, 0x9b,
0x2a, 0xcf, 0x2b, 0x02, 0x2b, 0x36, 0x2b, 0x69,
0x2b, 0x9d, 0x2b, 0xd1, 0x2c, 0x05, 0x2c, 0x39,
0x2c, 0x6e, 0x2c, 0xa2, 0x2c, 0xd7, 0x2d, 0x0c,
0x2d, 0x41, 0x2d, 0x76, 0x2d, 0xab, 0x2d, 0xe1,
0x2e, 0x16, 0x2e, 0x4c, 0x2e, 0x82, 0x2e, 0xb7,
0x2e, 0xee, 0x2f, 0x24, 0x2f, 0x5a, 0x2f, 0x91,
0x2f, 0xc7, 0x2f, 0xfe, 0x30, 0x35, 0x30, 0x6c,
0x30, 0xa4, 0x30, 0xdb, 0x31, 0x12, 0x31, 0x4a,
0x31, 0x82, 0x31, 0xba, 0x31, 0xf2, 0x32, 0x2a,
0x32, 0x63, 0x32, 0x9b, 0x32, 0xd4, 0x33, 0x0d,
0x33, 0x46, 0x33, 0x7f, 0x33, 0xb8, 0x33, 0xf1,
0x34, 0x2b, 0x34, 0x65, 0x34, 0x9e, 0x34, 0xd8,
0x35, 0x13, 0x35, 0x4d, 0x35, 0x87, 0x35, 0xc2,
0x35, 0xfd, 0x36, 0x37, 0x36, 0x72, 0x36, 0xae,
0x36, 0xe9, 0x37, 0x24, 0x37, 0x60, 0x37, 0x9c,
0x37, 0xd7, 0x38, 0x14, 0x38, 0x50, 0x38, 0x8c,
0x38, 0xc8, 0x39, 0x05, 0x39, 0x42, 0x39, 0x7f,
0x39, 0xbc, 0x39, 0xf9, 0x3a, 0x36, 0x3a, 0x74,
0x3a, 0xb2, 0x3a, 0xef, 0x3b, 0x2d, 0x3b, 0x6b,
0x3b, 0xaa, 0x3b, 0xe8, 0x3c, 0x27, 0x3c, 0x65,
0x3c, 0xa4, 0x3c, 0xe3, 0x3d, 0x22, 0x3d, 0x61,
0x3d, 0xa1, 0x3d, 0xe0, 0x3e, 0x20, 0x3e, 0x60,
0x3e, 0xa0, 0x3e, 0xe0, 0x3f, 0x21, 0x3f, 0x61,
0x3f, 0xa2, 0x3f, 0xe2, 0x40, 0x23, 0x40, 0x64,
0x40, 0xa6, 0x40, 0xe7, 0x41, 0x29, 0x41, 0x6a,
0x41, 0xac, 0x41, 0xee, 0x42, 0x30, 0x42, 0x72,
0x42, 0xb5, 0x42, 0xf7, 0x43, 0x3a, 0x43, 0x7d,
0x43, 0xc0, 0x44, 0x03, 0x44, 0x47, 0x44, 0x8a,
0x44, 0xce, 0x45, 0x12, 0x45, 0x55, 0x45, 0x9a,
0x45, 0xde, 0x46, 0x22, 0x46, 0x67, 0x46, 0xab,
0x46, 0xf0, 0x47, 0x35, 0x47, 0x7b, 0x47, 0xc0,
0x48, 0x05, 0x48, 0x4b, 0x48, 0x91, 0x48, 0xd7,
0x49, 0x1d, 0x49, 0x63, 0x49, 0xa9, 0x49, 0xf0,
0x4a, 0x37, 0x4a, 0x7d, 0x4a, 0xc4, 0x4b, 0x0c,
0x4b, 0x53, 0x4b, 0x9a, 0x4b, 0xe2, 0x4c, 0x2a,
0x4c, 0x72, 0x4c, 0xba, 0x4d, 0x02, 0x4d, 0x4a,
0x4d, 0x93, 0x4d, 0xdc, 0x4e, 0x25, 0x4e, 0x6e,
0x4e, 0xb7, 0x4f, 0x00, 0x4f, 0x49, 0x4f, 0x93,
0x4f, 0xdd, 0x50, 0x27, 0x50, 0x71, 0x50, 0xbb,
0x51, 0x06, 0x51, 0x50, 0x51, 0x9b, 0x51, 0xe6,
0x52, 0x31, 0x52, 0x7c, 0x52, 0xc7, 0x53, 0x13,
0x53, 0x5f, 0x53, 0xaa, 0x53, 0xf6, 0x54, 0x42,
0x54, 0x8f, 0x54, 0xdb, 0x55, 0x28, 0x55, 0x75,
0x55, 0xc2, 0x56, 0x0f, 0x56, 0x5c, 0x56, 0xa9,
0x56, 0xf7, 0x57, 0x44, 0x57, 0x92, 0x57, 0xe0,
0x58, 0x2f, 0x58, 0x7d, 0x58, 0xcb, 0x59, 0x1a,
0x59, 0x69, 0x59, 0xb8, 0x5a, 0x07, 0x5a, 0x56,
0x5a, 0xa6, 0x5a, 0xf5, 0x5b, 0x45, 0x5b, 0x95,
0x5b, 0xe5, 0x5c, 0x35, 0x5c, 0x86, 0x5c, 0xd6,
0x5d, 0x27, 0x5d, 0x78, 0x5d, 0xc9, 0x5e, 0x1a,
0x5e, 0x6c, 0x5e, 0xbd, 0x5f, 0x0f, 0x5f, 0x61,
0x5f, 0xb3, 0x60, 0x05, 0x60, 0x57, 0x60, 0xaa,
0x60, 0xfc, 0x61, 0x4f, 0x61, 0xa2, 0x61, 0xf5,
0x62, 0x49, 0x62, 0x9c, 0x62, 0xf0, 0x63, 0x43,
0x63, 0x97, 0x63, 0xeb, 0x64, 0x40, 0x64, 0x94,
0x64, 0xe9, 0x65, 0x3d, 0x65, 0x92, 0x65, 0xe7,
0x66, 0x3d, 0x66, 0x92, 0x66, 0xe8, 0x67, 0x3d,
0x67, 0x93, 0x67, 0xe9, 0x68, 0x3f, 0x68, 0x96,
0x68, 0xec, 0x69, 0x43, 0x69, 0x9a, 0x69, 0xf1,
0x6a, 0x48, 0x6a, 0x9f, 0x6a, 0xf7, 0x6b, 0x4f,
0x6b, 0xa7, 0x6b, 0xff, 0x6c, 0x57, 0x6c, 0xaf,
0x6d, 0x08, 0x6d, 0x60, 0x6d, 0xb9, 0x6e, 0x12,
0x6e, 0x6b, 0x6e, 0xc4, 0x6f, 0x1e, 0x6f, 0x78,
0x6f, 0xd1, 0x70, 0x2b, 0x70, 0x86, 0x70, 0xe0,
0x71, 0x3a, 0x71, 0x95, 0x71, 0xf0, 0x72, 0x4b,
0x72, 0xa6, 0x73, 0x01, 0x73, 0x5d, 0x73, 0xb8,
0x74, 0x14, 0x74, 0x70, 0x74, 0xcc, 0x75, 0x28,
0x75, 0x85, 0x75, 0xe1, 0x76, 0x3e, 0x76, 0x9b,
0x76, 0xf8, 0x77, 0x56, 0x77, 0xb3, 0x78, 0x11,
0x78, 0x6e, 0x78, 0xcc, 0x79, 0x2a, 0x79, 0x89,
0x79, 0xe7, 0x7a, 0x46, 0x7a, 0xa5, 0x7b, 0x04,
0x7b, 0x63, 0x7b, 0xc2, 0x7c, 0x21, 0x7c, 0x81,
0x7c, 0xe1, 0x7d, 0x41, 0x7d, 0xa1, 0x7e, 0x01,
0x7e, 0x62, 0x7e, 0xc2, 0x7f, 0x23, 0x7f, 0x84,
0x7f, 0xe5, 0x80, 0x47, 0x80, 0xa8, 0x81, 0x0a,
0x81, 0x6b, 0x81, 0xcd, 0x82, 0x30, 0x82, 0x92,
0x82, 0xf4, 0x83, 0x57, 0x83, 0xba, 0x84, 0x1d,
0x84, 0x80, 0x84, 0xe3, 0x85, 0x47, 0x85, 0xab,
0x86, 0x0e, 0x86, 0x72, 0x86, 0xd7, 0x87, 0x3b,
0x87, 0x9f, 0x88, 0x04, 0x88, 0x69, 0x88, 0xce,
0x89, 0x33, 0x89, 0x99, 0x89, 0xfe, 0x8a, 0x64,
0x8a, 0xca, 0x8b, 0x30, 0x8b, 0x96, 0x8b, 0xfc,
0x8c, 0x63, 0x8c, 0xca, 0x8d, 0x31, 0x8d, 0x98,
0x8d, 0xff, 0x8e, 0x66, 0x8e, 0xce, 0x8f, 0x36,
0x8f, 0x9e, 0x90, 0x06, 0x90, 0x6e, 0x90, 0xd6,
0x91, 0x3f, 0x91, 0xa8, 0x92, 0x11, 0x92, 0x7a,
0x92, 0xe3, 0x93, 0x4d, 0x93, 0xb6, 0x94, 0x20,
0x94, 0x8a, 0x94, 0xf4, 0x95, 0x5f, 0x95, 0xc9,
0x96, 0x34, 0x96, 0x9f, 0x97, 0x0a, 0x97, 0x75,
0x97, 0xe0, 0x98, 0x4c, 0x98, 0xb8, 0x99, 0x24,
0x99, 0x90, 0x99, 0xfc, 0x9a, 0x68, 0x9a, 0xd5,
0x9b, 0x42, 0x9b, 0xaf, 0x9c, 0x1c, 0x9c, 0x89,
0x9c, 0xf7, 0x9d, 0x64, 0x9d, 0xd2, 0x9e, 0x40,
0x9e, 0xae, 0x9f, 0x1d, 0x9f, 0x8b, 0x9f, 0xfa,
0xa0, 0x69, 0xa0, 0xd8, 0xa1, 0x47, 0xa1, 0xb6,
0xa2, 0x26, 0xa2, 0x96, 0xa3, 0x06, 0xa3, 0x76,
0xa3, 0xe6, 0xa4, 0x56, 0xa4, 0xc7, 0xa5, 0x38,
0xa5, 0xa9, 0xa6, 0x1a, 0xa6, 0x8b, 0xa6, 0xfd,
0xa7, 0x6e, 0xa7, 0xe0, 0xa8, 0x52, 0xa8, 0xc4,
0xa9, 0x37, 0xa9, 0xa9, 0xaa, 0x1c, 0xaa, 0x8f,
0xab, 0x02, 0xab, 0x75, 0xab, 0xe9, 0xac, 0x5c,
0xac, 0xd0, 0xad, 0x44, 0xad, 0xb8, 0xae, 0x2d,
0xae, 0xa1, 0xaf, 0x16, 0xaf, 0x8b, 0xb0, 0x00,
0xb0, 0x75, 0xb0, 0xea, 0xb1, 0x60, 0xb1, 0xd6,
0xb2, 0x4b, 0xb2, 0xc2, 0xb3, 0x38, 0xb3, 0xae,
0xb4, 0x25, 0xb4, 0x9c, 0xb5, 0x13, 0xb5, 0x8a,
0xb6, 0x01, 0xb6, 0x79, 0xb6, 0xf0, 0xb7, 0x68,
0xb7, 0xe0, 0xb8, 0x59, 0xb8, 0xd1, 0xb9, 0x4a,
0xb9, 0xc2, 0xba, 0x3b, 0xba, 0xb5, 0xbb, 0x2e,
0xbb, 0xa7, 0xbc, 0x21, 0xbc, 0x9b, 0xbd, 0x15,
0xbd, 0x8f, 0xbe, 0x0a, 0xbe, 0x84, 0xbe, 0xff,
0xbf, 0x7a, 0xbf, 0xf5, 0xc0, 0x70, 0xc0, 0xec,
0xc1, 0x67, 0xc1, 0xe3, 0xc2, 0x5f, 0xc2, 0xdb,
0xc3, 0x58, 0xc3, 0xd4, 0xc4, 0x51, 0xc4, 0xce,
0xc5, 0x4b, 0xc5, 0xc8, 0xc6, 0x46, 0xc6, 0xc3,
0xc7, 0x41, 0xc7, 0xbf, 0xc8, 0x3d, 0xc8, 0xbc,
0xc9, 0x3a, 0xc9, 0xb9, 0xca, 0x38, 0xca, 0xb7,
0xcb, 0x36, 0xcb, 0xb6, 0xcc, 0x35, 0xcc, 0xb5,
0xcd, 0x35, 0xcd, 0xb5, 0xce, 0x36, 0xce, 0xb6,
0xcf, 0x37, 0xcf, 0xb8, 0xd0, 0x39, 0xd0, 0xba,
0xd1, 0x3c, 0xd1, 0xbe, 0xd2, 0x3f, 0xd2, 0xc1,
0xd3, 0x44, 0xd3, 0xc6, 0xd4, 0x49, 0xd4, 0xcb,
0xd5, 0x4e, 0xd5, 0xd1, 0xd6, 0x55, 0xd6, 0xd8,
0xd7, 0x5c, 0xd7, 0xe0, 0xd8, 0x64, 0xd8, 0xe8,
0xd9, 0x6c, 0xd9, 0xf1, 0xda, 0x76, 0xda, 0xfb,
0xdb, 0x80, 0xdc, 0x05, 0xdc, 0x8a, 0xdd, 0x10,
0xdd, 0x96, 0xde, 0x1c, 0xde, 0xa2, 0xdf, 0x29,
0xdf, 0xaf, 0xe0, 0x36, 0xe0, 0xbd, 0xe1, 0x44,
0xe1, 0xcc, 0xe2, 0x53, 0xe2, 0xdb, 0xe3, 0x63,
0xe3, 0xeb, 0xe4, 0x73, 0xe4, 0xfc, 0xe5, 0x84,
0xe6, 0x0d, 0xe6, 0x96, 0xe7, 0x1f, 0xe7, 0xa9,
0xe8, 0x32, 0xe8, 0xbc, 0xe9, 0x46, 0xe9, 0xd0,
0xea, 0x5b, 0xea, 0xe5, 0xeb, 0x70, 0xeb, 0xfb,
0xec, 0x86, 0xed, 0x11, 0xed, 0x9c, 0xee, 0x28,
0xee, 0xb4, 0xef, 0x40, 0xef, 0xcc, 0xf0, 0x58,
0xf0, 0xe5, 0xf1, 0x72, 0xf1, 0xff, 0xf2, 0x8c,
0xf3, 0x19, 0xf3, 0xa7, 0xf4, 0x34, 0xf4, 0xc2,
0xf5, 0x50, 0xf5, 0xde, 0xf6, 0x6d, 0xf6, 0xfb,
0xf7, 0x8a, 0xf8, 0x19, 0xf8, 0xa8, 0xf9, 0x38,
0xf9, 0xc7, 0xfa, 0x57, 0xfa, 0xe7, 0xfb, 0x77,
0xfc, 0x07, 0xfc, 0x98, 0xfd, 0x29, 0xfd, 0xba,
0xfe, 0x4b, 0xfe, 0xdc, 0xff, 0x6d, 0xff, 0xff
0x00, 0x00, 0x0c, 0x48, 0x4c, 0x69, 0x6e, 0x6f,
0x02, 0x10, 0x00, 0x00, 0x6d, 0x6e, 0x74, 0x72,
0x52, 0x47, 0x42, 0x20, 0x58, 0x59, 0x5a, 0x20,
0x07, 0xce, 0x00, 0x02, 0x00, 0x09, 0x00, 0x06,
0x00, 0x31, 0x00, 0x00, 0x61, 0x63, 0x73, 0x70,
0x4d, 0x53, 0x46, 0x54, 0x00, 0x00, 0x00, 0x00,
0x49, 0x45, 0x43, 0x20, 0x73, 0x52, 0x47, 0x42,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf6, 0xd6,
0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0xd3, 0x2d,
0x48, 0x50, 0x20, 0x20, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x11, 0x63, 0x70, 0x72, 0x74,
0x00, 0x00, 0x01, 0x50, 0x00, 0x00, 0x00, 0x33,
0x64, 0x65, 0x73, 0x63, 0x00, 0x00, 0x01, 0x84,
0x00, 0x00, 0x00, 0x6c, 0x77, 0x74, 0x70, 0x74,
0x00, 0x00, 0x01, 0xf0, 0x00, 0x00, 0x00, 0x14,
0x62, 0x6b, 0x70, 0x74, 0x00, 0x00, 0x02, 0x04,
0x00, 0x00, 0x00, 0x14, 0x72, 0x58, 0x59, 0x5a,
0x00, 0x00, 0x02, 0x18, 0x00, 0x00, 0x00, 0x14,
0x67, 0x58, 0x59, 0x5a, 0x00, 0x00, 0x02, 0x2c,
0x00, 0x00, 0x00, 0x14, 0x62, 0x58, 0x59, 0x5a,
0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x14,
0x64, 0x6d, 0x6e, 0x64, 0x00, 0x00, 0x02, 0x54,
0x00, 0x00, 0x00, 0x70, 0x64, 0x6d, 0x64, 0x64,
0x00, 0x00, 0x02, 0xc4, 0x00, 0x00, 0x00, 0x88,
0x76, 0x75, 0x65, 0x64, 0x00, 0x00, 0x03, 0x4c,
0x00, 0x00, 0x00, 0x86, 0x76, 0x69, 0x65, 0x77,
0x00, 0x00, 0x03, 0xd4, 0x00, 0x00, 0x00, 0x24,
0x6c, 0x75, 0x6d, 0x69, 0x00, 0x00, 0x03, 0xf8,
0x00, 0x00, 0x00, 0x14, 0x6d, 0x65, 0x61, 0x73,
0x00, 0x00, 0x04, 0x0c, 0x00, 0x00, 0x00, 0x24,
0x74, 0x65, 0x63, 0x68, 0x00, 0x00, 0x04, 0x30,
0x00, 0x00, 0x00, 0x0c, 0x72, 0x54, 0x52, 0x43,
0x00, 0x00, 0x04, 0x3c, 0x00, 0x00, 0x08, 0x0c,
0x67, 0x54, 0x52, 0x43, 0x00, 0x00, 0x04, 0x3c,
0x00, 0x00, 0x08, 0x0c, 0x62, 0x54, 0x52, 0x43,
0x00, 0x00, 0x04, 0x3c, 0x00, 0x00, 0x08, 0x0c,
0x74, 0x65, 0x78, 0x74, 0x00, 0x00, 0x00, 0x00,
0x43, 0x6f, 0x70, 0x79, 0x72, 0x69, 0x67, 0x68,
0x74, 0x20, 0x28, 0x63, 0x29, 0x20, 0x31, 0x39,
0x39, 0x38, 0x20, 0x48, 0x65, 0x77, 0x6c, 0x65,
0x74, 0x74, 0x2d, 0x50, 0x61, 0x63, 0x6b, 0x61,
0x72, 0x64, 0x20, 0x43, 0x6f, 0x6d, 0x70, 0x61,
0x6e, 0x79, 0x00, 0x00, 0x64, 0x65, 0x73, 0x63,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12,
0x73, 0x52, 0x47, 0x42, 0x20, 0x49, 0x45, 0x43,
0x36, 0x31, 0x39, 0x36, 0x36, 0x2d, 0x32, 0x2e,
0x31, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x12, 0x73, 0x52, 0x47,
0x42, 0x20, 0x49, 0x45, 0x43, 0x36, 0x31, 0x39,
0x36, 0x36, 0x2d, 0x32, 0x2e, 0x31, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x58, 0x59, 0x5a, 0x20, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0xf3, 0x51, 0x00, 0x01, 0x00, 0x00,
0x00, 0x01, 0x16, 0xcc, 0x58, 0x59, 0x5a, 0x20,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x58, 0x59, 0x5a, 0x20, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x6f, 0xa2, 0x00, 0x00, 0x38, 0xf5,
0x00, 0x00, 0x03, 0x90, 0x58, 0x59, 0x5a, 0x20,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x62, 0x99,
0x00, 0x00, 0xb7, 0x85, 0x00, 0x00, 0x18, 0xda,
0x58, 0x59, 0x5a, 0x20, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x24, 0xa0, 0x00, 0x00, 0x0f, 0x84,
0x00, 0x00, 0xb6, 0xcf, 0x64, 0x65, 0x73, 0x63,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16,
0x49, 0x45, 0x43, 0x20, 0x68, 0x74, 0x74, 0x70,
0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x69,
0x65, 0x63, 0x2e, 0x63, 0x68, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x16, 0x49, 0x45, 0x43, 0x20, 0x68, 0x74, 0x74,
0x70, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e,
0x69, 0x65, 0x63, 0x2e, 0x63, 0x68, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x64, 0x65, 0x73, 0x63,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2e,
0x49, 0x45, 0x43, 0x20, 0x36, 0x31, 0x39, 0x36,
0x36, 0x2d, 0x32, 0x2e, 0x31, 0x20, 0x44, 0x65,
0x66, 0x61, 0x75, 0x6c, 0x74, 0x20, 0x52, 0x47,
0x42, 0x20, 0x63, 0x6f, 0x6c, 0x6f, 0x75, 0x72,
0x20, 0x73, 0x70, 0x61, 0x63, 0x65, 0x20, 0x2d,
0x20, 0x73, 0x52, 0x47, 0x42, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x2e, 0x49, 0x45, 0x43, 0x20, 0x36, 0x31, 0x39,
0x36, 0x36, 0x2d, 0x32, 0x2e, 0x31, 0x20, 0x44,
0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x20, 0x52,
0x47, 0x42, 0x20, 0x63, 0x6f, 0x6c, 0x6f, 0x75,
0x72, 0x20, 0x73, 0x70, 0x61, 0x63, 0x65, 0x20,
0x2d, 0x20, 0x73, 0x52, 0x47, 0x42, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x64, 0x65, 0x73, 0x63,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2c,
0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63,
0x65, 0x20, 0x56, 0x69, 0x65, 0x77, 0x69, 0x6e,
0x67, 0x20, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74,
0x69, 0x6f, 0x6e, 0x20, 0x69, 0x6e, 0x20, 0x49,
0x45, 0x43, 0x36, 0x31, 0x39, 0x36, 0x36, 0x2d,
0x32, 0x2e, 0x31, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2c, 0x52,
0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65,
0x20, 0x56, 0x69, 0x65, 0x77, 0x69, 0x6e, 0x67,
0x20, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69,
0x6f, 0x6e, 0x20, 0x69, 0x6e, 0x20, 0x49, 0x45,
0x43, 0x36, 0x31, 0x39, 0x36, 0x36, 0x2d, 0x32,
0x2e, 0x31, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x76, 0x69, 0x65, 0x77,
0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0xa4, 0xfe,
0x00, 0x14, 0x5f, 0x2e, 0x00, 0x10, 0xcf, 0x14,
0x00, 0x03, 0xed, 0xcc, 0x00, 0x04, 0x13, 0x0b,
0x00, 0x03, 0x5c, 0x9e, 0x00, 0x00, 0x00, 0x01,
0x58, 0x59, 0x5a, 0x20, 0x00, 0x00, 0x00, 0x00,
0x00, 0x4c, 0x09, 0x56, 0x00, 0x50, 0x00, 0x00,
0x00, 0x57, 0x1f, 0xe7, 0x6d, 0x65, 0x61, 0x73,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x02, 0x8f, 0x00, 0x00, 0x00, 0x02,
0x73, 0x69, 0x67, 0x20, 0x00, 0x00, 0x00, 0x00,
0x43, 0x52, 0x54, 0x20, 0x63, 0x75, 0x72, 0x76,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00,
0x00, 0x00, 0x00, 0x05, 0x00, 0x0a, 0x00, 0x0f,
0x00, 0x14, 0x00, 0x19, 0x00, 0x1e, 0x00, 0x23,
0x00, 0x28, 0x00, 0x2d, 0x00, 0x32, 0x00, 0x37,
0x00, 0x3b, 0x00, 0x40, 0x00, 0x45, 0x00, 0x4a,
0x00, 0x4f, 0x00, 0x54, 0x00, 0x59, 0x00, 0x5e,
0x00, 0x63, 0x00, 0x68, 0x00, 0x6d, 0x00, 0x72,
0x00, 0x77, 0x00, 0x7c, 0x00, 0x81, 0x00, 0x86,
0x00, 0x8b, 0x00, 0x90, 0x00, 0x95, 0x00, 0x9a,
0x00, 0x9f, 0x00, 0xa4, 0x00, 0xa9, 0x00, 0xae,
0x00, 0xb2, 0x00, 0xb7, 0x00, 0xbc, 0x00, 0xc1,
0x00, 0xc6, 0x00, 0xcb, 0x00, 0xd0, 0x00, 0xd5,
0x00, 0xdb, 0x00, 0xe0, 0x00, 0xe5, 0x00, 0xeb,
0x00, 0xf0, 0x00, 0xf6, 0x00, 0xfb, 0x01, 0x01,
0x01, 0x07, 0x01, 0x0d, 0x01, 0x13, 0x01, 0x19,
0x01, 0x1f, 0x01, 0x25, 0x01, 0x2b, 0x01, 0x32,
0x01, 0x38, 0x01, 0x3e, 0x01, 0x45, 0x01, 0x4c,
0x01, 0x52, 0x01, 0x59, 0x01, 0x60, 0x01, 0x67,
0x01, 0x6e, 0x01, 0x75, 0x01, 0x7c, 0x01, 0x83,
0x01, 0x8b, 0x01, 0x92, 0x01, 0x9a, 0x01, 0xa1,
0x01, 0xa9, 0x01, 0xb1, 0x01, 0xb9, 0x01, 0xc1,
0x01, 0xc9, 0x01, 0xd1, 0x01, 0xd9, 0x01, 0xe1,
0x01, 0xe9, 0x01, 0xf2, 0x01, 0xfa, 0x02, 0x03,
0x02, 0x0c, 0x02, 0x14, 0x02, 0x1d, 0x02, 0x26,
0x02, 0x2f, 0x02, 0x38, 0x02, 0x41, 0x02, 0x4b,
0x02, 0x54, 0x02, 0x5d, 0x02, 0x67, 0x02, 0x71,
0x02, 0x7a, 0x02, 0x84, 0x02, 0x8e, 0x02, 0x98,
0x02, 0xa2, 0x02, 0xac, 0x02, 0xb6, 0x02, 0xc1,
0x02, 0xcb, 0x02, 0xd5, 0x02, 0xe0, 0x02, 0xeb,
0x02, 0xf5, 0x03, 0x00, 0x03, 0x0b, 0x03, 0x16,
0x03, 0x21, 0x03, 0x2d, 0x03, 0x38, 0x03, 0x43,
0x03, 0x4f, 0x03, 0x5a, 0x03, 0x66, 0x03, 0x72,
0x03, 0x7e, 0x03, 0x8a, 0x03, 0x96, 0x03, 0xa2,
0x03, 0xae, 0x03, 0xba, 0x03, 0xc7, 0x03, 0xd3,
0x03, 0xe0, 0x03, 0xec, 0x03, 0xf9, 0x04, 0x06,
0x04, 0x13, 0x04, 0x20, 0x04, 0x2d, 0x04, 0x3b,
0x04, 0x48, 0x04, 0x55, 0x04, 0x63, 0x04, 0x71,
0x04, 0x7e, 0x04, 0x8c, 0x04, 0x9a, 0x04, 0xa8,
0x04, 0xb6, 0x04, 0xc4, 0x04, 0xd3, 0x04, 0xe1,
0x04, 0xf0, 0x04, 0xfe, 0x05, 0x0d, 0x05, 0x1c,
0x05, 0x2b, 0x05, 0x3a, 0x05, 0x49, 0x05, 0x58,
0x05, 0x67, 0x05, 0x77, 0x05, 0x86, 0x05, 0x96,
0x05, 0xa6, 0x05, 0xb5, 0x05, 0xc5, 0x05, 0xd5,
0x05, 0xe5, 0x05, 0xf6, 0x06, 0x06, 0x06, 0x16,
0x06, 0x27, 0x06, 0x37, 0x06, 0x48, 0x06, 0x59,
0x06, 0x6a, 0x06, 0x7b, 0x06, 0x8c, 0x06, 0x9d,
0x06, 0xaf, 0x06, 0xc0, 0x06, 0xd1, 0x06, 0xe3,
0x06, 0xf5, 0x07, 0x07, 0x07, 0x19, 0x07, 0x2b,
0x07, 0x3d, 0x07, 0x4f, 0x07, 0x61, 0x07, 0x74,
0x07, 0x86, 0x07, 0x99, 0x07, 0xac, 0x07, 0xbf,
0x07, 0xd2, 0x07, 0xe5, 0x07, 0xf8, 0x08, 0x0b,
0x08, 0x1f, 0x08, 0x32, 0x08, 0x46, 0x08, 0x5a,
0x08, 0x6e, 0x08, 0x82, 0x08, 0x96, 0x08, 0xaa,
0x08, 0xbe, 0x08, 0xd2, 0x08, 0xe7, 0x08, 0xfb,
0x09, 0x10, 0x09, 0x25, 0x09, 0x3a, 0x09, 0x4f,
0x09, 0x64, 0x09, 0x79, 0x09, 0x8f, 0x09, 0xa4,
0x09, 0xba, 0x09, 0xcf, 0x09, 0xe5, 0x09, 0xfb,
0x0a, 0x11, 0x0a, 0x27, 0x0a, 0x3d, 0x0a, 0x54,
0x0a, 0x6a, 0x0a, 0x81, 0x0a, 0x98, 0x0a, 0xae,
0x0a, 0xc5, 0x0a, 0xdc, 0x0a, 0xf3, 0x0b, 0x0b,
0x0b, 0x22, 0x0b, 0x39, 0x0b, 0x51, 0x0b, 0x69,
0x0b, 0x80, 0x0b, 0x98, 0x0b, 0xb0, 0x0b, 0xc8,
0x0b, 0xe1, 0x0b, 0xf9, 0x0c, 0x12, 0x0c, 0x2a,
0x0c, 0x43, 0x0c, 0x5c, 0x0c, 0x75, 0x0c, 0x8e,
0x0c, 0xa7, 0x0c, 0xc0, 0x0c, 0xd9, 0x0c, 0xf3,
0x0d, 0x0d, 0x0d, 0x26, 0x0d, 0x40, 0x0d, 0x5a,
0x0d, 0x74, 0x0d, 0x8e, 0x0d, 0xa9, 0x0d, 0xc3,
0x0d, 0xde, 0x0d, 0xf8, 0x0e, 0x13, 0x0e, 0x2e,
0x0e, 0x49, 0x0e, 0x64, 0x0e, 0x7f, 0x0e, 0x9b,
0x0e, 0xb6, 0x0e, 0xd2, 0x0e, 0xee, 0x0f, 0x09,
0x0f, 0x25, 0x0f, 0x41, 0x0f, 0x5e, 0x0f, 0x7a,
0x0f, 0x96, 0x0f, 0xb3, 0x0f, 0xcf, 0x0f, 0xec,
0x10, 0x09, 0x10, 0x26, 0x10, 0x43, 0x10, 0x61,
0x10, 0x7e, 0x10, 0x9b, 0x10, 0xb9, 0x10, 0xd7,
0x10, 0xf5, 0x11, 0x13, 0x11, 0x31, 0x11, 0x4f,
0x11, 0x6d, 0x11, 0x8c, 0x11, 0xaa, 0x11, 0xc9,
0x11, 0xe8, 0x12, 0x07, 0x12, 0x26, 0x12, 0x45,
0x12, 0x64, 0x12, 0x84, 0x12, 0xa3, 0x12, 0xc3,
0x12, 0xe3, 0x13, 0x03, 0x13, 0x23, 0x13, 0x43,
0x13, 0x63, 0x13, 0x83, 0x13, 0xa4, 0x13, 0xc5,
0x13, 0xe5, 0x14, 0x06, 0x14, 0x27, 0x14, 0x49,
0x14, 0x6a, 0x14, 0x8b, 0x14, 0xad, 0x14, 0xce,
0x14, 0xf0, 0x15, 0x12, 0x15, 0x34, 0x15, 0x56,
0x15, 0x78, 0x15, 0x9b, 0x15, 0xbd, 0x15, 0xe0,
0x16, 0x03, 0x16, 0x26, 0x16, 0x49, 0x16, 0x6c,
0x16, 0x8f, 0x16, 0xb2, 0x16, 0xd6, 0x16, 0xfa,
0x17, 0x1d, 0x17, 0x41, 0x17, 0x65, 0x17, 0x89,
0x17, 0xae, 0x17, 0xd2, 0x17, 0xf7, 0x18, 0x1b,
0x18, 0x40, 0x18, 0x65, 0x18, 0x8a, 0x18, 0xaf,
0x18, 0xd5, 0x18, 0xfa, 0x19, 0x20, 0x19, 0x45,
0x19, 0x6b, 0x19, 0x91, 0x19, 0xb7, 0x19, 0xdd,
0x1a, 0x04, 0x1a, 0x2a, 0x1a, 0x51, 0x1a, 0x77,
0x1a, 0x9e, 0x1a, 0xc5, 0x1a, 0xec, 0x1b, 0x14,
0x1b, 0x3b, 0x1b, 0x63, 0x1b, 0x8a, 0x1b, 0xb2,
0x1b, 0xda, 0x1c, 0x02, 0x1c, 0x2a, 0x1c, 0x52,
0x1c, 0x7b, 0x1c, 0xa3, 0x1c, 0xcc, 0x1c, 0xf5,
0x1d, 0x1e, 0x1d, 0x47, 0x1d, 0x70, 0x1d, 0x99,
0x1d, 0xc3, 0x1d, 0xec, 0x1e, 0x16, 0x1e, 0x40,
0x1e, 0x6a, 0x1e, 0x94, 0x1e, 0xbe, 0x1e, 0xe9,
0x1f, 0x13, 0x1f, 0x3e, 0x1f, 0x69, 0x1f, 0x94,
0x1f, 0xbf, 0x1f, 0xea, 0x20, 0x15, 0x20, 0x41,
0x20, 0x6c, 0x20, 0x98, 0x20, 0xc4, 0x20, 0xf0,
0x21, 0x1c, 0x21, 0x48, 0x21, 0x75, 0x21, 0xa1,
0x21, 0xce, 0x21, 0xfb, 0x22, 0x27, 0x22, 0x55,
0x22, 0x82, 0x22, 0xaf, 0x22, 0xdd, 0x23, 0x0a,
0x23, 0x38, 0x23, 0x66, 0x23, 0x94, 0x23, 0xc2,
0x23, 0xf0, 0x24, 0x1f, 0x24, 0x4d, 0x24, 0x7c,
0x24, 0xab, 0x24, 0xda, 0x25, 0x09, 0x25, 0x38,
0x25, 0x68, 0x25, 0x97, 0x25, 0xc7, 0x25, 0xf7,
0x26, 0x27, 0x26, 0x57, 0x26, 0x87, 0x26, 0xb7,
0x26, 0xe8, 0x27, 0x18, 0x27, 0x49, 0x27, 0x7a,
0x27, 0xab, 0x27, 0xdc, 0x28, 0x0d, 0x28, 0x3f,
0x28, 0x71, 0x28, 0xa2, 0x28, 0xd4, 0x29, 0x06,
0x29, 0x38, 0x29, 0x6b, 0x29, 0x9d, 0x29, 0xd0,
0x2a, 0x02, 0x2a, 0x35, 0x2a, 0x68, 0x2a, 0x9b,
0x2a, 0xcf, 0x2b, 0x02, 0x2b, 0x36, 0x2b, 0x69,
0x2b, 0x9d, 0x2b, 0xd1, 0x2c, 0x05, 0x2c, 0x39,
0x2c, 0x6e, 0x2c, 0xa2, 0x2c, 0xd7, 0x2d, 0x0c,
0x2d, 0x41, 0x2d, 0x76, 0x2d, 0xab, 0x2d, 0xe1,
0x2e, 0x16, 0x2e, 0x4c, 0x2e, 0x82, 0x2e, 0xb7,
0x2e, 0xee, 0x2f, 0x24, 0x2f, 0x5a, 0x2f, 0x91,
0x2f, 0xc7, 0x2f, 0xfe, 0x30, 0x35, 0x30, 0x6c,
0x30, 0xa4, 0x30, 0xdb, 0x31, 0x12, 0x31, 0x4a,
0x31, 0x82, 0x31, 0xba, 0x31, 0xf2, 0x32, 0x2a,
0x32, 0x63, 0x32, 0x9b, 0x32, 0xd4, 0x33, 0x0d,
0x33, 0x46, 0x33, 0x7f, 0x33, 0xb8, 0x33, 0xf1,
0x34, 0x2b, 0x34, 0x65, 0x34, 0x9e, 0x34, 0xd8,
0x35, 0x13, 0x35, 0x4d, 0x35, 0x87, 0x35, 0xc2,
0x35, 0xfd, 0x36, 0x37, 0x36, 0x72, 0x36, 0xae,
0x36, 0xe9, 0x37, 0x24, 0x37, 0x60, 0x37, 0x9c,
0x37, 0xd7, 0x38, 0x14, 0x38, 0x50, 0x38, 0x8c,
0x38, 0xc8, 0x39, 0x05, 0x39, 0x42, 0x39, 0x7f,
0x39, 0xbc, 0x39, 0xf9, 0x3a, 0x36, 0x3a, 0x74,
0x3a, 0xb2, 0x3a, 0xef, 0x3b, 0x2d, 0x3b, 0x6b,
0x3b, 0xaa, 0x3b, 0xe8, 0x3c, 0x27, 0x3c, 0x65,
0x3c, 0xa4, 0x3c, 0xe3, 0x3d, 0x22, 0x3d, 0x61,
0x3d, 0xa1, 0x3d, 0xe0, 0x3e, 0x20, 0x3e, 0x60,
0x3e, 0xa0, 0x3e, 0xe0, 0x3f, 0x21, 0x3f, 0x61,
0x3f, 0xa2, 0x3f, 0xe2, 0x40, 0x23, 0x40, 0x64,
0x40, 0xa6, 0x40, 0xe7, 0x41, 0x29, 0x41, 0x6a,
0x41, 0xac, 0x41, 0xee, 0x42, 0x30, 0x42, 0x72,
0x42, 0xb5, 0x42, 0xf7, 0x43, 0x3a, 0x43, 0x7d,
0x43, 0xc0, 0x44, 0x03, 0x44, 0x47, 0x44, 0x8a,
0x44, 0xce, 0x45, 0x12, 0x45, 0x55, 0x45, 0x9a,
0x45, 0xde, 0x46, 0x22, 0x46, 0x67, 0x46, 0xab,
0x46, 0xf0, 0x47, 0x35, 0x47, 0x7b, 0x47, 0xc0,
0x48, 0x05, 0x48, 0x4b, 0x48, 0x91, 0x48, 0xd7,
0x49, 0x1d, 0x49, 0x63, 0x49, 0xa9, 0x49, 0xf0,
0x4a, 0x37, 0x4a, 0x7d, 0x4a, 0xc4, 0x4b, 0x0c,
0x4b, 0x53, 0x4b, 0x9a, 0x4b, 0xe2, 0x4c, 0x2a,
0x4c, 0x72, 0x4c, 0xba, 0x4d, 0x02, 0x4d, 0x4a,
0x4d, 0x93, 0x4d, 0xdc, 0x4e, 0x25, 0x4e, 0x6e,
0x4e, 0xb7, 0x4f, 0x00, 0x4f, 0x49, 0x4f, 0x93,
0x4f, 0xdd, 0x50, 0x27, 0x50, 0x71, 0x50, 0xbb,
0x51, 0x06, 0x51, 0x50, 0x51, 0x9b, 0x51, 0xe6,
0x52, 0x31, 0x52, 0x7c, 0x52, 0xc7, 0x53, 0x13,
0x53, 0x5f, 0x53, 0xaa, 0x53, 0xf6, 0x54, 0x42,
0x54, 0x8f, 0x54, 0xdb, 0x55, 0x28, 0x55, 0x75,
0x55, 0xc2, 0x56, 0x0f, 0x56, 0x5c, 0x56, 0xa9,
0x56, 0xf7, 0x57, 0x44, 0x57, 0x92, 0x57, 0xe0,
0x58, 0x2f, 0x58, 0x7d, 0x58, 0xcb, 0x59, 0x1a,
0x59, 0x69, 0x59, 0xb8, 0x5a, 0x07, 0x5a, 0x56,
0x5a, 0xa6, 0x5a, 0xf5, 0x5b, 0x45, 0x5b, 0x95,
0x5b, 0xe5, 0x5c, 0x35, 0x5c, 0x86, 0x5c, 0xd6,
0x5d, 0x27, 0x5d, 0x78, 0x5d, 0xc9, 0x5e, 0x1a,
0x5e, 0x6c, 0x5e, 0xbd, 0x5f, 0x0f, 0x5f, 0x61,
0x5f, 0xb3, 0x60, 0x05, 0x60, 0x57, 0x60, 0xaa,
0x60, 0xfc, 0x61, 0x4f, 0x61, 0xa2, 0x61, 0xf5,
0x62, 0x49, 0x62, 0x9c, 0x62, 0xf0, 0x63, 0x43,
0x63, 0x97, 0x63, 0xeb, 0x64, 0x40, 0x64, 0x94,
0x64, 0xe9, 0x65, 0x3d, 0x65, 0x92, 0x65, 0xe7,
0x66, 0x3d, 0x66, 0x92, 0x66, 0xe8, 0x67, 0x3d,
0x67, 0x93, 0x67, 0xe9, 0x68, 0x3f, 0x68, 0x96,
0x68, 0xec, 0x69, 0x43, 0x69, 0x9a, 0x69, 0xf1,
0x6a, 0x48, 0x6a, 0x9f, 0x6a, 0xf7, 0x6b, 0x4f,
0x6b, 0xa7, 0x6b, 0xff, 0x6c, 0x57, 0x6c, 0xaf,
0x6d, 0x08, 0x6d, 0x60, 0x6d, 0xb9, 0x6e, 0x12,
0x6e, 0x6b, 0x6e, 0xc4, 0x6f, 0x1e, 0x6f, 0x78,
0x6f, 0xd1, 0x70, 0x2b, 0x70, 0x86, 0x70, 0xe0,
0x71, 0x3a, 0x71, 0x95, 0x71, 0xf0, 0x72, 0x4b,
0x72, 0xa6, 0x73, 0x01, 0x73, 0x5d, 0x73, 0xb8,
0x74, 0x14, 0x74, 0x70, 0x74, 0xcc, 0x75, 0x28,
0x75, 0x85, 0x75, 0xe1, 0x76, 0x3e, 0x76, 0x9b,
0x76, 0xf8, 0x77, 0x56, 0x77, 0xb3, 0x78, 0x11,
0x78, 0x6e, 0x78, 0xcc, 0x79, 0x2a, 0x79, 0x89,
0x79, 0xe7, 0x7a, 0x46, 0x7a, 0xa5, 0x7b, 0x04,
0x7b, 0x63, 0x7b, 0xc2, 0x7c, 0x21, 0x7c, 0x81,
0x7c, 0xe1, 0x7d, 0x41, 0x7d, 0xa1, 0x7e, 0x01,
0x7e, 0x62, 0x7e, 0xc2, 0x7f, 0x23, 0x7f, 0x84,
0x7f, 0xe5, 0x80, 0x47, 0x80, 0xa8, 0x81, 0x0a,
0x81, 0x6b, 0x81, 0xcd, 0x82, 0x30, 0x82, 0x92,
0x82, 0xf4, 0x83, 0x57, 0x83, 0xba, 0x84, 0x1d,
0x84, 0x80, 0x84, 0xe3, 0x85, 0x47, 0x85, 0xab,
0x86, 0x0e, 0x86, 0x72, 0x86, 0xd7, 0x87, 0x3b,
0x87, 0x9f, 0x88, 0x04, 0x88, 0x69, 0x88, 0xce,
0x89, 0x33, 0x89, 0x99, 0x89, 0xfe, 0x8a, 0x64,
0x8a, 0xca, 0x8b, 0x30, 0x8b, 0x96, 0x8b, 0xfc,
0x8c, 0x63, 0x8c, 0xca, 0x8d, 0x31, 0x8d, 0x98,
0x8d, 0xff, 0x8e, 0x66, 0x8e, 0xce, 0x8f, 0x36,
0x8f, 0x9e, 0x90, 0x06, 0x90, 0x6e, 0x90, 0xd6,
0x91, 0x3f, 0x91, 0xa8, 0x92, 0x11, 0x92, 0x7a,
0x92, 0xe3, 0x93, 0x4d, 0x93, 0xb6, 0x94, 0x20,
0x94, 0x8a, 0x94, 0xf4, 0x95, 0x5f, 0x95, 0xc9,
0x96, 0x34, 0x96, 0x9f, 0x97, 0x0a, 0x97, 0x75,
0x97, 0xe0, 0x98, 0x4c, 0x98, 0xb8, 0x99, 0x24,
0x99, 0x90, 0x99, 0xfc, 0x9a, 0x68, 0x9a, 0xd5,
0x9b, 0x42, 0x9b, 0xaf, 0x9c, 0x1c, 0x9c, 0x89,
0x9c, 0xf7, 0x9d, 0x64, 0x9d, 0xd2, 0x9e, 0x40,
0x9e, 0xae, 0x9f, 0x1d, 0x9f, 0x8b, 0x9f, 0xfa,
0xa0, 0x69, 0xa0, 0xd8, 0xa1, 0x47, 0xa1, 0xb6,
0xa2, 0x26, 0xa2, 0x96, 0xa3, 0x06, 0xa3, 0x76,
0xa3, 0xe6, 0xa4, 0x56, 0xa4, 0xc7, 0xa5, 0x38,
0xa5, 0xa9, 0xa6, 0x1a, 0xa6, 0x8b, 0xa6, 0xfd,
0xa7, 0x6e, 0xa7, 0xe0, 0xa8, 0x52, 0xa8, 0xc4,
0xa9, 0x37, 0xa9, 0xa9, 0xaa, 0x1c, 0xaa, 0x8f,
0xab, 0x02, 0xab, 0x75, 0xab, 0xe9, 0xac, 0x5c,
0xac, 0xd0, 0xad, 0x44, 0xad, 0xb8, 0xae, 0x2d,
0xae, 0xa1, 0xaf, 0x16, 0xaf, 0x8b, 0xb0, 0x00,
0xb0, 0x75, 0xb0, 0xea, 0xb1, 0x60, 0xb1, 0xd6,
0xb2, 0x4b, 0xb2, 0xc2, 0xb3, 0x38, 0xb3, 0xae,
0xb4, 0x25, 0xb4, 0x9c, 0xb5, 0x13, 0xb5, 0x8a,
0xb6, 0x01, 0xb6, 0x79, 0xb6, 0xf0, 0xb7, 0x68,
0xb7, 0xe0, 0xb8, 0x59, 0xb8, 0xd1, 0xb9, 0x4a,
0xb9, 0xc2, 0xba, 0x3b, 0xba, 0xb5, 0xbb, 0x2e,
0xbb, 0xa7, 0xbc, 0x21, 0xbc, 0x9b, 0xbd, 0x15,
0xbd, 0x8f, 0xbe, 0x0a, 0xbe, 0x84, 0xbe, 0xff,
0xbf, 0x7a, 0xbf, 0xf5, 0xc0, 0x70, 0xc0, 0xec,
0xc1, 0x67, 0xc1, 0xe3, 0xc2, 0x5f, 0xc2, 0xdb,
0xc3, 0x58, 0xc3, 0xd4, 0xc4, 0x51, 0xc4, 0xce,
0xc5, 0x4b, 0xc5, 0xc8, 0xc6, 0x46, 0xc6, 0xc3,
0xc7, 0x41, 0xc7, 0xbf, 0xc8, 0x3d, 0xc8, 0xbc,
0xc9, 0x3a, 0xc9, 0xb9, 0xca, 0x38, 0xca, 0xb7,
0xcb, 0x36, 0xcb, 0xb6, 0xcc, 0x35, 0xcc, 0xb5,
0xcd, 0x35, 0xcd, 0xb5, 0xce, 0x36, 0xce, 0xb6,
0xcf, 0x37, 0xcf, 0xb8, 0xd0, 0x39, 0xd0, 0xba,
0xd1, 0x3c, 0xd1, 0xbe, 0xd2, 0x3f, 0xd2, 0xc1,
0xd3, 0x44, 0xd3, 0xc6, 0xd4, 0x49, 0xd4, 0xcb,
0xd5, 0x4e, 0xd5, 0xd1, 0xd6, 0x55, 0xd6, 0xd8,
0xd7, 0x5c, 0xd7, 0xe0, 0xd8, 0x64, 0xd8, 0xe8,
0xd9, 0x6c, 0xd9, 0xf1, 0xda, 0x76, 0xda, 0xfb,
0xdb, 0x80, 0xdc, 0x05, 0xdc, 0x8a, 0xdd, 0x10,
0xdd, 0x96, 0xde, 0x1c, 0xde, 0xa2, 0xdf, 0x29,
0xdf, 0xaf, 0xe0, 0x36, 0xe0, 0xbd, 0xe1, 0x44,
0xe1, 0xcc, 0xe2, 0x53, 0xe2, 0xdb, 0xe3, 0x63,
0xe3, 0xeb, 0xe4, 0x73, 0xe4, 0xfc, 0xe5, 0x84,
0xe6, 0x0d, 0xe6, 0x96, 0xe7, 0x1f, 0xe7, 0xa9,
0xe8, 0x32, 0xe8, 0xbc, 0xe9, 0x46, 0xe9, 0xd0,
0xea, 0x5b, 0xea, 0xe5, 0xeb, 0x70, 0xeb, 0xfb,
0xec, 0x86, 0xed, 0x11, 0xed, 0x9c, 0xee, 0x28,
0xee, 0xb4, 0xef, 0x40, 0xef, 0xcc, 0xf0, 0x58,
0xf0, 0xe5, 0xf1, 0x72, 0xf1, 0xff, 0xf2, 0x8c,
0xf3, 0x19, 0xf3, 0xa7, 0xf4, 0x34, 0xf4, 0xc2,
0xf5, 0x50, 0xf5, 0xde, 0xf6, 0x6d, 0xf6, 0xfb,
0xf7, 0x8a, 0xf8, 0x19, 0xf8, 0xa8, 0xf9, 0x38,
0xf9, 0xc7, 0xfa, 0x57, 0xfa, 0xe7, 0xfb, 0x77,
0xfc, 0x07, 0xfc, 0x98, 0xfd, 0x29, 0xfd, 0xba,
0xfe, 0x4b, 0xfe, 0xdc, 0xff, 0x6d, 0xff, 0xff
};
int jas_iccprofdata_srgblen = sizeof(jas_iccprofdata_srgb);
uchar jas_iccprofdata_sgray[] = {
0x00, 0x00, 0x01, 0x8a, 0x00, 0x00, 0x00, 0x00,
0x02, 0x20, 0x00, 0x00, 0x73, 0x63, 0x6e, 0x72,
0x47, 0x52, 0x41, 0x59, 0x58, 0x59, 0x5a, 0x20,
0x07, 0xd3, 0x00, 0x01, 0x00, 0x1f, 0x00, 0x0d,
0x00, 0x35, 0x00, 0x21, 0x61, 0x63, 0x73, 0x70,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
0x4b, 0x4f, 0x44, 0x41, 0x73, 0x47, 0x72, 0x79,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf6, 0xd6,
0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0xd3, 0x2d,
0x4a, 0x50, 0x45, 0x47, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x04, 0x64, 0x65, 0x73, 0x63,
0x00, 0x00, 0x00, 0xb4, 0x00, 0x00, 0x00, 0x86,
0x63, 0x70, 0x72, 0x74, 0x00, 0x00, 0x01, 0x3c,
0x00, 0x00, 0x00, 0x2b, 0x77, 0x74, 0x70, 0x74,
0x00, 0x00, 0x01, 0x68, 0x00, 0x00, 0x00, 0x14,
0x6b, 0x54, 0x52, 0x43, 0x00, 0x00, 0x01, 0x7c,
0x00, 0x00, 0x00, 0x0e, 0x64, 0x65, 0x73, 0x63,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2c,
0x52, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74,
0x65, 0x64, 0x20, 0x49, 0x43, 0x43, 0x20, 0x70,
0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x20, 0x64,
0x65, 0x73, 0x63, 0x72, 0x69, 0x62, 0x69, 0x6e,
0x67, 0x20, 0x73, 0x52, 0x47, 0x42, 0x2d, 0x67,
0x72, 0x65, 0x79, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x74, 0x65, 0x78, 0x74,
0x00, 0x00, 0x00, 0x00, 0x43, 0x6f, 0x70, 0x79,
0x72, 0x69, 0x67, 0x68, 0x74, 0x20, 0x32, 0x30,
0x30, 0x33, 0x20, 0x73, 0x52, 0x47, 0x42, 0x2d,
0x67, 0x72, 0x65, 0x79, 0x20, 0x52, 0x65, 0x66,
0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x00, 0x00,
0x58, 0x59, 0x5a, 0x20, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0xf3, 0x54, 0x00, 0x01, 0x00, 0x00,
0x00, 0x01, 0x16, 0xcf, 0x63, 0x75, 0x72, 0x76,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
0x01, 0xcd
0x00, 0x00, 0x01, 0x8a, 0x00, 0x00, 0x00, 0x00,
0x02, 0x20, 0x00, 0x00, 0x73, 0x63, 0x6e, 0x72,
0x47, 0x52, 0x41, 0x59, 0x58, 0x59, 0x5a, 0x20,
0x07, 0xd3, 0x00, 0x01, 0x00, 0x1f, 0x00, 0x0d,
0x00, 0x35, 0x00, 0x21, 0x61, 0x63, 0x73, 0x70,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
0x4b, 0x4f, 0x44, 0x41, 0x73, 0x47, 0x72, 0x79,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf6, 0xd6,
0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0xd3, 0x2d,
0x4a, 0x50, 0x45, 0x47, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x04, 0x64, 0x65, 0x73, 0x63,
0x00, 0x00, 0x00, 0xb4, 0x00, 0x00, 0x00, 0x86,
0x63, 0x70, 0x72, 0x74, 0x00, 0x00, 0x01, 0x3c,
0x00, 0x00, 0x00, 0x2b, 0x77, 0x74, 0x70, 0x74,
0x00, 0x00, 0x01, 0x68, 0x00, 0x00, 0x00, 0x14,
0x6b, 0x54, 0x52, 0x43, 0x00, 0x00, 0x01, 0x7c,
0x00, 0x00, 0x00, 0x0e, 0x64, 0x65, 0x73, 0x63,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2c,
0x52, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74,
0x65, 0x64, 0x20, 0x49, 0x43, 0x43, 0x20, 0x70,
0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x20, 0x64,
0x65, 0x73, 0x63, 0x72, 0x69, 0x62, 0x69, 0x6e,
0x67, 0x20, 0x73, 0x52, 0x47, 0x42, 0x2d, 0x67,
0x72, 0x65, 0x79, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x74, 0x65, 0x78, 0x74,
0x00, 0x00, 0x00, 0x00, 0x43, 0x6f, 0x70, 0x79,
0x72, 0x69, 0x67, 0x68, 0x74, 0x20, 0x32, 0x30,
0x30, 0x33, 0x20, 0x73, 0x52, 0x47, 0x42, 0x2d,
0x67, 0x72, 0x65, 0x79, 0x20, 0x52, 0x65, 0x66,
0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x00, 0x00,
0x58, 0x59, 0x5a, 0x20, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0xf3, 0x54, 0x00, 0x01, 0x00, 0x00,
0x00, 0x01, 0x16, 0xcf, 0x63, 0x75, 0x72, 0x76,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
0x01, 0xcd
};
int jas_iccprofdata_sgraylen = sizeof(jas_iccprofdata_sgray);

File diff suppressed because it is too large Load Diff

View File

@@ -4,15 +4,15 @@
*/
/* __START_OF_JASPER_LICENSE__
*
*
* JasPer License Version 2.0
*
*
* Copyright (c) 2001-2006 Michael David Adams
* Copyright (c) 1999-2000 Image Power, Inc.
* Copyright (c) 1999-2000 The University of British Columbia
*
*
* All rights reserved.
*
*
* Permission is hereby granted, free of charge, to any person (the
* "User") obtaining a copy of this software and associated documentation
* files (the "Software"), to deal in the Software without restriction,
@@ -20,15 +20,15 @@
* publish, distribute, and/or sell copies of the Software, and to permit
* persons to whom the Software is furnished to do so, subject to the
* following conditions:
*
*
* 1. The above copyright notices and this permission notice (which
* includes the disclaimer below) shall be included in all copies or
* substantial portions of the Software.
*
*
* 2. The name of a copyright holder shall not be used to endorse or
* promote products derived from the Software without specific prior
* written permission.
*
*
* THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS
* LICENSE. NO USE OF THE SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER
* THIS DISCLAIMER. THE SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS
@@ -55,7 +55,7 @@
* PERSONAL INJURY, OR SEVERE PHYSICAL OR ENVIRONMENTAL DAMAGE ("HIGH
* RISK ACTIVITIES"). THE COPYRIGHT HOLDERS SPECIFICALLY DISCLAIM ANY
* EXPRESS OR IMPLIED WARRANTY OF FITNESS FOR HIGH RISK ACTIVITIES.
*
*
* __END_OF_JASPER_LICENSE__
*/
@@ -74,89 +74,89 @@
/* Initialize the image format table. */
int jas_init()
{
jas_image_fmtops_t fmtops;
int fmtid;
jas_image_fmtops_t fmtops;
int fmtid;
fmtid = 0;
fmtid = 0;
#if !defined(EXCLUDE_MIF_SUPPORT)
fmtops.decode = mif_decode;
fmtops.encode = mif_encode;
fmtops.validate = mif_validate;
jas_image_addfmt(fmtid, "mif", "mif", "My Image Format (MIF)", &fmtops);
++fmtid;
fmtops.decode = mif_decode;
fmtops.encode = mif_encode;
fmtops.validate = mif_validate;
jas_image_addfmt(fmtid, "mif", "mif", "My Image Format (MIF)", &fmtops);
++fmtid;
#endif
#if !defined(EXCLUDE_PNM_SUPPORT)
fmtops.decode = pnm_decode;
fmtops.encode = pnm_encode;
fmtops.validate = pnm_validate;
jas_image_addfmt(fmtid, "pnm", "pnm", "Portable Graymap/Pixmap (PNM)",
&fmtops);
jas_image_addfmt(fmtid, "pnm", "pgm", "Portable Graymap/Pixmap (PNM)",
&fmtops);
jas_image_addfmt(fmtid, "pnm", "ppm", "Portable Graymap/Pixmap (PNM)",
&fmtops);
++fmtid;
fmtops.decode = pnm_decode;
fmtops.encode = pnm_encode;
fmtops.validate = pnm_validate;
jas_image_addfmt(fmtid, "pnm", "pnm", "Portable Graymap/Pixmap (PNM)",
&fmtops);
jas_image_addfmt(fmtid, "pnm", "pgm", "Portable Graymap/Pixmap (PNM)",
&fmtops);
jas_image_addfmt(fmtid, "pnm", "ppm", "Portable Graymap/Pixmap (PNM)",
&fmtops);
++fmtid;
#endif
#if !defined(EXCLUDE_BMP_SUPPORT)
fmtops.decode = bmp_decode;
fmtops.encode = bmp_encode;
fmtops.validate = bmp_validate;
jas_image_addfmt(fmtid, "bmp", "bmp", "Microsoft Bitmap (BMP)", &fmtops);
++fmtid;
fmtops.decode = bmp_decode;
fmtops.encode = bmp_encode;
fmtops.validate = bmp_validate;
jas_image_addfmt(fmtid, "bmp", "bmp", "Microsoft Bitmap (BMP)", &fmtops);
++fmtid;
#endif
#if !defined(EXCLUDE_RAS_SUPPORT)
fmtops.decode = ras_decode;
fmtops.encode = ras_encode;
fmtops.validate = ras_validate;
jas_image_addfmt(fmtid, "ras", "ras", "Sun Rasterfile (RAS)", &fmtops);
++fmtid;
fmtops.decode = ras_decode;
fmtops.encode = ras_encode;
fmtops.validate = ras_validate;
jas_image_addfmt(fmtid, "ras", "ras", "Sun Rasterfile (RAS)", &fmtops);
++fmtid;
#endif
#if !defined(EXCLUDE_JP2_SUPPORT)
fmtops.decode = jp2_decode;
fmtops.encode = jp2_encode;
fmtops.validate = jp2_validate;
jas_image_addfmt(fmtid, "jp2", "jp2",
"JPEG-2000 JP2 File Format Syntax (ISO/IEC 15444-1)", &fmtops);
++fmtid;
fmtops.decode = jpc_decode;
fmtops.encode = jpc_encode;
fmtops.validate = jpc_validate;
jas_image_addfmt(fmtid, "jpc", "jpc",
"JPEG-2000 Code Stream Syntax (ISO/IEC 15444-1)", &fmtops);
++fmtid;
fmtops.decode = jp2_decode;
fmtops.encode = jp2_encode;
fmtops.validate = jp2_validate;
jas_image_addfmt(fmtid, "jp2", "jp2",
"JPEG-2000 JP2 File Format Syntax (ISO/IEC 15444-1)", &fmtops);
++fmtid;
fmtops.decode = jpc_decode;
fmtops.encode = jpc_encode;
fmtops.validate = jpc_validate;
jas_image_addfmt(fmtid, "jpc", "jpc",
"JPEG-2000 Code Stream Syntax (ISO/IEC 15444-1)", &fmtops);
++fmtid;
#endif
#if !defined(EXCLUDE_JPG_SUPPORT)
fmtops.decode = jpg_decode;
fmtops.encode = jpg_encode;
fmtops.validate = jpg_validate;
jas_image_addfmt(fmtid, "jpg", "jpg", "JPEG (ISO/IEC 10918-1)", &fmtops);
++fmtid;
fmtops.decode = jpg_decode;
fmtops.encode = jpg_encode;
fmtops.validate = jpg_validate;
jas_image_addfmt(fmtid, "jpg", "jpg", "JPEG (ISO/IEC 10918-1)", &fmtops);
++fmtid;
#endif
#if !defined(EXCLUDE_PGX_SUPPORT)
fmtops.decode = pgx_decode;
fmtops.encode = pgx_encode;
fmtops.validate = pgx_validate;
jas_image_addfmt(fmtid, "pgx", "pgx", "JPEG-2000 VM Format (PGX)", &fmtops);
++fmtid;
fmtops.decode = pgx_decode;
fmtops.encode = pgx_encode;
fmtops.validate = pgx_validate;
jas_image_addfmt(fmtid, "pgx", "pgx", "JPEG-2000 VM Format (PGX)", &fmtops);
++fmtid;
#endif
/* We must not register the JasPer library exit handler until after
at least one memory allocation is performed. This is desirable
as it ensures that the JasPer exit handler is called before the
debug memory allocator exit handler. */
atexit(jas_cleanup);
/* We must not register the JasPer library exit handler until after
at least one memory allocation is performed. This is desirable
as it ensures that the JasPer exit handler is called before the
debug memory allocator exit handler. */
atexit(jas_cleanup);
return 0;
return 0;
}
void jas_cleanup()
{
jas_image_clearfmts();
jas_image_clearfmts();
}

View File

@@ -6,15 +6,15 @@
*/
/* __START_OF_JASPER_LICENSE__
*
*
* JasPer License Version 2.0
*
*
* Copyright (c) 2001-2006 Michael David Adams
* Copyright (c) 1999-2000 Image Power, Inc.
* Copyright (c) 1999-2000 The University of British Columbia
*
*
* All rights reserved.
*
*
* Permission is hereby granted, free of charge, to any person (the
* "User") obtaining a copy of this software and associated documentation
* files (the "Software"), to deal in the Software without restriction,
@@ -22,15 +22,15 @@
* publish, distribute, and/or sell copies of the Software, and to permit
* persons to whom the Software is furnished to do so, subject to the
* following conditions:
*
*
* 1. The above copyright notices and this permission notice (which
* includes the disclaimer below) shall be included in all copies or
* substantial portions of the Software.
*
*
* 2. The name of a copyright holder shall not be used to endorse or
* promote products derived from the Software without specific prior
* written permission.
*
*
* THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS
* LICENSE. NO USE OF THE SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER
* THIS DISCLAIMER. THE SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS
@@ -57,7 +57,7 @@
* PERSONAL INJURY, OR SEVERE PHYSICAL OR ENVIRONMENTAL DAMAGE ("HIGH
* RISK ACTIVITIES"). THE COPYRIGHT HOLDERS SPECIFICALLY DISCLAIM ANY
* EXPRESS OR IMPLIED WARRANTY OF FITNESS FOR HIGH RISK ACTIVITIES.
*
*
* __END_OF_JASPER_LICENSE__
*/
@@ -76,6 +76,11 @@
/* We need the prototype for memset. */
#include <string.h>
#include <limits.h>
#include <errno.h>
#if !defined _WIN32 || defined __MINGW__ || defined __MINGW32__
#include <stdint.h>
#endif
#include "jasper/jas_malloc.h"
@@ -96,36 +101,68 @@
void *jas_malloc(size_t size)
{
#if defined(MEMALLOC_ALIGN2)
void *ptr;
void *ptr;
abort();
if (posix_memalign(&ptr, MEMALLOC_ALIGNMENT, size)) {
return 0;
}
return ptr;
if (posix_memalign(&ptr, MEMALLOC_ALIGNMENT, size)) {
return 0;
}
return ptr;
#endif
return malloc(size);
return malloc(size);
}
void jas_free(void *ptr)
{
free(ptr);
free(ptr);
}
void *jas_realloc(void *ptr, size_t size)
{
return realloc(ptr, size);
return ptr ? realloc(ptr, size) : malloc(size);
}
void *jas_realloc2(void *ptr, size_t nmemb, size_t size)
{
if (!ptr)
return jas_alloc2(nmemb, size);
if (nmemb && SIZE_MAX / nmemb < size) {
errno = ENOMEM;
return NULL;
}
return jas_realloc(ptr, nmemb * size);
}
void *jas_alloc2(size_t nmemb, size_t size)
{
if (nmemb && SIZE_MAX / nmemb < size) {
errno = ENOMEM;
return NULL;
}
return jas_malloc(nmemb * size);
}
void *jas_alloc3(size_t a, size_t b, size_t c)
{
size_t n;
if (a && SIZE_MAX / a < b) {
errno = ENOMEM;
return NULL;
}
return jas_alloc2(a*b, c);
}
void *jas_calloc(size_t nmemb, size_t size)
{
void *ptr;
size_t n;
n = nmemb * size;
if (!(ptr = jas_malloc(n * sizeof(char)))) {
return 0;
}
memset(ptr, 0, n);
return ptr;
void *ptr;
ptr = jas_alloc2(nmemb, size);
if (ptr)
memset(ptr, 0, nmemb*size);
return ptr;
}
#endif

View File

@@ -6,15 +6,15 @@
*/
/* __START_OF_JASPER_LICENSE__
*
*
* JasPer License Version 2.0
*
*
* Copyright (c) 2001-2006 Michael David Adams
* Copyright (c) 1999-2000 Image Power, Inc.
* Copyright (c) 1999-2000 The University of British Columbia
*
*
* All rights reserved.
*
*
* Permission is hereby granted, free of charge, to any person (the
* "User") obtaining a copy of this software and associated documentation
* files (the "Software"), to deal in the Software without restriction,
@@ -22,15 +22,15 @@
* publish, distribute, and/or sell copies of the Software, and to permit
* persons to whom the Software is furnished to do so, subject to the
* following conditions:
*
*
* 1. The above copyright notices and this permission notice (which
* includes the disclaimer below) shall be included in all copies or
* substantial portions of the Software.
*
*
* 2. The name of a copyright holder shall not be used to endorse or
* promote products derived from the Software without specific prior
* written permission.
*
*
* THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS
* LICENSE. NO USE OF THE SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER
* THIS DISCLAIMER. THE SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS
@@ -57,7 +57,7 @@
* PERSONAL INJURY, OR SEVERE PHYSICAL OR ENVIRONMENTAL DAMAGE ("HIGH
* RISK ACTIVITIES"). THE COPYRIGHT HOLDERS SPECIFICALLY DISCLAIM ANY
* EXPRESS OR IMPLIED WARRANTY OF FITNESS FOR HIGH RISK ACTIVITIES.
*
*
* __END_OF_JASPER_LICENSE__
*/
@@ -85,108 +85,108 @@
jas_matrix_t *jas_seq2d_create(int xstart, int ystart, int xend, int yend)
{
jas_matrix_t *matrix;
assert(xstart <= xend && ystart <= yend);
if (!(matrix = jas_matrix_create(yend - ystart, xend - xstart))) {
return 0;
}
matrix->xstart_ = xstart;
matrix->ystart_ = ystart;
matrix->xend_ = xend;
matrix->yend_ = yend;
return matrix;
jas_matrix_t *matrix;
assert(xstart <= xend && ystart <= yend);
if (!(matrix = jas_matrix_create(yend - ystart, xend - xstart))) {
return 0;
}
matrix->xstart_ = xstart;
matrix->ystart_ = ystart;
matrix->xend_ = xend;
matrix->yend_ = yend;
return matrix;
}
jas_matrix_t *jas_matrix_create(int numrows, int numcols)
{
jas_matrix_t *matrix;
int i;
jas_matrix_t *matrix;
int i;
if (!(matrix = jas_malloc(sizeof(jas_matrix_t)))) {
return 0;
}
matrix->flags_ = 0;
matrix->numrows_ = numrows;
matrix->numcols_ = numcols;
matrix->rows_ = 0;
matrix->maxrows_ = numrows;
matrix->data_ = 0;
matrix->datasize_ = numrows * numcols;
if (!(matrix = jas_malloc(sizeof(jas_matrix_t)))) {
return 0;
}
matrix->flags_ = 0;
matrix->numrows_ = numrows;
matrix->numcols_ = numcols;
matrix->rows_ = 0;
matrix->maxrows_ = numrows;
matrix->data_ = 0;
matrix->datasize_ = numrows * numcols;
if (matrix->maxrows_ > 0) {
if (!(matrix->rows_ = jas_malloc(matrix->maxrows_ *
sizeof(jas_seqent_t *)))) {
jas_matrix_destroy(matrix);
return 0;
}
}
if (matrix->maxrows_ > 0) {
if (!(matrix->rows_ = jas_alloc2(matrix->maxrows_,
sizeof(jas_seqent_t *)))) {
jas_matrix_destroy(matrix);
return 0;
}
}
if (matrix->datasize_ > 0) {
if (!(matrix->data_ = jas_malloc(matrix->datasize_ *
sizeof(jas_seqent_t)))) {
jas_matrix_destroy(matrix);
return 0;
}
}
if (matrix->datasize_ > 0) {
if (!(matrix->data_ = jas_alloc2(matrix->datasize_,
sizeof(jas_seqent_t)))) {
jas_matrix_destroy(matrix);
return 0;
}
}
for (i = 0; i < numrows; ++i) {
matrix->rows_[i] = &matrix->data_[i * matrix->numcols_];
}
for (i = 0; i < numrows; ++i) {
matrix->rows_[i] = &matrix->data_[i * matrix->numcols_];
}
for (i = 0; i < matrix->datasize_; ++i) {
matrix->data_[i] = 0;
}
for (i = 0; i < matrix->datasize_; ++i) {
matrix->data_[i] = 0;
}
matrix->xstart_ = 0;
matrix->ystart_ = 0;
matrix->xend_ = matrix->numcols_;
matrix->yend_ = matrix->numrows_;
matrix->xstart_ = 0;
matrix->ystart_ = 0;
matrix->xend_ = matrix->numcols_;
matrix->yend_ = matrix->numrows_;
return matrix;
return matrix;
}
void jas_matrix_destroy(jas_matrix_t *matrix)
{
if (matrix->data_) {
assert(!(matrix->flags_ & JAS_MATRIX_REF));
jas_free(matrix->data_);
matrix->data_ = 0;
}
if (matrix->rows_) {
jas_free(matrix->rows_);
matrix->rows_ = 0;
}
jas_free(matrix);
if (matrix->data_) {
assert(!(matrix->flags_ & JAS_MATRIX_REF));
jas_free(matrix->data_);
matrix->data_ = 0;
}
if (matrix->rows_) {
jas_free(matrix->rows_);
matrix->rows_ = 0;
}
jas_free(matrix);
}
jas_seq2d_t *jas_seq2d_copy(jas_seq2d_t *x)
{
jas_matrix_t *y;
int i;
int j;
y = jas_seq2d_create(jas_seq2d_xstart(x), jas_seq2d_ystart(x), jas_seq2d_xend(x),
jas_seq2d_yend(x));
assert(y);
for (i = 0; i < x->numrows_; ++i) {
for (j = 0; j < x->numcols_; ++j) {
*jas_matrix_getref(y, i, j) = jas_matrix_get(x, i, j);
}
}
return y;
jas_matrix_t *y;
int i;
int j;
y = jas_seq2d_create(jas_seq2d_xstart(x), jas_seq2d_ystart(x), jas_seq2d_xend(x),
jas_seq2d_yend(x));
assert(y);
for (i = 0; i < x->numrows_; ++i) {
for (j = 0; j < x->numcols_; ++j) {
*jas_matrix_getref(y, i, j) = jas_matrix_get(x, i, j);
}
}
return y;
}
jas_matrix_t *jas_matrix_copy(jas_matrix_t *x)
{
jas_matrix_t *y;
int i;
int j;
y = jas_matrix_create(x->numrows_, x->numcols_);
for (i = 0; i < x->numrows_; ++i) {
for (j = 0; j < x->numcols_; ++j) {
*jas_matrix_getref(y, i, j) = jas_matrix_get(x, i, j);
}
}
return y;
jas_matrix_t *y;
int i;
int j;
y = jas_matrix_create(x->numrows_, x->numcols_);
for (i = 0; i < x->numrows_; ++i) {
for (j = 0; j < x->numcols_; ++j) {
*jas_matrix_getref(y, i, j) = jas_matrix_get(x, i, j);
}
}
return y;
}
/******************************************************************************\
@@ -196,39 +196,39 @@ jas_matrix_t *jas_matrix_copy(jas_matrix_t *x)
void jas_seq2d_bindsub(jas_matrix_t *s, jas_matrix_t *s1, int xstart, int ystart,
int xend, int yend)
{
jas_matrix_bindsub(s, s1, ystart - s1->ystart_, xstart - s1->xstart_,
yend - s1->ystart_ - 1, xend - s1->xstart_ - 1);
jas_matrix_bindsub(s, s1, ystart - s1->ystart_, xstart - s1->xstart_,
yend - s1->ystart_ - 1, xend - s1->xstart_ - 1);
}
void jas_matrix_bindsub(jas_matrix_t *mat0, jas_matrix_t *mat1, int r0, int c0,
int r1, int c1)
{
int i;
int i;
if (mat0->data_) {
if (!(mat0->flags_ & JAS_MATRIX_REF)) {
jas_free(mat0->data_);
}
mat0->data_ = 0;
mat0->datasize_ = 0;
}
if (mat0->rows_) {
jas_free(mat0->rows_);
mat0->rows_ = 0;
}
mat0->flags_ |= JAS_MATRIX_REF;
mat0->numrows_ = r1 - r0 + 1;
mat0->numcols_ = c1 - c0 + 1;
mat0->maxrows_ = mat0->numrows_;
mat0->rows_ = jas_malloc(mat0->maxrows_ * sizeof(jas_seqent_t *));
for (i = 0; i < mat0->numrows_; ++i) {
mat0->rows_[i] = mat1->rows_[r0 + i] + c0;
}
if (mat0->data_) {
if (!(mat0->flags_ & JAS_MATRIX_REF)) {
jas_free(mat0->data_);
}
mat0->data_ = 0;
mat0->datasize_ = 0;
}
if (mat0->rows_) {
jas_free(mat0->rows_);
mat0->rows_ = 0;
}
mat0->flags_ |= JAS_MATRIX_REF;
mat0->numrows_ = r1 - r0 + 1;
mat0->numcols_ = c1 - c0 + 1;
mat0->maxrows_ = mat0->numrows_;
mat0->rows_ = jas_alloc2(mat0->maxrows_, sizeof(jas_seqent_t *));
for (i = 0; i < mat0->numrows_; ++i) {
mat0->rows_[i] = mat1->rows_[r0 + i] + c0;
}
mat0->xstart_ = mat1->xstart_ + c0;
mat0->ystart_ = mat1->ystart_ + r0;
mat0->xend_ = mat0->xstart_ + mat0->numcols_;
mat0->yend_ = mat0->ystart_ + mat0->numrows_;
mat0->xstart_ = mat1->xstart_ + c0;
mat0->ystart_ = mat1->ystart_ + r0;
mat0->xend_ = mat0->xstart_ + mat0->numcols_;
mat0->yend_ = mat0->ystart_ + mat0->numrows_;
}
/******************************************************************************\
@@ -237,102 +237,102 @@ void jas_matrix_bindsub(jas_matrix_t *mat0, jas_matrix_t *mat1, int r0, int c0,
int jas_matrix_cmp(jas_matrix_t *mat0, jas_matrix_t *mat1)
{
int i;
int j;
int i;
int j;
if (mat0->numrows_ != mat1->numrows_ || mat0->numcols_ !=
mat1->numcols_) {
return 1;
}
for (i = 0; i < mat0->numrows_; i++) {
for (j = 0; j < mat0->numcols_; j++) {
if (jas_matrix_get(mat0, i, j) != jas_matrix_get(mat1, i, j)) {
return 1;
}
}
}
return 0;
if (mat0->numrows_ != mat1->numrows_ || mat0->numcols_ !=
mat1->numcols_) {
return 1;
}
for (i = 0; i < mat0->numrows_; i++) {
for (j = 0; j < mat0->numcols_; j++) {
if (jas_matrix_get(mat0, i, j) != jas_matrix_get(mat1, i, j)) {
return 1;
}
}
}
return 0;
}
void jas_matrix_divpow2(jas_matrix_t *matrix, int n)
{
int i;
int j;
jas_seqent_t *rowstart;
int rowstep;
jas_seqent_t *data;
int i;
int j;
jas_seqent_t *rowstart;
int rowstep;
jas_seqent_t *data;
rowstep = jas_matrix_rowstep(matrix);
for (i = matrix->numrows_, rowstart = matrix->rows_[0]; i > 0; --i,
rowstart += rowstep) {
for (j = matrix->numcols_, data = rowstart; j > 0; --j,
++data) {
*data = (*data >= 0) ? ((*data) >> n) :
(-((-(*data)) >> n));
}
}
rowstep = jas_matrix_rowstep(matrix);
for (i = matrix->numrows_, rowstart = matrix->rows_[0]; i > 0; --i,
rowstart += rowstep) {
for (j = matrix->numcols_, data = rowstart; j > 0; --j,
++data) {
*data = (*data >= 0) ? ((*data) >> n) :
(-((-(*data)) >> n));
}
}
}
void jas_matrix_clip(jas_matrix_t *matrix, jas_seqent_t minval, jas_seqent_t maxval)
{
int i;
int j;
jas_seqent_t v;
jas_seqent_t *rowstart;
jas_seqent_t *data;
int rowstep;
int i;
int j;
jas_seqent_t v;
jas_seqent_t *rowstart;
jas_seqent_t *data;
int rowstep;
rowstep = jas_matrix_rowstep(matrix);
for (i = matrix->numrows_, rowstart = matrix->rows_[0]; i > 0; --i,
rowstart += rowstep) {
data = rowstart;
for (j = matrix->numcols_, data = rowstart; j > 0; --j,
++data) {
v = *data;
if (v < minval) {
*data = minval;
} else if (v > maxval) {
*data = maxval;
}
}
}
rowstep = jas_matrix_rowstep(matrix);
for (i = matrix->numrows_, rowstart = matrix->rows_[0]; i > 0; --i,
rowstart += rowstep) {
data = rowstart;
for (j = matrix->numcols_, data = rowstart; j > 0; --j,
++data) {
v = *data;
if (v < minval) {
*data = minval;
} else if (v > maxval) {
*data = maxval;
}
}
}
}
void jas_matrix_asr(jas_matrix_t *matrix, int n)
{
int i;
int j;
jas_seqent_t *rowstart;
int rowstep;
jas_seqent_t *data;
int i;
int j;
jas_seqent_t *rowstart;
int rowstep;
jas_seqent_t *data;
assert(n >= 0);
rowstep = jas_matrix_rowstep(matrix);
for (i = matrix->numrows_, rowstart = matrix->rows_[0]; i > 0; --i,
rowstart += rowstep) {
for (j = matrix->numcols_, data = rowstart; j > 0; --j,
++data) {
*data >>= n;
}
}
assert(n >= 0);
rowstep = jas_matrix_rowstep(matrix);
for (i = matrix->numrows_, rowstart = matrix->rows_[0]; i > 0; --i,
rowstart += rowstep) {
for (j = matrix->numcols_, data = rowstart; j > 0; --j,
++data) {
*data >>= n;
}
}
}
void jas_matrix_asl(jas_matrix_t *matrix, int n)
{
int i;
int j;
jas_seqent_t *rowstart;
int rowstep;
jas_seqent_t *data;
int i;
int j;
jas_seqent_t *rowstart;
int rowstep;
jas_seqent_t *data;
rowstep = jas_matrix_rowstep(matrix);
for (i = matrix->numrows_, rowstart = matrix->rows_[0]; i > 0; --i,
rowstart += rowstep) {
for (j = matrix->numcols_, data = rowstart; j > 0; --j,
++data) {
*data <<= n;
}
}
rowstep = jas_matrix_rowstep(matrix);
for (i = matrix->numrows_, rowstart = matrix->rows_[0]; i > 0; --i,
rowstart += rowstep) {
for (j = matrix->numcols_, data = rowstart; j > 0; --j,
++data) {
*data <<= n;
}
}
}
/******************************************************************************\
@@ -341,114 +341,114 @@ void jas_matrix_asl(jas_matrix_t *matrix, int n)
int jas_matrix_resize(jas_matrix_t *matrix, int numrows, int numcols)
{
int size;
int i;
int size;
int i;
size = numrows * numcols;
if (size > matrix->datasize_ || numrows > matrix->maxrows_) {
return -1;
}
size = numrows * numcols;
if (size > matrix->datasize_ || numrows > matrix->maxrows_) {
return -1;
}
matrix->numrows_ = numrows;
matrix->numcols_ = numcols;
matrix->numrows_ = numrows;
matrix->numcols_ = numcols;
for (i = 0; i < numrows; ++i) {
matrix->rows_[i] = &matrix->data_[numcols * i];
}
for (i = 0; i < numrows; ++i) {
matrix->rows_[i] = &matrix->data_[numcols * i];
}
return 0;
return 0;
}
void jas_matrix_setall(jas_matrix_t *matrix, jas_seqent_t val)
{
int i;
int j;
jas_seqent_t *rowstart;
int rowstep;
jas_seqent_t *data;
int i;
int j;
jas_seqent_t *rowstart;
int rowstep;
jas_seqent_t *data;
rowstep = jas_matrix_rowstep(matrix);
for (i = matrix->numrows_, rowstart = matrix->rows_[0]; i > 0; --i,
rowstart += rowstep) {
for (j = matrix->numcols_, data = rowstart; j > 0; --j,
++data) {
*data = val;
}
}
rowstep = jas_matrix_rowstep(matrix);
for (i = matrix->numrows_, rowstart = matrix->rows_[0]; i > 0; --i,
rowstart += rowstep) {
for (j = matrix->numcols_, data = rowstart; j > 0; --j,
++data) {
*data = val;
}
}
}
jas_matrix_t *jas_seq2d_input(FILE *in)
{
jas_matrix_t *matrix;
int i;
int j;
long x;
int numrows;
int numcols;
int xoff;
int yoff;
jas_matrix_t *matrix;
int i;
int j;
long x;
int numrows;
int numcols;
int xoff;
int yoff;
if (fscanf(in, "%d %d", &xoff, &yoff) != 2)
return 0;
if (fscanf(in, "%d %d", &numcols, &numrows) != 2)
return 0;
if (!(matrix = jas_seq2d_create(xoff, yoff, xoff + numcols, yoff + numrows)))
return 0;
if (fscanf(in, "%d %d", &xoff, &yoff) != 2)
return 0;
if (fscanf(in, "%d %d", &numcols, &numrows) != 2)
return 0;
if (!(matrix = jas_seq2d_create(xoff, yoff, xoff + numcols, yoff + numrows)))
return 0;
if (jas_matrix_numrows(matrix) != numrows || jas_matrix_numcols(matrix) != numcols) {
abort();
}
if (jas_matrix_numrows(matrix) != numrows || jas_matrix_numcols(matrix) != numcols) {
abort();
}
/* Get matrix data. */
for (i = 0; i < jas_matrix_numrows(matrix); i++) {
for (j = 0; j < jas_matrix_numcols(matrix); j++) {
if (fscanf(in, "%ld", &x) != 1) {
jas_matrix_destroy(matrix);
return 0;
}
jas_matrix_set(matrix, i, j, JAS_CAST(jas_seqent_t, x));
}
}
/* Get matrix data. */
for (i = 0; i < jas_matrix_numrows(matrix); i++) {
for (j = 0; j < jas_matrix_numcols(matrix); j++) {
if (fscanf(in, "%ld", &x) != 1) {
jas_matrix_destroy(matrix);
return 0;
}
jas_matrix_set(matrix, i, j, JAS_CAST(jas_seqent_t, x));
}
}
return matrix;
return matrix;
}
int jas_seq2d_output(jas_matrix_t *matrix, FILE *out)
{
#define MAXLINELEN 80
int i;
int j;
jas_seqent_t x;
char buf[MAXLINELEN + 1];
char sbuf[MAXLINELEN + 1];
int n;
int i;
int j;
jas_seqent_t x;
char buf[MAXLINELEN + 1];
char sbuf[MAXLINELEN + 1];
int n;
fprintf(out, "%d %d\n", (int)jas_seq2d_xstart(matrix),
(int)jas_seq2d_ystart(matrix));
fprintf(out, "%d %d\n", (int)jas_matrix_numcols(matrix),
(int)jas_matrix_numrows(matrix));
fprintf(out, "%d %d\n", (int)jas_seq2d_xstart(matrix),
(int)jas_seq2d_ystart(matrix));
fprintf(out, "%d %d\n", (int)jas_matrix_numcols(matrix),
(int)jas_matrix_numrows(matrix));
buf[0] = '\0';
for (i = 0; i < jas_matrix_numrows(matrix); ++i) {
for (j = 0; j < jas_matrix_numcols(matrix); ++j) {
x = jas_matrix_get(matrix, i, j);
sprintf(sbuf, "%s%4ld", (strlen(buf) > 0) ? " " : "",
JAS_CAST(long, x));
n = strlen(buf);
if (n + strlen(sbuf) > MAXLINELEN) {
fputs(buf, out);
fputs("\n", out);
buf[0] = '\0';
}
strcat(buf, sbuf);
if (j == jas_matrix_numcols(matrix) - 1) {
fputs(buf, out);
fputs("\n", out);
buf[0] = '\0';
}
}
}
fputs(buf, out);
buf[0] = '\0';
for (i = 0; i < jas_matrix_numrows(matrix); ++i) {
for (j = 0; j < jas_matrix_numcols(matrix); ++j) {
x = jas_matrix_get(matrix, i, j);
sprintf(sbuf, "%s%4ld", (strlen(buf) > 0) ? " " : "",
JAS_CAST(long, x));
n = strlen(buf);
if (n + strlen(sbuf) > MAXLINELEN) {
fputs(buf, out);
fputs("\n", out);
buf[0] = '\0';
}
strcat(buf, sbuf);
if (j == jas_matrix_numcols(matrix) - 1) {
fputs(buf, out);
fputs("\n", out);
buf[0] = '\0';
}
}
}
fputs(buf, out);
return 0;
return 0;
}

File diff suppressed because it is too large Load Diff

View File

@@ -6,15 +6,15 @@
*/
/* __START_OF_JASPER_LICENSE__
*
*
* JasPer License Version 2.0
*
*
* Copyright (c) 2001-2006 Michael David Adams
* Copyright (c) 1999-2000 Image Power, Inc.
* Copyright (c) 1999-2000 The University of British Columbia
*
*
* All rights reserved.
*
*
* Permission is hereby granted, free of charge, to any person (the
* "User") obtaining a copy of this software and associated documentation
* files (the "Software"), to deal in the Software without restriction,
@@ -22,15 +22,15 @@
* publish, distribute, and/or sell copies of the Software, and to permit
* persons to whom the Software is furnished to do so, subject to the
* following conditions:
*
*
* 1. The above copyright notices and this permission notice (which
* includes the disclaimer below) shall be included in all copies or
* substantial portions of the Software.
*
*
* 2. The name of a copyright holder shall not be used to endorse or
* promote products derived from the Software without specific prior
* written permission.
*
*
* THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS
* LICENSE. NO USE OF THE SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER
* THIS DISCLAIMER. THE SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS
@@ -57,7 +57,7 @@
* PERSONAL INJURY, OR SEVERE PHYSICAL OR ENVIRONMENTAL DAMAGE ("HIGH
* RISK ACTIVITIES"). THE COPYRIGHT HOLDERS SPECIFICALLY DISCLAIM ANY
* EXPRESS OR IMPLIED WARRANTY OF FITNESS FOR HIGH RISK ACTIVITIES.
*
*
* __END_OF_JASPER_LICENSE__
*/
@@ -85,12 +85,12 @@
char *jas_strdup(const char *s)
{
int n;
char *p;
n = strlen(s) + 1;
if (!(p = jas_malloc(n * sizeof(char)))) {
return 0;
}
strcpy(p, s);
return p;
int n;
char *p;
n = strlen(s) + 1;
if (!(p = jas_malloc(n * sizeof(char)))) {
return 0;
}
strcpy(p, s);
return p;
}

View File

@@ -4,15 +4,15 @@
*/
/* __START_OF_JASPER_LICENSE__
*
*
* JasPer License Version 2.0
*
*
* Copyright (c) 2001-2006 Michael David Adams
* Copyright (c) 1999-2000 Image Power, Inc.
* Copyright (c) 1999-2000 The University of British Columbia
*
*
* All rights reserved.
*
*
* Permission is hereby granted, free of charge, to any person (the
* "User") obtaining a copy of this software and associated documentation
* files (the "Software"), to deal in the Software without restriction,
@@ -20,15 +20,15 @@
* publish, distribute, and/or sell copies of the Software, and to permit
* persons to whom the Software is furnished to do so, subject to the
* following conditions:
*
*
* 1. The above copyright notices and this permission notice (which
* includes the disclaimer below) shall be included in all copies or
* substantial portions of the Software.
*
*
* 2. The name of a copyright holder shall not be used to endorse or
* promote products derived from the Software without specific prior
* written permission.
*
*
* THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS
* LICENSE. NO USE OF THE SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER
* THIS DISCLAIMER. THE SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS
@@ -55,7 +55,7 @@
* PERSONAL INJURY, OR SEVERE PHYSICAL OR ENVIRONMENTAL DAMAGE ("HIGH
* RISK ACTIVITIES"). THE COPYRIGHT HOLDERS SPECIFICALLY DISCLAIM ANY
* EXPRESS OR IMPLIED WARRANTY OF FITNESS FOR HIGH RISK ACTIVITIES.
*
*
* __END_OF_JASPER_LICENSE__
*/
@@ -83,51 +83,51 @@
void jas_tmr_start(jas_tmr_t *tmr)
{
if (gettimeofday(&tmr->start, 0)) {
abort();
}
if (gettimeofday(&tmr->start, 0)) {
abort();
}
}
void jas_tmr_stop(jas_tmr_t *tmr)
{
if (gettimeofday(&tmr->stop, 0)) {
abort();
}
if (gettimeofday(&tmr->stop, 0)) {
abort();
}
}
double jas_tmr_get(jas_tmr_t *tmr)
{
double t0;
double t1;
t0 = ((double) tmr->start.tv_sec) + ((double) tmr->start.tv_usec) / 1e6;
t1 = ((double) tmr->stop.tv_sec) + ((double) tmr->stop.tv_usec) / 1e6;
return t1 - t0;
double t0;
double t1;
t0 = ((double) tmr->start.tv_sec) + ((double) tmr->start.tv_usec) / 1e6;
t1 = ((double) tmr->stop.tv_sec) + ((double) tmr->stop.tv_usec) / 1e6;
return t1 - t0;
}
#elif defined(HAVE_GETRUSAGE)
void jas_tmr_start(jas_tmr_t *tmr)
{
if (getrusage(RUSAGE_SELF, &tmr->start) < 0) {
abort();
}
if (getrusage(RUSAGE_SELF, &tmr->start) < 0) {
abort();
}
}
void jas_tmr_stop(jas_tmr_t *tmr)
{
if (getrusage(RUSAGE_SELF, &tmr->stop) < 0) {
abort();
}
if (getrusage(RUSAGE_SELF, &tmr->stop) < 0) {
abort();
}
}
double jas_tmr_get(jas_tmr_t *tmr)
{
double t;
t = ((tmr->stop.ru_utime.tv_sec * 1e6 + tmr->stop.ru_utime.tv_usec) -
(tmr->start.ru_utime.tv_sec * 1e6 + tmr->start.ru_utime.tv_usec)) / 1e6;
t += ((tmr->stop.ru_stime.tv_sec * 1e6 + tmr->stop.ru_stime.tv_usec) -
(tmr->start.ru_stime.tv_sec * 1e6 + tmr->start.ru_stime.tv_usec)) / 1e6;
return t;
double t;
t = ((tmr->stop.ru_utime.tv_sec * 1e6 + tmr->stop.ru_utime.tv_usec) -
(tmr->start.ru_utime.tv_sec * 1e6 + tmr->start.ru_utime.tv_usec)) / 1e6;
t += ((tmr->stop.ru_stime.tv_sec * 1e6 + tmr->stop.ru_stime.tv_usec) -
(tmr->start.ru_stime.tv_sec * 1e6 + tmr->start.ru_stime.tv_usec)) / 1e6;
return t;
}
#else
@@ -142,7 +142,7 @@ void jas_tmr_stop(jas_tmr_t *tmr)
double jas_tmr_get(jas_tmr_t *tmr)
{
return 0.0;
return 0.0;
}
#endif

View File

@@ -4,15 +4,15 @@
*/
/* __START_OF_JASPER_LICENSE__
*
*
* JasPer License Version 2.0
*
*
* Copyright (c) 2001-2006 Michael David Adams
* Copyright (c) 1999-2000 Image Power, Inc.
* Copyright (c) 1999-2000 The University of British Columbia
*
*
* All rights reserved.
*
*
* Permission is hereby granted, free of charge, to any person (the
* "User") obtaining a copy of this software and associated documentation
* files (the "Software"), to deal in the Software without restriction,
@@ -20,15 +20,15 @@
* publish, distribute, and/or sell copies of the Software, and to permit
* persons to whom the Software is furnished to do so, subject to the
* following conditions:
*
*
* 1. The above copyright notices and this permission notice (which
* includes the disclaimer below) shall be included in all copies or
* substantial portions of the Software.
*
*
* 2. The name of a copyright holder shall not be used to endorse or
* promote products derived from the Software without specific prior
* written permission.
*
*
* THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS
* LICENSE. NO USE OF THE SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER
* THIS DISCLAIMER. THE SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS
@@ -55,7 +55,7 @@
* PERSONAL INJURY, OR SEVERE PHYSICAL OR ENVIRONMENTAL DAMAGE ("HIGH
* RISK ACTIVITIES"). THE COPYRIGHT HOLDERS SPECIFICALLY DISCLAIM ANY
* EXPRESS OR IMPLIED WARRANTY OF FITNESS FOR HIGH RISK ACTIVITIES.
*
*
* __END_OF_JASPER_LICENSE__
*/
@@ -84,7 +84,7 @@
/* Is the specified character valid for a tag name? */
#define JAS_TVP_ISTAG(x) \
(isalpha(x) || (x) == '_' || isdigit(x))
(isalpha(x) || (x) == '_' || isdigit(x))
/******************************************************************************\
* Code for creating and destroying a tag-value parser.
@@ -92,26 +92,26 @@
jas_tvparser_t *jas_tvparser_create(const char *s)
{
jas_tvparser_t *tvp;
if (!(tvp = jas_malloc(sizeof(jas_tvparser_t)))) {
return 0;
}
if (!(tvp->buf = jas_strdup(s))) {
jas_tvparser_destroy(tvp);
return 0;
}
tvp->pos = tvp->buf;
tvp->tag = 0;
tvp->val = 0;
return tvp;
jas_tvparser_t *tvp;
if (!(tvp = jas_malloc(sizeof(jas_tvparser_t)))) {
return 0;
}
if (!(tvp->buf = jas_strdup(s))) {
jas_tvparser_destroy(tvp);
return 0;
}
tvp->pos = tvp->buf;
tvp->tag = 0;
tvp->val = 0;
return tvp;
}
void jas_tvparser_destroy(jas_tvparser_t *tvp)
{
if (tvp->buf) {
jas_free(tvp->buf);
}
jas_free(tvp);
if (tvp->buf) {
jas_free(tvp->buf);
}
jas_free(tvp);
}
/******************************************************************************\
@@ -121,73 +121,73 @@ void jas_tvparser_destroy(jas_tvparser_t *tvp)
/* Get the next tag-value pair. */
int jas_tvparser_next(jas_tvparser_t *tvp)
{
char *p;
char *tag;
char *val;
char *p;
char *tag;
char *val;
/* Skip any leading whitespace. */
p = tvp->pos;
while (*p != '\0' && isspace(*p)) {
++p;
}
/* Skip any leading whitespace. */
p = tvp->pos;
while (*p != '\0' && isspace(*p)) {
++p;
}
/* Has the end of the input data been reached? */
if (*p == '\0') {
/* No more tags are present. */
tvp->pos = p;
return 1;
}
/* Has the end of the input data been reached? */
if (*p == '\0') {
/* No more tags are present. */
tvp->pos = p;
return 1;
}
/* Does the tag name begin with a valid character? */
if (!JAS_TVP_ISTAG(*p)) {
return -1;
}
/* Does the tag name begin with a valid character? */
if (!JAS_TVP_ISTAG(*p)) {
return -1;
}
/* Remember where the tag name begins. */
tag = p;
/* Remember where the tag name begins. */
tag = p;
/* Find the end of the tag name. */
while (*p != '\0' && JAS_TVP_ISTAG(*p)) {
++p;
}
/* Find the end of the tag name. */
while (*p != '\0' && JAS_TVP_ISTAG(*p)) {
++p;
}
/* Has the end of the input data been reached? */
if (*p == '\0') {
/* The value field is empty. */
tvp->tag = tag;
tvp->val = "";
tvp->pos = p;
return 0;
}
/* Has the end of the input data been reached? */
if (*p == '\0') {
/* The value field is empty. */
tvp->tag = tag;
tvp->val = "";
tvp->pos = p;
return 0;
}
/* Is a value field not present? */
if (*p != '=') {
if (*p != '\0' && !isspace(*p)) {
return -1;
}
*p++ = '\0';
tvp->tag = tag;
tvp->val = "";
tvp->pos = p;
return 0;
}
/* Is a value field not present? */
if (*p != '=') {
if (*p != '\0' && !isspace(*p)) {
return -1;
}
*p++ = '\0';
tvp->tag = tag;
tvp->val = "";
tvp->pos = p;
return 0;
}
*p++ = '\0';
*p++ = '\0';
val = p;
while (*p != '\0' && !isspace(*p)) {
++p;
}
val = p;
while (*p != '\0' && !isspace(*p)) {
++p;
}
if (*p != '\0') {
*p++ = '\0';
}
if (*p != '\0') {
*p++ = '\0';
}
tvp->pos = p;
tvp->tag = tag;
tvp->val = val;
tvp->pos = p;
tvp->tag = tag;
tvp->val = val;
return 0;
return 0;
}
/******************************************************************************\
@@ -197,13 +197,13 @@ int jas_tvparser_next(jas_tvparser_t *tvp)
/* Get the current tag. */
char *jas_tvparser_gettag(jas_tvparser_t *tvp)
{
return tvp->tag;
return tvp->tag;
}
/* Get the current value. */
char *jas_tvparser_getval(jas_tvparser_t *tvp)
{
return tvp->val;
return tvp->val;
}
/******************************************************************************\
@@ -213,15 +213,15 @@ char *jas_tvparser_getval(jas_tvparser_t *tvp)
/* Lookup a tag by name. */
jas_taginfo_t *jas_taginfos_lookup(jas_taginfo_t *taginfos, const char *name)
{
jas_taginfo_t *taginfo;
taginfo = taginfos;
while (taginfo->id >= 0) {
if (!strcmp(taginfo->name, name)) {
return taginfo;
}
++taginfo;
}
return 0;
jas_taginfo_t *taginfo;
taginfo = taginfos;
while (taginfo->id >= 0) {
if (!strcmp(taginfo->name, name)) {
return taginfo;
}
++taginfo;
}
return 0;
}
/* This function is simply for convenience. */
@@ -229,9 +229,9 @@ jas_taginfo_t *jas_taginfos_lookup(jas_taginfo_t *taginfos, const char *name)
using this function. This function never returns a null pointer. */
jas_taginfo_t *jas_taginfo_nonull(jas_taginfo_t *taginfo)
{
static jas_taginfo_t invalidtaginfo = {
-1, 0
};
return taginfo ? taginfo : &invalidtaginfo;
static jas_taginfo_t invalidtaginfo = {
-1, 0
};
return taginfo ? taginfo : &invalidtaginfo;
}

View File

@@ -4,15 +4,15 @@
*/
/* __START_OF_JASPER_LICENSE__
*
*
* JasPer License Version 2.0
*
*
* Copyright (c) 2001-2006 Michael David Adams
* Copyright (c) 1999-2000 Image Power, Inc.
* Copyright (c) 1999-2000 The University of British Columbia
*
*
* All rights reserved.
*
*
* Permission is hereby granted, free of charge, to any person (the
* "User") obtaining a copy of this software and associated documentation
* files (the "Software"), to deal in the Software without restriction,
@@ -20,15 +20,15 @@
* publish, distribute, and/or sell copies of the Software, and to permit
* persons to whom the Software is furnished to do so, subject to the
* following conditions:
*
*
* 1. The above copyright notices and this permission notice (which
* includes the disclaimer below) shall be included in all copies or
* substantial portions of the Software.
*
*
* 2. The name of a copyright holder shall not be used to endorse or
* promote products derived from the Software without specific prior
* written permission.
*
*
* THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS
* LICENSE. NO USE OF THE SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER
* THIS DISCLAIMER. THE SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS
@@ -55,7 +55,7 @@
* PERSONAL INJURY, OR SEVERE PHYSICAL OR ENVIRONMENTAL DAMAGE ("HIGH
* RISK ACTIVITIES"). THE COPYRIGHT HOLDERS SPECIFICALLY DISCLAIM ANY
* EXPRESS OR IMPLIED WARRANTY OF FITNESS FOR HIGH RISK ACTIVITIES.
*
*
* __END_OF_JASPER_LICENSE__
*/
@@ -63,5 +63,5 @@
const char *jas_getversion()
{
return JAS_VERSION;
return JAS_VERSION;
}

View File

@@ -4,15 +4,15 @@
*/
/* __START_OF_JASPER_LICENSE__
*
*
* JasPer License Version 2.0
*
*
* Copyright (c) 2001-2006 Michael David Adams
* Copyright (c) 1999-2000 Image Power, Inc.
* Copyright (c) 1999-2000 The University of British Columbia
*
*
* All rights reserved.
*
*
* Permission is hereby granted, free of charge, to any person (the
* "User") obtaining a copy of this software and associated documentation
* files (the "Software"), to deal in the Software without restriction,
@@ -20,15 +20,15 @@
* publish, distribute, and/or sell copies of the Software, and to permit
* persons to whom the Software is furnished to do so, subject to the
* following conditions:
*
*
* 1. The above copyright notices and this permission notice (which
* includes the disclaimer below) shall be included in all copies or
* substantial portions of the Software.
*
*
* 2. The name of a copyright holder shall not be used to endorse or
* promote products derived from the Software without specific prior
* written permission.
*
*
* THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS
* LICENSE. NO USE OF THE SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER
* THIS DISCLAIMER. THE SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS
@@ -55,7 +55,7 @@
* PERSONAL INJURY, OR SEVERE PHYSICAL OR ENVIRONMENTAL DAMAGE ("HIGH
* RISK ACTIVITIES"). THE COPYRIGHT HOLDERS SPECIFICALLY DISCLAIM ANY
* EXPRESS OR IMPLIED WARRANTY OF FITNESS FOR HIGH RISK ACTIVITIES.
*
*
* __END_OF_JASPER_LICENSE__
*/
@@ -139,72 +139,72 @@ typedef double jas_cmreal_t;
struct jas_cmpxform_s;
typedef struct {
long *buf;
int prec;
int sgnd;
int width;
int height;
long *buf;
int prec;
int sgnd;
int width;
int height;
} jas_cmcmptfmt_t;
typedef struct {
int numcmpts;
jas_cmcmptfmt_t *cmptfmts;
int numcmpts;
jas_cmcmptfmt_t *cmptfmts;
} jas_cmpixmap_t;
typedef struct {
void (*destroy)(struct jas_cmpxform_s *pxform);
int (*apply)(struct jas_cmpxform_s *pxform, jas_cmreal_t *in, jas_cmreal_t *out, int cnt);
void (*dump)(struct jas_cmpxform_s *pxform);
void (*destroy)(struct jas_cmpxform_s *pxform);
int (*apply)(struct jas_cmpxform_s *pxform, jas_cmreal_t *in, jas_cmreal_t *out, int cnt);
void (*dump)(struct jas_cmpxform_s *pxform);
} jas_cmpxformops_t;
typedef struct {
jas_cmreal_t *data;
int size;
jas_cmreal_t *data;
int size;
} jas_cmshapmatlut_t;
typedef struct {
int mono;
int order;
int useluts;
int usemat;
jas_cmshapmatlut_t luts[3];
jas_cmreal_t mat[3][4];
int mono;
int order;
int useluts;
int usemat;
jas_cmshapmatlut_t luts[3];
jas_cmreal_t mat[3][4];
} jas_cmshapmat_t;
typedef struct {
int order;
int order;
} jas_cmshaplut_t;
typedef struct {
int inclrspc;
int outclrspc;
int inclrspc;
int outclrspc;
} jas_cmclrspcconv_t;
#define jas_align_t double
typedef struct jas_cmpxform_s {
int refcnt;
jas_cmpxformops_t *ops;
int numinchans;
int numoutchans;
union {
jas_align_t dummy;
jas_cmshapmat_t shapmat;
jas_cmshaplut_t shaplut;
jas_cmclrspcconv_t clrspcconv;
} data;
int refcnt;
jas_cmpxformops_t *ops;
int numinchans;
int numoutchans;
union {
jas_align_t dummy;
jas_cmshapmat_t shapmat;
jas_cmshaplut_t shaplut;
jas_cmclrspcconv_t clrspcconv;
} data;
} jas_cmpxform_t;
typedef struct {
int numpxforms;
int maxpxforms;
jas_cmpxform_t **pxforms;
int numpxforms;
int maxpxforms;
jas_cmpxform_t **pxforms;
} jas_cmpxformseq_t;
typedef struct {
int numinchans;
int numoutchans;
jas_cmpxformseq_t *pxformseq;
int numinchans;
int numoutchans;
jas_cmpxformseq_t *pxformseq;
} jas_cmxform_t;
#define JAS_CMPROF_TYPE_DEV 1
@@ -213,12 +213,12 @@ typedef struct {
#define JAS_CMPROF_NUMPXFORMSEQS 13
typedef struct {
int clrspc;
int numchans;
int refclrspc;
int numrefchans;
jas_iccprof_t *iccprof;
jas_cmpxformseq_t *pxformseqs[JAS_CMPROF_NUMPXFORMSEQS];
int clrspc;
int numchans;
int refclrspc;
int numrefchans;
jas_iccprof_t *iccprof;
jas_cmpxformseq_t *pxformseqs[JAS_CMPROF_NUMPXFORMSEQS];
} jas_cmprof_t;
/* Create a profile. */

View File

@@ -4,15 +4,15 @@
*/
/* __START_OF_JASPER_LICENSE__
*
*
* JasPer License Version 2.0
*
*
* Copyright (c) 2001-2006 Michael David Adams
* Copyright (c) 1999-2000 Image Power, Inc.
* Copyright (c) 1999-2000 The University of British Columbia
*
*
* All rights reserved.
*
*
* Permission is hereby granted, free of charge, to any person (the
* "User") obtaining a copy of this software and associated documentation
* files (the "Software"), to deal in the Software without restriction,
@@ -20,15 +20,15 @@
* publish, distribute, and/or sell copies of the Software, and to permit
* persons to whom the Software is furnished to do so, subject to the
* following conditions:
*
*
* 1. The above copyright notices and this permission notice (which
* includes the disclaimer below) shall be included in all copies or
* substantial portions of the Software.
*
*
* 2. The name of a copyright holder shall not be used to endorse or
* promote products derived from the Software without specific prior
* written permission.
*
*
* THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS
* LICENSE. NO USE OF THE SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER
* THIS DISCLAIMER. THE SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS
@@ -55,7 +55,7 @@
* PERSONAL INJURY, OR SEVERE PHYSICAL OR ENVIRONMENTAL DAMAGE ("HIGH
* RISK ACTIVITIES"). THE COPYRIGHT HOLDERS SPECIFICALLY DISCLAIM ANY
* EXPRESS OR IMPLIED WARRANTY OF FITNESS FOR HIGH RISK ACTIVITIES.
*
*
* __END_OF_JASPER_LICENSE__
*/

View File

@@ -4,15 +4,15 @@
*/
/* __START_OF_JASPER_LICENSE__
*
*
* JasPer License Version 2.0
*
*
* Copyright (c) 2001-2006 Michael David Adams
* Copyright (c) 1999-2000 Image Power, Inc.
* Copyright (c) 1999-2000 The University of British Columbia
*
*
* All rights reserved.
*
*
* Permission is hereby granted, free of charge, to any person (the
* "User") obtaining a copy of this software and associated documentation
* files (the "Software"), to deal in the Software without restriction,
@@ -20,15 +20,15 @@
* publish, distribute, and/or sell copies of the Software, and to permit
* persons to whom the Software is furnished to do so, subject to the
* following conditions:
*
*
* 1. The above copyright notices and this permission notice (which
* includes the disclaimer below) shall be included in all copies or
* substantial portions of the Software.
*
*
* 2. The name of a copyright holder shall not be used to endorse or
* promote products derived from the Software without specific prior
* written permission.
*
*
* THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS
* LICENSE. NO USE OF THE SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER
* THIS DISCLAIMER. THE SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS
@@ -55,7 +55,7 @@
* PERSONAL INJURY, OR SEVERE PHYSICAL OR ENVIRONMENTAL DAMAGE ("HIGH
* RISK ACTIVITIES"). THE COPYRIGHT HOLDERS SPECIFICALLY DISCLAIM ANY
* EXPRESS OR IMPLIED WARRANTY OF FITNESS FOR HIGH RISK ACTIVITIES.
*
*
* __END_OF_JASPER_LICENSE__
*/
@@ -90,7 +90,7 @@ extern "C" {
level is set sufficiently high. */
#if defined(DEBUG)
#define JAS_DBGLOG(n, x) \
((jas_getdbglevel() >= (n)) ? (jas_eprintf x) : 0)
((jas_getdbglevel() >= (n)) ? (jas_eprintf x) : 0)
#else
#define JAS_DBGLOG(n, x)
#endif

View File

@@ -6,15 +6,15 @@
*/
/* __START_OF_JASPER_LICENSE__
*
*
* JasPer License Version 2.0
*
*
* Copyright (c) 2001-2006 Michael David Adams
* Copyright (c) 1999-2000 Image Power, Inc.
* Copyright (c) 1999-2000 The University of British Columbia
*
*
* All rights reserved.
*
*
* Permission is hereby granted, free of charge, to any person (the
* "User") obtaining a copy of this software and associated documentation
* files (the "Software"), to deal in the Software without restriction,
@@ -22,15 +22,15 @@
* publish, distribute, and/or sell copies of the Software, and to permit
* persons to whom the Software is furnished to do so, subject to the
* following conditions:
*
*
* 1. The above copyright notices and this permission notice (which
* includes the disclaimer below) shall be included in all copies or
* substantial portions of the Software.
*
*
* 2. The name of a copyright holder shall not be used to endorse or
* promote products derived from the Software without specific prior
* written permission.
*
*
* THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS
* LICENSE. NO USE OF THE SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER
* THIS DISCLAIMER. THE SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS
@@ -57,7 +57,7 @@
* PERSONAL INJURY, OR SEVERE PHYSICAL OR ENVIRONMENTAL DAMAGE ("HIGH
* RISK ACTIVITIES"). THE COPYRIGHT HOLDERS SPECIFICALLY DISCLAIM ANY
* EXPRESS OR IMPLIED WARRANTY OF FITNESS FOR HIGH RISK ACTIVITIES.
*
*
* __END_OF_JASPER_LICENSE__
*/
@@ -91,15 +91,15 @@ extern "C" {
/* The representation of the value zero. */
#define JAS_FIX_ZERO(fix_t, fracbits) \
JAS_CAST(fix_t, 0)
JAS_CAST(fix_t, 0)
/* The representation of the value one. */
#define JAS_FIX_ONE(fix_t, fracbits) \
(JAS_CAST(fix_t, 1) << (fracbits))
(JAS_CAST(fix_t, 1) << (fracbits))
/* The representation of the value one half. */
#define JAS_FIX_HALF(fix_t, fracbits) \
(JAS_CAST(fix_t, 1) << ((fracbits) - 1))
(JAS_CAST(fix_t, 1) << ((fracbits) - 1))
/******************************************************************************\
* Conversion operations.
@@ -107,19 +107,19 @@ extern "C" {
/* Convert an int to a fixed-point number. */
#define JAS_INTTOFIX(fix_t, fracbits, x) \
JAS_CAST(fix_t, (x) << (fracbits))
JAS_CAST(fix_t, (x) << (fracbits))
/* Convert a fixed-point number to an int. */
#define JAS_FIXTOINT(fix_t, fracbits, x) \
JAS_CAST(int, (x) >> (fracbits))
JAS_CAST(int, (x) >> (fracbits))
/* Convert a fixed-point number to a double. */
#define JAS_FIXTODBL(fix_t, fracbits, x) \
(JAS_CAST(double, x) / (JAS_CAST(fix_t, 1) << (fracbits)))
(JAS_CAST(double, x) / (JAS_CAST(fix_t, 1) << (fracbits)))
/* Convert a double to a fixed-point number. */
#define JAS_DBLTOFIX(fix_t, fracbits, x) \
JAS_CAST(fix_t, ((x) * JAS_CAST(double, JAS_CAST(fix_t, 1) << (fracbits))))
JAS_CAST(fix_t, ((x) * JAS_CAST(double, JAS_CAST(fix_t, 1) << (fracbits))))
/******************************************************************************\
* Basic arithmetic operations.
@@ -143,11 +143,11 @@ extern "C" {
/* Calculate the sum of two fixed-point numbers with overflow checking. */
#define JAS_FIX_ADD_OFLOW(fix_t, fracbits, x, y) \
((x) >= 0) ? \
(((y) >= 0) ? ((x) + (y) >= 0 || JAS_FIX_OFLOW(), (x) + (y)) : \
((x) + (y))) : \
(((y) >= 0) ? ((x) + (y)) : ((x) + (y) < 0 || JAS_FIX_OFLOW(), \
(x) + (y)))
((x) >= 0) ? \
(((y) >= 0) ? ((x) + (y) >= 0 || JAS_FIX_OFLOW(), (x) + (y)) : \
((x) + (y))) : \
(((y) >= 0) ? ((x) + (y)) : ((x) + (y) < 0 || JAS_FIX_OFLOW(), \
(x) + (y)))
/* Calculate the product of two fixed-point numbers. */
#if !defined(DEBUG_OVERFLOW)
@@ -159,17 +159,17 @@ extern "C" {
/* Calculate the product of two fixed-point numbers without overflow
checking. */
#define JAS_FIX_MUL_FAST(fix_t, fracbits, bigfix_t, x, y) \
JAS_CAST(fix_t, (JAS_CAST(bigfix_t, x) * JAS_CAST(bigfix_t, y)) >> \
(fracbits))
JAS_CAST(fix_t, (JAS_CAST(bigfix_t, x) * JAS_CAST(bigfix_t, y)) >> \
(fracbits))
/* Calculate the product of two fixed-point numbers with overflow
checking. */
#define JAS_FIX_MUL_OFLOW(fix_t, fracbits, bigfix_t, x, y) \
((JAS_CAST(bigfix_t, x) * JAS_CAST(bigfix_t, y) >> (fracbits)) == \
JAS_CAST(fix_t, (JAS_CAST(bigfix_t, x) * JAS_CAST(bigfix_t, y) >> \
(fracbits))) ? \
JAS_CAST(fix_t, (JAS_CAST(bigfix_t, x) * JAS_CAST(bigfix_t, y) >> \
(fracbits))) : JAS_FIX_OFLOW())
((JAS_CAST(bigfix_t, x) * JAS_CAST(bigfix_t, y) >> (fracbits)) == \
JAS_CAST(fix_t, (JAS_CAST(bigfix_t, x) * JAS_CAST(bigfix_t, y) >> \
(fracbits))) ? \
JAS_CAST(fix_t, (JAS_CAST(bigfix_t, x) * JAS_CAST(bigfix_t, y) >> \
(fracbits))) : JAS_FIX_OFLOW())
/* Calculate the product of a fixed-point number and an int. */
#if !defined(DEBUG_OVERFLOW)
@@ -181,12 +181,12 @@ extern "C" {
/* Calculate the product of a fixed-point number and an int without overflow
checking. */
#define JAS_FIX_MULBYINT_FAST(fix_t, fracbits, x, y) \
JAS_CAST(fix_t, ((x) * (y)))
JAS_CAST(fix_t, ((x) * (y)))
/* Calculate the product of a fixed-point number and an int with overflow
checking. */
#define JAS_FIX_MULBYINT_OFLOW(fix_t, fracbits, x, y) \
JAS_FIX_MULBYINT_FAST(fix_t, fracbits, x, y)
JAS_FIX_MULBYINT_FAST(fix_t, fracbits, x, y)
/* Calculate the quotient of two fixed-point numbers. */
#if !defined(DEBUG_OVERFLOW)
@@ -198,12 +198,12 @@ extern "C" {
/* Calculate the quotient of two fixed-point numbers without underflow
checking. */
#define JAS_FIX_DIV_FAST(fix_t, fracbits, bigfix_t, x, y) \
JAS_CAST(fix_t, (JAS_CAST(bigfix_t, x) << (fracbits)) / (y))
JAS_CAST(fix_t, (JAS_CAST(bigfix_t, x) << (fracbits)) / (y))
/* Calculate the quotient of two fixed-point numbers with underflow
checking. */
#define JAS_FIX_DIV_UFLOW(fix_t, fracbits, bigfix_t, x, y) \
JAS_FIX_DIV_FAST(fix_t, fracbits, bigfix_t, x, y)
JAS_FIX_DIV_FAST(fix_t, fracbits, bigfix_t, x, y)
/* Negate a fixed-point number. */
#if !defined(DEBUG_OVERFLOW)
@@ -214,13 +214,13 @@ extern "C" {
/* Negate a fixed-point number without overflow checking. */
#define JAS_FIX_NEG_FAST(fix_t, fracbits, x) \
(-(x))
(-(x))
/* Negate a fixed-point number with overflow checking. */
/* Yes, overflow is actually possible for two's complement representations,
although highly unlikely to occur. */
#define JAS_FIX_NEG_OFLOW(fix_t, fracbits, x) \
(((x) < 0) ? (-(x) > 0 || JAS_FIX_OFLOW(), -(x)) : (-(x)))
(((x) < 0) ? (-(x) > 0 || JAS_FIX_OFLOW(), -(x)) : (-(x)))
/* Perform an arithmetic shift left of a fixed-point number. */
#if !defined(DEBUG_OVERFLOW)
@@ -232,12 +232,12 @@ extern "C" {
/* Perform an arithmetic shift left of a fixed-point number without overflow
checking. */
#define JAS_FIX_ASL_FAST(fix_t, fracbits, x, n) \
((x) << (n))
((x) << (n))
/* Perform an arithmetic shift left of a fixed-point number with overflow
checking. */
#define JAS_FIX_ASL_OFLOW(fix_t, fracbits, x, n) \
((((x) << (n)) >> (n)) == (x) || JAS_FIX_OFLOW(), (x) << (n))
((((x) << (n)) >> (n)) == (x) || JAS_FIX_OFLOW(), (x) << (n))
/* Perform an arithmetic shift right of a fixed-point number. */
#if !defined(DEBUG_OVERFLOW)
@@ -249,12 +249,12 @@ extern "C" {
/* Perform an arithmetic shift right of a fixed-point number without underflow
checking. */
#define JAS_FIX_ASR_FAST(fix_t, fracbits, x, n) \
((x) >> (n))
((x) >> (n))
/* Perform an arithmetic shift right of a fixed-point number with underflow
checking. */
#define JAS_FIX_ASR_UFLOW(fix_t, fracbits, x, n) \
JAS_FIX_ASR_FAST(fix_t, fracbits, x, n)
JAS_FIX_ASR_FAST(fix_t, fracbits, x, n)
/******************************************************************************\
* Other basic arithmetic operations.
@@ -262,19 +262,19 @@ extern "C" {
/* Calculate the difference between two fixed-point numbers. */
#define JAS_FIX_SUB(fix_t, fracbits, x, y) \
JAS_FIX_ADD(fix_t, fracbits, x, JAS_FIX_NEG(fix_t, fracbits, y))
JAS_FIX_ADD(fix_t, fracbits, x, JAS_FIX_NEG(fix_t, fracbits, y))
/* Add one fixed-point number to another. */
#define JAS_FIX_PLUSEQ(fix_t, fracbits, x, y) \
((x) = JAS_FIX_ADD(fix_t, fracbits, x, y))
((x) = JAS_FIX_ADD(fix_t, fracbits, x, y))
/* Subtract one fixed-point number from another. */
#define JAS_FIX_MINUSEQ(fix_t, fracbits, x, y) \
((x) = JAS_FIX_SUB(fix_t, fracbits, x, y))
((x) = JAS_FIX_SUB(fix_t, fracbits, x, y))
/* Multiply one fixed-point number by another. */
#define JAS_FIX_MULEQ(fix_t, fracbits, bigfix_t, x, y) \
((x) = JAS_FIX_MUL(fix_t, fracbits, bigfix_t, x, y))
((x) = JAS_FIX_MUL(fix_t, fracbits, bigfix_t, x, y))
/******************************************************************************\
* Miscellaneous operations.
@@ -282,15 +282,15 @@ extern "C" {
/* Calculate the absolute value of a fixed-point number. */
#define JAS_FIX_ABS(fix_t, fracbits, x) \
(((x) >= 0) ? (x) : (JAS_FIX_NEG(fix_t, fracbits, x)))
(((x) >= 0) ? (x) : (JAS_FIX_NEG(fix_t, fracbits, x)))
/* Is a fixed-point number an integer? */
#define JAS_FIX_ISINT(fix_t, fracbits, x) \
(JAS_FIX_FLOOR(fix_t, fracbits, x) == (x))
(JAS_FIX_FLOOR(fix_t, fracbits, x) == (x))
/* Get the sign of a fixed-point number. */
#define JAS_FIX_SGN(fix_t, fracbits, x) \
((x) >= 0 ? 1 : (-1))
((x) >= 0 ? 1 : (-1))
/******************************************************************************\
* Relational operations.
@@ -298,23 +298,23 @@ extern "C" {
/* Compare two fixed-point numbers. */
#define JAS_FIX_CMP(fix_t, fracbits, x, y) \
((x) > (y) ? 1 : (((x) == (y)) ? 0 : (-1)))
((x) > (y) ? 1 : (((x) == (y)) ? 0 : (-1)))
/* Less than. */
#define JAS_FIX_LT(fix_t, fracbits, x, y) \
((x) < (y))
((x) < (y))
/* Less than or equal. */
#define JAS_FIX_LTE(fix_t, fracbits, x, y) \
((x) <= (y))
((x) <= (y))
/* Greater than. */
#define JAS_FIX_GT(fix_t, fracbits, x, y) \
((x) > (y))
((x) > (y))
/* Greater than or equal. */
#define JAS_FIX_GTE(fix_t, fracbits, x, y) \
((x) >= (y))
((x) >= (y))
/******************************************************************************\
* Rounding functions.
@@ -322,21 +322,21 @@ extern "C" {
/* Round a fixed-point number to the nearest integer. */
#define JAS_FIX_ROUND(fix_t, fracbits, x) \
(((x) < 0) ? JAS_FIX_FLOOR(fix_t, fracbits, JAS_FIX_ADD(fix_t, fracbits, \
(x), JAS_FIX_HALF(fix_t, fracbits))) : \
JAS_FIX_NEG(fix_t, fracbits, JAS_FIX_FLOOR(fix_t, fracbits, \
JAS_FIX_ADD(fix_t, fracbits, (-(x)), JAS_FIX_HALF(fix_t, fracbits)))))
(((x) < 0) ? JAS_FIX_FLOOR(fix_t, fracbits, JAS_FIX_ADD(fix_t, fracbits, \
(x), JAS_FIX_HALF(fix_t, fracbits))) : \
JAS_FIX_NEG(fix_t, fracbits, JAS_FIX_FLOOR(fix_t, fracbits, \
JAS_FIX_ADD(fix_t, fracbits, (-(x)), JAS_FIX_HALF(fix_t, fracbits)))))
/* Round a fixed-point number to the nearest integer in the direction of
negative infinity (i.e., the floor function). */
#define JAS_FIX_FLOOR(fix_t, fracbits, x) \
((x) & (~((JAS_CAST(fix_t, 1) << (fracbits)) - 1)))
((x) & (~((JAS_CAST(fix_t, 1) << (fracbits)) - 1)))
/* Round a fixed-point number to the nearest integer in the direction
of zero. */
#define JAS_FIX_TRUNC(fix_t, fracbits, x) \
(((x) >= 0) ? JAS_FIX_FLOOR(fix_t, fracbits, x) : \
JAS_FIX_CEIL(fix_t, fracbits, x))
(((x) >= 0) ? JAS_FIX_FLOOR(fix_t, fracbits, x) : \
JAS_FIX_CEIL(fix_t, fracbits, x))
/******************************************************************************\
* The below macros are for internal library use only. Do not invoke them
@@ -345,11 +345,11 @@ extern "C" {
/* Handle overflow. */
#define JAS_FIX_OFLOW() \
jas_eprintf("overflow error: file %s, line %d\n", __FILE__, __LINE__)
jas_eprintf("overflow error: file %s, line %d\n", __FILE__, __LINE__)
/* Handle underflow. */
#define JAS_FIX_UFLOW() \
jas_eprintf("underflow error: file %s, line %d\n", __FILE__, __LINE__)
jas_eprintf("underflow error: file %s, line %d\n", __FILE__, __LINE__)
#ifdef __cplusplus
}

View File

@@ -6,15 +6,15 @@
*/
/* __START_OF_JASPER_LICENSE__
*
*
* JasPer License Version 2.0
*
*
* Copyright (c) 2001-2006 Michael David Adams
* Copyright (c) 1999-2000 Image Power, Inc.
* Copyright (c) 1999-2000 The University of British Columbia
*
*
* All rights reserved.
*
*
* Permission is hereby granted, free of charge, to any person (the
* "User") obtaining a copy of this software and associated documentation
* files (the "Software"), to deal in the Software without restriction,
@@ -22,15 +22,15 @@
* publish, distribute, and/or sell copies of the Software, and to permit
* persons to whom the Software is furnished to do so, subject to the
* following conditions:
*
*
* 1. The above copyright notices and this permission notice (which
* includes the disclaimer below) shall be included in all copies or
* substantial portions of the Software.
*
*
* 2. The name of a copyright holder shall not be used to endorse or
* promote products derived from the Software without specific prior
* written permission.
*
*
* THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS
* LICENSE. NO USE OF THE SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER
* THIS DISCLAIMER. THE SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS
@@ -57,7 +57,7 @@
* PERSONAL INJURY, OR SEVERE PHYSICAL OR ENVIRONMENTAL DAMAGE ("HIGH
* RISK ACTIVITIES"). THE COPYRIGHT HOLDERS SPECIFICALLY DISCLAIM ANY
* EXPRESS OR IMPLIED WARRANTY OF FITNESS FOR HIGH RISK ACTIVITIES.
*
*
* __END_OF_JASPER_LICENSE__
*/
@@ -93,14 +93,14 @@ extern "C" {
/* Command line option type. */
typedef struct {
int id;
/* The unique identifier for this option. */
int id;
/* The unique identifier for this option. */
char *name;
/* The name of this option. */
char *name;
/* The name of this option. */
int flags;
/* option flags. */
int flags;
/* option flags. */
} jas_opt_t;

View File

@@ -4,15 +4,15 @@
*/
/* __START_OF_JASPER_LICENSE__
*
*
* JasPer License Version 2.0
*
*
* Copyright (c) 2001-2006 Michael David Adams
* Copyright (c) 1999-2000 Image Power, Inc.
* Copyright (c) 1999-2000 The University of British Columbia
*
*
* All rights reserved.
*
*
* Permission is hereby granted, free of charge, to any person (the
* "User") obtaining a copy of this software and associated documentation
* files (the "Software"), to deal in the Software without restriction,
@@ -20,15 +20,15 @@
* publish, distribute, and/or sell copies of the Software, and to permit
* persons to whom the Software is furnished to do so, subject to the
* following conditions:
*
*
* 1. The above copyright notices and this permission notice (which
* includes the disclaimer below) shall be included in all copies or
* substantial portions of the Software.
*
*
* 2. The name of a copyright holder shall not be used to endorse or
* promote products derived from the Software without specific prior
* written permission.
*
*
* THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS
* LICENSE. NO USE OF THE SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER
* THIS DISCLAIMER. THE SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS
@@ -55,7 +55,7 @@
* PERSONAL INJURY, OR SEVERE PHYSICAL OR ENVIRONMENTAL DAMAGE ("HIGH
* RISK ACTIVITIES"). THE COPYRIGHT HOLDERS SPECIFICALLY DISCLAIM ANY
* EXPRESS OR IMPLIED WARRANTY OF FITNESS FOR HIGH RISK ACTIVITIES.
*
*
* __END_OF_JASPER_LICENSE__
*/
@@ -225,152 +225,152 @@ typedef jas_iccsig_t jas_iccattrname_t;
/* Date/time type. */
typedef struct {
jas_iccuint16_t year;
jas_iccuint16_t month;
jas_iccuint16_t day;
jas_iccuint16_t hour;
jas_iccuint16_t min;
jas_iccuint16_t sec;
jas_iccuint16_t year;
jas_iccuint16_t month;
jas_iccuint16_t day;
jas_iccuint16_t hour;
jas_iccuint16_t min;
jas_iccuint16_t sec;
} jas_icctime_t;
/* XYZ type. */
typedef struct {
jas_iccs15fixed16_t x;
jas_iccs15fixed16_t y;
jas_iccs15fixed16_t z;
jas_iccs15fixed16_t x;
jas_iccs15fixed16_t y;
jas_iccs15fixed16_t z;
} jas_iccxyz_t;
/* Curve type. */
typedef struct {
jas_iccuint32_t numents;
jas_iccuint16_t *ents;
jas_iccuint32_t numents;
jas_iccuint16_t *ents;
} jas_icccurv_t;
/* Text description type. */
typedef struct {
jas_iccuint32_t asclen;
char *ascdata; /* ASCII invariant description */
jas_iccuint32_t uclangcode; /* Unicode language code */
jas_iccuint32_t uclen; /* Unicode localizable description count */
uchar *ucdata; /* Unicode localizable description */
jas_iccuint16_t sccode; /* ScriptCode code */
jas_iccuint8_t maclen; /* Localizable Macintosh description count */
uchar macdata[69]; /* Localizable Macintosh description */
jas_iccuint32_t asclen;
char *ascdata; /* ASCII invariant description */
jas_iccuint32_t uclangcode; /* Unicode language code */
jas_iccuint32_t uclen; /* Unicode localizable description count */
uchar *ucdata; /* Unicode localizable description */
jas_iccuint16_t sccode; /* ScriptCode code */
jas_iccuint8_t maclen; /* Localizable Macintosh description count */
uchar macdata[69]; /* Localizable Macintosh description */
} jas_icctxtdesc_t;
/* Text type. */
typedef struct {
char *string; /* ASCII character string */
char *string; /* ASCII character string */
} jas_icctxt_t;
typedef struct {
jas_iccuint8_t numinchans;
jas_iccuint8_t numoutchans;
jas_iccsint32_t e[3][3];
jas_iccuint8_t clutlen;
jas_iccuint8_t *clut;
jas_iccuint16_t numintabents;
jas_iccuint8_t **intabs;
jas_iccuint8_t *intabsbuf;
jas_iccuint16_t numouttabents;
jas_iccuint8_t **outtabs;
jas_iccuint8_t *outtabsbuf;
jas_iccuint8_t numinchans;
jas_iccuint8_t numoutchans;
jas_iccsint32_t e[3][3];
jas_iccuint8_t clutlen;
jas_iccuint8_t *clut;
jas_iccuint16_t numintabents;
jas_iccuint8_t **intabs;
jas_iccuint8_t *intabsbuf;
jas_iccuint16_t numouttabents;
jas_iccuint8_t **outtabs;
jas_iccuint8_t *outtabsbuf;
} jas_icclut8_t;
typedef struct {
jas_iccuint8_t numinchans;
jas_iccuint8_t numoutchans;
jas_iccsint32_t e[3][3];
jas_iccuint8_t clutlen;
jas_iccuint16_t *clut;
jas_iccuint16_t numintabents;
jas_iccuint16_t **intabs;
jas_iccuint16_t *intabsbuf;
jas_iccuint16_t numouttabents;
jas_iccuint16_t **outtabs;
jas_iccuint16_t *outtabsbuf;
jas_iccuint8_t numinchans;
jas_iccuint8_t numoutchans;
jas_iccsint32_t e[3][3];
jas_iccuint8_t clutlen;
jas_iccuint16_t *clut;
jas_iccuint16_t numintabents;
jas_iccuint16_t **intabs;
jas_iccuint16_t *intabsbuf;
jas_iccuint16_t numouttabents;
jas_iccuint16_t **outtabs;
jas_iccuint16_t *outtabsbuf;
} jas_icclut16_t;
struct jas_iccattrval_s;
typedef struct {
void (*destroy)(struct jas_iccattrval_s *);
int (*copy)(struct jas_iccattrval_s *, struct jas_iccattrval_s *);
int (*input)(struct jas_iccattrval_s *, jas_stream_t *, int);
int (*output)(struct jas_iccattrval_s *, jas_stream_t *);
int (*getsize)(struct jas_iccattrval_s *);
void (*dump)(struct jas_iccattrval_s *, FILE *);
void (*destroy)(struct jas_iccattrval_s *);
int (*copy)(struct jas_iccattrval_s *, struct jas_iccattrval_s *);
int (*input)(struct jas_iccattrval_s *, jas_stream_t *, int);
int (*output)(struct jas_iccattrval_s *, jas_stream_t *);
int (*getsize)(struct jas_iccattrval_s *);
void (*dump)(struct jas_iccattrval_s *, FILE *);
} jas_iccattrvalops_t;
/* Attribute value type (type and value information). */
typedef struct jas_iccattrval_s {
int refcnt; /* reference count */
jas_iccsig_t type; /* type */
jas_iccattrvalops_t *ops; /* type-dependent operations */
union {
jas_iccxyz_t xyz;
jas_icccurv_t curv;
jas_icctxtdesc_t txtdesc;
jas_icctxt_t txt;
jas_icclut8_t lut8;
jas_icclut16_t lut16;
} data; /* value */
int refcnt; /* reference count */
jas_iccsig_t type; /* type */
jas_iccattrvalops_t *ops; /* type-dependent operations */
union {
jas_iccxyz_t xyz;
jas_icccurv_t curv;
jas_icctxtdesc_t txtdesc;
jas_icctxt_t txt;
jas_icclut8_t lut8;
jas_icclut16_t lut16;
} data; /* value */
} jas_iccattrval_t;
/* Header type. */
typedef struct {
jas_iccuint32_t size; /* profile size */
jas_iccsig_t cmmtype; /* CMM type signature */
jas_iccuint32_t version; /* profile version */
jas_iccsig_t clas; /* profile/device class signature */
jas_iccsig_t colorspc; /* color space of data */
jas_iccsig_t refcolorspc; /* profile connection space */
jas_icctime_t ctime; /* creation time */
jas_iccsig_t magic; /* profile file signature */
jas_iccsig_t platform; /* primary platform */
jas_iccuint32_t flags; /* profile flags */
jas_iccsig_t maker; /* device manufacturer signature */
jas_iccsig_t model; /* device model signature */
jas_iccuint64_t attr; /* device setup attributes */
jas_iccsig_t intent; /* rendering intent */
jas_iccxyz_t illum; /* illuminant */
jas_iccsig_t creator; /* profile creator signature */
jas_iccuint32_t size; /* profile size */
jas_iccsig_t cmmtype; /* CMM type signature */
jas_iccuint32_t version; /* profile version */
jas_iccsig_t clas; /* profile/device class signature */
jas_iccsig_t colorspc; /* color space of data */
jas_iccsig_t refcolorspc; /* profile connection space */
jas_icctime_t ctime; /* creation time */
jas_iccsig_t magic; /* profile file signature */
jas_iccsig_t platform; /* primary platform */
jas_iccuint32_t flags; /* profile flags */
jas_iccsig_t maker; /* device manufacturer signature */
jas_iccsig_t model; /* device model signature */
jas_iccuint64_t attr; /* device setup attributes */
jas_iccsig_t intent; /* rendering intent */
jas_iccxyz_t illum; /* illuminant */
jas_iccsig_t creator; /* profile creator signature */
} jas_icchdr_t;
typedef struct {
jas_iccsig_t name;
jas_iccattrval_t *val;
jas_iccsig_t name;
jas_iccattrval_t *val;
} jas_iccattr_t;
typedef struct {
int numattrs;
int maxattrs;
jas_iccattr_t *attrs;
int numattrs;
int maxattrs;
jas_iccattr_t *attrs;
} jas_iccattrtab_t;
typedef struct jas_icctagtabent_s {
jas_iccuint32_t tag;
jas_iccuint32_t off;
jas_iccuint32_t len;
void *data;
struct jas_icctagtabent_s *first;
jas_iccuint32_t tag;
jas_iccuint32_t off;
jas_iccuint32_t len;
void *data;
struct jas_icctagtabent_s *first;
} jas_icctagtabent_t;
typedef struct {
jas_iccuint32_t numents;
jas_icctagtabent_t *ents;
jas_iccuint32_t numents;
jas_icctagtabent_t *ents;
} jas_icctagtab_t;
/* ICC profile type. */
typedef struct {
jas_icchdr_t hdr;
jas_icctagtab_t tagtab;
jas_iccattrtab_t *attrtab;
jas_icchdr_t hdr;
jas_icctagtab_t tagtab;
jas_iccattrtab_t *attrtab;
} jas_iccprof_t;
typedef struct {
jas_iccuint32_t type;
jas_iccattrvalops_t ops;
jas_iccuint32_t type;
jas_iccattrvalops_t ops;
} jas_iccattrvalinfo_t;
jas_iccprof_t *jas_iccprof_load(jas_stream_t *in);

View File

@@ -6,15 +6,15 @@
*/
/* __START_OF_JASPER_LICENSE__
*
*
* JasPer License Version 2.0
*
*
* Copyright (c) 2001-2006 Michael David Adams
* Copyright (c) 1999-2000 Image Power, Inc.
* Copyright (c) 1999-2000 The University of British Columbia
*
*
* All rights reserved.
*
*
* Permission is hereby granted, free of charge, to any person (the
* "User") obtaining a copy of this software and associated documentation
* files (the "Software"), to deal in the Software without restriction,
@@ -22,15 +22,15 @@
* publish, distribute, and/or sell copies of the Software, and to permit
* persons to whom the Software is furnished to do so, subject to the
* following conditions:
*
*
* 1. The above copyright notices and this permission notice (which
* includes the disclaimer below) shall be included in all copies or
* substantial portions of the Software.
*
*
* 2. The name of a copyright holder shall not be used to endorse or
* promote products derived from the Software without specific prior
* written permission.
*
*
* THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS
* LICENSE. NO USE OF THE SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER
* THIS DISCLAIMER. THE SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS
@@ -57,7 +57,7 @@
* PERSONAL INJURY, OR SEVERE PHYSICAL OR ENVIRONMENTAL DAMAGE ("HIGH
* RISK ACTIVITIES"). THE COPYRIGHT HOLDERS SPECIFICALLY DISCLAIM ANY
* EXPRESS OR IMPLIED WARRANTY OF FITNESS FOR HIGH RISK ACTIVITIES.
*
*
* __END_OF_JASPER_LICENSE__
*/
@@ -137,44 +137,44 @@ typedef int_fast16_t jas_image_smpltype_t;
typedef struct {
jas_image_coord_t tlx_;
/* The x-coordinate of the top-left corner of the component. */
jas_image_coord_t tlx_;
/* The x-coordinate of the top-left corner of the component. */
jas_image_coord_t tly_;
/* The y-coordinate of the top-left corner of the component. */
jas_image_coord_t tly_;
/* The y-coordinate of the top-left corner of the component. */
jas_image_coord_t hstep_;
/* The horizontal sampling period in units of the reference grid. */
jas_image_coord_t hstep_;
/* The horizontal sampling period in units of the reference grid. */
jas_image_coord_t vstep_;
/* The vertical sampling period in units of the reference grid. */
jas_image_coord_t vstep_;
/* The vertical sampling period in units of the reference grid. */
jas_image_coord_t width_;
/* The component width in samples. */
jas_image_coord_t width_;
/* The component width in samples. */
jas_image_coord_t height_;
/* The component height in samples. */
jas_image_coord_t height_;
/* The component height in samples. */
#ifdef FIX_ME
int smpltype_;
int smpltype_;
#else
int prec_;
/* The precision of the sample data (i.e., the number of bits per
sample). If the samples are signed values, this quantity
includes the sign bit. */
int prec_;
/* The precision of the sample data (i.e., the number of bits per
sample). If the samples are signed values, this quantity
includes the sign bit. */
int sgnd_;
/* The signedness of the sample data. */
int sgnd_;
/* The signedness of the sample data. */
#endif
jas_stream_t *stream_;
/* The stream containing the component data. */
jas_stream_t *stream_;
/* The stream containing the component data. */
int cps_;
/* The number of characters per sample in the stream. */
int cps_;
/* The number of characters per sample in the stream. */
jas_image_cmpttype_t type_;
/* The type of component (e.g., opacity, red, green, blue, luma). */
jas_image_cmpttype_t type_;
/* The type of component (e.g., opacity, red, green, blue, luma). */
} jas_image_cmpt_t;
@@ -182,35 +182,35 @@ typedef struct {
typedef struct {
jas_image_coord_t tlx_;
/* The x-coordinate of the top-left corner of the image bounding box. */
jas_image_coord_t tlx_;
/* The x-coordinate of the top-left corner of the image bounding box. */
jas_image_coord_t tly_;
/* The y-coordinate of the top-left corner of the image bounding box. */
jas_image_coord_t tly_;
/* The y-coordinate of the top-left corner of the image bounding box. */
jas_image_coord_t brx_;
/* The x-coordinate of the bottom-right corner of the image bounding
box (plus one). */
jas_image_coord_t brx_;
/* The x-coordinate of the bottom-right corner of the image bounding
box (plus one). */
jas_image_coord_t bry_;
/* The y-coordinate of the bottom-right corner of the image bounding
box (plus one). */
jas_image_coord_t bry_;
/* The y-coordinate of the bottom-right corner of the image bounding
box (plus one). */
int numcmpts_;
/* The number of components. */
int numcmpts_;
/* The number of components. */
int maxcmpts_;
/* The maximum number of components that this image can have (i.e., the
allocated size of the components array). */
int maxcmpts_;
/* The maximum number of components that this image can have (i.e., the
allocated size of the components array). */
jas_image_cmpt_t **cmpts_;
/* Per-component information. */
jas_image_cmpt_t **cmpts_;
/* Per-component information. */
jas_clrspc_t clrspc_;
jas_clrspc_t clrspc_;
jas_cmprof_t *cmprof_;
jas_cmprof_t *cmprof_;
bool inmem_;
bool inmem_;
} jas_image_t;
@@ -220,32 +220,32 @@ typedef struct {
typedef struct {
jas_image_coord_t tlx;
/* The x-coordinate of the top-left corner of the component. */
jas_image_coord_t tlx;
/* The x-coordinate of the top-left corner of the component. */
jas_image_coord_t tly;
/* The y-coordinate of the top-left corner of the component. */
jas_image_coord_t tly;
/* The y-coordinate of the top-left corner of the component. */
jas_image_coord_t hstep;
/* The horizontal sampling period in units of the reference grid. */
jas_image_coord_t hstep;
/* The horizontal sampling period in units of the reference grid. */
jas_image_coord_t vstep;
/* The vertical sampling period in units of the reference grid. */
jas_image_coord_t vstep;
/* The vertical sampling period in units of the reference grid. */
jas_image_coord_t width;
/* The width of the component in samples. */
jas_image_coord_t width;
/* The width of the component in samples. */
jas_image_coord_t height;
/* The height of the component in samples. */
jas_image_coord_t height;
/* The height of the component in samples. */
#ifdef FIX_ME
int smpltype;
int smpltype;
#else
int prec;
/* The precision of the component sample data. */
int prec;
/* The precision of the component sample data. */
int sgnd;
/* The signedness of the component sample data. */
int sgnd;
/* The signedness of the component sample data. */
#endif
} jas_image_cmptparm_t;
@@ -261,14 +261,14 @@ typedef struct {
typedef struct {
jas_image_t *(*decode)(jas_stream_t *in, char *opts);
/* Decode image data from a stream. */
jas_image_t *(*decode)(jas_stream_t *in, char *opts);
/* Decode image data from a stream. */
int (*encode)(jas_image_t *image, jas_stream_t *out, char *opts);
/* Encode image data to a stream. */
int (*encode)(jas_image_t *image, jas_stream_t *out, char *opts);
/* Encode image data to a stream. */
int (*validate)(jas_stream_t *in);
/* Determine if stream data is in a particular format. */
int (*validate)(jas_stream_t *in);
/* Determine if stream data is in a particular format. */
} jas_image_fmtops_t;
@@ -276,20 +276,20 @@ typedef struct {
typedef struct {
int id;
/* The ID for this format. */
int id;
/* The ID for this format. */
char *name;
/* The name by which this format is identified. */
char *name;
/* The name by which this format is identified. */
char *ext;
/* The file name extension associated with this format. */
char *ext;
/* The file name extension associated with this format. */
char *desc;
/* A brief description of the format. */
char *desc;
/* A brief description of the format. */
jas_image_fmtops_t ops;
/* The operations for this format. */
jas_image_fmtops_t ops;
/* The operations for this format. */
} jas_image_fmtinfo_t;
@@ -312,92 +312,92 @@ void jas_image_destroy(jas_image_t *image);
/* Get the width of the image in units of the image reference grid. */
#define jas_image_width(image) \
((image)->brx_ - (image)->tlx_)
((image)->brx_ - (image)->tlx_)
/* Get the height of the image in units of the image reference grid. */
#define jas_image_height(image) \
((image)->bry_ - (image)->tly_)
((image)->bry_ - (image)->tly_)
/* Get the x-coordinate of the top-left corner of the image bounding box
on the reference grid. */
#define jas_image_tlx(image) \
((image)->tlx_)
((image)->tlx_)
/* Get the y-coordinate of the top-left corner of the image bounding box
on the reference grid. */
#define jas_image_tly(image) \
((image)->tly_)
((image)->tly_)
/* Get the x-coordinate of the bottom-right corner of the image bounding box
on the reference grid (plus one). */
#define jas_image_brx(image) \
((image)->brx_)
((image)->brx_)
/* Get the y-coordinate of the bottom-right corner of the image bounding box
on the reference grid (plus one). */
#define jas_image_bry(image) \
((image)->bry_)
((image)->bry_)
/* Get the number of image components. */
#define jas_image_numcmpts(image) \
((image)->numcmpts_)
((image)->numcmpts_)
/* Get the color model used by the image. */
#define jas_image_clrspc(image) \
((image)->clrspc_)
((image)->clrspc_)
/* Set the color model for an image. */
#define jas_image_setclrspc(image, clrspc) \
((image)->clrspc_ = (clrspc))
((image)->clrspc_ = (clrspc))
#define jas_image_cmpttype(image, cmptno) \
((image)->cmpts_[(cmptno)]->type_)
((image)->cmpts_[(cmptno)]->type_)
#define jas_image_setcmpttype(image, cmptno, type) \
((image)->cmpts_[(cmptno)]->type_ = (type))
((image)->cmpts_[(cmptno)]->type_ = (type))
/* Get the width of a component. */
#define jas_image_cmptwidth(image, cmptno) \
((image)->cmpts_[cmptno]->width_)
((image)->cmpts_[cmptno]->width_)
/* Get the height of a component. */
#define jas_image_cmptheight(image, cmptno) \
((image)->cmpts_[cmptno]->height_)
((image)->cmpts_[cmptno]->height_)
/* Get the signedness of the sample data for a component. */
#define jas_image_cmptsgnd(image, cmptno) \
((image)->cmpts_[cmptno]->sgnd_)
((image)->cmpts_[cmptno]->sgnd_)
/* Get the precision of the sample data for a component. */
#define jas_image_cmptprec(image, cmptno) \
((image)->cmpts_[cmptno]->prec_)
((image)->cmpts_[cmptno]->prec_)
/* Get the horizontal subsampling factor for a component. */
#define jas_image_cmpthstep(image, cmptno) \
((image)->cmpts_[cmptno]->hstep_)
((image)->cmpts_[cmptno]->hstep_)
/* Get the vertical subsampling factor for a component. */
#define jas_image_cmptvstep(image, cmptno) \
((image)->cmpts_[cmptno]->vstep_)
((image)->cmpts_[cmptno]->vstep_)
/* Get the x-coordinate of the top-left corner of a component. */
#define jas_image_cmpttlx(image, cmptno) \
((image)->cmpts_[cmptno]->tlx_)
((image)->cmpts_[cmptno]->tlx_)
/* Get the y-coordinate of the top-left corner of a component. */
#define jas_image_cmpttly(image, cmptno) \
((image)->cmpts_[cmptno]->tly_)
((image)->cmpts_[cmptno]->tly_)
/* Get the x-coordinate of the bottom-right corner of a component
(plus "one"). */
#define jas_image_cmptbrx(image, cmptno) \
((image)->cmpts_[cmptno]->tlx_ + (image)->cmpts_[cmptno]->width_ * \
(image)->cmpts_[cmptno]->hstep_)
((image)->cmpts_[cmptno]->tlx_ + (image)->cmpts_[cmptno]->width_ * \
(image)->cmpts_[cmptno]->hstep_)
/* Get the y-coordinate of the bottom-right corner of a component
(plus "one"). */
#define jas_image_cmptbry(image, cmptno) \
((image)->cmpts_[cmptno]->tly_ + (image)->cmpts_[cmptno]->height_ * \
(image)->cmpts_[cmptno]->vstep_)
((image)->cmpts_[cmptno]->tly_ + (image)->cmpts_[cmptno]->height_ * \
(image)->cmpts_[cmptno]->vstep_)
/* Get the raw size of an image (i.e., the nominal size of the image without
any compression. */
@@ -439,7 +439,7 @@ int jas_image_copycmpt(jas_image_t *dstimage, int dstcmptno,
#define JAS_IMAGE_CDT_SETPREC(dtype) ((dtype) & 0x7f)
#define jas_image_cmptdtype(image, cmptno) \
(JAS_IMAGE_CDT_SETSGND((image)->cmpts_[cmptno]->sgnd_) | JAS_IMAGE_CDT_SETPREC((image)->cmpts_[cmptno]->prec_))
(JAS_IMAGE_CDT_SETSGND((image)->cmpts_[cmptno]->sgnd_) | JAS_IMAGE_CDT_SETPREC((image)->cmpts_[cmptno]->prec_))
int jas_image_depalettize(jas_image_t *image, int cmptno, int numlutents,
int_fast32_t *lutents, int dtype, int newcmptno);

View File

@@ -4,15 +4,15 @@
*/
/* __START_OF_JASPER_LICENSE__
*
*
* JasPer License Version 2.0
*
*
* Copyright (c) 2001-2006 Michael David Adams
* Copyright (c) 1999-2000 Image Power, Inc.
* Copyright (c) 1999-2000 The University of British Columbia
*
*
* All rights reserved.
*
*
* Permission is hereby granted, free of charge, to any person (the
* "User") obtaining a copy of this software and associated documentation
* files (the "Software"), to deal in the Software without restriction,
@@ -20,15 +20,15 @@
* publish, distribute, and/or sell copies of the Software, and to permit
* persons to whom the Software is furnished to do so, subject to the
* following conditions:
*
*
* 1. The above copyright notices and this permission notice (which
* includes the disclaimer below) shall be included in all copies or
* substantial portions of the Software.
*
*
* 2. The name of a copyright holder shall not be used to endorse or
* promote products derived from the Software without specific prior
* written permission.
*
*
* THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS
* LICENSE. NO USE OF THE SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER
* THIS DISCLAIMER. THE SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS
@@ -55,7 +55,7 @@
* PERSONAL INJURY, OR SEVERE PHYSICAL OR ENVIRONMENTAL DAMAGE ("HIGH
* RISK ACTIVITIES"). THE COPYRIGHT HOLDERS SPECIFICALLY DISCLAIM ANY
* EXPRESS OR IMPLIED WARRANTY OF FITNESS FOR HIGH RISK ACTIVITIES.
*
*
* __END_OF_JASPER_LICENSE__
*/

View File

@@ -6,15 +6,15 @@
*/
/* __START_OF_JASPER_LICENSE__
*
*
* JasPer License Version 2.0
*
*
* Copyright (c) 2001-2006 Michael David Adams
* Copyright (c) 1999-2000 Image Power, Inc.
* Copyright (c) 1999-2000 The University of British Columbia
*
*
* All rights reserved.
*
*
* Permission is hereby granted, free of charge, to any person (the
* "User") obtaining a copy of this software and associated documentation
* files (the "Software"), to deal in the Software without restriction,
@@ -22,15 +22,15 @@
* publish, distribute, and/or sell copies of the Software, and to permit
* persons to whom the Software is furnished to do so, subject to the
* following conditions:
*
*
* 1. The above copyright notices and this permission notice (which
* includes the disclaimer below) shall be included in all copies or
* substantial portions of the Software.
*
*
* 2. The name of a copyright holder shall not be used to endorse or
* promote products derived from the Software without specific prior
* written permission.
*
*
* THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS
* LICENSE. NO USE OF THE SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER
* THIS DISCLAIMER. THE SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS
@@ -57,7 +57,7 @@
* PERSONAL INJURY, OR SEVERE PHYSICAL OR ENVIRONMENTAL DAMAGE ("HIGH
* RISK ACTIVITIES"). THE COPYRIGHT HOLDERS SPECIFICALLY DISCLAIM ANY
* EXPRESS OR IMPLIED WARRANTY OF FITNESS FOR HIGH RISK ACTIVITIES.
*
*
* __END_OF_JASPER_LICENSE__
*/
@@ -95,6 +95,9 @@ extern "C" {
#define jas_free MEMFREE
#define jas_realloc MEMREALLOC
#define jas_calloc MEMCALLOC
#define jas_alloc2(a, b) MEMALLOC((a)*(b))
#define jas_alloc3(a, b, c) MEMALLOC((a)*(b)*(c))
#define jas_realloc2(p, a, b) MEMREALLOC((p), (a)*(b))
#endif
/******************************************************************************\
@@ -115,6 +118,12 @@ void *jas_realloc(void *ptr, size_t size);
/* Allocate a block of memory and initialize the contents to zero. */
void *jas_calloc(size_t nmemb, size_t size);
/* size-checked double allocation .*/
void *jas_alloc2(size_t, size_t);
void *jas_alloc3(size_t, size_t, size_t);
void *jas_realloc2(void *, size_t, size_t);
#endif
#ifdef __cplusplus

View File

@@ -6,15 +6,15 @@
*/
/* __START_OF_JASPER_LICENSE__
*
*
* JasPer License Version 2.0
*
*
* Copyright (c) 2001-2006 Michael David Adams
* Copyright (c) 1999-2000 Image Power, Inc.
* Copyright (c) 1999-2000 The University of British Columbia
*
*
* All rights reserved.
*
*
* Permission is hereby granted, free of charge, to any person (the
* "User") obtaining a copy of this software and associated documentation
* files (the "Software"), to deal in the Software without restriction,
@@ -22,15 +22,15 @@
* publish, distribute, and/or sell copies of the Software, and to permit
* persons to whom the Software is furnished to do so, subject to the
* following conditions:
*
*
* 1. The above copyright notices and this permission notice (which
* includes the disclaimer below) shall be included in all copies or
* substantial portions of the Software.
*
*
* 2. The name of a copyright holder shall not be used to endorse or
* promote products derived from the Software without specific prior
* written permission.
*
*
* THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS
* LICENSE. NO USE OF THE SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER
* THIS DISCLAIMER. THE SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS
@@ -57,7 +57,7 @@
* PERSONAL INJURY, OR SEVERE PHYSICAL OR ENVIRONMENTAL DAMAGE ("HIGH
* RISK ACTIVITIES"). THE COPYRIGHT HOLDERS SPECIFICALLY DISCLAIM ANY
* EXPRESS OR IMPLIED WARRANTY OF FITNESS FOR HIGH RISK ACTIVITIES.
*
*
* __END_OF_JASPER_LICENSE__
*/
@@ -90,20 +90,20 @@ extern "C" {
/* Compute the absolute value. */
#define JAS_ABS(x) \
(((x) >= 0) ? (x) : (-(x)))
(((x) >= 0) ? (x) : (-(x)))
/* Compute the minimum of two values. */
#define JAS_MIN(x, y) \
(((x) < (y)) ? (x) : (y))
(((x) < (y)) ? (x) : (y))
/* Compute the maximum of two values. */
#define JAS_MAX(x, y) \
(((x) > (y)) ? (x) : (y))
(((x) > (y)) ? (x) : (y))
/* Compute the remainder from division (where division is defined such
that the remainder is always nonnegative). */
#define JAS_MOD(x, y) \
(((x) < 0) ? (((-x) % (y)) ? ((y) - ((-(x)) % (y))) : (0)) : ((x) % (y)))
(((x) < 0) ? (((-x) % (y)) ? ((y) - ((-(x)) % (y))) : (0)) : ((x) % (y)))
/* Compute the integer with the specified number of least significant bits
set to one. */

View File

@@ -6,15 +6,15 @@
*/
/* __START_OF_JASPER_LICENSE__
*
*
* JasPer License Version 2.0
*
*
* Copyright (c) 2001-2006 Michael David Adams
* Copyright (c) 1999-2000 Image Power, Inc.
* Copyright (c) 1999-2000 The University of British Columbia
*
*
* All rights reserved.
*
*
* Permission is hereby granted, free of charge, to any person (the
* "User") obtaining a copy of this software and associated documentation
* files (the "Software"), to deal in the Software without restriction,
@@ -22,15 +22,15 @@
* publish, distribute, and/or sell copies of the Software, and to permit
* persons to whom the Software is furnished to do so, subject to the
* following conditions:
*
*
* 1. The above copyright notices and this permission notice (which
* includes the disclaimer below) shall be included in all copies or
* substantial portions of the Software.
*
*
* 2. The name of a copyright holder shall not be used to endorse or
* promote products derived from the Software without specific prior
* written permission.
*
*
* THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS
* LICENSE. NO USE OF THE SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER
* THIS DISCLAIMER. THE SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS
@@ -57,7 +57,7 @@
* PERSONAL INJURY, OR SEVERE PHYSICAL OR ENVIRONMENTAL DAMAGE ("HIGH
* RISK ACTIVITIES"). THE COPYRIGHT HOLDERS SPECIFICALLY DISCLAIM ANY
* EXPRESS OR IMPLIED WARRANTY OF FITNESS FOR HIGH RISK ACTIVITIES.
*
*
* __END_OF_JASPER_LICENSE__
*/
@@ -104,38 +104,38 @@ typedef int_fast32_t jas_matent_t;
typedef struct {
/* Additional state information. */
int flags_;
/* Additional state information. */
int flags_;
/* The starting horizontal index. */
int_fast32_t xstart_;
/* The starting horizontal index. */
int_fast32_t xstart_;
/* The starting vertical index. */
int_fast32_t ystart_;
/* The starting vertical index. */
int_fast32_t ystart_;
/* The ending horizontal index. */
int_fast32_t xend_;
/* The ending horizontal index. */
int_fast32_t xend_;
/* The ending vertical index. */
int_fast32_t yend_;
/* The ending vertical index. */
int_fast32_t yend_;
/* The number of rows in the matrix. */
int_fast32_t numrows_;
/* The number of rows in the matrix. */
int_fast32_t numrows_;
/* The number of columns in the matrix. */
int_fast32_t numcols_;
/* The number of columns in the matrix. */
int_fast32_t numcols_;
/* Pointers to the start of each row. */
jas_seqent_t **rows_;
/* Pointers to the start of each row. */
jas_seqent_t **rows_;
/* The allocated size of the rows array. */
int_fast32_t maxrows_;
/* The allocated size of the rows array. */
int_fast32_t maxrows_;
/* The matrix data buffer. */
jas_seqent_t *data_;
/* The matrix data buffer. */
jas_seqent_t *data_;
/* The allocated size of the data array. */
int_fast32_t datasize_;
/* The allocated size of the data array. */
int_fast32_t datasize_;
} jas_matrix_t;
@@ -148,39 +148,39 @@ typedef jas_matrix_t jas_seq_t;
/* Get the number of rows. */
#define jas_matrix_numrows(matrix) \
((matrix)->numrows_)
((matrix)->numrows_)
/* Get the number of columns. */
#define jas_matrix_numcols(matrix) \
((matrix)->numcols_)
((matrix)->numcols_)
/* Get a matrix element. */
#define jas_matrix_get(matrix, i, j) \
((matrix)->rows_[i][j])
((matrix)->rows_[i][j])
/* Set a matrix element. */
#define jas_matrix_set(matrix, i, j, v) \
((matrix)->rows_[i][j] = (v))
((matrix)->rows_[i][j] = (v))
/* Get an element from a matrix that is known to be a row or column vector. */
#define jas_matrix_getv(matrix, i) \
(((matrix)->numrows_ == 1) ? ((matrix)->rows_[0][i]) : \
((matrix)->rows_[i][0]))
(((matrix)->numrows_ == 1) ? ((matrix)->rows_[0][i]) : \
((matrix)->rows_[i][0]))
/* Set an element in a matrix that is known to be a row or column vector. */
#define jas_matrix_setv(matrix, i, v) \
(((matrix)->numrows_ == 1) ? ((matrix)->rows_[0][i] = (v)) : \
((matrix)->rows_[i][0] = (v)))
(((matrix)->numrows_ == 1) ? ((matrix)->rows_[0][i] = (v)) : \
((matrix)->rows_[i][0] = (v)))
/* Get the address of an element in a matrix. */
#define jas_matrix_getref(matrix, i, j) \
(&(matrix)->rows_[i][j])
(&(matrix)->rows_[i][j])
#define jas_matrix_getvref(matrix, i) \
(((matrix)->numrows_ > 1) ? jas_matrix_getref(matrix, i, 0) : jas_matrix_getref(matrix, 0, i))
(((matrix)->numrows_ > 1) ? jas_matrix_getref(matrix, i, 0) : jas_matrix_getref(matrix, 0, i))
#define jas_matrix_length(matrix) \
(max((matrix)->numrows_, (matrix)->numcols_))
(max((matrix)->numrows_, (matrix)->numcols_))
/* Create a matrix with the specified dimensions. */
jas_matrix_t *jas_matrix_create(int numrows, int numcols);
@@ -223,11 +223,11 @@ void jas_matrix_setall(jas_matrix_t *matrix, jas_seqent_t val);
/* The spacing between rows of a matrix. */
#define jas_matrix_rowstep(matrix) \
(((matrix)->numrows_ > 1) ? ((matrix)->rows_[1] - (matrix)->rows_[0]) : (0))
(((matrix)->numrows_ > 1) ? ((matrix)->rows_[1] - (matrix)->rows_[0]) : (0))
/* The spacing between columns of a matrix. */
#define jas_matrix_step(matrix) \
(((matrix)->numrows_ > 1) ? (jas_matrix_rowstep(matrix)) : (1))
(((matrix)->numrows_ > 1) ? (jas_matrix_rowstep(matrix)) : (1))
/* Compare two matrices for equality. */
int jas_matrix_cmp(jas_matrix_t *mat0, jas_matrix_t *mat1);
@@ -245,30 +245,30 @@ jas_seq2d_t *jas_seq2d_copy(jas_seq2d_t *x);
jas_matrix_t *jas_seq2d_create(int xstart, int ystart, int xend, int yend);
#define jas_seq2d_destroy(s) \
jas_matrix_destroy(s)
jas_matrix_destroy(s)
#define jas_seq2d_xstart(s) \
((s)->xstart_)
((s)->xstart_)
#define jas_seq2d_ystart(s) \
((s)->ystart_)
((s)->ystart_)
#define jas_seq2d_xend(s) \
((s)->xend_)
((s)->xend_)
#define jas_seq2d_yend(s) \
((s)->yend_)
((s)->yend_)
#define jas_seq2d_getref(s, x, y) \
(jas_matrix_getref(s, (y) - (s)->ystart_, (x) - (s)->xstart_))
(jas_matrix_getref(s, (y) - (s)->ystart_, (x) - (s)->xstart_))
#define jas_seq2d_get(s, x, y) \
(jas_matrix_get(s, (y) - (s)->ystart_, (x) - (s)->xstart_))
(jas_matrix_get(s, (y) - (s)->ystart_, (x) - (s)->xstart_))
#define jas_seq2d_rowstep(s) \
jas_matrix_rowstep(s)
jas_matrix_rowstep(s)
#define jas_seq2d_width(s) \
((s)->xend_ - (s)->xstart_)
((s)->xend_ - (s)->xstart_)
#define jas_seq2d_height(s) \
((s)->yend_ - (s)->ystart_)
((s)->yend_ - (s)->ystart_)
#define jas_seq2d_setshift(s, x, y) \
((s)->xstart_ = (x), (s)->ystart_ = (y), \
(s)->xend_ = (s)->xstart_ + (s)->numcols_, \
(s)->yend_ = (s)->ystart_ + (s)->numrows_)
((s)->xstart_ = (x), (s)->ystart_ = (y), \
(s)->xend_ = (s)->xstart_ + (s)->numcols_, \
(s)->yend_ = (s)->ystart_ + (s)->numrows_)
void jas_seq2d_bindsub(jas_matrix_t *s, jas_matrix_t *s1, int xstart,
int ystart, int xend, int yend);
@@ -278,21 +278,21 @@ void jas_seq2d_bindsub(jas_matrix_t *s, jas_matrix_t *s1, int xstart,
\******************************************************************************/
#define jas_seq_create(start, end) \
(jas_seq2d_create(start, 0, end, 1))
(jas_seq2d_create(start, 0, end, 1))
#define jas_seq_destroy(seq) \
(jas_seq2d_destroy(seq))
(jas_seq2d_destroy(seq))
#define jas_seq_set(seq, i, v) \
((seq)->rows_[0][(i) - (seq)->xstart_] = (v))
((seq)->rows_[0][(i) - (seq)->xstart_] = (v))
#define jas_seq_getref(seq, i) \
(&(seq)->rows_[0][(i) - (seq)->xstart_])
(&(seq)->rows_[0][(i) - (seq)->xstart_])
#define jas_seq_get(seq, i) \
((seq)->rows_[0][(i) - (seq)->xstart_])
((seq)->rows_[0][(i) - (seq)->xstart_])
#define jas_seq_start(seq) \
((seq)->xstart_)
((seq)->xstart_)
#define jas_seq_end(seq) \
((seq)->xend_)
((seq)->xend_)
#ifdef __cplusplus
}

View File

@@ -6,15 +6,15 @@
*/
/* __START_OF_JASPER_LICENSE__
*
*
* JasPer License Version 2.0
*
*
* Copyright (c) 2001-2006 Michael David Adams
* Copyright (c) 1999-2000 Image Power, Inc.
* Copyright (c) 1999-2000 The University of British Columbia
*
*
* All rights reserved.
*
*
* Permission is hereby granted, free of charge, to any person (the
* "User") obtaining a copy of this software and associated documentation
* files (the "Software"), to deal in the Software without restriction,
@@ -22,15 +22,15 @@
* publish, distribute, and/or sell copies of the Software, and to permit
* persons to whom the Software is furnished to do so, subject to the
* following conditions:
*
*
* 1. The above copyright notices and this permission notice (which
* includes the disclaimer below) shall be included in all copies or
* substantial portions of the Software.
*
*
* 2. The name of a copyright holder shall not be used to endorse or
* promote products derived from the Software without specific prior
* written permission.
*
*
* THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS
* LICENSE. NO USE OF THE SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER
* THIS DISCLAIMER. THE SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS
@@ -57,7 +57,7 @@
* PERSONAL INJURY, OR SEVERE PHYSICAL OR ENVIRONMENTAL DAMAGE ("HIGH
* RISK ACTIVITIES"). THE COPYRIGHT HOLDERS SPECIFICALLY DISCLAIM ANY
* EXPRESS OR IMPLIED WARRANTY OF FITNESS FOR HIGH RISK ACTIVITIES.
*
*
* __END_OF_JASPER_LICENSE__
*/
@@ -77,6 +77,7 @@
#include <jasper/jas_config.h>
#include <stdio.h>
#include <limits.h>
#if defined(HAVE_FCNTL_H)
#include <fcntl.h>
#endif
@@ -148,7 +149,7 @@ extern "C" {
#define JAS_STREAM_RWLIMIT 0x0004
/* The error mask. */
#define JAS_STREAM_ERRMASK \
(JAS_STREAM_EOF | JAS_STREAM_ERR | JAS_STREAM_RWLIMIT)
(JAS_STREAM_EOF | JAS_STREAM_ERR | JAS_STREAM_RWLIMIT)
/*
* Other miscellaneous constants.
@@ -178,17 +179,17 @@ typedef void jas_stream_obj_t;
typedef struct {
/* Read characters from a file object. */
int (*read_)(jas_stream_obj_t *obj, char *buf, int cnt);
/* Read characters from a file object. */
int (*read_)(jas_stream_obj_t *obj, char *buf, int cnt);
/* Write characters to a file object. */
int (*write_)(jas_stream_obj_t *obj, char *buf, int cnt);
/* Write characters to a file object. */
int (*write_)(jas_stream_obj_t *obj, char *buf, int cnt);
/* Set the position for a file object. */
long (*seek_)(jas_stream_obj_t *obj, long offset, int origin);
/* Set the position for a file object. */
long (*seek_)(jas_stream_obj_t *obj, long offset, int origin);
/* Close a file object. */
int (*close_)(jas_stream_obj_t *obj);
/* Close a file object. */
int (*close_)(jas_stream_obj_t *obj);
} jas_stream_ops_t;
@@ -198,46 +199,46 @@ typedef struct {
typedef struct {
/* The mode in which the stream was opened. */
int openmode_;
/* The mode in which the stream was opened. */
int openmode_;
/* The buffering mode. */
int bufmode_;
/* The buffering mode. */
int bufmode_;
/* The stream status. */
int flags_;
/* The stream status. */
int flags_;
/* The start of the buffer area to use for reading/writing. */
uchar *bufbase_;
/* The start of the buffer area to use for reading/writing. */
uchar *bufbase_;
/* The start of the buffer area excluding the extra initial space for
character putback. */
uchar *bufstart_;
/* The start of the buffer area excluding the extra initial space for
character putback. */
uchar *bufstart_;
/* The buffer size. */
int bufsize_;
/* The buffer size. */
int bufsize_;
/* The current position in the buffer. */
uchar *ptr_;
/* The current position in the buffer. */
uchar *ptr_;
/* The number of characters that must be read/written before
the buffer needs to be filled/flushed. */
int cnt_;
/* The number of characters that must be read/written before
the buffer needs to be filled/flushed. */
int cnt_;
/* A trivial buffer to be used for unbuffered operation. */
uchar tinybuf_[JAS_STREAM_MAXPUTBACK + 1];
/* A trivial buffer to be used for unbuffered operation. */
uchar tinybuf_[JAS_STREAM_MAXPUTBACK + 1];
/* The operations for the underlying stream file object. */
jas_stream_ops_t *ops_;
/* The operations for the underlying stream file object. */
jas_stream_ops_t *ops_;
/* The underlying stream file object. */
jas_stream_obj_t *obj_;
/* The underlying stream file object. */
jas_stream_obj_t *obj_;
/* The number of characters read/written. */
long rwcnt_;
/* The number of characters read/written. */
long rwcnt_;
/* The maximum number of characters that may be read/written. */
long rwlimit_;
/* The maximum number of characters that may be read/written. */
long rwlimit_;
} jas_stream_t;
@@ -249,9 +250,13 @@ typedef struct {
* File descriptor file object.
*/
typedef struct {
int fd;
int flags;
char pathname[L_tmpnam + 1];
int fd;
int flags;
#if defined _WIN32 && !defined __MINGW__ && !defined __MINGW32__
char pathname[MAX_PATH + 1];
#else
char pathname[PATH_MAX + 1];
#endif
} jas_stream_fileobj_t;
#define JAS_STREAM_FILEOBJ_DELONCLOSE 0x01
@@ -263,23 +268,23 @@ typedef struct {
typedef struct {
/* The data associated with this file. */
uchar *buf_;
/* The data associated with this file. */
uchar *buf_;
/* The allocated size of the buffer for holding file data. */
int bufsize_;
/* The allocated size of the buffer for holding file data. */
int bufsize_;
/* The length of the file. */
int_fast32_t len_;
/* The length of the file. */
int_fast32_t len_;
/* The seek position. */
int_fast32_t pos_;
/* The seek position. */
int_fast32_t pos_;
/* Is the buffer growable? */
int growable_;
/* Is the buffer growable? */
int growable_;
/* Was the buffer allocated internally? */
int myalloc_;
/* Was the buffer allocated internally? */
int myalloc_;
} jas_stream_memobj_t;
@@ -311,26 +316,26 @@ int jas_stream_close(jas_stream_t *stream);
/* Get the EOF indicator for a stream. */
#define jas_stream_eof(stream) \
(((stream)->flags_ & JAS_STREAM_EOF) != 0)
(((stream)->flags_ & JAS_STREAM_EOF) != 0)
/* Get the error indicator for a stream. */
#define jas_stream_error(stream) \
(((stream)->flags_ & JAS_STREAM_ERR) != 0)
(((stream)->flags_ & JAS_STREAM_ERR) != 0)
/* Clear the error indicator for a stream. */
#define jas_stream_clearerr(stream) \
((stream)->flags_ &= ~(JAS_STREAM_ERR | JAS_STREAM_EOF))
((stream)->flags_ &= ~(JAS_STREAM_ERR | JAS_STREAM_EOF))
/* Get the read/write limit for a stream. */
#define jas_stream_getrwlimit(stream) \
(((const jas_stream_t *)(stream))->rwlimit_)
(((const jas_stream_t *)(stream))->rwlimit_)
/* Set the read/write limit for a stream. */
int jas_stream_setrwlimit(jas_stream_t *stream, long rwlimit);
/* Get the read/write count for a stream. */
#define jas_stream_getrwcount(stream) \
(((const jas_stream_t *)(stream))->rwcnt_)
(((const jas_stream_t *)(stream))->rwcnt_)
/* Set the read/write count for a stream. */
long jas_stream_setrwcount(jas_stream_t *stream, long rwcnt);
@@ -371,8 +376,8 @@ char *jas_stream_gets(jas_stream_t *stream, char *buf, int bufsize);
/* Look at the next character to be read from a stream without actually
removing it from the stream. */
#define jas_stream_peekc(stream) \
(((stream)->cnt_ <= 0) ? jas_stream_fillbuf(stream, 0) : \
((int)(*(stream)->ptr_)))
(((stream)->cnt_ <= 0) ? jas_stream_fillbuf(stream, 0) : \
((int)(*(stream)->ptr_)))
/* Put a character back on a stream. */
int jas_stream_ungetc(jas_stream_t *stream, int c);
@@ -429,26 +434,26 @@ directly, you will die a horrible, miserable, and painful death! */
/* Read a character from a stream. */
#define jas_stream_getc_macro(stream) \
((!((stream)->flags_ & (JAS_STREAM_ERR | JAS_STREAM_EOF | \
JAS_STREAM_RWLIMIT))) ? \
(((stream)->rwlimit_ >= 0 && (stream)->rwcnt_ >= (stream)->rwlimit_) ? \
(stream->flags_ |= JAS_STREAM_RWLIMIT, EOF) : \
jas_stream_getc2(stream)) : EOF)
((!((stream)->flags_ & (JAS_STREAM_ERR | JAS_STREAM_EOF | \
JAS_STREAM_RWLIMIT))) ? \
(((stream)->rwlimit_ >= 0 && (stream)->rwcnt_ >= (stream)->rwlimit_) ? \
(stream->flags_ |= JAS_STREAM_RWLIMIT, EOF) : \
jas_stream_getc2(stream)) : EOF)
#define jas_stream_getc2(stream) \
((--(stream)->cnt_ < 0) ? jas_stream_fillbuf(stream, 1) : \
(++(stream)->rwcnt_, (int)(*(stream)->ptr_++)))
((--(stream)->cnt_ < 0) ? jas_stream_fillbuf(stream, 1) : \
(++(stream)->rwcnt_, (int)(*(stream)->ptr_++)))
/* Write a character to a stream. */
#define jas_stream_putc_macro(stream, c) \
((!((stream)->flags_ & (JAS_STREAM_ERR | JAS_STREAM_EOF | \
JAS_STREAM_RWLIMIT))) ? \
(((stream)->rwlimit_ >= 0 && (stream)->rwcnt_ >= (stream)->rwlimit_) ? \
(stream->flags_ |= JAS_STREAM_RWLIMIT, EOF) : \
jas_stream_putc2(stream, c)) : EOF)
((!((stream)->flags_ & (JAS_STREAM_ERR | JAS_STREAM_EOF | \
JAS_STREAM_RWLIMIT))) ? \
(((stream)->rwlimit_ >= 0 && (stream)->rwcnt_ >= (stream)->rwlimit_) ? \
(stream->flags_ |= JAS_STREAM_RWLIMIT, EOF) : \
jas_stream_putc2(stream, c)) : EOF)
#define jas_stream_putc2(stream, c) \
(((stream)->bufmode_ |= JAS_STREAM_WRBUF, --(stream)->cnt_ < 0) ? \
jas_stream_flushbuf((stream), (uchar)(c)) : \
(++(stream)->rwcnt_, (int)(*(stream)->ptr_++ = (c))))
(((stream)->bufmode_ |= JAS_STREAM_WRBUF, --(stream)->cnt_ < 0) ? \
jas_stream_flushbuf((stream), (uchar)(c)) : \
(++(stream)->rwcnt_, (int)(*(stream)->ptr_++ = (c))))
/* These prototypes need to be here for the sake of the stream_getc and
stream_putc macros. */

View File

@@ -6,15 +6,15 @@
*/
/* __START_OF_JASPER_LICENSE__
*
*
* JasPer License Version 2.0
*
*
* Copyright (c) 2001-2006 Michael David Adams
* Copyright (c) 1999-2000 Image Power, Inc.
* Copyright (c) 1999-2000 The University of British Columbia
*
*
* All rights reserved.
*
*
* Permission is hereby granted, free of charge, to any person (the
* "User") obtaining a copy of this software and associated documentation
* files (the "Software"), to deal in the Software without restriction,
@@ -22,15 +22,15 @@
* publish, distribute, and/or sell copies of the Software, and to permit
* persons to whom the Software is furnished to do so, subject to the
* following conditions:
*
*
* 1. The above copyright notices and this permission notice (which
* includes the disclaimer below) shall be included in all copies or
* substantial portions of the Software.
*
*
* 2. The name of a copyright holder shall not be used to endorse or
* promote products derived from the Software without specific prior
* written permission.
*
*
* THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS
* LICENSE. NO USE OF THE SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER
* THIS DISCLAIMER. THE SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS
@@ -57,7 +57,7 @@
* PERSONAL INJURY, OR SEVERE PHYSICAL OR ENVIRONMENTAL DAMAGE ("HIGH
* RISK ACTIVITIES"). THE COPYRIGHT HOLDERS SPECIFICALLY DISCLAIM ANY
* EXPRESS OR IMPLIED WARRANTY OF FITNESS FOR HIGH RISK ACTIVITIES.
*
*
* __END_OF_JASPER_LICENSE__
*/

View File

@@ -4,15 +4,15 @@
*/
/* __START_OF_JASPER_LICENSE__
*
*
* JasPer License Version 2.0
*
*
* Copyright (c) 2001-2006 Michael David Adams
* Copyright (c) 1999-2000 Image Power, Inc.
* Copyright (c) 1999-2000 The University of British Columbia
*
*
* All rights reserved.
*
*
* Permission is hereby granted, free of charge, to any person (the
* "User") obtaining a copy of this software and associated documentation
* files (the "Software"), to deal in the Software without restriction,
@@ -20,15 +20,15 @@
* publish, distribute, and/or sell copies of the Software, and to permit
* persons to whom the Software is furnished to do so, subject to the
* following conditions:
*
*
* 1. The above copyright notices and this permission notice (which
* includes the disclaimer below) shall be included in all copies or
* substantial portions of the Software.
*
*
* 2. The name of a copyright holder shall not be used to endorse or
* promote products derived from the Software without specific prior
* written permission.
*
*
* THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS
* LICENSE. NO USE OF THE SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER
* THIS DISCLAIMER. THE SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS
@@ -55,7 +55,7 @@
* PERSONAL INJURY, OR SEVERE PHYSICAL OR ENVIRONMENTAL DAMAGE ("HIGH
* RISK ACTIVITIES"). THE COPYRIGHT HOLDERS SPECIFICALLY DISCLAIM ANY
* EXPRESS OR IMPLIED WARRANTY OF FITNESS FOR HIGH RISK ACTIVITIES.
*
*
* __END_OF_JASPER_LICENSE__
*/
@@ -75,15 +75,15 @@ extern "C" {
#if defined(HAVE_GETTIMEOFDAY)
typedef struct {
struct timeval start;
struct timeval stop;
struct timeval start;
struct timeval stop;
} jas_tmr_t;
#elif defined(HAVE_GETRUSAGE)
typedef struct {
struct rusage start;
struct rusage stop;
struct rusage start;
struct rusage stop;
} jas_tmr_t;
#else

View File

@@ -4,15 +4,15 @@
*/
/* __START_OF_JASPER_LICENSE__
*
*
* JasPer License Version 2.0
*
*
* Copyright (c) 2001-2006 Michael David Adams
* Copyright (c) 1999-2000 Image Power, Inc.
* Copyright (c) 1999-2000 The University of British Columbia
*
*
* All rights reserved.
*
*
* Permission is hereby granted, free of charge, to any person (the
* "User") obtaining a copy of this software and associated documentation
* files (the "Software"), to deal in the Software without restriction,
@@ -20,15 +20,15 @@
* publish, distribute, and/or sell copies of the Software, and to permit
* persons to whom the Software is furnished to do so, subject to the
* following conditions:
*
*
* 1. The above copyright notices and this permission notice (which
* includes the disclaimer below) shall be included in all copies or
* substantial portions of the Software.
*
*
* 2. The name of a copyright holder shall not be used to endorse or
* promote products derived from the Software without specific prior
* written permission.
*
*
* THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS
* LICENSE. NO USE OF THE SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER
* THIS DISCLAIMER. THE SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS
@@ -55,7 +55,7 @@
* PERSONAL INJURY, OR SEVERE PHYSICAL OR ENVIRONMENTAL DAMAGE ("HIGH
* RISK ACTIVITIES"). THE COPYRIGHT HOLDERS SPECIFICALLY DISCLAIM ANY
* EXPRESS OR IMPLIED WARRANTY OF FITNESS FOR HIGH RISK ACTIVITIES.
*
*
* __END_OF_JASPER_LICENSE__
*/
@@ -86,11 +86,11 @@ extern "C" {
typedef struct {
int id;
/* The ID for the tag. */
int id;
/* The ID for the tag. */
char *name;
/* The name of the tag. */
char *name;
/* The name of the tag. */
} jas_taginfo_t;
@@ -98,17 +98,17 @@ typedef struct {
typedef struct {
char *buf;
/* The parsing buffer. */
char *buf;
/* The parsing buffer. */
char *tag;
/* The current tag name. */
char *tag;
/* The current tag name. */
char *val;
/* The current value. */
char *val;
/* The current value. */
char *pos;
/* The current position in the parsing buffer. */
char *pos;
/* The current position in the parsing buffer. */
} jas_tvparser_t;

View File

@@ -6,15 +6,15 @@
*/
/* __START_OF_JASPER_LICENSE__
*
*
* JasPer License Version 2.0
*
*
* Copyright (c) 2001-2006 Michael David Adams
* Copyright (c) 1999-2000 Image Power, Inc.
* Copyright (c) 1999-2000 The University of British Columbia
*
*
* All rights reserved.
*
*
* Permission is hereby granted, free of charge, to any person (the
* "User") obtaining a copy of this software and associated documentation
* files (the "Software"), to deal in the Software without restriction,
@@ -22,15 +22,15 @@
* publish, distribute, and/or sell copies of the Software, and to permit
* persons to whom the Software is furnished to do so, subject to the
* following conditions:
*
*
* 1. The above copyright notices and this permission notice (which
* includes the disclaimer below) shall be included in all copies or
* substantial portions of the Software.
*
*
* 2. The name of a copyright holder shall not be used to endorse or
* promote products derived from the Software without specific prior
* written permission.
*
*
* THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS
* LICENSE. NO USE OF THE SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER
* THIS DISCLAIMER. THE SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS
@@ -57,7 +57,7 @@
* PERSONAL INJURY, OR SEVERE PHYSICAL OR ENVIRONMENTAL DAMAGE ("HIGH
* RISK ACTIVITIES"). THE COPYRIGHT HOLDERS SPECIFICALLY DISCLAIM ANY
* EXPRESS OR IMPLIED WARRANTY OF FITNESS FOR HIGH RISK ACTIVITIES.
*
*
* __END_OF_JASPER_LICENSE__
*/
@@ -215,7 +215,7 @@ typedef ulonglong uint_fast64_t;
macro, type casts can be easily located in the source code with
tools like "grep". */
#define JAS_CAST(t, e) \
((t) (e))
((t) (e))
#ifdef __cplusplus
extern "C" {

View File

@@ -6,15 +6,15 @@
*/
/* __START_OF_JASPER_LICENSE__
*
*
* JasPer License Version 2.0
*
*
* Copyright (c) 2001-2006 Michael David Adams
* Copyright (c) 1999-2000 Image Power, Inc.
* Copyright (c) 1999-2000 The University of British Columbia
*
*
* All rights reserved.
*
*
* Permission is hereby granted, free of charge, to any person (the
* "User") obtaining a copy of this software and associated documentation
* files (the "Software"), to deal in the Software without restriction,
@@ -22,15 +22,15 @@
* publish, distribute, and/or sell copies of the Software, and to permit
* persons to whom the Software is furnished to do so, subject to the
* following conditions:
*
*
* 1. The above copyright notices and this permission notice (which
* includes the disclaimer below) shall be included in all copies or
* substantial portions of the Software.
*
*
* 2. The name of a copyright holder shall not be used to endorse or
* promote products derived from the Software without specific prior
* written permission.
*
*
* THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS
* LICENSE. NO USE OF THE SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER
* THIS DISCLAIMER. THE SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS
@@ -57,7 +57,7 @@
* PERSONAL INJURY, OR SEVERE PHYSICAL OR ENVIRONMENTAL DAMAGE ("HIGH
* RISK ACTIVITIES"). THE COPYRIGHT HOLDERS SPECIFICALLY DISCLAIM ANY
* EXPRESS OR IMPLIED WARRANTY OF FITNESS FOR HIGH RISK ACTIVITIES.
*
*
* __END_OF_JASPER_LICENSE__
*/
@@ -85,24 +85,24 @@ extern "C" {
#endif
#define JAS_COPYRIGHT \
"Copyright (c) 2001-2006 Michael David Adams.\n" \
"Copyright (c) 1999-2000 Image Power, Inc. and the University of\n" \
" British Columbia.\n" \
"All rights reserved.\n"
"Copyright (c) 2001-2006 Michael David Adams.\n" \
"Copyright (c) 1999-2000 Image Power, Inc. and the University of\n" \
" British Columbia.\n" \
"All rights reserved.\n"
#define JAS_NOTES \
"For more information about this software, please visit the following\n" \
"web sites/pages:\n" \
" http://www.ece.uvic.ca/~mdadams/jasper\n" \
" http://www.jpeg.org/software\n" \
"To be added to the (moderated) JasPer software announcements\n" \
"mailing list, send an email to:\n" \
" jasper-announce-subscribe@yahoogroups.com\n" \
"To be added to the (unmoderated) JasPer software discussion\n" \
"mailing list, send an email to:\n" \
" jasper-discussion-subscribe@yahoogroups.com\n" \
"Please send any bug reports to:\n" \
" mdadams@ieee.org\n"
"For more information about this software, please visit the following\n" \
"web sites/pages:\n" \
" http://www.ece.uvic.ca/~mdadams/jasper\n" \
" http://www.jpeg.org/software\n" \
"To be added to the (moderated) JasPer software announcements\n" \
"mailing list, send an email to:\n" \
" jasper-announce-subscribe@yahoogroups.com\n" \
"To be added to the (unmoderated) JasPer software discussion\n" \
"mailing list, send an email to:\n" \
" jasper-discussion-subscribe@yahoogroups.com\n" \
"Please send any bug reports to:\n" \
" mdadams@ieee.org\n"
/******************************************************************************\
* Functions.

View File

@@ -4,15 +4,15 @@
*/
/* __START_OF_JASPER_LICENSE__
*
*
* JasPer License Version 2.0
*
*
* Copyright (c) 2001-2006 Michael David Adams
* Copyright (c) 1999-2000 Image Power, Inc.
* Copyright (c) 1999-2000 The University of British Columbia
*
*
* All rights reserved.
*
*
* Permission is hereby granted, free of charge, to any person (the
* "User") obtaining a copy of this software and associated documentation
* files (the "Software"), to deal in the Software without restriction,
@@ -20,15 +20,15 @@
* publish, distribute, and/or sell copies of the Software, and to permit
* persons to whom the Software is furnished to do so, subject to the
* following conditions:
*
*
* 1. The above copyright notices and this permission notice (which
* includes the disclaimer below) shall be included in all copies or
* substantial portions of the Software.
*
*
* 2. The name of a copyright holder shall not be used to endorse or
* promote products derived from the Software without specific prior
* written permission.
*
*
* THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS
* LICENSE. NO USE OF THE SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER
* THIS DISCLAIMER. THE SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS
@@ -55,7 +55,7 @@
* PERSONAL INJURY, OR SEVERE PHYSICAL OR ENVIRONMENTAL DAMAGE ("HIGH
* RISK ACTIVITIES"). THE COPYRIGHT HOLDERS SPECIFICALLY DISCLAIM ANY
* EXPRESS OR IMPLIED WARRANTY OF FITNESS FOR HIGH RISK ACTIVITIES.
*
*
* __END_OF_JASPER_LICENSE__
*/

File diff suppressed because it is too large Load Diff

View File

@@ -5,16 +5,21 @@
* All rights reserved.
*/
/*
* Modified by Andrey Kiselev <dron@remotesensing.org> to handle UUID
* box properly.
*/
/* __START_OF_JASPER_LICENSE__
*
*
* JasPer License Version 2.0
*
*
* Copyright (c) 2001-2006 Michael David Adams
* Copyright (c) 1999-2000 Image Power, Inc.
* Copyright (c) 1999-2000 The University of British Columbia
*
*
* All rights reserved.
*
*
* Permission is hereby granted, free of charge, to any person (the
* "User") obtaining a copy of this software and associated documentation
* files (the "Software"), to deal in the Software without restriction,
@@ -22,15 +27,15 @@
* publish, distribute, and/or sell copies of the Software, and to permit
* persons to whom the Software is furnished to do so, subject to the
* following conditions:
*
*
* 1. The above copyright notices and this permission notice (which
* includes the disclaimer below) shall be included in all copies or
* substantial portions of the Software.
*
*
* 2. The name of a copyright holder shall not be used to endorse or
* promote products derived from the Software without specific prior
* written permission.
*
*
* THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS
* LICENSE. NO USE OF THE SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER
* THIS DISCLAIMER. THE SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS
@@ -57,7 +62,7 @@
* PERSONAL INJURY, OR SEVERE PHYSICAL OR ENVIRONMENTAL DAMAGE ("HIGH
* RISK ACTIVITIES"). THE COPYRIGHT HOLDERS SPECIFICALLY DISCLAIM ANY
* EXPRESS OR IMPLIED WARRANTY OF FITNESS FOR HIGH RISK ACTIVITIES.
*
*
* __END_OF_JASPER_LICENSE__
*/
@@ -81,7 +86,7 @@
\******************************************************************************/
#define JP2_SPTOBPC(s, p) \
((((p) - 1) & 0x7f) | (((s) & 1) << 7))
((((p) - 1) & 0x7f) | (((s) & 1) << 7))
/******************************************************************************\
* Box class.
@@ -119,7 +124,7 @@
#define JP2_JP_LEN 12
typedef struct {
uint_fast32_t magic;
uint_fast32_t magic;
} jp2_jp_t;
/* FTYP box data. */
@@ -130,10 +135,10 @@ typedef struct {
#define JP2_FTYP_COMPATCODE JP2_FTYP_MAJVER
typedef struct {
uint_fast32_t majver;
uint_fast32_t minver;
uint_fast32_t numcompatcodes;
uint_fast32_t compatcodes[JP2_FTYP_MAXCOMPATCODES];
uint_fast32_t majver;
uint_fast32_t minver;
uint_fast32_t numcompatcodes;
uint_fast32_t compatcodes[JP2_FTYP_MAXCOMPATCODES];
} jp2_ftyp_t;
/* IHDR box data. */
@@ -142,20 +147,20 @@ typedef struct {
#define JP2_IHDR_BPCNULL 255
typedef struct {
uint_fast32_t width;
uint_fast32_t height;
uint_fast16_t numcmpts;
uint_fast8_t bpc;
uint_fast8_t comptype;
uint_fast8_t csunk;
uint_fast8_t ipr;
uint_fast32_t width;
uint_fast32_t height;
uint_fast16_t numcmpts;
uint_fast8_t bpc;
uint_fast8_t comptype;
uint_fast8_t csunk;
uint_fast8_t ipr;
} jp2_ihdr_t;
/* BPCC box data. */
typedef struct {
uint_fast16_t numcmpts;
uint_fast8_t *bpcs;
uint_fast16_t numcmpts;
uint_fast8_t *bpcs;
} jp2_bpcc_t;
/* COLR box data. */
@@ -169,22 +174,22 @@ typedef struct {
#define JP2_COLR_SYCC 18
typedef struct {
uint_fast8_t method;
uint_fast8_t pri;
uint_fast8_t approx;
uint_fast32_t csid;
uint_fast8_t *iccp;
int iccplen;
/* XXX - Someday we ought to add ICC profile data here. */
uint_fast8_t method;
uint_fast8_t pri;
uint_fast8_t approx;
uint_fast32_t csid;
uint_fast8_t *iccp;
int iccplen;
/* XXX - Someday we ought to add ICC profile data here. */
} jp2_colr_t;
/* PCLR box data. */
typedef struct {
uint_fast16_t numlutents;
uint_fast8_t numchans;
int_fast32_t *lutdata;
uint_fast8_t *bpc;
uint_fast16_t numlutents;
uint_fast8_t numchans;
int_fast32_t *lutdata;
uint_fast8_t *bpc;
} jp2_pclr_t;
/* CDEF box per-channel data. */
@@ -206,29 +211,35 @@ typedef struct {
#define JP2_CDEF_ASOC_NONE 65535
typedef struct {
uint_fast16_t channo;
uint_fast16_t type;
uint_fast16_t assoc;
uint_fast16_t channo;
uint_fast16_t type;
uint_fast16_t assoc;
} jp2_cdefchan_t;
/* CDEF box data. */
typedef struct {
uint_fast16_t numchans;
jp2_cdefchan_t *ents;
uint_fast16_t numchans;
jp2_cdefchan_t *ents;
} jp2_cdef_t;
typedef struct {
uint_fast16_t cmptno;
uint_fast8_t map;
uint_fast8_t pcol;
uint_fast16_t cmptno;
uint_fast8_t map;
uint_fast8_t pcol;
} jp2_cmapent_t;
typedef struct {
uint_fast16_t numchans;
jp2_cmapent_t *ents;
uint_fast16_t numchans;
jp2_cmapent_t *ents;
} jp2_cmap_t;
typedef struct {
uint_fast32_t datalen;
uint_fast8_t uuid[16];
uint_fast8_t *data;
} jp2_uuid_t;
#define JP2_CMAP_DIRECT 0
#define JP2_CMAP_PALETTE 1
@@ -237,36 +248,37 @@ typedef struct {
struct jp2_boxops_s;
typedef struct {
struct jp2_boxops_s *ops;
struct jp2_boxinfo_s *info;
struct jp2_boxops_s *ops;
struct jp2_boxinfo_s *info;
uint_fast32_t type;
uint_fast32_t type;
/* The length of the box including the (variable-length) header. */
uint_fast32_t len;
/* The length of the box including the (variable-length) header. */
uint_fast32_t len;
/* The length of the box data. */
uint_fast32_t datalen;
/* The length of the box data. */
uint_fast32_t datalen;
union {
jp2_jp_t jp;
jp2_ftyp_t ftyp;
jp2_ihdr_t ihdr;
jp2_bpcc_t bpcc;
jp2_colr_t colr;
jp2_pclr_t pclr;
jp2_cdef_t cdef;
jp2_cmap_t cmap;
} data;
union {
jp2_jp_t jp;
jp2_ftyp_t ftyp;
jp2_ihdr_t ihdr;
jp2_bpcc_t bpcc;
jp2_colr_t colr;
jp2_pclr_t pclr;
jp2_cdef_t cdef;
jp2_cmap_t cmap;
jp2_uuid_t uuid;
} data;
} jp2_box_t;
typedef struct jp2_boxops_s {
void (*init)(jp2_box_t *box);
void (*destroy)(jp2_box_t *box);
int (*getdata)(jp2_box_t *box, jas_stream_t *in);
int (*putdata)(jp2_box_t *box, jas_stream_t *out);
void (*dumpdata)(jp2_box_t *box, FILE *out);
void (*init)(jp2_box_t *box);
void (*destroy)(jp2_box_t *box);
int (*getdata)(jp2_box_t *box, jas_stream_t *in);
int (*putdata)(jp2_box_t *box, jas_stream_t *out);
void (*dumpdata)(jp2_box_t *box, FILE *out);
} jp2_boxops_t;
/******************************************************************************\
@@ -274,10 +286,10 @@ typedef struct jp2_boxops_s {
\******************************************************************************/
typedef struct jp2_boxinfo_s {
int type;
char *name;
int flags;
jp2_boxops_t ops;
int type;
char *name;
int flags;
jp2_boxops_t ops;
} jp2_boxinfo_t;
/******************************************************************************\

View File

@@ -6,15 +6,15 @@
*/
/* __START_OF_JASPER_LICENSE__
*
*
* JasPer License Version 2.0
*
*
* Copyright (c) 2001-2006 Michael David Adams
* Copyright (c) 1999-2000 Image Power, Inc.
* Copyright (c) 1999-2000 The University of British Columbia
*
*
* All rights reserved.
*
*
* Permission is hereby granted, free of charge, to any person (the
* "User") obtaining a copy of this software and associated documentation
* files (the "Software"), to deal in the Software without restriction,
@@ -22,15 +22,15 @@
* publish, distribute, and/or sell copies of the Software, and to permit
* persons to whom the Software is furnished to do so, subject to the
* following conditions:
*
*
* 1. The above copyright notices and this permission notice (which
* includes the disclaimer below) shall be included in all copies or
* substantial portions of the Software.
*
*
* 2. The name of a copyright holder shall not be used to endorse or
* promote products derived from the Software without specific prior
* written permission.
*
*
* THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS
* LICENSE. NO USE OF THE SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER
* THIS DISCLAIMER. THE SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS
@@ -57,7 +57,7 @@
* PERSONAL INJURY, OR SEVERE PHYSICAL OR ENVIRONMENTAL DAMAGE ("HIGH
* RISK ACTIVITIES"). THE COPYRIGHT HOLDERS SPECIFICALLY DISCLAIM ANY
* EXPRESS OR IMPLIED WARRANTY OF FITNESS FOR HIGH RISK ACTIVITIES.
*
*
* __END_OF_JASPER_LICENSE__
*/
@@ -95,509 +95,509 @@ static int jp2_getct(int colorspace, int type, int assoc);
jas_image_t *jp2_decode(jas_stream_t *in, char *optstr)
{
jp2_box_t *box;
int found;
jas_image_t *image;
jp2_dec_t *dec;
bool samedtype;
int dtype;
unsigned int i;
jp2_cmap_t *cmapd;
jp2_pclr_t *pclrd;
jp2_cdef_t *cdefd;
unsigned int channo;
int newcmptno;
int_fast32_t *lutents;
jp2_box_t *box;
int found;
jas_image_t *image;
jp2_dec_t *dec;
bool samedtype;
int dtype;
unsigned int i;
jp2_cmap_t *cmapd;
jp2_pclr_t *pclrd;
jp2_cdef_t *cdefd;
unsigned int channo;
int newcmptno;
int_fast32_t *lutents;
#if 0
jp2_cdefchan_t *cdefent;
int cmptno;
jp2_cdefchan_t *cdefent;
int cmptno;
#endif
jp2_cmapent_t *cmapent;
jas_icchdr_t icchdr;
jas_iccprof_t *iccprof;
jp2_cmapent_t *cmapent;
jas_icchdr_t icchdr;
jas_iccprof_t *iccprof;
dec = 0;
box = 0;
image = 0;
dec = 0;
box = 0;
image = 0;
if (!(dec = jp2_dec_create())) {
goto error;
}
if (!(dec = jp2_dec_create())) {
goto error;
}
/* Get the first box. This should be a JP box. */
if (!(box = jp2_box_get(in))) {
jas_eprintf("error: cannot get box\n");
goto error;
}
if (box->type != JP2_BOX_JP) {
jas_eprintf("error: expecting signature box\n");
goto error;
}
if (box->data.jp.magic != JP2_JP_MAGIC) {
jas_eprintf("incorrect magic number\n");
goto error;
}
jp2_box_destroy(box);
box = 0;
/* Get the first box. This should be a JP box. */
if (!(box = jp2_box_get(in))) {
jas_eprintf("error: cannot get box\n");
goto error;
}
if (box->type != JP2_BOX_JP) {
jas_eprintf("error: expecting signature box\n");
goto error;
}
if (box->data.jp.magic != JP2_JP_MAGIC) {
jas_eprintf("incorrect magic number\n");
goto error;
}
jp2_box_destroy(box);
box = 0;
/* Get the second box. This should be a FTYP box. */
if (!(box = jp2_box_get(in))) {
goto error;
}
if (box->type != JP2_BOX_FTYP) {
jas_eprintf("expecting file type box\n");
goto error;
}
jp2_box_destroy(box);
box = 0;
/* Get the second box. This should be a FTYP box. */
if (!(box = jp2_box_get(in))) {
goto error;
}
if (box->type != JP2_BOX_FTYP) {
jas_eprintf("expecting file type box\n");
goto error;
}
jp2_box_destroy(box);
box = 0;
/* Get more boxes... */
found = 0;
while ((box = jp2_box_get(in))) {
if (jas_getdbglevel() >= 1) {
jas_eprintf("box type %s\n", box->info->name);
}
switch (box->type) {
case JP2_BOX_JP2C:
found = 1;
break;
case JP2_BOX_IHDR:
if (!dec->ihdr) {
dec->ihdr = box;
box = 0;
}
break;
case JP2_BOX_BPCC:
if (!dec->bpcc) {
dec->bpcc = box;
box = 0;
}
break;
case JP2_BOX_CDEF:
if (!dec->cdef) {
dec->cdef = box;
box = 0;
}
break;
case JP2_BOX_PCLR:
if (!dec->pclr) {
dec->pclr = box;
box = 0;
}
break;
case JP2_BOX_CMAP:
if (!dec->cmap) {
dec->cmap = box;
box = 0;
}
break;
case JP2_BOX_COLR:
if (!dec->colr) {
dec->colr = box;
box = 0;
}
break;
}
if (box) {
jp2_box_destroy(box);
box = 0;
}
if (found) {
break;
}
}
/* Get more boxes... */
found = 0;
while ((box = jp2_box_get(in))) {
if (jas_getdbglevel() >= 1) {
jas_eprintf("box type %s\n", box->info->name);
}
switch (box->type) {
case JP2_BOX_JP2C:
found = 1;
break;
case JP2_BOX_IHDR:
if (!dec->ihdr) {
dec->ihdr = box;
box = 0;
}
break;
case JP2_BOX_BPCC:
if (!dec->bpcc) {
dec->bpcc = box;
box = 0;
}
break;
case JP2_BOX_CDEF:
if (!dec->cdef) {
dec->cdef = box;
box = 0;
}
break;
case JP2_BOX_PCLR:
if (!dec->pclr) {
dec->pclr = box;
box = 0;
}
break;
case JP2_BOX_CMAP:
if (!dec->cmap) {
dec->cmap = box;
box = 0;
}
break;
case JP2_BOX_COLR:
if (!dec->colr) {
dec->colr = box;
box = 0;
}
break;
}
if (box) {
jp2_box_destroy(box);
box = 0;
}
if (found) {
break;
}
}
if (!found) {
jas_eprintf("error: no code stream found\n");
goto error;
}
if (!found) {
jas_eprintf("error: no code stream found\n");
goto error;
}
if (!(dec->image = jpc_decode(in, optstr))) {
jas_eprintf("error: cannot decode code stream\n");
goto error;
}
if (!(dec->image = jpc_decode(in, optstr))) {
jas_eprintf("error: cannot decode code stream\n");
goto error;
}
/* An IHDR box must be present. */
if (!dec->ihdr) {
jas_eprintf("error: missing IHDR box\n");
goto error;
}
/* An IHDR box must be present. */
if (!dec->ihdr) {
jas_eprintf("error: missing IHDR box\n");
goto error;
}
/* Does the number of components indicated in the IHDR box match
the value specified in the code stream? */
if (dec->ihdr->data.ihdr.numcmpts != JAS_CAST(uint, jas_image_numcmpts(dec->image))) {
jas_eprintf("warning: number of components mismatch\n");
}
/* Does the number of components indicated in the IHDR box match
the value specified in the code stream? */
if (dec->ihdr->data.ihdr.numcmpts != JAS_CAST(uint, jas_image_numcmpts(dec->image))) {
jas_eprintf("warning: number of components mismatch\n");
}
/* At least one component must be present. */
if (!jas_image_numcmpts(dec->image)) {
jas_eprintf("error: no components\n");
goto error;
}
/* At least one component must be present. */
if (!jas_image_numcmpts(dec->image)) {
jas_eprintf("error: no components\n");
goto error;
}
/* Determine if all components have the same data type. */
samedtype = true;
dtype = jas_image_cmptdtype(dec->image, 0);
for (i = 1; i < JAS_CAST(uint, jas_image_numcmpts(dec->image)); ++i) {
if (jas_image_cmptdtype(dec->image, i) != dtype) {
samedtype = false;
break;
}
}
/* Determine if all components have the same data type. */
samedtype = true;
dtype = jas_image_cmptdtype(dec->image, 0);
for (i = 1; i < JAS_CAST(uint, jas_image_numcmpts(dec->image)); ++i) {
if (jas_image_cmptdtype(dec->image, i) != dtype) {
samedtype = false;
break;
}
}
/* Is the component data type indicated in the IHDR box consistent
with the data in the code stream? */
if ((samedtype && dec->ihdr->data.ihdr.bpc != JP2_DTYPETOBPC(dtype)) ||
(!samedtype && dec->ihdr->data.ihdr.bpc != JP2_IHDR_BPCNULL)) {
jas_eprintf("warning: component data type mismatch\n");
}
/* Is the component data type indicated in the IHDR box consistent
with the data in the code stream? */
if ((samedtype && dec->ihdr->data.ihdr.bpc != JP2_DTYPETOBPC(dtype)) ||
(!samedtype && dec->ihdr->data.ihdr.bpc != JP2_IHDR_BPCNULL)) {
jas_eprintf("warning: component data type mismatch\n");
}
/* Is the compression type supported? */
if (dec->ihdr->data.ihdr.comptype != JP2_IHDR_COMPTYPE) {
jas_eprintf("error: unsupported compression type\n");
goto error;
}
/* Is the compression type supported? */
if (dec->ihdr->data.ihdr.comptype != JP2_IHDR_COMPTYPE) {
jas_eprintf("error: unsupported compression type\n");
goto error;
}
if (dec->bpcc) {
/* Is the number of components indicated in the BPCC box
consistent with the code stream data? */
if (dec->bpcc->data.bpcc.numcmpts != JAS_CAST(uint, jas_image_numcmpts(
dec->image))) {
jas_eprintf("warning: number of components mismatch\n");
}
/* Is the component data type information indicated in the BPCC
box consistent with the code stream data? */
if (!samedtype) {
for (i = 0; i < JAS_CAST(uint, jas_image_numcmpts(dec->image)); ++i) {
if (jas_image_cmptdtype(dec->image, i) != JP2_BPCTODTYPE(dec->bpcc->data.bpcc.bpcs[i])) {
jas_eprintf("warning: component data type mismatch\n");
}
}
} else {
jas_eprintf("warning: superfluous BPCC box\n");
}
}
if (dec->bpcc) {
/* Is the number of components indicated in the BPCC box
consistent with the code stream data? */
if (dec->bpcc->data.bpcc.numcmpts != JAS_CAST(uint, jas_image_numcmpts(
dec->image))) {
jas_eprintf("warning: number of components mismatch\n");
}
/* Is the component data type information indicated in the BPCC
box consistent with the code stream data? */
if (!samedtype) {
for (i = 0; i < JAS_CAST(uint, jas_image_numcmpts(dec->image)); ++i) {
if (jas_image_cmptdtype(dec->image, i) != JP2_BPCTODTYPE(dec->bpcc->data.bpcc.bpcs[i])) {
jas_eprintf("warning: component data type mismatch\n");
}
}
} else {
jas_eprintf("warning: superfluous BPCC box\n");
}
}
/* A COLR box must be present. */
if (!dec->colr) {
jas_eprintf("error: no COLR box\n");
goto error;
}
/* A COLR box must be present. */
if (!dec->colr) {
jas_eprintf("error: no COLR box\n");
goto error;
}
switch (dec->colr->data.colr.method) {
case JP2_COLR_ENUM:
jas_image_setclrspc(dec->image, jp2_getcs(&dec->colr->data.colr));
break;
case JP2_COLR_ICC:
iccprof = jas_iccprof_createfrombuf(dec->colr->data.colr.iccp,
dec->colr->data.colr.iccplen);
assert(iccprof);
jas_iccprof_gethdr(iccprof, &icchdr);
jas_eprintf("ICC Profile CS %08x\n", icchdr.colorspc);
jas_image_setclrspc(dec->image, fromiccpcs(icchdr.colorspc));
dec->image->cmprof_ = jas_cmprof_createfromiccprof(iccprof);
assert(dec->image->cmprof_);
jas_iccprof_destroy(iccprof);
break;
}
switch (dec->colr->data.colr.method) {
case JP2_COLR_ENUM:
jas_image_setclrspc(dec->image, jp2_getcs(&dec->colr->data.colr));
break;
case JP2_COLR_ICC:
iccprof = jas_iccprof_createfrombuf(dec->colr->data.colr.iccp,
dec->colr->data.colr.iccplen);
assert(iccprof);
jas_iccprof_gethdr(iccprof, &icchdr);
jas_eprintf("ICC Profile CS %08x\n", icchdr.colorspc);
jas_image_setclrspc(dec->image, fromiccpcs(icchdr.colorspc));
dec->image->cmprof_ = jas_cmprof_createfromiccprof(iccprof);
assert(dec->image->cmprof_);
jas_iccprof_destroy(iccprof);
break;
}
/* If a CMAP box is present, a PCLR box must also be present. */
if (dec->cmap && !dec->pclr) {
jas_eprintf("warning: missing PCLR box or superfluous CMAP box\n");
jp2_box_destroy(dec->cmap);
dec->cmap = 0;
}
/* If a CMAP box is present, a PCLR box must also be present. */
if (dec->cmap && !dec->pclr) {
jas_eprintf("warning: missing PCLR box or superfluous CMAP box\n");
jp2_box_destroy(dec->cmap);
dec->cmap = 0;
}
/* If a CMAP box is not present, a PCLR box must not be present. */
if (!dec->cmap && dec->pclr) {
jas_eprintf("warning: missing CMAP box or superfluous PCLR box\n");
jp2_box_destroy(dec->pclr);
dec->pclr = 0;
}
/* If a CMAP box is not present, a PCLR box must not be present. */
if (!dec->cmap && dec->pclr) {
jas_eprintf("warning: missing CMAP box or superfluous PCLR box\n");
jp2_box_destroy(dec->pclr);
dec->pclr = 0;
}
/* Determine the number of channels (which is essentially the number
of components after any palette mappings have been applied). */
dec->numchans = dec->cmap ? dec->cmap->data.cmap.numchans : JAS_CAST(uint, jas_image_numcmpts(dec->image));
/* Determine the number of channels (which is essentially the number
of components after any palette mappings have been applied). */
dec->numchans = dec->cmap ? dec->cmap->data.cmap.numchans : JAS_CAST(uint, jas_image_numcmpts(dec->image));
/* Perform a basic sanity check on the CMAP box if present. */
if (dec->cmap) {
for (i = 0; i < dec->numchans; ++i) {
/* Is the component number reasonable? */
if (dec->cmap->data.cmap.ents[i].cmptno >= JAS_CAST(uint, jas_image_numcmpts(dec->image))) {
jas_eprintf("error: invalid component number in CMAP box\n");
goto error;
}
/* Is the LUT index reasonable? */
if (dec->cmap->data.cmap.ents[i].pcol >= dec->pclr->data.pclr.numchans) {
jas_eprintf("error: invalid CMAP LUT index\n");
goto error;
}
}
}
/* Perform a basic sanity check on the CMAP box if present. */
if (dec->cmap) {
for (i = 0; i < dec->numchans; ++i) {
/* Is the component number reasonable? */
if (dec->cmap->data.cmap.ents[i].cmptno >= JAS_CAST(uint, jas_image_numcmpts(dec->image))) {
jas_eprintf("error: invalid component number in CMAP box\n");
goto error;
}
/* Is the LUT index reasonable? */
if (dec->cmap->data.cmap.ents[i].pcol >= dec->pclr->data.pclr.numchans) {
jas_eprintf("error: invalid CMAP LUT index\n");
goto error;
}
}
}
/* Allocate space for the channel-number to component-number LUT. */
if (!(dec->chantocmptlut = jas_malloc(dec->numchans * sizeof(uint_fast16_t)))) {
jas_eprintf("error: no memory\n");
goto error;
}
/* Allocate space for the channel-number to component-number LUT. */
if (!(dec->chantocmptlut = jas_alloc2(dec->numchans, sizeof(uint_fast16_t)))) {
jas_eprintf("error: no memory\n");
goto error;
}
if (!dec->cmap) {
for (i = 0; i < dec->numchans; ++i) {
dec->chantocmptlut[i] = i;
}
} else {
cmapd = &dec->cmap->data.cmap;
pclrd = &dec->pclr->data.pclr;
cdefd = &dec->cdef->data.cdef;
for (channo = 0; channo < cmapd->numchans; ++channo) {
cmapent = &cmapd->ents[channo];
if (cmapent->map == JP2_CMAP_DIRECT) {
dec->chantocmptlut[channo] = channo;
} else if (cmapent->map == JP2_CMAP_PALETTE) {
lutents = jas_malloc(pclrd->numlutents * sizeof(int_fast32_t));
for (i = 0; i < pclrd->numlutents; ++i) {
lutents[i] = pclrd->lutdata[cmapent->pcol + i * pclrd->numchans];
}
newcmptno = jas_image_numcmpts(dec->image);
jas_image_depalettize(dec->image, cmapent->cmptno, pclrd->numlutents, lutents, JP2_BPCTODTYPE(pclrd->bpc[cmapent->pcol]), newcmptno);
dec->chantocmptlut[channo] = newcmptno;
jas_free(lutents);
if (!dec->cmap) {
for (i = 0; i < dec->numchans; ++i) {
dec->chantocmptlut[i] = i;
}
} else {
cmapd = &dec->cmap->data.cmap;
pclrd = &dec->pclr->data.pclr;
cdefd = &dec->cdef->data.cdef;
for (channo = 0; channo < cmapd->numchans; ++channo) {
cmapent = &cmapd->ents[channo];
if (cmapent->map == JP2_CMAP_DIRECT) {
dec->chantocmptlut[channo] = channo;
} else if (cmapent->map == JP2_CMAP_PALETTE) {
lutents = jas_alloc2(pclrd->numlutents, sizeof(int_fast32_t));
for (i = 0; i < pclrd->numlutents; ++i) {
lutents[i] = pclrd->lutdata[cmapent->pcol + i * pclrd->numchans];
}
newcmptno = jas_image_numcmpts(dec->image);
jas_image_depalettize(dec->image, cmapent->cmptno, pclrd->numlutents, lutents, JP2_BPCTODTYPE(pclrd->bpc[cmapent->pcol]), newcmptno);
dec->chantocmptlut[channo] = newcmptno;
jas_free(lutents);
#if 0
if (dec->cdef) {
cdefent = jp2_cdef_lookup(cdefd, channo);
if (!cdefent) {
abort();
}
jas_image_setcmpttype(dec->image, newcmptno, jp2_getct(jas_image_clrspc(dec->image), cdefent->type, cdefent->assoc));
} else {
jas_image_setcmpttype(dec->image, newcmptno, jp2_getct(jas_image_clrspc(dec->image), 0, channo + 1));
}
if (dec->cdef) {
cdefent = jp2_cdef_lookup(cdefd, channo);
if (!cdefent) {
abort();
}
jas_image_setcmpttype(dec->image, newcmptno, jp2_getct(jas_image_clrspc(dec->image), cdefent->type, cdefent->assoc));
} else {
jas_image_setcmpttype(dec->image, newcmptno, jp2_getct(jas_image_clrspc(dec->image), 0, channo + 1));
}
#endif
}
}
}
}
}
}
/* Mark all components as being of unknown type. */
/* Mark all components as being of unknown type. */
for (i = 0; i < JAS_CAST(uint, jas_image_numcmpts(dec->image)); ++i) {
jas_image_setcmpttype(dec->image, i, JAS_IMAGE_CT_UNKNOWN);
}
for (i = 0; i < JAS_CAST(uint, jas_image_numcmpts(dec->image)); ++i) {
jas_image_setcmpttype(dec->image, i, JAS_IMAGE_CT_UNKNOWN);
}
/* Determine the type of each component. */
if (dec->cdef) {
for (i = 0; i < dec->numchans; ++i) {
jas_image_setcmpttype(dec->image,
dec->chantocmptlut[dec->cdef->data.cdef.ents[i].channo],
jp2_getct(jas_image_clrspc(dec->image),
dec->cdef->data.cdef.ents[i].type, dec->cdef->data.cdef.ents[i].assoc));
}
} else {
for (i = 0; i < dec->numchans; ++i) {
jas_image_setcmpttype(dec->image, dec->chantocmptlut[i],
jp2_getct(jas_image_clrspc(dec->image), 0, i + 1));
}
}
/* Determine the type of each component. */
if (dec->cdef) {
for (i = 0; i < dec->numchans; ++i) {
jas_image_setcmpttype(dec->image,
dec->chantocmptlut[dec->cdef->data.cdef.ents[i].channo],
jp2_getct(jas_image_clrspc(dec->image),
dec->cdef->data.cdef.ents[i].type, dec->cdef->data.cdef.ents[i].assoc));
}
} else {
for (i = 0; i < dec->numchans; ++i) {
jas_image_setcmpttype(dec->image, dec->chantocmptlut[i],
jp2_getct(jas_image_clrspc(dec->image), 0, i + 1));
}
}
/* Delete any components that are not of interest. */
for (i = jas_image_numcmpts(dec->image); i > 0; --i) {
if (jas_image_cmpttype(dec->image, i - 1) == JAS_IMAGE_CT_UNKNOWN) {
jas_image_delcmpt(dec->image, i - 1);
}
}
/* Delete any components that are not of interest. */
for (i = jas_image_numcmpts(dec->image); i > 0; --i) {
if (jas_image_cmpttype(dec->image, i - 1) == JAS_IMAGE_CT_UNKNOWN) {
jas_image_delcmpt(dec->image, i - 1);
}
}
/* Ensure that some components survived. */
if (!jas_image_numcmpts(dec->image)) {
jas_eprintf("error: no components\n");
goto error;
}
/* Ensure that some components survived. */
if (!jas_image_numcmpts(dec->image)) {
jas_eprintf("error: no components\n");
goto error;
}
#if 0
jas_eprintf("no of components is %d\n", jas_image_numcmpts(dec->image));
#endif
/* Prevent the image from being destroyed later. */
image = dec->image;
dec->image = 0;
/* Prevent the image from being destroyed later. */
image = dec->image;
dec->image = 0;
jp2_dec_destroy(dec);
jp2_dec_destroy(dec);
return image;
return image;
error:
if (box) {
jp2_box_destroy(box);
}
if (dec) {
jp2_dec_destroy(dec);
}
return 0;
if (box) {
jp2_box_destroy(box);
}
if (dec) {
jp2_dec_destroy(dec);
}
return 0;
}
int jp2_validate(jas_stream_t *in)
{
char buf[JP2_VALIDATELEN];
int i;
int n;
char buf[JP2_VALIDATELEN];
int i;
int n;
#if 0
jas_stream_t *tmpstream;
jp2_box_t *box;
jas_stream_t *tmpstream;
jp2_box_t *box;
#endif
assert(JAS_STREAM_MAXPUTBACK >= JP2_VALIDATELEN);
assert(JAS_STREAM_MAXPUTBACK >= JP2_VALIDATELEN);
/* Read the validation data (i.e., the data used for detecting
the format). */
if ((n = jas_stream_read(in, buf, JP2_VALIDATELEN)) < 0) {
return -1;
}
/* Read the validation data (i.e., the data used for detecting
the format). */
if ((n = jas_stream_read(in, buf, JP2_VALIDATELEN)) < 0) {
return -1;
}
/* Put the validation data back onto the stream, so that the
stream position will not be changed. */
for (i = n - 1; i >= 0; --i) {
if (jas_stream_ungetc(in, buf[i]) == EOF) {
return -1;
}
}
/* Put the validation data back onto the stream, so that the
stream position will not be changed. */
for (i = n - 1; i >= 0; --i) {
if (jas_stream_ungetc(in, buf[i]) == EOF) {
return -1;
}
}
/* Did we read enough data? */
if (n < JP2_VALIDATELEN) {
return -1;
}
/* Did we read enough data? */
if (n < JP2_VALIDATELEN) {
return -1;
}
/* Is the box type correct? */
if (((buf[4] << 24) | (buf[5] << 16) | (buf[6] << 8) | buf[7]) !=
JP2_BOX_JP)
{
return -1;
}
/* Is the box type correct? */
if (((buf[4] << 24) | (buf[5] << 16) | (buf[6] << 8) | buf[7]) !=
JP2_BOX_JP)
{
return -1;
}
return 0;
return 0;
}
static jp2_dec_t *jp2_dec_create(void)
{
jp2_dec_t *dec;
jp2_dec_t *dec;
if (!(dec = jas_malloc(sizeof(jp2_dec_t)))) {
return 0;
}
dec->ihdr = 0;
dec->bpcc = 0;
dec->cdef = 0;
dec->pclr = 0;
dec->image = 0;
dec->chantocmptlut = 0;
dec->cmap = 0;
dec->colr = 0;
return dec;
if (!(dec = jas_malloc(sizeof(jp2_dec_t)))) {
return 0;
}
dec->ihdr = 0;
dec->bpcc = 0;
dec->cdef = 0;
dec->pclr = 0;
dec->image = 0;
dec->chantocmptlut = 0;
dec->cmap = 0;
dec->colr = 0;
return dec;
}
static void jp2_dec_destroy(jp2_dec_t *dec)
{
if (dec->ihdr) {
jp2_box_destroy(dec->ihdr);
}
if (dec->bpcc) {
jp2_box_destroy(dec->bpcc);
}
if (dec->cdef) {
jp2_box_destroy(dec->cdef);
}
if (dec->pclr) {
jp2_box_destroy(dec->pclr);
}
if (dec->image) {
jas_image_destroy(dec->image);
}
if (dec->cmap) {
jp2_box_destroy(dec->cmap);
}
if (dec->colr) {
jp2_box_destroy(dec->colr);
}
if (dec->chantocmptlut) {
jas_free(dec->chantocmptlut);
}
jas_free(dec);
if (dec->ihdr) {
jp2_box_destroy(dec->ihdr);
}
if (dec->bpcc) {
jp2_box_destroy(dec->bpcc);
}
if (dec->cdef) {
jp2_box_destroy(dec->cdef);
}
if (dec->pclr) {
jp2_box_destroy(dec->pclr);
}
if (dec->image) {
jas_image_destroy(dec->image);
}
if (dec->cmap) {
jp2_box_destroy(dec->cmap);
}
if (dec->colr) {
jp2_box_destroy(dec->colr);
}
if (dec->chantocmptlut) {
jas_free(dec->chantocmptlut);
}
jas_free(dec);
}
static int jp2_getct(int colorspace, int type, int assoc)
{
if (type == 1 && assoc == 0) {
return JAS_IMAGE_CT_OPACITY;
}
if (type == 0 && assoc >= 1 && assoc <= 65534) {
switch (colorspace) {
case JAS_CLRSPC_FAM_RGB:
switch (assoc) {
case JP2_CDEF_RGB_R:
return JAS_IMAGE_CT_COLOR(JAS_CLRSPC_CHANIND_RGB_R);
break;
case JP2_CDEF_RGB_G:
return JAS_IMAGE_CT_COLOR(JAS_CLRSPC_CHANIND_RGB_G);
break;
case JP2_CDEF_RGB_B:
return JAS_IMAGE_CT_COLOR(JAS_CLRSPC_CHANIND_RGB_B);
break;
}
break;
case JAS_CLRSPC_FAM_YCBCR:
switch (assoc) {
case JP2_CDEF_YCBCR_Y:
return JAS_IMAGE_CT_COLOR(JAS_CLRSPC_CHANIND_YCBCR_Y);
break;
case JP2_CDEF_YCBCR_CB:
return JAS_IMAGE_CT_COLOR(JAS_CLRSPC_CHANIND_YCBCR_CB);
break;
case JP2_CDEF_YCBCR_CR:
return JAS_IMAGE_CT_COLOR(JAS_CLRSPC_CHANIND_YCBCR_CR);
break;
}
break;
case JAS_CLRSPC_FAM_GRAY:
switch (assoc) {
case JP2_CDEF_GRAY_Y:
return JAS_IMAGE_CT_COLOR(JAS_CLRSPC_CHANIND_GRAY_Y);
break;
}
break;
default:
return JAS_IMAGE_CT_COLOR(assoc - 1);
break;
}
}
return JAS_IMAGE_CT_UNKNOWN;
if (type == 1 && assoc == 0) {
return JAS_IMAGE_CT_OPACITY;
}
if (type == 0 && assoc >= 1 && assoc <= 65534) {
switch (colorspace) {
case JAS_CLRSPC_FAM_RGB:
switch (assoc) {
case JP2_CDEF_RGB_R:
return JAS_IMAGE_CT_COLOR(JAS_CLRSPC_CHANIND_RGB_R);
break;
case JP2_CDEF_RGB_G:
return JAS_IMAGE_CT_COLOR(JAS_CLRSPC_CHANIND_RGB_G);
break;
case JP2_CDEF_RGB_B:
return JAS_IMAGE_CT_COLOR(JAS_CLRSPC_CHANIND_RGB_B);
break;
}
break;
case JAS_CLRSPC_FAM_YCBCR:
switch (assoc) {
case JP2_CDEF_YCBCR_Y:
return JAS_IMAGE_CT_COLOR(JAS_CLRSPC_CHANIND_YCBCR_Y);
break;
case JP2_CDEF_YCBCR_CB:
return JAS_IMAGE_CT_COLOR(JAS_CLRSPC_CHANIND_YCBCR_CB);
break;
case JP2_CDEF_YCBCR_CR:
return JAS_IMAGE_CT_COLOR(JAS_CLRSPC_CHANIND_YCBCR_CR);
break;
}
break;
case JAS_CLRSPC_FAM_GRAY:
switch (assoc) {
case JP2_CDEF_GRAY_Y:
return JAS_IMAGE_CT_COLOR(JAS_CLRSPC_CHANIND_GRAY_Y);
break;
}
break;
default:
return JAS_IMAGE_CT_COLOR(assoc - 1);
break;
}
}
return JAS_IMAGE_CT_UNKNOWN;
}
static int jp2_getcs(jp2_colr_t *colr)
{
if (colr->method == JP2_COLR_ENUM) {
switch (colr->csid) {
case JP2_COLR_SRGB:
return JAS_CLRSPC_SRGB;
break;
case JP2_COLR_SYCC:
return JAS_CLRSPC_SYCBCR;
break;
case JP2_COLR_SGRAY:
return JAS_CLRSPC_SGRAY;
break;
}
}
return JAS_CLRSPC_UNKNOWN;
if (colr->method == JP2_COLR_ENUM) {
switch (colr->csid) {
case JP2_COLR_SRGB:
return JAS_CLRSPC_SRGB;
break;
case JP2_COLR_SYCC:
return JAS_CLRSPC_SYCBCR;
break;
case JP2_COLR_SGRAY:
return JAS_CLRSPC_SGRAY;
break;
}
}
return JAS_CLRSPC_UNKNOWN;
}
static int fromiccpcs(int cs)
{
switch (cs) {
case ICC_CS_RGB:
return JAS_CLRSPC_GENRGB;
break;
case ICC_CS_YCBCR:
return JAS_CLRSPC_GENYCBCR;
break;
case ICC_CS_GRAY:
return JAS_CLRSPC_GENGRAY;
break;
}
return JAS_CLRSPC_UNKNOWN;
switch (cs) {
case ICC_CS_RGB:
return JAS_CLRSPC_GENRGB;
break;
case ICC_CS_YCBCR:
return JAS_CLRSPC_GENYCBCR;
break;
case ICC_CS_GRAY:
return JAS_CLRSPC_GENGRAY;
break;
}
return JAS_CLRSPC_UNKNOWN;
}

View File

@@ -6,15 +6,15 @@
*/
/* __START_OF_JASPER_LICENSE__
*
*
* JasPer License Version 2.0
*
*
* Copyright (c) 2001-2006 Michael David Adams
* Copyright (c) 1999-2000 Image Power, Inc.
* Copyright (c) 1999-2000 The University of British Columbia
*
*
* All rights reserved.
*
*
* Permission is hereby granted, free of charge, to any person (the
* "User") obtaining a copy of this software and associated documentation
* files (the "Software"), to deal in the Software without restriction,
@@ -22,15 +22,15 @@
* publish, distribute, and/or sell copies of the Software, and to permit
* persons to whom the Software is furnished to do so, subject to the
* following conditions:
*
*
* 1. The above copyright notices and this permission notice (which
* includes the disclaimer below) shall be included in all copies or
* substantial portions of the Software.
*
*
* 2. The name of a copyright holder shall not be used to endorse or
* promote products derived from the Software without specific prior
* written permission.
*
*
* THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS
* LICENSE. NO USE OF THE SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER
* THIS DISCLAIMER. THE SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS
@@ -57,7 +57,7 @@
* PERSONAL INJURY, OR SEVERE PHYSICAL OR ENVIRONMENTAL DAMAGE ("HIGH
* RISK ACTIVITIES"). THE COPYRIGHT HOLDERS SPECIFICALLY DISCLAIM ANY
* EXPRESS OR IMPLIED WARRANTY OF FITNESS FOR HIGH RISK ACTIVITIES.
*
*
* __END_OF_JASPER_LICENSE__
*/
@@ -70,15 +70,15 @@
typedef struct {
jp2_box_t *pclr;
jp2_box_t *cdef;
jp2_box_t *ihdr;
jp2_box_t *bpcc;
jp2_box_t *cmap;
jp2_box_t *colr;
jas_image_t *image;
uint_fast16_t numchans;
uint_fast16_t *chantocmptlut;
jp2_box_t *pclr;
jp2_box_t *cdef;
jp2_box_t *ihdr;
jp2_box_t *bpcc;
jp2_box_t *cmap;
jp2_box_t *colr;
jas_image_t *image;
uint_fast16_t numchans;
uint_fast16_t *chantocmptlut;
} jp2_dec_t;

View File

@@ -5,16 +5,21 @@
* All rights reserved.
*/
/*
* Modified by Andrey Kiselev <dron@remotesensing.org> to handle UUID
* box properly.
*/
/* __START_OF_JASPER_LICENSE__
*
*
* JasPer License Version 2.0
*
*
* Copyright (c) 2001-2006 Michael David Adams
* Copyright (c) 1999-2000 Image Power, Inc.
* Copyright (c) 1999-2000 The University of British Columbia
*
*
* All rights reserved.
*
*
* Permission is hereby granted, free of charge, to any person (the
* "User") obtaining a copy of this software and associated documentation
* files (the "Software"), to deal in the Software without restriction,
@@ -22,15 +27,15 @@
* publish, distribute, and/or sell copies of the Software, and to permit
* persons to whom the Software is furnished to do so, subject to the
* following conditions:
*
*
* 1. The above copyright notices and this permission notice (which
* includes the disclaimer below) shall be included in all copies or
* substantial portions of the Software.
*
*
* 2. The name of a copyright holder shall not be used to endorse or
* promote products derived from the Software without specific prior
* written permission.
*
*
* THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS
* LICENSE. NO USE OF THE SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER
* THIS DISCLAIMER. THE SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS
@@ -57,7 +62,7 @@
* PERSONAL INJURY, OR SEVERE PHYSICAL OR ENVIRONMENTAL DAMAGE ("HIGH
* RISK ACTIVITIES"). THE COPYRIGHT HOLDERS SPECIFICALLY DISCLAIM ANY
* EXPRESS OR IMPLIED WARRANTY OF FITNESS FOR HIGH RISK ACTIVITIES.
*
*
* __END_OF_JASPER_LICENSE__
*/
@@ -86,23 +91,21 @@ static int clrspctojp2(jas_clrspc_t clrspc);
* Functions.
\******************************************************************************/
int jp2_encode(jas_image_t *image, jas_stream_t *out, char *optstr)
int jp2_write_header(jas_image_t *image, jas_stream_t *out)
{
jp2_box_t *box;
jp2_ftyp_t *ftyp;
jp2_ihdr_t *ihdr;
jas_stream_t *tmpstream;
int allcmptssame;
jp2_bpcc_t *bpcc;
long len;
uint_fast16_t cmptno;
jp2_colr_t *colr;
char buf[4096];
uint_fast32_t overhead;
jp2_cdefchan_t *cdefchanent;
jp2_cdef_t *cdef;
int i;
uint_fast32_t typeasoc;
jp2_box_t *box;
jp2_ftyp_t *ftyp;
jp2_ihdr_t *ihdr;
jas_stream_t *tmpstream;
int allcmptssame;
jp2_bpcc_t *bpcc;
long len;
uint_fast16_t cmptno;
jp2_colr_t *colr;
jp2_cdefchan_t *cdefchanent;
jp2_cdef_t *cdef;
int i;
uint_fast32_t typeasoc;
jas_iccprof_t *iccprof;
jas_stream_t *iccstream;
int pos;
@@ -110,327 +113,369 @@ int needcdef;
int prec;
int sgnd;
box = 0;
tmpstream = 0;
box = 0;
tmpstream = 0;
allcmptssame = 1;
sgnd = jas_image_cmptsgnd(image, 0);
prec = jas_image_cmptprec(image, 0);
for (i = 1; i < jas_image_numcmpts(image); ++i) {
if (jas_image_cmptsgnd(image, i) != sgnd ||
jas_image_cmptprec(image, i) != prec) {
allcmptssame = 0;
break;
}
}
allcmptssame = 1;
sgnd = jas_image_cmptsgnd(image, 0);
prec = jas_image_cmptprec(image, 0);
for (i = 1; i < jas_image_numcmpts(image); ++i) {
if (jas_image_cmptsgnd(image, i) != sgnd ||
jas_image_cmptprec(image, i) != prec) {
allcmptssame = 0;
break;
}
}
/* Output the signature box. */
/* Output the signature box. */
if (!(box = jp2_box_create(JP2_BOX_JP))) {
goto error;
}
box->data.jp.magic = JP2_JP_MAGIC;
if (jp2_box_put(box, out)) {
goto error;
}
jp2_box_destroy(box);
box = 0;
if (!(box = jp2_box_create(JP2_BOX_JP))) {
goto error;
}
box->data.jp.magic = JP2_JP_MAGIC;
if (jp2_box_put(box, out)) {
goto error;
}
jp2_box_destroy(box);
box = 0;
/* Output the file type box. */
/* Output the file type box. */
if (!(box = jp2_box_create(JP2_BOX_FTYP))) {
goto error;
}
ftyp = &box->data.ftyp;
ftyp->majver = JP2_FTYP_MAJVER;
ftyp->minver = JP2_FTYP_MINVER;
ftyp->numcompatcodes = 1;
ftyp->compatcodes[0] = JP2_FTYP_COMPATCODE;
if (jp2_box_put(box, out)) {
goto error;
}
jp2_box_destroy(box);
box = 0;
if (!(box = jp2_box_create(JP2_BOX_FTYP))) {
goto error;
}
ftyp = &box->data.ftyp;
ftyp->majver = JP2_FTYP_MAJVER;
ftyp->minver = JP2_FTYP_MINVER;
ftyp->numcompatcodes = 1;
ftyp->compatcodes[0] = JP2_FTYP_COMPATCODE;
if (jp2_box_put(box, out)) {
goto error;
}
jp2_box_destroy(box);
box = 0;
/*
* Generate the data portion of the JP2 header box.
* We cannot simply output the header for this box
* since we do not yet know the correct value for the length
* field.
*/
/*
* Generate the data portion of the JP2 header box.
* We cannot simply output the header for this box
* since we do not yet know the correct value for the length
* field.
*/
if (!(tmpstream = jas_stream_memopen(0, 0))) {
goto error;
}
if (!(tmpstream = jas_stream_memopen(0, 0))) {
goto error;
}
/* Generate image header box. */
/* Generate image header box. */
if (!(box = jp2_box_create(JP2_BOX_IHDR))) {
goto error;
}
ihdr = &box->data.ihdr;
ihdr->width = jas_image_width(image);
ihdr->height = jas_image_height(image);
ihdr->numcmpts = jas_image_numcmpts(image);
ihdr->bpc = allcmptssame ? JP2_SPTOBPC(jas_image_cmptsgnd(image, 0),
jas_image_cmptprec(image, 0)) : JP2_IHDR_BPCNULL;
ihdr->comptype = JP2_IHDR_COMPTYPE;
ihdr->csunk = 0;
ihdr->ipr = 0;
if (jp2_box_put(box, tmpstream)) {
goto error;
}
jp2_box_destroy(box);
box = 0;
if (!(box = jp2_box_create(JP2_BOX_IHDR))) {
goto error;
}
ihdr = &box->data.ihdr;
ihdr->width = jas_image_width(image);
ihdr->height = jas_image_height(image);
ihdr->numcmpts = jas_image_numcmpts(image);
ihdr->bpc = allcmptssame ? JP2_SPTOBPC(jas_image_cmptsgnd(image, 0),
jas_image_cmptprec(image, 0)) : JP2_IHDR_BPCNULL;
ihdr->comptype = JP2_IHDR_COMPTYPE;
ihdr->csunk = 0;
ihdr->ipr = 0;
if (jp2_box_put(box, tmpstream)) {
goto error;
}
jp2_box_destroy(box);
box = 0;
/* Generate bits per component box. */
/* Generate bits per component box. */
if (!allcmptssame) {
if (!(box = jp2_box_create(JP2_BOX_BPCC))) {
goto error;
}
bpcc = &box->data.bpcc;
bpcc->numcmpts = jas_image_numcmpts(image);
if (!(bpcc->bpcs = jas_malloc(bpcc->numcmpts *
sizeof(uint_fast8_t)))) {
goto error;
}
for (cmptno = 0; cmptno < bpcc->numcmpts; ++cmptno) {
bpcc->bpcs[cmptno] = JP2_SPTOBPC(jas_image_cmptsgnd(image,
cmptno), jas_image_cmptprec(image, cmptno));
}
if (jp2_box_put(box, tmpstream)) {
goto error;
}
jp2_box_destroy(box);
box = 0;
}
if (!allcmptssame) {
if (!(box = jp2_box_create(JP2_BOX_BPCC))) {
goto error;
}
bpcc = &box->data.bpcc;
bpcc->numcmpts = jas_image_numcmpts(image);
if (!(bpcc->bpcs = jas_alloc2(bpcc->numcmpts,
sizeof(uint_fast8_t)))) {
goto error;
}
for (cmptno = 0; cmptno < bpcc->numcmpts; ++cmptno) {
bpcc->bpcs[cmptno] = JP2_SPTOBPC(jas_image_cmptsgnd(image,
cmptno), jas_image_cmptprec(image, cmptno));
}
if (jp2_box_put(box, tmpstream)) {
goto error;
}
jp2_box_destroy(box);
box = 0;
}
/* Generate color specification box. */
/* Generate color specification box. */
if (!(box = jp2_box_create(JP2_BOX_COLR))) {
goto error;
}
colr = &box->data.colr;
switch (jas_image_clrspc(image)) {
case JAS_CLRSPC_SRGB:
case JAS_CLRSPC_SYCBCR:
case JAS_CLRSPC_SGRAY:
colr->method = JP2_COLR_ENUM;
colr->csid = clrspctojp2(jas_image_clrspc(image));
colr->pri = JP2_COLR_PRI;
colr->approx = 0;
break;
default:
colr->method = JP2_COLR_ICC;
colr->pri = JP2_COLR_PRI;
colr->approx = 0;
iccprof = jas_iccprof_createfromcmprof(jas_image_cmprof(image));
assert(iccprof);
iccstream = jas_stream_memopen(0, 0);
assert(iccstream);
if (jas_iccprof_save(iccprof, iccstream))
abort();
if ((pos = jas_stream_tell(iccstream)) < 0)
abort();
colr->iccplen = pos;
colr->iccp = jas_malloc(pos);
assert(colr->iccp);
jas_stream_rewind(iccstream);
if (jas_stream_read(iccstream, colr->iccp, colr->iccplen) != colr->iccplen)
abort();
jas_stream_close(iccstream);
jas_iccprof_destroy(iccprof);
break;
}
if (jp2_box_put(box, tmpstream)) {
goto error;
}
jp2_box_destroy(box);
box = 0;
if (!(box = jp2_box_create(JP2_BOX_COLR))) {
goto error;
}
colr = &box->data.colr;
switch (jas_image_clrspc(image)) {
case JAS_CLRSPC_SRGB:
case JAS_CLRSPC_SYCBCR:
case JAS_CLRSPC_SGRAY:
colr->method = JP2_COLR_ENUM;
colr->csid = clrspctojp2(jas_image_clrspc(image));
colr->pri = JP2_COLR_PRI;
colr->approx = 0;
break;
default:
colr->method = JP2_COLR_ICC;
colr->pri = JP2_COLR_PRI;
colr->approx = 0;
iccprof = jas_iccprof_createfromcmprof(jas_image_cmprof(image));
assert(iccprof);
iccstream = jas_stream_memopen(0, 0);
assert(iccstream);
if (jas_iccprof_save(iccprof, iccstream))
abort();
if ((pos = jas_stream_tell(iccstream)) < 0)
abort();
colr->iccplen = pos;
colr->iccp = jas_malloc(pos);
assert(colr->iccp);
jas_stream_rewind(iccstream);
if (jas_stream_read(iccstream, colr->iccp, colr->iccplen) != colr->iccplen)
abort();
jas_stream_close(iccstream);
jas_iccprof_destroy(iccprof);
break;
}
if (jp2_box_put(box, tmpstream)) {
goto error;
}
jp2_box_destroy(box);
box = 0;
needcdef = 1;
switch (jas_clrspc_fam(jas_image_clrspc(image))) {
case JAS_CLRSPC_FAM_RGB:
if (jas_image_cmpttype(image, 0) ==
JAS_IMAGE_CT_COLOR(JAS_CLRSPC_CHANIND_RGB_R) &&
jas_image_cmpttype(image, 1) ==
JAS_IMAGE_CT_COLOR(JAS_CLRSPC_CHANIND_RGB_G) &&
jas_image_cmpttype(image, 2) ==
JAS_IMAGE_CT_COLOR(JAS_CLRSPC_CHANIND_RGB_B))
needcdef = 0;
break;
case JAS_CLRSPC_FAM_YCBCR:
if (jas_image_cmpttype(image, 0) ==
JAS_IMAGE_CT_COLOR(JAS_CLRSPC_CHANIND_YCBCR_Y) &&
jas_image_cmpttype(image, 1) ==
JAS_IMAGE_CT_COLOR(JAS_CLRSPC_CHANIND_YCBCR_CB) &&
jas_image_cmpttype(image, 2) ==
JAS_IMAGE_CT_COLOR(JAS_CLRSPC_CHANIND_YCBCR_CR))
needcdef = 0;
break;
case JAS_CLRSPC_FAM_GRAY:
if (jas_image_cmpttype(image, 0) ==
JAS_IMAGE_CT_COLOR(JAS_IMAGE_CT_GRAY_Y))
needcdef = 0;
break;
default:
abort();
break;
}
needcdef = 1;
switch (jas_clrspc_fam(jas_image_clrspc(image))) {
case JAS_CLRSPC_FAM_RGB:
if (jas_image_cmpttype(image, 0) ==
JAS_IMAGE_CT_COLOR(JAS_CLRSPC_CHANIND_RGB_R) &&
jas_image_cmpttype(image, 1) ==
JAS_IMAGE_CT_COLOR(JAS_CLRSPC_CHANIND_RGB_G) &&
jas_image_cmpttype(image, 2) ==
JAS_IMAGE_CT_COLOR(JAS_CLRSPC_CHANIND_RGB_B))
needcdef = 0;
break;
case JAS_CLRSPC_FAM_YCBCR:
if (jas_image_cmpttype(image, 0) ==
JAS_IMAGE_CT_COLOR(JAS_CLRSPC_CHANIND_YCBCR_Y) &&
jas_image_cmpttype(image, 1) ==
JAS_IMAGE_CT_COLOR(JAS_CLRSPC_CHANIND_YCBCR_CB) &&
jas_image_cmpttype(image, 2) ==
JAS_IMAGE_CT_COLOR(JAS_CLRSPC_CHANIND_YCBCR_CR))
needcdef = 0;
break;
case JAS_CLRSPC_FAM_GRAY:
if (jas_image_cmpttype(image, 0) ==
JAS_IMAGE_CT_COLOR(JAS_IMAGE_CT_GRAY_Y))
needcdef = 0;
break;
default:
abort();
break;
}
if (needcdef) {
if (!(box = jp2_box_create(JP2_BOX_CDEF))) {
goto error;
}
cdef = &box->data.cdef;
cdef->numchans = jas_image_numcmpts(image);
cdef->ents = jas_malloc(cdef->numchans * sizeof(jp2_cdefchan_t));
for (i = 0; i < jas_image_numcmpts(image); ++i) {
cdefchanent = &cdef->ents[i];
cdefchanent->channo = i;
typeasoc = jp2_gettypeasoc(jas_image_clrspc(image), jas_image_cmpttype(image, i));
cdefchanent->type = typeasoc >> 16;
cdefchanent->assoc = typeasoc & 0x7fff;
}
if (jp2_box_put(box, tmpstream)) {
goto error;
}
jp2_box_destroy(box);
box = 0;
}
if (needcdef) {
if (!(box = jp2_box_create(JP2_BOX_CDEF))) {
goto error;
}
cdef = &box->data.cdef;
cdef->numchans = jas_image_numcmpts(image);
cdef->ents = jas_alloc2(cdef->numchans, sizeof(jp2_cdefchan_t));
for (i = 0; i < jas_image_numcmpts(image); ++i) {
cdefchanent = &cdef->ents[i];
cdefchanent->channo = i;
typeasoc = jp2_gettypeasoc(jas_image_clrspc(image), jas_image_cmpttype(image, i));
cdefchanent->type = typeasoc >> 16;
cdefchanent->assoc = typeasoc & 0x7fff;
}
if (jp2_box_put(box, tmpstream)) {
goto error;
}
jp2_box_destroy(box);
box = 0;
}
/* Determine the total length of the JP2 header box. */
/* Determine the total length of the JP2 header box. */
len = jas_stream_tell(tmpstream);
jas_stream_rewind(tmpstream);
len = jas_stream_tell(tmpstream);
jas_stream_rewind(tmpstream);
/*
* Output the JP2 header box and all of the boxes which it contains.
*/
/*
* Output the JP2 header box and all of the boxes which it contains.
*/
if (!(box = jp2_box_create(JP2_BOX_JP2H))) {
goto error;
}
box->len = len + JP2_BOX_HDRLEN(false);
if (jp2_box_put(box, out)) {
goto error;
}
jp2_box_destroy(box);
box = 0;
if (!(box = jp2_box_create(JP2_BOX_JP2H))) {
goto error;
}
box->len = len + JP2_BOX_HDRLEN(false);
if (jp2_box_put(box, out)) {
goto error;
}
jp2_box_destroy(box);
box = 0;
if (jas_stream_copy(out, tmpstream, len)) {
goto error;
}
if (jas_stream_copy(out, tmpstream, len)) {
goto error;
}
jas_stream_close(tmpstream);
tmpstream = 0;
jas_stream_close(tmpstream);
tmpstream = 0;
/*
* Output the contiguous code stream box.
*/
if (!(box = jp2_box_create(JP2_BOX_JP2C))) {
goto error;
}
box->len = 0;
if (jp2_box_put(box, out)) {
goto error;
}
jp2_box_destroy(box);
box = 0;
/* Output the JPEG-2000 code stream. */
overhead = jas_stream_getrwcount(out);
sprintf(buf, "%s\n_jp2overhead=%lu\n", (optstr ? optstr : ""),
(unsigned long) overhead);
if (jpc_encode(image, out, buf)) {
goto error;
}
return 0;
abort();
return 0;
abort();
error:
if (box) {
jp2_box_destroy(box);
}
if (tmpstream) {
jas_stream_close(tmpstream);
}
return -1;
if (box) {
jp2_box_destroy(box);
}
if (tmpstream) {
jas_stream_close(tmpstream);
}
return -1;
}
int jp2_write_codestream(jas_image_t *image, jas_stream_t *out, char *optstr)
{
jp2_box_t *box;
char buf[4096];
uint_fast32_t overhead;
/*
* Output the contiguous code stream box.
*/
if (!(box = jp2_box_create(JP2_BOX_JP2C))) {
goto error;
}
box->len = 0;
if (jp2_box_put(box, out)) {
goto error;
}
jp2_box_destroy(box);
box = 0;
/* Output the JPEG-2000 code stream. */
overhead = jas_stream_getrwcount(out);
sprintf(buf, "%s\n_jp2overhead=%lu\n", (optstr ? optstr : ""),
(unsigned long) overhead);
if (jpc_encode(image, out, buf)) {
goto error;
}
return 0;
abort();
error:
if (box) {
jp2_box_destroy(box);
}
return -1;
}
int jp2_encode(jas_image_t *image, jas_stream_t *out, char *optstr)
{
if (jp2_write_header(image, out) < 0)
return -1;
if (jp2_write_codestream(image, out, optstr) < 0)
return -1;
return 0;
}
int jp2_encode_uuid(jas_image_t *image, jas_stream_t *out,
char *optstr, jp2_box_t *uuid)
{
if (jp2_write_header(image, out) < 0)
return -1;
if (uuid) {
if (jp2_box_put(uuid, out))
return -1;
}
if (jp2_write_codestream(image, out, optstr) < 0)
return -1;
return 0;
}
static uint_fast32_t jp2_gettypeasoc(int colorspace, int ctype)
{
int type;
int asoc;
int type;
int asoc;
if (ctype & JAS_IMAGE_CT_OPACITY) {
type = JP2_CDEF_TYPE_OPACITY;
asoc = JP2_CDEF_ASOC_ALL;
goto done;
}
if (ctype & JAS_IMAGE_CT_OPACITY) {
type = JP2_CDEF_TYPE_OPACITY;
asoc = JP2_CDEF_ASOC_ALL;
goto done;
}
type = JP2_CDEF_TYPE_UNSPEC;
asoc = JP2_CDEF_ASOC_NONE;
switch (jas_clrspc_fam(colorspace)) {
case JAS_CLRSPC_FAM_RGB:
switch (JAS_IMAGE_CT_COLOR(ctype)) {
case JAS_IMAGE_CT_RGB_R:
type = JP2_CDEF_TYPE_COLOR;
asoc = JP2_CDEF_RGB_R;
break;
case JAS_IMAGE_CT_RGB_G:
type = JP2_CDEF_TYPE_COLOR;
asoc = JP2_CDEF_RGB_G;
break;
case JAS_IMAGE_CT_RGB_B:
type = JP2_CDEF_TYPE_COLOR;
asoc = JP2_CDEF_RGB_B;
break;
}
break;
case JAS_CLRSPC_FAM_YCBCR:
switch (JAS_IMAGE_CT_COLOR(ctype)) {
case JAS_IMAGE_CT_YCBCR_Y:
type = JP2_CDEF_TYPE_COLOR;
asoc = JP2_CDEF_YCBCR_Y;
break;
case JAS_IMAGE_CT_YCBCR_CB:
type = JP2_CDEF_TYPE_COLOR;
asoc = JP2_CDEF_YCBCR_CB;
break;
case JAS_IMAGE_CT_YCBCR_CR:
type = JP2_CDEF_TYPE_COLOR;
asoc = JP2_CDEF_YCBCR_CR;
break;
}
break;
case JAS_CLRSPC_FAM_GRAY:
type = JP2_CDEF_TYPE_COLOR;
asoc = JP2_CDEF_GRAY_Y;
break;
}
type = JP2_CDEF_TYPE_UNSPEC;
asoc = JP2_CDEF_ASOC_NONE;
switch (jas_clrspc_fam(colorspace)) {
case JAS_CLRSPC_FAM_RGB:
switch (JAS_IMAGE_CT_COLOR(ctype)) {
case JAS_IMAGE_CT_RGB_R:
type = JP2_CDEF_TYPE_COLOR;
asoc = JP2_CDEF_RGB_R;
break;
case JAS_IMAGE_CT_RGB_G:
type = JP2_CDEF_TYPE_COLOR;
asoc = JP2_CDEF_RGB_G;
break;
case JAS_IMAGE_CT_RGB_B:
type = JP2_CDEF_TYPE_COLOR;
asoc = JP2_CDEF_RGB_B;
break;
}
break;
case JAS_CLRSPC_FAM_YCBCR:
switch (JAS_IMAGE_CT_COLOR(ctype)) {
case JAS_IMAGE_CT_YCBCR_Y:
type = JP2_CDEF_TYPE_COLOR;
asoc = JP2_CDEF_YCBCR_Y;
break;
case JAS_IMAGE_CT_YCBCR_CB:
type = JP2_CDEF_TYPE_COLOR;
asoc = JP2_CDEF_YCBCR_CB;
break;
case JAS_IMAGE_CT_YCBCR_CR:
type = JP2_CDEF_TYPE_COLOR;
asoc = JP2_CDEF_YCBCR_CR;
break;
}
break;
case JAS_CLRSPC_FAM_GRAY:
type = JP2_CDEF_TYPE_COLOR;
asoc = JP2_CDEF_GRAY_Y;
break;
}
done:
return (type << 16) | asoc;
return (type << 16) | asoc;
}
static int clrspctojp2(jas_clrspc_t clrspc)
{
switch (clrspc) {
case JAS_CLRSPC_SRGB:
return JP2_COLR_SRGB;
case JAS_CLRSPC_SYCBCR:
return JP2_COLR_SYCC;
case JAS_CLRSPC_SGRAY:
return JP2_COLR_SGRAY;
default:
abort();
break;
}
switch (clrspc) {
case JAS_CLRSPC_SRGB:
return JP2_COLR_SRGB;
case JAS_CLRSPC_SYCBCR:
return JP2_COLR_SYCC;
case JAS_CLRSPC_SGRAY:
return JP2_COLR_SGRAY;
default:
abort();
break;
}
}

View File

@@ -6,15 +6,15 @@
*/
/* __START_OF_JASPER_LICENSE__
*
*
* JasPer License Version 2.0
*
*
* Copyright (c) 2001-2006 Michael David Adams
* Copyright (c) 1999-2000 Image Power, Inc.
* Copyright (c) 1999-2000 The University of British Columbia
*
*
* All rights reserved.
*
*
* Permission is hereby granted, free of charge, to any person (the
* "User") obtaining a copy of this software and associated documentation
* files (the "Software"), to deal in the Software without restriction,
@@ -22,15 +22,15 @@
* publish, distribute, and/or sell copies of the Software, and to permit
* persons to whom the Software is furnished to do so, subject to the
* following conditions:
*
*
* 1. The above copyright notices and this permission notice (which
* includes the disclaimer below) shall be included in all copies or
* substantial portions of the Software.
*
*
* 2. The name of a copyright holder shall not be used to endorse or
* promote products derived from the Software without specific prior
* written permission.
*
*
* THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS
* LICENSE. NO USE OF THE SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER
* THIS DISCLAIMER. THE SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS
@@ -57,7 +57,7 @@
* PERSONAL INJURY, OR SEVERE PHYSICAL OR ENVIRONMENTAL DAMAGE ("HIGH
* RISK ACTIVITIES"). THE COPYRIGHT HOLDERS SPECIFICALLY DISCLAIM ANY
* EXPRESS OR IMPLIED WARRANTY OF FITNESS FOR HIGH RISK ACTIVITIES.
*
*
* __END_OF_JASPER_LICENSE__
*/
@@ -94,73 +94,73 @@ static jpc_bitstream_t *jpc_bitstream_alloc(void);
/* Open a bit stream from a stream. */
jpc_bitstream_t *jpc_bitstream_sopen(jas_stream_t *stream, char *mode)
{
jpc_bitstream_t *bitstream;
jpc_bitstream_t *bitstream;
/* Ensure that the open mode is valid. */
/* Ensure that the open mode is valid. */
#if 1
/* This causes a string literal too long error (with c99 pedantic mode). */
assert(!strcmp(mode, "r") || !strcmp(mode, "w") || !strcmp(mode, "r+")
|| !strcmp(mode, "w+"));
assert(!strcmp(mode, "r") || !strcmp(mode, "w") || !strcmp(mode, "r+")
|| !strcmp(mode, "w+"));
#endif
if (!(bitstream = jpc_bitstream_alloc())) {
return 0;
}
if (!(bitstream = jpc_bitstream_alloc())) {
return 0;
}
/* By default, do not close the underlying (character) stream, upon
the close of the bit stream. */
bitstream->flags_ = JPC_BITSTREAM_NOCLOSE;
/* By default, do not close the underlying (character) stream, upon
the close of the bit stream. */
bitstream->flags_ = JPC_BITSTREAM_NOCLOSE;
bitstream->stream_ = stream;
bitstream->openmode_ = (mode[0] == 'w') ? JPC_BITSTREAM_WRITE :
JPC_BITSTREAM_READ;
bitstream->stream_ = stream;
bitstream->openmode_ = (mode[0] == 'w') ? JPC_BITSTREAM_WRITE :
JPC_BITSTREAM_READ;
/* Mark the data buffer as empty. */
bitstream->cnt_ = (bitstream->openmode_ == JPC_BITSTREAM_READ) ? 0 : 8;
bitstream->buf_ = 0;
/* Mark the data buffer as empty. */
bitstream->cnt_ = (bitstream->openmode_ == JPC_BITSTREAM_READ) ? 0 : 8;
bitstream->buf_ = 0;
return bitstream;
return bitstream;
}
/* Close a bit stream. */
int jpc_bitstream_close(jpc_bitstream_t *bitstream)
{
int ret = 0;
int ret = 0;
/* Align to the next byte boundary while considering the effects of
bit stuffing. */
if (jpc_bitstream_align(bitstream)) {
ret = -1;
}
/* Align to the next byte boundary while considering the effects of
bit stuffing. */
if (jpc_bitstream_align(bitstream)) {
ret = -1;
}
/* If necessary, close the underlying (character) stream. */
if (!(bitstream->flags_ & JPC_BITSTREAM_NOCLOSE) && bitstream->stream_) {
if (jas_stream_close(bitstream->stream_)) {
ret = -1;
}
bitstream->stream_ = 0;
}
/* If necessary, close the underlying (character) stream. */
if (!(bitstream->flags_ & JPC_BITSTREAM_NOCLOSE) && bitstream->stream_) {
if (jas_stream_close(bitstream->stream_)) {
ret = -1;
}
bitstream->stream_ = 0;
}
jas_free(bitstream);
return ret;
jas_free(bitstream);
return ret;
}
/* Allocate a new bit stream. */
static jpc_bitstream_t *jpc_bitstream_alloc()
{
jpc_bitstream_t *bitstream;
jpc_bitstream_t *bitstream;
/* Allocate memory for the new bit stream object. */
if (!(bitstream = jas_malloc(sizeof(jpc_bitstream_t)))) {
return 0;
}
/* Initialize all of the data members. */
bitstream->stream_ = 0;
bitstream->cnt_ = 0;
bitstream->flags_ = 0;
bitstream->openmode_ = 0;
/* Allocate memory for the new bit stream object. */
if (!(bitstream = jas_malloc(sizeof(jpc_bitstream_t)))) {
return 0;
}
/* Initialize all of the data members. */
bitstream->stream_ = 0;
bitstream->cnt_ = 0;
bitstream->flags_ = 0;
bitstream->openmode_ = 0;
return bitstream;
return bitstream;
}
/******************************************************************************\
@@ -170,64 +170,64 @@ static jpc_bitstream_t *jpc_bitstream_alloc()
/* Get a bit from a bit stream. */
int jpc_bitstream_getbit_func(jpc_bitstream_t *bitstream)
{
int ret;
JAS_DBGLOG(1000, ("jpc_bitstream_getbit_func(%p)\n", bitstream));
ret = jpc_bitstream_getbit_macro(bitstream);
JAS_DBGLOG(1000, ("jpc_bitstream_getbit_func -> %d\n", ret));
return ret;
int ret;
JAS_DBGLOG(1000, ("jpc_bitstream_getbit_func(%p)\n", bitstream));
ret = jpc_bitstream_getbit_macro(bitstream);
JAS_DBGLOG(1000, ("jpc_bitstream_getbit_func -> %d\n", ret));
return ret;
}
/* Put a bit to a bit stream. */
int jpc_bitstream_putbit_func(jpc_bitstream_t *bitstream, int b)
{
int ret;
JAS_DBGLOG(1000, ("jpc_bitstream_putbit_func(%p, %d)\n", bitstream, b));
ret = jpc_bitstream_putbit_macro(bitstream, b);
JAS_DBGLOG(1000, ("jpc_bitstream_putbit_func() -> %d\n", ret));
return ret;
int ret;
JAS_DBGLOG(1000, ("jpc_bitstream_putbit_func(%p, %d)\n", bitstream, b));
ret = jpc_bitstream_putbit_macro(bitstream, b);
JAS_DBGLOG(1000, ("jpc_bitstream_putbit_func() -> %d\n", ret));
return ret;
}
/* Get one or more bits from a bit stream. */
long jpc_bitstream_getbits(jpc_bitstream_t *bitstream, int n)
{
long v;
int u;
long v;
int u;
/* We can reliably get at most 31 bits since ISO/IEC 9899 only
guarantees that a long can represent values up to 2^31-1. */
assert(n >= 0 && n < 32);
/* We can reliably get at most 31 bits since ISO/IEC 9899 only
guarantees that a long can represent values up to 2^31-1. */
assert(n >= 0 && n < 32);
/* Get the number of bits requested from the specified bit stream. */
v = 0;
while (--n >= 0) {
if ((u = jpc_bitstream_getbit(bitstream)) < 0) {
return -1;
}
v = (v << 1) | u;
}
return v;
/* Get the number of bits requested from the specified bit stream. */
v = 0;
while (--n >= 0) {
if ((u = jpc_bitstream_getbit(bitstream)) < 0) {
return -1;
}
v = (v << 1) | u;
}
return v;
}
/* Put one or more bits to a bit stream. */
int jpc_bitstream_putbits(jpc_bitstream_t *bitstream, int n, long v)
{
int m;
int m;
/* We can reliably put at most 31 bits since ISO/IEC 9899 only
guarantees that a long can represent values up to 2^31-1. */
assert(n >= 0 && n < 32);
/* Ensure that only the bits to be output are nonzero. */
assert(!(v & (~JAS_ONES(n))));
/* We can reliably put at most 31 bits since ISO/IEC 9899 only
guarantees that a long can represent values up to 2^31-1. */
assert(n >= 0 && n < 32);
/* Ensure that only the bits to be output are nonzero. */
assert(!(v & (~JAS_ONES(n))));
/* Put the desired number of bits to the specified bit stream. */
m = n - 1;
while (--n >= 0) {
if (jpc_bitstream_putbit(bitstream, (v >> m) & 1) == EOF) {
return EOF;
}
v <<= 1;
}
return 0;
/* Put the desired number of bits to the specified bit stream. */
m = n - 1;
while (--n >= 0) {
if (jpc_bitstream_putbit(bitstream, (v >> m) & 1) == EOF) {
return EOF;
}
v <<= 1;
}
return 0;
}
/******************************************************************************\
@@ -237,30 +237,30 @@ int jpc_bitstream_putbits(jpc_bitstream_t *bitstream, int n, long v)
/* Fill the buffer for a bit stream. */
int jpc_bitstream_fillbuf(jpc_bitstream_t *bitstream)
{
int c;
/* Note: The count has already been decremented by the caller. */
assert(bitstream->openmode_ & JPC_BITSTREAM_READ);
assert(bitstream->cnt_ <= 0);
int c;
/* Note: The count has already been decremented by the caller. */
assert(bitstream->openmode_ & JPC_BITSTREAM_READ);
assert(bitstream->cnt_ <= 0);
if (bitstream->flags_ & JPC_BITSTREAM_ERR) {
bitstream->cnt_ = 0;
return -1;
}
if (bitstream->flags_ & JPC_BITSTREAM_ERR) {
bitstream->cnt_ = 0;
return -1;
}
if (bitstream->flags_ & JPC_BITSTREAM_EOF) {
bitstream->buf_ = 0x7f;
bitstream->cnt_ = 7;
return 1;
}
if (bitstream->flags_ & JPC_BITSTREAM_EOF) {
bitstream->buf_ = 0x7f;
bitstream->cnt_ = 7;
return 1;
}
bitstream->buf_ = (bitstream->buf_ << 8) & 0xffff;
if ((c = jas_stream_getc((bitstream)->stream_)) == EOF) {
bitstream->flags_ |= JPC_BITSTREAM_EOF;
return 1;
}
bitstream->cnt_ = (bitstream->buf_ == 0xff00) ? 6 : 7;
bitstream->buf_ |= c & ((1 << (bitstream->cnt_ + 1)) - 1);
return (bitstream->buf_ >> bitstream->cnt_) & 1;
bitstream->buf_ = (bitstream->buf_ << 8) & 0xffff;
if ((c = jas_stream_getc((bitstream)->stream_)) == EOF) {
bitstream->flags_ |= JPC_BITSTREAM_EOF;
return 1;
}
bitstream->cnt_ = (bitstream->buf_ == 0xff00) ? 6 : 7;
bitstream->buf_ |= c & ((1 << (bitstream->cnt_ + 1)) - 1);
return (bitstream->buf_ >> bitstream->cnt_) & 1;
}
@@ -272,169 +272,169 @@ int jpc_bitstream_fillbuf(jpc_bitstream_t *bitstream)
the effects of bit stuffing)? */
int jpc_bitstream_needalign(jpc_bitstream_t *bitstream)
{
if (bitstream->openmode_ & JPC_BITSTREAM_READ) {
/* The bit stream is open for reading. */
/* If there are any bits buffered for reading, or the
previous byte forced a stuffed bit, alignment is
required. */
if ((bitstream->cnt_ < 8 && bitstream->cnt_ > 0) ||
((bitstream->buf_ >> 8) & 0xff) == 0xff) {
return 1;
}
} else if (bitstream->openmode_ & JPC_BITSTREAM_WRITE) {
/* The bit stream is open for writing. */
/* If there are any bits buffered for writing, or the
previous byte forced a stuffed bit, alignment is
required. */
if ((bitstream->cnt_ < 8 && bitstream->cnt_ >= 0) ||
((bitstream->buf_ >> 8) & 0xff) == 0xff) {
return 1;
}
} else {
/* This should not happen. Famous last words, eh? :-) */
assert(0);
return -1;
}
return 0;
if (bitstream->openmode_ & JPC_BITSTREAM_READ) {
/* The bit stream is open for reading. */
/* If there are any bits buffered for reading, or the
previous byte forced a stuffed bit, alignment is
required. */
if ((bitstream->cnt_ < 8 && bitstream->cnt_ > 0) ||
((bitstream->buf_ >> 8) & 0xff) == 0xff) {
return 1;
}
} else if (bitstream->openmode_ & JPC_BITSTREAM_WRITE) {
/* The bit stream is open for writing. */
/* If there are any bits buffered for writing, or the
previous byte forced a stuffed bit, alignment is
required. */
if ((bitstream->cnt_ < 8 && bitstream->cnt_ >= 0) ||
((bitstream->buf_ >> 8) & 0xff) == 0xff) {
return 1;
}
} else {
/* This should not happen. Famous last words, eh? :-) */
assert(0);
return -1;
}
return 0;
}
/* How many additional bytes would be output if we align the bit stream? */
int jpc_bitstream_pending(jpc_bitstream_t *bitstream)
{
if (bitstream->openmode_ & JPC_BITSTREAM_WRITE) {
/* The bit stream is being used for writing. */
if (bitstream->openmode_ & JPC_BITSTREAM_WRITE) {
/* The bit stream is being used for writing. */
#if 1
/* XXX - Is this really correct? Check someday... */
if (bitstream->cnt_ < 8) {
return 1;
}
/* XXX - Is this really correct? Check someday... */
if (bitstream->cnt_ < 8) {
return 1;
}
#else
if (bitstream->cnt_ < 8) {
if (((bitstream->buf_ >> 8) & 0xff) == 0xff) {
return 2;
}
return 1;
}
if (bitstream->cnt_ < 8) {
if (((bitstream->buf_ >> 8) & 0xff) == 0xff) {
return 2;
}
return 1;
}
#endif
return 0;
} else {
/* This operation should not be invoked on a bit stream that
is being used for reading. */
return -1;
}
return 0;
} else {
/* This operation should not be invoked on a bit stream that
is being used for reading. */
return -1;
}
}
/* Align the bit stream to a byte boundary. */
int jpc_bitstream_align(jpc_bitstream_t *bitstream)
{
int ret;
if (bitstream->openmode_ & JPC_BITSTREAM_READ) {
ret = jpc_bitstream_inalign(bitstream, 0, 0);
} else if (bitstream->openmode_ & JPC_BITSTREAM_WRITE) {
ret = jpc_bitstream_outalign(bitstream, 0);
} else {
abort();
}
return ret;
int ret;
if (bitstream->openmode_ & JPC_BITSTREAM_READ) {
ret = jpc_bitstream_inalign(bitstream, 0, 0);
} else if (bitstream->openmode_ & JPC_BITSTREAM_WRITE) {
ret = jpc_bitstream_outalign(bitstream, 0);
} else {
abort();
}
return ret;
}
/* Align a bit stream in the input case. */
int jpc_bitstream_inalign(jpc_bitstream_t *bitstream, int fillmask,
int filldata)
{
int n;
int v;
int u;
int numfill;
int m;
int n;
int v;
int u;
int numfill;
int m;
numfill = 7;
m = 0;
v = 0;
if (bitstream->cnt_ > 0) {
n = bitstream->cnt_;
} else if (!bitstream->cnt_) {
n = ((bitstream->buf_ & 0xff) == 0xff) ? 7 : 0;
} else {
n = 0;
}
if (n > 0) {
if ((u = jpc_bitstream_getbits(bitstream, n)) < 0) {
return -1;
}
m += n;
v = (v << n) | u;
}
if ((bitstream->buf_ & 0xff) == 0xff) {
if ((u = jpc_bitstream_getbits(bitstream, 7)) < 0) {
return -1;
}
v = (v << 7) | u;
m += 7;
}
if (m > numfill) {
v >>= m - numfill;
} else {
filldata >>= numfill - m;
fillmask >>= numfill - m;
}
if (((~(v ^ filldata)) & fillmask) != fillmask) {
/* The actual fill pattern does not match the expected one. */
return 1;
}
numfill = 7;
m = 0;
v = 0;
if (bitstream->cnt_ > 0) {
n = bitstream->cnt_;
} else if (!bitstream->cnt_) {
n = ((bitstream->buf_ & 0xff) == 0xff) ? 7 : 0;
} else {
n = 0;
}
if (n > 0) {
if ((u = jpc_bitstream_getbits(bitstream, n)) < 0) {
return -1;
}
m += n;
v = (v << n) | u;
}
if ((bitstream->buf_ & 0xff) == 0xff) {
if ((u = jpc_bitstream_getbits(bitstream, 7)) < 0) {
return -1;
}
v = (v << 7) | u;
m += 7;
}
if (m > numfill) {
v >>= m - numfill;
} else {
filldata >>= numfill - m;
fillmask >>= numfill - m;
}
if (((~(v ^ filldata)) & fillmask) != fillmask) {
/* The actual fill pattern does not match the expected one. */
return 1;
}
return 0;
return 0;
}
/* Align a bit stream in the output case. */
int jpc_bitstream_outalign(jpc_bitstream_t *bitstream, int filldata)
{
int n;
int v;
int n;
int v;
/* Ensure that this bit stream is open for writing. */
assert(bitstream->openmode_ & JPC_BITSTREAM_WRITE);
/* Ensure that this bit stream is open for writing. */
assert(bitstream->openmode_ & JPC_BITSTREAM_WRITE);
/* Ensure that the first bit of fill data is zero. */
/* Note: The first bit of fill data must be zero. If this were not
the case, the fill data itself could cause further bit stuffing to
be required (which would cause numerous complications). */
assert(!(filldata & (~0x3f)));
/* Ensure that the first bit of fill data is zero. */
/* Note: The first bit of fill data must be zero. If this were not
the case, the fill data itself could cause further bit stuffing to
be required (which would cause numerous complications). */
assert(!(filldata & (~0x3f)));
if (!bitstream->cnt_) {
if ((bitstream->buf_ & 0xff) == 0xff) {
n = 7;
v = filldata;
} else {
n = 0;
v = 0;
}
} else if (bitstream->cnt_ > 0 && bitstream->cnt_ < 8) {
n = bitstream->cnt_;
v = filldata >> (7 - n);
} else {
n = 0;
v = 0;
return 0;
}
if (!bitstream->cnt_) {
if ((bitstream->buf_ & 0xff) == 0xff) {
n = 7;
v = filldata;
} else {
n = 0;
v = 0;
}
} else if (bitstream->cnt_ > 0 && bitstream->cnt_ < 8) {
n = bitstream->cnt_;
v = filldata >> (7 - n);
} else {
n = 0;
v = 0;
return 0;
}
/* Write the appropriate fill data to the bit stream. */
if (n > 0) {
if (jpc_bitstream_putbits(bitstream, n, v)) {
return -1;
}
}
if (bitstream->cnt_ < 8) {
assert(bitstream->cnt_ >= 0 && bitstream->cnt_ < 8);
assert((bitstream->buf_ & 0xff) != 0xff);
/* Force the pending byte of output to be written to the
underlying (character) stream. */
if (jas_stream_putc(bitstream->stream_, bitstream->buf_ & 0xff) == EOF) {
return -1;
}
bitstream->cnt_ = 8;
bitstream->buf_ = (bitstream->buf_ << 8) & 0xffff;
}
/* Write the appropriate fill data to the bit stream. */
if (n > 0) {
if (jpc_bitstream_putbits(bitstream, n, v)) {
return -1;
}
}
if (bitstream->cnt_ < 8) {
assert(bitstream->cnt_ >= 0 && bitstream->cnt_ < 8);
assert((bitstream->buf_ & 0xff) != 0xff);
/* Force the pending byte of output to be written to the
underlying (character) stream. */
if (jas_stream_putc(bitstream->stream_, bitstream->buf_ & 0xff) == EOF) {
return -1;
}
bitstream->cnt_ = 8;
bitstream->buf_ = (bitstream->buf_ << 8) & 0xffff;
}
return 0;
return 0;
}

View File

@@ -6,15 +6,15 @@
*/
/* __START_OF_JASPER_LICENSE__
*
*
* JasPer License Version 2.0
*
*
* Copyright (c) 2001-2006 Michael David Adams
* Copyright (c) 1999-2000 Image Power, Inc.
* Copyright (c) 1999-2000 The University of British Columbia
*
*
* All rights reserved.
*
*
* Permission is hereby granted, free of charge, to any person (the
* "User") obtaining a copy of this software and associated documentation
* files (the "Software"), to deal in the Software without restriction,
@@ -22,15 +22,15 @@
* publish, distribute, and/or sell copies of the Software, and to permit
* persons to whom the Software is furnished to do so, subject to the
* following conditions:
*
*
* 1. The above copyright notices and this permission notice (which
* includes the disclaimer below) shall be included in all copies or
* substantial portions of the Software.
*
*
* 2. The name of a copyright holder shall not be used to endorse or
* promote products derived from the Software without specific prior
* written permission.
*
*
* THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS
* LICENSE. NO USE OF THE SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER
* THIS DISCLAIMER. THE SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS
@@ -57,7 +57,7 @@
* PERSONAL INJURY, OR SEVERE PHYSICAL OR ENVIRONMENTAL DAMAGE ("HIGH
* RISK ACTIVITIES"). THE COPYRIGHT HOLDERS SPECIFICALLY DISCLAIM ANY
* EXPRESS OR IMPLIED WARRANTY OF FITNESS FOR HIGH RISK ACTIVITIES.
*
*
* __END_OF_JASPER_LICENSE__
*/
@@ -111,20 +111,20 @@
typedef struct {
/* Some miscellaneous flags. */
int flags_;
/* Some miscellaneous flags. */
int flags_;
/* The input/output buffer. */
uint_fast16_t buf_;
/* The input/output buffer. */
uint_fast16_t buf_;
/* The number of bits remaining in the byte being read/written. */
int cnt_;
/* The number of bits remaining in the byte being read/written. */
int cnt_;
/* The underlying stream associated with this bit stream. */
jas_stream_t *stream_;
/* The underlying stream associated with this bit stream. */
jas_stream_t *stream_;
/* The mode in which this bit stream was opened. */
int openmode_;
/* The mode in which this bit stream was opened. */
int openmode_;
} jpc_bitstream_t;
@@ -145,19 +145,19 @@ int jpc_bitstream_close(jpc_bitstream_t *bitstream);
/* Read a bit from a bit stream. */
#if defined(DEBUG)
#define jpc_bitstream_getbit(bitstream) \
jpc_bitstream_getbit_func(bitstream)
jpc_bitstream_getbit_func(bitstream)
#else
#define jpc_bitstream_getbit(bitstream) \
jpc_bitstream_getbit_macro(bitstream)
jpc_bitstream_getbit_macro(bitstream)
#endif
/* Write a bit to a bit stream. */
#if defined(DEBUG)
#define jpc_bitstream_putbit(bitstream, v) \
jpc_bitstream_putbit_func(bitstream, v)
jpc_bitstream_putbit_func(bitstream, v)
#else
#define jpc_bitstream_putbit(bitstream, v) \
jpc_bitstream_putbit_macro(bitstream, v)
jpc_bitstream_putbit_macro(bitstream, v)
#endif
/* Read one or more bits from a bit stream. */
@@ -196,7 +196,7 @@ int jpc_bitstream_pending(jpc_bitstream_t *bitstream);
/* Has EOF been encountered on a bit stream? */
#define jpc_bitstream_eof(bitstream) \
((bitstream)->flags_ & JPC_BITSTREAM_EOF)
((bitstream)->flags_ & JPC_BITSTREAM_EOF)
/******************************************************************************\
* Internals.
@@ -212,20 +212,20 @@ int jpc_bitstream_putbit_func(jpc_bitstream_t *bitstream, int v);
int jpc_bitstream_fillbuf(jpc_bitstream_t *bitstream);
#define jpc_bitstream_getbit_macro(bitstream) \
(assert((bitstream)->openmode_ & JPC_BITSTREAM_READ), \
(--(bitstream)->cnt_ >= 0) ? \
((int)(((bitstream)->buf_ >> (bitstream)->cnt_) & 1)) : \
jpc_bitstream_fillbuf(bitstream))
(assert((bitstream)->openmode_ & JPC_BITSTREAM_READ), \
(--(bitstream)->cnt_ >= 0) ? \
((int)(((bitstream)->buf_ >> (bitstream)->cnt_) & 1)) : \
jpc_bitstream_fillbuf(bitstream))
#define jpc_bitstream_putbit_macro(bitstream, bit) \
(assert((bitstream)->openmode_ & JPC_BITSTREAM_WRITE), \
(--(bitstream)->cnt_ < 0) ? \
((bitstream)->buf_ = ((bitstream)->buf_ << 8) & 0xffff, \
(bitstream)->cnt_ = ((bitstream)->buf_ == 0xff00) ? 6 : 7, \
(bitstream)->buf_ |= ((bit) & 1) << (bitstream)->cnt_, \
(jas_stream_putc((bitstream)->stream_, (bitstream)->buf_ >> 8) == EOF) \
? (EOF) : ((bit) & 1)) : \
((bitstream)->buf_ |= ((bit) & 1) << (bitstream)->cnt_, \
(bit) & 1))
(assert((bitstream)->openmode_ & JPC_BITSTREAM_WRITE), \
(--(bitstream)->cnt_ < 0) ? \
((bitstream)->buf_ = ((bitstream)->buf_ << 8) & 0xffff, \
(bitstream)->cnt_ = ((bitstream)->buf_ == 0xff00) ? 6 : 7, \
(bitstream)->buf_ |= ((bit) & 1) << (bitstream)->cnt_, \
(jas_stream_putc((bitstream)->stream_, (bitstream)->buf_ >> 8) == EOF) \
? (EOF) : ((bit) & 1)) : \
((bitstream)->buf_ |= ((bit) & 1) << (bitstream)->cnt_, \
(bit) & 1))
#endif

View File

@@ -6,15 +6,15 @@
*/
/* __START_OF_JASPER_LICENSE__
*
*
* JasPer License Version 2.0
*
*
* Copyright (c) 2001-2006 Michael David Adams
* Copyright (c) 1999-2000 Image Power, Inc.
* Copyright (c) 1999-2000 The University of British Columbia
*
*
* All rights reserved.
*
*
* Permission is hereby granted, free of charge, to any person (the
* "User") obtaining a copy of this software and associated documentation
* files (the "Software"), to deal in the Software without restriction,
@@ -22,15 +22,15 @@
* publish, distribute, and/or sell copies of the Software, and to permit
* persons to whom the Software is furnished to do so, subject to the
* following conditions:
*
*
* 1. The above copyright notices and this permission notice (which
* includes the disclaimer below) shall be included in all copies or
* substantial portions of the Software.
*
*
* 2. The name of a copyright holder shall not be used to endorse or
* promote products derived from the Software without specific prior
* written permission.
*
*
* THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS
* LICENSE. NO USE OF THE SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER
* THIS DISCLAIMER. THE SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS
@@ -57,7 +57,7 @@
* PERSONAL INJURY, OR SEVERE PHYSICAL OR ENVIRONMENTAL DAMAGE ("HIGH
* RISK ACTIVITIES"). THE COPYRIGHT HOLDERS SPECIFICALLY DISCLAIM ANY
* EXPRESS OR IMPLIED WARRANTY OF FITNESS FOR HIGH RISK ACTIVITIES.
*
*
* __END_OF_JASPER_LICENSE__
*/

File diff suppressed because it is too large Load Diff

View File

@@ -6,15 +6,15 @@
*/
/* __START_OF_JASPER_LICENSE__
*
*
* JasPer License Version 2.0
*
*
* Copyright (c) 2001-2006 Michael David Adams
* Copyright (c) 1999-2000 Image Power, Inc.
* Copyright (c) 1999-2000 The University of British Columbia
*
*
* All rights reserved.
*
*
* Permission is hereby granted, free of charge, to any person (the
* "User") obtaining a copy of this software and associated documentation
* files (the "Software"), to deal in the Software without restriction,
@@ -22,15 +22,15 @@
* publish, distribute, and/or sell copies of the Software, and to permit
* persons to whom the Software is furnished to do so, subject to the
* following conditions:
*
*
* 1. The above copyright notices and this permission notice (which
* includes the disclaimer below) shall be included in all copies or
* substantial portions of the Software.
*
*
* 2. The name of a copyright holder shall not be used to endorse or
* promote products derived from the Software without specific prior
* written permission.
*
*
* THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS
* LICENSE. NO USE OF THE SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER
* THIS DISCLAIMER. THE SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS
@@ -57,7 +57,7 @@
* PERSONAL INJURY, OR SEVERE PHYSICAL OR ENVIRONMENTAL DAMAGE ("HIGH
* RISK ACTIVITIES"). THE COPYRIGHT HOLDERS SPECIFICALLY DISCLAIM ANY
* EXPRESS OR IMPLIED WARRANTY OF FITNESS FOR HIGH RISK ACTIVITIES.
*
*
* __END_OF_JASPER_LICENSE__
*/
@@ -125,8 +125,8 @@
typedef struct {
/* The number of components. */
uint_fast16_t numcomps;
/* The number of components. */
uint_fast16_t numcomps;
} jpc_cstate_t;
@@ -136,18 +136,18 @@ typedef struct {
typedef struct {
/* The tile number. */
uint_fast16_t tileno;
/* The tile number. */
uint_fast16_t tileno;
/* The combined length of the marker segment and its auxilary data
(i.e., packet data). */
uint_fast32_t len;
/* The combined length of the marker segment and its auxilary data
(i.e., packet data). */
uint_fast32_t len;
/* The tile-part instance. */
uint_fast8_t partno;
/* The tile-part instance. */
uint_fast8_t partno;
/* The number of tile-parts. */
uint_fast8_t numparts;
/* The number of tile-parts. */
uint_fast8_t numparts;
} jpc_sot_t;
@@ -159,19 +159,19 @@ typedef struct {
typedef struct {
/* The precision of the samples. */
uint_fast8_t prec;
/* The precision of the samples. */
uint_fast8_t prec;
/* The signedness of the samples. */
uint_fast8_t sgnd;
/* The signedness of the samples. */
uint_fast8_t sgnd;
/* The horizontal separation of samples with respect to the reference
grid. */
uint_fast8_t hsamp;
/* The horizontal separation of samples with respect to the reference
grid. */
uint_fast8_t hsamp;
/* The vertical separation of samples with respect to the reference
grid. */
uint_fast8_t vsamp;
/* The vertical separation of samples with respect to the reference
grid. */
uint_fast8_t vsamp;
} jpc_sizcomp_t;
@@ -179,42 +179,42 @@ typedef struct {
typedef struct {
/* The code stream capabilities. */
uint_fast16_t caps;
/* The code stream capabilities. */
uint_fast16_t caps;
/* The width of the image in units of the reference grid. */
uint_fast32_t width;
/* The width of the image in units of the reference grid. */
uint_fast32_t width;
/* The height of the image in units of the reference grid. */
uint_fast32_t height;
/* The height of the image in units of the reference grid. */
uint_fast32_t height;
/* The horizontal offset from the origin of the reference grid to the
left side of the image area. */
uint_fast32_t xoff;
/* The horizontal offset from the origin of the reference grid to the
left side of the image area. */
uint_fast32_t xoff;
/* The vertical offset from the origin of the reference grid to the
top side of the image area. */
uint_fast32_t yoff;
/* The vertical offset from the origin of the reference grid to the
top side of the image area. */
uint_fast32_t yoff;
/* The nominal width of a tile in units of the reference grid. */
uint_fast32_t tilewidth;
/* The nominal width of a tile in units of the reference grid. */
uint_fast32_t tilewidth;
/* The nominal height of a tile in units of the reference grid. */
uint_fast32_t tileheight;
/* The nominal height of a tile in units of the reference grid. */
uint_fast32_t tileheight;
/* The horizontal offset from the origin of the reference grid to the
left side of the first tile. */
uint_fast32_t tilexoff;
/* The horizontal offset from the origin of the reference grid to the
left side of the first tile. */
uint_fast32_t tilexoff;
/* The vertical offset from the origin of the reference grid to the
top side of the first tile. */
uint_fast32_t tileyoff;
/* The vertical offset from the origin of the reference grid to the
top side of the first tile. */
uint_fast32_t tileyoff;
/* The number of components. */
uint_fast16_t numcomps;
/* The number of components. */
uint_fast16_t numcomps;
/* The per-component information. */
jpc_sizcomp_t *comps;
/* The per-component information. */
jpc_sizcomp_t *comps;
} jpc_siz_t;
@@ -278,11 +278,11 @@ typedef struct {
typedef struct {
/* The packet partition width. */
uint_fast8_t parwidthval;
/* The packet partition width. */
uint_fast8_t parwidthval;
/* The packet partition height. */
uint_fast8_t parheightval;
/* The packet partition height. */
uint_fast8_t parheightval;
} jpc_coxrlvl_t;
@@ -290,29 +290,29 @@ typedef struct {
typedef struct {
/* The coding style. */
uint_fast8_t csty;
/* The coding style. */
uint_fast8_t csty;
/* The number of decomposition levels. */
uint_fast8_t numdlvls;
/* The number of decomposition levels. */
uint_fast8_t numdlvls;
/* The nominal code block width specifier. */
uint_fast8_t cblkwidthval;
/* The nominal code block width specifier. */
uint_fast8_t cblkwidthval;
/* The nominal code block height specifier. */
uint_fast8_t cblkheightval;
/* The nominal code block height specifier. */
uint_fast8_t cblkheightval;
/* The style of coding passes. */
uint_fast8_t cblksty;
/* The style of coding passes. */
uint_fast8_t cblksty;
/* The QMFB employed. */
uint_fast8_t qmfbid;
/* The QMFB employed. */
uint_fast8_t qmfbid;
/* The number of resolution levels. */
int numrlvls;
/* The number of resolution levels. */
int numrlvls;
/* The per-resolution-level information. */
jpc_coxrlvl_t rlvls[JPC_MAXRLVLS];
/* The per-resolution-level information. */
jpc_coxrlvl_t rlvls[JPC_MAXRLVLS];
} jpc_coxcp_t;
@@ -320,20 +320,20 @@ typedef struct {
typedef struct {
/* The general coding style. */
uint_fast8_t csty;
/* The general coding style. */
uint_fast8_t csty;
/* The progression order. */
uint_fast8_t prg;
/* The progression order. */
uint_fast8_t prg;
/* The number of layers. */
uint_fast16_t numlyrs;
/* The number of layers. */
uint_fast16_t numlyrs;
/* The multicomponent transform. */
uint_fast8_t mctrans;
/* The multicomponent transform. */
uint_fast8_t mctrans;
/* Component-related parameters. */
jpc_coxcp_t compparms;
/* Component-related parameters. */
jpc_coxcp_t compparms;
} jpc_cod_t;
@@ -341,11 +341,11 @@ typedef struct {
typedef struct {
/* The component number. */
uint_fast16_t compno;
/* The component number. */
uint_fast16_t compno;
/* Component-related parameters. */
jpc_coxcp_t compparms;
/* Component-related parameters. */
jpc_coxcp_t compparms;
} jpc_coc_t;
@@ -358,14 +358,14 @@ typedef struct {
typedef struct {
/* The component to which the marker applies. */
uint_fast16_t compno;
/* The component to which the marker applies. */
uint_fast16_t compno;
/* The ROI style. */
uint_fast8_t roisty;
/* The ROI style. */
uint_fast8_t roisty;
/* The ROI shift value. */
uint_fast8_t roishift;
/* The ROI shift value. */
uint_fast8_t roishift;
} jpc_rgn_t;
@@ -394,17 +394,17 @@ typedef struct {
typedef struct {
/* The quantization style. */
uint_fast8_t qntsty;
/* The quantization style. */
uint_fast8_t qntsty;
/* The number of step sizes. */
int numstepsizes;
/* The number of step sizes. */
int numstepsizes;
/* The step sizes. */
uint_fast16_t *stepsizes;
/* The step sizes. */
uint_fast16_t *stepsizes;
/* The number of guard bits. */
uint_fast8_t numguard;
/* The number of guard bits. */
uint_fast8_t numguard;
} jpc_qcxcp_t;
@@ -412,11 +412,11 @@ typedef struct {
typedef struct {
/* The component associated with this marker segment. */
uint_fast16_t compno;
/* The component associated with this marker segment. */
uint_fast16_t compno;
/* The parameters. */
jpc_qcxcp_t compparms;
/* The parameters. */
jpc_qcxcp_t compparms;
} jpc_qcc_t;
@@ -424,8 +424,8 @@ typedef struct {
typedef struct {
/* The parameters. */
jpc_qcxcp_t compparms;
/* The parameters. */
jpc_qcxcp_t compparms;
} jpc_qcd_t;
@@ -435,28 +435,28 @@ typedef struct {
typedef struct {
/* The progression order. */
uint_fast8_t prgord;
/* The progression order. */
uint_fast8_t prgord;
/* The lower bound (inclusive) on the resolution level for the
progression order volume. */
uint_fast8_t rlvlnostart;
/* The lower bound (inclusive) on the resolution level for the
progression order volume. */
uint_fast8_t rlvlnostart;
/* The upper bound (exclusive) on the resolution level for the
progression order volume. */
uint_fast8_t rlvlnoend;
/* The upper bound (exclusive) on the resolution level for the
progression order volume. */
uint_fast8_t rlvlnoend;
/* The lower bound (inclusive) on the component for the progression
order volume. */
uint_fast16_t compnostart;
/* The lower bound (inclusive) on the component for the progression
order volume. */
uint_fast16_t compnostart;
/* The upper bound (exclusive) on the component for the progression
order volume. */
uint_fast16_t compnoend;
/* The upper bound (exclusive) on the component for the progression
order volume. */
uint_fast16_t compnoend;
/* The upper bound (exclusive) on the layer for the progression
order volume. */
uint_fast16_t lyrnoend;
/* The upper bound (exclusive) on the layer for the progression
order volume. */
uint_fast16_t lyrnoend;
} jpc_pocpchg_t;
@@ -467,11 +467,11 @@ typedef jpc_pocpchg_t jpc_pchg_t;
typedef struct {
/* The number of progression order changes. */
int numpchgs;
/* The number of progression order changes. */
int numpchgs;
/* The per-progression-order-change information. */
jpc_pocpchg_t *pchgs;
/* The per-progression-order-change information. */
jpc_pocpchg_t *pchgs;
} jpc_poc_t;
@@ -483,14 +483,14 @@ typedef struct {
typedef struct {
/* The index. */
uint_fast8_t ind;
/* The index. */
uint_fast8_t ind;
/* The length. */
uint_fast16_t len;
/* The length. */
uint_fast16_t len;
/* The data. */
uchar *data;
/* The data. */
uchar *data;
} jpc_ppm_t;
@@ -498,14 +498,14 @@ typedef struct {
typedef struct {
/* The index. */
uint_fast8_t ind;
/* The index. */
uint_fast8_t ind;
/* The length. */
uint_fast32_t len;
/* The length. */
uint_fast32_t len;
/* The data. */
unsigned char *data;
/* The data. */
unsigned char *data;
} jpc_ppt_t;
@@ -522,14 +522,14 @@ typedef struct {
typedef struct {
/* The registration ID. */
uint_fast16_t regid;
/* The registration ID. */
uint_fast16_t regid;
/* The length of the data in bytes. */
uint_fast16_t len;
/* The length of the data in bytes. */
uint_fast16_t len;
/* The data. */
uchar *data;
/* The data. */
uchar *data;
} jpc_com_t;
@@ -539,8 +539,8 @@ typedef struct {
typedef struct {
/* The sequence number. */
uint_fast16_t seqno;
/* The sequence number. */
uint_fast16_t seqno;
} jpc_sop_t;
@@ -552,21 +552,21 @@ typedef struct {
typedef struct {
/* The horizontal offset. */
uint_fast16_t hoff;
/* The horizontal offset. */
uint_fast16_t hoff;
/* The vertical offset. */
uint_fast16_t voff;
/* The vertical offset. */
uint_fast16_t voff;
} jpc_crgcomp_t;
typedef struct {
/* The number of components. */
int numcomps;
/* The number of components. */
int numcomps;
/* Per component information. */
jpc_crgcomp_t *comps;
/* Per component information. */
jpc_crgcomp_t *comps;
} jpc_crg_t;
@@ -576,11 +576,11 @@ typedef struct {
typedef struct {
/* The data. */
uchar *data;
/* The data. */
uchar *data;
/* The length. */
uint_fast16_t len;
/* The length. */
uint_fast16_t len;
} jpc_unk_t;
@@ -589,26 +589,26 @@ typedef struct {
\**************************************/
typedef union {
int soc; /* unused */
jpc_sot_t sot;
int sod; /* unused */
int eoc; /* unused */
jpc_siz_t siz;
jpc_cod_t cod;
jpc_coc_t coc;
jpc_rgn_t rgn;
jpc_qcd_t qcd;
jpc_qcc_t qcc;
jpc_poc_t poc;
/* jpc_plm_t plm; */
/* jpc_plt_t plt; */
jpc_ppm_t ppm;
jpc_ppt_t ppt;
jpc_sop_t sop;
int eph; /* unused */
jpc_com_t com;
jpc_crg_t crg;
jpc_unk_t unk;
int soc; /* unused */
jpc_sot_t sot;
int sod; /* unused */
int eoc; /* unused */
jpc_siz_t siz;
jpc_cod_t cod;
jpc_coc_t coc;
jpc_rgn_t rgn;
jpc_qcd_t qcd;
jpc_qcc_t qcc;
jpc_poc_t poc;
/* jpc_plm_t plm; */
/* jpc_plt_t plt; */
jpc_ppm_t ppm;
jpc_ppt_t ppt;
jpc_sop_t sop;
int eph; /* unused */
jpc_com_t com;
jpc_crg_t crg;
jpc_unk_t unk;
} jpc_msparms_t;
/**************************************\
@@ -667,20 +667,20 @@ struct jpc_msops_s;
typedef struct {
/* The type of marker segment. */
uint_fast16_t id;
/* The type of marker segment. */
uint_fast16_t id;
/* The length of the marker segment. */
uint_fast16_t len;
/* The length of the marker segment. */
uint_fast16_t len;
/* The starting offset within the stream. */
uint_fast32_t off;
/* The starting offset within the stream. */
uint_fast32_t off;
/* The parameters of the marker segment. */
jpc_msparms_t parms;
/* The parameters of the marker segment. */
jpc_msparms_t parms;
/* The marker segment operations. */
struct jpc_msops_s *ops;
/* The marker segment operations. */
struct jpc_msops_s *ops;
} jpc_ms_t;
@@ -688,17 +688,17 @@ typedef struct {
typedef struct jpc_msops_s {
/* Destroy the marker segment parameters. */
void (*destroyparms)(jpc_ms_t *ms);
/* Destroy the marker segment parameters. */
void (*destroyparms)(jpc_ms_t *ms);
/* Get the marker segment parameters from a stream. */
int (*getparms)(jpc_ms_t *ms, jpc_cstate_t *cstate, jas_stream_t *in);
/* Get the marker segment parameters from a stream. */
int (*getparms)(jpc_ms_t *ms, jpc_cstate_t *cstate, jas_stream_t *in);
/* Put the marker segment parameters to a stream. */
int (*putparms)(jpc_ms_t *ms, jpc_cstate_t *cstate, jas_stream_t *out);
/* Put the marker segment parameters to a stream. */
int (*putparms)(jpc_ms_t *ms, jpc_cstate_t *cstate, jas_stream_t *out);
/* Dump the marker segment parameters (for debugging). */
int (*dumpparms)(jpc_ms_t *ms, FILE *out);
/* Dump the marker segment parameters (for debugging). */
int (*dumpparms)(jpc_ms_t *ms, FILE *out);
} jpc_msops_t;
@@ -720,12 +720,12 @@ void jpc_ms_destroy(jpc_ms_t *ms);
/* Does a marker segment have parameters? */
#define JPC_MS_HASPARMS(x) \
(!((x) == JPC_MS_SOC || (x) == JPC_MS_SOD || (x) == JPC_MS_EOC || \
(x) == JPC_MS_EPH || ((x) >= 0xff30 && (x) <= 0xff3f)))
(!((x) == JPC_MS_SOC || (x) == JPC_MS_SOD || (x) == JPC_MS_EOC || \
(x) == JPC_MS_EPH || ((x) >= 0xff30 && (x) <= 0xff3f)))
/* Get the marker segment type. */
#define jpc_ms_gettype(ms) \
((ms)->id)
((ms)->id)
/* Read a marker segment from a stream. */
jpc_ms_t *jpc_getms(jas_stream_t *in, jpc_cstate_t *cstate);

File diff suppressed because it is too large Load Diff

View File

@@ -6,15 +6,15 @@
*/
/* __START_OF_JASPER_LICENSE__
*
*
* JasPer License Version 2.0
*
*
* Copyright (c) 2001-2006 Michael David Adams
* Copyright (c) 1999-2000 Image Power, Inc.
* Copyright (c) 1999-2000 The University of British Columbia
*
*
* All rights reserved.
*
*
* Permission is hereby granted, free of charge, to any person (the
* "User") obtaining a copy of this software and associated documentation
* files (the "Software"), to deal in the Software without restriction,
@@ -22,15 +22,15 @@
* publish, distribute, and/or sell copies of the Software, and to permit
* persons to whom the Software is furnished to do so, subject to the
* following conditions:
*
*
* 1. The above copyright notices and this permission notice (which
* includes the disclaimer below) shall be included in all copies or
* substantial portions of the Software.
*
*
* 2. The name of a copyright holder shall not be used to endorse or
* promote products derived from the Software without specific prior
* written permission.
*
*
* THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS
* LICENSE. NO USE OF THE SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER
* THIS DISCLAIMER. THE SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS
@@ -57,7 +57,7 @@
* PERSONAL INJURY, OR SEVERE PHYSICAL OR ENVIRONMENTAL DAMAGE ("HIGH
* RISK ACTIVITIES"). THE COPYRIGHT HOLDERS SPECIFICALLY DISCLAIM ANY
* EXPRESS OR IMPLIED WARRANTY OF FITNESS FOR HIGH RISK ACTIVITIES.
*
*
* __END_OF_JASPER_LICENSE__
*/
@@ -92,14 +92,14 @@
typedef struct {
/* The index for this entry. */
uint_fast16_t ind;
/* The index for this entry. */
uint_fast16_t ind;
/* The data length. */
uint_fast32_t len;
/* The data length. */
uint_fast32_t len;
/* The data. */
uchar *data;
/* The data. */
uchar *data;
} jpc_ppxstabent_t;
@@ -107,15 +107,15 @@ typedef struct {
typedef struct {
/* The number of entries. */
int numents;
/* The number of entries. */
int numents;
/* The maximum number of entries (i.e., the allocated size of the array
below). */
int maxents;
/* The maximum number of entries (i.e., the allocated size of the array
below). */
int maxents;
/* The table entries. */
jpc_ppxstabent_t **ents;
/* The table entries. */
jpc_ppxstabent_t **ents;
} jpc_ppxstab_t;
@@ -123,15 +123,15 @@ typedef struct {
typedef struct {
/* The number of streams in this list. */
int numstreams;
/* The number of streams in this list. */
int numstreams;
/* The maximum number of streams that can be accomodated without
growing the streams array. */
int maxstreams;
/* The maximum number of streams that can be accomodated without
growing the streams array. */
int maxstreams;
/* The streams. */
jas_stream_t **streams;
/* The streams. */
jas_stream_t **streams;
} jpc_streamlist_t;
@@ -143,47 +143,47 @@ typedef struct {
typedef struct {
/* How were various coding parameters set? */
int flags;
/* How were various coding parameters set? */
int flags;
/* Per-component coding style parameters (e.g., explicit precinct sizes) */
uint_fast8_t csty;
/* Per-component coding style parameters (e.g., explicit precinct sizes) */
uint_fast8_t csty;
/* The number of resolution levels. */
uint_fast8_t numrlvls;
/* The number of resolution levels. */
uint_fast8_t numrlvls;
/* The code block width exponent. */
uint_fast8_t cblkwidthexpn;
/* The code block width exponent. */
uint_fast8_t cblkwidthexpn;
/* The code block height exponent. */
uint_fast8_t cblkheightexpn;
/* The code block height exponent. */
uint_fast8_t cblkheightexpn;
/* The QMFB ID. */
uint_fast8_t qmfbid;
/* The QMFB ID. */
uint_fast8_t qmfbid;
/* The quantization style. */
uint_fast8_t qsty;
/* The quantization style. */
uint_fast8_t qsty;
/* The number of quantizer step sizes. */
uint_fast16_t numstepsizes;
/* The number of quantizer step sizes. */
uint_fast16_t numstepsizes;
/* The step sizes. */
uint_fast16_t stepsizes[3 * JPC_MAXRLVLS + 1];
/* The step sizes. */
uint_fast16_t stepsizes[3 * JPC_MAXRLVLS + 1];
/* The number of guard bits. */
uint_fast8_t numguardbits;
/* The number of guard bits. */
uint_fast8_t numguardbits;
/* The ROI shift value. */
uint_fast8_t roishift;
/* The ROI shift value. */
uint_fast8_t roishift;
/* The code block parameters. */
uint_fast8_t cblkctx;
/* The code block parameters. */
uint_fast8_t cblkctx;
/* The precinct width exponents. */
uint_fast8_t prcwidthexpns[JPC_MAXRLVLS];
/* The precinct width exponents. */
uint_fast8_t prcwidthexpns[JPC_MAXRLVLS];
/* The precinct height exponents. */
uint_fast8_t prcheightexpns[JPC_MAXRLVLS];
/* The precinct height exponents. */
uint_fast8_t prcheightexpns[JPC_MAXRLVLS];
} jpc_dec_ccp_t;
@@ -191,29 +191,29 @@ typedef struct {
typedef struct {
/* How were these coding parameters set? */
int flags;
/* How were these coding parameters set? */
int flags;
/* Progression change list. */
jpc_pchglist_t *pchglist;
/* Progression change list. */
jpc_pchglist_t *pchglist;
/* Progression order. */
uint_fast8_t prgord;
/* Progression order. */
uint_fast8_t prgord;
/* The number of layers. */
uint_fast16_t numlyrs;
/* The number of layers. */
uint_fast16_t numlyrs;
/* The MCT ID. */
uint_fast8_t mctid;
/* The MCT ID. */
uint_fast8_t mctid;
/* The coding style parameters (e.g., SOP, EPH). */
uint_fast8_t csty;
/* The coding style parameters (e.g., SOP, EPH). */
uint_fast8_t csty;
/* The number of components. */
int numcomps;
/* The number of components. */
int numcomps;
/* The per-component coding parameters. */
jpc_dec_ccp_t *ccps;
/* The per-component coding parameters. */
jpc_dec_ccp_t *ccps;
} jpc_dec_cp_t;
@@ -225,38 +225,38 @@ typedef struct {
typedef struct jpc_dec_seg_s {
/* The next segment in the list. */
struct jpc_dec_seg_s *next;
/* The next segment in the list. */
struct jpc_dec_seg_s *next;
/* The previous segment in the list. */
struct jpc_dec_seg_s *prev;
/* The previous segment in the list. */
struct jpc_dec_seg_s *prev;
/* The starting pass number for this segment. */
int passno;
/* The starting pass number for this segment. */
int passno;
/* The number of passes in this segment. */
int numpasses;
/* The number of passes in this segment. */
int numpasses;
/* The maximum number of passes in this segment. */
int maxpasses;
/* The maximum number of passes in this segment. */
int maxpasses;
/* The type of data in this segment (i.e., MQ or raw). */
int type;
/* The type of data in this segment (i.e., MQ or raw). */
int type;
/* A stream containing the data for this segment. */
jas_stream_t *stream;
/* A stream containing the data for this segment. */
jas_stream_t *stream;
/* The number of bytes destined for this segment from the packet
currently being decoded. */
int cnt;
/* The number of bytes destined for this segment from the packet
currently being decoded. */
int cnt;
/* A flag indicating if this segment has been terminated. */
int complete;
/* A flag indicating if this segment has been terminated. */
int complete;
/* The layer number to which this segment belongs. */
/* If the segment spans multiple layers, then the largest layer number
spanned by the segment is used. */
int lyrno;
/* The layer number to which this segment belongs. */
/* If the segment spans multiple layers, then the largest layer number
spanned by the segment is used. */
int lyrno;
} jpc_dec_seg_t;
@@ -264,11 +264,11 @@ typedef struct jpc_dec_seg_s {
typedef struct {
/* The first entry in the list. */
jpc_dec_seg_t *head;
/* The first entry in the list. */
jpc_dec_seg_t *head;
/* The last entry in the list. */
jpc_dec_seg_t *tail;
/* The last entry in the list. */
jpc_dec_seg_t *tail;
} jpc_dec_seglist_t;
@@ -276,35 +276,35 @@ typedef struct {
typedef struct {
/* The number of passes. */
int numpasses;
/* The number of passes. */
int numpasses;
/* A list of segments that still need to be decoded. */
jpc_dec_seglist_t segs;
/* A list of segments that still need to be decoded. */
jpc_dec_seglist_t segs;
/* The first incomplete/partial segment. */
jpc_dec_seg_t *curseg;
/* The first incomplete/partial segment. */
jpc_dec_seg_t *curseg;
/* The number of leading insignificant bit planes for this code block. */
int numimsbs;
/* The number of leading insignificant bit planes for this code block. */
int numimsbs;
/* The number of bits used to encode pass data lengths. */
int numlenbits;
/* The number of bits used to encode pass data lengths. */
int numlenbits;
/* The first pass number containing data for this code block. */
int firstpassno;
/* The first pass number containing data for this code block. */
int firstpassno;
/* The MQ decoder. */
jpc_mqdec_t *mqdec;
/* The MQ decoder. */
jpc_mqdec_t *mqdec;
/* The raw bit stream decoder. */
jpc_bitstream_t *nulldec;
/* The raw bit stream decoder. */
jpc_bitstream_t *nulldec;
/* The per-sample state information for this code block. */
jas_matrix_t *flags;
/* The per-sample state information for this code block. */
jas_matrix_t *flags;
/* The sample data associated with this code block. */
jas_matrix_t *data;
/* The sample data associated with this code block. */
jas_matrix_t *data;
} jpc_dec_cblk_t;
@@ -312,39 +312,39 @@ typedef struct {
typedef struct {
/* The x-coordinate of the top-left corner of the precinct. */
uint_fast32_t xstart;
/* The x-coordinate of the top-left corner of the precinct. */
uint_fast32_t xstart;
/* The y-coordinate of the top-left corner of the precinct. */
uint_fast32_t ystart;
/* The y-coordinate of the top-left corner of the precinct. */
uint_fast32_t ystart;
/* The x-coordinate of the bottom-right corner of the precinct
(plus one). */
uint_fast32_t xend;
/* The x-coordinate of the bottom-right corner of the precinct
(plus one). */
uint_fast32_t xend;
/* The y-coordinate of the bottom-right corner of the precinct
(plus one). */
uint_fast32_t yend;
/* The y-coordinate of the bottom-right corner of the precinct
(plus one). */
uint_fast32_t yend;
/* The number of code blocks spanning this precinct in the horizontal
direction. */
int numhcblks;
/* The number of code blocks spanning this precinct in the horizontal
direction. */
int numhcblks;
/* The number of code blocks spanning this precinct in the vertical
direction. */
int numvcblks;
/* The number of code blocks spanning this precinct in the vertical
direction. */
int numvcblks;
/* The total number of code blocks in this precinct. */
int numcblks;
/* The total number of code blocks in this precinct. */
int numcblks;
/* The per code block information. */
jpc_dec_cblk_t *cblks;
/* The per code block information. */
jpc_dec_cblk_t *cblks;
/* The inclusion tag tree. */
jpc_tagtree_t *incltagtree;
/* The inclusion tag tree. */
jpc_tagtree_t *incltagtree;
/* The insignificant MSBs tag tree. */
jpc_tagtree_t *numimsbstagtree;
/* The insignificant MSBs tag tree. */
jpc_tagtree_t *numimsbstagtree;
} jpc_dec_prc_t;
@@ -352,29 +352,29 @@ typedef struct {
typedef struct {
/* The per-code-block-group state information. */
jpc_dec_prc_t *prcs;
/* The per-code-block-group state information. */
jpc_dec_prc_t *prcs;
/* The sample data associated with this band. */
jas_matrix_t *data;
/* The sample data associated with this band. */
jas_matrix_t *data;
/* The orientation of this band (i.e., LL, LH, HL, or HH). */
int orient;
/* The orientation of this band (i.e., LL, LH, HL, or HH). */
int orient;
/* The encoded quantizer step size. */
int stepsize;
/* The encoded quantizer step size. */
int stepsize;
/* The absolute quantizer step size. */
jpc_fix_t absstepsize;
/* The absolute quantizer step size. */
jpc_fix_t absstepsize;
/* The number of bit planes for this band. */
int numbps;
/* The number of bit planes for this band. */
int numbps;
/* The analysis gain associated with this band. */
int analgain;
/* The analysis gain associated with this band. */
int analgain;
/* The ROI shift value for this band. */
int roishift;
/* The ROI shift value for this band. */
int roishift;
} jpc_dec_band_t;
@@ -382,60 +382,60 @@ typedef struct {
typedef struct {
/* The number of bands associated with this resolution level. */
int numbands;
/* The number of bands associated with this resolution level. */
int numbands;
/* The per-band information. */
jpc_dec_band_t *bands;
/* The per-band information. */
jpc_dec_band_t *bands;
/* The x-coordinate of the top-left corner of the tile-component
at this resolution. */
uint_fast32_t xstart;
/* The x-coordinate of the top-left corner of the tile-component
at this resolution. */
uint_fast32_t xstart;
/* The y-coordinate of the top-left corner of the tile-component
at this resolution. */
uint_fast32_t ystart;
/* The y-coordinate of the top-left corner of the tile-component
at this resolution. */
uint_fast32_t ystart;
/* The x-coordinate of the bottom-right corner of the tile-component
at this resolution (plus one). */
uint_fast32_t xend;
/* The x-coordinate of the bottom-right corner of the tile-component
at this resolution (plus one). */
uint_fast32_t xend;
/* The y-coordinate of the bottom-right corner of the tile-component
at this resolution (plus one). */
uint_fast32_t yend;
/* The y-coordinate of the bottom-right corner of the tile-component
at this resolution (plus one). */
uint_fast32_t yend;
/* The exponent value for the nominal precinct width measured
relative to the associated LL band. */
int prcwidthexpn;
/* The exponent value for the nominal precinct width measured
relative to the associated LL band. */
int prcwidthexpn;
/* The exponent value for the nominal precinct height measured
relative to the associated LL band. */
int prcheightexpn;
/* The exponent value for the nominal precinct height measured
relative to the associated LL band. */
int prcheightexpn;
/* The number of precincts in the horizontal direction. */
int numhprcs;
/* The number of precincts in the horizontal direction. */
int numhprcs;
/* The number of precincts in the vertical direction. */
int numvprcs;
/* The number of precincts in the vertical direction. */
int numvprcs;
/* The total number of precincts. */
int numprcs;
/* The total number of precincts. */
int numprcs;
/* The exponent value for the nominal code block group width.
This quantity is associated with the next lower resolution level
(assuming that there is one). */
int cbgwidthexpn;
/* The exponent value for the nominal code block group width.
This quantity is associated with the next lower resolution level
(assuming that there is one). */
int cbgwidthexpn;
/* The exponent value for the nominal code block group height
This quantity is associated with the next lower resolution level
(assuming that there is one). */
int cbgheightexpn;
/* The exponent value for the nominal code block group height
This quantity is associated with the next lower resolution level
(assuming that there is one). */
int cbgheightexpn;
/* The exponent value for the code block width. */
uint_fast16_t cblkwidthexpn;
/* The exponent value for the code block width. */
uint_fast16_t cblkwidthexpn;
/* The exponent value for the code block height. */
uint_fast16_t cblkheightexpn;
/* The exponent value for the code block height. */
uint_fast16_t cblkheightexpn;
} jpc_dec_rlvl_t;
@@ -443,33 +443,33 @@ typedef struct {
typedef struct {
/* The x-coordinate of the top-left corner of the tile-component
in the coordinate system of the tile-component. */
uint_fast32_t xstart;
/* The x-coordinate of the top-left corner of the tile-component
in the coordinate system of the tile-component. */
uint_fast32_t xstart;
/* The y-coordinate of the top-left corner of the tile-component
in the coordinate system of the tile-component. */
uint_fast32_t ystart;
/* The y-coordinate of the top-left corner of the tile-component
in the coordinate system of the tile-component. */
uint_fast32_t ystart;
/* The x-coordinate of the bottom-right corner of the tile-component
in the coordinate system of the tile-component (plus one). */
uint_fast32_t xend;
/* The x-coordinate of the bottom-right corner of the tile-component
in the coordinate system of the tile-component (plus one). */
uint_fast32_t xend;
/* The y-coordinate of the bottom-right corner of the tile-component
in the coordinate system of the tile-component (plus one). */
uint_fast32_t yend;
/* The y-coordinate of the bottom-right corner of the tile-component
in the coordinate system of the tile-component (plus one). */
uint_fast32_t yend;
/* The component data for the current tile. */
jas_matrix_t *data;
/* The component data for the current tile. */
jas_matrix_t *data;
/* The number of resolution levels. */
int numrlvls;
/* The number of resolution levels. */
int numrlvls;
/* The per resolution level information. */
jpc_dec_rlvl_t *rlvls;
/* The per resolution level information. */
jpc_dec_rlvl_t *rlvls;
/* The TSFB. */
jpc_tsfb_t *tsfb;
/* The TSFB. */
jpc_tsfb_t *tsfb;
} jpc_dec_tcomp_t;
@@ -486,51 +486,51 @@ typedef struct {
typedef struct {
/* The processing state for this tile. */
int state;
/* The processing state for this tile. */
int state;
/* The x-coordinate of the top-left corner of the tile on the reference
grid. */
uint_fast32_t xstart;
/* The x-coordinate of the top-left corner of the tile on the reference
grid. */
uint_fast32_t xstart;
/* The y-coordinate of the top-left corner of the tile on the reference
grid. */
uint_fast32_t ystart;
/* The y-coordinate of the top-left corner of the tile on the reference
grid. */
uint_fast32_t ystart;
/* The x-coordinate of the bottom-right corner of the tile on the
reference grid (plus one). */
uint_fast32_t xend;
/* The x-coordinate of the bottom-right corner of the tile on the
reference grid (plus one). */
uint_fast32_t xend;
/* The y-coordinate of the bottom-right corner of the tile on the
reference grid (plus one). */
uint_fast32_t yend;
/* The y-coordinate of the bottom-right corner of the tile on the
reference grid (plus one). */
uint_fast32_t yend;
/* The packed packet header data for this tile. */
jpc_ppxstab_t *pptstab;
/* The packed packet header data for this tile. */
jpc_ppxstab_t *pptstab;
/* A stream containing the packed packet header data for this tile. */
jas_stream_t *pkthdrstream;
/* A stream containing the packed packet header data for this tile. */
jas_stream_t *pkthdrstream;
/* The current position within the packed packet header stream. */
long pkthdrstreampos;
/* The current position within the packed packet header stream. */
long pkthdrstreampos;
/* The coding parameters for this tile. */
jpc_dec_cp_t *cp;
/* The coding parameters for this tile. */
jpc_dec_cp_t *cp;
/* The per tile-component information. */
jpc_dec_tcomp_t *tcomps;
/* The per tile-component information. */
jpc_dec_tcomp_t *tcomps;
/* The next expected tile-part number. */
int partno;
/* The next expected tile-part number. */
int partno;
/* The number of tile-parts. */
int numparts;
/* The number of tile-parts. */
int numparts;
/* The coding mode. */
int realmode;
/* The coding mode. */
int realmode;
/* The packet iterator for this tile. */
jpc_pi_t *pi;
/* The packet iterator for this tile. */
jpc_pi_t *pi;
} jpc_dec_tile_t;
@@ -538,29 +538,29 @@ typedef struct {
typedef struct {
/* The horizontal sampling period. */
uint_fast32_t hstep;
/* The horizontal sampling period. */
uint_fast32_t hstep;
/* The vertical sampling period. */
uint_fast32_t vstep;
/* The vertical sampling period. */
uint_fast32_t vstep;
/* The number of samples in the horizontal direction. */
uint_fast32_t width;
/* The number of samples in the horizontal direction. */
uint_fast32_t width;
/* The number of samples in the vertical direction. */
uint_fast32_t height;
/* The number of samples in the vertical direction. */
uint_fast32_t height;
/* The precision of the sample data. */
uint_fast16_t prec;
/* The precision of the sample data. */
uint_fast16_t prec;
/* The signedness of the sample data. */
bool sgnd;
/* The signedness of the sample data. */
bool sgnd;
/* The sample alignment horizontal offset. */
uint_fast32_t hsubstep;
/* The sample alignment vertical offset. */
uint_fast32_t vsubstep;
/* The sample alignment horizontal offset. */
uint_fast32_t hsubstep;
/* The sample alignment vertical offset. */
uint_fast32_t vsubstep;
} jpc_dec_cmpt_t;
@@ -568,96 +568,96 @@ typedef struct {
typedef struct {
/* The decoded image. */
jas_image_t *image;
/* The decoded image. */
jas_image_t *image;
/* The x-coordinate of the top-left corner of the image area on
the reference grid. */
uint_fast32_t xstart;
/* The x-coordinate of the top-left corner of the image area on
the reference grid. */
uint_fast32_t xstart;
/* The y-coordinate of the top-left corner of the image area on
the reference grid. */
uint_fast32_t ystart;
/* The y-coordinate of the top-left corner of the image area on
the reference grid. */
uint_fast32_t ystart;
/* The x-coordinate of the bottom-right corner of the image area on
the reference grid (plus one). */
uint_fast32_t xend;
/* The x-coordinate of the bottom-right corner of the image area on
the reference grid (plus one). */
uint_fast32_t xend;
/* The y-coordinate of the bottom-right corner of the image area on
the reference grid (plus one). */
uint_fast32_t yend;
/* The y-coordinate of the bottom-right corner of the image area on
the reference grid (plus one). */
uint_fast32_t yend;
/* The nominal tile width in units of the image reference grid. */
uint_fast32_t tilewidth;
/* The nominal tile width in units of the image reference grid. */
uint_fast32_t tilewidth;
/* The nominal tile height in units of the image reference grid. */
uint_fast32_t tileheight;
/* The nominal tile height in units of the image reference grid. */
uint_fast32_t tileheight;
/* The horizontal offset from the origin of the reference grid to the
left side of the first tile. */
uint_fast32_t tilexoff;
/* The horizontal offset from the origin of the reference grid to the
left side of the first tile. */
uint_fast32_t tilexoff;
/* The vertical offset from the origin of the reference grid to the
top side of the first tile. */
uint_fast32_t tileyoff;
/* The vertical offset from the origin of the reference grid to the
top side of the first tile. */
uint_fast32_t tileyoff;
/* The number of tiles spanning the image area in the vertical
direction. */
int numhtiles;
/* The number of tiles spanning the image area in the vertical
direction. */
int numhtiles;
/* The number of tiles spanning the image area in the horizontal
direction. */
int numvtiles;
/* The number of tiles spanning the image area in the horizontal
direction. */
int numvtiles;
/* The total number of tiles. */
int numtiles;
/* The total number of tiles. */
int numtiles;
/* The per-tile information. */
jpc_dec_tile_t *tiles;
/* The per-tile information. */
jpc_dec_tile_t *tiles;
/* The tile currently being processed. */
jpc_dec_tile_t *curtile;
/* The tile currently being processed. */
jpc_dec_tile_t *curtile;
/* The number of components. */
int numcomps;
/* The number of components. */
int numcomps;
/* The stream containing the input JPEG-2000 code stream data. */
jas_stream_t *in;
/* The stream containing the input JPEG-2000 code stream data. */
jas_stream_t *in;
/* The default coding parameters for all tiles. */
jpc_dec_cp_t *cp;
/* The default coding parameters for all tiles. */
jpc_dec_cp_t *cp;
/* The maximum number of layers that may be decoded. */
int maxlyrs;
/* The maximum number of layers that may be decoded. */
int maxlyrs;
/* The maximum number of packets that may be decoded. */
int maxpkts;
/* The maximum number of packets that may be decoded. */
int maxpkts;
/* The number of packets decoded so far in the processing of the entire
code stream. */
int numpkts;
/* The number of packets decoded so far in the processing of the entire
code stream. */
int numpkts;
/* The next expected PPM marker segment sequence number. */
int ppmseqno;
/* The next expected PPM marker segment sequence number. */
int ppmseqno;
/* The current state for code stream processing. */
int state;
/* The current state for code stream processing. */
int state;
/* The per-component information. */
jpc_dec_cmpt_t *cmpts;
/* The per-component information. */
jpc_dec_cmpt_t *cmpts;
/* The information from PPM marker segments. */
jpc_ppxstab_t *ppmstab;
/* The information from PPM marker segments. */
jpc_ppxstab_t *ppmstab;
/* A list of streams containing packet header data from PPM marker
segments. */
jpc_streamlist_t *pkthdrstreams;
/* A list of streams containing packet header data from PPM marker
segments. */
jpc_streamlist_t *pkthdrstreams;
/* The expected ending offset for a tile-part. */
long curtileendoff;
/* The expected ending offset for a tile-part. */
long curtileendoff;
/* This is required by the tier-2 decoder. */
jpc_cstate_t *cstate;
/* This is required by the tier-2 decoder. */
jpc_cstate_t *cstate;
} jpc_dec_t;
@@ -665,14 +665,14 @@ typedef struct {
typedef struct {
/* The debug level for the decoder. */
int debug;
/* The debug level for the decoder. */
int debug;
/* The maximum number of layers to decode. */
int maxlyrs;
/* The maximum number of layers to decode. */
int maxlyrs;
/* The maximum number of packets to decode. */
int maxpkts;
/* The maximum number of packets to decode. */
int maxpkts;
} jpc_dec_importopts_t;

File diff suppressed because it is too large Load Diff

View File

@@ -6,15 +6,15 @@
*/
/* __START_OF_JASPER_LICENSE__
*
*
* JasPer License Version 2.0
*
*
* Copyright (c) 2001-2006 Michael David Adams
* Copyright (c) 1999-2000 Image Power, Inc.
* Copyright (c) 1999-2000 The University of British Columbia
*
*
* All rights reserved.
*
*
* Permission is hereby granted, free of charge, to any person (the
* "User") obtaining a copy of this software and associated documentation
* files (the "Software"), to deal in the Software without restriction,
@@ -22,15 +22,15 @@
* publish, distribute, and/or sell copies of the Software, and to permit
* persons to whom the Software is furnished to do so, subject to the
* following conditions:
*
*
* 1. The above copyright notices and this permission notice (which
* includes the disclaimer below) shall be included in all copies or
* substantial portions of the Software.
*
*
* 2. The name of a copyright holder shall not be used to endorse or
* promote products derived from the Software without specific prior
* written permission.
*
*
* THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS
* LICENSE. NO USE OF THE SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER
* THIS DISCLAIMER. THE SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS
@@ -57,7 +57,7 @@
* PERSONAL INJURY, OR SEVERE PHYSICAL OR ENVIRONMENTAL DAMAGE ("HIGH
* RISK ACTIVITIES"). THE COPYRIGHT HOLDERS SPECIFICALLY DISCLAIM ANY
* EXPRESS OR IMPLIED WARRANTY OF FITNESS FOR HIGH RISK ACTIVITIES.
*
*
* __END_OF_JASPER_LICENSE__
*/
@@ -100,29 +100,29 @@
typedef struct {
/* The horizontal sampling period. */
uint_fast8_t sampgrdstepx;
/* The horizontal sampling period. */
uint_fast8_t sampgrdstepx;
/* The vertical sampling period. */
uint_fast8_t sampgrdstepy;
/* The vertical sampling period. */
uint_fast8_t sampgrdstepy;
/* The sample alignment horizontal offset. */
uint_fast8_t sampgrdsubstepx;
/* The sample alignment horizontal offset. */
uint_fast8_t sampgrdsubstepx;
/* The sample alignment vertical offset. */
uint_fast8_t sampgrdsubstepy;
/* The sample alignment vertical offset. */
uint_fast8_t sampgrdsubstepy;
/* The precision of the samples. */
uint_fast8_t prec;
/* The precision of the samples. */
uint_fast8_t prec;
/* The signedness of the samples. */
bool sgnd;
/* The signedness of the samples. */
bool sgnd;
/* The number of step sizes. */
uint_fast16_t numstepsizes;
/* The number of step sizes. */
uint_fast16_t numstepsizes;
/* The quantizer step sizes. */
uint_fast16_t stepsizes[JPC_MAXBANDS];
/* The quantizer step sizes. */
uint_fast16_t stepsizes[JPC_MAXBANDS];
} jpc_enc_ccp_t;
@@ -130,24 +130,24 @@ typedef struct {
typedef struct {
/* The coding mode. */
bool intmode;
/* The coding mode. */
bool intmode;
/* The coding style (i.e., SOP, EPH). */
uint_fast8_t csty;
/* The coding style (i.e., SOP, EPH). */
uint_fast8_t csty;
/* The progression order. */
uint_fast8_t prg;
/* The progression order. */
uint_fast8_t prg;
/* The multicomponent transform. */
uint_fast8_t mctid;
/* The multicomponent transform. */
uint_fast8_t mctid;
/* The number of layers. */
uint_fast16_t numlyrs;
/* The number of layers. */
uint_fast16_t numlyrs;
/* The normalized bit rates associated with the various
intermediate layers. */
jpc_fix_t *ilyrrates;
/* The normalized bit rates associated with the various
intermediate layers. */
jpc_fix_t *ilyrrates;
} jpc_enc_tcp_t;
@@ -155,33 +155,33 @@ typedef struct {
typedef struct {
/* The coding style (i.e., explicit precinct sizes). */
uint_fast8_t csty;
/* The coding style (i.e., explicit precinct sizes). */
uint_fast8_t csty;
/* The maximum number of resolution levels allowed. */
uint_fast8_t maxrlvls;
/* The maximum number of resolution levels allowed. */
uint_fast8_t maxrlvls;
/* The exponent for the nominal code block width. */
uint_fast16_t cblkwidthexpn;
/* The exponent for the nominal code block width. */
uint_fast16_t cblkwidthexpn;
/* The exponent for the nominal code block height. */
uint_fast16_t cblkheightexpn;
/* The exponent for the nominal code block height. */
uint_fast16_t cblkheightexpn;
/* The code block style parameters (e.g., lazy, terminate all,
segmentation symbols, causal, reset probability models). */
uint_fast8_t cblksty;
/* The code block style parameters (e.g., lazy, terminate all,
segmentation symbols, causal, reset probability models). */
uint_fast8_t cblksty;
/* The QMFB. */
uint_fast8_t qmfbid;
/* The QMFB. */
uint_fast8_t qmfbid;
/* The precinct width values. */
uint_fast16_t prcwidthexpns[JPC_MAXRLVLS];
/* The precinct width values. */
uint_fast16_t prcwidthexpns[JPC_MAXRLVLS];
/* The precinct height values. */
uint_fast16_t prcheightexpns[JPC_MAXRLVLS];
/* The precinct height values. */
uint_fast16_t prcheightexpns[JPC_MAXRLVLS];
/* The number of guard bits. */
uint_fast8_t numgbits;
/* The number of guard bits. */
uint_fast8_t numgbits;
} jpc_enc_tccp_t;
@@ -189,67 +189,67 @@ typedef struct {
typedef struct {
/* The debug level. */
int debug;
/* The debug level. */
int debug;
/* The horizontal offset from the origin of the reference grid to the
left edge of the image area. */
uint_fast32_t imgareatlx;
/* The horizontal offset from the origin of the reference grid to the
left edge of the image area. */
uint_fast32_t imgareatlx;
/* The vertical offset from the origin of the reference grid to the
top edge of the image area. */
uint_fast32_t imgareatly;
/* The vertical offset from the origin of the reference grid to the
top edge of the image area. */
uint_fast32_t imgareatly;
/* The horizontal offset from the origin of the reference grid to the
right edge of the image area (plus one). */
uint_fast32_t refgrdwidth;
/* The horizontal offset from the origin of the reference grid to the
right edge of the image area (plus one). */
uint_fast32_t refgrdwidth;
/* The vertical offset from the origin of the reference grid to the
bottom edge of the image area (plus one). */
uint_fast32_t refgrdheight;
/* The vertical offset from the origin of the reference grid to the
bottom edge of the image area (plus one). */
uint_fast32_t refgrdheight;
/* The horizontal offset from the origin of the tile grid to the
origin of the reference grid. */
uint_fast32_t tilegrdoffx;
/* The horizontal offset from the origin of the tile grid to the
origin of the reference grid. */
uint_fast32_t tilegrdoffx;
/* The vertical offset from the origin of the tile grid to the
origin of the reference grid. */
uint_fast32_t tilegrdoffy;
/* The vertical offset from the origin of the tile grid to the
origin of the reference grid. */
uint_fast32_t tilegrdoffy;
/* The nominal tile width in units of the image reference grid. */
uint_fast32_t tilewidth;
/* The nominal tile width in units of the image reference grid. */
uint_fast32_t tilewidth;
/* The nominal tile height in units of the image reference grid. */
uint_fast32_t tileheight;
/* The nominal tile height in units of the image reference grid. */
uint_fast32_t tileheight;
/* The number of tiles spanning the image area in the horizontal
direction. */
uint_fast32_t numhtiles;
/* The number of tiles spanning the image area in the horizontal
direction. */
uint_fast32_t numhtiles;
/* The number of tiles spanning the image area in the vertical
direction. */
uint_fast32_t numvtiles;
/* The number of tiles spanning the image area in the vertical
direction. */
uint_fast32_t numvtiles;
/* The number of tiles. */
uint_fast32_t numtiles;
/* The number of tiles. */
uint_fast32_t numtiles;
/* The number of components. */
uint_fast16_t numcmpts;
/* The number of components. */
uint_fast16_t numcmpts;
/* The per-component coding parameters. */
jpc_enc_ccp_t *ccps;
/* The per-component coding parameters. */
jpc_enc_ccp_t *ccps;
/* The per-tile coding parameters. */
jpc_enc_tcp_t tcp;
/* The per-tile coding parameters. */
jpc_enc_tcp_t tcp;
/* The per-tile-component coding parameters. */
jpc_enc_tccp_t tccp;
/* The per-tile-component coding parameters. */
jpc_enc_tccp_t tccp;
/* The target code stream length in bytes. */
uint_fast32_t totalsize;
/* The target code stream length in bytes. */
uint_fast32_t totalsize;
/* The raw (i.e., uncompressed) size of the image in bytes. */
uint_fast32_t rawsize;
/* The raw (i.e., uncompressed) size of the image in bytes. */
uint_fast32_t rawsize;
} jpc_enc_cp_t;
@@ -261,35 +261,35 @@ typedef struct {
typedef struct {
/* The starting offset for this pass. */
int start;
/* The starting offset for this pass. */
int start;
/* The ending offset for this pass. */
int end;
/* The ending offset for this pass. */
int end;
/* The type of data in this pass (i.e., MQ or raw). */
int type;
/* The type of data in this pass (i.e., MQ or raw). */
int type;
/* Flag indicating that this pass is terminated. */
int term;
/* Flag indicating that this pass is terminated. */
int term;
/* The entropy coder state after coding this pass. */
jpc_mqencstate_t mqencstate;
/* The entropy coder state after coding this pass. */
jpc_mqencstate_t mqencstate;
/* The layer to which this pass has been assigned. */
int lyrno;
/* The layer to which this pass has been assigned. */
int lyrno;
/* The R-D slope for this pass. */
jpc_flt_t rdslope;
/* The R-D slope for this pass. */
jpc_flt_t rdslope;
/* The weighted MSE reduction associated with this pass. */
jpc_flt_t wmsedec;
/* The weighted MSE reduction associated with this pass. */
jpc_flt_t wmsedec;
/* The cumulative weighted MSE reduction. */
jpc_flt_t cumwmsedec;
/* The cumulative weighted MSE reduction. */
jpc_flt_t cumwmsedec;
/* The normalized MSE reduction. */
long nmsedec;
/* The normalized MSE reduction. */
long nmsedec;
} jpc_enc_pass_t;
@@ -297,53 +297,53 @@ typedef struct {
typedef struct {
/* The number of passes. */
int numpasses;
/* The number of passes. */
int numpasses;
/* The per-pass information. */
jpc_enc_pass_t *passes;
/* The per-pass information. */
jpc_enc_pass_t *passes;
/* The number of passes encoded so far. */
int numencpasses;
/* The number of passes encoded so far. */
int numencpasses;
/* The number of insignificant MSBs. */
int numimsbs;
/* The number of insignificant MSBs. */
int numimsbs;
/* The number of bits used to encode pass data lengths. */
int numlenbits;
/* The number of bits used to encode pass data lengths. */
int numlenbits;
/* The byte stream for this code block. */
jas_stream_t *stream;
/* The byte stream for this code block. */
jas_stream_t *stream;
/* The entropy encoder. */
jpc_mqenc_t *mqenc;
/* The entropy encoder. */
jpc_mqenc_t *mqenc;
/* The data for this code block. */
jas_matrix_t *data;
/* The data for this code block. */
jas_matrix_t *data;
/* The state for this code block. */
jas_matrix_t *flags;
/* The state for this code block. */
jas_matrix_t *flags;
/* The number of bit planes required for this code block. */
int numbps;
/* The number of bit planes required for this code block. */
int numbps;
/* The next pass to be encoded. */
jpc_enc_pass_t *curpass;
/* The next pass to be encoded. */
jpc_enc_pass_t *curpass;
/* The per-code-block-group state information. */
struct jpc_enc_prc_s *prc;
/* The per-code-block-group state information. */
struct jpc_enc_prc_s *prc;
/* The saved current pass. */
/* This is used by the rate control code. */
jpc_enc_pass_t *savedcurpass;
/* The saved current pass. */
/* This is used by the rate control code. */
jpc_enc_pass_t *savedcurpass;
/* The saved length indicator size. */
/* This is used by the rate control code. */
int savednumlenbits;
/* The saved length indicator size. */
/* This is used by the rate control code. */
int savednumlenbits;
/* The saved number of encoded passes. */
/* This is used by the rate control code. */
int savednumencpasses;
/* The saved number of encoded passes. */
/* This is used by the rate control code. */
int savednumencpasses;
} jpc_enc_cblk_t;
@@ -351,50 +351,50 @@ typedef struct {
typedef struct jpc_enc_prc_s {
/* The x-coordinate of the top-left corner of the precinct. */
uint_fast32_t tlx;
/* The x-coordinate of the top-left corner of the precinct. */
uint_fast32_t tlx;
/* The y-coordinate of the top-left corner of the precinct. */
uint_fast32_t tly;
/* The y-coordinate of the top-left corner of the precinct. */
uint_fast32_t tly;
/* The x-coordinate of the bottom-right corner of the precinct
(plus one). */
uint_fast32_t brx;
/* The x-coordinate of the bottom-right corner of the precinct
(plus one). */
uint_fast32_t brx;
/* The y-coordinate of the bottom-right corner of the precinct
(plus one). */
uint_fast32_t bry;
/* The y-coordinate of the bottom-right corner of the precinct
(plus one). */
uint_fast32_t bry;
/* The number of code blocks spanning the precinct in the horizontal
direction. */
int numhcblks;
/* The number of code blocks spanning the precinct in the horizontal
direction. */
int numhcblks;
/* The number of code blocks spanning the precinct in the vertical
direction. */
int numvcblks;
/* The number of code blocks spanning the precinct in the vertical
direction. */
int numvcblks;
/* The total number of code blocks. */
int numcblks;
/* The total number of code blocks. */
int numcblks;
/* The per-code-block information. */
jpc_enc_cblk_t *cblks;
/* The per-code-block information. */
jpc_enc_cblk_t *cblks;
/* The inclusion tag tree. */
jpc_tagtree_t *incltree;
/* The inclusion tag tree. */
jpc_tagtree_t *incltree;
/* The insignifcant MSBs tag tree. */
jpc_tagtree_t *nlibtree;
/* The insignifcant MSBs tag tree. */
jpc_tagtree_t *nlibtree;
/* The per-band information. */
struct jpc_enc_band_s *band;
/* The per-band information. */
struct jpc_enc_band_s *band;
/* The saved inclusion tag tree. */
/* This is used by rate control. */
jpc_tagtree_t *savincltree;
/* The saved inclusion tag tree. */
/* This is used by rate control. */
jpc_tagtree_t *savincltree;
/* The saved leading-insignificant-bit-planes tag tree. */
/* This is used by rate control. */
jpc_tagtree_t *savnlibtree;
/* The saved leading-insignificant-bit-planes tag tree. */
/* This is used by rate control. */
jpc_tagtree_t *savnlibtree;
} jpc_enc_prc_t;
@@ -402,33 +402,33 @@ typedef struct jpc_enc_prc_s {
typedef struct jpc_enc_band_s {
/* The per precinct information. */
jpc_enc_prc_t *prcs;
/* The per precinct information. */
jpc_enc_prc_t *prcs;
/* The coefficient data for this band. */
jas_matrix_t *data;
/* The coefficient data for this band. */
jas_matrix_t *data;
/* The orientation of this band (i.e., LL, LH, HL, or HH). */
int orient;
/* The orientation of this band (i.e., LL, LH, HL, or HH). */
int orient;
/* The number of bit planes associated with this band. */
int numbps;
/* The number of bit planes associated with this band. */
int numbps;
/* The quantizer step size. */
jpc_fix_t absstepsize;
/* The quantizer step size. */
jpc_fix_t absstepsize;
/* The encoded quantizer step size. */
int stepsize;
/* The encoded quantizer step size. */
int stepsize;
/* The L2 norm of the synthesis basis functions associated with
this band. (The MCT is not considered in this value.) */
jpc_fix_t synweight;
/* The L2 norm of the synthesis basis functions associated with
this band. (The MCT is not considered in this value.) */
jpc_fix_t synweight;
/* The analysis gain for this band. */
int analgain;
/* The analysis gain for this band. */
int analgain;
/* The per-resolution-level information. */
struct jpc_enc_rlvl_s *rlvl;
/* The per-resolution-level information. */
struct jpc_enc_rlvl_s *rlvl;
} jpc_enc_band_t;
@@ -436,65 +436,65 @@ typedef struct jpc_enc_band_s {
typedef struct jpc_enc_rlvl_s {
/* The x-coordinate of the top-left corner of the tile-component
at this resolution. */
uint_fast32_t tlx;
/* The x-coordinate of the top-left corner of the tile-component
at this resolution. */
uint_fast32_t tlx;
/* The y-coordinate of the top-left corner of the tile-component
at this resolution. */
uint_fast32_t tly;
/* The y-coordinate of the top-left corner of the tile-component
at this resolution. */
uint_fast32_t tly;
/* The x-coordinate of the bottom-right corner of the tile-component
at this resolution (plus one). */
uint_fast32_t brx;
/* The x-coordinate of the bottom-right corner of the tile-component
at this resolution (plus one). */
uint_fast32_t brx;
/* The y-coordinate of the bottom-right corner of the tile-component
at this resolution (plus one). */
uint_fast32_t bry;
/* The y-coordinate of the bottom-right corner of the tile-component
at this resolution (plus one). */
uint_fast32_t bry;
/* The exponent value for the nominal precinct width measured
relative to the associated LL band. */
int prcwidthexpn;
/* The exponent value for the nominal precinct width measured
relative to the associated LL band. */
int prcwidthexpn;
/* The exponent value for the nominal precinct height measured
relative to the associated LL band. */
int prcheightexpn;
/* The exponent value for the nominal precinct height measured
relative to the associated LL band. */
int prcheightexpn;
/* The number of precincts spanning the resolution level in the
horizontal direction. */
int numhprcs;
/* The number of precincts spanning the resolution level in the
horizontal direction. */
int numhprcs;
/* The number of precincts spanning the resolution level in the
vertical direction. */
int numvprcs;
/* The number of precincts spanning the resolution level in the
vertical direction. */
int numvprcs;
/* The total number of precincts. */
int numprcs;
/* The total number of precincts. */
int numprcs;
/* The exponent value for the nominal code block group width.
This quantity is associated with the next lower resolution level
(assuming that there is one). */
int cbgwidthexpn;
/* The exponent value for the nominal code block group width.
This quantity is associated with the next lower resolution level
(assuming that there is one). */
int cbgwidthexpn;
/* The exponent value for the nominal code block group height.
This quantity is associated with the next lower resolution level
(assuming that there is one). */
int cbgheightexpn;
/* The exponent value for the nominal code block group height.
This quantity is associated with the next lower resolution level
(assuming that there is one). */
int cbgheightexpn;
/* The exponent value for the code block width. */
uint_fast16_t cblkwidthexpn;
/* The exponent value for the code block width. */
uint_fast16_t cblkwidthexpn;
/* The exponent value for the code block height. */
uint_fast16_t cblkheightexpn;
/* The exponent value for the code block height. */
uint_fast16_t cblkheightexpn;
/* The number of bands associated with this resolution level. */
int numbands;
/* The number of bands associated with this resolution level. */
int numbands;
/* The per-band information. */
jpc_enc_band_t *bands;
/* The per-band information. */
jpc_enc_band_t *bands;
/* The parent tile-component. */
struct jpc_enc_tcmpt_s *tcmpt;
/* The parent tile-component. */
struct jpc_enc_tcmpt_s *tcmpt;
} jpc_enc_rlvl_t;
@@ -502,53 +502,53 @@ typedef struct jpc_enc_rlvl_s {
typedef struct jpc_enc_tcmpt_s {
/* The number of resolution levels. */
int numrlvls;
/* The number of resolution levels. */
int numrlvls;
/* The per-resolution-level information. */
jpc_enc_rlvl_t *rlvls;
/* The per-resolution-level information. */
jpc_enc_rlvl_t *rlvls;
/* The tile-component data. */
jas_matrix_t *data;
/* The tile-component data. */
jas_matrix_t *data;
/* The QMFB. */
int qmfbid;
/* The QMFB. */
int qmfbid;
/* The number of bands. */
int numbands;
/* The number of bands. */
int numbands;
/* The TSFB. */
jpc_tsfb_t *tsfb;
/* The TSFB. */
jpc_tsfb_t *tsfb;
/* The synthesis energy weight (for the MCT). */
jpc_fix_t synweight;
/* The synthesis energy weight (for the MCT). */
jpc_fix_t synweight;
/* The precinct width exponents. */
int prcwidthexpns[JPC_MAXRLVLS];
/* The precinct width exponents. */
int prcwidthexpns[JPC_MAXRLVLS];
/* The precinct height exponents. */
int prcheightexpns[JPC_MAXRLVLS];
/* The precinct height exponents. */
int prcheightexpns[JPC_MAXRLVLS];
/* The code block width exponent. */
int cblkwidthexpn;
/* The code block width exponent. */
int cblkwidthexpn;
/* The code block height exponent. */
int cblkheightexpn;
/* The code block height exponent. */
int cblkheightexpn;
/* Coding style (i.e., explicit precinct sizes). */
int csty;
/* Coding style (i.e., explicit precinct sizes). */
int csty;
/* Code block style. */
int cblksty;
/* Code block style. */
int cblksty;
/* The number of quantizer step sizes. */
int numstepsizes;
/* The number of quantizer step sizes. */
int numstepsizes;
/* The encoded quantizer step sizes. */
uint_fast16_t stepsizes[JPC_MAXBANDS];
/* The encoded quantizer step sizes. */
uint_fast16_t stepsizes[JPC_MAXBANDS];
/* The parent tile. */
struct jpc_enc_tile_s *tile;
/* The parent tile. */
struct jpc_enc_tile_s *tile;
} jpc_enc_tcmpt_t;
@@ -556,55 +556,55 @@ typedef struct jpc_enc_tcmpt_s {
typedef struct jpc_enc_tile_s {
/* The tile number. */
uint_fast32_t tileno;
/* The tile number. */
uint_fast32_t tileno;
/* The x-coordinate of the top-left corner of the tile measured with
respect to the reference grid. */
uint_fast32_t tlx;
/* The x-coordinate of the top-left corner of the tile measured with
respect to the reference grid. */
uint_fast32_t tlx;
/* The y-coordinate of the top-left corner of the tile measured with
respect to the reference grid. */
uint_fast32_t tly;
/* The y-coordinate of the top-left corner of the tile measured with
respect to the reference grid. */
uint_fast32_t tly;
/* The x-coordinate of the bottom-right corner of the tile measured
with respect to the reference grid (plus one). */
uint_fast32_t brx;
/* The x-coordinate of the bottom-right corner of the tile measured
with respect to the reference grid (plus one). */
uint_fast32_t brx;
/* The y-coordinate of the bottom-right corner of the tile measured
with respect to the reference grid (plus one). */
uint_fast32_t bry;
/* The y-coordinate of the bottom-right corner of the tile measured
with respect to the reference grid (plus one). */
uint_fast32_t bry;
/* The coding style. */
uint_fast8_t csty;
/* The coding style. */
uint_fast8_t csty;
/* The progression order. */
uint_fast8_t prg;
/* The progression order. */
uint_fast8_t prg;
/* The number of layers. */
int numlyrs;
/* The number of layers. */
int numlyrs;
/* The MCT to employ (if any). */
uint_fast8_t mctid;
/* The MCT to employ (if any). */
uint_fast8_t mctid;
/* The packet iterator (used to determine the order of packet
generation). */
jpc_pi_t *pi;
/* The packet iterator (used to determine the order of packet
generation). */
jpc_pi_t *pi;
/* The coding mode (i.e., integer or real). */
bool intmode;
/* The coding mode (i.e., integer or real). */
bool intmode;
/* The number of bytes to allocate to the various layers. */
uint_fast32_t *lyrsizes;
/* The number of bytes to allocate to the various layers. */
uint_fast32_t *lyrsizes;
/* The number of tile-components. */
int numtcmpts;
/* The number of tile-components. */
int numtcmpts;
/* The per tile-component information. */
jpc_enc_tcmpt_t *tcmpts;
/* The per tile-component information. */
jpc_enc_tcmpt_t *tcmpts;
/* The raw (i.e., uncompressed) size of this tile. */
uint_fast32_t rawsize;
/* The raw (i.e., uncompressed) size of this tile. */
uint_fast32_t rawsize;
} jpc_enc_tile_t;
@@ -612,34 +612,34 @@ typedef struct jpc_enc_tile_s {
typedef struct jpc_enc_s {
/* The image being encoded. */
jas_image_t *image;
/* The image being encoded. */
jas_image_t *image;
/* The output stream. */
jas_stream_t *out;
/* The output stream. */
jas_stream_t *out;
/* The coding parameters. */
jpc_enc_cp_t *cp;
/* The coding parameters. */
jpc_enc_cp_t *cp;
/* The tile currently being processed. */
jpc_enc_tile_t *curtile;
/* The tile currently being processed. */
jpc_enc_tile_t *curtile;
/* The code stream state. */
jpc_cstate_t *cstate;
/* The code stream state. */
jpc_cstate_t *cstate;
/* The number of bytes output so far. */
uint_fast32_t len;
/* The number of bytes output so far. */
uint_fast32_t len;
/* The number of bytes available for the main body of the code stream. */
/* This is used for rate allocation purposes. */
uint_fast32_t mainbodysize;
/* The number of bytes available for the main body of the code stream. */
/* This is used for rate allocation purposes. */
uint_fast32_t mainbodysize;
/* The marker segment currently being processed. */
/* This member is a convenience for making cleanup easier. */
jpc_ms_t *mrk;
/* The marker segment currently being processed. */
/* This member is a convenience for making cleanup easier. */
jpc_ms_t *mrk;
/* The stream used to temporarily hold tile-part data. */
jas_stream_t *tmpstream;
/* The stream used to temporarily hold tile-part data. */
jas_stream_t *tmpstream;
} jpc_enc_t;

View File

@@ -6,15 +6,15 @@
*/
/* __START_OF_JASPER_LICENSE__
*
*
* JasPer License Version 2.0
*
*
* Copyright (c) 2001-2006 Michael David Adams
* Copyright (c) 1999-2000 Image Power, Inc.
* Copyright (c) 1999-2000 The University of British Columbia
*
*
* All rights reserved.
*
*
* Permission is hereby granted, free of charge, to any person (the
* "User") obtaining a copy of this software and associated documentation
* files (the "Software"), to deal in the Software without restriction,
@@ -22,15 +22,15 @@
* publish, distribute, and/or sell copies of the Software, and to permit
* persons to whom the Software is furnished to do so, subject to the
* following conditions:
*
*
* 1. The above copyright notices and this permission notice (which
* includes the disclaimer below) shall be included in all copies or
* substantial portions of the Software.
*
*
* 2. The name of a copyright holder shall not be used to endorse or
* promote products derived from the Software without specific prior
* written permission.
*
*
* THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS
* LICENSE. NO USE OF THE SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER
* THIS DISCLAIMER. THE SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS
@@ -57,7 +57,7 @@
* PERSONAL INJURY, OR SEVERE PHYSICAL OR ENVIRONMENTAL DAMAGE ("HIGH
* RISK ACTIVITIES"). THE COPYRIGHT HOLDERS SPECIFICALLY DISCLAIM ANY
* EXPRESS OR IMPLIED WARRANTY OF FITNESS FOR HIGH RISK ACTIVITIES.
*
*
* __END_OF_JASPER_LICENSE__
*/
@@ -113,11 +113,11 @@ typedef int_fast64_t jpc_fix_big_t;
#define jpc_fix_add(x, y) JAS_FIX_ADD(jpc_fix_t, JPC_FIX_FRACBITS, x, y)
#define jpc_fix_sub(x, y) JAS_FIX_SUB(jpc_fix_t, JPC_FIX_FRACBITS, x, y)
#define jpc_fix_mul(x, y) \
JAS_FIX_MUL(jpc_fix_t, JPC_FIX_FRACBITS, jpc_fix_big_t, x, y)
JAS_FIX_MUL(jpc_fix_t, JPC_FIX_FRACBITS, jpc_fix_big_t, x, y)
#define jpc_fix_mulbyint(x, y) \
JAS_FIX_MULBYINT(jpc_fix_t, JPC_FIX_FRACBITS, x, y)
JAS_FIX_MULBYINT(jpc_fix_t, JPC_FIX_FRACBITS, x, y)
#define jpc_fix_div(x, y) \
JAS_FIX_DIV(jpc_fix_t, JPC_FIX_FRACBITS, jpc_fix_big_t, x, y)
JAS_FIX_DIV(jpc_fix_t, JPC_FIX_FRACBITS, jpc_fix_big_t, x, y)
#define jpc_fix_neg(x) JAS_FIX_NEG(jpc_fix_t, JPC_FIX_FRACBITS, x)
#define jpc_fix_asl(x, n) JAS_FIX_ASL(jpc_fix_t, JPC_FIX_FRACBITS, x, n)
#define jpc_fix_asr(x, n) JAS_FIX_ASR(jpc_fix_t, JPC_FIX_FRACBITS, x, n)
@@ -125,7 +125,7 @@ typedef int_fast64_t jpc_fix_big_t;
#define jpc_fix_pluseq(x, y) JAS_FIX_PLUSEQ(jpc_fix_t, JPC_FIX_FRACBITS, x, y)
#define jpc_fix_minuseq(x, y) JAS_FIX_MINUSEQ(jpc_fix_t, JPC_FIX_FRACBITS, x, y)
#define jpc_fix_muleq(x, y) \
JAS_FIX_MULEQ(jpc_fix_t, JPC_FIX_FRACBITS, jpc_fix_big_t, x, y)
JAS_FIX_MULEQ(jpc_fix_t, JPC_FIX_FRACBITS, jpc_fix_big_t, x, y)
#define jpc_fix_abs(x) JAS_FIX_ABS(jpc_fix_t, JPC_FIX_FRACBITS, x)
#define jpc_fix_isint(x) JAS_FIX_ISINT(jpc_fix_t, JPC_FIX_FRACBITS, x)

View File

@@ -6,15 +6,15 @@
*/
/* __START_OF_JASPER_LICENSE__
*
*
* JasPer License Version 2.0
*
*
* Copyright (c) 2001-2006 Michael David Adams
* Copyright (c) 1999-2000 Image Power, Inc.
* Copyright (c) 1999-2000 The University of British Columbia
*
*
* All rights reserved.
*
*
* Permission is hereby granted, free of charge, to any person (the
* "User") obtaining a copy of this software and associated documentation
* files (the "Software"), to deal in the Software without restriction,
@@ -22,15 +22,15 @@
* publish, distribute, and/or sell copies of the Software, and to permit
* persons to whom the Software is furnished to do so, subject to the
* following conditions:
*
*
* 1. The above copyright notices and this permission notice (which
* includes the disclaimer below) shall be included in all copies or
* substantial portions of the Software.
*
*
* 2. The name of a copyright holder shall not be used to endorse or
* promote products derived from the Software without specific prior
* written permission.
*
*
* THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS
* LICENSE. NO USE OF THE SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER
* THIS DISCLAIMER. THE SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS
@@ -57,7 +57,7 @@
* PERSONAL INJURY, OR SEVERE PHYSICAL OR ENVIRONMENTAL DAMAGE ("HIGH
* RISK ACTIVITIES"). THE COPYRIGHT HOLDERS SPECIFICALLY DISCLAIM ANY
* EXPRESS OR IMPLIED WARRANTY OF FITNESS FOR HIGH RISK ACTIVITIES.
*
*
* __END_OF_JASPER_LICENSE__
*/

View File

@@ -6,15 +6,15 @@
*/
/* __START_OF_JASPER_LICENSE__
*
*
* JasPer License Version 2.0
*
*
* Copyright (c) 2001-2006 Michael David Adams
* Copyright (c) 1999-2000 Image Power, Inc.
* Copyright (c) 1999-2000 The University of British Columbia
*
*
* All rights reserved.
*
*
* Permission is hereby granted, free of charge, to any person (the
* "User") obtaining a copy of this software and associated documentation
* files (the "Software"), to deal in the Software without restriction,
@@ -22,15 +22,15 @@
* publish, distribute, and/or sell copies of the Software, and to permit
* persons to whom the Software is furnished to do so, subject to the
* following conditions:
*
*
* 1. The above copyright notices and this permission notice (which
* includes the disclaimer below) shall be included in all copies or
* substantial portions of the Software.
*
*
* 2. The name of a copyright holder shall not be used to endorse or
* promote products derived from the Software without specific prior
* written permission.
*
*
* THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS
* LICENSE. NO USE OF THE SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER
* THIS DISCLAIMER. THE SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS
@@ -57,7 +57,7 @@
* PERSONAL INJURY, OR SEVERE PHYSICAL OR ENVIRONMENTAL DAMAGE ("HIGH
* RISK ACTIVITIES"). THE COPYRIGHT HOLDERS SPECIFICALLY DISCLAIM ANY
* EXPRESS OR IMPLIED WARRANTY OF FITNESS FOR HIGH RISK ACTIVITIES.
*
*
* __END_OF_JASPER_LICENSE__
*/
@@ -88,17 +88,17 @@
integer. */
int jpc_floorlog2(int x)
{
int y;
int y;
/* The argument must be positive. */
assert(x > 0);
/* The argument must be positive. */
assert(x > 0);
y = 0;
while (x > 1) {
x >>= 1;
++y;
}
return y;
y = 0;
while (x > 1) {
x >>= 1;
++y;
}
return y;
}
/* Calculate the bit position of the first leading one in a nonnegative
@@ -107,15 +107,15 @@ int jpc_floorlog2(int x)
allowable range for x is slightly different. */
int jpc_firstone(int x)
{
int n;
int n;
/* The argument must be nonnegative. */
assert(x >= 0);
/* The argument must be nonnegative. */
assert(x >= 0);
n = -1;
while (x > 0) {
x >>= 1;
++n;
}
return n;
n = -1;
while (x > 0) {
x >>= 1;
++n;
}
return n;
}

View File

@@ -4,15 +4,15 @@
*/
/* __START_OF_JASPER_LICENSE__
*
*
* JasPer License Version 2.0
*
*
* Copyright (c) 2001-2006 Michael David Adams
* Copyright (c) 1999-2000 Image Power, Inc.
* Copyright (c) 1999-2000 The University of British Columbia
*
*
* All rights reserved.
*
*
* Permission is hereby granted, free of charge, to any person (the
* "User") obtaining a copy of this software and associated documentation
* files (the "Software"), to deal in the Software without restriction,
@@ -20,15 +20,15 @@
* publish, distribute, and/or sell copies of the Software, and to permit
* persons to whom the Software is furnished to do so, subject to the
* following conditions:
*
*
* 1. The above copyright notices and this permission notice (which
* includes the disclaimer below) shall be included in all copies or
* substantial portions of the Software.
*
*
* 2. The name of a copyright holder shall not be used to endorse or
* promote products derived from the Software without specific prior
* written permission.
*
*
* THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS
* LICENSE. NO USE OF THE SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER
* THIS DISCLAIMER. THE SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS
@@ -55,7 +55,7 @@
* PERSONAL INJURY, OR SEVERE PHYSICAL OR ENVIRONMENTAL DAMAGE ("HIGH
* RISK ACTIVITIES"). THE COPYRIGHT HOLDERS SPECIFICALLY DISCLAIM ANY
* EXPRESS OR IMPLIED WARRANTY OF FITNESS FOR HIGH RISK ACTIVITIES.
*
*
* __END_OF_JASPER_LICENSE__
*/

View File

@@ -6,15 +6,15 @@
*/
/* __START_OF_JASPER_LICENSE__
*
*
* JasPer License Version 2.0
*
*
* Copyright (c) 2001-2006 Michael David Adams
* Copyright (c) 1999-2000 Image Power, Inc.
* Copyright (c) 1999-2000 The University of British Columbia
*
*
* All rights reserved.
*
*
* Permission is hereby granted, free of charge, to any person (the
* "User") obtaining a copy of this software and associated documentation
* files (the "Software"), to deal in the Software without restriction,
@@ -22,15 +22,15 @@
* publish, distribute, and/or sell copies of the Software, and to permit
* persons to whom the Software is furnished to do so, subject to the
* following conditions:
*
*
* 1. The above copyright notices and this permission notice (which
* includes the disclaimer below) shall be included in all copies or
* substantial portions of the Software.
*
*
* 2. The name of a copyright holder shall not be used to endorse or
* promote products derived from the Software without specific prior
* written permission.
*
*
* THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS
* LICENSE. NO USE OF THE SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER
* THIS DISCLAIMER. THE SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS
@@ -57,7 +57,7 @@
* PERSONAL INJURY, OR SEVERE PHYSICAL OR ENVIRONMENTAL DAMAGE ("HIGH
* RISK ACTIVITIES"). THE COPYRIGHT HOLDERS SPECIFICALLY DISCLAIM ANY
* EXPRESS OR IMPLIED WARRANTY OF FITNESS FOR HIGH RISK ACTIVITIES.
*
*
* __END_OF_JASPER_LICENSE__
*/
@@ -86,206 +86,206 @@
void jpc_rct(jas_matrix_t *c0, jas_matrix_t *c1, jas_matrix_t *c2)
{
int numrows;
int numcols;
int i;
int j;
jpc_fix_t *c0p;
jpc_fix_t *c1p;
jpc_fix_t *c2p;
int numrows;
int numcols;
int i;
int j;
jpc_fix_t *c0p;
jpc_fix_t *c1p;
jpc_fix_t *c2p;
numrows = jas_matrix_numrows(c0);
numcols = jas_matrix_numcols(c0);
numrows = jas_matrix_numrows(c0);
numcols = jas_matrix_numcols(c0);
/* All three matrices must have the same dimensions. */
assert(jas_matrix_numrows(c1) == numrows && jas_matrix_numcols(c1) == numcols
&& jas_matrix_numrows(c2) == numrows && jas_matrix_numcols(c2) == numcols);
/* All three matrices must have the same dimensions. */
assert(jas_matrix_numrows(c1) == numrows && jas_matrix_numcols(c1) == numcols
&& jas_matrix_numrows(c2) == numrows && jas_matrix_numcols(c2) == numcols);
for (i = 0; i < numrows; i++) {
c0p = jas_matrix_getref(c0, i, 0);
c1p = jas_matrix_getref(c1, i, 0);
c2p = jas_matrix_getref(c2, i, 0);
for (j = numcols; j > 0; --j) {
int r;
int g;
int b;
int y;
int u;
int v;
r = *c0p;
g = *c1p;
b = *c2p;
y = (r + (g << 1) + b) >> 2;
u = b - g;
v = r - g;
*c0p++ = y;
*c1p++ = u;
*c2p++ = v;
}
}
for (i = 0; i < numrows; i++) {
c0p = jas_matrix_getref(c0, i, 0);
c1p = jas_matrix_getref(c1, i, 0);
c2p = jas_matrix_getref(c2, i, 0);
for (j = numcols; j > 0; --j) {
int r;
int g;
int b;
int y;
int u;
int v;
r = *c0p;
g = *c1p;
b = *c2p;
y = (r + (g << 1) + b) >> 2;
u = b - g;
v = r - g;
*c0p++ = y;
*c1p++ = u;
*c2p++ = v;
}
}
}
/* Compute the inverse RCT. */
void jpc_irct(jas_matrix_t *c0, jas_matrix_t *c1, jas_matrix_t *c2)
{
int numrows;
int numcols;
int i;
int j;
jpc_fix_t *c0p;
jpc_fix_t *c1p;
jpc_fix_t *c2p;
int numrows;
int numcols;
int i;
int j;
jpc_fix_t *c0p;
jpc_fix_t *c1p;
jpc_fix_t *c2p;
numrows = jas_matrix_numrows(c0);
numcols = jas_matrix_numcols(c0);
numrows = jas_matrix_numrows(c0);
numcols = jas_matrix_numcols(c0);
/* All three matrices must have the same dimensions. */
assert(jas_matrix_numrows(c1) == numrows && jas_matrix_numcols(c1) == numcols
&& jas_matrix_numrows(c2) == numrows && jas_matrix_numcols(c2) == numcols);
/* All three matrices must have the same dimensions. */
assert(jas_matrix_numrows(c1) == numrows && jas_matrix_numcols(c1) == numcols
&& jas_matrix_numrows(c2) == numrows && jas_matrix_numcols(c2) == numcols);
for (i = 0; i < numrows; i++) {
c0p = jas_matrix_getref(c0, i, 0);
c1p = jas_matrix_getref(c1, i, 0);
c2p = jas_matrix_getref(c2, i, 0);
for (j = numcols; j > 0; --j) {
int r;
int g;
int b;
int y;
int u;
int v;
y = *c0p;
u = *c1p;
v = *c2p;
g = y - ((u + v) >> 2);
r = v + g;
b = u + g;
*c0p++ = r;
*c1p++ = g;
*c2p++ = b;
}
}
for (i = 0; i < numrows; i++) {
c0p = jas_matrix_getref(c0, i, 0);
c1p = jas_matrix_getref(c1, i, 0);
c2p = jas_matrix_getref(c2, i, 0);
for (j = numcols; j > 0; --j) {
int r;
int g;
int b;
int y;
int u;
int v;
y = *c0p;
u = *c1p;
v = *c2p;
g = y - ((u + v) >> 2);
r = v + g;
b = u + g;
*c0p++ = r;
*c1p++ = g;
*c2p++ = b;
}
}
}
void jpc_ict(jas_matrix_t *c0, jas_matrix_t *c1, jas_matrix_t *c2)
{
int numrows;
int numcols;
int i;
int j;
jpc_fix_t r;
jpc_fix_t g;
jpc_fix_t b;
jpc_fix_t y;
jpc_fix_t u;
jpc_fix_t v;
jpc_fix_t *c0p;
jpc_fix_t *c1p;
jpc_fix_t *c2p;
int numrows;
int numcols;
int i;
int j;
jpc_fix_t r;
jpc_fix_t g;
jpc_fix_t b;
jpc_fix_t y;
jpc_fix_t u;
jpc_fix_t v;
jpc_fix_t *c0p;
jpc_fix_t *c1p;
jpc_fix_t *c2p;
numrows = jas_matrix_numrows(c0);
assert(jas_matrix_numrows(c1) == numrows && jas_matrix_numrows(c2) == numrows);
numcols = jas_matrix_numcols(c0);
assert(jas_matrix_numcols(c1) == numcols && jas_matrix_numcols(c2) == numcols);
for (i = 0; i < numrows; ++i) {
c0p = jas_matrix_getref(c0, i, 0);
c1p = jas_matrix_getref(c1, i, 0);
c2p = jas_matrix_getref(c2, i, 0);
for (j = numcols; j > 0; --j) {
r = *c0p;
g = *c1p;
b = *c2p;
y = jpc_fix_add3(jpc_fix_mul(jpc_dbltofix(0.299), r), jpc_fix_mul(jpc_dbltofix(0.587), g),
jpc_fix_mul(jpc_dbltofix(0.114), b));
u = jpc_fix_add3(jpc_fix_mul(jpc_dbltofix(-0.16875), r), jpc_fix_mul(jpc_dbltofix(-0.33126), g),
jpc_fix_mul(jpc_dbltofix(0.5), b));
v = jpc_fix_add3(jpc_fix_mul(jpc_dbltofix(0.5), r), jpc_fix_mul(jpc_dbltofix(-0.41869), g),
jpc_fix_mul(jpc_dbltofix(-0.08131), b));
*c0p++ = y;
*c1p++ = u;
*c2p++ = v;
}
}
numrows = jas_matrix_numrows(c0);
assert(jas_matrix_numrows(c1) == numrows && jas_matrix_numrows(c2) == numrows);
numcols = jas_matrix_numcols(c0);
assert(jas_matrix_numcols(c1) == numcols && jas_matrix_numcols(c2) == numcols);
for (i = 0; i < numrows; ++i) {
c0p = jas_matrix_getref(c0, i, 0);
c1p = jas_matrix_getref(c1, i, 0);
c2p = jas_matrix_getref(c2, i, 0);
for (j = numcols; j > 0; --j) {
r = *c0p;
g = *c1p;
b = *c2p;
y = jpc_fix_add3(jpc_fix_mul(jpc_dbltofix(0.299), r), jpc_fix_mul(jpc_dbltofix(0.587), g),
jpc_fix_mul(jpc_dbltofix(0.114), b));
u = jpc_fix_add3(jpc_fix_mul(jpc_dbltofix(-0.16875), r), jpc_fix_mul(jpc_dbltofix(-0.33126), g),
jpc_fix_mul(jpc_dbltofix(0.5), b));
v = jpc_fix_add3(jpc_fix_mul(jpc_dbltofix(0.5), r), jpc_fix_mul(jpc_dbltofix(-0.41869), g),
jpc_fix_mul(jpc_dbltofix(-0.08131), b));
*c0p++ = y;
*c1p++ = u;
*c2p++ = v;
}
}
}
void jpc_iict(jas_matrix_t *c0, jas_matrix_t *c1, jas_matrix_t *c2)
{
int numrows;
int numcols;
int i;
int j;
jpc_fix_t r;
jpc_fix_t g;
jpc_fix_t b;
jpc_fix_t y;
jpc_fix_t u;
jpc_fix_t v;
jpc_fix_t *c0p;
jpc_fix_t *c1p;
jpc_fix_t *c2p;
int numrows;
int numcols;
int i;
int j;
jpc_fix_t r;
jpc_fix_t g;
jpc_fix_t b;
jpc_fix_t y;
jpc_fix_t u;
jpc_fix_t v;
jpc_fix_t *c0p;
jpc_fix_t *c1p;
jpc_fix_t *c2p;
numrows = jas_matrix_numrows(c0);
assert(jas_matrix_numrows(c1) == numrows && jas_matrix_numrows(c2) == numrows);
numcols = jas_matrix_numcols(c0);
assert(jas_matrix_numcols(c1) == numcols && jas_matrix_numcols(c2) == numcols);
for (i = 0; i < numrows; ++i) {
c0p = jas_matrix_getref(c0, i, 0);
c1p = jas_matrix_getref(c1, i, 0);
c2p = jas_matrix_getref(c2, i, 0);
for (j = numcols; j > 0; --j) {
y = *c0p;
u = *c1p;
v = *c2p;
r = jpc_fix_add(y, jpc_fix_mul(jpc_dbltofix(1.402), v));
g = jpc_fix_add3(y, jpc_fix_mul(jpc_dbltofix(-0.34413), u),
jpc_fix_mul(jpc_dbltofix(-0.71414), v));
b = jpc_fix_add(y, jpc_fix_mul(jpc_dbltofix(1.772), u));
*c0p++ = r;
*c1p++ = g;
*c2p++ = b;
}
}
numrows = jas_matrix_numrows(c0);
assert(jas_matrix_numrows(c1) == numrows && jas_matrix_numrows(c2) == numrows);
numcols = jas_matrix_numcols(c0);
assert(jas_matrix_numcols(c1) == numcols && jas_matrix_numcols(c2) == numcols);
for (i = 0; i < numrows; ++i) {
c0p = jas_matrix_getref(c0, i, 0);
c1p = jas_matrix_getref(c1, i, 0);
c2p = jas_matrix_getref(c2, i, 0);
for (j = numcols; j > 0; --j) {
y = *c0p;
u = *c1p;
v = *c2p;
r = jpc_fix_add(y, jpc_fix_mul(jpc_dbltofix(1.402), v));
g = jpc_fix_add3(y, jpc_fix_mul(jpc_dbltofix(-0.34413), u),
jpc_fix_mul(jpc_dbltofix(-0.71414), v));
b = jpc_fix_add(y, jpc_fix_mul(jpc_dbltofix(1.772), u));
*c0p++ = r;
*c1p++ = g;
*c2p++ = b;
}
}
}
jpc_fix_t jpc_mct_getsynweight(int mctid, int cmptno)
{
jpc_fix_t synweight;
jpc_fix_t synweight;
synweight = JPC_FIX_ONE;
switch (mctid) {
case JPC_MCT_RCT:
switch (cmptno) {
case 0:
synweight = jpc_dbltofix(sqrt(3.0));
break;
case 1:
synweight = jpc_dbltofix(sqrt(0.6875));
break;
case 2:
synweight = jpc_dbltofix(sqrt(0.6875));
break;
}
break;
case JPC_MCT_ICT:
switch (cmptno) {
case 0:
synweight = jpc_dbltofix(sqrt(3.0000));
break;
case 1:
synweight = jpc_dbltofix(sqrt(3.2584));
break;
case 2:
synweight = jpc_dbltofix(sqrt(2.4755));
break;
}
break;
synweight = JPC_FIX_ONE;
switch (mctid) {
case JPC_MCT_RCT:
switch (cmptno) {
case 0:
synweight = jpc_dbltofix(sqrt(3.0));
break;
case 1:
synweight = jpc_dbltofix(sqrt(0.6875));
break;
case 2:
synweight = jpc_dbltofix(sqrt(0.6875));
break;
}
break;
case JPC_MCT_ICT:
switch (cmptno) {
case 0:
synweight = jpc_dbltofix(sqrt(3.0000));
break;
case 1:
synweight = jpc_dbltofix(sqrt(3.2584));
break;
case 2:
synweight = jpc_dbltofix(sqrt(2.4755));
break;
}
break;
#if 0
default:
synweight = JPC_FIX_ONE;
break;
default:
synweight = JPC_FIX_ONE;
break;
#endif
}
}
return synweight;
return synweight;
}

View File

@@ -6,15 +6,15 @@
*/
/* __START_OF_JASPER_LICENSE__
*
*
* JasPer License Version 2.0
*
*
* Copyright (c) 2001-2006 Michael David Adams
* Copyright (c) 1999-2000 Image Power, Inc.
* Copyright (c) 1999-2000 The University of British Columbia
*
*
* All rights reserved.
*
*
* Permission is hereby granted, free of charge, to any person (the
* "User") obtaining a copy of this software and associated documentation
* files (the "Software"), to deal in the Software without restriction,
@@ -22,15 +22,15 @@
* publish, distribute, and/or sell copies of the Software, and to permit
* persons to whom the Software is furnished to do so, subject to the
* following conditions:
*
*
* 1. The above copyright notices and this permission notice (which
* includes the disclaimer below) shall be included in all copies or
* substantial portions of the Software.
*
*
* 2. The name of a copyright holder shall not be used to endorse or
* promote products derived from the Software without specific prior
* written permission.
*
*
* THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS
* LICENSE. NO USE OF THE SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER
* THIS DISCLAIMER. THE SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS
@@ -57,7 +57,7 @@
* PERSONAL INJURY, OR SEVERE PHYSICAL OR ENVIRONMENTAL DAMAGE ("HIGH
* RISK ACTIVITIES"). THE COPYRIGHT HOLDERS SPECIFICALLY DISCLAIM ANY
* EXPRESS OR IMPLIED WARRANTY OF FITNESS FOR HIGH RISK ACTIVITIES.
*
*
* __END_OF_JASPER_LICENSE__
*/

View File

@@ -6,15 +6,15 @@
*/
/* __START_OF_JASPER_LICENSE__
*
*
* JasPer License Version 2.0
*
*
* Copyright (c) 2001-2006 Michael David Adams
* Copyright (c) 1999-2000 Image Power, Inc.
* Copyright (c) 1999-2000 The University of British Columbia
*
*
* All rights reserved.
*
*
* Permission is hereby granted, free of charge, to any person (the
* "User") obtaining a copy of this software and associated documentation
* files (the "Software"), to deal in the Software without restriction,
@@ -22,15 +22,15 @@
* publish, distribute, and/or sell copies of the Software, and to permit
* persons to whom the Software is furnished to do so, subject to the
* following conditions:
*
*
* 1. The above copyright notices and this permission notice (which
* includes the disclaimer below) shall be included in all copies or
* substantial portions of the Software.
*
*
* 2. The name of a copyright holder shall not be used to endorse or
* promote products derived from the Software without specific prior
* written permission.
*
*
* THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS
* LICENSE. NO USE OF THE SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER
* THIS DISCLAIMER. THE SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS
@@ -57,7 +57,7 @@
* PERSONAL INJURY, OR SEVERE PHYSICAL OR ENVIRONMENTAL DAMAGE ("HIGH
* RISK ACTIVITIES"). THE COPYRIGHT HOLDERS SPECIFICALLY DISCLAIM ANY
* EXPRESS OR IMPLIED WARRANTY OF FITNESS FOR HIGH RISK ACTIVITIES.
*
*
* __END_OF_JASPER_LICENSE__
*/
@@ -82,98 +82,98 @@
/* MQ coder per-state information. */
jpc_mqstate_t jpc_mqstates[47 * 2] = {
{0x5601, 0, &jpc_mqstates[ 2], &jpc_mqstates[ 3]},
{0x5601, 1, &jpc_mqstates[ 3], &jpc_mqstates[ 2]},
{0x3401, 0, &jpc_mqstates[ 4], &jpc_mqstates[12]},
{0x3401, 1, &jpc_mqstates[ 5], &jpc_mqstates[13]},
{0x1801, 0, &jpc_mqstates[ 6], &jpc_mqstates[18]},
{0x1801, 1, &jpc_mqstates[ 7], &jpc_mqstates[19]},
{0x0ac1, 0, &jpc_mqstates[ 8], &jpc_mqstates[24]},
{0x0ac1, 1, &jpc_mqstates[ 9], &jpc_mqstates[25]},
{0x0521, 0, &jpc_mqstates[10], &jpc_mqstates[58]},
{0x0521, 1, &jpc_mqstates[11], &jpc_mqstates[59]},
{0x0221, 0, &jpc_mqstates[76], &jpc_mqstates[66]},
{0x0221, 1, &jpc_mqstates[77], &jpc_mqstates[67]},
{0x5601, 0, &jpc_mqstates[14], &jpc_mqstates[13]},
{0x5601, 1, &jpc_mqstates[15], &jpc_mqstates[12]},
{0x5401, 0, &jpc_mqstates[16], &jpc_mqstates[28]},
{0x5401, 1, &jpc_mqstates[17], &jpc_mqstates[29]},
{0x4801, 0, &jpc_mqstates[18], &jpc_mqstates[28]},
{0x4801, 1, &jpc_mqstates[19], &jpc_mqstates[29]},
{0x3801, 0, &jpc_mqstates[20], &jpc_mqstates[28]},
{0x3801, 1, &jpc_mqstates[21], &jpc_mqstates[29]},
{0x3001, 0, &jpc_mqstates[22], &jpc_mqstates[34]},
{0x3001, 1, &jpc_mqstates[23], &jpc_mqstates[35]},
{0x2401, 0, &jpc_mqstates[24], &jpc_mqstates[36]},
{0x2401, 1, &jpc_mqstates[25], &jpc_mqstates[37]},
{0x1c01, 0, &jpc_mqstates[26], &jpc_mqstates[40]},
{0x1c01, 1, &jpc_mqstates[27], &jpc_mqstates[41]},
{0x1601, 0, &jpc_mqstates[58], &jpc_mqstates[42]},
{0x1601, 1, &jpc_mqstates[59], &jpc_mqstates[43]},
{0x5601, 0, &jpc_mqstates[30], &jpc_mqstates[29]},
{0x5601, 1, &jpc_mqstates[31], &jpc_mqstates[28]},
{0x5401, 0, &jpc_mqstates[32], &jpc_mqstates[28]},
{0x5401, 1, &jpc_mqstates[33], &jpc_mqstates[29]},
{0x5101, 0, &jpc_mqstates[34], &jpc_mqstates[30]},
{0x5101, 1, &jpc_mqstates[35], &jpc_mqstates[31]},
{0x4801, 0, &jpc_mqstates[36], &jpc_mqstates[32]},
{0x4801, 1, &jpc_mqstates[37], &jpc_mqstates[33]},
{0x3801, 0, &jpc_mqstates[38], &jpc_mqstates[34]},
{0x3801, 1, &jpc_mqstates[39], &jpc_mqstates[35]},
{0x3401, 0, &jpc_mqstates[40], &jpc_mqstates[36]},
{0x3401, 1, &jpc_mqstates[41], &jpc_mqstates[37]},
{0x3001, 0, &jpc_mqstates[42], &jpc_mqstates[38]},
{0x3001, 1, &jpc_mqstates[43], &jpc_mqstates[39]},
{0x2801, 0, &jpc_mqstates[44], &jpc_mqstates[38]},
{0x2801, 1, &jpc_mqstates[45], &jpc_mqstates[39]},
{0x2401, 0, &jpc_mqstates[46], &jpc_mqstates[40]},
{0x2401, 1, &jpc_mqstates[47], &jpc_mqstates[41]},
{0x2201, 0, &jpc_mqstates[48], &jpc_mqstates[42]},
{0x2201, 1, &jpc_mqstates[49], &jpc_mqstates[43]},
{0x1c01, 0, &jpc_mqstates[50], &jpc_mqstates[44]},
{0x1c01, 1, &jpc_mqstates[51], &jpc_mqstates[45]},
{0x1801, 0, &jpc_mqstates[52], &jpc_mqstates[46]},
{0x1801, 1, &jpc_mqstates[53], &jpc_mqstates[47]},
{0x1601, 0, &jpc_mqstates[54], &jpc_mqstates[48]},
{0x1601, 1, &jpc_mqstates[55], &jpc_mqstates[49]},
{0x1401, 0, &jpc_mqstates[56], &jpc_mqstates[50]},
{0x1401, 1, &jpc_mqstates[57], &jpc_mqstates[51]},
{0x1201, 0, &jpc_mqstates[58], &jpc_mqstates[52]},
{0x1201, 1, &jpc_mqstates[59], &jpc_mqstates[53]},
{0x1101, 0, &jpc_mqstates[60], &jpc_mqstates[54]},
{0x1101, 1, &jpc_mqstates[61], &jpc_mqstates[55]},
{0x0ac1, 0, &jpc_mqstates[62], &jpc_mqstates[56]},
{0x0ac1, 1, &jpc_mqstates[63], &jpc_mqstates[57]},
{0x09c1, 0, &jpc_mqstates[64], &jpc_mqstates[58]},
{0x09c1, 1, &jpc_mqstates[65], &jpc_mqstates[59]},
{0x08a1, 0, &jpc_mqstates[66], &jpc_mqstates[60]},
{0x08a1, 1, &jpc_mqstates[67], &jpc_mqstates[61]},
{0x0521, 0, &jpc_mqstates[68], &jpc_mqstates[62]},
{0x0521, 1, &jpc_mqstates[69], &jpc_mqstates[63]},
{0x0441, 0, &jpc_mqstates[70], &jpc_mqstates[64]},
{0x0441, 1, &jpc_mqstates[71], &jpc_mqstates[65]},
{0x02a1, 0, &jpc_mqstates[72], &jpc_mqstates[66]},
{0x02a1, 1, &jpc_mqstates[73], &jpc_mqstates[67]},
{0x0221, 0, &jpc_mqstates[74], &jpc_mqstates[68]},
{0x0221, 1, &jpc_mqstates[75], &jpc_mqstates[69]},
{0x0141, 0, &jpc_mqstates[76], &jpc_mqstates[70]},
{0x0141, 1, &jpc_mqstates[77], &jpc_mqstates[71]},
{0x0111, 0, &jpc_mqstates[78], &jpc_mqstates[72]},
{0x0111, 1, &jpc_mqstates[79], &jpc_mqstates[73]},
{0x0085, 0, &jpc_mqstates[80], &jpc_mqstates[74]},
{0x0085, 1, &jpc_mqstates[81], &jpc_mqstates[75]},
{0x0049, 0, &jpc_mqstates[82], &jpc_mqstates[76]},
{0x0049, 1, &jpc_mqstates[83], &jpc_mqstates[77]},
{0x0025, 0, &jpc_mqstates[84], &jpc_mqstates[78]},
{0x0025, 1, &jpc_mqstates[85], &jpc_mqstates[79]},
{0x0015, 0, &jpc_mqstates[86], &jpc_mqstates[80]},
{0x0015, 1, &jpc_mqstates[87], &jpc_mqstates[81]},
{0x0009, 0, &jpc_mqstates[88], &jpc_mqstates[82]},
{0x0009, 1, &jpc_mqstates[89], &jpc_mqstates[83]},
{0x0005, 0, &jpc_mqstates[90], &jpc_mqstates[84]},
{0x0005, 1, &jpc_mqstates[91], &jpc_mqstates[85]},
{0x0001, 0, &jpc_mqstates[90], &jpc_mqstates[86]},
{0x0001, 1, &jpc_mqstates[91], &jpc_mqstates[87]},
{0x5601, 0, &jpc_mqstates[92], &jpc_mqstates[92]},
{0x5601, 1, &jpc_mqstates[93], &jpc_mqstates[93]},
{0x5601, 0, &jpc_mqstates[ 2], &jpc_mqstates[ 3]},
{0x5601, 1, &jpc_mqstates[ 3], &jpc_mqstates[ 2]},
{0x3401, 0, &jpc_mqstates[ 4], &jpc_mqstates[12]},
{0x3401, 1, &jpc_mqstates[ 5], &jpc_mqstates[13]},
{0x1801, 0, &jpc_mqstates[ 6], &jpc_mqstates[18]},
{0x1801, 1, &jpc_mqstates[ 7], &jpc_mqstates[19]},
{0x0ac1, 0, &jpc_mqstates[ 8], &jpc_mqstates[24]},
{0x0ac1, 1, &jpc_mqstates[ 9], &jpc_mqstates[25]},
{0x0521, 0, &jpc_mqstates[10], &jpc_mqstates[58]},
{0x0521, 1, &jpc_mqstates[11], &jpc_mqstates[59]},
{0x0221, 0, &jpc_mqstates[76], &jpc_mqstates[66]},
{0x0221, 1, &jpc_mqstates[77], &jpc_mqstates[67]},
{0x5601, 0, &jpc_mqstates[14], &jpc_mqstates[13]},
{0x5601, 1, &jpc_mqstates[15], &jpc_mqstates[12]},
{0x5401, 0, &jpc_mqstates[16], &jpc_mqstates[28]},
{0x5401, 1, &jpc_mqstates[17], &jpc_mqstates[29]},
{0x4801, 0, &jpc_mqstates[18], &jpc_mqstates[28]},
{0x4801, 1, &jpc_mqstates[19], &jpc_mqstates[29]},
{0x3801, 0, &jpc_mqstates[20], &jpc_mqstates[28]},
{0x3801, 1, &jpc_mqstates[21], &jpc_mqstates[29]},
{0x3001, 0, &jpc_mqstates[22], &jpc_mqstates[34]},
{0x3001, 1, &jpc_mqstates[23], &jpc_mqstates[35]},
{0x2401, 0, &jpc_mqstates[24], &jpc_mqstates[36]},
{0x2401, 1, &jpc_mqstates[25], &jpc_mqstates[37]},
{0x1c01, 0, &jpc_mqstates[26], &jpc_mqstates[40]},
{0x1c01, 1, &jpc_mqstates[27], &jpc_mqstates[41]},
{0x1601, 0, &jpc_mqstates[58], &jpc_mqstates[42]},
{0x1601, 1, &jpc_mqstates[59], &jpc_mqstates[43]},
{0x5601, 0, &jpc_mqstates[30], &jpc_mqstates[29]},
{0x5601, 1, &jpc_mqstates[31], &jpc_mqstates[28]},
{0x5401, 0, &jpc_mqstates[32], &jpc_mqstates[28]},
{0x5401, 1, &jpc_mqstates[33], &jpc_mqstates[29]},
{0x5101, 0, &jpc_mqstates[34], &jpc_mqstates[30]},
{0x5101, 1, &jpc_mqstates[35], &jpc_mqstates[31]},
{0x4801, 0, &jpc_mqstates[36], &jpc_mqstates[32]},
{0x4801, 1, &jpc_mqstates[37], &jpc_mqstates[33]},
{0x3801, 0, &jpc_mqstates[38], &jpc_mqstates[34]},
{0x3801, 1, &jpc_mqstates[39], &jpc_mqstates[35]},
{0x3401, 0, &jpc_mqstates[40], &jpc_mqstates[36]},
{0x3401, 1, &jpc_mqstates[41], &jpc_mqstates[37]},
{0x3001, 0, &jpc_mqstates[42], &jpc_mqstates[38]},
{0x3001, 1, &jpc_mqstates[43], &jpc_mqstates[39]},
{0x2801, 0, &jpc_mqstates[44], &jpc_mqstates[38]},
{0x2801, 1, &jpc_mqstates[45], &jpc_mqstates[39]},
{0x2401, 0, &jpc_mqstates[46], &jpc_mqstates[40]},
{0x2401, 1, &jpc_mqstates[47], &jpc_mqstates[41]},
{0x2201, 0, &jpc_mqstates[48], &jpc_mqstates[42]},
{0x2201, 1, &jpc_mqstates[49], &jpc_mqstates[43]},
{0x1c01, 0, &jpc_mqstates[50], &jpc_mqstates[44]},
{0x1c01, 1, &jpc_mqstates[51], &jpc_mqstates[45]},
{0x1801, 0, &jpc_mqstates[52], &jpc_mqstates[46]},
{0x1801, 1, &jpc_mqstates[53], &jpc_mqstates[47]},
{0x1601, 0, &jpc_mqstates[54], &jpc_mqstates[48]},
{0x1601, 1, &jpc_mqstates[55], &jpc_mqstates[49]},
{0x1401, 0, &jpc_mqstates[56], &jpc_mqstates[50]},
{0x1401, 1, &jpc_mqstates[57], &jpc_mqstates[51]},
{0x1201, 0, &jpc_mqstates[58], &jpc_mqstates[52]},
{0x1201, 1, &jpc_mqstates[59], &jpc_mqstates[53]},
{0x1101, 0, &jpc_mqstates[60], &jpc_mqstates[54]},
{0x1101, 1, &jpc_mqstates[61], &jpc_mqstates[55]},
{0x0ac1, 0, &jpc_mqstates[62], &jpc_mqstates[56]},
{0x0ac1, 1, &jpc_mqstates[63], &jpc_mqstates[57]},
{0x09c1, 0, &jpc_mqstates[64], &jpc_mqstates[58]},
{0x09c1, 1, &jpc_mqstates[65], &jpc_mqstates[59]},
{0x08a1, 0, &jpc_mqstates[66], &jpc_mqstates[60]},
{0x08a1, 1, &jpc_mqstates[67], &jpc_mqstates[61]},
{0x0521, 0, &jpc_mqstates[68], &jpc_mqstates[62]},
{0x0521, 1, &jpc_mqstates[69], &jpc_mqstates[63]},
{0x0441, 0, &jpc_mqstates[70], &jpc_mqstates[64]},
{0x0441, 1, &jpc_mqstates[71], &jpc_mqstates[65]},
{0x02a1, 0, &jpc_mqstates[72], &jpc_mqstates[66]},
{0x02a1, 1, &jpc_mqstates[73], &jpc_mqstates[67]},
{0x0221, 0, &jpc_mqstates[74], &jpc_mqstates[68]},
{0x0221, 1, &jpc_mqstates[75], &jpc_mqstates[69]},
{0x0141, 0, &jpc_mqstates[76], &jpc_mqstates[70]},
{0x0141, 1, &jpc_mqstates[77], &jpc_mqstates[71]},
{0x0111, 0, &jpc_mqstates[78], &jpc_mqstates[72]},
{0x0111, 1, &jpc_mqstates[79], &jpc_mqstates[73]},
{0x0085, 0, &jpc_mqstates[80], &jpc_mqstates[74]},
{0x0085, 1, &jpc_mqstates[81], &jpc_mqstates[75]},
{0x0049, 0, &jpc_mqstates[82], &jpc_mqstates[76]},
{0x0049, 1, &jpc_mqstates[83], &jpc_mqstates[77]},
{0x0025, 0, &jpc_mqstates[84], &jpc_mqstates[78]},
{0x0025, 1, &jpc_mqstates[85], &jpc_mqstates[79]},
{0x0015, 0, &jpc_mqstates[86], &jpc_mqstates[80]},
{0x0015, 1, &jpc_mqstates[87], &jpc_mqstates[81]},
{0x0009, 0, &jpc_mqstates[88], &jpc_mqstates[82]},
{0x0009, 1, &jpc_mqstates[89], &jpc_mqstates[83]},
{0x0005, 0, &jpc_mqstates[90], &jpc_mqstates[84]},
{0x0005, 1, &jpc_mqstates[91], &jpc_mqstates[85]},
{0x0001, 0, &jpc_mqstates[90], &jpc_mqstates[86]},
{0x0001, 1, &jpc_mqstates[91], &jpc_mqstates[87]},
{0x5601, 0, &jpc_mqstates[92], &jpc_mqstates[92]},
{0x5601, 1, &jpc_mqstates[93], &jpc_mqstates[93]},
};

View File

@@ -6,15 +6,15 @@
*/
/* __START_OF_JASPER_LICENSE__
*
*
* JasPer License Version 2.0
*
*
* Copyright (c) 2001-2006 Michael David Adams
* Copyright (c) 1999-2000 Image Power, Inc.
* Copyright (c) 1999-2000 The University of British Columbia
*
*
* All rights reserved.
*
*
* Permission is hereby granted, free of charge, to any person (the
* "User") obtaining a copy of this software and associated documentation
* files (the "Software"), to deal in the Software without restriction,
@@ -22,15 +22,15 @@
* publish, distribute, and/or sell copies of the Software, and to permit
* persons to whom the Software is furnished to do so, subject to the
* following conditions:
*
*
* 1. The above copyright notices and this permission notice (which
* includes the disclaimer below) shall be included in all copies or
* substantial portions of the Software.
*
*
* 2. The name of a copyright holder shall not be used to endorse or
* promote products derived from the Software without specific prior
* written permission.
*
*
* THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS
* LICENSE. NO USE OF THE SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER
* THIS DISCLAIMER. THE SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS
@@ -57,7 +57,7 @@
* PERSONAL INJURY, OR SEVERE PHYSICAL OR ENVIRONMENTAL DAMAGE ("HIGH
* RISK ACTIVITIES"). THE COPYRIGHT HOLDERS SPECIFICALLY DISCLAIM ANY
* EXPRESS OR IMPLIED WARRANTY OF FITNESS FOR HIGH RISK ACTIVITIES.
*
*
* __END_OF_JASPER_LICENSE__
*/
@@ -86,11 +86,11 @@
typedef struct {
/* The most probable symbol (MPS). */
int mps;
/* The most probable symbol (MPS). */
int mps;
/* The state index. */
int_fast16_t ind;
/* The state index. */
int_fast16_t ind;
} jpc_mqctx_t;
@@ -100,17 +100,17 @@ typedef struct {
typedef struct jpc_mqstate_s {
/* The Qe value. */
uint_fast16_t qeval;
/* The Qe value. */
uint_fast16_t qeval;
/* The MPS. */
int mps;
/* The MPS. */
int mps;
/* The NMPS state. */
struct jpc_mqstate_s *nmps;
/* The NMPS state. */
struct jpc_mqstate_s *nmps;
/* The NLPS state. */
struct jpc_mqstate_s *nlps;
/* The NLPS state. */
struct jpc_mqstate_s *nlps;
} jpc_mqstate_t;

View File

@@ -6,15 +6,15 @@
*/
/* __START_OF_JASPER_LICENSE__
*
*
* JasPer License Version 2.0
*
*
* Copyright (c) 2001-2006 Michael David Adams
* Copyright (c) 1999-2000 Image Power, Inc.
* Copyright (c) 1999-2000 The University of British Columbia
*
*
* All rights reserved.
*
*
* Permission is hereby granted, free of charge, to any person (the
* "User") obtaining a copy of this software and associated documentation
* files (the "Software"), to deal in the Software without restriction,
@@ -22,15 +22,15 @@
* publish, distribute, and/or sell copies of the Software, and to permit
* persons to whom the Software is furnished to do so, subject to the
* following conditions:
*
*
* 1. The above copyright notices and this permission notice (which
* includes the disclaimer below) shall be included in all copies or
* substantial portions of the Software.
*
*
* 2. The name of a copyright holder shall not be used to endorse or
* promote products derived from the Software without specific prior
* written permission.
*
*
* THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS
* LICENSE. NO USE OF THE SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER
* THIS DISCLAIMER. THE SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS
@@ -57,7 +57,7 @@
* PERSONAL INJURY, OR SEVERE PHYSICAL OR ENVIRONMENTAL DAMAGE ("HIGH
* RISK ACTIVITIES"). THE COPYRIGHT HOLDERS SPECIFICALLY DISCLAIM ANY
* EXPRESS OR IMPLIED WARRANTY OF FITNESS FOR HIGH RISK ACTIVITIES.
*
*
* __END_OF_JASPER_LICENSE__
*/
@@ -88,7 +88,7 @@
#if defined(DEBUG)
#define MQDEC_CALL(n, x) \
((jas_getdbglevel() >= (n)) ? ((void)(x)) : ((void)0))
((jas_getdbglevel() >= (n)) ? ((void)(x)) : ((void)0))
#else
#define MQDEC_CALL(n, x)
#endif
@@ -106,49 +106,49 @@ static void jpc_mqdec_bytein(jpc_mqdec_t *mqdec);
/* Create a MQ decoder. */
jpc_mqdec_t *jpc_mqdec_create(int maxctxs, jas_stream_t *in)
{
jpc_mqdec_t *mqdec;
jpc_mqdec_t *mqdec;
/* There must be at least one context. */
assert(maxctxs > 0);
/* There must be at least one context. */
assert(maxctxs > 0);
/* Allocate memory for the MQ decoder. */
if (!(mqdec = jas_malloc(sizeof(jpc_mqdec_t)))) {
goto error;
}
mqdec->in = in;
mqdec->maxctxs = maxctxs;
/* Allocate memory for the per-context state information. */
if (!(mqdec->ctxs = jas_malloc(mqdec->maxctxs * sizeof(jpc_mqstate_t *)))) {
goto error;
}
/* Set the current context to the first context. */
mqdec->curctx = mqdec->ctxs;
/* Allocate memory for the MQ decoder. */
if (!(mqdec = jas_malloc(sizeof(jpc_mqdec_t)))) {
goto error;
}
mqdec->in = in;
mqdec->maxctxs = maxctxs;
/* Allocate memory for the per-context state information. */
if (!(mqdec->ctxs = jas_alloc2(mqdec->maxctxs, sizeof(jpc_mqstate_t *)))) {
goto error;
}
/* Set the current context to the first context. */
mqdec->curctx = mqdec->ctxs;
/* If an input stream has been associated with the MQ decoder,
initialize the decoder state from the stream. */
if (mqdec->in) {
jpc_mqdec_init(mqdec);
}
/* Initialize the per-context state information. */
jpc_mqdec_setctxs(mqdec, 0, 0);
/* If an input stream has been associated with the MQ decoder,
initialize the decoder state from the stream. */
if (mqdec->in) {
jpc_mqdec_init(mqdec);
}
/* Initialize the per-context state information. */
jpc_mqdec_setctxs(mqdec, 0, 0);
return mqdec;
return mqdec;
error:
/* Oops... Something has gone wrong. */
if (mqdec) {
jpc_mqdec_destroy(mqdec);
}
return 0;
/* Oops... Something has gone wrong. */
if (mqdec) {
jpc_mqdec_destroy(mqdec);
}
return 0;
}
/* Destroy a MQ decoder. */
void jpc_mqdec_destroy(jpc_mqdec_t *mqdec)
{
if (mqdec->ctxs) {
jas_free(mqdec->ctxs);
}
jas_free(mqdec);
if (mqdec->ctxs) {
jas_free(mqdec->ctxs);
}
jas_free(mqdec);
}
/******************************************************************************\
@@ -159,59 +159,59 @@ void jpc_mqdec_destroy(jpc_mqdec_t *mqdec)
void jpc_mqdec_init(jpc_mqdec_t *mqdec)
{
int c;
int c;
mqdec->eof = 0;
mqdec->creg = 0;
/* Get the next byte from the input stream. */
if ((c = jas_stream_getc(mqdec->in)) == EOF) {
/* We have encountered an I/O error or EOF. */
c = 0xff;
mqdec->eof = 1;
}
mqdec->inbuffer = c;
mqdec->creg += mqdec->inbuffer << 16;
jpc_mqdec_bytein(mqdec);
mqdec->creg <<= 7;
mqdec->ctreg -= 7;
mqdec->areg = 0x8000;
mqdec->eof = 0;
mqdec->creg = 0;
/* Get the next byte from the input stream. */
if ((c = jas_stream_getc(mqdec->in)) == EOF) {
/* We have encountered an I/O error or EOF. */
c = 0xff;
mqdec->eof = 1;
}
mqdec->inbuffer = c;
mqdec->creg += mqdec->inbuffer << 16;
jpc_mqdec_bytein(mqdec);
mqdec->creg <<= 7;
mqdec->ctreg -= 7;
mqdec->areg = 0x8000;
}
/* Set the input stream for a MQ decoder. */
void jpc_mqdec_setinput(jpc_mqdec_t *mqdec, jas_stream_t *in)
{
mqdec->in = in;
mqdec->in = in;
}
/* Initialize one or more contexts. */
void jpc_mqdec_setctxs(jpc_mqdec_t *mqdec, int numctxs, jpc_mqctx_t *ctxs)
{
jpc_mqstate_t **ctx;
int n;
jpc_mqstate_t **ctx;
int n;
ctx = mqdec->ctxs;
n = JAS_MIN(mqdec->maxctxs, numctxs);
while (--n >= 0) {
*ctx = &jpc_mqstates[2 * ctxs->ind + ctxs->mps];
++ctx;
++ctxs;
}
n = mqdec->maxctxs - numctxs;
while (--n >= 0) {
*ctx = &jpc_mqstates[0];
++ctx;
}
ctx = mqdec->ctxs;
n = JAS_MIN(mqdec->maxctxs, numctxs);
while (--n >= 0) {
*ctx = &jpc_mqstates[2 * ctxs->ind + ctxs->mps];
++ctx;
++ctxs;
}
n = mqdec->maxctxs - numctxs;
while (--n >= 0) {
*ctx = &jpc_mqstates[0];
++ctx;
}
}
/* Initialize a context. */
void jpc_mqdec_setctx(jpc_mqdec_t *mqdec, int ctxno, jpc_mqctx_t *ctx)
{
jpc_mqstate_t **ctxi;
ctxi = &mqdec->ctxs[ctxno];
*ctxi = &jpc_mqstates[2 * ctx->ind + ctx->mps];
jpc_mqstate_t **ctxi;
ctxi = &mqdec->ctxs[ctxno];
*ctxi = &jpc_mqstates[2 * ctx->ind + ctx->mps];
}
/******************************************************************************\
@@ -222,36 +222,36 @@ void jpc_mqdec_setctx(jpc_mqdec_t *mqdec, int ctxno, jpc_mqctx_t *ctx)
int jpc_mqdec_getbit_func(register jpc_mqdec_t *mqdec)
{
int bit;
JAS_DBGLOG(100, ("jpc_mqdec_getbit_func(%p)\n", mqdec));
MQDEC_CALL(100, jpc_mqdec_dump(mqdec, stderr));
bit = jpc_mqdec_getbit_macro(mqdec);
MQDEC_CALL(100, jpc_mqdec_dump(mqdec, stderr));
JAS_DBGLOG(100, ("ctx = %d, decoded %d\n", mqdec->curctx -
mqdec->ctxs, bit));
return bit;
int bit;
JAS_DBGLOG(100, ("jpc_mqdec_getbit_func(%p)\n", mqdec));
MQDEC_CALL(100, jpc_mqdec_dump(mqdec, stderr));
bit = jpc_mqdec_getbit_macro(mqdec);
MQDEC_CALL(100, jpc_mqdec_dump(mqdec, stderr));
JAS_DBGLOG(100, ("ctx = %d, decoded %d\n", mqdec->curctx -
mqdec->ctxs, bit));
return bit;
}
/* Apply MPS_EXCHANGE algorithm (with RENORMD). */
int jpc_mqdec_mpsexchrenormd(register jpc_mqdec_t *mqdec)
{
int ret;
register jpc_mqstate_t *state = *mqdec->curctx;
jpc_mqdec_mpsexchange(mqdec->areg, state->qeval, mqdec->curctx, ret);
jpc_mqdec_renormd(mqdec->areg, mqdec->creg, mqdec->ctreg, mqdec->in,
mqdec->eof, mqdec->inbuffer);
return ret;
int ret;
register jpc_mqstate_t *state = *mqdec->curctx;
jpc_mqdec_mpsexchange(mqdec->areg, state->qeval, mqdec->curctx, ret);
jpc_mqdec_renormd(mqdec->areg, mqdec->creg, mqdec->ctreg, mqdec->in,
mqdec->eof, mqdec->inbuffer);
return ret;
}
/* Apply LPS_EXCHANGE algorithm (with RENORMD). */
int jpc_mqdec_lpsexchrenormd(register jpc_mqdec_t *mqdec)
{
int ret;
register jpc_mqstate_t *state = *mqdec->curctx;
jpc_mqdec_lpsexchange(mqdec->areg, state->qeval, mqdec->curctx, ret);
jpc_mqdec_renormd(mqdec->areg, mqdec->creg, mqdec->ctreg, mqdec->in,
mqdec->eof, mqdec->inbuffer);
return ret;
int ret;
register jpc_mqstate_t *state = *mqdec->curctx;
jpc_mqdec_lpsexchange(mqdec->areg, state->qeval, mqdec->curctx, ret);
jpc_mqdec_renormd(mqdec->areg, mqdec->creg, mqdec->ctreg, mqdec->in,
mqdec->eof, mqdec->inbuffer);
return ret;
}
/******************************************************************************\
@@ -261,32 +261,32 @@ int jpc_mqdec_lpsexchrenormd(register jpc_mqdec_t *mqdec)
/* Apply the BYTEIN algorithm. */
static void jpc_mqdec_bytein(jpc_mqdec_t *mqdec)
{
int c;
unsigned char prevbuf;
int c;
unsigned char prevbuf;
if (!mqdec->eof) {
if ((c = jas_stream_getc(mqdec->in)) == EOF) {
mqdec->eof = 1;
c = 0xff;
}
prevbuf = mqdec->inbuffer;
mqdec->inbuffer = c;
if (prevbuf == 0xff) {
if (c > 0x8f) {
mqdec->creg += 0xff00;
mqdec->ctreg = 8;
} else {
mqdec->creg += c << 9;
mqdec->ctreg = 7;
}
} else {
mqdec->creg += c << 8;
mqdec->ctreg = 8;
}
} else {
mqdec->creg += 0xff00;
mqdec->ctreg = 8;
}
if (!mqdec->eof) {
if ((c = jas_stream_getc(mqdec->in)) == EOF) {
mqdec->eof = 1;
c = 0xff;
}
prevbuf = mqdec->inbuffer;
mqdec->inbuffer = c;
if (prevbuf == 0xff) {
if (c > 0x8f) {
mqdec->creg += 0xff00;
mqdec->ctreg = 8;
} else {
mqdec->creg += c << 9;
mqdec->ctreg = 7;
}
} else {
mqdec->creg += c << 8;
mqdec->ctreg = 8;
}
} else {
mqdec->creg += 0xff00;
mqdec->ctreg = 8;
}
}
/******************************************************************************\
@@ -297,10 +297,10 @@ static void jpc_mqdec_bytein(jpc_mqdec_t *mqdec)
void jpc_mqdec_dump(jpc_mqdec_t *mqdec, FILE *out)
{
fprintf(out, "MQDEC A = %08lx, C = %08lx, CT=%08lx, ",
(unsigned long) mqdec->areg, (unsigned long) mqdec->creg,
(unsigned long) mqdec->ctreg);
fprintf(out, "CTX = %d, ", (int)(mqdec->curctx - mqdec->ctxs));
fprintf(out, "IND %d, MPS %d, QEVAL %x\n", (int)(*mqdec->curctx -
jpc_mqstates), (int)(*mqdec->curctx)->mps, (int)(*mqdec->curctx)->qeval);
fprintf(out, "MQDEC A = %08lx, C = %08lx, CT=%08lx, ",
(unsigned long) mqdec->areg, (unsigned long) mqdec->creg,
(unsigned long) mqdec->ctreg);
fprintf(out, "CTX = %d, ", (int)(mqdec->curctx - mqdec->ctxs));
fprintf(out, "IND %d, MPS %d, QEVAL %x\n", (int)(*mqdec->curctx -
jpc_mqstates), (int)(*mqdec->curctx)->mps, (int)(*mqdec->curctx)->qeval);
}

View File

@@ -6,15 +6,15 @@
*/
/* __START_OF_JASPER_LICENSE__
*
*
* JasPer License Version 2.0
*
*
* Copyright (c) 2001-2006 Michael David Adams
* Copyright (c) 1999-2000 Image Power, Inc.
* Copyright (c) 1999-2000 The University of British Columbia
*
*
* All rights reserved.
*
*
* Permission is hereby granted, free of charge, to any person (the
* "User") obtaining a copy of this software and associated documentation
* files (the "Software"), to deal in the Software without restriction,
@@ -22,15 +22,15 @@
* publish, distribute, and/or sell copies of the Software, and to permit
* persons to whom the Software is furnished to do so, subject to the
* following conditions:
*
*
* 1. The above copyright notices and this permission notice (which
* includes the disclaimer below) shall be included in all copies or
* substantial portions of the Software.
*
*
* 2. The name of a copyright holder shall not be used to endorse or
* promote products derived from the Software without specific prior
* written permission.
*
*
* THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS
* LICENSE. NO USE OF THE SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER
* THIS DISCLAIMER. THE SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS
@@ -57,7 +57,7 @@
* PERSONAL INJURY, OR SEVERE PHYSICAL OR ENVIRONMENTAL DAMAGE ("HIGH
* RISK ACTIVITIES"). THE COPYRIGHT HOLDERS SPECIFICALLY DISCLAIM ANY
* EXPRESS OR IMPLIED WARRANTY OF FITNESS FOR HIGH RISK ACTIVITIES.
*
*
* __END_OF_JASPER_LICENSE__
*/
@@ -87,32 +87,32 @@
typedef struct {
/* The C register. */
uint_fast32_t creg;
/* The C register. */
uint_fast32_t creg;
/* The A register. */
uint_fast32_t areg;
/* The A register. */
uint_fast32_t areg;
/* The CT register. */
uint_fast32_t ctreg;
/* The CT register. */
uint_fast32_t ctreg;
/* The current context. */
jpc_mqstate_t **curctx;
/* The current context. */
jpc_mqstate_t **curctx;
/* The per-context information. */
jpc_mqstate_t **ctxs;
/* The per-context information. */
jpc_mqstate_t **ctxs;
/* The maximum number of contexts. */
int maxctxs;
/* The maximum number of contexts. */
int maxctxs;
/* The stream from which to read data. */
jas_stream_t *in;
/* The stream from which to read data. */
jas_stream_t *in;
/* The last character read. */
uchar inbuffer;
/* The last character read. */
uchar inbuffer;
/* The EOF indicator. */
int eof;
/* The EOF indicator. */
int eof;
} jpc_mqdec_t;
@@ -142,7 +142,7 @@ void jpc_mqdec_init(jpc_mqdec_t *dec);
/* Set the current context for a MQ decoder. */
#define jpc_mqdec_setcurctx(dec, ctxno) \
((mqdec)->curctx = &(mqdec)->ctxs[ctxno]);
((mqdec)->curctx = &(mqdec)->ctxs[ctxno]);
/* Set the state information for a particular context of a MQ decoder. */
void jpc_mqdec_setctx(jpc_mqdec_t *dec, int ctxno, jpc_mqctx_t *ctx);
@@ -157,19 +157,19 @@ void jpc_mqdec_setctxs(jpc_mqdec_t *dec, int numctxs, jpc_mqctx_t *ctxs);
/* Decode a symbol. */
#if !defined(DEBUG)
#define jpc_mqdec_getbit(dec) \
jpc_mqdec_getbit_macro(dec)
jpc_mqdec_getbit_macro(dec)
#else
#define jpc_mqdec_getbit(dec) \
jpc_mqdec_getbit_func(dec)
jpc_mqdec_getbit_func(dec)
#endif
/* Decode a symbol (assuming an unskewed probability distribution). */
#if !defined(DEBUG)
#define jpc_mqdec_getbitnoskew(dec) \
jpc_mqdec_getbit_macro(dec)
jpc_mqdec_getbit_macro(dec)
#else
#define jpc_mqdec_getbitnoskew(dec) \
jpc_mqdec_getbit_func(dec)
jpc_mqdec_getbit_func(dec)
#endif
/******************************************************************************\
@@ -186,82 +186,82 @@ void jpc_mqdec_dump(jpc_mqdec_t *dec, FILE *out);
\******************************************************************************/
#define jpc_mqdec_getbit_macro(dec) \
((((dec)->areg -= (*(dec)->curctx)->qeval), \
(dec)->creg >> 16 >= (*(dec)->curctx)->qeval) ? \
((((dec)->creg -= (*(dec)->curctx)->qeval << 16), \
(dec)->areg & 0x8000) ? (*(dec)->curctx)->mps : \
jpc_mqdec_mpsexchrenormd(dec)) : \
jpc_mqdec_lpsexchrenormd(dec))
((((dec)->areg -= (*(dec)->curctx)->qeval), \
(dec)->creg >> 16 >= (*(dec)->curctx)->qeval) ? \
((((dec)->creg -= (*(dec)->curctx)->qeval << 16), \
(dec)->areg & 0x8000) ? (*(dec)->curctx)->mps : \
jpc_mqdec_mpsexchrenormd(dec)) : \
jpc_mqdec_lpsexchrenormd(dec))
#define jpc_mqdec_mpsexchange(areg, delta, curctx, bit) \
{ \
if ((areg) < (delta)) { \
register jpc_mqstate_t *state = *(curctx); \
/* LPS decoded. */ \
(bit) = state->mps ^ 1; \
*(curctx) = state->nlps; \
} else { \
register jpc_mqstate_t *state = *(curctx); \
/* MPS decoded. */ \
(bit) = state->mps; \
*(curctx) = state->nmps; \
} \
if ((areg) < (delta)) { \
register jpc_mqstate_t *state = *(curctx); \
/* LPS decoded. */ \
(bit) = state->mps ^ 1; \
*(curctx) = state->nlps; \
} else { \
register jpc_mqstate_t *state = *(curctx); \
/* MPS decoded. */ \
(bit) = state->mps; \
*(curctx) = state->nmps; \
} \
}
#define jpc_mqdec_lpsexchange(areg, delta, curctx, bit) \
{ \
if ((areg) >= (delta)) { \
register jpc_mqstate_t *state = *(curctx); \
(areg) = (delta); \
(bit) = state->mps ^ 1; \
*(curctx) = state->nlps; \
} else { \
register jpc_mqstate_t *state = *(curctx); \
(areg) = (delta); \
(bit) = state->mps; \
*(curctx) = state->nmps; \
} \
if ((areg) >= (delta)) { \
register jpc_mqstate_t *state = *(curctx); \
(areg) = (delta); \
(bit) = state->mps ^ 1; \
*(curctx) = state->nlps; \
} else { \
register jpc_mqstate_t *state = *(curctx); \
(areg) = (delta); \
(bit) = state->mps; \
*(curctx) = state->nmps; \
} \
}
#define jpc_mqdec_renormd(areg, creg, ctreg, in, eof, inbuf) \
{ \
do { \
if (!(ctreg)) { \
jpc_mqdec_bytein2(creg, ctreg, in, eof, inbuf); \
} \
(areg) <<= 1; \
(creg) <<= 1; \
--(ctreg); \
} while (!((areg) & 0x8000)); \
do { \
if (!(ctreg)) { \
jpc_mqdec_bytein2(creg, ctreg, in, eof, inbuf); \
} \
(areg) <<= 1; \
(creg) <<= 1; \
--(ctreg); \
} while (!((areg) & 0x8000)); \
}
#define jpc_mqdec_bytein2(creg, ctreg, in, eof, inbuf) \
{ \
int c; \
unsigned char prevbuf; \
if (!(eof)) { \
if ((c = jas_stream_getc(in)) == EOF) { \
(eof) = 1; \
c = 0xff; \
} \
prevbuf = (inbuf); \
(inbuf) = c; \
if (prevbuf == 0xff) { \
if (c > 0x8f) { \
(creg) += 0xff00; \
(ctreg) = 8; \
} else { \
(creg) += c << 9; \
(ctreg) = 7; \
} \
} else { \
(creg) += c << 8; \
(ctreg) = 8; \
} \
} else { \
(creg) += 0xff00; \
(ctreg) = 8; \
} \
int c; \
unsigned char prevbuf; \
if (!(eof)) { \
if ((c = jas_stream_getc(in)) == EOF) { \
(eof) = 1; \
c = 0xff; \
} \
prevbuf = (inbuf); \
(inbuf) = c; \
if (prevbuf == 0xff) { \
if (c > 0x8f) { \
(creg) += 0xff00; \
(ctreg) = 8; \
} else { \
(creg) += c << 9; \
(ctreg) = 7; \
} \
} else { \
(creg) += c << 8; \
(ctreg) = 8; \
} \
} else { \
(creg) += 0xff00; \
(ctreg) = 8; \
} \
}
int jpc_mqdec_getbit_func(jpc_mqdec_t *dec);

View File

@@ -6,15 +6,15 @@
*/
/* __START_OF_JASPER_LICENSE__
*
*
* JasPer License Version 2.0
*
*
* Copyright (c) 2001-2006 Michael David Adams
* Copyright (c) 1999-2000 Image Power, Inc.
* Copyright (c) 1999-2000 The University of British Columbia
*
*
* All rights reserved.
*
*
* Permission is hereby granted, free of charge, to any person (the
* "User") obtaining a copy of this software and associated documentation
* files (the "Software"), to deal in the Software without restriction,
@@ -22,15 +22,15 @@
* publish, distribute, and/or sell copies of the Software, and to permit
* persons to whom the Software is furnished to do so, subject to the
* following conditions:
*
*
* 1. The above copyright notices and this permission notice (which
* includes the disclaimer below) shall be included in all copies or
* substantial portions of the Software.
*
*
* 2. The name of a copyright holder shall not be used to endorse or
* promote products derived from the Software without specific prior
* written permission.
*
*
* THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS
* LICENSE. NO USE OF THE SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER
* THIS DISCLAIMER. THE SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS
@@ -57,7 +57,7 @@
* PERSONAL INJURY, OR SEVERE PHYSICAL OR ENVIRONMENTAL DAMAGE ("HIGH
* RISK ACTIVITIES"). THE COPYRIGHT HOLDERS SPECIFICALLY DISCLAIM ANY
* EXPRESS OR IMPLIED WARRANTY OF FITNESS FOR HIGH RISK ACTIVITIES.
*
*
* __END_OF_JASPER_LICENSE__
*/
@@ -87,90 +87,90 @@
#if defined(DEBUG)
#define JPC_MQENC_CALL(n, x) \
((jas_getdbglevel() >= (n)) ? ((void)(x)) : ((void)0))
((jas_getdbglevel() >= (n)) ? ((void)(x)) : ((void)0))
#else
#define JPC_MQENC_CALL(n, x)
#endif
#define jpc_mqenc_codemps9(areg, creg, ctreg, curctx, enc) \
{ \
jpc_mqstate_t *state = *(curctx); \
(areg) -= state->qeval; \
if (!((areg) & 0x8000)) { \
if ((areg) < state->qeval) { \
(areg) = state->qeval; \
} else { \
(creg) += state->qeval; \
} \
*(curctx) = state->nmps; \
jpc_mqenc_renorme((areg), (creg), (ctreg), (enc)); \
} else { \
(creg) += state->qeval; \
} \
jpc_mqstate_t *state = *(curctx); \
(areg) -= state->qeval; \
if (!((areg) & 0x8000)) { \
if ((areg) < state->qeval) { \
(areg) = state->qeval; \
} else { \
(creg) += state->qeval; \
} \
*(curctx) = state->nmps; \
jpc_mqenc_renorme((areg), (creg), (ctreg), (enc)); \
} else { \
(creg) += state->qeval; \
} \
}
#define jpc_mqenc_codelps2(areg, creg, ctreg, curctx, enc) \
{ \
jpc_mqstate_t *state = *(curctx); \
(areg) -= state->qeval; \
if ((areg) < state->qeval) { \
(creg) += state->qeval; \
} else { \
(areg) = state->qeval; \
} \
*(curctx) = state->nlps; \
jpc_mqenc_renorme((areg), (creg), (ctreg), (enc)); \
jpc_mqstate_t *state = *(curctx); \
(areg) -= state->qeval; \
if ((areg) < state->qeval) { \
(creg) += state->qeval; \
} else { \
(areg) = state->qeval; \
} \
*(curctx) = state->nlps; \
jpc_mqenc_renorme((areg), (creg), (ctreg), (enc)); \
}
#define jpc_mqenc_renorme(areg, creg, ctreg, enc) \
{ \
do { \
(areg) <<= 1; \
(creg) <<= 1; \
if (!--(ctreg)) { \
jpc_mqenc_byteout((areg), (creg), (ctreg), (enc)); \
} \
} while (!((areg) & 0x8000)); \
do { \
(areg) <<= 1; \
(creg) <<= 1; \
if (!--(ctreg)) { \
jpc_mqenc_byteout((areg), (creg), (ctreg), (enc)); \
} \
} while (!((areg) & 0x8000)); \
}
#define jpc_mqenc_byteout(areg, creg, ctreg, enc) \
{ \
if ((enc)->outbuf != 0xff) { \
if ((creg) & 0x8000000) { \
if (++((enc)->outbuf) == 0xff) { \
(creg) &= 0x7ffffff; \
jpc_mqenc_byteout2(enc); \
enc->outbuf = ((creg) >> 20) & 0xff; \
(creg) &= 0xfffff; \
(ctreg) = 7; \
} else { \
jpc_mqenc_byteout2(enc); \
enc->outbuf = ((creg) >> 19) & 0xff; \
(creg) &= 0x7ffff; \
(ctreg) = 8; \
} \
} else { \
jpc_mqenc_byteout2(enc); \
(enc)->outbuf = ((creg) >> 19) & 0xff; \
(creg) &= 0x7ffff; \
(ctreg) = 8; \
} \
} else { \
jpc_mqenc_byteout2(enc); \
(enc)->outbuf = ((creg) >> 20) & 0xff; \
(creg) &= 0xfffff; \
(ctreg) = 7; \
} \
if ((enc)->outbuf != 0xff) { \
if ((creg) & 0x8000000) { \
if (++((enc)->outbuf) == 0xff) { \
(creg) &= 0x7ffffff; \
jpc_mqenc_byteout2(enc); \
enc->outbuf = ((creg) >> 20) & 0xff; \
(creg) &= 0xfffff; \
(ctreg) = 7; \
} else { \
jpc_mqenc_byteout2(enc); \
enc->outbuf = ((creg) >> 19) & 0xff; \
(creg) &= 0x7ffff; \
(ctreg) = 8; \
} \
} else { \
jpc_mqenc_byteout2(enc); \
(enc)->outbuf = ((creg) >> 19) & 0xff; \
(creg) &= 0x7ffff; \
(ctreg) = 8; \
} \
} else { \
jpc_mqenc_byteout2(enc); \
(enc)->outbuf = ((creg) >> 20) & 0xff; \
(creg) &= 0xfffff; \
(ctreg) = 7; \
} \
}
#define jpc_mqenc_byteout2(enc) \
{ \
if (enc->outbuf >= 0) { \
if (jas_stream_putc(enc->out, (unsigned char)enc->outbuf) == EOF) { \
enc->err |= 1; \
} \
} \
enc->lastbyte = enc->outbuf; \
if (enc->outbuf >= 0) { \
if (jas_stream_putc(enc->out, (unsigned char)enc->outbuf) == EOF) { \
enc->err |= 1; \
} \
} \
enc->lastbyte = enc->outbuf; \
}
/******************************************************************************\
@@ -187,45 +187,45 @@ static void jpc_mqenc_setbits(jpc_mqenc_t *mqenc);
jpc_mqenc_t *jpc_mqenc_create(int maxctxs, jas_stream_t *out)
{
jpc_mqenc_t *mqenc;
jpc_mqenc_t *mqenc;
/* Allocate memory for the MQ encoder. */
if (!(mqenc = jas_malloc(sizeof(jpc_mqenc_t)))) {
goto error;
}
mqenc->out = out;
mqenc->maxctxs = maxctxs;
/* Allocate memory for the MQ encoder. */
if (!(mqenc = jas_malloc(sizeof(jpc_mqenc_t)))) {
goto error;
}
mqenc->out = out;
mqenc->maxctxs = maxctxs;
/* Allocate memory for the per-context state information. */
if (!(mqenc->ctxs = jas_malloc(mqenc->maxctxs * sizeof(jpc_mqstate_t *)))) {
goto error;
}
/* Allocate memory for the per-context state information. */
if (!(mqenc->ctxs = jas_alloc2(mqenc->maxctxs, sizeof(jpc_mqstate_t *)))) {
goto error;
}
/* Set the current context to the first one. */
mqenc->curctx = mqenc->ctxs;
/* Set the current context to the first one. */
mqenc->curctx = mqenc->ctxs;
jpc_mqenc_init(mqenc);
jpc_mqenc_init(mqenc);
/* Initialize the per-context state information to something sane. */
jpc_mqenc_setctxs(mqenc, 0, 0);
/* Initialize the per-context state information to something sane. */
jpc_mqenc_setctxs(mqenc, 0, 0);
return mqenc;
return mqenc;
error:
if (mqenc) {
jpc_mqenc_destroy(mqenc);
}
return 0;
if (mqenc) {
jpc_mqenc_destroy(mqenc);
}
return 0;
}
/* Destroy a MQ encoder. */
void jpc_mqenc_destroy(jpc_mqenc_t *mqenc)
{
if (mqenc->ctxs) {
jas_free(mqenc->ctxs);
}
jas_free(mqenc);
if (mqenc->ctxs) {
jas_free(mqenc->ctxs);
}
jas_free(mqenc);
}
/******************************************************************************\
@@ -236,33 +236,33 @@ void jpc_mqenc_destroy(jpc_mqenc_t *mqenc)
void jpc_mqenc_init(jpc_mqenc_t *mqenc)
{
mqenc->areg = 0x8000;
mqenc->outbuf = -1;
mqenc->creg = 0;
mqenc->ctreg = 12;
mqenc->lastbyte = -1;
mqenc->err = 0;
mqenc->areg = 0x8000;
mqenc->outbuf = -1;
mqenc->creg = 0;
mqenc->ctreg = 12;
mqenc->lastbyte = -1;
mqenc->err = 0;
}
/* Initialize one or more contexts. */
void jpc_mqenc_setctxs(jpc_mqenc_t *mqenc, int numctxs, jpc_mqctx_t *ctxs)
{
jpc_mqstate_t **ctx;
int n;
jpc_mqstate_t **ctx;
int n;
ctx = mqenc->ctxs;
n = JAS_MIN(mqenc->maxctxs, numctxs);
while (--n >= 0) {
*ctx = &jpc_mqstates[2 * ctxs->ind + ctxs->mps];
++ctx;
++ctxs;
}
n = mqenc->maxctxs - numctxs;
while (--n >= 0) {
*ctx = &jpc_mqstates[0];
++ctx;
}
ctx = mqenc->ctxs;
n = JAS_MIN(mqenc->maxctxs, numctxs);
while (--n >= 0) {
*ctx = &jpc_mqstates[2 * ctxs->ind + ctxs->mps];
++ctx;
++ctxs;
}
n = mqenc->maxctxs - numctxs;
while (--n >= 0) {
*ctx = &jpc_mqstates[0];
++ctx;
}
}
@@ -270,10 +270,10 @@ void jpc_mqenc_setctxs(jpc_mqenc_t *mqenc, int numctxs, jpc_mqctx_t *ctxs)
void jpc_mqenc_getstate(jpc_mqenc_t *mqenc, jpc_mqencstate_t *state)
{
state->areg = mqenc->areg;
state->creg = mqenc->creg;
state->ctreg = mqenc->ctreg;
state->lastbyte = mqenc->lastbyte;
state->areg = mqenc->areg;
state->creg = mqenc->creg;
state->ctreg = mqenc->ctreg;
state->lastbyte = mqenc->lastbyte;
}
/******************************************************************************\
@@ -284,49 +284,49 @@ void jpc_mqenc_getstate(jpc_mqenc_t *mqenc, jpc_mqencstate_t *state)
int jpc_mqenc_putbit_func(jpc_mqenc_t *mqenc, int bit)
{
const jpc_mqstate_t *state;
JAS_DBGLOG(100, ("jpc_mqenc_putbit(%p, %d)\n", mqenc, bit));
JPC_MQENC_CALL(100, jpc_mqenc_dump(mqenc, stderr));
const jpc_mqstate_t *state;
JAS_DBGLOG(100, ("jpc_mqenc_putbit(%p, %d)\n", mqenc, bit));
JPC_MQENC_CALL(100, jpc_mqenc_dump(mqenc, stderr));
state = *(mqenc->curctx);
state = *(mqenc->curctx);
if (state->mps == bit) {
/* Apply the CODEMPS algorithm as defined in the standard. */
mqenc->areg -= state->qeval;
if (!(mqenc->areg & 0x8000)) {
jpc_mqenc_codemps2(mqenc);
} else {
mqenc->creg += state->qeval;
}
} else {
/* Apply the CODELPS algorithm as defined in the standard. */
jpc_mqenc_codelps2(mqenc->areg, mqenc->creg, mqenc->ctreg, mqenc->curctx, mqenc);
}
if (state->mps == bit) {
/* Apply the CODEMPS algorithm as defined in the standard. */
mqenc->areg -= state->qeval;
if (!(mqenc->areg & 0x8000)) {
jpc_mqenc_codemps2(mqenc);
} else {
mqenc->creg += state->qeval;
}
} else {
/* Apply the CODELPS algorithm as defined in the standard. */
jpc_mqenc_codelps2(mqenc->areg, mqenc->creg, mqenc->ctreg, mqenc->curctx, mqenc);
}
return jpc_mqenc_error(mqenc) ? (-1) : 0;
return jpc_mqenc_error(mqenc) ? (-1) : 0;
}
int jpc_mqenc_codemps2(jpc_mqenc_t *mqenc)
{
/* Note: This function only performs part of the work associated with
the CODEMPS algorithm from the standard. Some of the work is also
performed by the caller. */
/* Note: This function only performs part of the work associated with
the CODEMPS algorithm from the standard. Some of the work is also
performed by the caller. */
jpc_mqstate_t *state = *(mqenc->curctx);
if (mqenc->areg < state->qeval) {
mqenc->areg = state->qeval;
} else {
mqenc->creg += state->qeval;
}
*mqenc->curctx = state->nmps;
jpc_mqenc_renorme(mqenc->areg, mqenc->creg, mqenc->ctreg, mqenc);
return jpc_mqenc_error(mqenc) ? (-1) : 0;
jpc_mqstate_t *state = *(mqenc->curctx);
if (mqenc->areg < state->qeval) {
mqenc->areg = state->qeval;
} else {
mqenc->creg += state->qeval;
}
*mqenc->curctx = state->nmps;
jpc_mqenc_renorme(mqenc->areg, mqenc->creg, mqenc->ctreg, mqenc);
return jpc_mqenc_error(mqenc) ? (-1) : 0;
}
int jpc_mqenc_codelps(jpc_mqenc_t *mqenc)
{
jpc_mqenc_codelps2(mqenc->areg, mqenc->creg, mqenc->ctreg, mqenc->curctx, mqenc);
return jpc_mqenc_error(mqenc) ? (-1) : 0;
jpc_mqenc_codelps2(mqenc->areg, mqenc->creg, mqenc->ctreg, mqenc->curctx, mqenc);
return jpc_mqenc_error(mqenc) ? (-1) : 0;
}
/******************************************************************************\
@@ -337,56 +337,56 @@ int jpc_mqenc_codelps(jpc_mqenc_t *mqenc)
int jpc_mqenc_flush(jpc_mqenc_t *mqenc, int termmode)
{
int_fast16_t k;
int_fast16_t k;
switch (termmode) {
case JPC_MQENC_PTERM:
k = 11 - mqenc->ctreg + 1;
while (k > 0) {
mqenc->creg <<= mqenc->ctreg;
mqenc->ctreg = 0;
jpc_mqenc_byteout(mqenc->areg, mqenc->creg, mqenc->ctreg,
mqenc);
k -= mqenc->ctreg;
}
if (mqenc->outbuf != 0xff) {
jpc_mqenc_byteout(mqenc->areg, mqenc->creg, mqenc->ctreg, mqenc);
}
break;
case JPC_MQENC_DEFTERM:
jpc_mqenc_setbits(mqenc);
mqenc->creg <<= mqenc->ctreg;
jpc_mqenc_byteout(mqenc->areg, mqenc->creg, mqenc->ctreg, mqenc);
mqenc->creg <<= mqenc->ctreg;
jpc_mqenc_byteout(mqenc->areg, mqenc->creg, mqenc->ctreg, mqenc);
if (mqenc->outbuf != 0xff) {
jpc_mqenc_byteout(mqenc->areg, mqenc->creg, mqenc->ctreg, mqenc);
}
break;
default:
abort();
break;
}
return 0;
switch (termmode) {
case JPC_MQENC_PTERM:
k = 11 - mqenc->ctreg + 1;
while (k > 0) {
mqenc->creg <<= mqenc->ctreg;
mqenc->ctreg = 0;
jpc_mqenc_byteout(mqenc->areg, mqenc->creg, mqenc->ctreg,
mqenc);
k -= mqenc->ctreg;
}
if (mqenc->outbuf != 0xff) {
jpc_mqenc_byteout(mqenc->areg, mqenc->creg, mqenc->ctreg, mqenc);
}
break;
case JPC_MQENC_DEFTERM:
jpc_mqenc_setbits(mqenc);
mqenc->creg <<= mqenc->ctreg;
jpc_mqenc_byteout(mqenc->areg, mqenc->creg, mqenc->ctreg, mqenc);
mqenc->creg <<= mqenc->ctreg;
jpc_mqenc_byteout(mqenc->areg, mqenc->creg, mqenc->ctreg, mqenc);
if (mqenc->outbuf != 0xff) {
jpc_mqenc_byteout(mqenc->areg, mqenc->creg, mqenc->ctreg, mqenc);
}
break;
default:
abort();
break;
}
return 0;
}
static void jpc_mqenc_setbits(jpc_mqenc_t *mqenc)
{
uint_fast32_t tmp = mqenc->creg + mqenc->areg;
mqenc->creg |= 0xffff;
if (mqenc->creg >= tmp) {
mqenc->creg -= 0x8000;
}
uint_fast32_t tmp = mqenc->creg + mqenc->areg;
mqenc->creg |= 0xffff;
if (mqenc->creg >= tmp) {
mqenc->creg -= 0x8000;
}
}
/* Dump a MQ encoder to a stream for debugging. */
int jpc_mqenc_dump(jpc_mqenc_t *mqenc, FILE *out)
{
fprintf(out, "AREG = %08x, CREG = %08x, CTREG = %d\n",
(unsigned)mqenc->areg, (unsigned)mqenc->creg, (int)mqenc->ctreg);
fprintf(out, "IND = %02d, MPS = %d, QEVAL = %04x\n",
(int)(*mqenc->curctx - jpc_mqstates), (int)(*mqenc->curctx)->mps,
(int)(*mqenc->curctx)->qeval);
return 0;
fprintf(out, "AREG = %08x, CREG = %08x, CTREG = %d\n",
(unsigned)mqenc->areg, (unsigned)mqenc->creg, (int)mqenc->ctreg);
fprintf(out, "IND = %02d, MPS = %d, QEVAL = %04x\n",
(int)(*mqenc->curctx - jpc_mqstates), (int)(*mqenc->curctx)->mps,
(int)(*mqenc->curctx)->qeval);
return 0;
}

View File

@@ -6,15 +6,15 @@
*/
/* __START_OF_JASPER_LICENSE__
*
*
* JasPer License Version 2.0
*
*
* Copyright (c) 2001-2006 Michael David Adams
* Copyright (c) 1999-2000 Image Power, Inc.
* Copyright (c) 1999-2000 The University of British Columbia
*
*
* All rights reserved.
*
*
* Permission is hereby granted, free of charge, to any person (the
* "User") obtaining a copy of this software and associated documentation
* files (the "Software"), to deal in the Software without restriction,
@@ -22,15 +22,15 @@
* publish, distribute, and/or sell copies of the Software, and to permit
* persons to whom the Software is furnished to do so, subject to the
* following conditions:
*
*
* 1. The above copyright notices and this permission notice (which
* includes the disclaimer below) shall be included in all copies or
* substantial portions of the Software.
*
*
* 2. The name of a copyright holder shall not be used to endorse or
* promote products derived from the Software without specific prior
* written permission.
*
*
* THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS
* LICENSE. NO USE OF THE SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER
* THIS DISCLAIMER. THE SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS
@@ -57,7 +57,7 @@
* PERSONAL INJURY, OR SEVERE PHYSICAL OR ENVIRONMENTAL DAMAGE ("HIGH
* RISK ACTIVITIES"). THE COPYRIGHT HOLDERS SPECIFICALLY DISCLAIM ANY
* EXPRESS OR IMPLIED WARRANTY OF FITNESS FOR HIGH RISK ACTIVITIES.
*
*
* __END_OF_JASPER_LICENSE__
*/
@@ -98,53 +98,53 @@
typedef struct {
/* The C register. */
uint_fast32_t creg;
/* The C register. */
uint_fast32_t creg;
/* The A register. */
uint_fast32_t areg;
/* The A register. */
uint_fast32_t areg;
/* The CT register. */
uint_fast32_t ctreg;
/* The CT register. */
uint_fast32_t ctreg;
/* The maximum number of contexts. */
int maxctxs;
/* The maximum number of contexts. */
int maxctxs;
/* The per-context information. */
jpc_mqstate_t **ctxs;
/* The per-context information. */
jpc_mqstate_t **ctxs;
/* The current context. */
jpc_mqstate_t **curctx;
/* The current context. */
jpc_mqstate_t **curctx;
/* The stream for encoder output. */
jas_stream_t *out;
/* The stream for encoder output. */
jas_stream_t *out;
/* The byte buffer (i.e., the B variable in the standard). */
int_fast16_t outbuf;
/* The byte buffer (i.e., the B variable in the standard). */
int_fast16_t outbuf;
/* The last byte output. */
int_fast16_t lastbyte;
/* The last byte output. */
int_fast16_t lastbyte;
/* The error indicator. */
int err;
/* The error indicator. */
int err;
} jpc_mqenc_t;
/* MQ arithmetic encoder state information. */
typedef struct {
/* The A register. */
unsigned areg;
/* The A register. */
unsigned areg;
/* The C register. */
unsigned creg;
/* The C register. */
unsigned creg;
/* The CT register. */
unsigned ctreg;
/* The CT register. */
unsigned ctreg;
/* The last byte output by the encoder. */
int lastbyte;
/* The last byte output by the encoder. */
int lastbyte;
} jpc_mqencstate_t;
@@ -185,7 +185,7 @@ void jpc_mqenc_setctxs(jpc_mqenc_t *enc, int numctxs, jpc_mqctx_t *ctxs);
/* Get the error state of a MQ encoder. */
#define jpc_mqenc_error(enc) \
((enc)->err)
((enc)->err)
/* Get the current encoder state. */
void jpc_mqenc_getstate(jpc_mqenc_t *enc, jpc_mqencstate_t *state);
@@ -217,11 +217,11 @@ int jpc_mqenc_dump(jpc_mqenc_t *mqenc, FILE *out);
/* Note: This macro is included only to satisfy the needs of
the mqenc_putbit macro. */
#define jpc_mqenc_putbit_macro(enc, bit) \
(((*((enc)->curctx))->mps == (bit)) ? \
(((enc)->areg -= (*(enc)->curctx)->qeval), \
((!((enc)->areg & 0x8000)) ? (jpc_mqenc_codemps2(enc)) : \
((enc)->creg += (*(enc)->curctx)->qeval))) : \
jpc_mqenc_codelps(enc))
(((*((enc)->curctx))->mps == (bit)) ? \
(((enc)->areg -= (*(enc)->curctx)->qeval), \
((!((enc)->areg & 0x8000)) ? (jpc_mqenc_codemps2(enc)) : \
((enc)->creg += (*(enc)->curctx)->qeval))) : \
jpc_mqenc_codelps(enc))
/* Note: These function prototypes are included only to satisfy the
needs of the mqenc_putbit_macro macro. Do not call any of these

Some files were not shown because too many files have changed in this diff Show More