Optimize (amvd>2)+(amvd>32), about 1 cpu cycles faster.
authorZhou Zongyi <zhouzy@os.pku.edu.cn>
Fri, 26 Feb 2010 22:45:35 +0000 (22:45 +0000)
committerMichael Niedermayer <michaelni@gmx.at>
Fri, 26 Feb 2010 22:45:35 +0000 (22:45 +0000)
patch by Zhou Zongyi @ zhouzy () os punkt pku dot edu speck cn

Originally committed as revision 22084 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavcodec/h264_cabac.c

index 91df714..9ae695c 100644 (file)
@@ -912,7 +912,8 @@ static int decode_cabac_mb_ref( H264Context *h, int list, int n ) {
 static int decode_cabac_mb_mvd( H264Context *h, int ctxbase, int amvd, int *mvda) {
     int mvd;
 
 static int decode_cabac_mb_mvd( H264Context *h, int ctxbase, int amvd, int *mvda) {
     int mvd;
 
-    if(!get_cabac(&h->cabac, &h->cabac_state[ctxbase+(amvd>2)+(amvd>32)])){
+    if(!get_cabac(&h->cabac, &h->cabac_state[ctxbase+((amvd-3)>>(INT_BIT-1))+((amvd-33)>>(INT_BIT-1))+2])){
+//    if(!get_cabac(&h->cabac, &h->cabac_state[ctxbase+(amvd>2)+(amvd>32)])){
         *mvda= 0;
         return 0;
     }
         *mvda= 0;
         return 0;
     }