]> git.sesse.net Git - ffmpeg/blobdiff - libavcodec/h264.c
Improve chroma MC: correct case for FASTUVMC=1, use slower but correct /2, and always...
[ffmpeg] / libavcodec / h264.c
index 2047d5fc61db121ffe2d9d2b3a72cc286e435e01..8012ae1ead330ba3353d9af8ba64ffde64325aae 100644 (file)
@@ -4099,7 +4099,7 @@ static int decode_ref_pic_list_reordering(H264Context *h){
     return 0;
 }
 
-static int fill_mbaff_ref_list(H264Context *h){
+static void fill_mbaff_ref_list(H264Context *h){
     int list, i, j;
     for(list=0; list<2; list++){
         for(i=0; i<h->ref_count[list]; i++){
@@ -5258,18 +5258,11 @@ decode_intra_mb:
 
 //                fill_intra4x4_pred_table(h);
                 for(i=0; i<16; i+=di){
-                    const int mode_coded= !get_bits1(&s->gb);
-                    const int predicted_mode=  pred_intra_mode(h, i);
-                    int mode;
+                    int mode= pred_intra_mode(h, i);
 
-                    if(mode_coded){
+                    if(!get_bits1(&s->gb)){
                         const int rem_mode= get_bits(&s->gb, 3);
-                        if(rem_mode<predicted_mode)
-                            mode= rem_mode;
-                        else
-                            mode= rem_mode + 1;
-                    }else{
-                        mode= predicted_mode;
+                        mode = rem_mode + (rem_mode >= mode);
                     }
 
                     if(di==4)