@ -574,13 +574,19 @@ bool TiffEncoder::writeLibTiff( const Mat& img, const std::vector<int>& params)
| | ! TIFFSetField ( pTiffHandle , TIFFTAG_SAMPLESPERPIXEL , channels )
| | ! TIFFSetField ( pTiffHandle , TIFFTAG_SAMPLESPERPIXEL , channels )
| | ! TIFFSetField ( pTiffHandle , TIFFTAG_PLANARCONFIG , PLANARCONFIG_CONTIG )
| | ! TIFFSetField ( pTiffHandle , TIFFTAG_PLANARCONFIG , PLANARCONFIG_CONTIG )
| | ! TIFFSetField ( pTiffHandle , TIFFTAG_ROWSPERSTRIP , rowsPerStrip )
| | ! TIFFSetField ( pTiffHandle , TIFFTAG_ROWSPERSTRIP , rowsPerStrip )
| | ! TIFFSetField ( pTiffHandle , TIFFTAG_PREDICTOR , predictor )
// || !TIFFSetField(pTiffHandle, TIFFTAG_PREDICTOR, predictor)
)
)
{
{
TIFFClose ( pTiffHandle ) ;
TIFFClose ( pTiffHandle ) ;
return false ;
return false ;
}
}
if ( compression ! = COMPRESSION_NONE & & ! TIFFSetField ( pTiffHandle , TIFFTAG_PREDICTOR , predictor ) )
{
TIFFClose ( pTiffHandle ) ;
return false ;
}
// row buffer, because TIFFWriteScanline modifies the original data!
// row buffer, because TIFFWriteScanline modifies the original data!
size_t scanlineSize = TIFFScanlineSize ( pTiffHandle ) ;
size_t scanlineSize = TIFFScanlineSize ( pTiffHandle ) ;
AutoBuffer < uchar > _buffer ( scanlineSize + 32 ) ;
AutoBuffer < uchar > _buffer ( scanlineSize + 32 ) ;