- 博客(13)
- 资源 (3)
- 收藏
- 关注
原创 _OMX_MasterInit(OMXMasterCoreGlobalData *data)
1类OMXMasterCoreGlobalData 成员: OMX_U32 iNumMasterOMXInstances;初值为0 void *iInterface; void *iOMXLibrary; void *iMasterRegistry; 指向类型PVOMXMasterRegistryStruct,对应每一个组件,保存组件的名字,role,输入第几个core void *iOMXCompHandles
2010-10-22 21:31:00 1202
原创 常用的Ubuntu APT命令参数
常用的Ubuntu APT命令参数 apt-cache search package 搜索包 apt-cache show package 获取包的相关信息,如说明、大小、版本等 sudo apt-get install package 安装包 sudo apt-get install package - - reinstall 重新安装包 sudo apt-get -f install 修复安装"-f = --fix-missing" sudo apt-get remove pack
2010-10-21 19:23:00 561
原创 ubuntu10.10安装jdk1.5
今天重新下了android的源码,-b froyo 又是在安装jdk5这卡住了,只好再整理一边,做个终极版: 在安装jdk5前,更新了软件包列表,执行命令后还是安装不上,已经找不到需要的软件包了,但是编译android2.1还是需要jdk5 1 先安装java6(编译android需要java5,此处为推荐) 打开终端,执行以下命令,在其中分别搜索"sun-java6-jre"和"sun-java6-jdk"并标记安装。 sudo apt-get install sun-java6-jre 如果
2010-10-19 19:13:00 1599
原创 MP3解码
1 解码头获得MP3文件的版本信息,例如PV公司的MP3解码库中有以下定义: #define MPEG_1 0 #define MPEG_2 1 #define MPEG_2_5 2 #define INVALID_VERSION -1 如果版本信息为MPEG_1 则outputFrameSize也就是函数ProcessData()中的OutputLength为1152,否则为576, 还有就是声道
2010-10-19 18:56:00 1801
原创 tar.bz2和tar.gz解压方法(转)
.tar.bz2 解压方法 tar jxvf xxx.tar.bz2 .tar.gz 解压方法 tar zxvf xxx.tar.gz tar其它常用命令: # tar -cf all.tar *.jpg 这条命令是将所有.jpg的文件打成一个名为all.tar的包。-c是表示产生新的包,-f指定包的文件名。 # tar -rf all.tar *.gif 这条命令是将所有.gif的文件增加到all.tar的包里面去。-r是表示增加文件的意思。
2010-10-16 20:19:00 2443
原创 Bellagio中libmad解码库API的使用
Bellagio中用的libmad的API有以下几个: void mad_stream_init(struct mad_stream *stream) void mad_frame_init(struct mad_frame *) void mad_synth_init(struct mad_synth *) 以上三个API是初始化API; int mad_header_decode(struct mad_header *, struct mad_stream *) 负责MP3文件的头解码;
2010-10-11 21:25:00 2258
原创 MP3解码库libmad到OpenCore的移植
首先,分别看一下两者的解码流程,相对来说Bellagio的解码流程较为清晰,而OpenCore的较为复杂,难懂,我认为这是因为OpenCore的层次太多,在参数的传递时比较复杂,不能较直观的看到在buffer处理函数中,是对哪个变量操作的,以及这个变量的赋值,初始化在哪个位置等。 解码流程大体是:上层调用相应格式组件的buffer处理函数,此函数再调用底层的解码库中函数实现解码。 1 Bellagio中的解码流程: Bellagio中buffer处理函数是BufferMgmtCallback,对于每种
2010-10-11 16:58:00 4786 4
原创 Linux驱动程序
1 分类; 主要分为三类:字符设备(character device)、块设备(block device)和网络接口(network interface)。 字符设备是能够像字节流(比如文件)一样被被访问的设备,就是说它的读写是以字节为单位的。块设备的数据是以块的形式存放,比如NANDflash上的数据是以页的单位存放的。对用户而言,字符设备和块设备的访问方式没有差别。 块设备的特别之处: (1)操作硬件的接口实现方式不一样; 块设备驱动先将用户发来的数据组织成块,再写入设备,或从设备中读出若干快
2010-10-11 16:51:00 630
原创 3
函数PVPlayerEngine::HandleSourceNodeQueryTrackSelIF(PVPlayerEngineContext& aNodeContext, const PVMFCmdResp& aNodeResp) 1)根据上层命令的返回状态,进入函数DoSourceNodeQueryInterfaceOptional(aNodeContext.iCmdId, aNodeContext.iCmdContext) 2)RunIfNotReady()运行调度,函数退出; 函数PVPlay
2010-10-11 16:50:00 537
原创 文件输入部分数据流——识别文件格式
在理解一个媒体文件是如何传输到设备的内存中去的时,在识别文件格式这一部分,我认为有以下关键内容要明白: 1 OSCL_wHeapString wFileName 这是一个模板类,初次定义是在函数PlayerDriver::handleSetDataSource(PlayerSetDataSource* command)中,包含了媒体文件的绝对路径转化后的Unicode,也就是根据wFileName可以找到要播放的文件; 2 类PVMFSourceContextData继承类PVInterface,此类
2010-10-11 16:48:00 1067
原创 输入
1 函数PVPlayer::prepareAsync(): 1)判断是否已经设置数据源, 2)如果没有设置,将命令设置播放数据源(PlayerSetDataSource)加入到命令队列中, 3)如果已经设置数据源,则将命令PlayerPrepare加入到命令队列中; 4)返回。 2 函数PlayerSetDataSource(mDataSourcePath,run_init,this) 参数:mDataSourcePath是要播放文件的路径地址(如:/sdcard/video/lvxing.mp
2010-10-11 16:48:00 737
原创 libmad音频解码库简介及其数据结构
1 简介 MAD(libmad)是一个开源的高精度MPEG音频解码库,支持MPEG-1(Layer I, Layer II 和LayerIII-也就是 MP3)。LIBMAD提供24-bit的PCM输出,完全是定点计算,非常适合没有浮点支持的平台上使用。使用libmad 提供的一系列API,就可以非常简单地实现 MP3数据解码工作。在libmad 的源代码文件目录下的 mad.h 文件中,可以看到绝大部分该库的数据结构和API等。 2 libmad中的主要数据结构 struct mad_stream
2010-10-11 15:35:00 2486
原创 android文档
1 OMX Core Integration Guide 1)由于opencore中的omx是PV自己做的omx,core和component之间的一些API是"internal, implementation specific, not prescribed by OMX specification”,而且PV可能随时对其更改,所以在想opencore中加入新的组件时必须要提供相应的core。 2)这样就要解决多个core的共存问题,PV公司提供了一层封装:MasterCore,最后在生成so库时,有
2010-10-07 17:39:00 806
OpenMax AL介绍
2010-03-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人