mirror of
https://github.com/xenia-project/FFmpeg.git
synced 2024-11-25 04:30:02 +00:00
avcodec/tiff: parse subsample factors
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
parent
4930e529bf
commit
1ca21e1b76
@ -55,6 +55,7 @@ typedef struct TiffContext {
|
||||
enum TiffCompr compr;
|
||||
enum TiffPhotometric photometric;
|
||||
int planar;
|
||||
int subsampling[2];
|
||||
int fax_opts;
|
||||
int predictor;
|
||||
int fill_order;
|
||||
@ -804,6 +805,14 @@ static int tiff_decode_tag(TiffContext *s, AVFrame *frame)
|
||||
case TIFF_PLANAR:
|
||||
s->planar = value == 2;
|
||||
break;
|
||||
case TIFF_YCBCR_SUBSAMPLING:
|
||||
if (count != 2) {
|
||||
av_log(s->avctx, AV_LOG_ERROR, "subsample count invalid\n");
|
||||
return AVERROR_INVALIDDATA;
|
||||
}
|
||||
for (i = 0; i < count; i++)
|
||||
s->subsampling[i] = ff_tget(&s->gb, type, s->le);
|
||||
break;
|
||||
case TIFF_T4OPTIONS:
|
||||
if (s->compr == TIFF_G3)
|
||||
s->fax_opts = value;
|
||||
@ -1136,6 +1145,8 @@ static av_cold int tiff_init(AVCodecContext *avctx)
|
||||
|
||||
s->width = 0;
|
||||
s->height = 0;
|
||||
s->subsampling[0] =
|
||||
s->subsampling[1] = 1;
|
||||
s->avctx = avctx;
|
||||
ff_lzw_decode_open(&s->lzw);
|
||||
ff_ccitt_unpack_init();
|
||||
|
Loading…
Reference in New Issue
Block a user