区域管理
概述
用户一般都需要在视频中叠加OSD(On-Screen Display)用于显示一些特定的信息(如:通道号、时间戳等),必要时还会填充色块。这些叠加在视频上的OSD和遮挡在视频上的色块统称为区域。REGION模块,用于统一管理这些区域资源。
区域管理可以实现区域的创建,并叠加到视频中或对视频进行遮挡。例如,实际应用中,用户通过创建一个区域,通过ss_mpi_rgn_attach_to_chn,将该区域叠加到某个通道(如VENC通道)中。在通道进行调度时,则会将OSD叠加在视频中。一个区域支持通过设置通道显示属性接口指定到多个通道中(如:多个VENC通道,多个VI通道,甚至多个VENC和VI通道),且支持在每个通道的显示属性(如位置、层次、透明度等)都不同。
功能描述
重要概念
-
区域类型
- OVERLAY:视频叠加区域,其中区域支持位图的加载、背景色更新等功能。
- OVERLAYEX:扩展视频叠加区域,功能与OVERLAY类似,支持位图加载、背景色更新等。
- COVER:视频遮挡区域,其中区域支持纯色块遮挡。
- COVEREX:扩展视频遮挡区域,功能与COVER类似,支持纯色块遮挡。
- LINEEX:扩展的线条视频叠加区域,支持颜色、粗细等调节。
- MOSAIC:马赛克遮挡区域,支持精度调节。
- MOSAICEX:扩展的马赛克遮挡区域,支持精度调节。
- CORNER_RECT:角框区域,支持大小,颜色,粗细等调节。
- CORNER_RECTEX:扩展的角框区域,支持大小,颜色,粗细等调节。
- OVERLAYEX/COVEREX/MOSAICEX,分别相对于OVERLAY/COVER/MOSAIC,功能上类似,但是会引入额外的系统带宽,OVERLAYEX/COVEREX/MOSAICEX由VGS叠加到图像上,OVERLAYEX/COVEREX区域越大,占用VGS的性能就越大,当VGS性能不足时,会导致帧率降低。建议只有当OVERLAY/COVER/MOSAIC不支持,或者数量无法满足需求时,再使用。
-
区域层次
区域层次表示区域的叠加级别,对于相同的区域类型,层次值越大,表示区域的显示级别越高,当发生重叠时,层次值大的将会覆盖层次值小的,区域层次相同时以客户调用attach的顺序为准。不同的区域类型以模块的处理顺序为准。

-
角框
角框中有多个可调节属性,其中hor_length须小于width,ver_length须小于height,角框不得超出图像外显示。

-
位图填充(针对OVERLAY和OVERLAYEX有效)
位图填充是指将位图的内存值填充到区域内存空间中,位图将会从区域的左上角开始填充。当位图小于区域时,只能填充一部分内存,剩余部分保持原有值或使用背景色进行填充;位图大小等于区域时,将刚好全部填充;当位图大于区域时,位图只能将自身和区域一样大小的内存信息填充到区域中。
位图填充支持两种实现方式:
- 其一、用户通过ss_mpi_rgn_set_bmp接口将位图数据拷贝至内部显示画布;
- 其二、用户通过ss_mpi_rgn_get_canvas_info获取内部备份显示画布的地址,直接对该地址数据进行更新,然后调用ss_mpi_rgn_update_canvas接口将备份显示画布更新为待显示画布,达到实现更新位图数据的目的。
-
区域公共属性
用户创建一个区域时,需要设置该属性信息,它包含公共的资源信息。例如,OVERLAY包含像素格式,大小和背景色。
-
通道显示属性(ot_rgn_type_chn_attr)
通道显示属性表明区域在某通道的显示特征。例如,OVERLAY的通道显示属性包含显示位置,层次,前景Alpha,背景Alpha,还有编码用到的qp信息。当通道显示属性中的区域是否显示(is_show)为TRUE时,表示显示在该通道中;反之,表示在该通道中存在,但处于隐藏状态。
-
区域反色
当区域叠加到视频上显示时,如果视频背景与叠加区域的亮度色度相近,往往会导致背景与区域很难进行区分。区域反色功能即针对这种场景,自适应背景的变化,对区域的亮度色度进行调整,实现区域清晰可见。
区域反色功能支持实现方式如下:通过VPSS提供的区域亮度和统计功能。用户可实时获取视频序列中每个待叠加区域背景的亮度统计,然后利用VGS对区域进行手动的反色处理,最后通过VGS将该反色后的区域叠加到视频上。
-
区域qp保护
当区域叠加到视频上进行压缩编码时,为了保证叠加区域的清晰度不因为数据压缩而变模糊,可以单独设定叠加区域部分的压缩特性,即设定qp保护功能参数。qp保护功能是OVERLAY特有的功能,且仅针对H.264/H.265类型编码通道有效,对其它类型无效。
-
相对坐标
即坐标值是以与当前图像宽高的比率来表示。在将区域叠加到设备(组)或通道上时,若设置的是相对坐标,仅在接口处检查参数,由于输入图像宽高变化无法预测,因此不保证遮挡区域最终配置的参数始终有效
说明:
Region不支持实心凹四边形,实心凹四边形显示为三角形。
表 1 region chn位置支持的模块信息
|
[0, OT_VPSS_MAX_PHYS_CHN_NUM-1] |
||||||
表 2 region dev(grp)位置支持的模块信息
表 3 Hi3519DV500 region各模块最大支持个数
表 4 Hi3516CV610 region各模块最大支持个数
表 5 Hi3511CV100 region各模块最大支持个数
说明:
- VPSS通道上的COVER和CORNER_RECT共享总个数(仅Hi3516CV610支持)。
- VPSS设备和通道上的MOSAIC、COVER、CORNER共享总个数(仅Hi3519DV500和Hi3511CV100支持)。
表 6 COVER/EX、CORNER_RECT/EX叠加位置与图像内外的关系
部分超出图像外时的处理情况:
- COVER/EX 空心矩形:部分超图像外时(包括空心矩形的边与有效图像边缘有重叠),会自动将矩形缺失部分补充完整,形成一个四条边线宽一致的完整矩形。
- COVER/EX 空心四边形:部分超图像外时,如果缺失部分没有边与有效图像边缘重叠,则只显示有效图像内的部分;如果缺失部分有边与有效图像边缘重叠,则会对重叠边进行补充完整,形成与有效区内的边线宽一致。
-
CORNER_RECT/EX:部分超图像外时(包括与有效图像边缘有重叠),会自动将缺失部分补充完整,形成线宽与有效图像内一致的完整图形。
-
区域支持的功能
说明:
- VO模块仅在single模式支持region,multi模式不支持。
- PCIV(Peripheral Component Interconnect Video)叠放region时,只支持从片叠放region,主片不支持叠放region。
- VPSS不支持在VGS组通道上叠加COVER、MOSAIC、CORNER_RECT。
表 7 Hi3519DV500 region支持的功能
表 8 Hi3516CV610 region支持的功能
表 9 Hi3511CV100 region支持的功能
表 10 Hi3519DV500 region COVER/COVEREX类型支持情况
表 11 Hi3516CV610 region COVER/COVEREX类型支持情况
表 12 Hi3511CV100 region COVER/COVEREX类型支持情况
ARGB CLUT2/CLUT4介绍
- CLUT格式是一个查色表,保存颜色格式为ARGB8888,其中CLUT2可以保存4种颜色,CLUT4可以保存16种颜色。
- 颜色值通过ss_mpi_rgn_set_attr接口设置。
- CLUT2每个颜色需要2bit内存,表示该颜色在查色表中的序号。CLUT4每个颜色则需要4bit内存。
- VENC模块只有一个CLUT2查色表和一个CLUT4查色表。当VENC模块同时叠加多个CLUT2、CLUT4位图时,同一时间只支持一个CLUT2、CLUT4查色表。因为当VENC模块叠加多个CLUT像素格式的OVERLAY区域时,REGION会对VENC模块中所有叠加的OVERLAY区域进行排序。排序规则为先按区域的显示层次进行从小到大排序(即layer,proc信息可以看到)。如果区域的layer相等,那么再按照区域叠加到模块的顺序排序,谁先叠加谁在前。最终以排序后的第一个OVERLAY区域的CLUT表为准。
CLUT映射多像素块介绍
CLUT2/CLUT4像素格式是通过使用2bit/4bit来表示1个像素值,相当于2bit/4bit映射一个像素。现增加两种映射方式,分别是2bit/4bit映射一个2×2、4×4像素块。通过这种映射方式,能减少存储像素值的内存空间。以图1为例进行说明。

