From: Kostya Shishkov Date: Wed, 29 Nov 2006 05:40:37 +0000 (+0000) Subject: VQA v1 support X-Git-Tag: v0.5~10894 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=7667896a364edf67bfd2149a27bbc8f4a224ced5;p=platform%2Fupstream%2Flibav.git VQA v1 support Originally committed as revision 7183 to svn://svn.ffmpeg.org/ffmpeg/trunk --- diff --git a/libavcodec/vqavideo.c b/libavcodec/vqavideo.c index 2a546d8..912ced0 100644 --- a/libavcodec/vqavideo.c +++ b/libavcodec/vqavideo.c @@ -471,7 +471,22 @@ static void vqa_decode_chunk(VqaContext *s) case 1: /* still need sample media for this case (only one game, "Legend of * Kyrandia III : Malcolm's Revenge", is known to use this version) */ - lines = 0; + lobyte = s->decode_buffer[lobytes * 2]; + hibyte = s->decode_buffer[(lobytes * 2) + 1]; + vector_index = ((hibyte << 8) | lobyte) >> 3; + vector_index <<= index_shift; + lines = s->vector_height; + /* uniform color fill - a quick hack */ + if (hibyte == 0xFF) { + while (lines--) { + s->frame.data[0][pixel_ptr + 0] = 255 - lobyte; + s->frame.data[0][pixel_ptr + 1] = 255 - lobyte; + s->frame.data[0][pixel_ptr + 2] = 255 - lobyte; + s->frame.data[0][pixel_ptr + 3] = 255 - lobyte; + pixel_ptr += s->frame.linesize[0]; + } + lines=0; + } break; case 2: