changeset 1506:e0c02032d0f2 libavcodec

support a few more types of VQA files
author melanson
date Sat, 11 Oct 2003 01:11:29 +0000
parents 010f76d07a27
children f4cf270b98ae
files vqavideo.c
diffstat 1 files changed, 6 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/vqavideo.c	Tue Oct 07 11:32:40 2003 +0000
+++ b/vqavideo.c	Sat Oct 11 01:11:29 2003 +0000
@@ -312,6 +312,7 @@
     int i;
     unsigned char r, g, b;
     unsigned int *palette32;
+    int index_shift;
 
     int cbf0_chunk = -1;
     int cbfz_chunk = -1;
@@ -462,6 +463,10 @@
         s->decode_buffer, s->decode_buffer_size, 1);
 
     /* 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; 
         y += s->frame.linesize[0] * s->vector_height) {
 
@@ -482,7 +487,7 @@
                 lobyte = s->decode_buffer[lobytes];
                 hibyte = s->decode_buffer[hibytes];
                 vector_index = (hibyte << 8) | lobyte;
-                vector_index *= 8;
+                vector_index <<= index_shift;
                 lines = s->vector_height;
                 break;