* commit 'eb657ecefdeb8b2ed9bfb55d3c2c9e0f568486bf': vc1dec: Set opposite to the correct value for 1REF field pictures
Unified · Split
| @@ -1460,10 +1460,16 @@ static inline void vc1_pred_mv(VC1Context *v, int n, int dmv_x, int dmv_y, · 1459 unmodified lines | |||
| 1460 | } | 1460 | } |
| 1461 | 1461 | ||
| 1462 | if (v->field_mode) { | 1462 | if (v->field_mode) { |
| 1463 | if (num_samefield <= num_oppfield) | 1463 | if (!v->numref) |
| 1464 | opposite = 1 - pred_flag; | 1464 | // REFFIELD determines if the last field or the second-last field is |
| 1465 | else | 1465 | // to be used as reference |
| 1466 | opposite = pred_flag; | 1466 | opposite = 1 - v->reffield; |
| 1467 | else { | ||
| 1468 | if (num_samefield <= num_oppfield) | ||
| 1469 | opposite = 1 - pred_flag; | ||
| 1470 | else | ||
| 1471 | opposite = pred_flag; | ||
| 1472 | } | ||
| 1467 | } else | 1473 | } else |
| 1468 | opposite = 0; | 1474 | opposite = 0; |
| 1469 | if (opposite) { | 1475 | if (opposite) { |