platform/upstream/opencv.git
9 years agoMerge remote-tracking branch 'refs/remotes/upstream/master' into rho
Olexa Bilaniuk [Tue, 20 Jan 2015 18:11:09 +0000 (13:11 -0500)]
Merge remote-tracking branch 'refs/remotes/upstream/master' into rho

9 years agoMerge pull request #3600 from jet47:cuda-objdetect-module
Vadim Pisarevsky [Tue, 20 Jan 2015 13:29:32 +0000 (13:29 +0000)]
Merge pull request #3600 from jet47:cuda-objdetect-module

9 years agoMerge pull request #3598 from caraffi:bug4108_testCasesLinkError
Vadim Pisarevsky [Tue, 20 Jan 2015 12:59:34 +0000 (12:59 +0000)]
Merge pull request #3598 from caraffi:bug4108_testCasesLinkError

9 years agoMerge pull request #3568 from ilya-lavrenov:neon_runtime
Vadim Pisarevsky [Tue, 20 Jan 2015 12:47:51 +0000 (12:47 +0000)]
Merge pull request #3568 from ilya-lavrenov:neon_runtime

9 years agoMerge pull request #3611 from jet47:fix-gpumat-setto
Vadim Pisarevsky [Tue, 20 Jan 2015 12:37:44 +0000 (12:37 +0000)]
Merge pull request #3611 from jet47:fix-gpumat-setto

9 years agoMerge pull request #3610 from jet47:fix-ocv_add_module-3.0
Vadim Pisarevsky [Tue, 20 Jan 2015 12:35:36 +0000 (12:35 +0000)]
Merge pull request #3610 from jet47:fix-ocv_add_module-3.0

9 years agoMerge pull request #3616 from marvins:gdal-fixes
Vadim Pisarevsky [Tue, 20 Jan 2015 12:31:14 +0000 (12:31 +0000)]
Merge pull request #3616 from marvins:gdal-fixes

9 years agoMerge pull request #3624 from jet47:fix-arm-linux-toolchain
Vadim Pisarevsky [Tue, 20 Jan 2015 12:30:42 +0000 (12:30 +0000)]
Merge pull request #3624 from jet47:fix-arm-linux-toolchain

9 years agoMerge pull request #3627 from cbenhagen:patch-1
Vadim Pisarevsky [Tue, 20 Jan 2015 12:27:19 +0000 (12:27 +0000)]
Merge pull request #3627 from cbenhagen:patch-1

9 years agoMerge pull request #3628 from cbenhagen:patch-2
Vadim Pisarevsky [Tue, 20 Jan 2015 12:18:04 +0000 (12:18 +0000)]
Merge pull request #3628 from cbenhagen:patch-2

9 years agomake PlaneTracker class more thread-safe
Ben Hagen [Mon, 19 Jan 2015 20:57:23 +0000 (21:57 +0100)]
make PlaneTracker class more thread-safe

9 years agostore user-provided data in PlaneTracker class
Ben Hagen [Mon, 19 Jan 2015 20:51:19 +0000 (21:51 +0100)]
store user-provided data in PlaneTracker class

9 years agoMerge pull request #3569 from ilya-lavrenov:sse_mul
Vadim Pisarevsky [Mon, 19 Jan 2015 13:42:36 +0000 (13:42 +0000)]
Merge pull request #3569 from ilya-lavrenov:sse_mul

9 years agoMerge pull request #3544 from jet47:cuda-warping-refactoring
Vadim Pisarevsky [Mon, 19 Jan 2015 11:10:48 +0000 (11:10 +0000)]
Merge pull request #3544 from jet47:cuda-warping-refactoring

9 years agoMerge pull request #3563 from cjmayo:pyexamples
Vadim Pisarevsky [Mon, 19 Jan 2015 11:09:58 +0000 (11:09 +0000)]
Merge pull request #3563 from cjmayo:pyexamples

9 years agoMerge pull request #3554 from wangyan42164:match_template_mask
Vadim Pisarevsky [Mon, 19 Jan 2015 11:03:44 +0000 (11:03 +0000)]
Merge pull request #3554 from wangyan42164:match_template_mask

9 years agoMerge pull request #3570 from a-wi:Win32_UI_commctrl_defs_v3
Vadim Pisarevsky [Mon, 19 Jan 2015 10:54:25 +0000 (10:54 +0000)]
Merge pull request #3570 from a-wi:Win32_UI_commctrl_defs_v3

