diff --git a/libavcodec/vp8dsp.c b/libavcodec/vp8dsp.c index 5543303adb..eabe3edb27 100644 --- a/libavcodec/vp8dsp.c +++ b/libavcodec/vp8dsp.c @@ -558,26 +558,21 @@ put_vp8_epel ## SIZE ## _h ## HTAPS ## v ## VTAPS ## _c(uint8_t *dst, \ } \ } -VP8_EPEL_H(16, 4) VP8_EPEL_H(8, 4) VP8_EPEL_H(4, 4) VP8_EPEL_H(16, 6) VP8_EPEL_H(8, 6) VP8_EPEL_H(4, 6) -VP8_EPEL_V(16, 4) VP8_EPEL_V(8, 4) VP8_EPEL_V(4, 4) VP8_EPEL_V(16, 6) VP8_EPEL_V(8, 6) VP8_EPEL_V(4, 6) -VP8_EPEL_HV(16, 4, 4) VP8_EPEL_HV(8, 4, 4) VP8_EPEL_HV(4, 4, 4) -VP8_EPEL_HV(16, 4, 6) VP8_EPEL_HV(8, 4, 6) VP8_EPEL_HV(4, 4, 6) -VP8_EPEL_HV(16, 6, 4) VP8_EPEL_HV(8, 6, 4) VP8_EPEL_HV(4, 6, 4) VP8_EPEL_HV(16, 6, 6) @@ -667,7 +662,11 @@ VP8_BILINEAR(4) av_cold void ff_vp78dsp_init(VP8DSPContext *dsp) { - VP78_MC_FUNC(0, 16); + dsp->put_vp8_epel_pixels_tab[0][0][0] = put_vp8_pixels16_c; + dsp->put_vp8_epel_pixels_tab[0][0][2] = put_vp8_epel16_h6_c; + dsp->put_vp8_epel_pixels_tab[0][2][0] = put_vp8_epel16_v6_c; + dsp->put_vp8_epel_pixels_tab[0][2][2] = put_vp8_epel16_h6v6_c; + VP78_MC_FUNC(1, 8); VP78_MC_FUNC(2, 4); diff --git a/tests/checkasm/vp8dsp.c b/tests/checkasm/vp8dsp.c index a12c295a2a..4d6704d5a9 100644 --- a/tests/checkasm/vp8dsp.c +++ b/tests/checkasm/vp8dsp.c @@ -510,7 +510,8 @@ static void checkasm_check_vp78dsp(VP8DSPContext *d, bool is_vp7) void checkasm_check_vp8dsp(void) { - VP8DSPContext d; + // Needs to be zeroed because not all size 16 epel functions exist. + VP8DSPContext d = { 0 }; ff_vp78dsp_init(&d); check_mc(&d);