|
本帖最后由 闲花落地 于 2020-11-20 15:02 编辑
rga模块使用的是git上最新的源码编译的这个是封装接口:
int RgaManager::RgaConvertColor(void* src, RgaSURF_FORMAT src_fmt, void* dst, RgaSURF_FORMAT dst_fmt, int mode, int width, int height)
{
rga_buffer_t src_buf = wrapbuffer_virtualaddr(src, width, height, src_fmt);
rga_buffer_t dst_buf = wrapbuffer_virtualaddr(dst, width, height, dst_fmt);
IM_STATUS status = imcvtcolor_t(src_buf, dst_buf, src_fmt, dst_fmt, mode, 1);
if(status != IM_STATUS_SUCCESS)
{
printf("rga convert color failed: %d\n", status);
return -1;
}
return 0;
}
这个是调用位置:
RgaConvertColor(ptr, RK_FORMAT_YCbCr_420_SP, rgb_ptr, RK_FORMAT_RGB_888, IM_YUV_TO_RGB_BT709_LIMIT, 1920, 1088);
将转出的rgb数据保存到文件:
FILE *fp = fopen("test.rgb", "wb");
if(fp)
{
fwrite(rgb_ptr, 1, 1920*1088*3, fp);
fclose(fp);
}
得到的rgb图像是这样的:
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|