Hi,

On Sun, Sep 18, 2011 at 8:31 AM, Kieran Kunhya <[email protected]> wrote:
> On Sun, Sep 18, 2011 at 4:18 PM, Ronald S. Bultje <[email protected]>
> wrote:
>> On Sun, Sep 18, 2011 at 4:10 AM, Kieran Kunhya <[email protected]> wrote:
>> > This adds SSE4 ASM for the (easy) case of lumFilterSize=1 and for
>> > 10-bit. The naming scheme and function pointers doesn't yet match swscale's
>> > scheme.
>> > Assistance to get this up to scratch appreciated
>> [..]
>> > +    void (*lum_10_filter1)(uint16_t *dst, int16_t *lum_src, int16_t
>> > filter, int width);
>> [..]
>> > +    if (output_bits == 10 && lumFilterSize == 1 && big_endian == 0)
>> > +        c->lum_10_filter1(yDest, lumSrc[0], lumFilter[0], dstW);
>> > +    else
>>
>> All these tricks can be done in the init function, so that you can
>> assign c->yuv2yuv1 directly.
>
> What about if my codepath involves lumFilterSize = 1 and chrFilterSize=8 ?
> As far as I can tell yuv2yuv1 is for when both are equal to one.

As discussed on IRC, I believe yuv2yuvX should be slimmed to do 1
plane at a time, that solves this problem for free and also prevents
duplication of code in each yuv2yuv[1X] variant.

Ronald
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to