说明:
本小节内容仅Hi3516CV610支持。
使用示意
使用过程包含以下步骤:
- 用户填充区域属性并创建区域。
- 将该区域指定到具体通道中(如VENC)。在指定到具体通道时,需要输入通道的显示属性。
以上步骤完成区域的创建和使用。用户还可以通过以下操作来控制区域属性以及在某通道的通道显示属性。
- 通过ss_mpi_rgn_get_attr、ss_mpi_rgn_set_attr获取和设置区域属性。
- 通过ss_mpi_rgn_set_bmp(仅针对OVERLAY、OVERLAYEX)设置区域的位图信息。
- 通过ss_mpi_rgn_get_chn_display_attr和ss_mpi_rgn_set_chn_display_attr获取和设置区域在某通道(如VENC通道)的通道显示属性。
- 最后用户可以将该区域从通道中撤出(非必须操作),再销毁区域。
单buff更新方案:
OVERLAY和OVERLAYEX这两种类型的区域支持设置画布数量为1。当buff数量为1时,想要对buff进行更新需要改变以往的流程。
- 创建OVERLAY或者OVERLAYEX区域,设置画布数量为1。
- 如果区域绑定到了通道上,则先解绑定。
- 设置区域位图到画布。
- 设置完成后绑定区域到通道上。
- 解绑定区域。
- 更新画布。
-
绑定区域到通道上。
更新时重复步骤5~7。
-
不用时解绑定、销毁区域。
注意:如果没有解绑定就直接更新画布,可能看到画布出现花屏的现象。这种方案较适用于需要省内存且buff刷新不频繁的场景下。
CLUT类型OVERLAY操作步骤:
- 创建OVERLAY。
- 设置ot_rgn_overlay_attr属性,设置clut[OT_RGN_CLUT_NUM]中的值代表了查色表中的颜色值。
- 调用ss_mpi_rgn_attach_to_chn接口绑定到VENC通道上。
- 调用ss_mpi_rgn_set_bmp可以加载二值化后的位图。
- 调用ss_mpi_rgn_set_chn_display_attr可以设置颜色值。
- 不用时解绑定,销毁区域。
批处理过程包含以下步骤:
- 用户填充区域属性并创建区域。
- 将该区域指定到具体通道中(如VENC)。在指定到具体通道时,需要输入通道的显示属性。
- 调用ss_mpi_rgn_batch_begin设置需要进行批处理的区域。
- 调用接口ss_mpi_rgn_set_bmp(仅针对OVERLAY、OVERLAYEX)设置各个区域位图信息或者调用ss_mpi_rgn_get_canvas_info设置各个区域位图信息。
- 调用ss_mpi_rgn_set_chn_display_attr设置各个区域显示属性。
-
完成各个区域的设置后,调用ss_mpi_rgn_batch_end对各个区域的信息同步更新。
其它具体细节参考sample。
-
支持批处理的MPI接口有:
ss_mpi_rgn_set_bmp,ss_mpi_rgn_set_chn_display_attr,ss_mpi_rgn_get_canvas_info,ss_mpi_rgn_batch_begin,ss_mpi_rgn_batch_end。
-
不支持批处理的MPI接口有:
ss_mpi_rgn_set_attr,ss_mpi_rgn_destroy,ss_mpi_rgn_detach_from_chn,ss_mpi_rgn_update_canvas。
-
接口功能与批处理无关:
ss_mpi_rgn_create,ss_mpi_rgn_get_attr,ss_mpi_rgn_attach_to_chn,ss_mpi_rgn_get_chn_display_attr。
-
透明度配置方法
-
ARGB1555:
ot_rgn_overlay_chn_attr中fg_alpha、bg_alpha配置透明度由用户接口fg_alpha、bg_alpha来控制,取值范围为0~255,值越小越透明,0是全透明,255是不透明。
-
ARGB4444:
透明度alpha写到osd数据里面,ARGB的排布是4444,第一个4bit是alpha值,第二到第四分别对应R,G,B三元素。
第一个4bit代表的透明度值最大只能到16,但是因为有256级透明度,实际生效的透明度值为alpha×17,意味第一个4bit为1时实际为17,为F时实际为255级别。透明度还是0~255,从透明到不透明。
ARGB8888:
透明度alpha写到osd数据里面,ARGB的排布是8888,第一个8bit是alpha值,0~255一一对应,低24bit分别去对应RGB。
-
CLUT2:
2bit osd,一共对应4种颜色选择,clut对应颜色的最高8bit做alpha值,0~255一一对应,低24bit分别去对应RGB。
-
CLUT4:
4bit osd,一共对应16种颜色选择,clut对应颜色的最高8bit做alpha值,0~255一一对应,低24bit分别去对应RGB。
依赖模块驱动加载顺序
- 对于依赖region的模块,例如VI、VPSS、VGS、VENC等模块,加载ko时,需要在region模块的ko加载完成之后再加载。
- 单独卸载region的ko后,再重新加载region的ko,此时依赖region的模块同样也需要先卸载再加载。
API参考
区域管理模块主要提供区域资源的控制管理功能,包括区域的创建、销毁,获取与设置区域属性,获取与设置区域的通道显示属性等。
须知:
本章描述中的模块名称、设备、设备号、组、组号、通道、通道号等为通用描述,不再具体指出是对于哪个解决方案或哪个模块而言的,对于不同解决方案,region支持的模块信息见表7和表1。
该功能模块提供以下MPI:
- ss_mpi_rgn_create:创建区域。
- ss_mpi_rgn_destroy:销毁区域。
- ss_mpi_rgn_get_attr:获取区域属性
- ss_mpi_rgn_set_attr:设置区域属性。
- ss_mpi_rgn_set_bmp:设置区域位图。
- ss_mpi_rgn_attach_to_chn:将区域叠加到通道上。
- ss_mpi_rgn_detach_from_chn:将区域从通道中撤出。
- ss_mpi_rgn_attach_to_dev:将区域叠加到设备(组)上。
- ss_mpi_rgn_detach_from_dev:将区域从设备(组)中撤出。
- ss_mpi_rgn_set_chn_display_attr:设置区域的通道显示属性。
- ss_mpi_rgn_get_chn_display_attr:获取区域的通道显示属性。
- ss_mpi_rgn_set_dev_display_attr:设置区域的设备(grp)显示属性。
- ss_mpi_rgn_get_dev_display_attr:获取区域的设备(grp)显示属性。
- ss_mpi_rgn_get_canvas_info:获取区域画布信息。
- ss_mpi_rgn_update_canvas:更新区域画布信息。
- ss_mpi_rgn_batch_begin:设置区域批处理。
- ss_mpi_rgn_batch_end:区域批处理信息同步。
ss_mpi_rgn_create
【描述】
创建区域。
【语法】
【参数】
|
取值范围:[0, OT_RGN_HANDLE_MAX)。 |
||
【返回值】
失败,参见错误码。 |
【需求】
- 头文件:ot_common_region.h、ss_mpi_region.h
- 库文件:libss_mpi.a
【注意】
- 该句柄由用户指定,意义等同于ID号。
- 不支持重复创建。
- 区域属性必须合法,具体约束参见ot_rgn_type_attr。
- 区域属性指针不能为空。
- 创建COVER、COVEREX、LINEEX、MOSAIC、MOSAICEX、CORNER_RECT、CORNER_RECTEX时,只需指定区域类型即可。其它的属性,如区域位置,层次等信息在调用ss_mpi_rgn_attach_to_chn接口时指定。
- 创建区域时,本接口只进行基本的参数的检查,譬如:最小宽高,最大宽高等;当区域attach到通道上时,根据各通道模块支持类型的约束条件进行更加有针对性的参数检查,譬如支持的像素格式等。
【举例】
ot_rgn_handle handle;
ot_rgn_attr rgn_attr;
td_s32 ret = TD_SUCCESS;
handle = 0;
rgn_attr.type = OT_RGN_OVERLAY;
rgn_attr.attr.overlay.pixel_format = OT_PIXEL_FORMAT_ARGB_1555;
rgn_attr.attr.overlay.size.width = 16;
rgn_attr.attr.overlay.size.height = 16;
rgn_attr.attr.overlay.bg_color = 0x0000ffff;
ret = ss_mpi_rgn_create(handle, &rgn_attr)
if (ret != TD_SUCCESS) {
return ret;
}
ret = ss_mpi_rgn_get_attr(handle, &rgn_attr);
if (ret != TD_SUCCESS) {
return ret;
}
rgn_attr.attr.overlay.bg_color = 0x0000cccc;
ret = ss_mpi_rgn_set_attr(handle, &rgn_attr);
if (ret != TD_SUCCESS) {
return ret;
}
ret = ss_mpi_rgn_destroy(handle);
if (ret != TD_SUCCESS) {
return ret;
}
【相关主题】
ss_mpi_rgn_destroy
【描述】
销毁区域。
【语法】
【参数】
|
取值范围:[0, OT_RGN_HANDLE_MAX)。 |
【返回值】
失败,参见错误码。 |
【需求】
- 头文件:ot_common_region.h、ss_mpi_region.h
- 库文件:libss_mpi.a
【注意】
- 区域必须已创建。
- 如果需要销毁attach到VENC的OSD,建议在调用ss_mpi_rgn_destroy接口之前先调用ss_mpi_venc_reset_chn(该接口详见第6章)。
- 调用该接口的过程中,不允许同时调用ss_mpi_rgn_set_attr/ss_mpi_rgn_set_bmp。
- 无论该接口调用成功或者失败,用户都需要重新调用ss_mpi_rgn_get_canvas_info才能对画布进行操作。
【举例】
参见ss_mpi_rgn_create举例。
【相关主题】
无。
ss_mpi_rgn_get_attr
【描述】
获取区域属性。
【语法】
【参数】
|
取值范围:[0, OT_RGN_HANDLE_MAX)。 |
||
【返回值】
失败,参见错误码。 |
【需求】
- 头文件:ot_common_region.h、ss_mpi_region.h
- 库文件:libss_mpi.a
【注意】
- 区域必须已创建。
- 区域属性指针不能为空。
【举例】
参见ss_mpi_rgn_create举例。
【相关主题】
无。
ss_mpi_rgn_set_attr
【描述】
设置区域属性。
【语法】
【参数】
|
取值范围:[0, OT_RGN_HANDLE_MAX)。 |
||
【返回值】
失败,参见错误码。 |
【需求】
- 头文件:ot_common_region.h、ss_mpi_region.h
- 库文件:libss_mpi.a
【注意】
- 区域必须已创建。
- 当区域通过ss_mpi_rgn_attach_to_chn接口绑定到通道上时,本接口不可以用于修改静态属性,但是可以修改动态属性;当区域没有attach到任何通道上时,本接口即可用于修改静态属性,也可用于修改动态属性。
- 区域属性指针不能为空。
- 调用了ss_mpi_rgn_get_canvas_info之后,调用本接口无效,除非调用ss_mpi_rgn_update_canvas更新画布生效。
- 调用该接口的过程中,不允许同时调用ss_mpi_rgn_destroy。
- COVER、COVEREX、LINEEX、MOSAIC、MOSAICEX、CORNER_RECT、CORNER_RECTEX不支持此接口。
- 动态更新背景色会覆盖整个区域。
【举例】
参见ss_mpi_rgn_create举例。
【相关主题】
无。
ss_mpi_rgn_set_bmp
【描述】
设置区域位图,即对区域进行位图填充。
【语法】
【参数】
|
取值范围:[0, OT_RGN_HANDLE_MAX)。 |
||
【返回值】
失败,参见错误码。 |
【需求】
- 头文件:ot_common_region.h、ss_mpi_region.h
- 库文件:libss_mpi.a
【注意】
- 区域必须已创建。
- 支持位图的大小和区域的大小不一致。
-
位图从区域的(0,0)点开始加载。
- 当位图比区域大时,将会自动将图像剪裁成区域大小。
- 当位图比区域小时,剩余部分内存会使用背景色进行填充。
-
位图的像素格式必须和区域的像素格式一致。
- 位图属性指针不能为空。
- 支持多次调用。
- 此接口只对OVERLAY及OVERLAYEX两种类型有效。
- 调用了ss_mpi_rgn_get_canvas_info之后,调用本接口无效,除非调用ss_mpi_rgn_update_canvas更新画布生效。
- 调用该接口的过程中,不允许同时调用ss_mpi_rgn_destroy。
- 当开启VPSS-VENC卷绕模式时,对VENC进行OSD叠加,建议使用OSD双buf模式。如果使用单buf模式,会存在OSD更新超时的风险。
【举例】
ot_rgn_handle handle;
ot_bmp bmp;
td_s32 ret = TD_SUCCESS;
bmp.enPixelFormat = OT_PIXEL_FORMAT_ARGB_1555;
bmp.width = 4;
bmp.height = 4;
bmp.data = malloc(2 * bmp.width * bmp.height);
if (TD_NULL == bmp.data) {
return TD_FAILURE;
}
memset(bmp.data, 0xcc, ot_size);
ret = ss_mpi_rgn_set_bmp(handle, &bmp);
if (ret != TD_SUCCESS) {
free(bmp.data);
return ret;
}
free(bmp.data);
【相关主题】
无。
ss_mpi_rgn_attach_to_chn
【描述】
将区域叠加到通道上。
【语法】
td_s32 ss_mpi_rgn_attach_to_chn(ot_rgn_handle handle, const ot_mpp_chn *chn, const ot_rgn_chn_attr *chn_attr);
【参数】
|
取值范围:[0, OT_RGN_HANDLE_MAX)。 |
||
【返回值】
失败,参见错误码。 |
【需求】
- 头文件:ot_common_region.h、ss_mpi_region.h
- 库文件:libss_mpi.a
【注意】
- 区域必须已创建。
- 通道结构体指针不能为空。
- 区域通道显示属性指针不能为空。
- 支持多次叠加,但此接口不用于改变属性。
- 如果是OVERLAY区域,通道显示属性中的qp信息需要注意,参见结构体ot_rgn_overlay_qp_info描述。
- 将区域叠加到组上时,必须使用ss_mpi_rgn_attach_to_dev接口,否则叠加不成功。
- 将OVERLAY区域叠加到VENC通道上时,必须配置ot_rgn_overlay_chn_attr的ot_rgn_attach_dst属性,否则叠加不成功。
【举例】
无。
【相关主题】
无。
ss_mpi_rgn_detach_from_chn
【描述】
将区域从通道中撤出。
【语法】
【参数】
|
取值范围:[0, OT_RGN_HANDLE_MAX)。 |
||
【返回值】
失败,参见错误码。 |
【需求】
- 头文件:ot_common_region.h、ss_mpi_region.h
- 库文件:libss_mpi.a
【注意】
- 区域必须已创建。
- 通道结构体指针不能为空。
- 支持多次调用。
【举例】
无。
【相关主题】
无
ss_mpi_rgn_attach_to_dev
【描述】
将区域叠加到设备(组)上。
【语法】
td_s32 ss_mpi_rgn_attach_to_dev(ot_rgn_handle handle, const ot_mpp_chn *chn, const ot_rgn_chn_attr *chn_attr);
【参数】
|
取值范围:[0, OT_RGN_HANDLE_MAX)。 |
||
【返回值】
失败,参见错误码。 |
【需求】
- 头文件:ot_common_region.h、ss_mpi_region.h
- 库文件:libss_mpi.a
【注意】
- 区域必须已创建。
- 通道结构体指针不能为空。
- 区域通道显示属性指针不能为空。
- 支持多次叠加,但此接口不用于改变属性。
- 如果是OVERLAY区域,通道显示属性中的qp信息需要注意,参见结构体ot_rgn_overlay_qp_info描述。
- 将区域叠加到组上时,需使用此接口,通道不允许非法参数,否则叠加不成功。
【举例】
无
【相关主题】
无
ss_mpi_rgn_detach_from_dev
【描述】
将区域从设备(组)中撤出。
【语法】
【参数】
|
取值范围:[0, OT_RGN_HANDLE_MAX)。 |
||
【返回值】
失败,参见错误码。 |
【需求】
- 头文件:ot_common_region.h、ss_mpi_region.h
- 库文件:libss_mpi.a
【注意】
- 用于将区域从设备(组)中撤出;
- 区域必须已创建;
- 通道结构体指针不能为空;
- 支持多次调用。
【举例】
无
【相关主题】
无
ss_mpi_rgn_set_chn_display_attr
【描述】
设置区域的通道显示属性。
【语法】
td_s32 ss_mpi_rgn_set_chn_display_attr(ot_rgn_handle handle, const ot_mpp_chn *chn,const ot_rgn_chn_attr *chn_attr);
【参数】
|
取值范围:[0, OT_RGN_HANDLE_MAX)。 |
||
【返回值】
失败,参见错误码。 |
【需求】
- 头文件:ot_common_region.h、ss_mpi_region.h
- 库文件:libss_mpi.a
【注意】
- 区域必须已创建。
- 建议先获取属性,再设置。
- 通道结构体指针不能为空。
- 区域通道显示属性指针不能为空。
- 区域必须先叠加到通道上。
- 静态属性不能修改,动态属性可以被修改,详细情况参见结构体ot_rgn_type_chn_attr。
【举例】
td_s32 ret = TD_SUCCESS;
ot_rgn_handle handle;
ot_mpp_chn chn;
ot_rgn_attr rgn_attr;
ot_rgn_chn_attr chn_attr;
handle = 0;
chn.mod_id = OT_ID_VENC;
chn.dev_id = 0;
chn. chn_id = 0;
ret = ss_mpi_rgn_get_chn_display_attr(handle, &chn, &chn_attr);
if (ret != TD_SUCCESS) {
NOT_PASS(ret);
goto END;
}
chn_attr.is_show = TD_TRUE;
chn_attr.type = OT_RGN_OVERLAY;
chn_attr.attr.ot_rgn_overlay_chn_attr.point.x = 4;
chn_attr.attr.ot_rgn_overlay_chn_attr.point.y = 4;
chn_attr.attr.ot_rgn_overlay_chn_attr.bg_alpha = 128;
chn_attr.attr.ot_rgn_overlay_chn_attr.fg_alpha = 128;
chn_attr.attr.ot_rgn_overlay_chn_attr.layer = 0;
chn_attr.attr.ot_rgn_overlay_chn_attr.qp_info.is_abs_qp = TD_FALSE;
chn_attr.attr.ot_rgn_overlay_chn_attr.qp_info.qp_val = 0;
ret = ss_mpi_rgn_set_chn_display_attr(handle, &chn, &chn_attr);
if (ret != TD_SUCCESS) {
return ret;
}
【相关主题】
无。
ss_mpi_rgn_get_chn_display_attr
【描述】
获取区域的通道显示属性。
【语法】
td_s32 ss_mpi_rgn_get_chn_display_attr(ot_rgn_handle handle, const ot_mpp_chn *chn, ot_rgn_chn_attr *chn_attr);
【参数】
区域句柄号。取值范围:[0, OT_RGN_HANDLE_MAX) |
||
【返回值】
失败,参见错误码。 |
【需求】
- 头文件:ot_common_region.h、ss_mpi_region.h
- 库文件:libss_mpi.a
【注意】
- 区域必须已创建。
- 通道结构体指针不能为空。
- 区域通道显示属性指针不能为空。
【举例】
请参见ss_mpi_rgn_set_chn_display_attr的【举例】。
【相关主题】
无。
ss_mpi_rgn_set_dev_display_attr
【描述】
设置区域的设备(grp)显示属性。
【语法】
td_s32 ss_mpi_rgn_set_dev_display_attr(ot_rgn_handle handle, const ot_mpp_chn *chn,const ot_rgn_chn_attr *chn_attr);
【参数】
|
取值范围:[0, OT_RGN_HANDLE_MAX)。 |
||
【返回值】
失败,参见错误码。 |
【需求】
- 头文件:ot_common_region.h、ss_mpi_region.h
- 库文件:libss_mpi.a
【注意】
- 区域必须已创建。
- 建议先获取属性,再设置。
- 通道结构体指针不能为空。
- 区域通道显示属性指针不能为空。
- 区域必须先叠加到设备上。
- 静态属性不能修改,动态属性可以被修改,详细情况参见结构体ot_rgn_type_chn_attr。
【举例】
td_s32 ret = TD_SUCCESS;
ot_rgn_handle handle;
ot_mpp_chn chn;
ot_rgn_attr rgn_attr;
ot_rgn_chn_attr chn_attr;
handle = 0;
chn.mod_id = OT_ID_VPSS;
chn.dev_id = 0;
chn. chn_id = 0;
ret = ss_mpi_rgn_get_dev_display_attr(handle, &chn, &chn_attr);
if (ret != TD_SUCCESS) {
NOT_PASS(ret);
goto END;
}
chn_attr.is_show = TD_TRUE;
chn_attr.type = OT_RGN_COVER;
chn_attr.attr.cover_chn.coord = OT_COORD_ABS;
chn_attr.attr.cover_chn.cover.type = OT_COVER_RECT;
chn_attr.attr.cover_chn.cover.color = RGN_RGB888_BLUE;
chn_attr.attr.cover_chn.cover.rect_attr.rect.height = 160;
chn_attr.attr.cover_chn.cover.rect_attr.rect.width = 160;
chn_attr.attr.cover_chn.cover.rect_attr.rect.x = 200;
chn_attr.attr.cover_chn.cover.rect_attr.rect.y = 200;
chn_attr.attr.cover_chn.cover.rect_attr.is_solid = TD_TRUE;
ret = ss_mpi_rgn_set_dev_display_attr(handle, &chn, &chn_attr);
if (ret != TD_SUCCESS) {
return ret;
}
【相关主题】
无
ss_mpi_rgn_get_dev_display_attr
【描述】
获取区域的设备(grp)显示属性。
【语法】
td_s32 ss_mpi_rgn_get_dev_display_attr(ot_rgn_handle handle, const ot_mpp_chn *chn, ot_rgn_chn_attr *chn_attr);
【参数】
区域句柄号。取值范围:[0, OT_RGN_HANDLE_MAX) |
||
【返回值】
失败,参见错误码。 |
【需求】
- 头文件:ot_common_region.h、ss_mpi_region.h
- 库文件:libss_mpi.a
【注意】
- 区域必须已创建;
- 通道结构体指针不能为空;
- 区域通道显示属性指针不能为空。
【举例】
请参见ss_mpi_rgn_set_chn_display_attr的【举例】。
【相关主题】
无
ss_mpi_rgn_get_canvas_info
【描述】
获取区域的显示画布信息。
【语法】
【参数】
|
取值范围:[0, OT_RGN_HANDLE_MAX)。 |
||
【返回值】
失败,参见错误码。 |
【需求】
- 头文件:ot_common_region.h、ss_mpi_region.h
- 库文件:libss_mpi.a
【注意】
- 区域必须已创建。
- 本接口与ss_mpi_rgn_set_bmp功能类似,本接口相对于ss_mpi_rgn_set_bmp接口,用户可以直接更新显示内部画布数据,节省一次内存拷贝。
- 本接口用于获取区域对应的画布信息,在得到画布地址之后,用户可直接对画布进行操作,譬如:将bmp数据直接填写到该画布中。然后通过调用ss_mpi_rgn_update_canvas接口,更新显示画布数据。
- 本接口与ss_mpi_rgn_set_bmp接口互斥。如果已经使用了本接口,那么在调用ss_mpi_rgn_update_canvas前,调用ss_mpi_rgn_set_bmp不生效。
- 在批处理中(batch_begin)调用此接口,调用批处理结束接口(batch_end)后,所有区域对应的画布信息会被更新,无需再对每个区域调用画布更新接口(update_canvas)。
- 当位图比区域小时,剩余部分内存会保持原有值。
- 当开启VPSS-VENC卷绕模式时,对VENC进行OSD叠加,建议使用OSD双buf模式。如果使用单buf模式,会存在OSD更新超时的风险。
【举例】
ot_rgn_handle handle;
ot_rgn_attr rgn_attr;
td_s32 ret = TD_SUCCESS;
handle = 0;
rgn_attr.type = OT_RGN_OVERLAY;
rgn_attr.attr.overlay.pixel_format = OT_PIXEL_FORMAT_ARGB_1555;
rgn_attr.attr.overlay.size.width = 16;
rgn_attr.attr.overlay.size.height = 16;
rgn_attr.attr.overlay.bg_color = 0x0000ffff;
/* 1. Create handle for overlay region */
ret = ss_mpi_rgn_create(handle, &rgn_attr);
if (ret != TD_SUCCESS){
return ret;
}
/* 2. Get current overlay canvas info */
ret = ss_mpi_rgn_get_canvas_info(handle, &canvas_info);
if (TD_SUCCESS != ret) {
printf("ss_mpi_rgn_get_canvas_info fail! ret: 0x%x.\n", ret);
return NULL;
}
/* 3. User can set canvas here. */
/* 4. Update canvas */
ret = ss_mpi_rgn_update_canvas (handle);
if (TD_SUCCESS != ret) {
printf("ss_mpi_rgn_update_canvas fail! ret: 0x%x.\n", ret);
return NULL;
}
【相关主题】
无。
ss_mpi_rgn_update_canvas
【描述】
更新显示画布。
【语法】
【参数】
|
取值范围:[0, OT_RGN_HANDLE_MAX)。 |
【返回值】
失败,参见错误码。 |
【需求】
- 头文件:ot_common_region.h、ss_mpi_region.h
- 库文件:libss_mpi.a
【注意】
- 区域必须已创建。
- 本接口配合ss_mpi_rgn_get_canvas_info使用。主要用于画布内存数据更新之后,进行画布切换显示。
- 每次调用本接口前,都必须先获取画布信息,然后再调用本接口进行更新。
- 本接口仅支持OVERLAY或OVERLAYEX类型的区域。
- 在批处理中调用了get_canvas接口,批处理结束后,无需再调用此接口。因为批处理结束接口中会对所有在批处理中的区域对应的画布信息进行更新。
【举例】
请参见ss_mpi_rgn_get_canvas_info。
【相关主题】
无。
ss_mpi_rgn_batch_begin
【描述】
设置多个区域进行批处理。
【语法】
td_s32 ss_mpi_rgn_batch_begin(ot_rgn_handle_grp *grp, td_u32 handle_num, const ot_rgn_handle handle[]);
【参数】
|
取值范围:[0, OT_RGN_GRP_MAX) |
||
|
取值范围:[2, OT_RGN_BATCH_HANDLE_MAX) |
||
|
数组长度取值范围:[2, OT_RGN_BATCH_HANDLE_MAX) 数组元素取值范围:[0, OT_RGN_HANDLE_MAX) |
【返回值】
失败,参见错误码。 |
【需求】
- 头文件:ot_common_region.h、ss_mpi_region.h
- 库文件:libss_mpi.a
【注意】
- 区域必须已创建。
- 设置的句柄个数一定要等于数组的长度,且不超过最大值。
- 区域类型必须是OVERLAY类型。
- 必须与ss_mpi_rgn_batch_end成对出现。
- 此接口不支持多线程调用。
- 单buf模式下批处理不生效
- 批处理中不可以调用ss_mpi_rgn_set_attr,ss_mpi_rgn_destroy,ss_mpi_rgn_detach_from_chn,ss_mpi_rgn_update_canvas接口。
【举例】
ot_rgn_handle handle;
ot_rgn_handle HANDLE[3];
ot_rgn_handle_grp grp;
ot_rgn_attr rgn_attr;
ot_rgn_chn_attr chn_attr;
ot_mpp_chn chn;
td_s32 handle_num;
ot_bmp bmp;
td_bool is_canvas = TD_TRUE;
ot_rgn_canvas_info canvas_info;
td_s32 ret = TD_SUCCESS;
rgn_attr.type = OT_RGN_OVERLAY;
rgn_attr.attr.overlay.pixel_format = OT_PIXEL_FORMAT_ARGB_1555;
rgn_attr.attr.overlay.size.width = 16;
rgn_attr.attr.overlay.size.height = 16;
rgn_attr.attr.overlay.bg_color = 0x0000ffff;
/* 1. Create handle for overlay region */
for (handle= 0; handle<3; handle++) {
ret = ss_mpi_rgn_create(handle, &rgn_attr);
if (ret != TD_SUCCESS) {
return ret;
}
HANDLE[handle]= handle;
}
/*2.Attach to Chn*/
chn_attr.is_show = TD_TRUE;
chn_attr.type = OT_RGN_OVERLAY;
chn_attr.attr.ot_rgn_overlay_chn_attr.point.x = 64;
chn_attr.attr.ot_rgn_overlay_chn_attr.point.y = 64;
chn_attr.attr.ot_rgn_overlay_chn_attr.bg_alpha = 128;
chn_attr.attr.ot_rgn_overlay_chn_attr.fg_alpha = 128;
chn_attr.attr.ot_rgn_overlay_chn_attr.layer = 0;
chn_attr.attr.ot_rgn_overlay_chn_attr.qp_info.enable = 0;
chn_attr.attr.ot_rgn_overlay_chn_attr.qp_info.is_abs_qp = 0;
chn_attr.attr.ot_rgn_overlay_chn_attr.qp_info.qp_val = 0;
chn_attr.attr.ot_rgn_overlay_chn_attr.ot_rgn_attach_dst = OT_RGN_ATTACH_JPEG_MAIN;
chn.mod_id = OT_ID_VENC;
chn.dev_id = 0;
chn.chn_id = 0;
for (handle = 0; handle<3; handle++) {
ret = ss_mpi_rgn_attach_to_chn(handle, &chn, &chn_attr);
if (ret != TD_SUCCESS) {
return ret;
}
}
/*3 Set Batch */
handle_num = 3;
for (handle = 0; handle < 3; handle++) {
HANDLE[handle]=handle;
}
ret = ss_mpi_rgn_batch_begin(&grp, handle_num, &handle[0]);
if (ret != TD_SUCCESS) {
return ret;
}
/*4 Batch process*/
/* User can set canvas here. */
if (is_canvas) {
for (handle = 0; handle < 3; handle++) {
ret = ss_mpi_rgn_get_canvas_info(handle, &canvas_info);
if (ret != TD_SUCCESS) {
return ret;
}
}
} else { /* User can load bmp here. */
for(handle = 0; handle < 3; handle++) {
ret = ss_mpi_rgn_set_bmp(handle, &bmp);
if (ret != TD_SUCCESS) {
return ret;
}
}
}/*5 Batch update*/
ret = ss_mpi_rgn_batch_end(grp);
if (ret != TD_SUCCESS) {
return ret;
}
【相关主题】
ss_mpi_rgn_batch_end
【描述】
对一组区域的批处理信息进行同时更新。
【语法】
【参数】
|
取值范围:[0, OT_RGN_GRP_MAX)。 |
【返回值】
失败,参见错误码。 |
【需求】
- 头文件:ot_common_region.h、ss_mpi_region.h
- 库文件:libss_mpi.a
【注意】
- 区域必须已创建。
- 区域批处理组号必须已获取。
- 本接口是配合ss_mpi_rgn_batch_begin
- 区域类型必须是OVERLAY类型。
- 此接口不支持多线程调用。
- 此接口会对所有OVERLAY区域对应的画布信息进行更新。
【举例】
【相关主题】
无
数据类型
视频前处理相关数据类型、数据结构定义如下:
- OT_RGN_CLUT_NUM:定义RGB颜色查表个数。
- OT_RGN_GRP_MAX:定义批处理最大的组数。
- OT_RGN_HANDLE_MAX:定义区域的最大句柄数。
- OT_RGN_BATCH_HANDLE_MAX:定义一组批处理最多区域句柄数。
- OT_RGN_MAX_BUF_NUM:定义区域使用的最大内存数量。
- OT_RGN_MAX_BMP_UPDATE_NUM:定义区域使用的最大位图更新数量。
- OT_RGN_MIN_WIDTH:定义区域宽度的最小值。
- OT_RGN_MIN_HEIGHT:定义区域高度的最小值。
- OT_RGN_QUAD_POINT_NUM:定义区域任意四边形顶点个数。
- OT_RGN_ALIGN:定义区域坐标宽高度对齐值。
- OT_RGN_COVER_MIN_X:定义COVER矩形区域起始位置以及任意四边形坐标点X坐标最小值。
- OT_RGN_COVER_MIN_Y:定义COVER矩形区域起始位置以及任意四边形坐标点Y坐标最小值。
- OT_RGN_COVER_MAX_X:定义COVER矩形区域起始位置以及任意四边形坐标点X坐标最大值。
- OT_RGN_COVER_MAX_Y:定义COVER矩形区域起始位置以及任意四边形坐标点Y坐标最大值。
- OT_RGN_COVER_MAX_WIDTH:定义COVER矩形区域的最大宽度。
- OT_RGN_COVER_MAX_HEIGHT:定义COVER矩形区域的最大高度。
- OT_RGN_COVER_MIN_THICK:定义能力集COVER空心任意四边形的最小线宽。
- OT_RGN_COVER_MAX_THICK:定义能力集COVER空心任意四边形的最大线宽。
- OT_RGN_COVEREX_MIN_X:定义COVEREX矩形区域起始位置以及任意四边形坐标点X坐标最小值。
- OT_RGN_COVEREX_MIN_Y:定义COVEREX矩形区域起始位置以及任意四边形坐标点Y坐标最小值。
- OT_RGN_COVEREX_MAX_X:定义COVEREX矩形区域起始位置以及任意四边形坐标点X坐标最大值。
- OT_RGN_COVEREX_MAX_Y:定义COVEREX矩形区域起始位置以及任意四边形坐标点Y坐标最大值。
- OT_RGN_COVEREX_MAX_WIDTH:定义COVEREX矩形区域的最大宽度。
- OT_RGN_COVEREX_MAX_HEIGHT:定义COVEREX矩形区域的最大高度。
- OT_RGN_COVEREX_MIN_THICK:定义能力集空心COVEREX任意四边形的最小线宽。
- OT_RGN_COVEREX_MAX_THICK:定义能力集空心COVEREX任意四边形的最大线宽。
- OT_RGN_OVERLAY_MIN_X:定义OVERLAY区域起始位置X坐标最小值。
- OT_RGN_OVERLAY_MIN_Y:定义OVERLAY区域起始位置Y坐标最小值。
- OT_RGN_OVERLAY_MAX_X:定义OVERLAY区域起始位置X坐标最大值。
- OT_RGN_OVERLAY_MAX_Y:定义OVERLAY区域起始位置Y坐标最大值。
- OT_RGN_OVERLAY_MAX_WIDTH:定义OVERLAY区域的最大宽度。
- OT_RGN_OVERLAY_MAX_HEIGHT:定义OVERLAY区域的最大高度。
- OT_RGN_OVERLAYEX_MIN_X:定义OVERLAYEX区域起始位置X坐标最小值。
- OT_RGN_OVERLAYEX_MIN_Y:定义OVERLAYEX区域起始位置Y坐标最小值。
- OT_RGN_OVERLAYEX_MAX_X:定义OVERLAYEX区域起始位置X坐标最大值。
- OT_RGN_OVERLAYEX_MAX_Y:定义OVERLAYEX区域起始位置Y坐标最大值。
- OT_RGN_OVERLAYEX_MAX_WIDTH:定义OVERLAYEX区域的最大宽度。
- OT_RGN_OVERLAYEX_MAX_HEIGHT:定义OVERLAYEX区域的最大高度。
- OT_RGN_LINE_POINT_NUM:定义LINEEX区域顶点个数。
- OT_RGN_LINEEX_MIN_X:定义LINEEX区域起点和终点位置坐标点X坐标最小值。
- OT_RGN_LINEEX_MIN_Y:定义LINEEX区域起点和终点位置坐标点Y坐标最小值。
- OT_RGN_LINEEX_MAX_X:定义LINEEX区域起点和终点位置坐标点X坐标最大值。
- OT_RGN_LINEEX_MAX_Y:定义LINEEX区域起点和终点位置坐标点Y坐标最大值。
- OT_RGN_LINEEX_MIN_THICK:定义LINEEX区域最小宽度。
- OT_RGN_LINEEX_MAX_THICK:定义LINEEX区域最大宽度。
- OT_RGN_LINEEX_POINT_NUM:定义LINEEX区域坐标点数量。
- OT_RGN_MOSAIC_MIN_X:定义MOSAIC矩形区域起始位置坐标点X坐标最小值。
- OT_RGN_MOSAIC_MIN_Y:定义MOSAIC矩形区域起始位置坐标点Y坐标最小值。
- OT_RGN_MOSAIC_MAX_X:定义MOSAIC矩形区域起始位置坐标点X坐标最大值。
- OT_RGN_MOSAIC_MAX_Y:定义MOSAIC矩形区域起始位置坐标点Y坐标最大值。
- OT_RGN_MOSAIC_MIN_WIDTH:定义MOSAIC矩形区域的最小宽度。
- OT_RGN_MOSAIC_MIN_HEIGHT:定义MOSAIC矩形区域的最小高度。
- OT_RGN_MOSAIC_MAX_WIDTH:定义MOSAIC矩形区域的最大宽度。
- OT_RGN_MOSAIC_MAX_HEIGHT:定义MOSAIC矩形区域的最大高度。
- OT_RGN_MOSAICEX_MIN_X:定义MOSAICEX矩形区域起始位置坐标点X坐标最小值。
- OT_RGN_MOSAICEX_MIN_Y:定义MOSAICEX矩形区域起始位置坐标点Y坐标最小值。
- OT_RGN_MOSAICEX_MAX_X:定义MOSAICEX矩形区域起始位置坐标点X坐标最大值。
- OT_RGN_MOSAICEX_MAX_Y:定义MOSAICEX矩形区域起始位置坐标点Y坐标最大值。
- OT_RGN_MOSAICEX_MIN_WIDTH:定义MOSAICEX矩形区域的最小宽度。
- OT_RGN_MOSAICEX_MIN_HEIGHT:定义MOSAICEX矩形区域的最小高度。
- OT_RGN_MOSAICEX_MAX_WIDTH:定义MOSAICEX矩形区域的最大宽度。
- OT_RGN_MOSAICEX_MAX_HEIGHT:定义MOSAICEX矩形区域的最大高度。
- OT_RGN_CORNER_RECT_MIN_X:定义CORNER_RECT起始位置坐标点X坐标最小值。
- OT_RGN_CORNER_RECT_MIN_Y:定义CORNER_RECT起始位置坐标点Y坐标最小值。
- OT_RGN_CORNER_RECT_MAX_X:定义CORNER_RECT起始位置坐标点X坐标最大值。
- OT_RGN_CORNER_RECT_MAX_Y:定义CORNER_RECT起始位置坐标点Y坐标最大值。
- OT_RGN_CORNER_RECT_MAX_WIDTH:定义CORNER_RECT的最大宽度。
- OT_RGN_CORNER_RECT_MAX_HEIGHT:定义CORNER_RECT的最大高度。
- OT_RGN_CORNER_RECT_MIN_HOR_LEN:定义CORNER_RECT最小水平线长度。
- OT_RGN_CORNER_RECT_MIN_VER_LEN:定义CORNER_RECT最小垂直线长度。
- OT_RGN_CORNER_RECT_MAX_HOR_LEN:定义CORNER_RECT的最大水平线长度。
- OT_RGN_CORNER_RECT_MAX_VER_LEN:定义CORNER_RECT的最大垂直线长度。
- OT_RGN_CORNER_RECT_MIN_THICK:定义CORNER_RECT的最小线宽。
- OT_RGN_CORNER_RECT_MAX_THICK:定义CORNER_RECT的最大线宽。
- OT_RGN_CORNER_RECTEX_MIN_X:定义CORNER_RECTEX起始位置坐标点X坐标最小值。
- OT_RGN_CORNER_RECTEX_MIN_Y:定义CORNER_RECTEX起始位置坐标点Y坐标最小值。
- OT_RGN_CORNER_RECTEX_MAX_X:定义CORNER_RECTEX起始位置坐标点X坐标最大值。
- OT_RGN_CORNER_RECTEX_MAX_Y:定义CORNER_RECTEX起始位置坐标点Y坐标最大值。
- OT_RGN_CORNER_RECTEX_MAX_WIDTH:定义CORNER_RECTEX的最大宽度。
- OT_RGN_CORNER_RECTEX_MAX_HEIGHT:定义CORNER_RECTEX的最大高度。
- OT_RGN_CORNER_RECTEX_MIN_HOR_LEN:定义CORNER_RECTEX最小水平线长度。
- OT_RGN_CORNER_RECTEX_MIN_VER_LEN:定义CORNER_RECTEX最小垂直线长度。
- OT_RGN_CORNER_RECTEX_MAX_HOR_LEN:定义CORNER_RECTEX的最大水平线长度。
- OT_RGN_CORNER_RECTEX_MAX_VER_LEN:定义CORNER_RECTEX的最大垂直线长度。
- OT_RGN_CORNER_RECTEX_MIN_THICK:定义CORNER_RECTEX的最小线宽。
- OT_RGN_CORNER_RECTEX_MAX_THICK:定义CORNER_RECTEX的最大线宽。
- OT_RGN_VENC_MAX_OVERLAY_NUM:定义一个VENC通道最多可显示的叠加OVERLAY区域的个数。
- OT_RGN_PCIV_MAX_OVERLAYEX_NUM:定义一个PCIV通道的最大扩展叠加区域的个数。
- OT_RGN_VPSS_MAX_OVERLAY_NUM:定义一个VPSS组最多可显示的叠加OVERLAY区域的个数。
- OT_RGN_VPSS_MAX_OVERLAYEX_NUM:定义一个VPSS通道最多可显示的叠加OVERLAYEX区域的个数。
- OT_RGN_VPSS_MAX_COVER_NUM:定义一个VPSS组最大遮挡区域的个数。
- OT_RGN_VPSS_MAX_COVEREX_NUM:定义一个VPSS通道最大叠加COVEREX区域的个数。
- OT_RGN_VPSS_MAX_LINEEX_NUM:定义一个VPSS通道最大叠加LINEEX区域的个数。
- OT_RGN_VPSS_MAX_MOSAIC_NUM:定义一个VPSS组最大叠加MOSAIC区域的个数。
- OT_RGN_VPSS_MAX_MOSAICEX_NUM:定义一个VPSS通道最大叠加MOSAICEX区域的个数。
- OT_RGN_VPSS_MAX_CORNER_RECT_NUM:定义一个VPSS通道最大叠加CORNER_RECT区域的个数。
- OT_RGN_VPSS_MAX_CORNER_RECTEX_NUM:定义一个VPSS通道最大叠加CORNER_RECTEX区域的个数。
- OT_RGN_VO_MAX_LINEEX_NUM:定义一个VO通道的最大叠加LINEEX区域的个数。
- OT_RGN_VO_MAX_OVERLAYEX_NUM:定义一个VO通道的最大叠加OVERLAYEX区域的个数。
- OT_RGN_VO_MAX_COVEREX_NUM:定义一个VO通道的最大叠加COVEREX区域的个数。
- OT_RGN_VO_MAX_CORNER_RECTEX_NUM:定义一个VO通道最大叠加CORNER_RECTEX区域的个数。
- OT_RGN_VI_MAX_COVER_NUM:定义一个VI通道的最大叠加COVER区域的个数。
- OT_RGN_VI_MAX_COVEREX_NUM:定义一个VI通道的最大叠加COVER区域的个数
- OT_RGN_VI_MAX_OVERLAYEX_NUM:定义一个VI通道最多可显示的叠加OVERLAYEX区域的个数。
- OT_RGN_AVS_MAX_OVERLAYEX_NUM:定义一个AVS通道最多可显示的叠加OVERLAYEX区域的个数。
- OT_RGN_MCF_MAX_OVERLAYEX_NUM:定义一个MCF通道最多可显示的叠加OVERLAYEX区域的个数。
- OT_RGN_MCF_MAX_COVER_NUM:定义一个MCF组最大遮挡区域的个数。
- OT_RGN_MCF_MAX_COVEREX_NUM:定义一个MCF通道最大叠加COVEREX区域的个数。
- OT_RGN_MCF_MAX_LINEEX_NUM:定义一个MCF通道最大叠加LINEEX区域的个数。
- OT_RGN_MCF_MAX_MOSAIC_NUM:定义一个MCF组的最大叠加MOSAIC区域的个数。
- OT_RGN_MCF_MAX_MOSAICEX_NUM:定义一个MCF通道最大叠加MOSAICEX区域的个数。
- OT_RGN_MCF_MAX_CORNER_RECTEX_NUM:定义一个MCF通道最大叠加CORNER_RECTEX区域的个数
- OT_RGN_COORD_X_MAX:定义COVER 相对x坐标最大值。
- OT_RGN_COORD_Y_MAX:定义COVER 相对Y坐标最大值。
- OT_RGN_COORD_WIDTH_MAX:定义COVER 相对宽度最大值。
- OT_RGN_COORD_HEIGHT_MAX:定义COVER 相对高度最大值。
- OT_RGN_OVERLAY_VENC_MAX_ALPHA:定义VENC 透明度值。
- ot_rgn_handle:定义区域句柄。
- ot_rgn_handle_grp:定义批处理区域组号。
- ot_rgn_type:定义区域类型。
- ot_rgn_overlay_qp_info:定义叠加区域qp属性结构体。
- ot_rgn_attach_dst:定义叠加区域VENC图像的类型。
- ot_rgn_overlay_attr:定义叠加区域属性结构体。
- ot_rgn_overlay_chn_attr:定义叠加区域通道显示属性。
- ot_rgn_cover_chn_attr:定义遮挡区域的通道显示属性。
- ot_rgn_coverex_chn_attr:定义扩展遮挡区域的通道显示属性。
- ot_rgn_lineex_chn_attr:定义线性遮挡区域的通道显示属性。
- ot_rgn_overlayex_attr:定义扩展叠加区域属性结构体。
- ot_rgn_overlayex_chn_attr:定义扩展叠加区域的通道显示属性。
- ot_rgn_type_attr:定义区域属性联合体。
- ot_rgn_type_chn_attr:定义区域通道显示属性联合体。
- ot_rgn_attr:定义区域属性结构体。
- ot_rgn_mosaic_chn_attr:定义MOSAIC区域属性结构体。
- ot_rgn_mosaicex_chn_attr:定义MOSAICEX区域属性结构体。
- ot_rgn_corner_rect_chn_attr:定义CORNER_RECT区域属性结构体。
- ot_rgn_corner_rectex_chn_attr:定义CORNER_RECTEX区域属性结构体。
- ot_rgn_chn_attr:定义区域通道显示属性结构体。
- ot_rgn_canvas_info:定义区域显示画布属性结构体。
OT_RGN_CLUT_NUM
【说明】
定义RGB颜色查表个数。
【定义】
【成员】
无。
【注意事项】
无。
【相关数据类型及接口】
无。
OT_RGN_GRP_MAX
【说明】
定义批处理最大的组数。
【定义】
【成员】
无。
【注意事项】
无。
【相关数据类型及接口】
无。
OT_RGN_HANDLE_MAX
【说明】
定义区域的最大句柄个数。
【定义】
Hi3519DV500/Hi3511CV100:
Hi3516CV610:
【成员】
无。
【注意事项】
无。
【相关数据类型及接口】
无。
OT_RGN_BATCH_HANDLE_MAX
【说明】
定义一组批处理最多区域句柄数。
【定义】
【成员】
无
【注意事项】
无
【相关数据类型及接口】
无
OT_RGN_MAX_BUF_NUM
【说明】
定义区域使用的最大内存数量。
【定义】
【成员】
无。
【注意事项】
无。
【相关数据类型及接口】
无。
OT_RGN_MAX_BMP_UPDATE_NUM
【说明】
定义区域使用的最大位图更新数量。
【定义】
【成员】
无。
【注意事项】
无。
【相关数据类型及接口】
无。
OT_RGN_MIN_WIDTH
【说明】
定义区域宽度的最小值。
【定义】
【成员】
无。
【注意事项】
无。
【相关数据类型及接口】
无。
OT_RGN_MIN_HEIGHT
【说明】
定义区域高度的最小值。
【定义】
【成员】
无。
【注意事项】
无。
【相关数据类型及接口】
无。
OT_RGN_QUAD_POINT_NUM
【说明】
定义区域任意四边形顶点个数。
【定义】
【成员】
无。
【注意事项】
无。
【相关数据类型及接口】
无。
OT_RGN_ALIGN
【说明】
定义区域坐标宽高度对齐值。
【定义】
【成员】
无。
【注意事项】
无。
【相关数据类型及接口】
无。
OT_RGN_COVER_MIN_X
【说明】
定义COVER矩形区域起始位置以及任意四边形坐标点X坐标最小值。
【定义】
Hi3519DV500:
Hi3516CV610:
Hi3511CV100:
【成员】
无。
【注意事项】
无。
【相关数据类型及接口】
无。
OT_RGN_COVER_MIN_Y
【说明】
定义COVER矩形区域起始位置以及任意四边形坐标点Y坐标最小值。
【定义】
Hi3519DV500:
Hi3516CV610:
Hi3511CV100:
【成员】
无。
【注意事项】
无。
【相关数据类型及接口】
无。
OT_RGN_COVER_MAX_X
【说明】
定义COVER矩形区域起始位置以及任意四边形坐标点X坐标最大值。
【定义】
Hi3519DV500:
Hi3516CV610:
Hi3511CV100:
【成员】
无。
【注意事项】
无。
【相关数据类型及接口】
无。
OT_RGN_COVER_MAX_Y
【说明】
定义COVER矩形区域起始位置以及任意四边形坐标点Y坐标最大值。
【定义】
Hi3519DV500/Hi3511CV100:
Hi3516CV610:
【注意事项】
无。
【相关数据类型及接口】
无。
OT_RGN_COVER_MAX_WIDTH
【说明】
定义COVER矩形区域的最大宽度。
【定义】
Hi3519DV500:
Hi3516CV610:
Hi3511CV100:
【成员】
无。
【注意事项】
无。
【相关数据类型及接口】
无。
OT_RGN_COVER_MAX_HEIGHT
【说明】
定义COVER矩形区域的最大高度。
【定义】
Hi3519DV500/Hi3511CV100:
Hi3516CV610:
【成员】
无。
【注意事项】
无。
【相关数据类型及接口】
无。
OT_RGN_COVER_MIN_THICK
【说明】
定义能力集COVER空心任意四边形的最小线宽。
【定义】
【成员】
无。
【注意事项】
无。
【相关数据类型及接口】
无。
OT_RGN_COVER_MAX_THICK
【说明】
定义能力集COVER空心任意四边形的最大线宽。
【定义】
【成员】
无。
【注意事项】
无。
【相关数据类型及接口】
无。
OT_RGN_COVEREX_MIN_X
【说明】
定义COVEREX矩形区域起始位置以及任意四边形坐标点X坐标最小值。
【定义】
Hi3519DV500:
Hi3516CV610:
Hi3511CV100:
【成员】
无。
【注意事项】
无。
【相关数据类型及接口】
无。
OT_RGN_COVEREX_MIN_Y
【说明】
定义COVEREX矩形区域起始位置以及任意四边形坐标点Y坐标最小值。
【定义】
Hi3519DV500:
Hi3516CV610:
Hi3511CV100:
【成员】
无。
【注意事项】
无。
【相关数据类型及接口】
无。
OT_RGN_COVEREX_MAX_X
【说明】
定义COVEREX矩形区域起始位置以及任意四边形坐标点X坐标最大值。
【定义】
Hi3519DV500/Hi3511CV100:
Hi3516CV610:
【成员】
无。
【注意事项】
无。
【相关数据类型及接口】
无。
OT_RGN_COVEREX_MAX_Y
【说明】
定义COVEREX矩形区域起始位置以及任意四边形坐标点Y坐标最大值。
【定义】
Hi3519DV500/Hi3511CV100:
Hi3516CV610:
【成员】
无。
【注意事项】
无。
【相关数据类型及接口】
无。
OT_RGN_COVEREX_MAX_WIDTH
【说明】
定义COVEREX矩形区域的最大宽度。
【定义】
Hi3519DV500/Hi3511CV100:
Hi3516CV610:
【成员】
无。
【注意事项】
无。
【相关数据类型及接口】
无。
OT_RGN_COVEREX_MAX_HEIGHT
【说明】
定义COVEREX矩形区域的最大高度。
【定义】
Hi3519DV500/Hi3511CV100:
Hi3516CV610:
【成员】
无。
【注意事项】
无。
【相关数据类型及接口】
无。
OT_RGN_COVEREX_MIN_THICK
【说明】
定义能力集COVEREX空心任意四边形的最小线宽。
【定义】
【成员】
无。
【注意事项】
无。
【相关数据类型及接口】
无。
OT_RGN_COVEREX_MAX_THICK
【说明】
定义能力集COVEREX空心任意四边形的最大线宽。
【定义】
【成员】
无。
【注意事项】
无。
【相关数据类型及接口】
无。
OT_RGN_OVERLAY_MIN_X
【说明】
定义OVERLAY区域起始位置X坐标最小值。
【定义】
【成员】
无。
【注意事项】
无。
【相关数据类型及接口】
无。
OT_RGN_OVERLAY_MIN_Y
【说明】
定义OVERLAY区域起始位置Y坐标最小值。
【定义】
【成员】
无。
【注意事项】
无。
【相关数据类型及接口】
无。
OT_RGN_OVERLAY_MAX_X
【说明】
定义OVERLAY区域起始位置X坐标最大值。
【定义】
Hi3519DV500:
Hi3516CV610:
Hi3511CV100:
【成员】
无。
【注意事项】
无。
【相关数据类型及接口】
无。
OT_RGN_OVERLAY_MAX_Y
【说明】
定义OVERLAY区域起始位置Y坐标最大值。
【定义】
Hi3519DV500/Hi3511CV100:
Hi3516CV610:
【成员】
无。
【注意事项】
无。
【相关数据类型及接口】
无。
OT_RGN_OVERLAY_MAX_WIDTH
【说明】
定义OVERLAY区域的最大宽度。
【定义】
Hi3519DV500:
Hi3516CV610:
Hi3511CV100:
【成员】
无。
【注意事项】
无。
【相关数据类型及接口】
无。
OT_RGN_OVERLAY_MAX_HEIGHT
【说明】
定义OVERLAY区域的最大高度。
【定义】
Hi3519DV500/Hi3511CV100:
Hi3516CV610:
【成员】
无。
【注意事项】
无。
【相关数据类型及接口】
无。
OT_RGN_OVERLAYEX_MIN_X
【说明】
定义OVERLAYEX区域起始位置X坐标最小值。
【定义】
【成员】
无。
【注意事项】
无。
【相关数据类型及接口】
无。
OT_RGN_OVERLAYEX_MIN_Y
【说明】
定义OVERLAYEX区域起始位置Y坐标最小值。
【定义】
【成员】
无。
【注意事项】
无。
【相关数据类型及接口】
无。
OT_RGN_OVERLAYEX_MAX_X
【说明】
定义OVERLAYEX区域起始位置X坐标最大值。
【定义】
【成员】
无。
【注意事项】
无。
【相关数据类型及接口】
无。
OT_RGN_OVERLAYEX_MAX_Y
【说明】
定义OVERLAYEX区域起始位置Y坐标最大值。
【定义】
【成员】
无。
【注意事项】
无。
【相关数据类型及接口】
无。
OT_RGN_OVERLAYEX_MAX_WIDTH
【说明】
定义OVERLAYEX区域的最大宽度。
【定义】
Hi3519DV500:
Hi3511CV100:
【成员】
无。
【注意事项】
无。
【相关数据类型及接口】
无。
OT_RGN_OVERLAYEX_MAX_HEIGHT
【说明】
定义OVERLAYEX区域的最大高度。
【定义】
【成员】
无。
【注意事项】
无。
【相关数据类型及接口】
无。
OT_RGN_LINE_POINT_NUM
【说明】
定义LINEEX区域顶点个数。
【定义】
【成员】
无。
【注意事项】
无。
【相关数据类型及接口】
无。
OT_RGN_LINEEX_MIN_X
【说明】
定义LINEEX区域起点和终点位置坐标点X坐标最小值。
【定义】
Hi3519DV500/Hi3511CV100:
Hi3516CV610:
【成员】
无。
【注意事项】
无。
【相关数据类型及接口】
无。
OT_RGN_LINEEX_MIN_Y
【说明】
定义LINEEX区域起点和终点位置坐标点Y坐标最小值。
【定义】
Hi3519DV500/Hi3511CV100:
Hi3516CV610:
【成员】
无。
【注意事项】
无。
【相关数据类型及接口】
无。
OT_RGN_LINEEX_MAX_X
【说明】
定义LINEEX区域起点和终点位置坐标点X坐标最大值。
【定义】
Hi3519DV500/Hi3511CV100:
Hi3516CV610:
【成员】
无。
【注意事项】
无。
【相关数据类型及接口】
无。
OT_RGN_LINEEX_MAX_Y
【说明】
定义LINEEX区域起点和终点位置坐标点Y坐标最大值。
【定义】
Hi3519DV500/Hi3511CV100:
Hi3516CV610:
【成员】
无。
【注意事项】
无。
【相关数据类型及接口】
无。
OT_RGN_LINEEX_MIN_THICK
【说明】
定义LINEEX区域最小宽度。
【定义】
【成员】
无。
【注意事项】
LINEEX不支持单像素线宽,此值为实际宽度。
【相关数据类型及接口】
无。
OT_RGN_LINEEX_MAX_THICK
【说明】
定义LINEEX区域最大宽度。
【定义】
【成员】
无。
【注意事项】
LINEEX不支持奇数像素线宽,此值为实际宽度。
【相关数据类型及接口】
无。
OT_RGN_LINEEX_POINT_NUM
【说明】
定义LINEEX区域坐标点数量。
【定义】
【成员】
无。
【注意事项】
无
【相关数据类型及接口】
无。
OT_RGN_MOSAIC_MIN_X
【说明】
定义MOSAIC矩形区域起始位置坐标点X坐标最小值。
【定义】
Hi3519DV500:
Hi3511CV100:
【成员】
无。
【注意事项】
无。
【相关数据类型及接口】
无。
OT_RGN_MOSAIC_MIN_Y
【说明】
定义MOSAIC矩形区域起始位置坐标点Y坐标最小值。
【定义】
【成员】
无。
【注意事项】
无。
【相关数据类型及接口】
无。
OT_RGN_MOSAIC_MAX_X
【说明】
定义MOSAIC矩形区域起始位置坐标点X坐标最大值。
【定义】
Hi3519DV500:
Hi3511CV100:
【成员】
无。
【注意事项】
无。
【相关数据类型及接口】
无。
OT_RGN_MOSAIC_MAX_Y
【说明】
定义MOSAIC矩形区域起始位置坐标点Y坐标最大值。
【定义】
【成员】
无。
【注意事项】
无。
【相关数据类型及接口】
无。
OT_RGN_MOSAIC_MIN_WIDTH
【说明】
定义MOSAIC矩形区域的最小宽度。
【定义】
【成员】
无。
【注意事项】
无。
【相关数据类型及接口】
无。
OT_RGN_MOSAIC_MIN_HEIGHT
【说明】
定义MOSAIC矩形区域的最小高度。
【定义】
【成员】
无。
【注意事项】
无。
【相关数据类型及接口】
无。
OT_RGN_MOSAIC_MAX_WIDTH
【说明】
定义MOSAIC矩形区域的最大宽度。
【定义】
Hi3519DV500:
Hi3511CV100:
【成员】
无。
【注意事项】
无。
【相关数据类型及接口】
无。
OT_RGN_MOSAIC_MAX_HEIGHT
【说明】
定义MOSAIC矩形区域的最大高度。
【定义】
【成员】
无。
【注意事项】
无。
【相关数据类型及接口】
无。
OT_RGN_MOSAICEX_MIN_X
【说明】
定义MOSAICEX矩形区域起始位置坐标点X坐标最小值。
【定义】
Hi3519DV500:
Hi3511CV100:
【成员】
无。
【注意事项】
无。
【相关数据类型及接口】
无。
OT_RGN_MOSAICEX_MIN_Y
【说明】
定义MOSAICEX矩形区域起始位置坐标点Y坐标最小值。
【定义】
【成员】
无。
【注意事项】
无。
【相关数据类型及接口】
无。
OT_RGN_MOSAICEX_MAX_X
【说明】
定义MOSAICEX矩形区域起始位置坐标点X坐标最大值。
【定义】
【成员】
无。
【注意事项】
无。
【相关数据类型及接口】
无。
OT_RGN_MOSAICEX_MAX_Y
【说明】
定义MOSAICEX矩形区域起始位置坐标点Y坐标最大值。
【定义】
【成员】
无。
【注意事项】
无。
【相关数据类型及接口】
无。
OT_RGN_MOSAICEX_MIN_WIDTH
【说明】
定义MOSAICEX矩形区域的最小宽度。
【定义】
【成员】
无。
【注意事项】
无。
【相关数据类型及接口】
无。
OT_RGN_MOSAICEX_MIN_HEIGHT
【说明】
定义MOSAICEX矩形区域的最小高度。
【定义】
【成员】
无。
【注意事项】
无。
【相关数据类型及接口】
无。
OT_RGN_MOSAICEX_MAX_WIDTH
【说明】
定义MOSAICEX矩形区域的最大宽度。
【定义】
Hi3519DV500:
Hi3511CV100:
【成员】
无。
【注意事项】
无。
【相关数据类型及接口】
无。
OT_RGN_MOSAICEX_MAX_HEIGHT
【说明】
定义MOSAICEX矩形区域的最大高度。
【定义】
【成员】
无。
【注意事项】
无。
【相关数据类型及接口】
无。
OT_RGN_CORNER_RECT_MIN_X
【说明】
定义CORNER_RECT起始位置坐标点X坐标最小值。
【定义】
Hi3519DV500:
Hi3516CV610:
Hi3511CV100:
【成员】
无。
【注意事项】
无。
【相关数据类型及接口】
无。
OT_RGN_CORNER_RECT_MIN_Y
【说明】
定义CORNER_RECT起始位置坐标点Y坐标最小值。
【定义】
Hi3519DV500/Hi3511CV100:
Hi3516CV610:
【成员】
无。
【注意事项】
无。
【相关数据类型及接口】
无。
OT_RGN_CORNER_RECT_MAX_X
【说明】
定义CORNER_RECT起始位置坐标点X坐标最大值。
【定义】
Hi3519DV500:
Hi3516CV610:
Hi3511CV100:
【成员】
无。
【注意事项】
无。
【相关数据类型及接口】
无。
OT_RGN_CORNER_RECT_MAX_Y
【说明】
定义CORNER_RECT起始位置坐标点Y坐标最大值。
【定义】
Hi3519DV500/Hi3511CV100:
Hi3516CV610:
【成员】
无。
【注意事项】
无。
【相关数据类型及接口】
无。
OT_RGN_CORNER_RECT_MAX_WIDTH
【说明】
定义CORNER_RECT的最大宽度。
【定义】
Hi3519DV500:
Hi3516CV610:
Hi3511CV100:
【成员】
无。
【注意事项】
无。
【相关数据类型及接口】
无。
OT_RGN_CORNER_RECT_MAX_HEIGHT
【说明】
定义CORNER_RECT的最大高度。
【定义】
Hi3519DV500/Hi3511CV100:
Hi3516CV610:
【成员】
无。
【注意事项】
无。
【相关数据类型及接口】
无。
OT_RGN_CORNER_RECT_MIN_HOR_LEN
【说明】
定义CORNER_RECT最小水平线长度。
【定义】
【成员】
无。
【注意事项】
无。
【相关数据类型及接口】
无。
OT_RGN_CORNER_RECT_MIN_VER_LEN
【说明】
定义CORNER_RECT最小垂直线长度。
【定义】
【成员】
无。
【注意事项】
无。
【相关数据类型及接口】
无。
OT_RGN_CORNER_RECT_MAX_HOR_LEN
【说明】
定义CORNER_RECT的最大水平线长度。
【定义】
Hi3519DV500/Hi3511CV100:
Hi3516CV610:
【成员】
无。
【注意事项】
无。
【相关数据类型及接口】
无。
OT_RGN_CORNER_RECT_MAX_VER_LEN
【说明】
定义CORNER_RECT的最大垂直线长度。
【定义】
Hi3519DV500/Hi3511CV100:
Hi3516CV610:
【成员】
无。
【注意事项】
无。
【相关数据类型及接口】
无。
OT_RGN_CORNER_RECT_MIN_THICK
【说明】
定义CORNER_RECT的最小线宽。
【定义】
【成员】
无。
【注意事项】
无。
【相关数据类型及接口】
无。
OT_RGN_CORNER_RECT_MAX_THICK
【说明】
定义CORNER_RECT的最大线宽。
【定义】
【成员】
无。
【注意事项】
无。
【相关数据类型及接口】
无。
OT_RGN_CORNER_RECTEX_MIN_X
【说明】
定义CORNER_RECTEX起始位置坐标点X坐标最小值。
【定义】
Hi3519DV500:
Hi3516CV610:
Hi3511CV100:
【成员】
无。
【注意事项】
无。
【相关数据类型及接口】
无。
OT_RGN_CORNER_RECTEX_MIN_Y
【说明】
定义CORNER_RECTEX起始位置坐标点Y坐标最小值。
【定义】
Hi3519DV500/Hi3511CV100:
Hi3516CV610:
【成员】
无。
【注意事项】
无。
【相关数据类型及接口】
无。
OT_RGN_CORNER_RECTEX_MAX_X
【说明】
定义CORNER_RECTEX起始位置坐标点X坐标最大值。
【定义】
Hi3519DV500/Hi3511CV100:
Hi3516CV610:
【成员】
无。
【注意事项】
无。
【相关数据类型及接口】
无。
OT_RGN_CORNER_RECTEX_MAX_Y
【说明】
定义CORNER_RECTEX起始位置坐标点Y坐标最大值。
【定义】
Hi3519DV500/Hi3511CV100:
Hi3516CV610:
【成员】
无。
【注意事项】
无。
【相关数据类型及接口】
无。
OT_RGN_CORNER_RECTEX_MAX_WIDTH
【说明】
定义CORNER_RECTEX的最大宽度。
【定义】
Hi3519DV500:
Hi3516CV610:
Hi3511CV100:
【成员】
无。
【注意事项】
无。
【相关数据类型及接口】
无。
OT_RGN_CORNER_RECTEX_MAX_HEIGHT
【说明】
定义CORNER_RECTEX的最大高度。
【定义】
Hi3519DV500/Hi3511CV100:
Hi3516CV610:
【成员】
无。
【注意事项】
无。
【相关数据类型及接口】
无。
OT_RGN_CORNER_RECTEX_MIN_HOR_LEN
【说明】
定义CORNER_RECTEX最小水平线长度。
【定义】
【成员】
无。
【注意事项】
无。
【相关数据类型及接口】
无。
OT_RGN_CORNER_RECTEX_MIN_VER_LEN
【说明】
定义CORNER_RECTEX最小垂直线长度。
【定义】
【成员】
无。
【注意事项】
无。
【相关数据类型及接口】
无。
OT_RGN_CORNER_RECTEX_MAX_HOR_LEN
【说明】
定义CORNER_RECTEX的最大水平线长度。
【定义】
Hi3519DV500/Hi3511CV100:
Hi3516CV610:
【成员】
无。
【注意事项】
无。
【相关数据类型及接口】
无。
OT_RGN_CORNER_RECTEX_MAX_VER_LEN
【说明】
定义CORNER_RECTEX的最大垂直线长度。
【定义】
Hi3519DV500/Hi3511CV100:
Hi3516CV610:
【成员】
无。
【注意事项】
无。
【相关数据类型及接口】
无。
OT_RGN_CORNER_RECTEX_MIN_THICK
【说明】
定义CORNER_RECTEX的最小线宽。
【定义】
【成员】
无。
【注意事项】
无。
【相关数据类型及接口】
无。
OT_RGN_CORNER_RECTEX_MAX_THICK
【说明】
定义CORNER_RECTEX的最大线宽。
【定义】
【成员】
无。
【注意事项】
无。
【相关数据类型及接口】
无。
OT_RGN_VENC_MAX_OVERLAY_NUM
【说明】
定义一个VENC通道的最大叠加OVERLAY区域的个数。
【定义】
【成员】
无。
【注意事项】
无。
【相关数据类型及接口】
无。
OT_RGN_PCIV_MAX_OVERLAYEX_NUM
【说明】
定义一个PCIV通道最大叠加OVERLAYEX区域的个数。
【定义】
【成员】
无。
【注意事项】
无。
【相关数据类型及接口】
无。
OT_RGN_VPSS_MAX_OVERLAY_NUM
【说明】
定义一个VPSS组的最大叠加OVERLAY区域的个数。
【定义】
【成员】
无。
【注意事项】
无。
【相关数据类型及接口】
无。
OT_RGN_VPSS_MAX_OVERLAYEX_NUM
【说明】
定义一个VPSS通道的最大叠加OVERLAYEX区域的个数。
【定义】
【成员】
无。
【注意事项】
无
【相关数据类型及接口】
无。
OT_RGN_VPSS_MAX_COVER_NUM
【说明】
定义一个VPSS组最大叠加COVER区域的个数。
【定义】
Hi3519DV500/Hi3511CV100:
Hi3516CV610:
【成员】
无。
【注意事项】
无。
【相关数据类型及接口】
无。
OT_RGN_VPSS_MAX_COVEREX_NUM
【说明】
定义一个VPSS通道最大叠加COVEREX区域的个数。
【定义】
【成员】
无。
【注意事项】
无。
【相关数据类型及接口】
无。
OT_RGN_VPSS_MAX_LINEEX_NUM
【说明】
定义一个VPSS通道的最大叠加LINEEX区域的个数。
【定义】
【成员】
无。
【注意事项】
无。
【相关数据类型及接口】
无。
OT_RGN_VPSS_MAX_MOSAIC_NUM
【说明】
定义一个VPSS组的最大叠加MOSAIC区域的个数。
【定义】
【成员】
无。
【注意事项】
无。
【相关数据类型及接口】
无。
OT_RGN_VPSS_MAX_MOSAICEX_NUM
【说明】
定义一个VPSS通道的最大叠加MOSAICEX区域的个数。
【定义】
Hi3519DV500:
Hi3511CV100:
【成员】
无。
【注意事项】
无。
【相关数据类型及接口】
无。
OT_RGN_VPSS_MAX_CORNER_RECT_NUM
【说明】
定义一个VPSS通道最大叠加CORNER_RECT区域的个数。
【定义】
Hi3519DV500/Hi3511CV100:
Hi3516CV610:
【成员】
无。
【注意事项】
无
【相关数据类型及接口】
无。
OT_RGN_VPSS_MAX_CORNER_RECTEX_NUM
【说明】
定义一个VPSS通道最大叠加CORNER_RECTEX区域的个数。
【定义】
Hi3519DV500/Hi3511CV100:
Hi3516CV610:
【成员】
无。
【注意事项】
无。
【相关数据类型及接口】
无。
OT_RGN_VO_MAX_LINEEX_NUM
【说明】
定义一个VO通道的最大叠加LINEEX区域的个数。
【定义】
【成员】
无。
【注意事项】
Hi3516CV610不支持此宏。
【相关数据类型及接口】
无。
OT_RGN_VO_MAX_OVERLAYEX_NUM
【说明】
定义一个VO通道的最大叠加OVERLAYEX区域的个数。
【定义】
【成员】
无。
【注意事项】
Hi3516CV610不支持此宏。
【相关数据类型及接口】
无。
OT_RGN_VO_MAX_COVEREX_NUM
【说明】
定义一个VO通道的最大叠加COVEREX区域的个数。
【定义】
【成员】
无。
【注意事项】
Hi3516CV610不支持此宏。
【相关数据类型及接口】
无。
OT_RGN_VO_MAX_CORNER_RECTEX_NUM
【说明】
定义一个VO通道最大叠加CORNER_RECTEX区域的个数。
【定义】
【成员】
无。
【注意事项】
Hi3516CV610不支持此宏。
【相关数据类型及接口】
无
OT_RGN_VI_MAX_COVER_NUM
【说明】
定义一个VI通道的最大叠加COVER区域的个数。
【定义】
【成员】
无
【注意事项】
仅Hi3511CV100支持此宏。
【相关数据类型及接口】
无
OT_RGN_VI_MAX_COVEREX_NUM
【说明】
定义一个VI通道的最大叠加COVEREX区域的个数。
【定义】
【成员】
无
【注意事项】
无。
【相关数据类型及接口】
无
OT_RGN_VI_MAX_OVERLAYEX_NUM
【说明】
定义一个VI通道的最大叠加OVERLAYEX区域的个数。
【定义】
【成员】
无
【注意事项】
Hi3516CV610不支持此宏。
【相关数据类型及接口】
无
OT_RGN_AVS_MAX_OVERLAYEX_NUM
【说明】
定义一个AVS通道的最大叠加OVERLAYEX区域的个数。
【定义】
【成员】
无
【注意事项】
Hi3519DV500不支持此宏
【相关数据类型及接口】
无
OT_RGN_MCF_MAX_OVERLAYEX_NUM
【说明】
定义一个MCF通道的最大叠加OVERLAYEX区域的个数。
【定义】
【成员】
无。
【注意事项】
无。
【相关数据类型及接口】
无。
OT_RGN_MCF_MAX_COVER_NUM
【说明】
定义一个MCF组最大叠加COVER区域的个数。
【定义】
无。
【注意事项】
无。
【相关数据类型及接口】
无
OT_RGN_MCF_MAX_COVEREX_NUM
【说明】
定义一个MCF通道最大叠加COVEREX区域的个数。
【定义】
【成员】
无。
【注意事项】
无。
【相关数据类型及接口】
无。
OT_RGN_MCF_MAX_LINEEX_NUM
【说明】
定义一个MCF通道的最大叠加LINEEX区域的个数。
【定义】
【成员】
无。
【注意事项】
无。
【相关数据类型及接口】
无。
OT_RGN_MCF_MAX_MOSAIC_NUM
【说明】
定义一个MCF组的最大叠加MOSAIC区域的个数。
【定义】
【成员】
无。
【注意事项】
无。
【相关数据类型及接口】
无。
OT_RGN_MCF_MAX_MOSAICEX_NUM
【说明】
定义一个MCF通道的最大叠加MOSAICEX区域的个数。
【定义】
【成员】
无。
【注意事项】
无。
【相关数据类型及接口】
无。
OT_RGN_MCF_MAX_CORNER_RECTEX_NUM
【说明】
定义一个MCF通道最大叠加CORNER_RECTEX区域的个数。
【定义】
【成员】
无。
【注意事项】
无。
【相关数据类型及接口】
无。
OT_RGN_COORD_X_MAX
【说明】
定义COVER 相对x坐标最大值
【定义】
【成员】
无
【注意事项】
无
【相关数据类型及接口】
无。
OT_RGN_COORD_Y_MAX
【说明】
定义COVER 相对Y坐标最大值
【定义】
【成员】
无
【注意事项】
无
【相关数据类型及接口】
无
OT_RGN_COORD_WIDTH_MAX
【说明】
定义COVER 相对宽度最大值
【定义】
【成员】
无
【注意事项】
无
【相关数据类型及接口】
无
OT_RGN_COORD_HEIGHT_MAX
【说明】
定义COVER 相对高度最大值。
【定义】
【成员】
无
【注意事项】
无
【相关数据类型及接口】
无
OT_RGN_OVERLAY_VENC_MAX_ALPHA
【说明】
定义VENC 透明度值。
【定义】
【成员】
无
【注意事项】
无
【相关数据类型及接口】
无
ot_rgn_handle
【说明】
定义区域句柄。
【定义】
【成员】
【注意事项】
无。
【相关数据类型及接口】
无
ot_rgn_handle_grp
【说明】
定义批处理组号。
【定义】
【成员】
【注意事项】
无。
【相关数据类型及接口】
无。
ot_rgn_type
【说明】
定义区域类型。
【定义】
typedef enum {
OT_RGN_OVERLAY = 0,
OT_RGN_COVER,
OT_RGN_OVERLAYEX,
OT_RGN_COVEREX,
OT_RGN_LINEEX,
OT_RGN_MOSAIC,
OT_RGN_MOSAICEX,
OT_RGN_CORNER_RECT,
OT_RGN_CORNER_RECTEX,
OT_RGN_BUTT
} ot_rgn_type;
【成员】
【注意事项】
无。
【相关数据类型及接口】
无。
ot_rgn_overlay_qp_info
【说明】
定义叠加区域qp属性结构体。
【定义】
【成员】
|
|
【注意事项】
仅用于编码中的码率控制,如果对此选项不了解,建议全部设置为0。
【相关数据类型及接口】
无。
ot_rgn_attach_dst
【说明】
定义叠加区域VENC图像的类型。
【定义】
typedef enum {
OT_RGN_ATTACH_JPEG_MAIN =0,
OT_RGN_ATTACH_JPEG_MPF0,
OT_RGN_ATTACH_JPEG_MPF1,
OT_RGN_ATTACH_JPEG_BUTT
} ot_rgn_attach_dst;
【成员】
【注意事项】
- 当前只支持OVERLAY类型的区域进行设置。
- OVERLAY类型的区域如果绑定到VENC通道上时,这个属性必须配置。
- OVERLAY类型的区域如果用于VENC通道的H.265或者H.264协议,需要将这个属性配置成OT_RGN_ATTACH_JPEG_MAIN。如果是JPEG协议,则需根据需要进行配置。
【相关数据类型及接口】
无
ot_rgn_overlay_attr
【说明】
定义叠加区域属性结构体。
【定义】
typedef struct {
ot_pixel_format pixel_format;
td_u32 bg_color;
ot_size size;
td_u32 canvas_num;
td_u32 clut[OT_RGN_CLUT_NUM];
} ot_rgn_overlay_attr;
【成员】
|
OT_PIXEL_FORMAT_ARGB_8888(VENC不支持) OT_PIXEL_FORMAT_ARGB_CLUT2_2X2(仅Hi3516CV610支持) OT_PIXEL_FORMAT_ARGB_CLUT2_4X4(仅Hi3516CV610支持) |
|
|
取值范围:当像素格式为OT_PIXEL_FORMAT_ARGB_CLUT2、OT_PIXEL_FORMAT_ARGB_CLUT2_2X2(仅Hi3516CV610支持)、OT_PIXEL_FORMAT_ARGB_CLUT2_4X4(仅Hi3516CV610支持),取值范围:[0, 3] OT_PIXEL_FORMAT_ARGB_CLUT4、OT_PIXEL_FORMAT_ARGB_CLUT4_2X2(仅Hi3516CV610支持)、OT_PIXEL_FORMAT_ARGB_CLUT4_4X4(仅Hi3516CV610支持),取值范围:[0, 15] |
|
|
宽度:[2, OT_RGN_OVERLAY_MAX_WIDTH],要求以2对齐。 高度:[2, OT_RGN_OVERLAY_MAX_HEIGHT],要求以2对齐。 |
|
|
[1, OT_RGN_MAX_BUF_NUM] |
|
clut[OT_RGN_CLUT_NUM] |
像素为OT_PIXEL_FORMAT_ARGB_CLUT2或OT_PIXEL_FORMAT_ARGB_CLUT4时,才进行参数范围检查。 |
【注意事项】
- pixel_format、size在调用ss_mpi_rgn_attach_to_chn后,ss_mpi_rgn_detach_from_chn之前为静态变量。
- OVERLAY的宽高与该区域分配的内存大小相关,建议按实际需要设置区域的宽高,以免造成内存浪费。
- canvas_num 建议设置为2。
【相关数据类型及接口】
无。
ot_rgn_overlay_chn_attr
【说明】
定义叠加区域的通道显示属性。
【定义】
typedef struct {
ot_point point;
td_u32 fg_alpha;
td_u32 bg_alpha;
td_u32 layer;
ot_rgn_overlay_qp_info qp_info;
ot_rgn_attach_dst dst;
} ot_rgn_overlay_chn_attr;
【成员】
OVERLAY描述:
|
水平位置X:[0, OT_RGN_OVERLAY_MAX_X],要求以2对齐。 垂直位置Y:[0, OT_RGN_OVERLAY_MAX_Y],要求以2对齐。 |
|
|
取值范围:参见结构体ot_rgn_overlay_qp_info。 |
|
|
取值范围:参见枚举ot_rgn_attach_dst。 |
【注意事项】
建议用户把OVERLAY的起始位置和宽高限定为16对齐。如图1所示,由于该OVERLAY的宽高不是16对齐,就会出现一个宏块有两个qp的情况,比如宏块A会有region块的qp以及编码计算出来的qp。但是一个宏块只能有一个qp,编码器会选择region的qp,如果宏块A的qp(即region的qp)和它的相邻宏块B的qp相差较大,会导致region区域周边出现图像质量不一致的现象

