Commit b3a5d003 authored by Mike Melanson's avatar Mike Melanson

support a few more types of VQA files

Originally committed as revision 2349 to svn://svn.ffmpeg.org/ffmpeg/trunk
parent 7ac25f2d
...@@ -312,6 +312,7 @@ static void vqa_decode_chunk(VqaContext *s) ...@@ -312,6 +312,7 @@ static void vqa_decode_chunk(VqaContext *s)
int i; int i;
unsigned char r, g, b; unsigned char r, g, b;
unsigned int *palette32; unsigned int *palette32;
int index_shift;
int cbf0_chunk = -1; int cbf0_chunk = -1;
int cbfz_chunk = -1; int cbfz_chunk = -1;
...@@ -462,6 +463,10 @@ static void vqa_decode_chunk(VqaContext *s) ...@@ -462,6 +463,10 @@ static void vqa_decode_chunk(VqaContext *s)
s->decode_buffer, s->decode_buffer_size, 1); s->decode_buffer, s->decode_buffer_size, 1);
/* render the final PAL8 frame */ /* render the final PAL8 frame */
if (s->vector_height == 4)
index_shift = 4;
else
index_shift = 3;
for (y = 0; y < s->frame.linesize[0] * s->height; for (y = 0; y < s->frame.linesize[0] * s->height;
y += s->frame.linesize[0] * s->vector_height) { y += s->frame.linesize[0] * s->vector_height) {
...@@ -482,7 +487,7 @@ static void vqa_decode_chunk(VqaContext *s) ...@@ -482,7 +487,7 @@ static void vqa_decode_chunk(VqaContext *s)
lobyte = s->decode_buffer[lobytes]; lobyte = s->decode_buffer[lobytes];
hibyte = s->decode_buffer[hibytes]; hibyte = s->decode_buffer[hibytes];
vector_index = (hibyte << 8) | lobyte; vector_index = (hibyte << 8) | lobyte;
vector_index *= 8; vector_index <<= index_shift;
lines = s->vector_height; lines = s->vector_height;
break; break;
......
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