Hi, On Tue, Sep 27, 2011 at 6:12 PM, Kieran Kunhya <kier...@ob-encoder.com> wrote: > +yuv2yuvX16_c_template(const int16_t *Filter, int FilterSize, > + const int32_t **Src, uint16_t *Dest, int dstW,
Caps. > + if (dstFormat == PIX_FMT_NV12 || dstFormat == PIX_FMT_NV21) { > + yuv2nv12X(c, vLumFilter + dstY * vLumFilterSize, > + lumSrcPtr, vLumFilterSize, > + vChrFilter + chrDstY * vChrFilterSize, > + chrUSrcPtr, chrVSrcPtr, vChrFilterSize, > + alpSrcPtr, dest, dstW, chrDstW); Please don't use hardcoded function names, use function pointers (the interleavedX one) instead. Also, I think at this point it makes sense to split the luma/chroma path already so that we choose for chroma and luma separately whether to use _1 or _X functions (and then for chroma, whether to use interleaved or plane). > +typedef void (*yuv2interleavedX_fn) (struct SwsContext *c, const int16_t > *lumFilter, > + const int16_t **lumSrc, int > lumFilterSize, > + const int16_t *chrFilter, const int16_t > **chrUSrc, > + const int16_t **chrVSrc, int > chrFilterSize, > + const int16_t **alpSrc, uint8_t > *dest[4], > + int dstW, int chrDstW); This one should handle only chroma, not luma/alpha. Ronald _______________________________________________ libav-devel mailing list libav-devel@libav.org https://lists.libav.org/mailman/listinfo/libav-devel