9 years agoMerge pull request #3582 from ptzafrir:fix_samples
Vadim Pisarevsky [Mon, 19 Jan 2015 10:53:42 +0000 (10:53 +0000)]
Merge pull request #3582 from ptzafrir:fix_samples

9 years agoMerge pull request #3615 from jaybosamiya:grabcuttypo
Vadim Pisarevsky [Mon, 19 Jan 2015 10:50:52 +0000 (10:50 +0000)]
Merge pull request #3615 from jaybosamiya:grabcuttypo

9 years agoMerge pull request #3606 from jet47:warnings-fix
Vadim Pisarevsky [Mon, 19 Jan 2015 10:49:53 +0000 (10:49 +0000)]
Merge pull request #3606 from jet47:warnings-fix

9 years agoMerge pull request #3608 from jet47:cmake-CMP0054-fix
Vadim Pisarevsky [Mon, 19 Jan 2015 10:49:08 +0000 (10:49 +0000)]
Merge pull request #3608 from jet47:cmake-CMP0054-fix

9 years agoMerge pull request #3605 from jet47:cuda-photo-refactoring
Vadim Pisarevsky [Mon, 19 Jan 2015 10:48:44 +0000 (10:48 +0000)]
Merge pull request #3605 from jet47:cuda-photo-refactoring

9 years agoMerge pull request #3596 from jet47:cuda-features2d-refactoring
Vadim Pisarevsky [Mon, 19 Jan 2015 10:48:18 +0000 (10:48 +0000)]
Merge pull request #3596 from jet47:cuda-features2d-refactoring

9 years agoMerge pull request #3594 from asmorkalov:opencv4tegra_support
Vadim Pisarevsky [Mon, 19 Jan 2015 10:47:49 +0000 (10:47 +0000)]
Merge pull request #3594 from asmorkalov:opencv4tegra_support

9 years agoFix arm linux toolchain file
Vladislav Vinogradov [Mon, 19 Jan 2015 07:43:49 +0000 (10:43 +0300)]
Fix arm linux toolchain file

Use find_program() to set CMAKE_C_COMPILER and CMAKE_CXX_COMPILER.

Originally the variables was set to compiler name, without absolute path.
CMake 3.0 tries to find them in CMAKE_FIND_ROOT_PATH (since
CMAKE_FIND_ROOT_PATH_MODE_PROGRAM was set to ONLY) and fails.

9 years agoAccuracy fix for blenaders in stitching module.
Alexander Smorkalov [Fri, 16 Jan 2015 10:22:51 +0000 (13:22 +0300)]
Accuracy fix for blenaders in stitching module.

9 years agoFixed compile warning from redefined macro.
Marvin Smith [Sun, 18 Jan 2015 04:37:51 +0000 (20:37 -0800)]
Fixed compile warning from redefined macro.

9 years agoUpdated gdal tutorial to include comments.
Marvin Smith [Sun, 18 Jan 2015 03:28:58 +0000 (19:28 -0800)]
Updated gdal tutorial to include comments.

9 years agoUpdating CMake to get GDAL working again on OS X.
Marvin Smith [Sun, 18 Jan 2015 00:59:56 +0000 (16:59 -0800)]
Updating CMake to get GDAL working again on OS X.

9 years agoFix typo
Jay Bosamiya [Sat, 17 Jan 2015 17:23:30 +0000 (22:53 +0530)]
Fix typo

9 years agofix ocv_add_module CMake macro:
Vladislav Vinogradov [Fri, 16 Jan 2015 08:00:56 +0000 (11:00 +0300)]
fix ocv_add_module CMake macro:

it tries to remove 'opencv_' prefix from 'name' variable, but
it creates new variable with the same name as module

9 years agoAdd template match with mask.
Yan Wang [Wed, 24 Dec 2014 06:02:53 +0000 (14:02 +0800)]
Add template match with mask.

Signed-off-by: Yan Wang <yan.wang@linux.intel.com>
9 years agofix GpuMat::setTo method in case if mask is empty:
Vladislav Vinogradov [Thu, 15 Jan 2015 16:33:27 +0000 (19:33 +0300)]
fix GpuMat::setTo method in case if mask is empty:

