Commit 1ca21e1b authored by Michael Niedermayer's avatar Michael Niedermayer

avcodec/tiff: parse subsample factors

Signed-off-by: 's avatarMichael Niedermayer <michaelni@gmx.at>
parent 4930e529
......@@ -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();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment