ofz#68840 another putcontig8bitYCbCr22tile issue

Change-Id: I6e119cf1b3bec609f94784eb0c439835875d6112
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168031
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
This commit is contained in:
Caolán McNamara 2024-05-24 20:43:42 +01:00
parent c28bcfd7a0
commit 034b68eb3a
2 changed files with 18 additions and 0 deletions

View file

@ -17,6 +17,7 @@ $(eval $(call gb_UnpackedTarball_add_patches,libtiff,\
external/libtiff/libtiff.linknolibs.patch \
external/libtiff/0001-ofz-54685-Timeout.patch \
external/libtiff/ofz65182.patch \
external/libtiff/ofz68840.patch \
))
# vim: set noet sw=4 ts=4:

17
external/libtiff/ofz68840.patch vendored Normal file
View file

@ -0,0 +1,17 @@
--- a/libtiff/tif_tile.c
+++ b/libtiff/tif_tile.c
@@ -233,7 +233,13 @@
_TIFFMultiply64(tif, samplingrow_size, samplingblocks_ver, module));
}
else
- return (_TIFFMultiply64(tif, nrows, TIFFTileRowSize64(tif), module));
+ {
+ uint64_t row_size = TIFFTileRowSize64(tif);
+ /* I think the way this works the expectation is there are always even num of samples */
+ if (td->td_photometric == PHOTOMETRIC_YCBCR)
+ row_size = TIFFroundup_64(row_size, 2);
+ return (_TIFFMultiply64(tif, nrows, row_size, module));
+ }
}
tmsize_t TIFFVTileSize(TIFF *tif, uint32_t nrows)
{