it might be called from _OutputArray::setTo

9 years agofix CMake CMP0054 warning:
Vladislav Vinogradov [Thu, 15 Jan 2015 15:40:33 +0000 (18:40 +0300)]
fix CMake CMP0054 warning:

ported from c105b72945013b1cecb00617879598c43b82f298

9 years agodisable warnings caused by CUDA headers
Vladislav Vinogradov [Thu, 15 Jan 2015 14:20:35 +0000 (17:20 +0300)]
disable warnings caused by CUDA headers

9 years agofix -Wsign-compare warnings
Vladislav Vinogradov [Thu, 15 Jan 2015 14:17:35 +0000 (17:17 +0300)]
fix -Wsign-compare warnings

9 years agofix documentation warnings
Vladislav Vinogradov [Thu, 15 Jan 2015 14:15:59 +0000 (17:15 +0300)]
fix documentation warnings

9 years agorefactor CUDA part of photo module
Vladislav Vinogradov [Thu, 15 Jan 2015 13:45:35 +0000 (16:45 +0300)]
refactor CUDA part of photo module

9 years agoMerge pull request #3572 from berak:python_samples_30
Vadim Pisarevsky [Thu, 15 Jan 2015 13:17:26 +0000 (13:17 +0000)]
Merge pull request #3572 from berak:python_samples_30

9 years agoMerge pull request #3557 from ilya-lavrenov:sse_add_weighted
Vadim Pisarevsky [Thu, 15 Jan 2015 13:14:06 +0000 (13:14 +0000)]
Merge pull request #3557 from ilya-lavrenov:sse_add_weighted

9 years agoMerge pull request #3599 from a-wi:DShow_COM_interfaces_v3
Vadim Pisarevsky [Thu, 15 Jan 2015 13:12:51 +0000 (13:12 +0000)]
Merge pull request #3599 from a-wi:DShow_COM_interfaces_v3

9 years agoadd default file to load in case sample was run without command line arguments
Tzafrir [Tue, 6 Jan 2015 14:13:46 +0000 (16:13 +0200)]
add default file to load in case sample was run without command line arguments

9 years agoMerge pull request #3561 from jet47:cuda-arithm-refactoring
Vadim Pisarevsky [Thu, 15 Jan 2015 11:44:35 +0000 (11:44 +0000)]
Merge pull request #3561 from jet47:cuda-arithm-refactoring

9 years agoMerge pull request #3574 from mikeizbicki:patch-1
Vadim Pisarevsky [Thu, 15 Jan 2015 11:36:51 +0000 (11:36 +0000)]
Merge pull request #3574 from mikeizbicki:patch-1

9 years agoMerge pull request #3584 from nisargthakkar:UMatDimsZeroAfterRelease
Vadim Pisarevsky [Thu, 15 Jan 2015 11:27:11 +0000 (11:27 +0000)]
Merge pull request #3584 from nisargthakkar:UMatDimsZeroAfterRelease

9 years agoMerge pull request #3595 from timsat:error_messages
Vadim Pisarevsky [Thu, 15 Jan 2015 11:24:53 +0000 (11:24 +0000)]
Merge pull request #3595 from timsat:error_messages

9 years agoMerge pull request #3597 from wangyan42164:cascade_cl_opt
Vadim Pisarevsky [Thu, 15 Jan 2015 11:24:25 +0000 (11:24 +0000)]
Merge pull request #3597 from wangyan42164:cascade_cl_opt

9 years agoMerge pull request #3602 from vbystricky:cap_images_frames_cnt
Vadim Pisarevsky [Thu, 15 Jan 2015 11:21:23 +0000 (11:21 +0000)]
Merge pull request #3602 from vbystricky:cap_images_frames_cnt

9 years agofixes for latest changes in opencv3.0 api
berak [Thu, 1 Jan 2015 09:30:44 +0000 (10:30 +0100)]
fixes for latest changes in opencv3.0 api

fixes for latest changes in opencv3.0 api

waitKey() normalization

fixed mser bindings

9 years agoFurther LevMarq improvements.
Olexa Bilaniuk [Thu, 15 Jan 2015 09:21:16 +0000 (04:21 -0500)]
Further LevMarq improvements.

