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;
}
}
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)