CallMeBroYang

CallMeBroYang

1个粉丝

7

问答

0

专栏

0

资料

CallMeBroYang  发布于  2016-05-13 17:38:29
采纳率 0%
7个问答
7057

【3516】OSD无法设置反色

 
本帖最后由 CallMeBroYang 于 2016-5-13 17:37 编辑

版本:
[Hi3516A_MPP_V1.0.5.0 B030 Release]

描述:
调用 HI_MPI_RGN_AttachToChn() 时,
如果把 OSD 反色开关 bInvColEn:
设置为 TRUE , 总是返回错误码:0xA0038009( HI_ERR_RGN_NOT_PERM 该操作不允许,如试图修改静态配置参数)。
设置为 FALSE,就OK。
创建完 region 后,调用 HI_MPI_RGN_AttachToChn() ,即使出错也没理由返回 "试图修改静态配置参数" 的错误码啊。

不知哪位同仁遇没遇到过这种问题,或是有什么思路。

代码:
[code]        alignRect.left = ROUND_UP(alignRect.left, 16);
        alignRect.right = ROUND_UP(alignRect.right, 16);
        alignRect.top = ROUND_UP(alignRect.top, 16);
        alignRect.bottom = ROUND_UP(alignRect.bottom, 16);
        stRgnAttr.enType = OVERLAY_RGN;
        stRgnAttr.unAttr.stOverlay.enPixelFmt = PIXEL_FORMAT_RGB_1555;
        stRgnAttr.unAttr.stOverlay.u32BgColor = 0xfc;
        stRgnAttr.unAttr.stOverlay.stSize.u32Width  = alignRect.right - alignRect.left;
        stRgnAttr.unAttr.stOverlay.stSize.u32Height = alignRect.bottom - alignRect.top;

        if(HI_MPI_RGN_Create(handle, &stRgnAttr) !=HI_SUCCESS){
                return XPR_ERR_ERROR;
        }

        stChn.enModId = HI_ID_VENC;
        stChn.s32DevId = 0;
        stChn.s32ChnId = 0;
        memset(&stChnAttr, 0, sizeof(stChnAttr));
        stChnAttr.bShow = HI_TRUE;
        stChnAttr.enType = OVERLAY_RGN;
        stChnAttr.unChnAttr.stOverlayChn.stPoint.s32X = alignRect.left;
        stChnAttr.unChnAttr.stOverlayChn.stPoint.s32Y = alignRect.top;
        stChnAttr.unChnAttr.stOverlayChn.u32BgAlpha = 0;
        stChnAttr.unChnAttr.stOverlayChn.u32FgAlpha = 128;
        stChnAttr.unChnAttr.stOverlayChn.u32Layer = 0;
        stChnAttr.unChnAttr.stOverlayChn.stQpInfo.bAbsQp = HI_FALSE;
        stChnAttr.unChnAttr.stOverlayChn.stQpInfo.s32Qp  = 0;
        stChnAttr.unChnAttr.stOverlayChn.stInvertColor.stInvColArea.u32Width = 16;
        stChnAttr.unChnAttr.stOverlayChn.stInvertColor.stInvColArea.u32Height = 16;
        stChnAttr.unChnAttr.stOverlayChn.stInvertColor.u32LumThresh = 200;
        stChnAttr.unChnAttr.stOverlayChn.stInvertColor.enChgMod = MORETHAN_LUM_THRESH;
        stChnAttr.unChnAttr.stOverlayChn.stInvertColor.bInvColEn = HI_TRUE; //为TRUE时返回错误码 0xA0038009
        //stChnAttr.unChnAttr.stOverlayChn.stInvertColor.bInvColEn = HI_FALSE;
        if((error = HI_MPI_RGN_AttachToChn(handle, &stChn, &stChnAttr)) != HI_SUCCESS) {
                printf("HI_MPI_RGN_AttachToChn handle:%d,stChn.s32ChnId:%d, stChn.s32DevId:%d\n",handle, stChn.s32ChnId, stChn.s32DevId);
                printf("HI_MPI_RGN_AttachToChn failed:%x\n",error);
                return XPR_ERR_ERROR;
        }
        printf("HI_MPI_RGN_AttachToChn successful\n");
        return XPR_ERR_SUCCESS;[/code]
我来回答
回答6个
时间排序
认可量排序

Leo1987

0个粉丝

4

问答

0

专栏

0

资料

Leo1987 2016-05-20 16:45:00
认可0

同问,楼主解决了吗

CallMeBroYang

1个粉丝

7

问答

0

专栏

0

资料

CallMeBroYang 2016-05-23 18:18:46
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=30384&ptid=11307]Leo1987 发表于 2016-5-20 16:45[/url]
同问,楼主解决了吗[/quote]

没。

你可以试一下用HI_MPI_VPSS_GetRegionLuma()获取亮度值,然后自己做反色。
前提是要把isp关掉,否则运行时函数可能出错。
这个我做成功了,但是因为暂时需要isp,所以没法使用。

我现在是用了一个讨巧的方法,
我的osd信息是用白色显示的,但是每个字的边缘都是黑色的,所以现在反色就不需要了。

DarkQin

1个粉丝

8

问答

0

专栏

2

资料

DarkQin 2016-05-25 11:41:07
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=30483&ptid=11307]CallMeBroYang 发表于 2016-5-23 18:18[/url]
没。

你可以试一下用HI_MPI_VPSS_GetRegionLuma()获取亮度值,然后自己做反色。
[/quote]

描边,是如何做到的?我的是点阵的

drenched

0个粉丝

0

问答

0

专栏

0

资料

drenched 2020-03-19 15:24:52
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=102518&ptid=11307]chdlht 发表于 2018-8-2 14:43[/url]
请问怎么实现白字加黑边啊,我用SDL实现的OSD叠加[/quote]


请问怎么实现白字加黑边啊,我用SDL实现的OSD叠加

我也使用的这个,你们最后用什么方式实现的OSD反色

chdlht

0个粉丝

0

问答

0

专栏

0

资料

chdlht 2018-08-02 14:43:46
认可0
请问怎么实现白字加黑边啊,我用SDL实现的OSD叠加

chdlht

0个粉丝

0

问答

0

专栏

0

资料

chdlht 2018-08-02 14:45:17
认可0
[quote]CallMeBroYang 发表于 2016-5-23 18:18
没。

你可以试一下用HI_MPI_VPSS_GetRegionLuma()获取亮度值,然后自己做反色。
[/quote]

请问怎么实现白字黑边的osd字体显示啊
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
+ 添加网盘链接/附件

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

易百纳技术社区