首页 > 其他分享 >rockit 学习、开发笔记(二)(RGN)

rockit 学习、开发笔记(二)(RGN)

时间:2024-06-30 23:57:40浏览次数:3  
标签:rockit s32Ret 笔记 MPI 区域 RGN rgn RK

在这里插入图片描述

介绍完了VO模块的用法,接下来就是RGN模块的用法。

对于RGN模块的用例可以参考 platform/external/rockit/ 路径下的相关目录中的rgn demo。

rgn的概述:(rockchip官方文档)
用户一般都需要在视频中叠加 OSD 用于显示一些特定的信息(如:通道号、时间戳等),必要时还会填充色块。这些叠加在视频上的 OSD 和遮挡在视频上的色块统称为区域。REGION 模块,用于统一管理这些区域资源。区域管理可以实现区域的创建,并叠加到视频中或对视频进行遮挡。例如,实际应用中,用户通过创建一个区域,通过RK_MPI_RGN_AttachToChn,将该区域叠加到某个通道(如 VENC 通道)中。在通道进行调度时,则会将 OSD 叠加在视频中。一个区域支持通过设置通道显示属性接口指定到多个通道中(如:多个 VENC 通道),且支持在每个通道的显示属性(如位置、层次、透明度等)都不同。

从上面这段话我们大概知道rgn是用来进行区域管理的,一般用于UI显示。

rgn中有多种区域管理的形式,如OVERLAY,COVER,MOSAIC,LINE等等。

这里我主要用到的是OVERLAY的,所以其他方式可以参考RK官方的文档(platform/external/rockit/mpi/doc)。

前置条件

RK_MPI_VO_CreateGraphicsFrameBuffer

在真正进行rgn模块的实现之前,需要有在对应的图层有FrameBuffer,这里可以参考rgn的demo中是先在TEST_RGN_VoSendFrame函数中调用了 RK_MPI_VO_CreateGraphicsFrameBuffer 函数来创建一个图形层Framebuffer。
在这里插入图片描述

其中最后一个参数是图像的数据地址,用于后续存放图像数据。

RK_MPI_VO_SendFrame

在调用完 RK_MPI_VO_CreateGraphicsFrameBuffer 创建了FrameBuffer后需要调用RK_MPI_VO_SendFrame将其发送到相应图层上,这样该图层才会有原始的画面。

在这里插入图片描述

选定与VO模块一样的图层的通道才有效,否则可能会报错。

总结一下就是在要想使用rgn模块,得首先保证最少有一个图层有画面,要么就是绑定了VI模块到VO模块上,或者有framebuffer被发送到图层上,我对于这里的理解是毕竟rgn模块是区域管理,你得先有一个可以被管理的区域吧,不然怎么管理

标签:rockit,s32Ret,笔记,MPI,区域,RGN,rgn,RK
From: https://blog.csdn.net/weixin_58592012/article/details/140084847

相关文章

  • rockit 学习、开发笔记(一)(VO)
    什么是rockitMPI:(下面是rockchip给出官方解释)Rockchip提供的媒体处理接口(RockchipMediaProcessInterface,简称RKMPI),可支持应用软件快速开发。该平台整合了RK的硬件资源,对应用软件屏蔽了芯片相关的复杂的底层处理,并对应用软件直接提供接口完成相应功能。该平台支持......
  • 《Programming from the Ground Up》阅读笔记:p1-p18
    《ProgrammingfromtheGroundUp》学习第1天,p1-18总结,总计18页。一、技术总结1.fetch-executecyclep9,TheCPUreadsininstructionsfrommemoryoneatatimeandexecutesthem.Thisisknownasthefetch-executecycle。2.general-purposevsspecial-purpose(......
  • 【Effective Python教程】(90个有效方法)笔记——第3章:函数——24:用None和docstring来描
    文章目录第3章:函数第24条用None和docstring来描述默认值会变的参数函数默认值的坑(函数的默认参数值只在定义函数时计算)解决方法:将函数默认参数值设为None,然后再在函数体中判断并初始化函数默认参数值设置为None的其他应用示例“函数默认参数值设置为None”与“函数参数......
  • Django 笔记 - Django Shell
    启动DjangoShell交互式界面,具体命令如下:pythonmanage.pyshell具体实例实例1.直接修改用户密码,无需原密码。在DjangoShell交互式界面下,修改admin用户密码的具体代码如下:fromdjango.contrib.auth.modelsimportUseruser=User.objects.get(username='admin'......
  • 苹果笔记本能玩网页游戏吗 苹果电脑玩steam游戏怎么样 苹果手机可以玩游戏吗 mac电脑
    苹果笔记本有着优雅的机身、强大的性能,每次更新迭代都备受用户青睐。但是,当需要使用苹果笔记本进行游戏时,很多人会有疑问:苹果笔记本能玩网页游戏吗?苹果笔记本适合打游戏吗?本文将讨论这两个话题,帮助你更好地了解苹果笔记本在游戏方面的表现。一、苹果笔记本能玩网页游戏吗苹......
  • SAM 笔记
    SAM笔记有人问我\(\text{endpos}\)是什么?一个串的\(\text{endpos}\)就是它在原串中的所有出现位置右端点集合。后缀自动机每个节点对应的是一些本质不同的字符串,这些串满足属于同一个等价类,即\(\text{endpos}\)相同.这些串有后缀关系.后缀链接连向这些串的一个最小后......
  • 【操作系统期末速成】 EP03 | 学习笔记(基于五道口一只鸭)
    文章目录一、前言......
  • LVGL快速入门笔记
    目录一、基础知识1.基础对象(lv_obj)2.基础对象的大小(size)3.基础对象的位置(position)3.1直接设置方式3.2参照父对象对齐3.3获取位置4.基础对象的盒子模型(border-box)5.基础对象的样式(styles)5.1样式的状态和部分5.1.1对象可以处于以下状态States的组合......
  • linux笔记10--编辑器之神VIM
    文章目录1.简单介绍①为什么叫vim②linux常见的编辑器③注意事项④其它2.操作模式的划分①两种--国际上普通模式(命令操作模式)插入模式②三种--国内普通模式如何进入与退出界面插入模式如何进入与退出界面命令模式如何进入与退出界面常见的命令模式③......
  • PADS进行PCB设计学习笔记
    我们在Cadence里面绘制完原理图时,打开PADSLOGIC软件,导入原理图,然后链接到PCB中,可以实现交互式设计,有利于各个模块的布局。在进行PCB设计之前,需要先进行一些设置。设置板框选中板框在特性里直接设置板框(板框在所有层都有)要在板子上挖洞直接选中特性里面设置板框挖空区。元......