void SwScale_YV12slice(unsigned char* srcptr[],int stride[], int srcSliceY ,

			     int srcSliceH, uint8_t* dstptr[], int dststride, int dstbpp,

			     int srcW, int srcH, int dstW, int dstH){



#ifdef RUNTIME_CPUDETECT

#ifdef CAN_COMPILE_X86_ASM

	// ordered per speed fasterst first

	if(gCpuCaps.hasMMX2)

		SwScale_YV12slice_MMX2(srcptr, stride, srcSliceY, srcSliceH, dstptr, dststride, dstbpp, srcW, srcH, dstW, dstH);

	else if(gCpuCaps.has3DNow)

		SwScale_YV12slice_3DNow(srcptr, stride, srcSliceY, srcSliceH, dstptr, dststride, dstbpp, srcW, srcH, dstW, dstH);

	else if(gCpuCaps.hasMMX)

		SwScale_YV12slice_MMX(srcptr, stride, srcSliceY, srcSliceH, dstptr, dststride, dstbpp, srcW, srcH, dstW, dstH);

	else

		SwScale_YV12slice_C(srcptr, stride, srcSliceY, srcSliceH, dstptr, dststride, dstbpp, srcW, srcH, dstW, dstH);

#else

		SwScale_YV12slice_C(srcptr, stride, srcSliceY, srcSliceH, dstptr, dststride, dstbpp, srcW, srcH, dstW, dstH);

#endif

#else //RUNTIME_CPUDETECT

#ifdef HAVE_MMX2

		SwScale_YV12slice_MMX2(srcptr, stride, srcSliceY, srcSliceH, dstptr, dststride, dstbpp, srcW, srcH, dstW, dstH);

#elif defined (HAVE_3DNOW)

		SwScale_YV12slice_3DNow(srcptr, stride, srcSliceY, srcSliceH, dstptr, dststride, dstbpp, srcW, srcH, dstW, dstH);

#elif defined (HAVE_MMX)

		SwScale_YV12slice_MMX(srcptr, stride, srcSliceY, srcSliceH, dstptr, dststride, dstbpp, srcW, srcH, dstW, dstH);

#else

		SwScale_YV12slice_C(srcptr, stride, srcSliceY, srcSliceH, dstptr, dststride, dstbpp, srcW, srcH, dstW, dstH);

#endif

#endif //!RUNTIME_CPUDETECT



}

void SwScale_YV12slice(unsigned char* srcptr[],int stride[], int srcSliceY ,

			     int srcSliceH, uint8_t* dstptr[], int dststride, int dstbpp,

			     int srcW, int srcH, int dstW, int dstH){



#ifdef RUNTIME_CPUDETECT

#ifdef CAN_COMPILE_X86_ASM

	

	if(gCpuCaps.hasMMX2)

		SwScale_YV12slice_MMX2(srcptr, stride, srcSliceY, srcSliceH, dstptr, dststride, dstbpp, srcW, srcH, dstW, dstH);

	else if(gCpuCaps.has3DNow)

		SwScale_YV12slice_3DNow(srcptr, stride, srcSliceY, srcSliceH, dstptr, dststride, dstbpp, srcW, srcH, dstW, dstH);

	else if(gCpuCaps.hasMMX)

		SwScale_YV12slice_MMX(srcptr, stride, srcSliceY, srcSliceH, dstptr, dststride, dstbpp, srcW, srcH, dstW, dstH);

	else

		SwScale_YV12slice_C(srcptr, stride, srcSliceY, srcSliceH, dstptr, dststride, dstbpp, srcW, srcH, dstW, dstH);

#else

		SwScale_YV12slice_C(srcptr, stride, srcSliceY, srcSliceH, dstptr, dststride, dstbpp, srcW, srcH, dstW, dstH);

#endif

#else 

#ifdef HAVE_MMX2

		SwScale_YV12slice_MMX2(srcptr, stride, srcSliceY, srcSliceH, dstptr, dststride, dstbpp, srcW, srcH, dstW, dstH);

#elif defined (HAVE_3DNOW)

		SwScale_YV12slice_3DNow(srcptr, stride, srcSliceY, srcSliceH, dstptr, dststride, dstbpp, srcW, srcH, dstW, dstH);

#elif defined (HAVE_MMX)

		SwScale_YV12slice_MMX(srcptr, stride, srcSliceY, srcSliceH, dstptr, dststride, dstbpp, srcW, srcH, dstW, dstH);

#else

		SwScale_YV12slice_C(srcptr, stride, srcSliceY, srcSliceH, dstptr, dststride, dstbpp, srcW, srcH, dstW, dstH);

#endif

#endif 



}

