- Android系统级深入开发
- 韩超 梁泉
- 456字
- 2020-08-26 21:43:42
5.4.8 DSP相关的驱动程序
MSM的DSP(数字信号处理器)具有比较高级的功能,主要在如下的目录中。
arch/arm/mach-msm/qdsp5:MSM7k系列处理器使用的5代DSP
arch/arm/mach-msm/qdsp6:QSD8k系列处理器使用的6代DSP
其中,arch/arm/mach-msm/qdsp6中包含了若干文件,主要内容如下所示:
dal.c:dal协议文件。
q6audio.c:Audio系统通用库文件。
audio_ctl.c :音频控制文件。
routing.c:音频路径控制。
pcm_in.c:PCM输入通道。
pcm_out.c :PCM输出通道。
mp3.c:MP3码流直接输出通道。
msm_q6vdec.c:视频解码。
msm_q6venc.c:视频编码。
提示:MSM的DSP相关目录中的一些内容是整合DSP处理和用户空间输入输出设备于一体的内容,例如mp3.c提供的就是从MP3解码到输出到设备与一体的功能。
Audio系统的头文件是arch/arm/mach-msm/include/mach目录中的msm_qdsp6_audio.h文件。以上与Audio相关的文件在用户空间建立了如下设备节点:
crw------- 1 root root 10, 56 2010-01-14 11:53 msm_audio_route crw-rw---- 1 system audio 10, 55 2010-01-14 11:53 msm_audio_ctl crw-rw---- 1 system audio 10, 57 2010-01-14 11:53 msm_mp3 crw-rw---- 1 system audio 10, 58 2010-01-14 11:53 msm_pcm_in crw-rw---- 1 system audio 10, 59 2010-01-14 11:53 msm_pcm_out
以上设备的主设备号为10,可见为Linux中的MISC(杂项)字符设备。
MSM视频编解码的头文件在include/linux/目录中:
msm_q6vdec.h:视频解码器头文件
msm_q6venc.h:视频编码器头文件
crw-rw---- 1 system audio 10, 54 2010-01-14 11:53 q6venc crw-rw---- 1 system audio 252, 0 2010-01-14 11:53 vdec
q6venc是视频编码器在用户空间的节点,是一个MISC字符设备,vdec是视频解码器在用户空间的节点,是一个自定义的字符设备。