# HG changeset patch # User alex # Date 1095787906 0 # Node ID 4a0cfd63f078949e0187597ab61f586d98b0a944 # Parent b8bad8bbbc64836a3e23b81410880b041239e3ca greyscale decoding (option to skip u,v planes) support diff -r b8bad8bbbc64 -r 4a0cfd63f078 indeo3.c --- a/indeo3.c Mon Sep 20 13:47:47 2004 +0000 +++ b/indeo3.c Tue Sep 21 17:31:46 2004 +0000 @@ -223,6 +223,9 @@ hdr_height, buf_pos + offs * 2, fflags2, hdr_pos, buf_pos, min(hdr_width, 160)); + if (!(s->avctx->flags & CODEC_FLAG_GRAY)) + { + buf_pos = buf + 16 + offs2; offs = le2me_32(*(uint32_t *)buf_pos); buf_pos += 4; @@ -239,6 +242,8 @@ chroma_height, buf_pos + offs * 2, fflags2, hdr_pos, buf_pos, min(chroma_width, 40)); + } + return 8; } @@ -1080,6 +1085,8 @@ dest += s->frame.linesize[0]; } + if (!(s->avctx->flags & CODEC_FLAG_GRAY)) + { src = s->cur_frame->Ubuf; dest = s->frame.data[1]; for (y = 0; y < s->height / 4; y++) { @@ -1095,6 +1102,7 @@ src += s->cur_frame->uv_w; dest += s->frame.linesize[2]; } + } *data_size=sizeof(AVFrame); *(AVFrame*)data= s->frame;