Skip to main content

RGA是什么?

RGA (Raster Graphic Acceleration Unit)是一个独立的2D硬件加速器,可用于加速点/线绘制,执行图像缩放、旋转、bitBlt、alpha混合等常见的2D图形操作。

它主要用于在不占用 CPU 或 GPU 的情况下,执行常见的图像处理操作,例如:

  • 图像缩放(Scaling)
  • 图像旋转(Rotation)
  • 图像镜像(Mirror/Flip)
  • 图像裁剪(Crop)
  • 图像格式转换(Color Space Conversion,如 RGB ↔ YUV)
  • 图像混合(Blending / Alpha Compositing)
  • 图像填充(Fill / Clear)
  • DMA 图像拷贝(BitBlt)

2. RGA 的作用与价值

在视频、摄像头、显示等场景中,CPU 经常要做各种图像处理操作,比如:

  • 缩放摄像头帧再送入显示层;
  • 将 NV12 视频帧转换为 RGB 格式送入 OpenCV;
  • 将 UI 层与视频层进行 Alpha 混合;
  • 做旋转或镜像(例如前置摄像头翻转)。

如果都用 CPU 实现,性能会非常差。 而使用 RGA,可以:

  • 极大降低 CPU 负载;
  • 提高帧率;
  • 降低功耗;
  • 支持零拷贝 DMA buffer 操作。