- 博客(13)
- 资源 (40)
- 收藏
- 关注
原创 c语言编写经验逐步积累4
寥寥数笔,记录我的C语言盲点笔记,只为曾经经历过,亦有误,可交流。1.逻辑表达式的使用取值 = 表达式 ? 表达式1:表达式2;比如x = y > z ? y:z2."+,-"等逻辑运算符优先级大于移位,移位大于逻辑运算3.sizeof在编译时由编译器完成,对其传入的参数不做运算处理。sizeof(i++);返回4;不会对实际的i进行操作sizeof和strlen的区别是,后者是运算时执行。返回遇
2014-05-26 22:16:19 2368
原创 c语言编写经验逐步积累3
寥寥数笔,记录我的C语言盲点笔记,只为曾经经历过,亦有误,可交流。 1.typedef来定义一个函数指针类型的方法,定义一个新的函数指针类型。:建立一个类型别名的方法很简单,在传统的变量声明表达式里用类型名替代变量名,然后把关键字typedef加在该语句的开头”。typedef int (*PFUN)(): 定义PFUN这个函数指针类型,由编译器自动来完成,比如PFUN pfun;定义了一个函数指
2014-05-26 22:14:13 2995
原创 C语言编程积累2
寥寥数笔,记录我的C语言盲点笔记,只为曾经经历过,亦有误,可交流。1.implict declartion of function 指的是在预处理时没有函数的申明,但该函数在别的函数中进行了编译与调用,编译可以完成链接但是会给出warning,需要提前申明2. sizeof是一个operand操作符,不能直接对其进行&取地址操作。是一个编译器自动算大小的函数,在预处理时。和宏定义有所类似。size
2014-05-26 22:13:11 2174
原创 C语言盲点笔记1
寥寥数笔,记录我的C语言盲点笔记,只为曾经经历过,亦有误,可交流。1.int* a和int *a有区别吗?没有任何区别,都表示a是int指针建议这么写int *a;这样明显一点理由如下int *a,b;a是指针,b是整形,一幕了然但是你如果写成int* a,b;虽然a还是指针,b还是整形但是a前面没直接跟*,一不留神,还真把b看成指针了2.C语言中和单片机C语言的数据类型char,前
2014-05-26 22:10:13 2673 2
原创 android4.2.2的stagefright架构下基于SurfaceFlinger的视频解码输出缓存创建机制
之前几文在分析OMX_Codec的数据流时主要以对输入缓存区的说明为主,这里单独是为了加深对SurfaceFlinger的理解,特地将用于渲染的输出缓存区申请等拿出来做一次分析,看其是如何完成创建,并通知底层的解码器组件进行解码输出的。该部分的核心内容需要有较强的surfaceflinger显示模块相关的知识点。
2014-05-26 10:54:39 5889 2
原创 Android4.2.2的Stagefright中编解码器数据流的维护
前沿:在前面的博文中,基本提到的是stagefright相关的控制流,具体分析了android架构中的MediaExtractor、AwesomePlayer、StagefrightPlayer、OMXCodec等的创建,底层OMXNodinstance实例的创建。分析了OMX最底层插件库、编解码器组件的架构以及如何创建属于我们自己的OMX Plugin。分析源码架构的另一个关键是数据流的分析,从
2014-05-23 21:40:27 4138 2
原创 Android4.2.2下Stagefright下OMX编解码器组件的控制流
之所以单独把这块内容提炼出来,在于其具备的一定的层次性,结构上具备统一性,API函数的设计需要实现OMX架构独有的接口。1. 在上一博文Android4.2.2下Stagefright多媒体架构中的A31的OMX插件和Codec组件 中我们提到,通过Binder架构,在MPS的线程上创建完一个实际的编解码器节点后,获取到了一个node:node_id。如下所示将会根据相关的节点信息,创建一个MPS
2014-05-22 20:20:33 4202
原创 Android4.2.2下Stagefright多媒体架构中的A31的OMX插件和Codec组件
本文均属自己阅读源码的点滴总结,转账请注明出处谢谢。欢迎和大家交流。qq:1037701636 email: gzzaigcn2012@gmail.com 在前面的博文中提到,AwesomePlayer::onPrepareAsyncEvent()开始进行Codec解码器组件的获取以及创建,这里和大家分享。
2014-05-21 19:44:08 6885
原创 Android4.2.2多媒体架构MediaPlay的创建过程分析(二):解析器的创建
本文均属自己阅读源码的点滴总结,转账请注明出处谢谢。欢迎和大家交流。qq:1037701636 email: gzzaigcn2012@gmail.com 在上一文中,我们分析到setDataSource_pre()函数最终实际返回的是StagefrightPlayer类(class StagefrightPlayer : public MediaPlayerInterface).1 .继续分析
2014-05-20 22:29:06 3217
原创 Android4.2.2多媒体架构MediaPlay的创建过程分析(一)
前沿:回首往事,记得2012年的时候,那时还年少不知,就研究过android的多媒体框架,那是还是2.3的源码,看过stagefright的源码,记得当时是特别的痛苦。而今,再次看起这个多媒体模块的代码,突然间觉得豁然开朗,模块间的层次清晰,有据可依,遇到的疑问往往都能迎刃而解。我想,也许这就是2年多来的进步与经验吧。感谢时间,让我学会了成才。
2014-05-20 15:38:51 4045
原创 我所看到的视频采集前端vfe和camera,decode等交互的驱动架构
到目前为止接触的处理器也多了,比较深入的驱动主要是视频采集前端,包括TI的DM64xx,DM3730,全志的A31等。发现所其所采用的框架基本不一样。当然典型的camera如ov系列,decode如tvp系列等都是作为一个i2c_client存在的,这个驱动的架构大致都类似。在这里姑且将采集前端称为vpfe:1.如dm3730的内核2.6.32版本中,其采用master和slave的驱动架构,来进
2014-05-08 15:13:33 3602 4
原创 Android手动init.rc脚本加载驱动模块出现Unknown symbol的原因
主要原因在于内核驱动模块参数进行EXPORT_SYMBOL_GPL()s
2014-05-06 16:44:46 2373
Android5.0+ Camera Preview based-Gralloc with ION.pdf
2021-06-16
install_flash_player_11_linux_i386.tar.gz
2012-11-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人