mpp icon indicating copy to clipboard operation
mpp copied to clipboard

请问一下,mpp的OSD 如何添加?

Open androidHQJ opened this issue 1 year ago • 19 comments

androidHQJ avatar Oct 14 '24 11:10 androidHQJ

参考 mpi_enc_test

HermanChen avatar Oct 15 '24 00:10 HermanChen

参考 mpi_enc_test

osd动态添加中文字符 是不是需要 Freetype 生成 水印位图内容,然后再通过 mpp osd_data 加进去?

androidHQJ avatar Oct 15 '24 01:10 androidHQJ

是这样的

HermanChen avatar Oct 15 '24 02:10 HermanChen

屏幕快照 2024-10-15 下午3 55 21

请教一下,这一块代码是什么意思?不清楚这些参数的作用

androidHQJ avatar Oct 15 '24 07:10 androidHQJ

osd 配置是一块一块的窗口,然后每个窗口是一个 region

HermanChen avatar Oct 15 '24 09:10 HermanChen

参考 mpi_enc_test

osd动态添加中文字符 是不是需要 Freetype 生成 水印位图内容,然后再通过 mpp osd_data 加进去?

现在窗口创建好了,就卡在怎么把 通过freetype+sdl 生成相应的bmp图叠加进去。我查了一些资料,看到rv1109/rv1126的OSD叠加可以通过 如图所示的方式。所以请教一下,rkmpp 是怎么去叠加的呢? 屏幕快照 2024-10-15 下午5 52 36

androidHQJ avatar Oct 15 '24 10:10 androidHQJ

这个函数里面也是调用 mpp 的接口

HermanChen avatar Oct 15 '24 10:10 HermanChen

这个函数里面也是调用 mpp 的接口

现在定位到接口了: mpp_meta_set_ptr(meta, KEY_OSD_DATA, (void*)&p->osd_data); 不太清楚 freetype 的到的位图 FT_Bitmap 怎么叠加到 osd_data中? 最好有个思路或者demo 更好..

androidHQJ avatar Oct 17 '24 08:10 androidHQJ

这个可以通过查询字库的方式来生成字符的点阵自摸

denghengli avatar Oct 21 '24 05:10 denghengli

这个需要外部应用自己来处理了,mpp 库不支持这样的功能

HermanChen avatar Oct 21 '24 08:10 HermanChen

这个可以通过查询字库的方式来生成字符的点阵自摸

是通过 freetype 来实现吗?

androidHQJ avatar Oct 22 '24 00:10 androidHQJ

这个可以通过查询字库的方式来生成字符的点阵自摸

位图生成好了,不清楚如何叠加到 osd窗口上?

androidHQJ avatar Oct 25 '24 01:10 androidHQJ

用 rga 来叠加吧,这样比较通用一些,编码器的 osd 功能要看芯片,有的有,有的没有

HermanChen avatar Oct 25 '24 01:10 HermanChen

好的,我来试试。感谢解答~

androidHQJ avatar Oct 25 '24 01:10 androidHQJ

用 rga 来叠加吧,这样比较通用一些,编码器的 osd 功能要看芯片,有的有,有的没有

请教一下,rga 的api: imosd rk3568不支持,所以,是用rga哪个api来叠加位图 字库生成的位图?

androidHQJ avatar Oct 25 '24 07:10 androidHQJ

https://github.com/airockchip/librga 看下这个,看对应的输入输出位图格式吧,比如把 osd 的 rgb 图叠到 yuv 或者 rga 图上

HermanChen avatar Oct 25 '24 07:10 HermanChen

https://github.com/airockchip/librga 看下这个,看对应的输入输出位图格式吧,比如把 osd 的 rgb 图叠到 yuv 或者 rga 图上

好的。学习了~

androidHQJ avatar Oct 25 '24 07:10 androidHQJ

https://github.com/airockchip/librga 看下这个,看对应的输入输出位图格式吧,比如把 osd 的 rgb 图叠到 yuv 或者 rga 图上

好的。学习了~

请问搞懂了吗?先用freetype将文字生成rgb图,然后再用imblend 叠加到原图上?

duiniuluantanqin avatar Aug 26 '25 09:08 duiniuluantanqin

@HermanChen 先用freetype将文字生成rgb图,然后再用imblend 叠加到原图,无法实现自动反色功能?请问有什么解决方案吗?

duiniuluantanqin avatar Aug 27 '25 09:08 duiniuluantanqin