- 区域内存信息为OT_PIXEL_FORMAT_ARGB_1555格式时,解决方案将会扩展Alpha值。当Alpha位为1时,使用fg_alpha进行透明度叠加;当Alpha位为0时,使用bg_alpha进行透明度叠加。
- 0表示全透明;255表示不透明。
【相关数据类型及接口】
无。
ot_rgn_cover_chn_attr
【说明】
定义遮挡区域的通道显示属性。
【定义】
【成员】
|
[OT_RGN_COVER_MIN_X, OT_RGN_COVER_MAX_X],要求以2对齐。 [OT_RGN_COVER_MIN_Y, OT_RGN_COVER_MAX_Y],要求以2对齐。 宽度:[2, OT_RGN_COVER_MAX_WIDTH],要求以2对齐。 高度:[2, OT_RGN_COVER_MAX_HEIGHT],要求以2对齐。 水平位置X:[0, OT_RGN_COORD_X_MAX]。 垂直位置Y:[0, OT_RGN_COORD_Y_MAX]。 宽度:[1,OT_RGN_COORD_WIDTH_MAX]。 高度:[1, OT_RGN_COORD_HEIGHT_MAX]。 |
【注意事项】
- 区域颜色数据格式为OT_PIXEL_FORMAT_RGB_888。
- VPSS、MCF模块支持COVER相对坐标。
【相关数据类型及接口】
- ot_cover
- ot_quad_cover
ot_rgn_coverex_chn_attr
【说明】
定义扩展遮挡区域的通道显示属性。
【定义】
【成员】
|
[OT_RGN_COVEREX_MIN_X, OT_RGN_COVEREX_MAX_X],要求以2对齐。 [OT_RGN_COVEREX_MIN_Y, OT_RGN_COVEREX_MAX_Y],要求以2对齐。 宽度:[2, OT_RGN_COVEREX_MAX_WIDTH],要求以2对齐。 高度:[2, OT_RGN_COVEREX_MAX_HEIGHT],要求以2对齐。 水平位置X:[0, OT_RGN_COORD_X_MAX] 垂直位置Y:[0, OT_RGN_COORD_Y_MAX] 宽度:[1, OT_RGN_COORD_WIDTH_MAX] 高度:[1, OT_RGN_COORD_HEIGHT_MAX] |
|
【注意事项】
- 区域颜色数据格式为OT_PIXEL_FORMAT_RGB_888。
- COVEREX只有VPSS支持相对坐标。
【相关数据类型及接口】
- ot_cover
- ss_mpi_vpss_set_mod_param
ot_rgn_lineex_chn_attr
【说明】
定义线性遮挡区域的通道显示属性。
【定义】
typedef struct {
td_u32 thick;
td_u32 color;
ot_point points[OT_RGN_LINEEX_POINT_NUM];
} ot_rgn_lineex_chn_attr;
【成员】
线宽,最小为OT_RGN_LINEEX_MIN_THICK,最大为OT_RGN_LINEEX_MAX_THICK,要求以2对齐。 |
|
points[OT_RGN_LINEEX_POINT_NUM] |
【注意事项】
区域颜色数据格式为OT_PIXEL_FORMAT_RGB_888。
【相关数据类型及接口】
ot_rgn_overlayex_attr
【说明】
定义扩展叠加区域属性结构体。
【定义】
typedef struct {
ot_pixel_format pixel_format;
td_u32 bg_color;
ot_size size;
td_u32 canvas_num;
td_u32 clut[OT_RGN_CLUT_NUM];
} ot_rgn_overlayex_attr;
【成员】
|
当像素格式为OT_PIXEL_FORMAT_ARGB_CLUT2,取值范围:[0,3]。 |
|
|
宽度:[2, OT_RGN_OVERLAYEX_MAX_WIDTH],要求以2对齐。 高度:[2, OT_RGN_OVERLAYEX_MAX_HEIGHT],要求以2对齐。 |
|
|
取值范围:[1, OT_RGN_MAX_BUF_NUM] |
|
clut[OT_RGN_CLUT_NUM] |
像素为OT_PIXEL_FORMAT_ARGB_CLUT2或者OT_PIXEL_FORMAT_ARGB_CLUT4时,才进行参数范围检查。 |
【注意事项】
- pixel_format、size只在调用ss_mpi_rgn_attach_to_chn后,ss_mpi_rgn_detach_from_chn之前为静态变量。
- OVERLAYEX的宽高与该区域分配的内存大小相关,建议按实际需要设置区域的宽高,以免造成内存浪费。
- clut[OT_RGN_CLUT_NUM],RGB颜色查表属性,用于OVERLAYEX设置RGN颜色值。
【相关数据类型及接口】
无。
ot_rgn_overlayex_chn_attr
【说明】
定义扩展叠加区域的通道显示属性。
【定义】
typedef struct {
ot_point point;
td_u32 fg_alpha;
td_u32 bg_alpha;
td_u32 layer;
} ot_rgn_overlayex_chn_attr;
【成员】
|
水平位置X:[OT_RGN_OVERLAYEX_MIN_X, OT_RGN_OVERLAYEX_MAX_X],要求以2对齐。 垂直位置Y:[OT_RGN_OVERLAYEX_MIN_Y, OT_RGN_OVERLAYEX_MAX_Y],要求以2对齐。 |
|
【注意事项】
- 区域内存信息为OT_PIXEL_FORMAT_ARGB_1555格式时,解决方案将会扩展Alpha值。当Alpha位为1时,使用fg_alpha进行透明度叠加;当Alpha位为0时,使用bg_alpha进行透明度叠加。
- 0表示全透明;255表示不透明。
【相关数据类型及接口】
无。
ot_rgn_type_attr
【说明】
定义区域属性联合体。
【定义】
【成员】
【注意事项】
由于COVER、COVEREX、LINEEX、MOSAIC、MOSAICEX没有区域属性,所以此联合体不包含相关成员。
【相关数据类型及接口】
无。
ot_rgn_type_chn_attr
【说明】
定义区域通道显示属性联合体。
【定义】
typedef union {
ot_rgn_overlay_chn_attr overlay_chn;
ot_rgn_cover_chn_attr cover_chn;
ot_rgn_lineex_chn_attr lineex_chn;
ot_rgn_coverex_chn_attr coverex_chn;
ot_rgn_overlayex_chn_attr overlayex_chn;
ot_rgn_mosaic_chn_attr mosaic_chn;
ot_rgn_mosaicex_chn_attr mosaicex_chn;
ot_rgn_corner_rect_chn_attr corner_rect_chn;
ot_rgn_corner_rectex_chn_attr corner_rectex_chn;
} ot_rgn_type_chn_attr;
【成员】
【注意事项】
无。
【相关数据类型及接口】
无。
ot_rgn_attr
【说明】
定义区域属性结构体。
【定义】
【成员】
【注意事项】
无。
【相关数据类型及接口】
无。
ot_rgn_mosaic_chn_attr
【说明】
定义MOSAIC区域属性结构体。
【定义】
【成员】
[OT_RGN_MOSAIC_MIN_X, OT_RGN_MOSAIC_MAX_X],要求以4对齐。
[OT_RGN_MOSAIC_MIN_Y, OT_RGN_MOSAIC_MAX_Y],要求以2对齐。
|
|
【注意事项】
- 在一个组内实现多个MOSAIC时,该组内所有MOSAIC的blk_size以生效的layer最大的blk_size为准;当layer相同时,以生效的最后attach的blk_size为准。
- 解决方案blk_size范围如下。
【相关数据类型及接口】
ot_mosaic_blk_size
ot_rgn_mosaicex_chn_attr
【说明】
定义MOSAICEX区域属性结构体。
【定义】
typedef struct {
ot_rect rect;
ot_mosaic_blk_size blk_size;
td_u32 layer;
} ot_rgn_mosaicex_chn_attr;
【成员】
[OT_RGN_MOSAICEX_MIN_X, OT_RGN_MOSAICEX_MAX_X],要求以4对齐。
[OT_RGN_MOSAICEX_MIN_Y, OT_RGN_MOSAICEX_MAX_Y],要求以2对齐。
|
|
【注意事项】
- MOSAICEX通道间相互独立,通道内各区域的blk_size可以不同。
- blk_size范围规格和MOSAIC规格一致。
【相关数据类型及接口】
ot_mosaic_blk_size
ot_rgn_corner_rect_chn_attr
【说明】
定义CORNER_RECT区域属性结构体。
【定义】
typedef struct {
ot_corner_rect corner_rect;
ot_corner_rect_attr corner_rect_attr;
td_u32 layer;
} ot_rgn_corner_rect_chn_attr;
【成员】
角框位置属性,详见“系统控制”中ot_corner_rect结构体。 [OT_RGN_CORNER_RECT_MIN_X, OT_RGN_CORNER_RECT_MAX_X,要求以2对齐。 [OT_RGN_CORNER_RECT_MIN_Y, OT_RGN_CORNER_RECT_MAX_Y],要求以2对齐。 宽度:[2, OT_RGN_CORNER_RECT_MAX_WIDTH],要求以2对齐。 高度:[2, OT_RGN_CORNER_RECT_MAX_HEIGHT],要求以2对齐。 其中hor_len表示水平线长,要求以2对齐,取值范围[OT_RGN_CORNER_RECT_MIN_HOR_LEN, OT_RGN_CORNER_RECT_MAX_HOR_LEN] 其中ver_len表示垂直线长,要求以2对齐,取值范围[OT_RGN_CORNER_RECT_MIN_VER_LEN, OT_RGN_CORNER_RECT_MAX_VER_LEN] 其中thick表示线宽,要求以2对齐,取值范围[OT_RGN_CORNER_RECT_MIN_THICK, OT_RGN_CORNER_RECT_MAX_THICK] |
|
区域层级:取值范围与各模块最多能支持的CORNER_RECT个数相关,从0开始到通道支持区域最大个数减1。值越大,层次越高。 |
【注意事项】
- 区域颜色数据格式为OT_PIXEL_FORMAT_RGB_888。
- 仅当ot_corner_rect_type(此枚举请参考第2章“系统控制”)设置为OT_CORNER_RECT_TYPE_CORNER时hor_len和ver_len才生效,否则设置无效。
- 关于角框的其他注意事项参见“视频处理子系统”章节。
-
角框属性检查(仅Hi3516CV610支持):
FULL-LINE 类型限制:
thick < corner_width 且 thick < corner_height
CORNER 类型限制:
(1) corner_hor_len <= corner_width/2 - 1,如果corner_hor_len超过,会自动裁剪到(corner_width/2 - 1)。
(2) corner_ver_len <= corner_height/2 - 1,如果corner_ver_len超过,会自动裁剪到(corner_height/2 - 1)。
基于 (1) 和 (2),thick <= corner_hor_len 且 thick <= corner_ver_len,如果不满足则报错。
【相关数据类型及接口】
- ot_corner_rect
- ot_corner_rect_attr
ot_rgn_corner_rectex_chn_attr
【说明】
定义CORNER_RECTEX区域属性结构体。
【定义】
typedef struct {
ot_corner_rect corner_rect;
ot_corner_rect_attr corner_rect_attr;
td_u32 layer;
} ot_rgn_corner_rect_chn_attr;
【成员】
角框位置属性,详见“系统控制”中ot_corner_rect结构体。 [OT_RGN_CORNER_RECTEX_MIN_X, OT_RGN_CORNER_RECTEX_MAX_X,要求以2对齐。 [OT_RGN_CORNER_RECTEX_MIN_Y, OT_RGN_CORNER_RECTEX_MAX_Y],要求以2对齐。 宽度:[2, OT_RGN_CORNER_RECTEX_MAX_WIDTH],要求以2对齐。 高度:[2, OT_RGN_CORNER_RECTEX_MAX_HEIGHT],要求以2对齐。 其中hor_len表示水平线长,要求以2对齐,取值范围[OT_RGN_CORNER_RECTEX_MIN_HOR_LEN, OT_RGN_CORNER_RECTEX_MAX_HOR_LEN] 其中ver_len表示垂直线长,要求以2对齐,取值范围[OT_RGN_CORNER_RECTEX_MIN_VER_LEN, OT_RGN_CORNER_RECTEX_MAX_VER_LEN] 其中thick表示线宽,要求以2对齐,取值范围[OT_RGN_CORNER_RECTEX_MIN_THICK, OT_RGN_CORNER_RECTEX_MAX_THICK] |
|
区域层级:取值范围与各模块最多能支持的CORNER_RECTEX个数相关,从0开始到通道支持区域最大个数减1。值越大,层次越高。 |
【注意事项】
- 区域颜色数据格式为OT_PIXEL_FORMAT_RGB_888。
- 仅当ot_corner_rect_type(此枚举请参考“系统控制”章节)设置为OT_CORNER_RECT_TYPE_CORNER时hor_len和ver_len才生效,否则设置无效。
- 关于角框的其他注意事项参见“视频图形子系统”章节。
-
角框属性检查(仅Hi3516CV610支持):
FULL-LINE 类型限制:
thick < corner_width 且 thick < corner_height
CORNER 类型限制:
(1) corner_hor_len <= corner_width/2 - 1,如果corner_hor_len超过,会自动裁剪到(corner_width/2 - 1)。
(2) corner_ver_len <= corner_height/2 - 1,如果corner_ver_len超过,会自动裁剪到(corner_height/2 - 1)。
基于 (1) 和 (2),thick <= corner_hor_len 且 thick <= corner_ver_len,如果不满足则报错。
【相关数据类型及接口】
- ot_corner_rect
- ot_corner_rect_attr
ot_rgn_chn_attr
【说明】
定义区域通道显示属性结构体。
【定义】
【成员】
【注意事项】
无。
【相关数据类型及接口】
无。
ot_rgn_canvas_info
【说明】
定义画布信息结构体。
【定义】
typedef struct {
td_phys_addr_t phys_addr;
ot_size size;
td_u32 stride;
ot_pixel_format pixel_format;
td_void ATTRIBUTE *virt_addr;
} ot_rgn_canvas_info;
【成员】
【注意事项】
无。
【相关数据类型及接口】
无。
错误码
区域管理API错误码如Tableau 1所示。
表 1 区域管理API错误码