Synthesize pixels16 functions from pixels functions.
Originally committed as revision 942 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
050fe8bab5
commit
8c7b533e8b
@ -234,6 +234,14 @@ static void OPNAME ## _pixels ## SUFF ## _axp \
|
|||||||
} else { \
|
} else { \
|
||||||
OPKIND(ldq, STORE); \
|
OPKIND(ldq, STORE); \
|
||||||
} \
|
} \
|
||||||
|
} \
|
||||||
|
\
|
||||||
|
static void OPNAME ## _pixels16 ## SUFF ## _axp \
|
||||||
|
(uint8_t *restrict block, const uint8_t *restrict pixels, \
|
||||||
|
int line_size, int h) \
|
||||||
|
{ \
|
||||||
|
OPNAME ## _pixels ## SUFF ## _axp(block, pixels, line_size, h); \
|
||||||
|
OPNAME ## _pixels ## SUFF ## _axp(block + 8, pixels + 8, line_size, h); \
|
||||||
}
|
}
|
||||||
|
|
||||||
#define PIXOP(OPNAME, STORE) \
|
#define PIXOP(OPNAME, STORE) \
|
||||||
@ -268,8 +276,35 @@ PIXOP(put_no_rnd, STORE);
|
|||||||
#define STORE(l, b) stq(AVG2(l, ldq(b)), b);
|
#define STORE(l, b) stq(AVG2(l, ldq(b)), b);
|
||||||
PIXOP(avg_no_rnd, STORE);
|
PIXOP(avg_no_rnd, STORE);
|
||||||
|
|
||||||
|
void put_pixels16_axp_asm(uint8_t *block, const uint8_t *pixels,
|
||||||
|
int line_size, int h)
|
||||||
|
{
|
||||||
|
put_pixels_axp_asm(block, pixels, line_size, h);
|
||||||
|
put_pixels_axp_asm(block + 8, pixels + 8, line_size, h);
|
||||||
|
}
|
||||||
|
|
||||||
void dsputil_init_alpha(void)
|
void dsputil_init_alpha(void)
|
||||||
{
|
{
|
||||||
|
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][0] = put_pixels_axp_asm;
|
||||||
put_pixels_tab[1][1] = put_pixels_x2_axp;
|
put_pixels_tab[1][1] = put_pixels_x2_axp;
|
||||||
put_pixels_tab[1][2] = put_pixels_y2_axp;
|
put_pixels_tab[1][2] = put_pixels_y2_axp;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user