added a configure option to enable CHUNKY_STRIP_READ support (--enable-chunky-strip-read)

This commit is contained in:
Frank Warmerdam 2011-02-18 21:54:22 +00:00
parent 82361dfa04
commit bc3bc9925b
4 changed files with 64 additions and 6 deletions

View File

@ -1,5 +1,9 @@
2011-02-18 Frank Warmerdam <warmerdam@pobox.com> 2011-02-18 Frank Warmerdam <warmerdam@pobox.com>
* configure.ac, configure: Added support for --enable-chunky-strip-read
configure option to enable the experimental feature from a couple
months ago for reading big strips in chunks.
* configure.ac, tif_read.c, tif_readdir.c, tif_dir.h, tiffiop.h, * configure.ac, tif_read.c, tif_readdir.c, tif_dir.h, tiffiop.h,
tif_write.c, tif_print.c, tif_jpeg.c, tif_dirwrite.c, tif_write.c: tif_write.c, tif_print.c, tif_jpeg.c, tif_dirwrite.c, tif_write.c:
Implement optional support for deferring the load of strip/tile Implement optional support for deferring the load of strip/tile
@ -38,7 +42,7 @@
* libtiff/tif_jpeg.c: ensure that rawcc and rawcp are maintained * libtiff/tif_jpeg.c: ensure that rawcc and rawcp are maintained
during JPEGPreDecode and JPEGDecode calls. during JPEGPreDecode and JPEGDecode calls.
* libtiff/tif_read.c: arger read ahead for CHUNKY_STRIP_READ_SUPPORT, * libtiff/tif_read.c: larger read ahead for CHUNKY_STRIP_READ_SUPPORT,
as compression formats like JPEG keep 16 lines interleaved in a sense as compression formats like JPEG keep 16 lines interleaved in a sense
and might need to touch quite a bit of data. and might need to touch quite a bit of data.

45
configure vendored
View File

@ -784,7 +784,6 @@ enable_fast_install
with_gnu_ld with_gnu_ld
with_sysroot with_sysroot
enable_libtool_lock enable_libtool_lock
with_gnu_ld
enable_silent_rules enable_silent_rules
enable_rpath enable_rpath
enable_largefile enable_largefile
@ -817,6 +816,8 @@ enable_cxx
with_x with_x
enable_strip_chopping enable_strip_chopping
with_default_strip_size with_default_strip_size
enable_defer_strile_load
enable_chunky_strip_read
enable_extrasample_as_alpha enable_extrasample_as_alpha
enable_check_ycbcr_subsampling enable_check_ycbcr_subsampling
' '
@ -829,12 +830,8 @@ LDFLAGS
LIBS LIBS
CPPFLAGS CPPFLAGS
CPP CPP
CPPFLAGS
CXX CXX
CXXFLAGS CXXFLAGS
LDFLAGS
LIBS
CPPFLAGS
CCC CCC
CXXCPP CXXCPP
XMKMF' XMKMF'
@ -1504,6 +1501,12 @@ Optional Features:
to convert single-strip uncompressed images to to convert single-strip uncompressed images to
mutiple strips of specified size to reduce memory mutiple strips of specified size to reduce memory
usage) usage)
--enable-defer-strile-load
enable deferred strip/tile offset/size loading
(experimental)
--enable-chunky-strip-read
enable reading large strips in chunks for
TIFFReadScanline() (experimental)
--disable-extrasample-as-alpha --disable-extrasample-as-alpha
the RGBA interface will treat a fourth sample with the RGBA interface will treat a fourth sample with
no EXTRASAMPLE_ value as being ASSOCALPHA. Many no EXTRASAMPLE_ value as being ASSOCALPHA. Many
@ -19683,6 +19686,38 @@ _ACEOF
fi fi
# Check whether --enable-defer-strile-load was given.
if test "${enable_defer_strile_load+set}" = set; then :
enableval=$enable_defer_strile_load; HAVE_DEFER_STRILE_LOAD=$enableval
else
HAVE_DEFER_STRILE_LOAD=no
fi
if test "$HAVE_DEFER_STRILE_LOAD" = "yes" ; then
$as_echo "#define DEFER_STRILE_LOAD 1" >>confdefs.h
fi
# Check whether --enable-chunky-strip-read was given.
if test "${enable_chunky_strip_read+set}" = set; then :
enableval=$enable_chunky_strip_read; HAVE_CHUNKY_STRIP_READ=$enableval
else
HAVE_CHUNKY_STRIP_READ=no
fi
if test "$HAVE_CHUNKY_STRIP_READ" = "yes" ; then
$as_echo "#define CHUNKY_STRIP_READ 1" >>confdefs.h
fi
$as_echo "#define SUBIFD_SUPPORT 1" >>confdefs.h $as_echo "#define SUBIFD_SUPPORT 1" >>confdefs.h

View File

@ -854,6 +854,22 @@ if test "$HAVE_DEFER_STRILE_LOAD" = "yes" ; then
fi fi
dnl ---------------------------------------------------------------------------
dnl Check for support of CHUNKY_STRIP_READ_SUPPORT, a mechanism to allowing
dnl reading large strips (usually one strip files) in chunks when using
dnl TIFFReadScanline(). This is an experimental feature in libtiff 4.0.
dnl ---------------------------------------------------------------------------
AC_ARG_ENABLE(chunky-strip-read,
AS_HELP_STRING([--enable-chunky-strip-read],
[enable reading large strips in chunks for TIFFReadScanline() (experimental)]),
[HAVE_CHUNKY_STRIP_READ=$enableval], [HAVE_CHUNKY_STRIP_READ=no])
if test "$HAVE_CHUNKY_STRIP_READ" = "yes" ; then
AC_DEFINE(CHUNKY_STRIP_READ,1,[enable partial strip reading for large strips (experimental)])
fi
dnl --------------------------------------------------------------------------- dnl ---------------------------------------------------------------------------
dnl Default subifd support. dnl Default subifd support.
dnl --------------------------------------------------------------------------- dnl ---------------------------------------------------------------------------

View File

@ -10,6 +10,9 @@
lacking the tag (default enabled). */ lacking the tag (default enabled). */
#undef CHECK_JPEG_YCBCR_SUBSAMPLING #undef CHECK_JPEG_YCBCR_SUBSAMPLING
/* enable partial strip reading for large strips (experimental) */
#undef CHUNKY_STRIP_READ
/* Support C++ stream API (requires C++ compiler) */ /* Support C++ stream API (requires C++ compiler) */
#undef CXX_SUPPORT #undef CXX_SUPPORT