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);
相关文档:
oracle dataguard是指一种数据库级别的HA方案,最主要的功能是容灾,数据保护,故障恢复等
在生产数据库的事务一致性时,使用产生的物理全备份创建备库,备库通过传输过来的归档日志自动维护备用数据库
将重做的数据应用到备用库上。
1,前提:
primary:192.168.18.1;
oracle_SID:db1
  ......
每次都是用到,查一下,写下,这次稍微记录下笔记。
和Thread相关,基本的有3个概念:线程的建立和销毁;线程锁;线程条件
关于建立线程:
ret = pthread_create(&thread_id, NULL, Do_Thread, &Do_Thread_Para);
// 第2参数是thread 属性,一般我不用设置
// 第4个参数是Do_Thread的入口参数,一般我传一个结 ......
以Debian的方式系列(IN THE DEBIAN WAY):
Linux网络基础
etony C.F.AN etony@tom.com
v0.0.1, 2006-7-23
--------------------------------------------------------------------------------
本文档主要介绍讲述在 Debian系统下有关网络的一些基本信息.
------------------------------------------------------- ......