summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--postproc/swscale.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/postproc/swscale.c b/postproc/swscale.c
index d46e6167dc..508bf01497 100644
--- a/postproc/swscale.c
+++ b/postproc/swscale.c
@@ -1963,10 +1963,9 @@ SwsContext *sws_getContext(int srcW, int srcH, int origSrcFormat, int dstW, int
int chrI= i*c->chrDstH / dstH;
int nextSlice= MAX(c->vLumFilterPos[i ] + c->vLumFilterSize - 1,
((c->vChrFilterPos[chrI] + c->vChrFilterSize - 1)<<c->chrSrcVSubSample));
- if(c->chrSrcVSubSample > 1)
- nextSlice&= ~3; // Slices start at boundaries which are divisable through 4
- else
- nextSlice&= ~1; // Slices start at boundaries which are divisable through 2
+
+ nextSlice>>= c->chrSrcVSubSample;
+ nextSlice<<= c->chrSrcVSubSample;
if(c->vLumFilterPos[i ] + c->vLumBufSize < nextSlice)
c->vLumBufSize= nextSlice - c->vLumFilterPos[i ];
if(c->vChrFilterPos[chrI] + c->vChrBufSize < (nextSlice>>c->chrSrcVSubSample))