qn1539141314

qn1539141314

1个粉丝

9

问答

0

专栏

0

资料

qn1539141314  发布于  2018-10-29 16:46:16
采纳率 0%
9个问答
2154

海思OSD问题

 
在Linux端报错:
[HI_MAPI_VEnc_OSD_GetAttr][1804]HI_MAPI_VEnc_OSD_GetAttr fail s32Ret:a3038009
[HI_MAPI_VEnc_OSD_SetAttr][1762]HI_MAPI_VEnc_OSD_SetAttr fail s32Ret:a3038003
[HI_MAPI_VEnc_OSD_Start][1844]HI_MAPI_VEnc_OSD_Start fail s32Ret:a3038009
Press Enter key to stop record...
[#### s32VeChn:0 the first time of VideoFrame(MAPI_VEnc_GetVStream): u64PTS: [4212136060]
[#### s32VeChn:1 the first time of VideoFrame(MAPI_VEnc_GetVStream): u64PTS: [4212136060]


在HUAWEI LiteOS端:
[Func:HI_MAPI_VEnc_OSD_GetAttr][Line:3388][Info]:osd not been set yet
[Func:HI_MAPI_VEnc_OSD_SetAttr][Line:3276][Info]:stBitmapAttr.enPixelFormat:0 can not less than min val 2
[Func:HI_MAPI_VEnc_OSD_Start][Line:3423][Info]:osd not been set yet
[Func:HI_MAPI_VEnc_OSD_Stop][Line:3558][Info]:osd already been stoped


以下是我的代码:

    pstOsdAttr->stBitmapAttr.enPixelFormat = HI_MPP_PIXEL_FORMAT_RGB_1555;
    pstOsdAttr->stBitmapAttr.pData = (void *)gImage_SHUZU;
    pstOsdAttr->stBitmapAttr.u32Width = 50;
    pstOsdAttr->stBitmapAttr.u32Height = 50;

    pstOsdAttr->stOsdDisplayAttr.bShow = HI_TRUE;
    pstOsdAttr->stOsdDisplayAttr.s32RegionX = 100;
    pstOsdAttr->stOsdDisplayAttr.s32RegionY = 100;
    pstOsdAttr->stOsdDisplayAttr.u32Alpha = 128;
    pstOsdAttr->stOsdDisplayAttr.u32Color = 0X0;


    HI_MAPI_VEnc_OSD_GetAttr(hVencHdl1, hVOsdHdl1, pstOsdAttr);

    HI_MAPI_VEnc_OSD_SetAttr(hVencHdl1, hVOsdHdl1, pstOsdAttr);

    HI_MAPI_VEnc_OSD_Start(hVencHdl1,hVOsdHdl1);

请问是我设置的参数问题还是调用流程的问题?
我来回答
回答4个
时间排序
认可量排序

Jundy

0个粉丝

1

问答

0

专栏

0

资料

Jundy 2018-10-30 09:19:07
认可0
先HI_MAPI_VEnc_OSD_GetAttr(),
再设置pstOsdAttr参数
最后HI_MAPI_VEnc_OSD_SetAttr()

Jundy

0个粉丝

1

问答

0

专栏

0

资料

Jundy 2018-10-30 09:20:43
认可0
已经有错误返回s32Ret:a3038009,查看下a3038009对应的错误是什么,在hisi error.h中有定义

qn1539141314

1个粉丝

9

问答

0

专栏

0

资料

qn1539141314 2018-10-30 09:36:24
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=109981&ptid=53096]Jundy 发表于 2018-10-30 09:20[/url]
已经有错误返回s32Ret:a3038009,查看下a3038009对应的错误是什么,在hisi error.h中有定义[/quote]

感谢前辈让我有了解决问题的思路,于是我重新改了顺序,报错HI_MAPI_VEnc_OSD_GetAttr fail s32Ret:a3038009,查出来是说该操作不允许,如试图修改静态配置参数。这是什么意思呢

Jundy

0个粉丝

1

问答

0

专栏

0

资料

Jundy 2018-11-04 12:07:52
认可1
操作不允许,那你还要看看是否已初始化该模块,建议该出错代码之前的代码都加入打印返回值,以检查是那个位置有问题,
另外,还要注意SDK版本的问题,有些SDK升级后,并不能完全兼容之前的代码,这个可以从sample目录中,找到对应模块进行运行,测试下
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

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

Markdown 语法

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

举报类型

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

详细说明

易百纳技术社区