h264: fix fill_colmap() to not store entries mbaff style when the reference is not...
authorMichael Niedermayer <michaelni@gmx.at>
Thu, 6 Oct 2011 20:54:00 +0000 (22:54 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Thu, 6 Oct 2011 20:54:00 +0000 (22:54 +0200)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavcodec/h264_direct.c

index ab9592b..abc0700 100644 (file)
@@ -89,7 +89,8 @@ static void fill_colmap(H264Context *h, int map[2][16+32], int list, int field,
             for(j=start; j<end; j++){
                 if (4 * h->ref_list[0][j].frame_num + (h->ref_list[0][j].f.reference & 3) == poc) {
                     int cur_ref= mbafi ? (j-16)^field : j;
-                    map[list][2*old_ref + (rfield^field) + 16] = cur_ref;
+                    if(ref1->mbaff)
+                        map[list][2*old_ref + (rfield^field) + 16] = cur_ref;
                     if(rfield == field || !interl)
                         map[list][old_ref] = cur_ref;
                     break;