On 18/12/11 02:57, Ronald S. Bultje wrote:
+ if (firstLumSrcY< 0 || firstLumSrcY + vLumFilterSize> c->srcH) {
+ const int16_t **tmpY = (const int16_t **) lumPixBuf + 2 *
vLumBufSize;
+ int neg = -firstLumSrcY, i, end = FFMIN(c->srcH -
firstLumSrcY, vLumFilterSize);
+ for (i = 0; i< neg; i++)
+ tmpY[i] = lumSrcPtr[neg];
+ for ( ; i< end; i++)
+ tmpY[i] = lumSrcPtr[i];
+ for ( ; i< vLumFilterSize; i++)
+ tmpY[i] = tmpY[i-1];
+ lumSrcPtr = tmpY;
+
+ if (alpSrcPtr) {
+ const int16_t **tmpA = (const int16_t **) alpPixBuf + 2 *
vLumBufSize;
+ for (i = 0; i< neg; i++)
+ tmpA[i] = alpSrcPtr[neg];
+ for ( ; i< end; i++)
+ tmpA[i] = alpSrcPtr[i];
+ for ( ; i< vLumFilterSize; i++)
+ tmpA[i] = tmpA[i - 1];
+ alpSrcPtr = tmpA;
+ }
Since that function is already long, what about having those block as
inline functions? That would make it a little more easy to understand.
lu
--
Luca Barbato
Gentoo/linux
http://dev.gentoo.org/~lu_zero
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel