@@ -187,54 +187,9 @@ tmsize_t TIFFTileRowSize(TIFF *tif)
187187 */
188188uint64_t TIFFVTileSize64 (TIFF * tif , uint32_t nrows )
189189{
190- static const char module [] = "TIFFVTileSize64" ;
191- TIFFDirectory * td = & tif -> tif_dir ;
192- if (td -> td_tilelength == 0 || td -> td_tilewidth == 0 ||
193- td -> td_tiledepth == 0 )
194- return (0 );
195- if ((td -> td_planarconfig == PLANARCONFIG_CONTIG ) &&
196- (td -> td_photometric == PHOTOMETRIC_YCBCR ) &&
197- (td -> td_samplesperpixel == 3 ) && (!isUpSampled (tif )))
198- {
199- /*
200- * Packed YCbCr data contain one Cb+Cr for every
201- * HorizontalSampling*VerticalSampling Y values.
202- * Must also roundup width and height when calculating
203- * since images that are not a multiple of the
204- * horizontal/vertical subsampling area include
205- * YCbCr data for the extended image.
206- */
207- uint16_t ycbcrsubsampling [2 ];
208- uint16_t samplingblock_samples ;
209- uint32_t samplingblocks_hor ;
210- uint32_t samplingblocks_ver ;
211- uint64_t samplingrow_samples ;
212- uint64_t samplingrow_size ;
213- TIFFGetFieldDefaulted (tif , TIFFTAG_YCBCRSUBSAMPLING ,
214- ycbcrsubsampling + 0 , ycbcrsubsampling + 1 );
215- if ((ycbcrsubsampling [0 ] != 1 && ycbcrsubsampling [0 ] != 2 &&
216- ycbcrsubsampling [0 ] != 4 ) ||
217- (ycbcrsubsampling [1 ] != 1 && ycbcrsubsampling [1 ] != 2 &&
218- ycbcrsubsampling [1 ] != 4 ))
219- {
220- TIFFErrorExtR (tif , module , "Invalid YCbCr subsampling (%dx%d)" ,
221- ycbcrsubsampling [0 ], ycbcrsubsampling [1 ]);
222- return 0 ;
223- }
224- samplingblock_samples = ycbcrsubsampling [0 ] * ycbcrsubsampling [1 ] + 2 ;
225- samplingblocks_hor =
226- TIFFhowmany_32 (td -> td_tilewidth , ycbcrsubsampling [0 ]);
227- samplingblocks_ver = TIFFhowmany_32 (nrows , ycbcrsubsampling [1 ]);
228- samplingrow_samples = _TIFFMultiply64 (tif , samplingblocks_hor ,
229- samplingblock_samples , module );
230- samplingrow_size = TIFFhowmany8_64 (_TIFFMultiply64 (
231- tif , samplingrow_samples , td -> td_bitspersample , module ));
232- return (
233- _TIFFMultiply64 (tif , samplingrow_size , samplingblocks_ver , module ));
234- }
235- else
236- return (_TIFFMultiply64 (tif , nrows , TIFFTileRowSize64 (tif ), module ));
190+ return _TIFFStrileSize64 (tif , nrows , /* isStrip = */ FALSE);
237191}
192+
238193tmsize_t TIFFVTileSize (TIFF * tif , uint32_t nrows )
239194{
240195 static const char module [] = "TIFFVTileSize" ;
0 commit comments