changeset 3492:fa3794c46f21 libavcodec

parse all QIS values (we still ignore them though ...)
author michael
date Mon, 17 Jul 2006 13:09:45 +0000
parents 6eadb7c9f569
children 7dc6dcbc6960
files vp3.c
diffstat 1 files changed, 9 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/vp3.c	Mon Jul 17 11:06:09 2006 +0000
+++ b/vp3.c	Mon Jul 17 13:09:45 2006 +0000
@@ -229,6 +229,8 @@
     DSPContext dsp;
     int flipped_image;
 
+    int qis[3];
+    int nqis;
     int quality_index;
     int last_quality_index;
 
@@ -2376,9 +2378,13 @@
     if (!s->theora)
         skip_bits(&gb, 1);
     s->last_quality_index = s->quality_index;
-    s->quality_index = get_bits(&gb, 6);
-    if (s->theora >= 0x030200)
-        skip_bits1(&gb);
+
+    s->nqis=0;
+    do{
+        s->qis[s->nqis++]= get_bits(&gb, 6);
+    } while(s->theora >= 0x030200 && s->nqis<3 && get_bits1(&gb));
+
+    s->quality_index= s->qis[0];
 
     if (s->avctx->debug & FF_DEBUG_PICT_INFO)
         av_log(s->avctx, AV_LOG_INFO, " VP3 %sframe #%d: Q index = %d\n",