Toybrick

如何通过RGA实现动态淡入淡出效果

MadDog

中级会员

积分
402
发表于 2021-12-26 20:26:46    查看: 1503|回复: 4 | [复制链接]    打印 | 显示全部楼层
我希望通过RGA实现动态的淡入淡出效果,前景是一个带Alpha的RGBA格式图像,背景是NV12/NV21格式的图像,我的思路是通过动态控制前景的globalAlpha,然后和背景叠加,我发现出来的效果不对;
目前我已经实现了带Alpha的RGBA格式前景图像,通过improcess叠加到NV12/NV21格式的背景图像上:
int usage = 0;
usage |= IM_ALPHA_BLEND_DST_OVER;
usage |= IM_ALPHA_BLEND_PRE_MUL;
usage != IM_SYNC;
status = improcess(background_buffer, background_buffer, foreground_buffer, rect_background, rect_background, rect_foreground, usage);       
其中: foreground_buffer是带Alpha的RGBA格式图像, background_buffer是NV12/NV21格式的图像,效果是对的;
但是我 在调用 improcess前加上:
foreground_buffer.global_alpha = alpha;
其中alpha是自己给定的一个Alpha值,发现没有效果,请问是为什么?或者如何通过RGA实现我需要的效果?
谢谢!
回复

使用道具 举报

jefferyzhang

版主

积分
12769
发表于 2021-12-27 09:26:56 | 显示全部楼层
这个目前硬件是不支持的,建议用GPU来实现该功能。
回复

使用道具 举报

MadDog

中级会员

积分
402
 楼主| 发表于 2021-12-27 09:41:22 | 显示全部楼层
jefferyzhang 发表于 2021-12-27 09:26
这个目前硬件是不支持的,建议用GPU来实现该功能。

我现在使用的是RK的3568芯片,请问也不支持globalAlpha吗?
回复

使用道具 举报

MadDog

中级会员

积分
402
 楼主| 发表于 2021-12-27 10:03:19 | 显示全部楼层

这是RGA的文档中的描述

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

jefferyzhang

版主

积分
12769
发表于 2021-12-27 10:54:30 | 显示全部楼层
MadDog 发表于 2021-12-27 10:03
这是RGA的文档中的描述

官方回复:不支持
文档也写了只支持SRC_GLOBALAPHA,
但不是所有rk芯片都能正常工作
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

产品中心 购买渠道 开源社区 Wiki教程 资料下载 关于Toybrick


快速回复 返回顶部 返回列表