Hi,

On Thu, Aug 4, 2011 at 11:04 AM, Loren Merritt <lor...@u.washington.edu> wrote:
> On Thu, 4 Aug 2011, Ronald S. Bultje wrote:
>>
>>>> +%if %2 == 15
>>>> +    packssdw      m0, m0
>>>> +    movh   [r1+r2*2], m0
>>>> +%else ; %2 == 19
>>>> +%if mmsize == 8
>>>> +    PMAXSD_MMX    m0, m2, m4
>>>> +%elifidn %4, sse4
>>>> +    pmaxsd        m0, m2
>>>> +%else ; sse2/ssse3
>>>> +    cvtdq2ps      m0, m0
>>>> +    maxps         m0, m2
>>>> +    cvtps2dq      m0, m0
>>>> +%endif ; mmx/sse2/ssse3/sse4
>>>> +    movu   [r1+r2*4], m0
>>>> +%endif ; %2 == 15/19
>>>
>>> You fixed this to CLIPD in response to my previous comments, and then
>>> reverted it?
>>
>> The C code doesn't clip, it only restricts the upper bound. As long as
>> it fits in -(1<<19) to +(1<<19)-1 or -(1<<15) to +(1<<15)-1 (which
>> happens to be int16_t/SHORT_MIN to SHORT_MAX), it's OK. Thus, clipping
>> to 0 made it incompatible to the C code.
>
> Then you meant min, not max.

*embarrassed*

> Also, code duplication.

Yeah, was just looking at merging that.

Ronald
_______________________________________________
libav-devel mailing list
libav-devel@libav.org
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to