]> git.sesse.net Git - ffmpeg/commitdiff
Implement clear_blocks_axp.
authorFalk Hüffner <mellum@users.sourceforge.net>
Fri, 5 Jul 2002 19:16:26 +0000 (19:16 +0000)
committerFalk Hüffner <mellum@users.sourceforge.net>
Fri, 5 Jul 2002 19:16:26 +0000 (19:16 +0000)
Originally committed as revision 722 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavcodec/alpha/dsputil_alpha.c

index db11d529fb9074733b0ba6b4de89e00da247b397..816f94585726497cf621a103e7fd96f84d10d217 100644 (file)
@@ -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;