diff --git a/libavcodec/dsputil.c b/libavcodec/dsputil.c index 9d0303e090..6f965bede9 100644 --- a/libavcodec/dsputil.c +++ b/libavcodec/dsputil.c @@ -2724,12 +2724,12 @@ av_cold void ff_dsputil_init(DSPContext* c, AVCodecContext *avctx) #define FUNC(f, depth) f ## _ ## depth #define FUNCC(f, depth) f ## _ ## depth ## _c + c->draw_edges = FUNCC(draw_edges, 8); c->clear_block = FUNCC(clear_block, 8); c->clear_blocks = FUNCC(clear_blocks, 8); #define BIT_DEPTH_FUNCS(depth) \ - c->get_pixels = FUNCC(get_pixels, depth);\ - c->draw_edges = FUNCC(draw_edges, depth); + c->get_pixels = FUNCC(get_pixels, depth); switch (avctx->bits_per_raw_sample) { case 9: diff --git a/libavcodec/dsputil_template.c b/libavcodec/dsputil_template.c index ff6a7d8ddc..3a6d27fa39 100644 --- a/libavcodec/dsputil_template.c +++ b/libavcodec/dsputil_template.c @@ -29,6 +29,7 @@ #include "bit_depth_template.c" +#if BIT_DEPTH == 8 /* draw the edges of width 'w' of an image of size width, height */ //FIXME check that this is ok for mpeg4 interlaced static void FUNCC(draw_edges)(uint8_t *_buf, int _wrap, int width, int height, int w, int h, int sides) @@ -41,16 +42,8 @@ static void FUNCC(draw_edges)(uint8_t *_buf, int _wrap, int width, int height, i /* left and right */ ptr = buf; for(i=0;i 8 - int j; - for (j = 0; j < w; j++) { - ptr[j-w] = ptr[0]; - ptr[j+width] = ptr[width-1]; - } -#else memset(ptr - w, ptr[0], w); memset(ptr + width, ptr[width-1], w); -#endif ptr += wrap; } @@ -64,6 +57,7 @@ static void FUNCC(draw_edges)(uint8_t *_buf, int _wrap, int width, int height, i for (i = 0; i < h; i++) memcpy(last_line + (i + 1) * wrap, last_line, (width + w + w) * sizeof(pixel)); // bottom } +#endif static void FUNCC(get_pixels)(int16_t *restrict block, const uint8_t *_pixels,