h264: correct implicit_weight for field-interlaced pictures.
authorRonald S. Bultje <rsbultje@gmail.com>
Mon, 3 Oct 2011 15:41:51 +0000 (08:41 -0700)
committerRonald S. Bultje <rsbultje@gmail.com>
Wed, 5 Oct 2011 11:01:23 +0000 (04:01 -0700)
libavcodec/h264.c

index e5d0ed8..3b550cf 100644 (file)
@@ -2158,7 +2158,11 @@ static void implicit_weight_table(H264Context *h, int field){
     }
 
     if(field < 0){
-        cur_poc = s->current_picture_ptr->poc;
+        if (s->picture_structure == PICT_FRAME) {
+            cur_poc = s->current_picture_ptr->poc;
+        } else {
+            cur_poc = s->current_picture_ptr->field_poc[s->picture_structure - 1];
+        }
     if(   h->ref_count[0] == 1 && h->ref_count[1] == 1 && !FRAME_MBAFF
        && h->ref_list[0][0].poc + h->ref_list[1][0].poc == 2*cur_poc){
         h->use_weight= 0;