mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2024-12-24 16:22:37 +00:00
Implement clear_blocks_axp.
Originally committed as revision 722 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
02da51ec60
commit
0a12d6fdfd
@ -105,6 +105,24 @@ void add_pixels_clamped_mvi(const DCTELEM *block, uint8_t *pixels,
|
||||
}
|
||||
#endif
|
||||
|
||||
static void clear_blocks_axp(DCTELEM *blocks) {
|
||||
uint64_t *p = (uint64_t *) blocks;
|
||||
int n = sizeof(DCTELEM) * 6 * 64;
|
||||
|
||||
do {
|
||||
p[0] = 0;
|
||||
p[1] = 0;
|
||||
p[2] = 0;
|
||||
p[3] = 0;
|
||||
p[4] = 0;
|
||||
p[5] = 0;
|
||||
p[6] = 0;
|
||||
p[7] = 0;
|
||||
p += 8;
|
||||
n -= 8 * 8;
|
||||
} while (n);
|
||||
}
|
||||
|
||||
static inline uint64_t avg2_no_rnd(uint64_t a, uint64_t b)
|
||||
{
|
||||
return (a & b) + (((a ^ b) & BYTE_VEC(0xfe)) >> 1);
|
||||
@ -259,6 +277,8 @@ void dsputil_init_alpha(void)
|
||||
avg_no_rnd_pixels_tab[2] = avg_no_rnd_pixels_y2_axp;
|
||||
avg_no_rnd_pixels_tab[3] = avg_no_rnd_pixels_xy2_axp;
|
||||
|
||||
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;
|
||||
|
Loading…
Reference in New Issue
Block a user