aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/diracdec.c
diff options
context:
space:
mode:
authorJames Almer <jamrial@gmail.com>2014-07-15 22:37:25 -0300
committerMichael Niedermayer <michaelni@gmx.at>2014-07-16 03:53:49 +0200
commitb67a0e99ee82bc30af0b0d5f5e3a40bf584470f2 (patch)
tree5d82b045e4afbe038042dce871ee1487e7ad5399 /libavcodec/diracdec.c
parentf00bb086cb976a054a9c72df3a4fa7278a4f0dad (diff)
downloadffmpeg-b67a0e99ee82bc30af0b0d5f5e3a40bf584470f2.tar.gz
diracdec: don't call ff_emulated_edge_mc_8 directly
Use the videodsp function pointer instead. Signed-off-by: James Almer <jamrial@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/diracdec.c')
-rw-r--r--libavcodec/diracdec.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/libavcodec/diracdec.c b/libavcodec/diracdec.c
index a18c867a3a..30e6138d81 100644
--- a/libavcodec/diracdec.c
+++ b/libavcodec/diracdec.c
@@ -38,7 +38,7 @@
#include "dirac_dwt.h"
#include "dirac.h"
#include "diracdsp.h"
-#include "videodsp.h" // for ff_emulated_edge_mc_8
+#include "videodsp.h"
/**
* The spec limits the number of wavelet decompositions to 4 for both
@@ -73,8 +73,6 @@
*/
#define DELAYED_PIC_REF 4
-#define ff_emulated_edge_mc ff_emulated_edge_mc_8 /* Fix: change the calls to this function regarding bit depth */
-
#define CALC_PADDING(size, depth) \
(((size + (1 << depth) - 1) >> depth) << depth)
@@ -138,6 +136,7 @@ typedef struct Plane {
typedef struct DiracContext {
AVCodecContext *avctx;
MpegvideoEncDSPContext mpvencdsp;
+ VideoDSPContext vdsp;
DiracDSPContext diracdsp;
GetBitContext gb;
dirac_source_params source;
@@ -425,6 +424,7 @@ static av_cold int dirac_decode_init(AVCodecContext *avctx)
ff_diracdsp_init(&s->diracdsp);
ff_mpegvideoencdsp_init(&s->mpvencdsp, avctx);
+ ff_videodsp_init(&s->vdsp, 8);
for (i = 0; i < MAX_FRAMES; i++) {
s->all_frames[i].avframe = av_frame_alloc();
@@ -1451,10 +1451,10 @@ static int mc_subpel(DiracContext *s, DiracBlock *block, const uint8_t *src[5],
y + p->yblen > p->height+EDGE_WIDTH/2 ||
x < 0 || y < 0) {
for (i = 0; i < nplanes; i++) {
- ff_emulated_edge_mc(s->edge_emu_buffer[i], src[i],
- p->stride, p->stride,
- p->xblen, p->yblen, x, y,
- p->width+EDGE_WIDTH/2, p->height+EDGE_WIDTH/2);
+ s->vdsp.emulated_edge_mc(s->edge_emu_buffer[i], src[i],
+ p->stride, p->stride,
+ p->xblen, p->yblen, x, y,
+ p->width+EDGE_WIDTH/2, p->height+EDGE_WIDTH/2);
src[i] = s->edge_emu_buffer[i];
}
}