尊敬的专家:
请教关于dm36x vpbe的一些基本概念:
vpbe里面display到底有几种,是否就是v4l2和frame buffer两种。在有的例子程序中那个sysfs到底又是怎么回事,sysfs是干什么用的,为什么在有的display程序中用来指定显示设备,他和v4l2及fb有什么关系。
在bootargs中,例如
bootargs=davinci_enc_mngr.ch0_output=DVI davinci_enc_mngr.ch0_mode=720P-60 davinci_display.cont2_bufsize=6291456 vpfe_capture.cont_bufoffset=6291456 vpfe_capture.cont_bufsize=6291456 console=ttyS0,115200n8 video=davincifb:vid0=off:vid1=off:osd1=off dm365_imp.oper_mode=0 vpfe_capture.interface=1 mem=99M rootfstype=jffs2 root=/dev/mtdblock2 mtdparts=davinci_nand.0:4096k(UBOOT),4736k(KERNEL),204800k(FS)
davincifb的vid0,vid1,osd0,osd1和davinci_enc_mngr.ch0_output的dvi是什么关系?
vid0,vid1和v4l2的display设备又是什么关系?对应的设备是否一样?(似乎都是/dev/video2,/dev/video3)
我一直搞不清vid0,vid1到底是个虚拟设备还是个实际设备,这两个设备在一个例子上看到,映射到/dev/video2,/dev/video3,/dev/video2,/dev/video3又是对应哪个具体的硬件设备?
界面程序和视频程序的合成可以是vid显示视频,osd显示界面,这个合成工作在哪里完成的。如果是v4l2显示视频,osd显示界面,那这个合成工作又是怎么完成的?
对vpbe的理解非常糊涂,看了两个文档LSP 1.20 DaVinci Linux VPBE Frame Buffer Driver User's Guide和TMS320DM36x Digital Media System-on-Chip Video Processing Back End (VPBE) User's Guide以及dvsdk4 dmai里面display的例子,linux driver example中display的例子等,这些概念依然没有弄明白。
请专家指导。
谢谢
Feng Dong:
硬件是分为OSD和ENC两部分的,从这个角度理解,软件也会按照这个分.
v4l2和fb完全是linux的抽象,是针对视频,和gui的不同特性设计的软件层,请从这个角度触发理解看相应的user guide
sysfs只是设置的接口,方便应用切换场景