Implemented a damping-parameter choice strategy similar to that
described in http://www2.imm.dtu.dk/documents/ftp/tr99/tr05_99.pdf.
Removed a few debug statements.
Chosen a new starting lambda value, 0.01.
We now actually output the mask of inliers.

9 years agofix documentation warnings
Vladislav Vinogradov [Thu, 15 Jan 2015 07:34:43 +0000 (10:34 +0300)]
fix documentation warnings

9 years agoAdd CV_CAP_PROP_POS_FRAMES property to cap_images.cpp
VBystricky [Wed, 14 Jan 2015 21:55:17 +0000 (01:55 +0400)]
Add CV_CAP_PROP_POS_FRAMES property to cap_images.cpp

9 years agoBuild fix for non-TEGRA case.
Alexander Smorkalov [Tue, 13 Jan 2015 20:33:01 +0000 (23:33 +0300)]
Build fix for non-TEGRA case.

9 years agorefactor CUDA CascadeClassifier
Vladislav Vinogradov [Wed, 14 Jan 2015 16:48:58 +0000 (19:48 +0300)]
refactor CUDA CascadeClassifier

9 years agorefactor CUDA HOG algorithm:
Vladislav Vinogradov [Wed, 14 Jan 2015 15:18:51 +0000 (18:18 +0300)]
refactor CUDA HOG algorithm:

use abstract interface with hidden implementation

9 years agofix CUDA HOG for multi GPU systems:
Vladislav Vinogradov [Wed, 14 Jan 2015 11:01:34 +0000 (14:01 +0300)]
fix CUDA HOG for multi GPU systems:

move GPU constants initialization from constructor to compute method

9 years agomove CUDA object detection algorithms to separate module
Vladislav Vinogradov [Wed, 14 Jan 2015 09:55:44 +0000 (12:55 +0300)]
move CUDA object detection algorithms to separate module

9 years agoCheck if _WIN32_IE is defined with proper value in window_w32.cpp
Artur Wieczorek [Wed, 31 Dec 2014 09:15:48 +0000 (10:15 +0100)]
Check if _WIN32_IE is defined with proper value in window_w32.cpp

TBBUTTONINFO struct and BTNS_xxx symbols used in the code need _WIN32_IE to be defined with at least 0x0500 value (_WIN32_IE_IE50) in order to be included from commctrl.h.

9 years agoDon't define destructors for COM-based interfaces.
Artur Wieczorek [Wed, 14 Jan 2015 13:06:42 +0000 (14:06 +0100)]
Don't define destructors for COM-based interfaces.

9 years agoAvoid compile unnecessary OpenCL kernel.
Yan Wang [Wed, 14 Jan 2015 11:33:12 +0000 (19:33 +0800)]
Avoid compile unnecessary OpenCL kernel.

Signed-off-by: Yan Wang <yan.wang@linux.intel.com>
9 years agoPrevent linking failure, bug 4108
Claudio Caraffi [Wed, 14 Jan 2015 10:55:41 +0000 (11:55 +0100)]
Prevent linking failure, bug 4108

9 years agoLevMarq made semi-functional.
Olexa Bilaniuk [Wed, 14 Jan 2015 09:22:48 +0000 (04:22 -0500)]
LevMarq made semi-functional.

Replaced the complex rules OpenCV uses to select lambda with a naive but
fast heuristic. It's imperfect but produces good results. It is still
subject to the same problem as OpenCV - namely, on occasion LevMarq will
make a poor result even worse.

9 years agoMerge remote-tracking branch 'refs/remotes/upstream/master' into rho
Olexa Bilaniuk [Wed, 14 Jan 2015 09:11:24 +0000 (04:11 -0500)]
Merge remote-tracking branch 'refs/remotes/upstream/master' into rho

9 years agofix documentation warnings
Vladislav Vinogradov [Tue, 13 Jan 2015 15:23:59 +0000 (18:23 +0300)]
fix documentation warnings

9 years agorefactor CUDA BFMatcher algorithm:
Vladislav Vinogradov [Tue, 13 Jan 2015 14:57:30 +0000 (17:57 +0300)]
refactor CUDA BFMatcher algorithm:

use new abstract interface and hidden implementation

9 years agoadd extended documentation for Features2DAsync
Vladislav Vinogradov [Tue, 13 Jan 2015 14:57:09 +0000 (17:57 +0300)]
add extended documentation for Features2DAsync

