From: Vittorio Giovara Date: Sat, 20 Feb 2016 06:25:03 +0000 (-0500) Subject: intrax8: Use the generic horizband function X-Git-Tag: android-x86-7.1-r1~252^2~1285 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=c2084ffcbfc11d1b6ed3a4a0df9cafd56fbb896f;p=android-x86%2Fexternal-ffmpeg.git intrax8: Use the generic horizband function This is assuming that intrax8 has no support for interlacing Carry over lowdelay value in ff_intrax8_decode_picture. --- diff --git a/libavcodec/intrax8.c b/libavcodec/intrax8.c index b4cac1676e..209b857fa4 100644 --- a/libavcodec/intrax8.c +++ b/libavcodec/intrax8.c @@ -29,6 +29,7 @@ #include "intrax8huf.h" #include "intrax8.h" #include "intrax8dsp.h" +#include "mpegutils.h" #define MAX_TABLE_DEPTH(table_bits, max_bits) \ ((max_bits + table_bits - 1) / table_bits) @@ -772,7 +773,8 @@ av_cold void ff_intrax8_common_end(IntraX8Context *w) int ff_intrax8_decode_picture(IntraX8Context *const w, Picture *pict, GetBitContext *gb, int *mb_x, int *mb_y, - int dquant, int quant_offset, int loopfilter) + int dquant, int quant_offset, + int loopfilter, int lowdelay) { MpegEncContext *const s = w->s; int mb_xy; @@ -834,7 +836,9 @@ int ff_intrax8_decode_picture(IntraX8Context *const w, Picture *pict, w->dest[0] += 8; } if (w->mb_y & 1) - ff_mpeg_draw_horiz_band(s, (w->mb_y - 1) * 8, 16); + ff_draw_horiz_band(w->avctx, w->frame, w->frame, + (w->mb_y - 1) * 8, 16, + PICT_FRAME, 0, lowdelay); } error: diff --git a/libavcodec/intrax8.h b/libavcodec/intrax8.h index d6bbbbd07e..3fb9857029 100644 --- a/libavcodec/intrax8.h +++ b/libavcodec/intrax8.h @@ -109,6 +109,7 @@ void ff_intrax8_common_end(IntraX8Context *w); */ int ff_intrax8_decode_picture(IntraX8Context *w, Picture *pict, GetBitContext *gb, int *mb_x, int *mb_y, - int quant, int halfpq, int loopfilter); + int quant, int halfpq, + int loopfilter, int lowdelay); #endif /* AVCODEC_INTRAX8_H */ diff --git a/libavcodec/vc1_block.c b/libavcodec/vc1_block.c index 1fac82884c..1ce0612c78 100644 --- a/libavcodec/vc1_block.c +++ b/libavcodec/vc1_block.c @@ -3025,7 +3025,7 @@ void ff_vc1_decode_blocks(VC1Context *v) ff_intrax8_decode_picture(&v->x8, &v->s.current_picture, &v->s.gb, &v->s.mb_x, &v->s.mb_y, 2 * v->pq + v->halfpq, v->pq * !v->pquantizer, - v->s.loop_filter); + v->s.loop_filter, v->s.low_delay); ff_er_add_slice(&v->s.er, 0, 0, (v->s.mb_x >> 1) - 1, (v->s.mb_y >> 1) - 1, diff --git a/libavcodec/wmv2dec.c b/libavcodec/wmv2dec.c index 845acf6005..7bf838807e 100644 --- a/libavcodec/wmv2dec.c +++ b/libavcodec/wmv2dec.c @@ -231,7 +231,7 @@ int ff_wmv2_decode_secondary_picture_header(MpegEncContext *s) ff_intrax8_decode_picture(&w->x8, &s->current_picture, &s->gb, &s->mb_x, &s->mb_y, 2 * s->qscale, (s->qscale - 1) | 1, - s->loop_filter); + s->loop_filter, s->low_delay); ff_er_add_slice(&w->s.er, 0, 0, (w->s.mb_x >> 1) - 1, (w->s.mb_y >> 1) - 1,