#define imcvtcolorEX(src, dst, sfmt, dfmt, nposX,nposY, ...) \
({ \
IM_STATUS ret = IM_STATUS_SUCCESS; \
int args[] = {__VA_ARGS__}; \
int argc = sizeof(args)/sizeof(int); \
if (argc == 0) { \
ret = imcvtcolorEX_t(src, dst, sfmt, dfmt, nposX,nposY,IM_COLOR_SPACE_DEFAULT, 1); \
} else if (argc == 1){ \
ret = imcvtcolorEX_t(src, dst, sfmt, dfmt, nposX,nposY, args[0], 1); \
} else if (argc == 2){ \
ret = imcvtcolorEX_t(src, dst, sfmt, dfmt, nposX,nposY, args[0], args[1]); \
} else { \
ret = IM_STATUS_INVALID_PARAM; \
printf("invalid parameter\n"); \
} \
ret; \
})
IM_API IM_STATUS imcvtcolorEX_t(rga_buffer_t src, rga_buffer_t dst, int sfmt, int dfmt, int nposX,int nposY, int mode, int sync);
IM_API IM_STATUS imcvtcolorEX_t(rga_buffer_t src, rga_buffer_t dst, int sfmt, int dfmt, int nposX,int nposY, int mode, int syn