9 years agorefactor CUDA ORB feature detector/extractor algorithm:
Vladislav Vinogradov [Tue, 13 Jan 2015 07:40:58 +0000 (10:40 +0300)]
refactor CUDA ORB feature detector/extractor algorithm:

use new abstract interface and hidden implementation

9 years agofix compilation without CUDA
Vladislav Vinogradov [Tue, 13 Jan 2015 07:25:34 +0000 (10:25 +0300)]
fix compilation without CUDA

9 years agoextend Feature2DAsync interface
Vladislav Vinogradov [Mon, 12 Jan 2015 15:26:41 +0000 (18:26 +0300)]
extend Feature2DAsync interface

9 years agorefactor CUDA FAST feature detector algorithm:
Vladislav Vinogradov [Mon, 12 Jan 2015 15:11:09 +0000 (18:11 +0300)]
refactor CUDA FAST feature detector algorithm:

use new FastFeatureDetector abstract interface and hidden implementation

9 years agoremove firstLevel=2 test case, because CPU implementation fails
Vladislav Vinogradov [Mon, 12 Jan 2015 09:46:44 +0000 (12:46 +0300)]
remove firstLevel=2 test case, because CPU implementation fails

9 years agofix compilation without CUDA
Vladislav Vinogradov [Wed, 24 Dec 2014 14:24:38 +0000 (17:24 +0300)]
fix compilation without CUDA

9 years agomove buildWarp*Maps to stitching
Vladislav Vinogradov [Wed, 24 Dec 2014 13:06:09 +0000 (16:06 +0300)]
move buildWarp*Maps to stitching

9 years agomove ImagePyramid to cudalegacy
Vladislav Vinogradov [Wed, 24 Dec 2014 13:05:47 +0000 (16:05 +0300)]
move ImagePyramid to cudalegacy

9 years agoMerge pull request #3593 from kilobyte:master
Vadim Pisarevsky [Tue, 13 Jan 2015 12:25:21 +0000 (12:25 +0000)]
Merge pull request #3593 from kilobyte:master

9 years agoMerge pull request #3535 from wangyan42164:use_hypot
Vadim Pisarevsky [Tue, 13 Jan 2015 11:22:21 +0000 (11:22 +0000)]
Merge pull request #3535 from wangyan42164:use_hypot

9 years agoMerge pull request #3566 from jet47:cuda-imgproc-refactoring
Vadim Pisarevsky [Tue, 13 Jan 2015 11:21:51 +0000 (11:21 +0000)]
Merge pull request #3566 from jet47:cuda-imgproc-refactoring

9 years agoMerge pull request #3592 from jet47:cuda-7.0-android
Vadim Pisarevsky [Tue, 13 Jan 2015 11:18:20 +0000 (11:18 +0000)]
Merge pull request #3592 from jet47:cuda-7.0-android

9 years agoMerge pull request #3537 from mshabunin:ml-old-xml
Vadim Pisarevsky [Tue, 13 Jan 2015 11:17:36 +0000 (11:17 +0000)]
Merge pull request #3537 from mshabunin:ml-old-xml

9 years agoGet rid of sysctl includes on Linux.
Adam Borowski [Tue, 13 Jan 2015 00:52:56 +0000 (01:52 +0100)]
Get rid of sysctl includes on Linux.

The 'sysctl' syscall has been strongly deprecated on Linux for ages.
Currently, on old architectures it will spam syslog whenever used, and on
newer ones it's missing from the headers altogether.  Opencv has migrated
away on Linux already, but #includes were left lingering.  This commit
removes them on non-__APPLE__, unbreaking x32 (and probably others).

9 years agoNEON detection in runtime
Ilya Lavrenov [Tue, 30 Dec 2014 13:53:19 +0000 (16:53 +0300)]
NEON detection in runtime

9 years agoOpenCV for Tegra compilation fix for
Alexander Smorkalov [Tue, 6 Jan 2015 13:57:21 +0000 (16:57 +0300)]
OpenCV for Tegra compilation fix for
- Gaussian blur;
- CascadeClassifier;
- Blenders in stitching module;
- Laplacial pyromids in stitching module.

9 years agoMerge remote-tracking branch 'refs/remotes/upstream/master' into rho
Olexa Bilaniuk [Mon, 12 Jan 2015 16:59:38 +0000 (11:59 -0500)]
Merge remote-tracking branch 'refs/remotes/upstream/master' into rho

