diff --git a/libavcodec/alpha/dsputil_alpha.c b/libavcodec/alpha/dsputil_alpha.c index 371e20269b9a394a2eae1122522006e2e86b440d..401dfd7877ba26315897d16fbb16c05f5a54326f 100644 --- a/libavcodec/alpha/dsputil_alpha.c +++ b/libavcodec/alpha/dsputil_alpha.c @@ -281,61 +281,61 @@ void put_pixels16_axp_asm(uint8_t *block, const uint8_t *pixels, put_pixels_axp_asm(block + 8, pixels + 8, line_size, h); } -void dsputil_init_alpha(void) +void dsputil_init_alpha(DSPContext* c, unsigned mask) { - put_pixels_tab[0][0] = put_pixels16_axp_asm; - put_pixels_tab[0][1] = put_pixels16_x2_axp; - put_pixels_tab[0][2] = put_pixels16_y2_axp; - put_pixels_tab[0][3] = put_pixels16_xy2_axp; - - put_no_rnd_pixels_tab[0][0] = put_pixels16_axp_asm; - put_no_rnd_pixels_tab[0][1] = put_no_rnd_pixels16_x2_axp; - put_no_rnd_pixels_tab[0][2] = put_no_rnd_pixels16_y2_axp; - put_no_rnd_pixels_tab[0][3] = put_no_rnd_pixels16_xy2_axp; - - avg_pixels_tab[0][0] = avg_pixels16_axp; - avg_pixels_tab[0][1] = avg_pixels16_x2_axp; - avg_pixels_tab[0][2] = avg_pixels16_y2_axp; - avg_pixels_tab[0][3] = avg_pixels16_xy2_axp; - - avg_no_rnd_pixels_tab[0][0] = avg_no_rnd_pixels16_axp; - avg_no_rnd_pixels_tab[0][1] = avg_no_rnd_pixels16_x2_axp; - avg_no_rnd_pixels_tab[0][2] = avg_no_rnd_pixels16_y2_axp; - avg_no_rnd_pixels_tab[0][3] = avg_no_rnd_pixels16_xy2_axp; - - put_pixels_tab[1][0] = put_pixels_axp_asm; - put_pixels_tab[1][1] = put_pixels_x2_axp; - put_pixels_tab[1][2] = put_pixels_y2_axp; - put_pixels_tab[1][3] = put_pixels_xy2_axp; - - put_no_rnd_pixels_tab[1][0] = put_pixels_axp_asm; - put_no_rnd_pixels_tab[1][1] = put_no_rnd_pixels_x2_axp; - put_no_rnd_pixels_tab[1][2] = put_no_rnd_pixels_y2_axp; - put_no_rnd_pixels_tab[1][3] = put_no_rnd_pixels_xy2_axp; - - avg_pixels_tab[1][0] = avg_pixels_axp; - avg_pixels_tab[1][1] = avg_pixels_x2_axp; - avg_pixels_tab[1][2] = avg_pixels_y2_axp; - avg_pixels_tab[1][3] = avg_pixels_xy2_axp; - - avg_no_rnd_pixels_tab[1][0] = avg_no_rnd_pixels_axp; - avg_no_rnd_pixels_tab[1][1] = avg_no_rnd_pixels_x2_axp; - avg_no_rnd_pixels_tab[1][2] = avg_no_rnd_pixels_y2_axp; - avg_no_rnd_pixels_tab[1][3] = avg_no_rnd_pixels_xy2_axp; - - clear_blocks = clear_blocks_axp; + c->put_pixels_tab[0][0] = put_pixels16_axp_asm; + c->put_pixels_tab[0][1] = put_pixels16_x2_axp; + c->put_pixels_tab[0][2] = put_pixels16_y2_axp; + c->put_pixels_tab[0][3] = put_pixels16_xy2_axp; + + c->put_no_rnd_pixels_tab[0][0] = put_pixels16_axp_asm; + c->put_no_rnd_pixels_tab[0][1] = put_no_rnd_pixels16_x2_axp; + c->put_no_rnd_pixels_tab[0][2] = put_no_rnd_pixels16_y2_axp; + c->put_no_rnd_pixels_tab[0][3] = put_no_rnd_pixels16_xy2_axp; + + c->avg_pixels_tab[0][0] = avg_pixels16_axp; + c->avg_pixels_tab[0][1] = avg_pixels16_x2_axp; + c->avg_pixels_tab[0][2] = avg_pixels16_y2_axp; + c->avg_pixels_tab[0][3] = avg_pixels16_xy2_axp; + + c->avg_no_rnd_pixels_tab[0][0] = avg_no_rnd_pixels16_axp; + c->avg_no_rnd_pixels_tab[0][1] = avg_no_rnd_pixels16_x2_axp; + c->avg_no_rnd_pixels_tab[0][2] = avg_no_rnd_pixels16_y2_axp; + c->avg_no_rnd_pixels_tab[0][3] = avg_no_rnd_pixels16_xy2_axp; + + c->put_pixels_tab[1][0] = put_pixels_axp_asm; + c->put_pixels_tab[1][1] = put_pixels_x2_axp; + c->put_pixels_tab[1][2] = put_pixels_y2_axp; + c->put_pixels_tab[1][3] = put_pixels_xy2_axp; + + c->put_no_rnd_pixels_tab[1][0] = put_pixels_axp_asm; + c->put_no_rnd_pixels_tab[1][1] = put_no_rnd_pixels_x2_axp; + c->put_no_rnd_pixels_tab[1][2] = put_no_rnd_pixels_y2_axp; + c->put_no_rnd_pixels_tab[1][3] = put_no_rnd_pixels_xy2_axp; + + c->avg_pixels_tab[1][0] = avg_pixels_axp; + c->avg_pixels_tab[1][1] = avg_pixels_x2_axp; + c->avg_pixels_tab[1][2] = avg_pixels_y2_axp; + c->avg_pixels_tab[1][3] = avg_pixels_xy2_axp; + + c->avg_no_rnd_pixels_tab[1][0] = avg_no_rnd_pixels_axp; + c->avg_no_rnd_pixels_tab[1][1] = avg_no_rnd_pixels_x2_axp; + c->avg_no_rnd_pixels_tab[1][2] = avg_no_rnd_pixels_y2_axp; + c->avg_no_rnd_pixels_tab[1][3] = avg_no_rnd_pixels_xy2_axp; + + c->clear_blocks = clear_blocks_axp; /* amask clears all bits that correspond to present features. */ if (amask(AMASK_MVI) == 0) { - put_pixels_clamped = put_pixels_clamped_mvi_asm; - add_pixels_clamped = add_pixels_clamped_mvi_asm; - - get_pixels = get_pixels_mvi; - diff_pixels = diff_pixels_mvi; - pix_abs8x8 = pix_abs8x8_mvi; - pix_abs16x16 = pix_abs16x16_mvi_asm; - pix_abs16x16_x2 = pix_abs16x16_x2_mvi; - pix_abs16x16_y2 = pix_abs16x16_y2_mvi; - pix_abs16x16_xy2 = pix_abs16x16_xy2_mvi; + c->put_pixels_clamped = put_pixels_clamped_mvi_asm; + c->add_pixels_clamped = add_pixels_clamped_mvi_asm; + + c->get_pixels = get_pixels_mvi; + c->diff_pixels = diff_pixels_mvi; + c->pix_abs8x8 = pix_abs8x8_mvi; + c->pix_abs16x16 = pix_abs16x16_mvi_asm; + c->pix_abs16x16_x2 = pix_abs16x16_x2_mvi; + c->pix_abs16x16_y2 = pix_abs16x16_y2_mvi; + c->pix_abs16x16_xy2 = pix_abs16x16_xy2_mvi; } } diff --git a/libavcodec/mlib/dsputil_mlib.c b/libavcodec/mlib/dsputil_mlib.c index 445500c50df46ea3ecd01bbcd502482592efa740..e75f858a20f4a387c019158a5018a1b68719c585 100644 --- a/libavcodec/mlib/dsputil_mlib.c +++ b/libavcodec/mlib/dsputil_mlib.c @@ -223,30 +223,30 @@ static void ff_fdct_mlib(DCTELEM *data) mlib_VideoDCT8x8_S16_S16 (data, data); } -void dsputil_init_mlib(void) +void dsputil_init_mlib(DSPContext* c, unsigned mask) { - put_pixels_tab[0][0] = put_pixels16_mlib; - put_pixels_tab[0][1] = put_pixels16_x2_mlib; - put_pixels_tab[0][2] = put_pixels16_y2_mlib; - put_pixels_tab[0][3] = put_pixels16_xy2_mlib; - put_pixels_tab[1][0] = put_pixels8_mlib; - put_pixels_tab[1][1] = put_pixels8_x2_mlib; - put_pixels_tab[1][2] = put_pixels8_y2_mlib; - put_pixels_tab[1][3] = put_pixels8_xy2_mlib; - - avg_pixels_tab[0][0] = avg_pixels16_mlib; - avg_pixels_tab[0][1] = avg_pixels16_x2_mlib; - avg_pixels_tab[0][2] = avg_pixels16_y2_mlib; - avg_pixels_tab[0][3] = avg_pixels16_xy2_mlib; - avg_pixels_tab[1][0] = avg_pixels8_mlib; - avg_pixels_tab[1][1] = avg_pixels8_x2_mlib; - avg_pixels_tab[1][2] = avg_pixels8_y2_mlib; - avg_pixels_tab[1][3] = avg_pixels8_xy2_mlib; - - put_no_rnd_pixels_tab[0][0] = put_pixels16_mlib; - put_no_rnd_pixels_tab[1][0] = put_pixels8_mlib; - - add_pixels_clamped = add_pixels_clamped_mlib; + c->put_pixels_tab[0][0] = put_pixels16_mlib; + c->put_pixels_tab[0][1] = put_pixels16_x2_mlib; + c->put_pixels_tab[0][2] = put_pixels16_y2_mlib; + c->put_pixels_tab[0][3] = put_pixels16_xy2_mlib; + c->put_pixels_tab[1][0] = put_pixels8_mlib; + c->put_pixels_tab[1][1] = put_pixels8_x2_mlib; + c->put_pixels_tab[1][2] = put_pixels8_y2_mlib; + c->put_pixels_tab[1][3] = put_pixels8_xy2_mlib; + + c->avg_pixels_tab[0][0] = avg_pixels16_mlib; + c->avg_pixels_tab[0][1] = avg_pixels16_x2_mlib; + c->avg_pixels_tab[0][2] = avg_pixels16_y2_mlib; + c->avg_pixels_tab[0][3] = avg_pixels16_xy2_mlib; + c->avg_pixels_tab[1][0] = avg_pixels8_mlib; + c->avg_pixels_tab[1][1] = avg_pixels8_x2_mlib; + c->avg_pixels_tab[1][2] = avg_pixels8_y2_mlib; + c->avg_pixels_tab[1][3] = avg_pixels8_xy2_mlib; + + c->put_no_rnd_pixels_tab[0][0] = put_pixels16_mlib; + c->put_no_rnd_pixels_tab[1][0] = put_pixels8_mlib; + + c->add_pixels_clamped = add_pixels_clamped_mlib; } void MPV_common_init_mlib(MpegEncContext *s) diff --git a/libavcodec/ppc/dsputil_ppc.c b/libavcodec/ppc/dsputil_ppc.c index 28c56ee94a00eb610254eecfcd9620b2d29e2106..4be3abb28d2b0e9f7ad1e45cd092031fd354548e 100644 --- a/libavcodec/ppc/dsputil_ppc.c +++ b/libavcodec/ppc/dsputil_ppc.c @@ -23,7 +23,7 @@ #include "dsputil_altivec.h" #endif -void dsputil_init_ppc(void) +void dsputil_init_ppc(DSPContext* c, unsigned mask) { // Common optimisations whether Altivec or not @@ -32,11 +32,11 @@ void dsputil_init_ppc(void) #if HAVE_ALTIVEC if (has_altivec()) { // Altivec specific optimisations - pix_abs16x16 = pix_abs16x16_altivec; - pix_abs8x8 = pix_abs8x8_altivec; - pix_sum = pix_sum_altivec; - diff_pixels = diff_pixels_altivec; - get_pixels = get_pixels_altivec; + c->pix_abs16x16 = pix_abs16x16_altivec; + c->pix_abs8x8 = pix_abs8x8_altivec; + c->pix_sum = pix_sum_altivec; + c->diff_pixels = diff_pixels_altivec; + c->get_pixels = get_pixels_altivec; } else #endif { diff --git a/libavcodec/ps2/dsputil_mmi.c b/libavcodec/ps2/dsputil_mmi.c index a6a1b99fa3a7397273c43649e0b06093309e1284..c9be68de3efb659210a88e751e7b65cbc006d679 100644 --- a/libavcodec/ps2/dsputil_mmi.c +++ b/libavcodec/ps2/dsputil_mmi.c @@ -103,16 +103,16 @@ static void put_pixels16_mmi(uint8_t *block, const uint8_t *pixels, int line_siz } -void dsputil_init_mmi(void) +void dsputil_init_mmi(DSPContext* c, unsigned mask) { - clear_blocks = clear_blocks_mmi; - - put_pixels_tab[1][0] = put_pixels8_mmi; - put_no_rnd_pixels_tab[1][0] = put_pixels8_mmi; - - put_pixels_tab[0][0] = put_pixels16_mmi; - put_no_rnd_pixels_tab[0][0] = put_pixels16_mmi; - - get_pixels = get_pixels_mmi; + c->clear_blocks = clear_blocks_mmi; + + c->put_pixels_tab[1][0] = put_pixels8_mmi; + c->put_no_rnd_pixels_tab[1][0] = put_pixels8_mmi; + + c->put_pixels_tab[0][0] = put_pixels16_mmi; + c->put_no_rnd_pixels_tab[0][0] = put_pixels16_mmi; + + c->get_pixels = get_pixels_mmi; }