changeset 518:70113647b50d libavcodec

Implement clear_blocks_axp.
author mellum
date Fri, 05 Jul 2002 19:16:26 +0000
parents 389e30fe7269
children 55b4e2248a45
files alpha/dsputil_alpha.c
diffstat 1 files changed, 20 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/alpha/dsputil_alpha.c	Thu Jul 04 13:41:27 2002 +0000
+++ b/alpha/dsputil_alpha.c	Fri Jul 05 19:16:26 2002 +0000
@@ -105,6 +105,24 @@
 }
 #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 @@
     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;