appro的ipnc中只實現了英文的osd疊加,就連小小的ascii碼表都沒有覆蓋全,而且該swosd架構灰常凌亂。
其實無非就是兩個功能,一是疊加文字,而是疊加圖片,由于考慮到兼容不同的分辨率的視頻流,所以處理的分支相對校對。
圖片的疊加暫不實現,用途最多的是中文的疊加,實現中文osd疊加的方法也非常簡單,如下:
1、了解中文字庫的分布,通過漢字的內碼計算出該漢字在字庫中的位置。
2、同上,了解ascii字庫的分布,通過字母的ascii碼值計算對應的字符在字庫中的位置(這個相對簡單,漢字的也不難)
3、在pc上將想要的中英文字體轉換成點陣字庫數據(或者直接轉換成YUV格式的數據也可以,我采用的是點陣)
4、了解YUV格式的存儲模式(這個也不難)
5、最后將中文字符串轉換成的點陣數據疊加到yuv的指定位置就實現了中文的疊加,如果是疊加時間,實時的獲取系統時間,將時間再轉換成字符串,然后動態的疊加到yuv上就好了。
下圖是疊加后的效果,是不是還可以。