OMAP DSP 学习笔记(LINUX平台)(二)DMAI
DMAI(DaVinci Multimedia Application Interface)是DSP提供给ARM端应用程序的调用接口,DSP也是依赖于DSPLINK的。 DMAI中也提供了许多VISA (video, imaging, speech and audio)编解码的实例。DMAI提供的是一种功能的抽象,而在具体实现上,不同硬件平台,不同系统是不一个样的。另外,由于DMAI是以源代码的形式提供的,所以可以用来参考完成一些别的任务,比如设备驱动。 DMAI的优势: 1. 移植和重用:例如TI GStreamer plugin就是基于DMAI,它可以方便的移植到其他的davinci平台。 2. 软件接口一致: (1)对底层硬件加速部分抽象封装,使开发者不需要明白平台的特定实现 (2)支持所有的codec,使开发者不必明白xDM版本的细节与区别 (3)对显示的抽象(FBDEV和V4L2) (4)管理底层细节与错误处理 代码示例: {
#include
#include
#include
#include
#include
#include
#include
#include
Adec_Handle hAd;
Loader_Handle hLoader;
Buffer_Handle hOutBuf, hInBuf;
Engine_Handle hEngine;
Sound_Handle hSound;
AUDDEC_Params params = Adec_Params_DEFAULT;
AUDDEC_DynamicParams dynParams = Adec_DynamicParams_DEFAULT;
Loader_Attrs lAttrs = Loader_Attrs_DEFAULT;
Buffer_Attrs bAttrs = Buffer_Attrs_DEFAULT;
Sound_Attrs sAttrs = Sound_Attrs_STEREO_DEFAULT;
CERuntime_init();
Dmai_init();
hSound = Sound_create(&sAttrs);
hEngine = Engine_open("myengine", NULL, NULL);
hAd = Adec_create(hEngine, "aacdec", ¶ms, &dynParams);
hOutBuf = Buffer_create(Adec_getOutBufSize(hAd), &bAttrs);
lAttrs.readSize = Adec_getInBufSize(hAd);
lAttrs.readBufSize = lAttrs.readSize * 2;
hLoader = Loader_create("myfile.aac", &lAttrs);
Loader_prime(hLoader, &hInBuf);
while (1) {
Adec_process(hAd, hInBuf, hOutBuf);
Sound_write(hSound, hOutBuf);
相关文档:
linux在2.6版本以后将配置文件由原来的config.in改为kconfig,对于kconfig的语法在/Documentation/kbuild/kconfig-language.txt中做了详细的说明,在这里给出kconfig-language.txt的中文版。
介绍
----
在配置数据库的配置选项是以树的形式组织的:
+- Code maturity level options
| +- ......
1、用GCC编译
1.1、创建源文件
(main.c) C 源文件 - main.c
#include
#include “reciprocal.hpp”
int main (int argc, char **argv)
{
int i;
i = atoi (argv[1]);
printf (“The reciprocal of %d is %g\n”, i, reciprocal (i ......
每次都是用到,查一下,写下,这次稍微记录下笔记。
和Thread相关,基本的有3个概念:线程的建立和销毁;线程锁;线程条件
关于建立线程:
ret = pthread_create(&thread_id, NULL, Do_Thread, &Do_Thread_Para);
// 第2参数是thread 属性,一般我不用设置
// 第4个参数是Do_Thread的入口参数,一般我传一个结 ......
Resources on the site
• Interactive map of GNU/Linux OS and FOSS
• "GNU/Linux is my home" - map of GNU/Linux system
• Interactive map of Linux kernel
• Linux inside
• Linux Technology Reference (single page view)
• Linux kernel diagram
• Li ......
Programming your application or library based on Qt has always had the promise that you can deploy your application on many different platforms. Development of those applications can, likewise, happen on many different platforms. QtCreator runs on Windows, Mac & Linux among others.
Qt很简单,易 ......