diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2014-07-07 15:54:17 +0200 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2014-07-07 16:17:27 +0200 |
commit | 3790801f9cedfae81cb8f055bbb0b14131459658 (patch) | |
tree | 4fb4e35103252ce0a7cecf1d01041db506078894 /libavcodec/diracdec.c | |
parent | 020865f557ccf06a41ecc461fd13ce6678817d04 (diff) | |
parent | 3c650efb81aaa3b395ba4606ee68a47ee4efb57b (diff) | |
download | ffmpeg-3790801f9cedfae81cb8f055bbb0b14131459658.tar.gz |
Merge commit '3c650efb81aaa3b395ba4606ee68a47ee4efb57b'
* commit '3c650efb81aaa3b395ba4606ee68a47ee4efb57b':
dsputil: Move draw_edges() to mpegvideoencdsp
Conflicts:
libavcodec/mpegvideo_enc.c
libavcodec/x86/Makefile
libavcodec/x86/dsputil_init.c
libavcodec/x86/dsputil_mmx.c
libavcodec/x86/dsputil_x86.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/diracdec.c')
-rw-r--r-- | libavcodec/diracdec.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/libavcodec/diracdec.c b/libavcodec/diracdec.c index d7cca7e0da..d1c3758cb4 100644 --- a/libavcodec/diracdec.c +++ b/libavcodec/diracdec.c @@ -34,6 +34,8 @@ #include "golomb.h" #include "dirac_arith.h" #include "mpeg12data.h" +#include "libavcodec/mpegvideo.h" +#include "mpegvideoencdsp.h" #include "dirac_dwt.h" #include "dirac.h" #include "diracdsp.h" @@ -137,6 +139,7 @@ typedef struct Plane { typedef struct DiracContext { AVCodecContext *avctx; DSPContext dsp; + MpegvideoEncDSPContext mpvencdsp; DiracDSPContext diracdsp; GetBitContext gb; dirac_source_params source; @@ -424,6 +427,7 @@ static av_cold int dirac_decode_init(AVCodecContext *avctx) ff_dsputil_init(&s->dsp, avctx); ff_diracdsp_init(&s->diracdsp); + ff_mpegvideoencdsp_init(&s->mpvencdsp, avctx); for (i = 0; i < MAX_FRAMES; i++) { s->all_frames[i].avframe = av_frame_alloc(); @@ -1556,7 +1560,7 @@ static void interpolate_refplane(DiracContext *s, DiracFrame *ref, int plane, in int i, edge = EDGE_WIDTH/2; ref->hpel[plane][0] = ref->avframe->data[plane]; - s->dsp.draw_edges(ref->hpel[plane][0], ref->avframe->linesize[plane], width, height, edge, edge, EDGE_TOP | EDGE_BOTTOM); /* EDGE_TOP | EDGE_BOTTOM values just copied to make it build, this needs to be ensured */ + s->mpvencdsp.draw_edges(ref->hpel[plane][0], ref->avframe->linesize[plane], width, height, edge, edge, EDGE_TOP | EDGE_BOTTOM); /* EDGE_TOP | EDGE_BOTTOM values just copied to make it build, this needs to be ensured */ /* no need for hpel if we only have fpel vectors */ if (!s->mv_precision) @@ -1573,9 +1577,9 @@ static void interpolate_refplane(DiracContext *s, DiracFrame *ref, int plane, in s->diracdsp.dirac_hpel_filter(ref->hpel[plane][1], ref->hpel[plane][2], ref->hpel[plane][3], ref->hpel[plane][0], ref->avframe->linesize[plane], width, height); - s->dsp.draw_edges(ref->hpel[plane][1], ref->avframe->linesize[plane], width, height, edge, edge, EDGE_TOP | EDGE_BOTTOM); - s->dsp.draw_edges(ref->hpel[plane][2], ref->avframe->linesize[plane], width, height, edge, edge, EDGE_TOP | EDGE_BOTTOM); - s->dsp.draw_edges(ref->hpel[plane][3], ref->avframe->linesize[plane], width, height, edge, edge, EDGE_TOP | EDGE_BOTTOM); + s->mpvencdsp.draw_edges(ref->hpel[plane][1], ref->avframe->linesize[plane], width, height, edge, edge, EDGE_TOP | EDGE_BOTTOM); + s->mpvencdsp.draw_edges(ref->hpel[plane][2], ref->avframe->linesize[plane], width, height, edge, edge, EDGE_TOP | EDGE_BOTTOM); + s->mpvencdsp.draw_edges(ref->hpel[plane][3], ref->avframe->linesize[plane], width, height, edge, edge, EDGE_TOP | EDGE_BOTTOM); } ref->interpolated[plane] = 1; } |