Merge commit 'eb657ecefdeb8b2ed9bfb55d3c2c9e0f568486bf'
authorMichael Niedermayer <michaelni@gmx.at>
Thu, 11 Oct 2012 12:36:30 +0000 (14:36 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Thu, 11 Oct 2012 12:36:36 +0000 (14:36 +0200)
* commit 'eb657ecefdeb8b2ed9bfb55d3c2c9e0f568486bf':
  vc1dec: Set opposite to the correct value for 1REF field pictures

Merged-by: Michael Niedermayer <michaelni@gmx.at>
libavcodec/vc1dec.c

index 10a75e2..c87bd51 100644 (file)
@@ -1460,10 +1460,16 @@ static inline void vc1_pred_mv(VC1Context *v, int n, int dmv_x, int dmv_y,
     }
 
     if (v->field_mode) {
-        if (num_samefield <= num_oppfield)
-            opposite = 1 - pred_flag;
-        else
-            opposite = pred_flag;
+        if (!v->numref)
+            // REFFIELD determines if the last field or the second-last field is
+            // to be used as reference
+            opposite = 1 - v->reffield;
+        else {
+            if (num_samefield <= num_oppfield)
+                opposite = 1 - pred_flag;
+            else
+                opposite = pred_flag;
+        }
     } else
         opposite = 0;
     if (opposite) {