Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>tags/n3.4
@@ -2389,14 +2389,6 @@ decode_intra_mb: | |||||
const uint8_t *scan, *scan8x8; | const uint8_t *scan, *scan8x8; | ||||
const uint32_t *qmul; | const uint32_t *qmul; | ||||
if(IS_INTERLACED(mb_type)){ | |||||
scan8x8 = sl->qscale ? h->field_scan8x8 : h->field_scan8x8_q0; | |||||
scan = sl->qscale ? h->field_scan : h->field_scan_q0; | |||||
}else{ | |||||
scan8x8 = sl->qscale ? h->zigzag_scan8x8 : h->zigzag_scan8x8_q0; | |||||
scan = sl->qscale ? h->zigzag_scan : h->zigzag_scan_q0; | |||||
} | |||||
// decode_cabac_mb_dqp | // decode_cabac_mb_dqp | ||||
if(get_cabac_noinline( &sl->cabac, &sl->cabac_state[60 + (sl->last_qscale_diff != 0)])){ | if(get_cabac_noinline( &sl->cabac, &sl->cabac_state[60 + (sl->last_qscale_diff != 0)])){ | ||||
int val = 1; | int val = 1; | ||||
@@ -2427,6 +2419,14 @@ decode_intra_mb: | |||||
}else | }else | ||||
sl->last_qscale_diff=0; | sl->last_qscale_diff=0; | ||||
if(IS_INTERLACED(mb_type)){ | |||||
scan8x8 = sl->qscale ? h->field_scan8x8 : h->field_scan8x8_q0; | |||||
scan = sl->qscale ? h->field_scan : h->field_scan_q0; | |||||
}else{ | |||||
scan8x8 = sl->qscale ? h->zigzag_scan8x8 : h->zigzag_scan8x8_q0; | |||||
scan = sl->qscale ? h->zigzag_scan : h->zigzag_scan_q0; | |||||
} | |||||
decode_cabac_luma_residual(h, sl, scan, scan8x8, pixel_shift, mb_type, cbp, 0); | decode_cabac_luma_residual(h, sl, scan, scan8x8, pixel_shift, mb_type, cbp, 0); | ||||
if (CHROMA444(h)) { | if (CHROMA444(h)) { | ||||
decode_cabac_luma_residual(h, sl, scan, scan8x8, pixel_shift, mb_type, cbp, 1); | decode_cabac_luma_residual(h, sl, scan, scan8x8, pixel_shift, mb_type, cbp, 1); | ||||
@@ -1102,14 +1102,6 @@ decode_intra_mb: | |||||
const uint8_t *scan, *scan8x8; | const uint8_t *scan, *scan8x8; | ||||
const int max_qp = 51 + 6 * (h->ps.sps->bit_depth_luma - 8); | const int max_qp = 51 + 6 * (h->ps.sps->bit_depth_luma - 8); | ||||
if(IS_INTERLACED(mb_type)){ | |||||
scan8x8 = sl->qscale ? h->field_scan8x8_cavlc : h->field_scan8x8_cavlc_q0; | |||||
scan = sl->qscale ? h->field_scan : h->field_scan_q0; | |||||
}else{ | |||||
scan8x8 = sl->qscale ? h->zigzag_scan8x8_cavlc : h->zigzag_scan8x8_cavlc_q0; | |||||
scan = sl->qscale ? h->zigzag_scan : h->zigzag_scan_q0; | |||||
} | |||||
dquant= get_se_golomb(&sl->gb); | dquant= get_se_golomb(&sl->gb); | ||||
sl->qscale += (unsigned)dquant; | sl->qscale += (unsigned)dquant; | ||||
@@ -1126,6 +1118,14 @@ decode_intra_mb: | |||||
sl->chroma_qp[0] = get_chroma_qp(h->ps.pps, 0, sl->qscale); | sl->chroma_qp[0] = get_chroma_qp(h->ps.pps, 0, sl->qscale); | ||||
sl->chroma_qp[1] = get_chroma_qp(h->ps.pps, 1, sl->qscale); | sl->chroma_qp[1] = get_chroma_qp(h->ps.pps, 1, sl->qscale); | ||||
if(IS_INTERLACED(mb_type)){ | |||||
scan8x8 = sl->qscale ? h->field_scan8x8_cavlc : h->field_scan8x8_cavlc_q0; | |||||
scan = sl->qscale ? h->field_scan : h->field_scan_q0; | |||||
}else{ | |||||
scan8x8 = sl->qscale ? h->zigzag_scan8x8_cavlc : h->zigzag_scan8x8_cavlc_q0; | |||||
scan = sl->qscale ? h->zigzag_scan : h->zigzag_scan_q0; | |||||
} | |||||
if ((ret = decode_luma_residual(h, sl, gb, scan, scan8x8, pixel_shift, mb_type, cbp, 0)) < 0 ) { | if ((ret = decode_luma_residual(h, sl, gb, scan, scan8x8, pixel_shift, mb_type, cbp, 0)) < 0 ) { | ||||
return -1; | return -1; | ||||
} | } | ||||