[FFmpeg-cvslog] r21373 - trunk/libavcodec/h264_cavlc.c

michael subversion
Thu Jan 21 22:01:26 CET 2010


Author: michael
Date: Thu Jan 21 22:01:26 2010
New Revision: 21373

Log:
Move dquant check into qscale overflow check.
This should be faster (couldnt meassue a difference), and its less picky
on slightly out of spec dquant.

Modified:
   trunk/libavcodec/h264_cavlc.c

Modified: trunk/libavcodec/h264_cavlc.c
==============================================================================
--- trunk/libavcodec/h264_cavlc.c	Thu Jan 21 21:49:27 2010	(r21372)
+++ trunk/libavcodec/h264_cavlc.c	Thu Jan 21 22:01:26 2010	(r21373)
@@ -936,15 +936,15 @@ decode_intra_mb:
 
         dquant= get_se_golomb(&s->gb);
 
-        if( dquant > 25 || dquant < -26 ){
-            av_log(h->s.avctx, AV_LOG_ERROR, "dquant out of range (%d) at %d %d\n", dquant, s->mb_x, s->mb_y);
-            return -1;
-        }
-
         s->qscale += dquant;
+
         if(((unsigned)s->qscale) > 51){
             if(s->qscale<0) s->qscale+= 52;
             else            s->qscale-= 52;
+            if(((unsigned)s->qscale) > 51){
+                av_log(h->s.avctx, AV_LOG_ERROR, "dquant out of range (%d) at %d %d\n", dquant, s->mb_x, s->mb_y);
+                return -1;
+            }
         }
 
         h->chroma_qp[0]= get_chroma_qp(h, 0, s->qscale);



More information about the ffmpeg-cvslog mailing list