changeset 3706:fb73a0142544 libavcodec

don't use dsp.put_pixels_tab[0][0] with unaligned ptr (fix artifacts on altivec)
author aurel
date Mon, 11 Sep 2006 23:29:24 +0000
parents b3149af07681
children e7f4366d9731
files vp56.c
diffstat 1 files changed, 8 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/vp56.c	Sun Sep 10 22:29:02 2006 +0000
+++ b/vp56.c	Mon Sep 11 23:29:24 2006 +0000
@@ -358,11 +358,14 @@
         src_block = s->edge_emu_buffer;
         src_offset = 2 + 2*stride;
     } else if (deblock_filtering) {
-        /* only need a 12x12 block, but there is no such dsp function, */
-        /* so copy a 16x12 block */
-        s->dsp.put_pixels_tab[0][0](s->edge_emu_buffer,
-                                    src + s->block_offset[b] + (dy-2)*stride + (dx-2),
-                                    stride, 12);
+        int i;
+        src_block = s->edge_emu_buffer;
+        src += s->block_offset[b] + (dy-2)*stride + (dx-2);
+        for (i=0; i<12; i++) {
+            memcpy(src_block, src, 12);
+            src_block += stride;
+            src += stride;
+        }
         src_block = s->edge_emu_buffer;
         src_offset = 2 + 2*stride;
     } else {