Revision: 16472 http://gar.svn.sourceforge.net/gar/?rev=16472&view=rev Author: dmichelsen Date: 2011-12-12 12:52:45 +0000 (Mon, 12 Dec 2011) Log Message: ----------- tiff: Update to 3.9.5, general rework
Modified Paths: -------------- csw/mgar/pkg/tiff/trunk/Makefile csw/mgar/pkg/tiff/trunk/checksums Added Paths: ----------- csw/mgar/pkg/tiff/trunk/files/0001-Keep-norunpath-during-linkage.patch Removed Paths: ------------- csw/mgar/pkg/tiff/trunk/files/libtiff-CVE-2009-2347.patch csw/mgar/pkg/tiff/trunk/files/libtiff-jpeg-scanline.patch csw/mgar/pkg/tiff/trunk/files/libtiff-mantypo.patch csw/mgar/pkg/tiff/trunk/files/libtiff-scanlinesize.patch Modified: csw/mgar/pkg/tiff/trunk/Makefile =================================================================== --- csw/mgar/pkg/tiff/trunk/Makefile 2011-12-12 11:25:34 UTC (rev 16471) +++ csw/mgar/pkg/tiff/trunk/Makefile 2011-12-12 12:52:45 UTC (rev 16472) @@ -1,5 +1,5 @@ NAME = tiff -VERSION = 3.9.2 +VERSION = 3.9.5 CATEGORIES = lib DESCRIPTION = Lib and tools for Tag Image File Format @@ -7,107 +7,69 @@ endef MASTER_SITES = http://download.osgeo.org/libtiff/ -DISTFILES = $(NAME)-$(VERSION).tar.gz -DISTNAME = $(NAME)-$(VERSION) +DISTFILES += $(DISTNAME).tar.gz -PACKAGES = CSWtiff CSWtiffrt CSWtiffdevel CSWtiffdoc -CATALOGNAME_CSWtiff = tiff -CATALOGNAME_CSWtiffrt = tiff_rt -CATALOGNAME_CSWtiffdevel = tiff_devel -CATALOGNAME_CSWtiffdoc = tiff_doc +PATCHFILES += 0001-Keep-norunpath-during-linkage.patch -SPKG_DESC_CSWtiff += $(DESCRIPTION) -SPKG_DESC_CSWtiffrt += $(DESCRIPTION) - runtime package -SPKG_DESC_CSWtiffdevel += $(DESCRIPTION) - developer package -SPKG_DESC_CSWtiffdoc += $(DESCRIPTION) - documentation +VENDOR_URL = http://www.remotesensing.org/libtiff/ -RUNTIME_DEP_PKGS_CSWtiff += CSWtiffrt CSWjbigkit CSWjpeg CSWzlib -RUNTIME_DEP_PKGS_CSWtiffrt += CSWjbigkit CSWjpeg CSWzlib -RUNTIME_DEP_PKGS_CSWtiffdevel += CSWtiffrt -RUNTIME_DEP_PKGS_CSWtiffdoc += +LICENSE = COPYRIGHT -PKGFILES_CSWtiffrt = $(PKGFILES_RT) -PKGFILES_CSWtiffdevel = $(PKGFILES_DEVEL) -PKGFILES_CSWtiffdoc = $(sharedstatedir)/doc/.* +PACKAGES = CSWtiff +SPKG_DESC_CSWtiff += Tools for Tag Image File Format manipulation +PKGFILES_CSWtiff += $(bindir)/.* +PKGFILES_CSWtiff += $(mandir)/man1/.* +RUNTIME_DEP_PKGS_CSWtiff += CSWlibtiff3 +RUNTIME_DEP_PKGS_CSWtiff += CSWlibjpeg7 +RUNTIME_DEP_PKGS_CSWtiff += CSWjbigkit +RUNTIME_DEP_PKGS_CSWtiff += CSWfreeglut +RUNTIME_DEP_PKGS_CSWtiff += CSWmesa +RUNTIME_DEP_PKGS_CSWtiff += CSWlibz1 -ARCHALL_CSWtiffdoc = 1 +# There are legacy packages dependencing on CSWtiff who have not a SONAME binding and +# require libtiff.so to be available +RUNTIME_DEP_PKGS_CSWtiff += CSWlibtiff-dev +CHECKPKG_OVERRIDES_CSWtiff += surplus-dependency|CSWlibtiff-dev -CHECKPKG_OVERRIDES_CSWtiffdevel += missing-dependency|CSWtiff -CHECKPKG_OVERRIDES_CSWtiff += symbol-not-found|tiffcmp -CHECKPKG_OVERRIDES_CSWtiff += symbol-not-found|pal2rgb -CHECKPKG_OVERRIDES_CSWtiff += symbol-not-found|fax2tiff -CHECKPKG_OVERRIDES_CSWtiff += symbol-not-found|tiffcp -CHECKPKG_OVERRIDES_CSWtiff += symbol-not-found|ppm2tiff -CHECKPKG_OVERRIDES_CSWtiff += symbol-not-found|tiffmedian -CHECKPKG_OVERRIDES_CSWtiff += symbol-not-found|raw2tiff -CHECKPKG_OVERRIDES_CSWtiff += symbol-not-found|thumbnail -CHECKPKG_OVERRIDES_CSWtiff += symbol-not-found|tiff2ps -CHECKPKG_OVERRIDES_CSWtiff += symbol-not-found|bmp2tiff -CHECKPKG_OVERRIDES_CSWtiff += symbol-not-found|ras2tiff -CHECKPKG_OVERRIDES_CSWtiff += symbol-not-found|rgb2ycbcr -CHECKPKG_OVERRIDES_CSWtiff += symbol-not-found|tiff2bw -CHECKPKG_OVERRIDES_CSWtiff += symbol-not-found|tiffcrop -CHECKPKG_OVERRIDES_CSWtiff += symbol-not-found|tiffset -CHECKPKG_OVERRIDES_CSWtiff += symbol-not-found|fax2ps -CHECKPKG_OVERRIDES_CSWtiff += symbol-not-found|tiffinfo -CHECKPKG_OVERRIDES_CSWtiff += symbol-not-found|tiffdump -CHECKPKG_OVERRIDES_CSWtiff += symbol-not-found|tiff2rgba -CHECKPKG_OVERRIDES_CSWtiff += symbol-not-found|gif2tiff -CHECKPKG_OVERRIDES_CSWtiff += symbol-not-found|tiffdither -CHECKPKG_OVERRIDES_CSWtiff += symbol-not-found|tiffsplit -CHECKPKG_OVERRIDES_CSWtiff += symbol-not-found|tiffinfo -CHECKPKG_OVERRIDES_CSWtiff += symbol-not-found|tiff2bw -CHECKPKG_OVERRIDES_CSWtiff += symbol-not-found|tiffdump -CHECKPKG_OVERRIDES_CSWtiff += symbol-not-found|tiffset -CHECKPKG_OVERRIDES_CSWtiff += symbol-not-found|tiffcp -CHECKPKG_OVERRIDES_CSWtiff += symbol-not-found|gif2tiff -CHECKPKG_OVERRIDES_CSWtiff += symbol-not-found|tiffcrop -CHECKPKG_OVERRIDES_CSWtiff += symbol-not-found|thumbnail -CHECKPKG_OVERRIDES_CSWtiff += symbol-not-found|tiffmedian -CHECKPKG_OVERRIDES_CSWtiff += symbol-not-found|ppm2tiff -CHECKPKG_OVERRIDES_CSWtiff += symbol-not-found|pal2rgb -CHECKPKG_OVERRIDES_CSWtiff += symbol-not-found|tiffcmp -CHECKPKG_OVERRIDES_CSWtiff += symbol-not-found|rgb2ycbcr -CHECKPKG_OVERRIDES_CSWtiff += symbol-not-found|raw2tiff -CHECKPKG_OVERRIDES_CSWtiff += symbol-not-found|bmp2tiff -CHECKPKG_OVERRIDES_CSWtiff += symbol-not-found|ras2tiff -CHECKPKG_OVERRIDES_CSWtiff += symbol-not-found|tiffdither -CHECKPKG_OVERRIDES_CSWtiff += symbol-not-found|fax2ps -CHECKPKG_OVERRIDES_CSWtiff += symbol-not-found|fax2tiff -CHECKPKG_OVERRIDES_CSWtiff += symbol-not-found|tiff2ps -CHECKPKG_OVERRIDES_CSWtiff += symbol-not-found|tiffsplit -CHECKPKG_OVERRIDES_CSWtiff += symbol-not-found|tiff2rgba -CHECKPKG_OVERRIDES_CSWtiff += symbol-not-found|tiff2pdf +PACKAGES += CSWlibtiff3 +SPKG_DESC_CSWlibtiff3 = Tag Image File Format library for C, libtiff.so.3 +PKGFILES_CSWlibtiff3 += $(call pkgfiles_lib,libtiff.so.3) +RUNTIME_DEP_PKGS_CSWlibtiff3 += CSWlibjpeg7 +RUNTIME_DEP_PKGS_CSWlibtiff3 += CSWjbigkit +RUNTIME_DEP_PKGS_CSWlibtiff3 += CSWlibz1 -LICENSE = COPYRIGHT +PACKAGES += CSWlibtiffxx3 +SPKG_DESC_CSWlibtiffxx3 = Tag Image File Format library for C++, libtiffcxx.so.3 +PKGFILES_CSWlibtiffxx3 += $(call pkgfiles_lib,libtiffxx.so.3) +RUNTIME_DEP_PKGS_CSWlibtiffxx3 += CSWlibjpeg7 +RUNTIME_DEP_PKGS_CSWlibtiffxx3 += CSWjbigkit +RUNTIME_DEP_PKGS_CSWlibtiffxx3 += CSWlibz1 +RUNTIME_DEP_PKGS_CSWlibtiffxx3 += CSWlibtiff3 -UFILES_REGEX = $(NAME)-(\d+(?:\.\d+)*).tar.bz2 +PACKAGES += CSWlibtiff-dev +SPKG_DESC_CSWlibtiff-dev += Development files for libtiff.so.3 and libtiffxx.so.3 +# PKGFILES is catchall +RUNTIME_DEP_PKGS_CSWlibtiff-dev += CSWlibtiff3 +RUNTIME_DEP_PKGS_CSWlibtiff-dev += CSWlibtiffxx3 -SPKG_SOURCEURL = http://www.remotesensing.org/libtiff/ +# There are docs only +CHECKPKG_OVERRIDES_CSWlibtiff-dev += file-with-bad-content|/usr/local|root/opt/csw/share/doc/tiff/ChangeLog +CHECKPKG_OVERRIDES_CSWlibtiff-dev += file-with-bad-content|/usr/local|root/opt/csw/share/doc/tiff/html/build.html -# Patches from upstream (found via src.opensolaris.org), not applied for now -#PATCHFILES += libtiff-mantypo.patch -#PATCHFILES += libtiff-scanlinesize.patch -#PATCHFILES += libtiff-jpeg-scanline.patch -#PATCHFILES += libtiff-CVE-2009-2347.patch +EXTRA_LINKER_FLAGS += -norunpath BUILD64 = 1 +ISAEXEC = 1 -STRIP_LIBTOOL = 1 - -EXTRA_INC = $(prefix)/X11/include -EXTRA_LIB = $(prefix)/X11/lib -EXTRA_PKG_CONFIG_DIRS = $(prefix)/X11/lib - CONFIGURE_ARGS = $(DIRPATHS) CONFIGURE_ARGS += --with-docdir=$(docdir)/tiff CONFIGURE_ARGS += --disable-static CONFIGURE_ARGS += --enable-cxx -CONFIGURE_ARGS += --with-zlib-include-dir=/opt/csw/include -CONFIGURE_ARGS += --with-zlib-lib-dir=/opt/csw/lib -CONFIGURE_ARGS += --with-jpeg-include-dir=/opt/csw/include -CONFIGURE_ARGS += --with-jpeg-lib-dir=/opt/csw/lib -CONFIGURE_ARGS += --with-jbig-include-dir=/opt/csw/include -CONFIGURE_ARGS += --with-jbig-lib-dir=/opt/csw/lib +CONFIGURE_ARGS += --with-zlib-include-dir=$(includedir) +CONFIGURE_ARGS += --with-zlib-lib-dir=$(libdir) +CONFIGURE_ARGS += --with-jpeg-include-dir=$(includedir) +CONFIGURE_ARGS += --with-jpeg-lib-dir=$(libdir) +CONFIGURE_ARGS += --with-jbig-include-dir=$(includedir) +CONFIGURE_ARGS += --with-jbig-lib-dir=$(libdir) include gar/category.mk Modified: csw/mgar/pkg/tiff/trunk/checksums =================================================================== --- csw/mgar/pkg/tiff/trunk/checksums 2011-12-12 11:25:34 UTC (rev 16471) +++ csw/mgar/pkg/tiff/trunk/checksums 2011-12-12 12:52:45 UTC (rev 16472) @@ -1 +1 @@ -93e56e421679c591de7552db13384cb8 tiff-3.9.2.tar.gz +8fc7ce3b4e1d0cc8a319336967815084 tiff-3.9.5.tar.gz Added: csw/mgar/pkg/tiff/trunk/files/0001-Keep-norunpath-during-linkage.patch =================================================================== --- csw/mgar/pkg/tiff/trunk/files/0001-Keep-norunpath-during-linkage.patch (rev 0) +++ csw/mgar/pkg/tiff/trunk/files/0001-Keep-norunpath-during-linkage.patch 2011-12-12 12:52:45 UTC (rev 16472) @@ -0,0 +1,25 @@ +From 38d3de7945093afc2095a944630feff1507fb76c Mon Sep 17 00:00:00 2001 +From: Dagobert Michelsen <d...@opencsw.org> +Date: Mon, 12 Dec 2011 12:08:10 +0100 +Subject: [PATCH] Keep -norunpath during linkage + +--- + config/ltmain.sh | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/config/ltmain.sh b/config/ltmain.sh +index 3061e3c..5817d54 100755 +--- a/config/ltmain.sh ++++ b/config/ltmain.sh +@@ -5840,7 +5840,7 @@ func_mode_link () + # -O*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization + -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \ + -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \ +- -O*|-flto*|-fwhopr*|-fuse-linker-plugin) ++ -O*|-flto*|-fwhopr*|-fuse-linker-plugin|-norunpath) + func_quote_for_eval "$arg" + arg="$func_quote_for_eval_result" + func_append compile_command " $arg" +-- +1.7.6.1 + Deleted: csw/mgar/pkg/tiff/trunk/files/libtiff-CVE-2009-2347.patch =================================================================== --- csw/mgar/pkg/tiff/trunk/files/libtiff-CVE-2009-2347.patch 2011-12-12 11:25:34 UTC (rev 16471) +++ csw/mgar/pkg/tiff/trunk/files/libtiff-CVE-2009-2347.patch 2011-12-12 12:52:45 UTC (rev 16472) @@ -1,90 +0,0 @@ -http://bugzilla.maptools.org/show_bug.cgi?id=2079 - - -diff -Naur tiff-3.9.2.orig/tools/tiff2rgba.c tiff-3.9.2/tools/tiff2rgba.c ---- tiff-3.9.2.orig/tools/tiff2rgba.c 2009-08-20 16:23:53.000000000 -0400 -+++ tiff-3.9.2/tools/tiff2rgba.c 2009-12-03 12:19:07.000000000 -0500 -@@ -125,6 +125,17 @@ - return (0); - } - -+static tsize_t -+multiply(tsize_t m1, tsize_t m2) -+{ -+ tsize_t prod = m1 * m2; -+ -+ if (m1 && prod / m1 != m2) -+ prod = 0; /* overflow */ -+ -+ return prod; -+} -+ - static int - cvt_by_tile( TIFF *in, TIFF *out ) - -@@ -134,6 +145,7 @@ - uint32 tile_width, tile_height; - uint32 row, col; - uint32 *wrk_line; -+ tsize_t raster_size; - int ok = 1; - - TIFFGetField(in, TIFFTAG_IMAGEWIDTH, &width); -@@ -151,7 +163,14 @@ - /* - * Allocate tile buffer - */ -- raster = (uint32*)_TIFFmalloc(tile_width * tile_height * sizeof (uint32)); -+ raster_size = multiply(multiply(tile_width, tile_height), sizeof (uint32)); -+ if (!raster_size) { -+ TIFFError(TIFFFileName(in), -+ "Can't allocate buffer for raster of size %lux%lu", -+ (unsigned long) tile_width, (unsigned long) tile_height); -+ return (0); -+ } -+ raster = (uint32*)_TIFFmalloc(raster_size); - if (raster == 0) { - TIFFError(TIFFFileName(in), "No space for raster buffer"); - return (0); -@@ -159,7 +178,7 @@ - - /* - * Allocate a scanline buffer for swapping during the vertical -- * mirroring pass. -+ * mirroring pass. (Request can't overflow given prior checks.) - */ - wrk_line = (uint32*)_TIFFmalloc(tile_width * sizeof (uint32)); - if (!wrk_line) { -@@ -236,6 +255,7 @@ - uint32 width, height; /* image width & height */ - uint32 row; - uint32 *wrk_line; -+ tsize_t raster_size; - int ok = 1; - - TIFFGetField(in, TIFFTAG_IMAGEWIDTH, &width); -@@ -251,7 +271,14 @@ - /* - * Allocate strip buffer - */ -- raster = (uint32*)_TIFFmalloc(width * rowsperstrip * sizeof (uint32)); -+ raster_size = multiply(multiply(width, rowsperstrip), sizeof (uint32)); -+ if (!raster_size) { -+ TIFFError(TIFFFileName(in), -+ "Can't allocate buffer for raster of size %lux%lu", -+ (unsigned long) width, (unsigned long) rowsperstrip); -+ return (0); -+ } -+ raster = (uint32*)_TIFFmalloc(raster_size); - if (raster == 0) { - TIFFError(TIFFFileName(in), "No space for raster buffer"); - return (0); -@@ -259,7 +286,7 @@ - - /* - * Allocate a scanline buffer for swapping during the vertical -- * mirroring pass. -+ * mirroring pass. (Request can't overflow given prior checks.) - */ - wrk_line = (uint32*)_TIFFmalloc(width * sizeof (uint32)); - if (!wrk_line) { Deleted: csw/mgar/pkg/tiff/trunk/files/libtiff-jpeg-scanline.patch =================================================================== --- csw/mgar/pkg/tiff/trunk/files/libtiff-jpeg-scanline.patch 2011-12-12 11:25:34 UTC (rev 16471) +++ csw/mgar/pkg/tiff/trunk/files/libtiff-jpeg-scanline.patch 2011-12-12 12:52:45 UTC (rev 16472) @@ -1,59 +0,0 @@ -http://bugzilla.maptools.org/show_bug.cgi?id=1936 - - -diff -Naur tiff-3.9.2.orig/libtiff/tif_dir.c tiff-3.9.2/libtiff/tif_dir.c ---- tiff-3.9.2.orig/libtiff/tif_dir.c 2008-12-31 19:10:43.000000000 -0500 -+++ tiff-3.9.2/libtiff/tif_dir.c 2010-01-05 19:59:12.000000000 -0500 -@@ -1100,6 +1100,13 @@ - */ - tif->tif_flags &= ~TIFF_ISTILED; - -+ /* -+ * Clear other directory-specific fields. -+ */ -+ tif->tif_tilesize = -1; -+ tif->tif_scanlinesize = -1; -+ -+ - return (1); - } - -diff -Naur tiff-3.9.2.orig/libtiff/tif_jpeg.c tiff-3.9.2/libtiff/tif_jpeg.c ---- tiff-3.9.2.orig/libtiff/tif_jpeg.c 2009-08-30 12:21:46.000000000 -0400 -+++ tiff-3.9.2/libtiff/tif_jpeg.c 2010-01-05 19:59:12.000000000 -0500 -@@ -1613,7 +1613,11 @@ - * Must recalculate cached tile size in case sampling state changed. - * Should we really be doing this now if image size isn't set? - */ -- tif->tif_tilesize = isTiled(tif) ? TIFFTileSize(tif) : (tsize_t) -1; -+ if( tif->tif_tilesize > 0 ) -+ tif->tif_tilesize = isTiled(tif) ? TIFFTileSize(tif) : (tsize_t) -1; -+ -+ if(tif->tif_scanlinesize > 0 ) -+ tif->tif_scanlinesize = TIFFScanlineSize(tif); - } - - static int -@@ -1741,13 +1745,21 @@ - return; - } - else -- { -+ { - if( !TIFFFillStrip( tif, 0 ) ) - return; - } - - TIFFSetField( tif, TIFFTAG_YCBCRSUBSAMPLING, - (uint16) sp->h_sampling, (uint16) sp->v_sampling ); -+ -+ /* -+ ** We want to clear the loaded strip so the application has time -+ ** to set JPEGCOLORMODE or other behavior modifiers. This essentially -+ ** undoes the JPEGPreDecode triggers by TIFFFileStrip(). (#1936) -+ */ -+ tif->tif_curstrip = -1; -+ - #endif /* CHECK_JPEG_YCBCR_SUBSAMPLING */ - } - Deleted: csw/mgar/pkg/tiff/trunk/files/libtiff-mantypo.patch =================================================================== --- csw/mgar/pkg/tiff/trunk/files/libtiff-mantypo.patch 2011-12-12 11:25:34 UTC (rev 16471) +++ csw/mgar/pkg/tiff/trunk/files/libtiff-mantypo.patch 2011-12-12 12:52:45 UTC (rev 16472) @@ -1,15 +0,0 @@ -http://bugzilla.maptools.org/show_bug.cgi?id=2129 - - -diff -Naur tiff-3.9.2.orig/man/tiffset.1 tiff-3.9.2/man/tiffset.1 ---- tiff-3.9.2.orig/man/tiffset.1 2006-04-20 08:17:19.000000000 -0400 -+++ tiff-3.9.2/man/tiffset.1 2009-12-03 12:11:58.000000000 -0500 -@@ -60,7 +60,7 @@ - ``Anonymous'': - .RS - .nf --tiffset \-s 305 Anonymous a.tif -+tiffset \-s 315 Anonymous a.tif - .fi - .RE - .PP Deleted: csw/mgar/pkg/tiff/trunk/files/libtiff-scanlinesize.patch =================================================================== --- csw/mgar/pkg/tiff/trunk/files/libtiff-scanlinesize.patch 2011-12-12 11:25:34 UTC (rev 16471) +++ csw/mgar/pkg/tiff/trunk/files/libtiff-scanlinesize.patch 2011-12-12 12:52:45 UTC (rev 16472) @@ -1,68 +0,0 @@ -http://bugzilla.maptools.org/show_bug.cgi?id=2140 - - -diff -Naur tiff-3.9.2.orig/libtiff/tif_jpeg.c tiff-3.9.2/libtiff/tif_jpeg.c ---- tiff-3.9.2.orig/libtiff/tif_jpeg.c 2009-08-30 12:21:46.000000000 -0400 -+++ tiff-3.9.2/libtiff/tif_jpeg.c 2010-01-05 22:40:40.000000000 -0500 -@@ -988,8 +988,15 @@ - tsize_t nrows; - (void) s; - -- /* data is expected to be read in multiples of a scanline */ -- if ( (nrows = sp->cinfo.d.image_height) ) { -+ nrows = cc / sp->bytesperline; -+ if (cc % sp->bytesperline) -+ TIFFWarningExt(tif->tif_clientdata, tif->tif_name, "fractional scanline not read"); -+ -+ if( nrows > (int) sp->cinfo.d.image_height ) -+ nrows = sp->cinfo.d.image_height; -+ -+ /* data is expected to be read in multiples of a scanline */ -+ if (nrows) { - /* Cb,Cr both have sampling factors 1, so this is correct */ - JDIMENSION clumps_per_line = sp->cinfo.d.comp_info[1].downsampled_width; - int samples_per_clump = sp->samplesperclump; -@@ -1087,8 +1094,7 @@ - * TODO: resolve this */ - buf += sp->bytesperline; - cc -= sp->bytesperline; -- nrows -= sp->v_sampling; -- } while (nrows > 0); -+ } while (--nrows > 0); - - #ifdef JPEG_LIB_MK1 - _TIFFfree(tmpbuf); -diff -Naur tiff-3.9.2.orig/libtiff/tif_strip.c tiff-3.9.2/libtiff/tif_strip.c ---- tiff-3.9.2.orig/libtiff/tif_strip.c 2006-03-25 13:04:35.000000000 -0500 -+++ tiff-3.9.2/libtiff/tif_strip.c 2010-01-05 21:39:20.000000000 -0500 -@@ -238,23 +238,19 @@ - ycbcrsubsampling + 0, - ycbcrsubsampling + 1); - -- if (ycbcrsubsampling[0] == 0) { -+ if (ycbcrsubsampling[0]*ycbcrsubsampling[1] == 0) { - TIFFErrorExt(tif->tif_clientdata, tif->tif_name, - "Invalid YCbCr subsampling"); - return 0; - } - -- scanline = TIFFroundup(td->td_imagewidth, -+ /* number of sample clumps per line */ -+ scanline = TIFFhowmany(td->td_imagewidth, - ycbcrsubsampling[0]); -- scanline = TIFFhowmany8(multiply(tif, scanline, -- td->td_bitspersample, -- "TIFFScanlineSize")); -- return ((tsize_t) -- summarize(tif, scanline, -- multiply(tif, 2, -- scanline / ycbcrsubsampling[0], -- "TIFFVStripSize"), -- "TIFFVStripSize")); -+ /* number of samples per line */ -+ scanline = multiply(tif, scanline, -+ ycbcrsubsampling[0]*ycbcrsubsampling[1] + 2, -+ "TIFFScanlineSize"); - } else { - scanline = multiply(tif, td->td_imagewidth, - td->td_samplesperpixel, This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. _______________________________________________ devel mailing list devel@lists.opencsw.org https://lists.opencsw.org/mailman/listinfo/devel