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

Reply via email to