#else #ifdef CAN_COMPILE_X86_ASM #endif void SwScale_YV12slice(unsigned char* srcptr[],int stride[], int srcSliceY , 			     int srcSliceH, uint8_t* dstptr[], int dststride, int dstbpp, #ifdef RUNTIME_CPUDETECT #ifdef CAN_COMPILE_X86_ASM 	if(gCpuCaps.hasMMX2) 		SwScale_YV12slice_MMX2(srcptr, stride, srcSliceY, srcSliceH, dstptr, dststride, dstbpp, srcW, srcH, dstW, dstH); 	else if(gCpuCaps.has3DNow) 		SwScale_YV12slice_3DNow(srcptr, stride, srcSliceY, srcSliceH, dstptr, dststride, dstbpp, srcW, srcH, dstW, dstH); 	else if(gCpuCaps.hasMMX) 		SwScale_YV12slice_MMX(srcptr, stride, srcSliceY, srcSliceH, dstptr, dststride, dstbpp, srcW, srcH, dstW, dstH); 		SwScale_YV12slice_C(srcptr, stride, srcSliceY, srcSliceH, dstptr, dststride, dstbpp, srcW, srcH, dstW, dstH); #else 		SwScale_YV12slice_C(srcptr, stride, srcSliceY, srcSliceH, dstptr, dststride, dstbpp, srcW, srcH, dstW, dstH); #endif #ifdef HAVE_MMX2 		SwScale_YV12slice_MMX2(srcptr, stride, srcSliceY, srcSliceH, dstptr, dststride, dstbpp, srcW, srcH, dstW, dstH); #elif defined (HAVE_3DNOW) 		SwScale_YV12slice_3DNow(srcptr, stride, srcSliceY, srcSliceH, dstptr, dststride, dstbpp, srcW, srcH, dstW, dstH); #elif defined (HAVE_MMX) 		SwScale_YV12slice_MMX(srcptr, stride, srcSliceY, srcSliceH, dstptr, dststride, dstbpp, srcW, srcH, dstW, dstH); #else 		SwScale_YV12slice_C(srcptr, stride, srcSliceY, srcSliceH, dstptr, dststride, dstbpp, srcW, srcH, dstW, dstH); 			     int srcSliceH, uint8_t* dstptr[], int dststride, int dstbpp, #endif #ifdef HAVE_MMX2 			     int srcSliceH, uint8_t* dstptr[], int dststride, int dstbpp, 			     int srcW, int srcH, int dstW, int dstH){ #ifdef HAVE_MMX2 #else #endif #else #endif #ifdef HAVE_MMX2 #elif defined (HAVE_3DNOW) #elif defined (HAVE_MMX) #else #endif #endif #else #endif #ifdef HAVE_MMX2 #endif #endif #ifdef HAVE_MMX2 #else #endif #else #endif #else #endif
void FUNC_0(unsigned char* VAR_0[],int VAR_1[], int VAR_2 ,

			     int VAR_3, uint8_t* VAR_4[], int VAR_5, int VAR_6,

			     int VAR_7, int VAR_8, int VAR_9, int VAR_10){



#ifdef RUNTIME_CPUDETECT

#ifdef CAN_COMPILE_X86_ASM

	

	if(gCpuCaps.hasMMX2)

		SwScale_YV12slice_MMX2(VAR_0, VAR_1, VAR_2, VAR_3, VAR_4, VAR_5, VAR_6, VAR_7, VAR_8, VAR_9, VAR_10);

	else if(gCpuCaps.has3DNow)

		SwScale_YV12slice_3DNow(VAR_0, VAR_1, VAR_2, VAR_3, VAR_4, VAR_5, VAR_6, VAR_7, VAR_8, VAR_9, VAR_10);

	else if(gCpuCaps.hasMMX)

		SwScale_YV12slice_MMX(VAR_0, VAR_1, VAR_2, VAR_3, VAR_4, VAR_5, VAR_6, VAR_7, VAR_8, VAR_9, VAR_10);

	else

		SwScale_YV12slice_C(VAR_0, VAR_1, VAR_2, VAR_3, VAR_4, VAR_5, VAR_6, VAR_7, VAR_8, VAR_9, VAR_10);

#else

		SwScale_YV12slice_C(VAR_0, VAR_1, VAR_2, VAR_3, VAR_4, VAR_5, VAR_6, VAR_7, VAR_8, VAR_9, VAR_10);

#endif

#else 

#ifdef HAVE_MMX2

		SwScale_YV12slice_MMX2(VAR_0, VAR_1, VAR_2, VAR_3, VAR_4, VAR_5, VAR_6, VAR_7, VAR_8, VAR_9, VAR_10);

#elif defined (HAVE_3DNOW)

		SwScale_YV12slice_3DNow(VAR_0, VAR_1, VAR_2, VAR_3, VAR_4, VAR_5, VAR_6, VAR_7, VAR_8, VAR_9, VAR_10);

#elif defined (HAVE_MMX)

		SwScale_YV12slice_MMX(VAR_0, VAR_1, VAR_2, VAR_3, VAR_4, VAR_5, VAR_6, VAR_7, VAR_8, VAR_9, VAR_10);

#else

		SwScale_YV12slice_C(VAR_0, VAR_1, VAR_2, VAR_3, VAR_4, VAR_5, VAR_6, VAR_7, VAR_8, VAR_9, VAR_10);

#endif

#endif 



}

