On Saturday, November 12, 2011, Ronald S. Bultje <[email protected]> wrote: > Hi, > > On Sat, Nov 12, 2011 at 7:54 AM, Sean McGovern <[email protected]> wrote: >> 2011/11/12 Måns Rullgård <[email protected]>: >>> "Ronald S. Bultje" <[email protected]> writes: >>> >>>> Hi, >>>> >>>> On Sat, Nov 12, 2011 at 7:33 AM, Luca Barbato <[email protected]> wrote: >>>>> On 11/11/11 7:12 AM, Ronald S. Bultje wrote: >>>>>> From what I remember, the invalid read was always in: >>>>>> >>>>>> vector unsigned char src_v0 = vec_ld(srcPos, src); >>>>>> vector unsigned char src_v1 = vec_ld(srcPos + 16, src); >>>>> >>>>> it should be + 15 not +16. >>>> >>>> Why? That makes the load unaligned which crashes altivec, IIUC. >>> >>> Again, read about how altivec loads work. >> >> Here's a link: http://developer.apple.com/hardwaredrivers/ve/alignment.html > > I think rather than discuss this, someone should just rewrite the code > if it is so obviously wrong. >
I wouldn't consider myself an expert by any means, but I think hScale_altivec_real() is only "wrong" when the source buffer contains 8-bit samples not word or doubleword aligned. I didn't think to look further into it, especially after the earlier comment about not guarantee-ing(sp?) alignment. -- Sean McG.
_______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
