zhwa

zhwa

0个粉丝

32

问答

0

专栏

1

资料

zhwa  发布于  2021-01-27 16:00:35
采纳率 0%
32个问答
1639

hi3556v200的dashcam的osd问题

 
本帖最后由 zhwa 于 2021-1-27 16:02 编辑

hi3556v200的dashcam是liteos和linux双系统,已经裁减了一个ttf的字库,改名vector.ttf放在相应的路径下,编译成功,叠加字符osd时,demo里有初始化字体的g_stOsdFonts结构体变量:typedef struct hiMAPI_OSD_FONTS_S {
    /* OSD Lib Font Size, in pixel */
    HI_U32 u32FontWidth;
    HI_U32 u32FontHeight;
    HI_MAPI_OSD_GETFONTMOD_CALLBACK_FN_PTR pfnGetFontMod;
} HI_MAPI_OSD_FONTS_S;

HI_S32 PDT_MEDIA_InitOsd(const HI_PDT_MEDIA_OSD_CFG_S* pstOsdCfg)/* osd init and Set osd bitmap size */
{
    HI_S32 ret = HI_SUCCESS;

    if (g_mediaOsdCtx.init) {
        MLOGI("has already init\n");
        return HI_SUCCESS;
    }
#if !(defined(AMP_LINUX_HUAWEILITE) && defined(__LINUX__))
    /* Init OSD */
    extern HI_S32 PDT_MEDIA_InitOsdFontLib(HI_VOID);
    ret = PDT_MEDIA_InitOsdFontLib();
    HI_APPCOMM_CHECK_RETURN(ret, HI_FAILURE);
#endif
    memset(&g_mediaOsdCtx,0,sizeof(PDT_MEDIA_OSDCtx));
    memcpy(&g_mediaOsdCtx.osdCfg,pstOsdCfg,sizeof(HI_PDT_MEDIA_OSD_CFG_S));
    g_mediaOsdCtx.init = HI_TRUE;
    return ret;
}

上面这个函数的PDT_MEDIA_InitOsdFontLib()对全局字体变量做了初始化,可是在dashcam里实际没有调用这个函数,因为双系统定义了defined(AMP_LINUX_HUAWEILITE) && defined(__LINUX__),调试就出现了pfnGetFontMod为空的错误。强制打开这个字体赋值,在程序初始化时就报错,难道dashcam不能添加时间和字符串osd吗?osdlogo.bmp的osd可以显示。
我来回答
回答2个
时间排序
认可量排序

zhwa

0个粉丝

32

问答

0

专栏

1

资料

zhwa 2021-02-03 10:35:09
认可1
已经解决,
用汉字库hzk16,将utf8转gb2312,再转为大端模式

张轩浩

0个粉丝

4

问答

0

专栏

1

资料

张轩浩 2021-03-03 15:21:28
认可0
安霸海思视频技术专业讨论群:303193489 ,欢迎各位加入
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

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

Markdown 语法

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

举报类型

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

详细说明

易百纳技术社区