# RGA IM2D API 开发指南
文件标识:RK-KF-YF-403
发布版本:V2.2.8
日期:2025-06-10
文件密级:□绝密 □秘密 □内部资料 ■公开
**免责声明**
本文档按“现状”提供,瑞芯微电子股份有限公司(“本公司”,下同)不对本文档的任何陈述、信息和内容的准确性、可靠性、完整性、适销性、特定目的性和非侵权性提供任何明示或暗示的声明或保证。本文档仅作为使用指导的参考。
由于产品版本升级或其他原因,本文档将可能在未经任何通知的情况下,不定期进行更新或修改。
**商标声明**
“Rockchip”、“瑞芯微”、“瑞芯”均为本公司的注册商标,归本公司所有。
本文档可能提及的其他所有注册商标或商标,由其各自拥有者所有。
**版权所有 © 2022 瑞芯微电子股份有限公司**
超越合理使用范畴,非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传播。
瑞芯微电子股份有限公司
Rockchip Electronics Co., Ltd.
地址: 福建省福州市铜盘路软件园A区18号
网址: [www.rock-chips.com](http://www.rock-chips.com)
客户服务电话: +86-4007-700-590
客户服务传真: +86-591-83951833
客户服务邮箱: [fae@rock-chips.com](mailto:fae@rock-chips.com)
---
**读者对象**
本文档(本指南)主要适用于以下工程师:
- 技术支持工程师
- 软件开发工程师
**修订记录**
| **日期** | **版本** | **作者** | **修改说明** |
| ---------- | -------- | ------------------ | ------------------------------------------------------------ |
| 2020/06/24 | 1.0.0 | 陈城,李煌 | 初始版本 |
| 2020/10/16 | 1.0.1 | 陈城,李煌,余乔伟 | 更新部分接口 |
| 2021/12/07 | 2.0.0 | 陈城,李煌,余乔伟 | 增加RGA3相关支持 |
| 2022/01/20 | 2.1.0 | 陈城,李煌,余乔伟 | - 更新im2d api接口说明
- 更新硬件指标说明,以及对齐限制
- 增加数据结构介绍 |
| 2022/06/22 | 2.1.1 | 陈城,李煌,余乔伟 | 完善格式支持/对齐说明 |
| 2022/09/15 | 2.2.0 | 陈城,李煌,余乔伟 | - 补充默认值相关说明
- 新增array接口
- 新增task接口
- 新增矩形边框绘制接口 |
| 2023/02/09 | 2.2.1 | 余乔伟 | 更正文档格式 |
| 2023/06/28 | 2.2.2 | 余乔伟 | - 增加芯片RK3562介绍
- 完善针对灰度图的注意事项 |
| 2024/03/06 | 2.2.3 | 余乔伟 | 增加芯片RK3576介绍 |
| 2024/08/22 | 2.2.4 | 余乔伟 | 增加芯片RK3506、RV1103B介绍 |
| 2024/11/18 | 2.2.5 | 余乔伟 | 增加API在不同环境支持情况 |
| 2025/03/27 | 2.2.6 | 余乔伟 | 增加芯片R1126B介绍 |
| 2025/04/30 | 2.2.7 | 余乔伟 | 更正RK3506、RV1103B描述中对实高的过度约束 |
| 2025/06/10 | 2.2.8 | 余乔伟 | - 增加芯片RK1820介绍
- 移除芯片代号 |
---
**目 录**
[TOC]
---
## 概述
RGA (Raster Graphic Acceleration Unit)是一个独立的2D硬件加速器,可用于加速点/线绘制,执行图像缩放、旋转、bitBlt、alpha混合等常见的2D图形操作。
### 设计指标
| Version | Chip | Source | Destination | Function | Pixels/Cycle | ||
| min | max | min | max | ||||
| RGA1 | RK3066 | 2x2 | 8192x8192 | 2x2 | 2048x2048 | 90/180/270 Rotate X/Y Mirror Crop 1/2~8 scale Alpha blend Color key Color fill ROP IOMMU(32bit) |
1 |
| RK3188 | |||||||
| RK2926/2928 | |||||||
| RK3026/3028 | |||||||
| RGA1_plus | RK3128 | 2x2 | 8192x8192 | 2x2 | 2048x2048 | 90/180/270 Rotate X/Y Mirror Crop 1/2~8 scale Alpha blend Color key Color fill Color palette IOMMU(32bit) |
1 |
| Sofia 3gr | |||||||
| RGA2 | RK3288/3288w | 2x2 | 8192x8192 | 2x2 | 4096x4096 | 90/180/270 Rotate X/Y Mirror Crop 1/16~16 scale scale-up(bi-linear/bi-cubic) scale-down(average) Alpha blend Color key Color fill Color palette ROP IOMMU(32bit) |
2 |
| RK3190 | |||||||
| RGA2-Lite0 | RK3368 | 2x2 | 8192x8192 | 2x2 | 4096x4096 | 90/180/270 Rotate X/Y Mirror Crop 1/8~8 scale scale-up(bi-linear/bi-cubic) scale-down(average) Alpha blend Color key Color fill Color palette ROP IOMMU(32bit) |
2 |
| RK3366 | |||||||
| RGA2-Lite1 | RK3228 | 2x2 | 8192x8192 | 2x2 | 4096x4096 | 90/180/270 Rotate X/Y Mirror Crop 1/8~8 scale scale-up(bi-linear/bi-cubic) scale-down(average) Alpha blend Color key Color fill Color palette IOMMU(32bit) |
2 |
| RK3228H | |||||||
| RK3326 | |||||||
| RK1808 | |||||||
| RGA2-Lite2 | RK3506 | 2x2 | 1280x8192 | 2x2 | 1280x4096 | 90/180/270 Rotate X/Y Mirror Crop 1/16~16 scale scale-up(bi-linear/bi-cubic) scale-down(average) Alpha blend Color key Color fill Color palette Guassion blur alpha-8bit |
2 |
| RGA2-Lite3 | RK1103B | 2x2 | 2880x8192 | 2x2 | 2880x8192 | 90/180/270 Rotate X/Y Mirror Crop 1/16~16 scale scale-up(bi-linear) scale-down(bi-linear/average) Color fill |
2 |
| RGA2-Enhance | RK3399 | 2x2 | 8192x8192 | 2x2 | 4096x4096 | 90/180/270 Rotate X/Y Mirror Crop 1/16~16 scale scale-up(bi-linear/bi-cubic) scale-down(average) Alpha blend Color key Color fill Color palette ROP(NA for RV1108/RV1109/RK3566) NN quantize(NA for RK3399/RV1108) osd (only RV1106/RV1103/RK3562/RK3528) mosaic(only RV1106/RV1103/RK3562/RK3528) IOMMU(32bit, RK3528/RK3562为40bit,NA for RV1106/1103) |
2 |
| RK1108 | |||||||
| RV1126/RV1109 | |||||||
| RK3566/RK3568 | |||||||
| RK3588 | |||||||
| RV1106/1103 | |||||||
| RK3528 | |||||||
| RK3562 | |||||||
| RGA2-Pro | RK3576 | 2x2 | 8192x8192 | 2x2 | 8192x8192 | 90/180/270 Rotate X/Y Mirror Crop 1/16~16 scale scale-up(bi-linear/bi-cubic) scale-down(bi-linear/average) Alpha blend Color key Color fill Color palette ROP osd mosaic(only RK3576) ARGB5551 alpha bit map rkfbc64x4 input(only RK3576) afbc32x8 input(split mode, only RK3576) tile4x4(RV1126B only input) IOMMU(40bit) |
2 |
| RV1126B | |||||||
| RK1820 | |||||||
| RGA3 | RK3588 | 68x2 | 8176x8176 | 68x2 | 8128x8128 | 90/180/270 Rotate X/Y Mirror Crop 1/8~8 scale scale-up(bi-cubic) scale-down(average) Alpha blend Color key afbc16x16 IOMMU(40bit) |
3 (by pass) 2 (scale) |
| Version | Chip | Input Data Format | Output Data Format |
| RGA1 | RK3066 | RK_FORMAT_RGBA_8888 RK_FORMAT_BGRA_8888 RK_FORMAT_ARGB_8888 RK_FORMAT_ABGR_8888 RK_FORMAT_RGBX_8888 RK_FORMAT_BGRX_8888 RK_FORMAT_XRGB_8888 RK_FORMAT_XBGR_8888 RK_FORMAT_ARGB_4444 RK_FORMAT_ABGR_4444 RK_FORMAT_ARGB_5551 RK_FORMAT_ABGR_5551 RK_FORMAT_RGB_888 RK_FORMAT_BGR_888 RK_FORMAT_RGB_565 RK_FORMAT_BGR_565 RK_FORMAT_YCbCr_420_SP RK_FORMAT_YCrCb_420_SP RK_FORMAT_YCbCr_422_SP RK_FORMAT_YCrCb_422_SP RK_FORMAT_YCbCr_420_P RK_FORMAT_YCrCb_420_P RK_FORMAT_YCbCr_422_P RK_FORMAT_YCrCb_422_P RK_FORMAT_BPP1 RK_FORMAT_BPP2 RK_FORMAT_BPP4 RK_FORMAT_BPP8 |
RK_FORMAT_RGBA_8888 RK_FORMAT_BGRA_8888 RK_FORMAT_ARGB_8888 RK_FORMAT_ABGR_8888 RK_FORMAT_RGBX_8888 RK_FORMAT_BGRX_8888 RK_FORMAT_XRGB_8888 RK_FORMAT_XBGR_8888 RK_FORMAT_ARGB_4444 RK_FORMAT_ABGR_4444 RK_FORMAT_ARGB_5551 RK_FORMAT_ABGR_5551 RK_FORMAT_RGB_888 RK_FORMAT_BGR_888 RK_FORMAT_RGB_565 RK_FORMAT_BGR_565 RK_FORMAT_YCbCr_420_SP (only for Blur/sharpness) RK_FORMAT_YCrCb_420_SP (only for Blur/sharpness) RK_FORMAT_YCbCr_422_SP (only for Blur/sharpness) RK_FORMAT_YCrCb_422_SP (only for Blur/sharpness) RK_FORMAT_YCbCr_420_P (only for Blur/sharpness) RK_FORMAT_YCrCb_420_P (only for Blur/sharpness) RK_FORMAT_YCbCr_422_P (only for Blur/sharpness) RK_FORMAT_YCrCb_422_P (only for Blur/sharpness) |
| RK3188 | |||
| RK2926/2928 | |||
| RK3026/3028 | |||
| RGA1_plus | RK3128 | RK_FORMAT_RGBA_8888 RK_FORMAT_BGRA_8888 RK_FORMAT_ARGB_8888 RK_FORMAT_ABGR_8888 RK_FORMAT_RGBX_8888 RK_FORMAT_BGRX_8888 RK_FORMAT_XRGB_8888 RK_FORMAT_XBGR_8888 RK_FORMAT_ARGB_4444 RK_FORMAT_ABGR_4444 RK_FORMAT_ARGB_5551 RK_FORMAT_ABGR_5551 RK_FORMAT_RGB_888 RK_FORMAT_BGR_888 RK_FORMAT_RGB_565 RK_FORMAT_BGR_565 RK_FORMAT_YCbCr_420_SP RK_FORMAT_YCrCb_420_SP RK_FORMAT_YCbCr_422_SP RK_FORMAT_YCrCb_422_SP RK_FORMAT_YCbCr_420_P RK_FORMAT_YCrCb_420_P RK_FORMAT_YCbCr_422_P RK_FORMAT_YCrCb_422_P RK_FORMAT_BPP1 RK_FORMAT_BPP2 RK_FORMAT_BPP4 RK_FORMAT_BPP8 |
RK_FORMAT_RGBA_8888 RK_FORMAT_BGRA_8888 RK_FORMAT_ARGB_8888 RK_FORMAT_ABGR_8888 RK_FORMAT_RGBX_8888 RK_FORMAT_BGRX_8888 RK_FORMAT_XRGB_8888 RK_FORMAT_XBGR_8888 RK_FORMAT_ARGB_4444 RK_FORMAT_ABGR_4444 RK_FORMAT_ARGB_5551 RK_FORMAT_ABGR_5551 RK_FORMAT_RGB_888 RK_FORMAT_BGR_888 RK_FORMAT_RGB_565 RK_FORMAT_BGR_565 RK_FORMAT_YCbCr_420_SP (only for normal Bitblt without alpha) RK_FORMAT_YCrCb_420_SP (only for normal Bitblt without alpha) RK_FORMAT_YCbCr_422_SP (only for normal Bitblt without alpha) RK_FORMAT_YCrCb_422_SP (only for normal Bitblt without alpha) RK_FORMAT_YCbCr_420_P (only for normal Bitblt without alpha) RK_FORMAT_YCrCb_420_P (only for normal Bitblt without alpha) RK_FORMAT_YCbCr_422_P (only for normal Bitblt without alpha) RK_FORMAT_YCrCb_422_P (only for normal Bitblt without alpha) |
| Sofia 3gr | |||
| RGA2 | RK3288/3288w | RK_FORMAT_RGBA_8888 RK_FORMAT_BGRA_8888 RK_FORMAT_ARGB_8888 RK_FORMAT_ABGR_8888 RK_FORMAT_RGBX_8888 RK_FORMAT_BGRX_8888 RK_FORMAT_XRGB_8888 RK_FORMAT_XBGR_8888 RK_FORMAT_ARGB_4444 RK_FORMAT_ABGR_4444 RK_FORMAT_ARGB_5551 RK_FORMAT_ABGR_5551 RK_FORMAT_RGB_888 RK_FORMAT_BGR_888 RK_FORMAT_RGB_565 RK_FORMAT_BGR_565 RK_FORMAT_YCbCr_420_SP RK_FORMAT_YCrCb_420_SP RK_FORMAT_YCbCr_422_SP RK_FORMAT_YCrCb_422_SP RK_FORMAT_YCbCr_420_P RK_FORMAT_YCrCb_420_P RK_FORMAT_YCbCr_422_P RK_FORMAT_YCrCb_422_P RK_FORMAT_BPP1 (only for color palette) RK_FORMAT_BPP2 (only for color palette) RK_FORMAT_BPP4 (only for color palette) RK_FORMAT_BPP8 (only for color palette) |
RK_FORMAT_RGBA_8888 RK_FORMAT_BGRA_8888 RK_FORMAT_ARGB_8888 RK_FORMAT_ABGR_8888 RK_FORMAT_RGBX_8888 RK_FORMAT_BGRX_8888 RK_FORMAT_XRGB_8888 RK_FORMAT_XBGR_8888 RK_FORMAT_ARGB_4444 RK_FORMAT_ABGR_4444 RK_FORMAT_ARGB_5551 RK_FORMAT_ABGR_5551 RK_FORMAT_RGB_888 RK_FORMAT_BGR_888 RK_FORMAT_RGB_565 RK_FORMAT_BGR_565 RK_FORMAT_YCbCr_420_SP RK_FORMAT_YCrCb_420_SP RK_FORMAT_YCbCr_422_SP RK_FORMAT_YCrCb_422_SP RK_FORMAT_YCbCr_420_P RK_FORMAT_YCrCb_420_P RK_FORMAT_YCbCr_422_P RK_FORMAT_YCrCb_422_P |
| RK3190 | |||
| RGA2-Lite0 | RK3368 | RK_FORMAT_RGBA_8888 RK_FORMAT_BGRA_8888 RK_FORMAT_ARGB_8888 RK_FORMAT_ABGR_8888 RK_FORMAT_RGBX_8888 RK_FORMAT_BGRX_8888 RK_FORMAT_XRGB_8888 RK_FORMAT_XBGR_8888 RK_FORMAT_ARGB_4444 RK_FORMAT_ABGR_4444 RK_FORMAT_ARGB_5551 RK_FORMAT_ABGR_5551 RK_FORMAT_RGB_888 RK_FORMAT_BGR_888 RK_FORMAT_RGB_565 RK_FORMAT_BGR_565 RK_FORMAT_YCbCr_420_SP RK_FORMAT_YCrCb_420_SP RK_FORMAT_YCbCr_422_SP RK_FORMAT_YCrCb_422_SP RK_FORMAT_YCbCr_420_P RK_FORMAT_YCrCb_420_P RK_FORMAT_YCbCr_422_P RK_FORMAT_YCrCb_422_P RK_FORMAT_BPP1 (only for color palette) RK_FORMAT_BPP2 (only for color palette) RK_FORMAT_BPP4 (only for color palette) RK_FORMAT_BPP8 (only for color palette) |
RK_FORMAT_RGBA_8888 RK_FORMAT_BGRA_8888 RK_FORMAT_ARGB_8888 RK_FORMAT_ABGR_8888 RK_FORMAT_RGBX_8888 RK_FORMAT_BGRX_8888 RK_FORMAT_XRGB_8888 RK_FORMAT_XBGR_8888 RK_FORMAT_ARGB_4444 RK_FORMAT_ABGR_4444 RK_FORMAT_ARGB_5551 RK_FORMAT_ABGR_5551 RK_FORMAT_RGB_888 RK_FORMAT_BGR_888 RK_FORMAT_RGB_565 RK_FORMAT_BGR_565 RK_FORMAT_YCbCr_420_SP RK_FORMAT_YCrCb_420_SP RK_FORMAT_YCbCr_422_SP RK_FORMAT_YCrCb_422_SP RK_FORMAT_YCbCr_420_P RK_FORMAT_YCrCb_420_P RK_FORMAT_YCbCr_422_P RK_FORMAT_YCrCb_422_P |
| RK3366 | |||
| RGA2-Lite1 | RK3228 | RK_FORMAT_RGBA_8888 RK_FORMAT_BGRA_8888 RK_FORMAT_ARGB_8888 RK_FORMAT_ABGR_8888 RK_FORMAT_RGBX_8888 RK_FORMAT_BGRX_8888 RK_FORMAT_XRGB_8888 RK_FORMAT_XBGR_8888 RK_FORMAT_RGBA_4444 RK_FORMAT_ARGB_5551 RK_FORMAT_ABGR_5551 RK_FORMAT_RGB_888 RK_FORMAT_BGR_888 RK_FORMAT_RGB_565 RK_FORMAT_BGR_565 RK_FORMAT_YCbCr_420_SP RK_FORMAT_YCrCb_420_SP RK_FORMAT_YCbCr_422_SP RK_FORMAT_YCrCb_422_SP RK_FORMAT_YCbCr_420_P RK_FORMAT_YCrCb_420_P RK_FORMAT_YCbCr_422_P RK_FORMAT_YCrCb_422_P RK_FORMAT_YCbCr_420_SP_10B RK_FORMAT_YCrCb_420_SP_10B RK_FORMAT_YCbCr_422_SP_10B RK_FORMAT_YCrCb_422_SP_10B RK_FORMAT_BPP1 (only for color palette) RK_FORMAT_BPP2 (only for color palette) RK_FORMAT_BPP4 (only for color palette) RK_FORMAT_BPP8 (only for color palette) |
RK_FORMAT_RGBA_8888 RK_FORMAT_BGRA_8888 RK_FORMAT_ARGB_8888 RK_FORMAT_ABGR_8888 RK_FORMAT_RGBX_8888 RK_FORMAT_BGRX_8888 RK_FORMAT_XRGB_8888 RK_FORMAT_XBGR_8888 RK_FORMAT_ARGB_4444 RK_FORMAT_ABGR_4444 RK_FORMAT_ARGB_5551 RK_FORMAT_ABGR_5551 RK_FORMAT_RGB_888 RK_FORMAT_BGR_888 RK_FORMAT_RGB_565 RK_FORMAT_BGR_565 RK_FORMAT_YCbCr_420_SP RK_FORMAT_YCrCb_420_SP RK_FORMAT_YCbCr_422_SP RK_FORMAT_YCrCb_422_SP RK_FORMAT_YCbCr_420_P RK_FORMAT_YCrCb_420_P RK_FORMAT_YCbCr_422_P RK_FORMAT_YCrCb_422_P |
| RK3228H | |||
| RK3326 | |||
| RK1808 | |||
| RGA2-Lite2 | RK3506 | RK_FORMAT_RGBA_8888 RK_FORMAT_BGRA_8888 RK_FORMAT_ARGB_8888 RK_FORMAT_ABGR_8888 RK_FORMAT_RGBX_8888 RK_FORMAT_BGRX_8888 RK_FORMAT_XRGB_8888 RK_FORMAT_XBGR_8888 RK_FORMAT_ARGB_4444 RK_FORMAT_ABGR_4444 RK_FORMAT_ARGB_5551 RK_FORMAT_ABGR_5551 RK_FORMAT_RGB_888 RK_FORMAT_BGR_888 RK_FORMAT_RGB_565 RK_FORMAT_BGR_565 RK_FORMAT_YCbCr_420_SP RK_FORMAT_YCrCb_420_SP RK_FORMAT_YCbCr_422_SP RK_FORMAT_YCrCb_422_SP RK_FORMAT_YCbCr_420_P RK_FORMAT_YCrCb_420_P RK_FORMAT_YCbCr_422_P RK_FORMAT_YCrCb_422_P RK_FORMAT_YUYV_422 RK_FORMAT_YVYU_422 RK_FORMAT_UYVY_422 RK_FORMAT_VYUY_422 RK_FORMAT_YCbCr_400 RK_FORMAT_YCbCr_420_SP_10B RK_FORMAT_YCrCb_420_SP_10B RK_FORMAT_YCbCr_422_SP_10B RK_FORMAT_YCrCb_422_SP_10B RK_FORMAT_A8 RK_FORMAT_BPP1 (only for color palette) RK_FORMAT_BPP2 (only for color palette) RK_FORMAT_BPP4 (only for color palette) RK_FORMAT_BPP8 (only for color palette) |
RK_FORMAT_RGBA_8888 RK_FORMAT_BGRA_8888 RK_FORMAT_ARGB_8888 RK_FORMAT_ABGR_8888 RK_FORMAT_RGBX_8888 RK_FORMAT_BGRX_8888 RK_FORMAT_XRGB_8888 RK_FORMAT_XBGR_8888 RK_FORMAT_ARGB_4444 RK_FORMAT_ABGR_4444 RK_FORMAT_ARGB_5551 RK_FORMAT_ABGR_5551 RK_FORMAT_RGB_888 RK_FORMAT_BGR_888 RK_FORMAT_RGB_565 RK_FORMAT_BGR_565 RK_FORMAT_YCbCr_420_SP RK_FORMAT_YCrCb_420_SP RK_FORMAT_YCbCr_422_SP RK_FORMAT_YCrCb_422_SP RK_FORMAT_YCbCr_420_P RK_FORMAT_YCrCb_420_P RK_FORMAT_YCbCr_422_P RK_FORMAT_YCrCb_422_P RK_FORMAT_YUYV_422 RK_FORMAT_YVYU_422 RK_FORMAT_UYVY_422 RK_FORMAT_VYUY_422 RK_FORMAT_YCbCr_400 RK_FORMAT_Y4 |
| RGA2-Lite2 | RV1103B | RK_FORMAT_RGBX_8888 RK_FORMAT_BGRX_8888 RK_FORMAT_XRGB_8888 RK_FORMAT_XBGR_8888 RK_FORMAT_RGB_888 RK_FORMAT_BGR_888 RK_FORMAT_RGB_565 RK_FORMAT_BGR_565 RK_FORMAT_YCbCr_420_SP RK_FORMAT_YCrCb_420_SP RK_FORMAT_YCbCr_422_SP RK_FORMAT_YCrCb_422_SP RK_FORMAT_YCbCr_420_P RK_FORMAT_YCrCb_420_P RK_FORMAT_YCbCr_422_P RK_FORMAT_YCrCb_422_P RK_FORMAT_YUYV_422 RK_FORMAT_YVYU_422 RK_FORMAT_UYVY_422 RK_FORMAT_VYUY_422 RK_FORMAT_YCbCr_400 |
RK_FORMAT_RGBX_8888 RK_FORMAT_BGRX_8888 RK_FORMAT_XRGB_8888 RK_FORMAT_XBGR_8888 RK_FORMAT_RGB_888 RK_FORMAT_BGR_888 RK_FORMAT_RGB_565 RK_FORMAT_BGR_565 RK_FORMAT_YCbCr_420_SP RK_FORMAT_YCrCb_420_SP RK_FORMAT_YCbCr_422_SP RK_FORMAT_YCrCb_422_SP RK_FORMAT_YCbCr_420_P RK_FORMAT_YCrCb_420_P RK_FORMAT_YCbCr_422_P RK_FORMAT_YCrCb_422_P RK_FORMAT_YUYV_422 RK_FORMAT_YVYU_422 RK_FORMAT_UYVY_422 RK_FORMAT_VYUY_422 RK_FORMAT_YCbCr_400 |
| RGA2-Enhance | RK3399 | RK_FORMAT_RGBA_8888 RK_FORMAT_BGRA_8888 RK_FORMAT_ARGB_8888 RK_FORMAT_ABGR_8888 RK_FORMAT_RGBX_8888 RK_FORMAT_BGRX_8888 RK_FORMAT_XRGB_8888 RK_FORMAT_XBGR_8888 RK_FORMAT_ARGB_4444 RK_FORMAT_ABGR_4444 RK_FORMAT_ARGB_5551 RK_FORMAT_ABGR_5551 RK_FORMAT_RGB_888 RK_FORMAT_BGR_888 RK_FORMAT_RGB_565 RK_FORMAT_BGR_565 RK_FORMAT_YCbCr_420_SP RK_FORMAT_YCrCb_420_SP RK_FORMAT_YCbCr_422_SP RK_FORMAT_YCrCb_422_SP RK_FORMAT_YCbCr_420_P RK_FORMAT_YCrCb_420_P RK_FORMAT_YCbCr_422_P RK_FORMAT_YCrCb_422_P RK_FORMAT_YCbCr_420_SP_10B RK_FORMAT_YCrCb_420_SP_10B RK_FORMAT_YCbCr_422_SP_10B RK_FORMAT_YCrCb_422_SP_10B RK_FORMAT_BPP1 (only for color palette) RK_FORMAT_BPP2 (only for color palette) RK_FORMAT_BPP4 (only for color palette) RK_FORMAT_BPP8 (only for color palette) |
RK_FORMAT_RGBA_8888 RK_FORMAT_BGRA_8888 RK_FORMAT_ARGB_8888 RK_FORMAT_ABGR_8888 RK_FORMAT_RGBX_8888 RK_FORMAT_BGRX_8888 RK_FORMAT_XRGB_8888 RK_FORMAT_XBGR_8888 RK_FORMAT_ARGB_4444 RK_FORMAT_ABGR_4444 RK_FORMAT_ARGB_5551 RK_FORMAT_ABGR_5551 RK_FORMAT_RGB_888 RK_FORMAT_BGR_888 RK_FORMAT_RGB_565 RK_FORMAT_BGR_565 RK_FORMAT_YCbCr_420_SP RK_FORMAT_YCrCb_420_SP RK_FORMAT_YCbCr_422_SP RK_FORMAT_YCrCb_422_SP RK_FORMAT_YCbCr_420_P RK_FORMAT_YCrCb_420_P RK_FORMAT_YCbCr_422_P RK_FORMAT_YCrCb_422_P RK_FORMAT_YUYV_422 RK_FORMAT_YVYU_422 RK_FORMAT_UYVY_422 RK_FORMAT_VYUY_422 |
| RK1108 | |||
| RV1126/ RV1109 | RK_FORMAT_RGBA_8888 RK_FORMAT_BGRA_8888 RK_FORMAT_ARGB_8888 RK_FORMAT_ABGR_8888 RK_FORMAT_RGBX_8888 RK_FORMAT_BGRX_8888 RK_FORMAT_XRGB_8888 RK_FORMAT_XBGR_8888 RK_FORMAT_ARGB_4444 RK_FORMAT_ABGR_4444 RK_FORMAT_ARGB_5551 RK_FORMAT_ABGR_5551 RK_FORMAT_RGB_888 RK_FORMAT_BGR_888 RK_FORMAT_RGB_565 RK_FORMAT_BGR_565 RK_FORMAT_YCbCr_420_SP RK_FORMAT_YCrCb_420_SP RK_FORMAT_YCbCr_422_SP RK_FORMAT_YCrCb_422_SP RK_FORMAT_YCbCr_420_P RK_FORMAT_YCrCb_420_P RK_FORMAT_YCbCr_422_P RK_FORMAT_YCrCb_422_P RK_FORMAT_YUYV_422 RK_FORMAT_YVYU_422 RK_FORMAT_UYVY_422 RK_FORMAT_VYUY_422 RK_FORMAT_YCbCr_400 RK_FORMAT_YCbCr_420_SP_10B RK_FORMAT_YCrCb_420_SP_10B RK_FORMAT_YCbCr_422_SP_10B RK_FORMAT_YCrCb_422_SP_10B RK_FORMAT_BPP1 (only for color palette) RK_FORMAT_BPP2 (only for color palette) RK_FORMAT_BPP4 (only for color palette) RK_FORMAT_BPP8 (only for color palette) |
RK_FORMAT_RGBA_8888 RK_FORMAT_BGRA_8888 RK_FORMAT_ARGB_8888 RK_FORMAT_ABGR_8888 RK_FORMAT_RGBX_8888 RK_FORMAT_BGRX_8888 RK_FORMAT_XRGB_8888 RK_FORMAT_XBGR_8888 RK_FORMAT_ARGB_4444 RK_FORMAT_ABGR_4444 RK_FORMAT_ARGB_5551 RK_FORMAT_ABGR_5551 RK_FORMAT_RGB_888 RK_FORMAT_BGR_888 RK_FORMAT_RGB_565 RK_FORMAT_BGR_565 RK_FORMAT_YCbCr_420_SP RK_FORMAT_YCrCb_420_SP RK_FORMAT_YCbCr_422_SP RK_FORMAT_YCrCb_422_SP RK_FORMAT_YCbCr_420_P RK_FORMAT_YCrCb_420_P RK_FORMAT_YCbCr_422_P RK_FORMAT_YCrCb_422_P RK_FORMAT_YUYV_422 RK_FORMAT_YVYU_422 RK_FORMAT_UYVY_422 RK_FORMAT_VYUY_422 RK_FORMAT_YCbCr_400 RK_FORMAT_Y4 |
|
| RK3566/RK3568 | |||
| RK3588 | |||
| RV1106/1103 | |||
| RK3528 | |||
| RK3562 | |||
| RGA2-Pro | RK3576 | RK_FORMAT_RGBA_8888 RK_FORMAT_BGRA_8888 RK_FORMAT_ARGB_8888 RK_FORMAT_ABGR_8888 RK_FORMAT_RGBX_8888 RK_FORMAT_BGRX_8888 RK_FORMAT_XRGB_8888 RK_FORMAT_XBGR_8888 RK_FORMAT_ARGB_4444 RK_FORMAT_ABGR_4444 RK_FORMAT_ARGB_5551 RK_FORMAT_ABGR_5551 RK_FORMAT_RGB_888 RK_FORMAT_BGR_888 RK_FORMAT_RGB_565 RK_FORMAT_BGR_565 RK_FORMAT_YCbCr_420_SP RK_FORMAT_YCrCb_420_SP RK_FORMAT_YCbCr_422_SP RK_FORMAT_YCrCb_422_SP RK_FORMAT_YCbCr_444_SP RK_FORMAT_YCrCb_444_SP RK_FORMAT_YCbCr_420_P RK_FORMAT_YCrCb_420_P RK_FORMAT_YCbCr_422_P RK_FORMAT_YCrCb_422_P RK_FORMAT_YUYV_422 RK_FORMAT_YVYU_422 RK_FORMAT_UYVY_422 RK_FORMAT_VYUY_422 RK_FORMAT_YCbCr_400 RK_FORMAT_YCbCr_420_SP_10B RK_FORMAT_YCrCb_420_SP_10B RK_FORMAT_YCbCr_422_SP_10B RK_FORMAT_YCrCb_422_SP_10B RK_FORMA_A8 (only src for alpha blend) RK_FORMAT_BPP1 (only for color palette) RK_FORMAT_BPP2 (only for color palette) RK_FORMAT_BPP4 (only for color palette) RK_FORMAT_BPP8 (only for color palette) |
RK_FORMAT_RGBA_8888 RK_FORMAT_BGRA_8888 RK_FORMAT_ARGB_8888 RK_FORMAT_ABGR_8888 RK_FORMAT_RGBX_8888 RK_FORMAT_BGRX_8888 RK_FORMAT_XRGB_8888 RK_FORMAT_XBGR_8888 RK_FORMAT_ARGB_4444 RK_FORMAT_ABGR_4444 RK_FORMAT_ARGB_5551 RK_FORMAT_ABGR_5551 RK_FORMAT_RGB_888 RK_FORMAT_BGR_888 RK_FORMAT_RGB_565 RK_FORMAT_BGR_565 RK_FORMAT_YCbCr_420_SP RK_FORMAT_YCrCb_420_SP RK_FORMAT_YCbCr_422_SP RK_FORMAT_YCrCb_422_SP RK_FORMAT_YCbCr_444_SP RK_FORMAT_YCrCb_444_SP RK_FORMAT_YCbCr_420_P RK_FORMAT_YCrCb_420_P RK_FORMAT_YCbCr_422_P RK_FORMAT_YCrCb_422_P RK_FORMAT_YUYV_422 RK_FORMAT_YVYU_422 RK_FORMAT_UYVY_422 RK_FORMAT_VYUY_422 RK_FORMAT_YCbCr_400 RK_FORMAT_Y4 (only RK3576) RK_FORMAT_Y8 (only RK3576) |
| RV1126B | |||
| RK1820 | |||
| RGA3 | RK3588 |
RK_FORMAT_RGBA_8888 RK_FORMAT_BGRA_8888 RK_FORMAT_ARGB_8888 RK_FORMAT_ABGR_8888 RK_FORMAT_RGBX_8888 RK_FORMAT_BGRX_8888 RK_FORMAT_XRGB_8888 RK_FORMAT_XBGR_8888 RK_FORMAT_RGB_888 RK_FORMAT_BGR_888 RK_FORMAT_RGB_565 RK_FORMAT_BGR_565 RK_FORMAT_YCbCr_420_SP RK_FORMAT_YCrCb_420_SP RK_FORMAT_YCbCr_422_SP RK_FORMAT_YCrCb_422_SP RK_FORMAT_YUYV_422 RK_FORMAT_YVYU_422 RK_FORMAT_UYVY_422 RK_FORMAT_VYUY_422 RK_FORMAT_YCbCr_420_SP_10B RK_FORMAT_YCrCb_420_SP_10B RK_FORMAT_YCbCr_422_SP_10B RK_FORMAT_YCrCb_422_SP_10B |
RK_FORMAT_RGBA_8888 RK_FORMAT_BGRA_8888 RK_FORMAT_RGBX_8888 RK_FORMAT_BGRX_8888 RK_FORMAT_RGB_888 RK_FORMAT_BGR_888 RK_FORMAT_RGB_565 RK_FORMAT_BGR_565 RK_FORMAT_YCbCr_420_SP RK_FORMAT_YCrCb_420_SP RK_FORMAT_YCbCr_422_SP RK_FORMAT_YCrCb_422_SP RK_FORMAT_YUYV_422 RK_FORMAT_YVYU_422 RK_FORMAT_UYVY_422 RK_FORMAT_VYUY_422 RK_FORMAT_YCbCr_420_SP_10B RK_FORMAT_YCrCb_420_SP_10B RK_FORMAT_YCbCr_422_SP_10B RK_FORMAT_YCrCb_422_SP_10B |
| Version | Byte_stride | Format | Alignment |
| RGA1 RGA1-Plus |
4 |
RK_FORMAT_RGBA_8888 RK_FORMAT_BGRA_8888 RK_FORMAT_ARGB_8888 RK_FORMAT_ABGR_8888 RK_FORMAT_RGBX_8888 RK_FORMAT_BGRX_8888 RK_FORMAT_XRGB_8888 RK_FORMAT_XBGR_8888 |
width stride无对齐要求 |
|
RK_FORMAT_RGBA_4444 RK_FORMAT_BGRA_4444 RK_FORMAT_ARGB_4444 RK_FORMAT_ABGR_4444 RK_FORMAT_RGBA_5551 RK_FORMAT_BGRA_5551 RK_FORMAT_ARGB_5551 RK_FORMAT_ABGR_5551 RK_FORMAT_RGB_565 RK_FORMAT_BGR_565 |
width stride须2对齐 | ||
|
RK_FORMAT_RGB_888 RK_FORMAT_BGR_888 |
width stride须4对齐 | ||
|
RK_FORMAT_YCbCr_420_SP RK_FORMAT_YCrCb_420_SP RK_FORMAT_YCbCr_422_SP RK_FORMAT_YCrCb_422_SP RK_FORMAT_YCbCr_420_P RK_FORMAT_YCrCb_420_P RK_FORMAT_YCbCr_422_P RK_FORMAT_YCrCb_422_P |
width stride须4对齐,x_offset、y_offset、width、height、height stride均须2对齐 | ||
| RGA2 RGA2-Lite0 RGA2-Lite1 RGA2-Lite2 RGA2-Lite3 RGA2-Enhance RGA2-Pro |
4 |
RK_FORMAT_RGBA_8888 RK_FORMAT_BGRA_8888 RK_FORMAT_ARGB_8888 RK_FORMAT_ABGR_8888 RK_FORMAT_RGBX_8888 RK_FORMAT_BGRX_8888 RK_FORMAT_XRGB_8888 RK_FORMAT_XBGR_8888 |
width stride无对齐要求 |
|
RK_FORMAT_RGBA_4444 RK_FORMAT_BGRA_4444 RK_FORMAT_ARGB_4444 RK_FORMAT_ABGR_4444 RK_FORMAT_RGBA_5551 RK_FORMAT_BGRA_5551 RK_FORMAT_ARGB_5551 RK_FORMAT_ABGR_5551 RK_FORMAT_RGB_565 RK_FORMAT_BGR_565 |
width stride须2对齐 | ||
|
RK_FORMAT_YUYV_422 RK_FORMAT_YVYU_422 RK_FORMAT_UYVY_422 RK_FORMAT_VYUY_422 RK_FORMAT_YUYV_420 RK_FORMAT_YVYU_420 RK_FORMAT_UYVY_420 RK_FORMAT_VYUY_420 |
width stride须2对齐,x_offset、y_offset、width、height、height stride均须2对齐 | ||
|
RK_FORMAT_RGB_888 RK_FORMAT_BGR_888 RK_FORMAT_A8 |
width stride须4对齐 | ||
|
RK_FORMAT_YCbCr_420_SP RK_FORMAT_YCrCb_420_SP RK_FORMAT_YCbCr_422_SP RK_FORMAT_YCrCb_422_SP RK_FORMAT_YCbCr_444_SP RK_FORMAT_YCrCb_444_SP RK_FORMAT_YCbCr_420_P RK_FORMAT_YCrCb_420_P RK_FORMAT_YCbCr_422_P RK_FORMAT_YCrCb_422_P RK_FORMAT_YCbCr_400 RK_FORMAT_Y4 RK_FORMAT_Y8 |
width stride须4对齐,x_offset、y_offset、width、height、height stride均须2对齐 | ||
|
RK_FORMAT_YCbCr_420_SP_10B RK_FORMAT_YCrCb_420_SP_10B RK_FORMAT_YCbCr_422_SP_10B RK_FORMAT_YCrCb_422_SP_10B |
width stride须16对齐,x_offset、y_offset均须64对齐,width、height、height stride均须2对齐 | ||
| RGA3 | 16 |
RK_FORMAT_RGBA_8888 RK_FORMAT_BGRA_8888 RK_FORMAT_ARGB_8888 RK_FORMAT_ABGR_8888 RK_FORMAT_RGBX_8888 RK_FORMAT_BGRX_8888 RK_FORMAT_XRGB_8888 RK_FORMAT_XBGR_8888 |
width stride须4对齐 |
|
RK_FORMAT_RGB_565 RK_FORMAT_BGR_565 |
width stride须8对齐 | ||
|
RK_FORMAT_YUYV_422 RK_FORMAT_YVYU_422 RK_FORMAT_UYVY_422 RK_FORMAT_VYUY_422 |
width stride须8对齐,x_offset、y_offset、width、height、height stride均须2对齐 | ||
|
RK_FORMAT_RGB_888 RK_FORMAT_BGR_888 |
width stride须16对齐 | ||
|
RK_FORMAT_YCbCr_420_SP RK_FORMAT_YCrCb_420_SP RK_FORMAT_YCbCr_422_SP RK_FORMAT_YCrCb_422_SP |
width stride须16对齐,x_offset、y_offset、width、height、height stride均须2对齐 | ||
|
RK_FORMAT_YCbCr_420_SP_10B RK_FORMAT_YCrCb_420_SP_10B RK_FORMAT_YCbCr_422_SP_10B RK_FORMAT_YCrCb_422_SP_10B |
width stride须64对齐,x_offset、y_offset须4对齐,width、height、height stride均须2对齐 | ||
| FBC mode | 除上述格式对齐要求外,width stride、height stride须16对齐 | ||
| TILE8*8 mode | 除上述格式对齐要求外,width、height须8对齐,输入通道width stride、height stride须16对齐。 |
| Item | API | 支持语言 | 支持系统 | librga | RGA2驱动 | Multi_RGA驱动 |
|---|---|---|---|---|---|---|
| common API | querystring | C++/C | Android / Linux / QNX / RT-thread | √ | / | / |
| imcheckHeader | C++ | Android / Linux / QNX / RT-thread | ≥1.9.0 | / | / | |
| imcheck | C++/C | Android / Linux / QNX / RT-thread | √ | √ | √ | |
| imStrError | C++/C | Android / Linux / QNX / RT-thread | √ | / | / | |
| imsync | C++/C | Android / Linux | ≥1.6.0 | × | √ | |
| imconfig | C++/C | Android / Linux | ≥1.6.0 | × | √ | |
| buffer API | importbuffer_virtualaddr | C++/C | Android / Linux | ≥1.7.2 | × | √ |
| importbuffer_physicaladdr | C++/C | Android / Linux | ≥1.7.2 | × | √ | |
| importbuffer_fd | C++/C | Android / Linux | ≥1.7.2 | × | √ | |
| releasebuffer_handle | C++/C | Android / Linux | ≥1.7.2 | × | √ | |
| wrapbuffer_handle | C++/C | Android / Linux | ≥1.7.2 | / | / | |
| wrapbuffer_virtualaddr | C++/C | Android / Linux / QNX / RT-thread | √ | / | / | |
| wrapbuffer_physicaladdr | C++/C | Android / Linux / QNX / RT-thread | √ | / | / | |
| wrapbuffer_fd | C++/C | Android / Linux / QNX / RT-thread | √ | / | / | |
| single process API | imcopy | C++/C | Android / Linux / QNX / RT-thread | √ | √ | √ |
| imresize | C++/C | Android / Linux / QNX / RT-thread | √ | √ | √ | |
| impyramind | C++/C | Android / Linux / QNX / RT-thread | √ | √ | √ | |
| imcrop | C++/C | Android / Linux / QNX / RT-thread | √ | √ | √ | |
| imtranslate | C++/C | Android / Linux / QNX / RT-thread | √ | √ | √ | |
| imcvtcolor | C++/C | Android / Linux / QNX / RT-thread | √ | √ | √ | |
| imrotate | C++/C | Android / Linux / QNX / RT-thread | √ | √ | √ | |
| imflip | C++/C | Android / Linux / QNX / RT-thread | √ | √ | √ | |
| imblend | C++/C | Android / Linux / QNX / RT-thread | √ | √ | √ | |
| imcomposite | C++/C | Android / Linux / QNX / RT-thread | √ | √ | √ | |
| imcolorkey | C++/C | Android / Linux / QNX / RT-thread | √ | √ | √ | |
| imosd | C++/C | Android / Linux / QNX / RT-thread | ≥1.8.0 | × | √ | |
| imquantize | C++/C | Android / Linux / QNX / RT-thread | √ | √ | √ | |
| imrop | C++/C | Android / Linux / QNX / RT-thread | √ | √ | √ | |
| imfill | C++/C | Android / Linux / QNX / RT-thread | √ | √ | √ | |
| imfillArray | C++/C | Android / Linux | ≥1.9.0 | × | √ | |
| imrectangle | C++/C | Android / Linux | ≥1.9.0 | × | √ | |
| imrectangleArray | C++/C | Android / Linux | ≥1.9.0 | × | √ | |
| immakeBorder | C++/C | Android / Linux | ≥1.9.0 | × | √ | |
| immosaic | C++/C | Android / Linux / QNX / RT-thread | ≥1.8.0 | × | √ | |
| immosaicArray | C++/C | Android / Linux | ≥1.9.0 | × | √ | |
| improcess | C++/C | Android / Linux / QNX / RT-thread | √ | √ | √ | |
| task process API | imbeginJob | C++ | Android / Linux | ≥1.9.0 | × | ≥1.2.25 |
| imendJob | C++ | Android / Linux | ≥1.9.0 | × | ≥1.2.25 | |
| imcancelJob | C++ | Android / Linux | ≥1.9.0 | × | ≥1.2.25 | |
| imcopyTask | C++ | Android / Linux | ≥1.9.0 | × | ≥1.2.25 | |
| imresizeTask | C++ | Android / Linux | ≥1.9.0 | × | ≥1.2.25 | |
| imcropTask | C++ | Android / Linux | ≥1.9.0 | × | ≥1.2.25 | |
| imtranslateTask | C++ | Android / Linux | ≥1.9.0 | × | ≥1.2.25 | |
| imcvtcolorTask | C++ | Android / Linux | ≥1.9.0 | × | ≥1.2.25 | |
| imrotateTask | C++ | Android / Linux | ≥1.9.0 | × | ≥1.2.25 | |
| imflipTask | C++ | Android / Linux | ≥1.9.0 | × | ≥1.2.25 | |
| imblendTask | C++ | Android / Linux | ≥1.9.0 | × | ≥1.2.25 | |
| imcompositeTask | C++ | Android / Linux | ≥1.9.0 | × | ≥1.2.25 | |
| imcolorkeyTask | C++ | Android / Linux | ≥1.9.0 | × | ≥1.2.25 | |
| imosdTask | C++ | Android / Linux | ≥1.9.0 | × | ≥1.2.25 | |
| imquantizeTask | C++ | Android / Linux | ≥1.9.0 | × | ≥1.2.25 | |
| imropTask | C++ | Android / Linux | ≥1.9.0 | × | ≥1.2.25 | |
| imfillTask | C++ | Android / Linux | ≥1.9.0 | × | ≥1.2.25 | |
| imfillTaskArray | C++ | Android / Linux | ≥1.9.0 | × | ≥1.2.25 | |
| imrectangleTask | C++ | Android / Linux | ≥1.9.0 | × | ≥1.2.25 | |
| imrectangleTaskArray | C++ | Android / Linux | ≥1.9.0 | × | ≥1.2.25 | |
| immosaicTask | C++ | Android / Linux | ≥1.9.0 | × | ≥1.2.25 | |
| immosaicTaskArray | C++ | Android / Linux | ≥1.9.0 | × | ≥1.2.25 | |
| immosaicTask | C++ | Android / Linux | ≥1.9.0 | × | ≥1.2.25 | |
| improcessTask | C++ | Android / Linux | ≥1.9.0 | × | ≥1.2.25 | |
| expand API | importbuffer_GraphicBuffer | C++ | Android | √ | / | / |
| importbuffer_GraphicBuffer_handle | C++ | Android | √ | / | / | |
| importbuffer_AHardwareBuffer | C++ | Android | √ | / | / | |
| wrapbuffer_GraphicBuffer | C++ | Android | √ | / | / | |
| wrapbuffer_handle(GraphicBuffer handle) | C++ | Android | √ | / | / | |
| wrapbuffer_AHardwareBuffer | C++ | Android | √ | / | / |