diff --git a/libmpeg2/libmpeg-0.4.0.diff b/libmpeg2/libmpeg-0.4.0.diff index 1b02c21749..fb93fe0997 100644 --- a/libmpeg2/libmpeg-0.4.0.diff +++ b/libmpeg2/libmpeg-0.4.0.diff @@ -377,13 +377,22 @@ decoder->quantizer_matrix[0] = decoder->quantizer_prescale[0][quantizer_scale_code]; -@@ -1564,6 +1569,9 @@ +@@ -1568,6 +1569,18 @@ #define NEXT_MACROBLOCK \ do { \ -+ if(decoder->quant_store) \ ++ if(decoder->quant_store) { \ ++ if (decoder->picture_structure == TOP_FIELD) \ ++ decoder->quant_store[2*decoder->quant_stride*(decoder->v_offset>>4) \ ++ +(decoder->offset>>4)] = decoder->quantizer_scale; \ ++ else if (decoder->picture_structure == BOTTOM_FIELD) \ ++ decoder->quant_store[2*decoder->quant_stride*(decoder->v_offset>>4) \ ++ + decoder->quant_stride \ ++ +(decoder->offset>>4)] = decoder->quantizer_scale; \ ++ else \ + decoder->quant_store[decoder->quant_stride*(decoder->v_offset>>4) \ + +(decoder->offset>>4)] = decoder->quantizer_scale; \ ++ } \ decoder->offset += 16; \ if (decoder->offset == decoder->width) { \ do { /* just so we can use the break statement */ \