From: Fabrice Bellard Date: Sun, 12 Aug 2001 00:52:37 +0000 (+0000) Subject: moved matrix init away from MPV_common_init() X-Git-Tag: v0.5~18378 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=519c2b6d1182513a83efee5b1e8634a7feaedbbf;p=platform%2Fupstream%2Flibav.git moved matrix init away from MPV_common_init() Originally committed as revision 77 to svn://svn.ffmpeg.org/ffmpeg/trunk --- diff --git a/libavcodec/h263dec.c b/libavcodec/h263dec.c index 8bbd3a7..02fedd9 100644 --- a/libavcodec/h263dec.c +++ b/libavcodec/h263dec.c @@ -28,7 +28,8 @@ static int h263_decode_init(AVCodecContext *avctx) { MpegEncContext *s = avctx->priv_data; - + int i; + s->out_format = FMT_H263; s->width = avctx->width; @@ -57,6 +58,11 @@ static int h263_decode_init(AVCodecContext *avctx) if (MPV_common_init(s) < 0) return -1; + /* XXX: suppress this matrix init, only needed because using mpeg1 + dequantize in mmx case */ + for(i=0;i<64;i++) + s->non_intra_matrix[i] = default_non_intra_matrix[i]; + if (s->h263_msmpeg4) msmpeg4_decode_init_vlc(s); else diff --git a/libavcodec/mpegvideo.c b/libavcodec/mpegvideo.c index dae15de..e8cc3ce 100644 --- a/libavcodec/mpegvideo.c +++ b/libavcodec/mpegvideo.c @@ -183,13 +183,6 @@ int MPV_common_init(MpegEncContext *s) /* default structure is frame */ s->picture_structure = PICT_FRAME; - /* init default q matrix (only for mpeg and mjpeg) */ - for(i=0;i<64;i++) { - s->intra_matrix[i] = default_intra_matrix[i]; - s->chroma_intra_matrix[i] = default_intra_matrix[i]; - s->non_intra_matrix[i] = default_non_intra_matrix[i]; - s->chroma_non_intra_matrix[i] = default_non_intra_matrix[i]; - } /* init macroblock skip table */ if (!s->encoding) { s->mbskip_table = av_mallocz(s->mb_width * s->mb_height); @@ -248,6 +241,7 @@ void MPV_common_end(MpegEncContext *s) int MPV_encode_init(AVCodecContext *avctx) { MpegEncContext *s = avctx->priv_data; + int i; s->bit_rate = avctx->bit_rate; s->frame_rate = avctx->frame_rate; @@ -312,6 +306,12 @@ int MPV_encode_init(AVCodecContext *avctx) if (MPV_common_init(s) < 0) return -1; + /* init default q matrix */ + for(i=0;i<64;i++) { + s->intra_matrix[i] = default_intra_matrix[i]; + s->non_intra_matrix[i] = default_non_intra_matrix[i]; + } + /* rate control init */ rate_control_init(s); diff --git a/libavcodec/rv10.c b/libavcodec/rv10.c index b03cd02..f4ebc90 100644 --- a/libavcodec/rv10.c +++ b/libavcodec/rv10.c @@ -337,6 +337,7 @@ static int rv10_decode_picture_header(MpegEncContext *s) static int rv10_decode_init(AVCodecContext *avctx) { MpegEncContext *s = avctx->priv_data; + int i; static int done; s->out_format = FMT_H263; @@ -350,6 +351,11 @@ static int rv10_decode_init(AVCodecContext *avctx) if (MPV_common_init(s) < 0) return -1; + /* XXX: suppress this matrix init, only needed because using mpeg1 + dequantize in mmx case */ + for(i=0;i<64;i++) + s->non_intra_matrix[i] = default_non_intra_matrix[i]; + h263_decode_init_vlc(s); /* init rv vlc */