Revision 3f7bb50c

View differences:

postproc/swscale.c
102 102
//FIXME replace this with something faster
103 103
#define isPlanarYUV(x) ((x)==IMGFMT_YV12 || (x)==IMGFMT_I420 || (x)==IMGFMT_YVU9)
104 104
#define isYUV(x)       ((x)==IMGFMT_YUY2 || isPlanarYUV(x))
105
#define isHalfChrV(x)  ((x)==IMGFMT_YV12 || (x)==IMGFMT_I420)
106
#define isHalfChrH(x)  ((x)==IMGFMT_YUY2 || (x)==IMGFMT_YV12 || (x)==IMGFMT_I420)
107 105
#define isGray(x)      ((x)==IMGFMT_Y800)
108 106
#define isSupportedIn(x)  ((x)==IMGFMT_YV12 || (x)==IMGFMT_I420 || (x)==IMGFMT_YUY2 \
109 107
			|| (x)==IMGFMT_BGR32|| (x)==IMGFMT_BGR24|| (x)==IMGFMT_BGR16|| (x)==IMGFMT_BGR15\
postproc/swscale_template.c
2709 2709

  
2710 2710
	for(;dstY < dstH; dstY++){
2711 2711
		unsigned char *dest =dst[0]+dstStride[0]*dstY;
2712
		unsigned char *uDest=dst[1]+dstStride[1]*(dstY>>1);
2713
		unsigned char *vDest=dst[2]+dstStride[2]*(dstY>>1);
2714
		const int chrDstY= isHalfChrV(dstFormat) ? (dstY>>1) : dstY;
2712
		const int chrDstY= dstY>>c->chrDstVSubSample;
2713
		unsigned char *uDest=dst[1]+dstStride[1]*chrDstY;
2714
		unsigned char *vDest=dst[2]+dstStride[2]*chrDstY;
2715 2715

  
2716 2716
		const int firstLumSrcY= vLumFilterPos[dstY]; //First line needed as input
2717 2717
		const int firstChrSrcY= vChrFilterPos[chrDstY]; //First line needed as input

Also available in: Unified diff