Commit fc537549 authored by kostya's avatar kostya

When BitsPerSample tag is not present in TIFF, that means file is

monochrome, so initialize picture before decoding.
This fixes decoding monochrome files produced by lavc TIFF encoder.



git-svn-id: file:///var/local/repositories/ffmpeg/trunk@20091 9553f0bf-9b14-0410-a0b8-cfaf0461ba5b
parent 7aa41398
......@@ -498,8 +498,19 @@ static int decode_frame(AVCodecContext *avctx,
}
/* now we have the data and may start decoding */
if(!p->data[0]){
av_log(s->avctx, AV_LOG_ERROR, "Picture initialization missing\n");
return -1;
s->bpp = 1;
avctx->pix_fmt = PIX_FMT_MONOBLACK;
if(s->width != s->avctx->width || s->height != s->avctx->height){
if(avcodec_check_dimensions(s->avctx, s->width, s->height))
return -1;
avcodec_set_dimensions(s->avctx, s->width, s->height);
}
if(s->picture.data[0])
s->avctx->release_buffer(s->avctx, &s->picture);
if(s->avctx->get_buffer(s->avctx, &s->picture) < 0){
av_log(s->avctx, AV_LOG_ERROR, "get_buffer() failed\n");
return -1;
}
}
if(s->strips == 1 && !s->stripsize){
av_log(avctx, AV_LOG_WARNING, "Image data size missing\n");
......
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