comparison postproc/swscale.c @ 10952:b1c40065bcff

srcSliceY % 4 != 0 fix
author michael
date Fri, 26 Sep 2003 23:37:28 +0000
parents b71452194fff
children 6e35326c742f
comparison
equal deleted inserted replaced
10951:fa75c0b623fe 10952:b1c40065bcff
1926 for(i=0; i<dstH; i++) 1926 for(i=0; i<dstH; i++)
1927 { 1927 {
1928 int chrI= i*c->chrDstH / dstH; 1928 int chrI= i*c->chrDstH / dstH;
1929 int nextSlice= MAX(c->vLumFilterPos[i ] + c->vLumFilterSize - 1, 1929 int nextSlice= MAX(c->vLumFilterPos[i ] + c->vLumFilterSize - 1,
1930 ((c->vChrFilterPos[chrI] + c->vChrFilterSize - 1)<<c->chrSrcVSubSample)); 1930 ((c->vChrFilterPos[chrI] + c->vChrFilterSize - 1)<<c->chrSrcVSubSample));
1931 nextSlice&= ~3; // Slices start at boundaries which are divisable through 4 1931 if(c->chrSrcVSubSample > 1)
1932 nextSlice&= ~3; // Slices start at boundaries which are divisable through 4
1933 else
1934 nextSlice&= ~1; // Slices start at boundaries which are divisable through 2
1932 if(c->vLumFilterPos[i ] + c->vLumBufSize < nextSlice) 1935 if(c->vLumFilterPos[i ] + c->vLumBufSize < nextSlice)
1933 c->vLumBufSize= nextSlice - c->vLumFilterPos[i ]; 1936 c->vLumBufSize= nextSlice - c->vLumFilterPos[i ];
1934 if(c->vChrFilterPos[chrI] + c->vChrBufSize < (nextSlice>>c->chrSrcVSubSample)) 1937 if(c->vChrFilterPos[chrI] + c->vChrBufSize < (nextSlice>>c->chrSrcVSubSample))
1935 c->vChrBufSize= (nextSlice>>c->chrSrcVSubSample) - c->vChrFilterPos[chrI]; 1938 c->vChrBufSize= (nextSlice>>c->chrSrcVSubSample) - c->vChrFilterPos[chrI];
1936 } 1939 }