summaryrefslogtreecommitdiff
path: root/libavcodec/mpegvideo.c
diff options
context:
space:
mode:
authorJohn Stebbins <stebbins@jetheaddev.com>2014-08-08 08:11:20 -0700
committerJohn Stebbins <stebbins@jetheaddev.com>2014-08-14 07:58:49 -0700
commit998c9f15d1ca8c7489775ebcca51623b915988f1 (patch)
treedac8b4d6a607d44422c0ac6179b8507ae13a807e /libavcodec/mpegvideo.c
parent93f29948e4b06acfb96e7f82d373ef86d6dc55f7 (diff)
idct: remove call to ff_idctdsp_init from ff_MPV_common_init
One step in untangling the mpegvideo code and fixing some problems in the order that initialization is being done in h263dec and h261dec.
Diffstat (limited to 'libavcodec/mpegvideo.c')
-rw-r--r--libavcodec/mpegvideo.c15
1 files changed, 10 insertions, 5 deletions
diff --git a/libavcodec/mpegvideo.c b/libavcodec/mpegvideo.c
index da425414b6..540c959ddb 100644
--- a/libavcodec/mpegvideo.c
+++ b/libavcodec/mpegvideo.c
@@ -375,11 +375,10 @@ static void mpeg_er_decode_mb(void *opaque, int ref, int mv_dir, int mv_type,
}
/* init common dct for both encoder and decoder */
-av_cold int ff_dct_common_init(MpegEncContext *s)
+static av_cold int dct_init(MpegEncContext *s)
{
ff_blockdsp_init(&s->bdsp, s->avctx);
ff_hpeldsp_init(&s->hdsp, s->avctx->flags);
- ff_idctdsp_init(&s->idsp, s->avctx);
ff_me_cmp_init(&s->mecc, s->avctx);
ff_mpegvideodsp_init(&s->mdsp);
ff_videodsp_init(&s->vdsp, s->avctx->bits_per_raw_sample);
@@ -403,6 +402,13 @@ av_cold int ff_dct_common_init(MpegEncContext *s)
if (ARCH_X86)
ff_MPV_common_init_x86(s);
+ return 0;
+}
+
+av_cold void ff_mpv_idct_init(MpegEncContext *s)
+{
+ ff_idctdsp_init(&s->idsp, s->avctx);
+
/* load & permutate scantables
* note: only wmv uses different ones
*/
@@ -415,8 +421,6 @@ av_cold int ff_dct_common_init(MpegEncContext *s)
}
ff_init_scantable(s->idsp.idct_permutation, &s->intra_h_scantable, ff_alternate_horizontal_scan);
ff_init_scantable(s->idsp.idct_permutation, &s->intra_v_scantable, ff_alternate_vertical_scan);
-
- return 0;
}
static int frame_size_alloc(MpegEncContext *s, int linesize)
@@ -910,6 +914,7 @@ int ff_mpeg_update_thread_context(AVCodecContext *dst,
s->bitstream_buffer = NULL;
s->bitstream_buffer_size = s->allocated_bitstream_buffer_size = 0;
+ ff_mpv_idct_init(s);
ff_MPV_common_init(s);
}
@@ -1263,7 +1268,7 @@ av_cold int ff_MPV_common_init(MpegEncContext *s)
av_image_check_size(s->width, s->height, 0, s->avctx))
return -1;
- ff_dct_common_init(s);
+ dct_init(s);
s->flags = s->avctx->flags;
s->flags2 = s->avctx->flags2;