return srcSliceH;
static void rgb2rgbWrapper(SwsContext *c, uint8_t* src[], int srcStride[], int srcSliceY,			   int srcSliceH, uint8_t* dst[], int dstStride[]){	const int srcFormat= c->srcFormat;	const int dstFormat= c->dstFormat;	const int srcBpp= ((srcFormat&0xFF) + 7)>>3;	const int dstBpp= ((dstFormat&0xFF) + 7)>>3;	const int srcId= (srcFormat&0xFF)>>2; // 1:0, 4:1, 8:2, 15:3, 16:4, 24:6, 32:8 	const int dstId= (dstFormat&0xFF)>>2;	void (*conv)(const uint8_t *src, uint8_t *dst, unsigned src_size)=NULL;	/* BGR -> BGR */	if(   (isBGR(srcFormat) && isBGR(dstFormat))	   || (isRGB(srcFormat) && isRGB(dstFormat))){		switch(srcId | (dstId<<4)){		case 0x34: conv= rgb16to15; break;		case 0x36: conv= rgb24to15; break;		case 0x38: conv= rgb32to15; break;		case 0x43: conv= rgb15to16; break;		case 0x46: conv= rgb24to16; break;		case 0x48: conv= rgb32to16; break;		case 0x63: conv= rgb15to24; break;		case 0x64: conv= rgb16to24; break;		case 0x68: conv= rgb32to24; break;		case 0x83: conv= rgb15to32; break;		case 0x84: conv= rgb16to32; break;		case 0x86: conv= rgb24to32; break;		default: MSG_ERR("swScaler: internal error %s -> %s converter\n", 				 vo_format_name(srcFormat), vo_format_name(dstFormat)); break;		}	}else if(   (isBGR(srcFormat) && isRGB(dstFormat))		 || (isRGB(srcFormat) && isBGR(dstFormat))){		switch(srcId | (dstId<<4)){		case 0x33: conv= rgb15tobgr15; break;		case 0x34: conv= rgb16tobgr15; break;		case 0x36: conv= rgb24tobgr15; break;		case 0x38: conv= rgb32tobgr15; break;		case 0x43: conv= rgb15tobgr16; break;		case 0x44: conv= rgb16tobgr16; break;		case 0x46: conv= rgb24tobgr16; break;		case 0x48: conv= rgb32tobgr16; break;		case 0x63: conv= rgb15tobgr24; break;		case 0x64: conv= rgb16tobgr24; break;		case 0x66: conv= rgb24tobgr24; break;		case 0x68: conv= rgb32tobgr24; break;		case 0x83: conv= rgb15tobgr32; break;		case 0x84: conv= rgb16tobgr32; break;		case 0x86: conv= rgb24tobgr32; break;		case 0x88: conv= rgb32tobgr32; break;		default: MSG_ERR("swScaler: internal error %s -> %s converter\n", 				 vo_format_name(srcFormat), vo_format_name(dstFormat)); break;		}	}else{		MSG_ERR("swScaler: internal error %s -> %s converter\n", 			 vo_format_name(srcFormat), vo_format_name(dstFormat));	}	if(dstStride[0]*srcBpp == srcStride[0]*dstBpp)		conv(src[0], dst[0] + dstStride[0]*srcSliceY, srcSliceH*srcStride[0]);	else	{		int i;		uint8_t *srcPtr= src[0];		uint8_t *dstPtr= dst[0] + dstStride[0]*srcSliceY;		for(i=0; i<srcSliceH; i++)		{			conv(srcPtr, dstPtr, c->srcW*srcBpp);			srcPtr+= srcStride[0];			dstPtr+= dstStride[0];		}	}     }