Mercurial > libavcodec.hg
changeset 4245:4397b7436222 libavcodec
VQA v1 support
author | kostya |
---|---|
date | Wed, 29 Nov 2006 05:40:37 +0000 |
parents | 54b594d31ac1 |
children | a579dae361e2 |
files | vqavideo.c |
diffstat | 1 files changed, 16 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/vqavideo.c Tue Nov 28 23:55:24 2006 +0000 +++ b/vqavideo.c Wed Nov 29 05:40:37 2006 +0000 @@ -471,7 +471,22 @@ 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: