diff options
author | Ramiro Polla <ramiro.polla@gmail.com> | 2009-08-29 23:06:22 +0000 |
---|---|---|
committer | Ramiro Polla <ramiro.polla@gmail.com> | 2009-08-29 23:06:22 +0000 |
commit | 1ddb5747df964d0a0382169e9a22c471da9ff864 (patch) | |
tree | 1bb724925625f080fa45337b84726a9f77ef0f7f | |
parent | dd653355fa5ed34548c683f830e82cc7561ba95e (diff) | |
download | ffmpeg-1ddb5747df964d0a0382169e9a22c471da9ff864.tar.gz |
Check for return value of initFilter().
Originally committed as revision 29586 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
-rw-r--r-- | libswscale/swscale.c | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/libswscale/swscale.c b/libswscale/swscale.c index b8f3f35909..60b1d4b66e 100644 --- a/libswscale/swscale.c +++ b/libswscale/swscale.c @@ -2812,14 +2812,16 @@ SwsContext *sws_getContext(int srcW, int srcH, enum PixelFormat srcFormat, int d (flags & SWS_CPU_CAPS_ALTIVEC) ? 8 : 1; - initFilter(&c->hLumFilter, &c->hLumFilterPos, &c->hLumFilterSize, c->lumXInc, + if (initFilter(&c->hLumFilter, &c->hLumFilterPos, &c->hLumFilterSize, c->lumXInc, srcW , dstW, filterAlign, 1<<14, (flags&SWS_BICUBLIN) ? (flags|SWS_BICUBIC) : flags, - srcFilter->lumH, dstFilter->lumH, c->param); - initFilter(&c->hChrFilter, &c->hChrFilterPos, &c->hChrFilterSize, c->chrXInc, + srcFilter->lumH, dstFilter->lumH, c->param) < 0) + goto fail; + if (initFilter(&c->hChrFilter, &c->hChrFilterPos, &c->hChrFilterSize, c->chrXInc, c->chrSrcW, c->chrDstW, filterAlign, 1<<14, (flags&SWS_BICUBLIN) ? (flags|SWS_BILINEAR) : flags, - srcFilter->chrH, dstFilter->chrH, c->param); + srcFilter->chrH, dstFilter->chrH, c->param) < 0) + goto fail; #if defined(COMPILE_MMX2) // can't downscale !!! @@ -2863,14 +2865,16 @@ SwsContext *sws_getContext(int srcW, int srcH, enum PixelFormat srcFormat, int d (flags & SWS_CPU_CAPS_ALTIVEC) ? 8 : 1; - initFilter(&c->vLumFilter, &c->vLumFilterPos, &c->vLumFilterSize, c->lumYInc, + if (initFilter(&c->vLumFilter, &c->vLumFilterPos, &c->vLumFilterSize, c->lumYInc, srcH , dstH, filterAlign, (1<<12), (flags&SWS_BICUBLIN) ? (flags|SWS_BICUBIC) : flags, - srcFilter->lumV, dstFilter->lumV, c->param); - initFilter(&c->vChrFilter, &c->vChrFilterPos, &c->vChrFilterSize, c->chrYInc, + srcFilter->lumV, dstFilter->lumV, c->param) < 0) + goto fail; + if (initFilter(&c->vChrFilter, &c->vChrFilterPos, &c->vChrFilterSize, c->chrYInc, c->chrSrcH, c->chrDstH, filterAlign, (1<<12), (flags&SWS_BICUBLIN) ? (flags|SWS_BILINEAR) : flags, - srcFilter->chrV, dstFilter->chrV, c->param); + srcFilter->chrV, dstFilter->chrV, c->param) < 0) + goto fail; #ifdef COMPILE_ALTIVEC CHECKED_ALLOC(c->vYCoeffsBank, sizeof (vector signed short)*c->vLumFilterSize*c->dstH); |