From: Loren Merritt Date: Sat, 12 Apr 2008 00:48:30 +0000 (-0600) Subject: r810 borked hpel_filter_sse2 on unaligned buffers X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=25558461eae393552684aab8d847a065c73667e5;p=libx264 r810 borked hpel_filter_sse2 on unaligned buffers --- diff --git a/common/x86/mc-c.c b/common/x86/mc-c.c index 7401555a..356df36b 100644 --- a/common/x86/mc-c.c +++ b/common/x86/mc-c.c @@ -177,6 +177,7 @@ void x264_hpel_filter_##cpu( uint8_t *dsth, uint8_t *dstv, uint8_t *dstc, uint8_ dstv -= realign;\ dstc -= realign;\ dsth -= realign;\ + width += realign;\ buf = x264_malloc(((width+2*align-1)&-align)*sizeof(int16_t));\ while( height-- )\ {\ diff --git a/tools/checkasm.c b/tools/checkasm.c index 2aee2b8c..d301a8ba 100644 --- a/tools/checkasm.c +++ b/tools/checkasm.c @@ -532,9 +532,9 @@ static int check_mc( int cpu_ref, int cpu_new ) if( mc_a.hpel_filter != mc_ref.hpel_filter ) { - uint8_t *src = buf1+16+2*64; - uint8_t *dstc[3] = { buf3+16, buf3+16+16*64, buf3+16+32*64 }; - uint8_t *dsta[3] = { buf4+16, buf4+16+16*64, buf4+16+32*64 }; + uint8_t *src = buf1+8+2*64; + uint8_t *dstc[3] = { buf3+8, buf3+8+16*64, buf3+8+32*64 }; + uint8_t *dsta[3] = { buf4+8, buf4+8+16*64, buf4+8+32*64 }; ok = 1; used_asm = 1; memset( buf3, 0, 4096 ); memset( buf4, 0, 4096 );