PPE

示例列表

本章介绍 PPE 示例的详细信息。RTL87x2G系列芯片为PPE外设提供以下示例。

功能概述

PPE(像素处理引擎)是为图像处理设计的,主要包括两个功能,缩放和混合。缩放功能可用于对源图像进行放大或缩小,并将结果图像传输到指定内存以进行进一步使用。而混合功能可用于将多张源图像混合在一起,并将结果存储到目标内存中。

源图片通过输入层读入PPE,结果图像通过结果层输出。所有输入层和结果层都支持多种像素颜色格式。

特性列表

  • 支持放大/缩小功能。

  • 支持最大4层的图像渲染混合。

  • 支持多种颜色格式。

  • 可配置的输入/输出存储地址。

  • 支持从存储空间的输入或寄存器常量值的输入。

  • 支持颜色键值过滤。

  • 支持透明度遮罩。

系统框图

PPE的系统框图如下图所示:

../../../../../_images/ppe_block_diagram.JPG

PPE系统框图

缩放

PPE支持对输入图片的缩放功能,允许图片根据指定的比例进行放大或缩小。值得注意的是,PPE支持对X轴和Y轴的比例进行单独配置,以便分别调整宽度和高度。

缩放功能可以通过对API PPE_Scale() 的调用实现。例如下图所示:

../../../../../_images/ppe_scale_result.JPG

PPE缩放参考示例

渲染

PPE支持最多4层的图像渲染功能。PPE将它们混合在一起,并通过结果层将结果图像传输到目标内存地址。每个源图像都可以沿X或Y轴在正方向上进行平移。

PPE的渲染功能遵循以下公式:

result=(source×alpha)+destination×(255alpha)255

渲染功能通过调用API PPE_Blend() 实现。下面是渲染示例:

../../../../../_images/ppe_blend_result.JPG

PPE渲染参考示例

颜色键值

颜色键值赋值给每个输入层,并且与源图像的颜色格式相同。PPE将从RD FIFO读取的源像素与键颜色进行比较,如果源像素值(排除透明度通道)与键颜色相同,则将其替换为0。否则,它将保留其原始值。需要注意的是,透明度通道在进行数值比较时不会被考虑在内,但它仍然会在比较完成后被替换。

颜色键值通过在输入图片的描述中设置:ppe_buffer_t::color_key_enppe_buffer_t::color_key_value

颜色格式

PPE支持多种颜色格式。下面的表格列出了支持的颜色格式:

../../../../../_images/ppe_color_format.jpg

支持的颜色格式

透明度遮罩

PPE支持使用透明度遮罩降低输入像素的透明度以待进一步处理。

源像素的透明度通过透明度遮罩进行修改,使用以下转换公式:

result_alpha=source_alpha×alpha_mask255

故障排除

错误处理

PPE对用户指定的存储空间进行直接操作。用户应该确保存储地址是有效的且未被其他应用占用,否则可能会导致内存损坏。

其他错误原因可以在 PPE_ERR 中找到。