dm368ipnc 重写架构中的swosd 实现中文osd

来源:互联网 发布:果敢 知乎 编辑:程序博客网 时间:2024/06/14 09:26

分类: ipnc产品设计 1192人阅读 评论(16) 收藏 举报

appro的ipnc中只实现了英文的osd叠加,就连小小的ascii码表都没有覆盖全,而且该swosd架构灰常凌乱。

其实无非就是两个功能,一是叠加文字,而是叠加图片,由于考虑到兼容不同的分辨率的视频流,所以处理的分支相对校对。

图片的叠加暂不实现,用途最多的是中文的叠加,实现中文osd叠加的方法也非常简单,如下:

1、了解中文字库的分布,通过汉字的内码计算出该汉字在字库中的位置。

2、同上,了解ascii字库的分布,通过字母的ascii码值计算对应的字符在字库中的位置(这个相对简单,汉字的也不难)

3、在pc上将想要的中英文字体转换成点阵字库数据(或者直接转换成YUV格式的数据也可以,我采用的是点阵)

4、了解YUV格式的存储模式(这个也不难)

5、最后将中文字符串转换成的点阵数据叠加到yuv的指定位置就实现了中文的叠加,如果是叠加时间,实时的获取系统时间,将时间再转换成字符串,然后动态的叠加到yuv上就好了。

下图是叠加后的效果,是不是还可以。