9 years agoOptimizations to Jacobian and error calculations.
Olexa Bilaniuk [Mon, 12 Jan 2015 16:33:05 +0000 (11:33 -0500)]
Optimizations to Jacobian and error calculations.

Deleted multiplications by zero and consequent additions of zero terms.

9 years agoMerge pull request #3575 from Ashod:multipage_imread
Vadim Pisarevsky [Mon, 12 Jan 2015 11:31:04 +0000 (11:31 +0000)]
Merge pull request #3575 from Ashod:multipage_imread

9 years agoMerge pull request #3586 from wangyan42164:bfm
Vadim Pisarevsky [Mon, 12 Jan 2015 10:55:34 +0000 (10:55 +0000)]
Merge pull request #3586 from wangyan42164:bfm

9 years agoMore LevMarq bugfixes.
Olexa Bilaniuk [Mon, 12 Jan 2015 10:37:40 +0000 (05:37 -0500)]
More LevMarq bugfixes.

LevMarq now doesn't outright fail, but doesn't seem to improve things
much if at all.

9 years agoWork on LevMarq code.
Olexa Bilaniuk [Mon, 12 Jan 2015 09:58:07 +0000 (04:58 -0500)]
Work on LevMarq code.

Refactoring of Cholesky decomposition.
Fix for memory corruption bug.
LevMarq as a whole still non-functional.

9 years agoremove "-target-os-variant" NVCC option for CUDA 7.0
Vladislav Vinogradov [Mon, 12 Jan 2015 07:58:43 +0000 (10:58 +0300)]
remove "-target-os-variant" NVCC option for CUDA 7.0

it is marked as obsolete

9 years agoMerge remote-tracking branch 'upstream/master' into rho
Olexa Bilaniuk [Mon, 12 Jan 2015 07:11:14 +0000 (02:11 -0500)]
Merge remote-tracking branch 'upstream/master' into rho

9 years agoMore sensible error messages
Timur Sattarov [Sat, 10 Jan 2015 23:02:58 +0000 (03:02 +0400)]
More sensible error messages

9 years agoRemove unnecessary global/local dim for radius match.
Yan Wang [Thu, 8 Jan 2015 11:34:42 +0000 (19:34 +0800)]
Remove unnecessary global/local dim for radius match.

Signed-off-by: Yan Wang <yan.wang@linux.intel.com>
9 years agoFixed Bug similar to Bug#3757. UMat all dims zero after release.
Nisarg Thakkar [Thu, 8 Jan 2015 08:18:48 +0000 (13:48 +0530)]
Fixed Bug similar to Bug#3757. UMat all dims zero after release.

9 years agoMerge pull request #3580 from JoeHowse:master
Alexander Alekhin [Mon, 5 Jan 2015 19:40:37 +0000 (19:40 +0000)]
Merge pull request #3580 from JoeHowse:master

9 years agoMerge pull request #3579 from basheersubei:patch-1
Alexander Alekhin [Mon, 5 Jan 2015 19:39:39 +0000 (19:39 +0000)]
Merge pull request #3579 from basheersubei:patch-1

9 years agoFix shadowed variable warning
Joe Howse [Mon, 5 Jan 2015 14:56:46 +0000 (10:56 -0400)]
Fix shadowed variable warning

9 years agotypo fix in instructions of fitline.py sample
Basheer Subei [Sun, 4 Jan 2015 21:09:00 +0000 (00:09 +0300)]
typo fix in instructions of fitline.py sample

9 years agoAdded imread and imreadmulti regression tests.
Ashod Nakashian [Mon, 29 Dec 2014 15:51:27 +0000 (10:51 -0500)]
Added imread and imreadmulti regression tests.

9 years agoAdded imreadmulti API to read multi-paged images into a vector of Mat.
Ashod Nakashian [Mon, 29 Dec 2014 15:50:42 +0000 (10:50 -0500)]
Added imreadmulti API to read multi-paged images into a vector of Mat.

9 years agoSupport for multipage decoding in BaseImageDecoder and implemented in TiffDecoder.
Ashod Nakashian [Mon, 29 Dec 2014 15:50:03 +0000 (10:50 -0500)]
Support for multipage decoding in BaseImageDecoder and implemented in TiffDecoder.