设置bootargs中参数
video=davincifb:vid0=off:vid1=off:osd0=720x576x16,1620K@0,0
在linux启动中,调试串口输出相关信息
davincifb davincifb.0: dm_osd0_fb: 720x576x16@0,0 with framebuffer size 1620KB
davincifb davincifb.0: dm_osd1_fb: 720x576x4@0,0 with framebuffer size 810KB
运行dvsdk_dm365_4_02_00_06/psp/linux-driver-examples-psp03.01.01.38/fbdev中的blend程序
直接读取fb_var_screeninfo 和fb_fix_screeninfo对于OSD0输出信息:
OSD0 Device string is /dev/fb0
Opened OSD0 successfully
OSD0 is not in attribute mode
Var Info for OSD0
xres:720
yres:576
xres_virtual:720
yres_virtual:576
xoffset:0
yoffset:0
bits per pixel:16
grayscale:0
nonstd:0
activate:0
height in mm:0
width in mm:0
Fix Info for OSD0
linelength:1440
直接读取fb_var_screeninfo 和fb_fix_screeninfo 对于OSD1输出信息
OSD1 Device string is /dev/fb1
Opened OSD1 successfully
Var Info for OSD1
xres:720
yres:576
xres_virtual:720
yres_virtual:576
xoffset:0
yoffset:0
bits per pixel:4
grayscale:0
nonstd:1
activate:0
height in mm:0
width in mm:0
Fix Info for OSD1
linelength:384
我的问题是:
1、 为什么 OSD1 的节点对应的是/dev/fb1,而不是LSP 2.10 DaVinci Linux VPBE Frame Buffer Driver文档中说的/dev/fb2?
2、 怎么设置OSD1 被设置为 ATTRIBUTE WINDOW,根据上面信息是否能够确认OSD1 已被设置为ATTRIBUTE WINDOW
3、 为什么根据读取出来的信息得到linelength* yres_virtual的与bootargs设置的buffersize不一致
4、为什么OSD1的bpp是4位的,这四位对应了什么含义?
5、参考qtInterface编写了一个界面程序,能不能通过OSD1设置transparency值将界面给透明化,方便后期显示视频?
Chris Meng:
你好
建议你阅读一下DM36x VPBE user guide。通过VPBE的寄存器,确认你的配置是否起效。user guide对OSD模块有详细的描述,也可以帮助你理解相关代码。
Jie Wu2:
回复 Chris Meng:
谢谢你的回答。我是在linux中利用dvsdk进行开发,我不是很清楚怎么查VPBE的寄存器