diff options
author | ramiro <ramiro@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2009-08-29 23:06:22 +0000 |
---|---|---|
committer | ramiro <ramiro@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2009-08-29 23:06:22 +0000 |
commit | 53f310c52c544c91486ccaf1a4e064ee19bb4252 (patch) | |
tree | 219ba9f42db96f980a78e65b3f6cc2a03854fcda /libswscale/swscale.c | |
parent | db1c65dc6c32c941aff6a54eb5fd45f70f08f93d (diff) | |
download | mpv-53f310c52c544c91486ccaf1a4e064ee19bb4252.tar.bz2 mpv-53f310c52c544c91486ccaf1a4e064ee19bb4252.tar.xz |
Check for return value of initFilter().
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29586 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libswscale/swscale.c')
-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); |