aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/cavsdec.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2014-06-09 05:47:49 +0200
committerMichael Niedermayer <michaelni@gmx.at>2014-06-25 16:35:25 +0200
commit01e2dd53a0672e21d715f664b1a8d2eeee2a4e5d (patch)
treeaa484a377d7a93f92224e653176a0c3e63a6096d /libavcodec/cavsdec.c
parentb93659db5bbe326cda0630883724117a23944f68 (diff)
downloadffmpeg-01e2dd53a0672e21d715f664b1a8d2eeee2a4e5d.tar.gz
cavsdec: fix qp fixed slice handling
Fixes Ticket3400 Signed-off-by: Michael Niedermayer <michaelni@gmx.at> (cherry picked from commit 0accf24b15ac5a01a67768f41c896ef4e4b8b4a2) Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/cavsdec.c')
-rw-r--r--libavcodec/cavsdec.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/libavcodec/cavsdec.c b/libavcodec/cavsdec.c
index ec4a819eab..0212a21655 100644
--- a/libavcodec/cavsdec.c
+++ b/libavcodec/cavsdec.c
@@ -900,7 +900,7 @@ static inline int decode_slice_header(AVSContext *h, GetBitContext *gb)
/* mark top macroblocks as unavailable */
h->flags &= ~(B_AVAIL | C_AVAIL);
- if ((h->mby == 0) && (!h->qp_fixed)) {
+ if (!h->pic_qp_fixed) {
h->qp_fixed = get_bits1(gb);
h->qp = get_bits(gb, 6);
}
@@ -1018,6 +1018,7 @@ static int decode_pic(AVSContext *h)
skip_bits1(&h->gb); //advanced_pred_mode_disable
skip_bits1(&h->gb); //top_field_first
skip_bits1(&h->gb); //repeat_first_field
+ h->pic_qp_fixed =
h->qp_fixed = get_bits1(&h->gb);
h->qp = get_bits(&h->gb, 6);
if (h->cur.f->pict_type == AV_PICTURE_TYPE_I) {