本文共 1524 字,大约阅读时间需要 5 分钟。
#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 sync){ int usage = 0; IM_STATUS ret = IM_STATUS_NOERROR; rga_buffer_t pat; im_rect srect; im_rect drect; im_rect prect; empty_structure(NULL, NULL, &pat, &srect, &drect, &prect); src.format = sfmt; dst.format = dfmt; dst.color_space_mode = mode; if (sync == 0) usage |= IM_SYNC; srect.x = 0 ; srect.y = 0; srect.width = src.width ; srect.height = src.height; drect.x = nposX; drect.y = nposY; drect.width = dst.width; drect.height = dst.height; ret = improcess(src, dst, pat, srect, drect, prect, usage); return ret;}
转载地址:http://vxbxi.baihongyu.com/