void FUNC_0(unsigned char* VAR_0[],int VAR_1[], int VAR_2 ,
int VAR_3, uint8_t* VAR_4[], int VAR_5, int VAR_6,
int VAR_7, int VAR_8, int VAR_9, int VAR_10){ #ifdef RUNTIME_CPUDETECT
#ifdef CAN_COMPILE_X86_ASM
if(gCpuCaps.hasMMX2)
SwScale_YV12slice_MMX2(VAR_0, VAR_1, VAR_2, VAR_3, VAR_4, VAR_5, VAR_6, VAR_7, VAR_8, VAR_9, VAR_10); else if(gCpuCaps.has3DNow)
SwScale_YV12slice_3DNow(VAR_0, VAR_1, VAR_2, VAR_3, VAR_4, VAR_5, VAR_6, VAR_7, VAR_8, VAR_9, VAR_10); else if(gCpuCaps.hasMMX)
SwScale_YV12slice_MMX(VAR_0, VAR_1, VAR_2, VAR_3, VAR_4, VAR_5, VAR_6, VAR_7, VAR_8, VAR_9, VAR_10); else
SwScale_YV12slice_C(VAR_0, VAR_1, VAR_2, VAR_3, VAR_4, VAR_5, VAR_6, VAR_7, VAR_8, VAR_9, VAR_10); #else
SwScale_YV12slice_C(VAR_0, VAR_1, VAR_2, VAR_3, VAR_4, VAR_5, VAR_6, VAR_7, VAR_8, VAR_9, VAR_10); #endif
#else
#ifdef HAVE_MMX2
SwScale_YV12slice_MMX2(VAR_0, VAR_1, VAR_2, VAR_3, VAR_4, VAR_5, VAR_6, VAR_7, VAR_8, VAR_9, VAR_10); #elif defined (HAVE_3DNOW)
SwScale_YV12slice_3DNow(VAR_0, VAR_1, VAR_2, VAR_3, VAR_4, VAR_5, VAR_6, VAR_7, VAR_8, VAR_9, VAR_10); #elif defined (HAVE_MMX)
SwScale_YV12slice_MMX(VAR_0, VAR_1, VAR_2, VAR_3, VAR_4, VAR_5, VAR_6, VAR_7, VAR_8, VAR_9, VAR_10); #else
SwScale_YV12slice_C(VAR_0, VAR_1, VAR_2, VAR_3, VAR_4, VAR_5, VAR_6, VAR_7, VAR_8, VAR_9, VAR_10); #endif
#endif
}