自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 资源 (8)
  • 收藏
  • 关注

原创 ARM optee

---------------------------来自网页的消息---------------------------提示:点击标题下方的“转藏到我的图书馆”可将文章保存到我的图书馆,然后可以拷贝自己文章的内容!---------------------------确定 ---------------------------

2021-09-12 11:21:06 544

原创 linux socket 分析 2

starting /etc/init/network.conf.shreg_sig_handler : done sig 1reg_sig_handler : done sig 14reg_sig_handler : done sig 13srpc_start:680:: start a TCP srpc server! ------> family is 2 ,type is

2014-03-15 19:28:13 626

原创 linux socket 分析 1

start the system ...starting /etc/init/devices.init.shstarting /etc/init/system.init.shstarting /etc/init/tmpfs.init.shstarting /etc/init/cron.conf.shstarting /etc/init/date.conf.shFri Jun

2014-03-15 19:20:33 641

转载 __setup 在内核中的作用

__setup(//做了一次完整的盗贼,我毫无修改的抄袭了一次,但有时间会做量身裁减的//from   http://www.linuxforum.net/forum/printthread.php?Cat=&Board=linuxK&main=470221&type=thread关于__setup 在内核中的作用 问题::比如在printk.c有这样一句 __se

2014-03-15 18:59:47 678

转载 linux usb 子系统

linux usb subsystem :http://blog.chinaunix.net/uid/13321460/cid-133872-list-1.html

2014-01-12 16:11:50 538

转载 路由器原理及路由协议

本文通过阐述TCP/IP网络中路由器的基本工作原理,介绍了IP路由器的几大功能,给出了静态路由协议和动态路由协议,以及内部网关协议和外部网关协议的概念,同时简要介绍了目前最常见的RIP、OSPF、BGP和BGP-4这几种路由协议,然后描述了路由算法的设计目标和种类,着重介绍了链路状态法和距离向量法。在文章的最后,扼要讲述了新一代路由器的特征。——近十年来,随着计算机网络规模的不断扩大,大型

2014-01-12 13:41:51 752

转载 为何敏捷开发将成为主流

公司里80后的同事和我聊天时戏称,你们那个时代是20年一个代沟,我们现在4年就一个代沟了。这些年国内各方面的进步实在是在令人目不暇接,在硬件上很多已超过欧美了,在软件和思想上则急起直追。在1978年之前非国营企业的工作是非法的,之后有了小私营企业,但雇用人员在8人以上则被认为是资本主义的剥削。(对于剥削的这个定义,你现在是否觉得不可思议?)根据全国工商联主编的民营经济蓝皮书数据显示,到了2010年

2014-01-12 13:32:00 678

转载 深入研究字节对齐问题 .

1.      对齐的原因与作用1.1. 对齐的原因各种硬件平台对存储空间的处理上有很大的不同。一些平台对某些特定类型的数据只能从某些特定地址开始存取。比如有些架构的CPU在访问一个没有进行对齐的变量的时候会发生错误,那么在这种架构下编程必须保证字节对齐。1.2. 对齐的作用最常见的情况是,如果不按照适合其平台要求对数据存放进行对齐,会在存取效率上带来损失。比如有些平台

2014-01-12 13:15:59 654

转载 __attribute__ 之weak,alias属性

//strong.c#include void symbol1(){    printf("%s.%s\n",__FILE__,__FUNCTION__);}//weak.c#include void symbol1() __attribute__ ((weak,alias("symbol222")));//void symbol1() __attribute_

2013-12-30 18:08:14 2451

转载 GNU C/C++ __attributes__

GCC使用__attribute__关键字来描述函数,变量和数据类型的属性,用于编译器对源代码的优化。描述函数属性的几个重要的关键字:void noreturnfun() __attribute__((noreturn));//函数不会返回。 void centon() __attribute__((alias("__centon")));//设置函数别名,函数是__cen

2013-12-30 17:58:23 1011

转载 Linux内核中内存相关的操作函数

1、kmalloc()/kfree()  static __always_inline void *kmalloc(size_t size, gfp_t flags)  内核空间申请指定大小的内存区域,返回内核空间虚拟地址。在函数实现中,如果申请的内存空间较大的话,会从buddy系统申请若干内存页面,如果申请的内存空间大小较小的话,会从slab系统中申请内存空间。  gfp_t fla

2013-12-12 18:01:29 658

转载 FFmpeg架构之I/O模块分析 .

注意:这篇转载的文章比较早,写得很清晰,但是新版的ffmpeg的很多数据结构的名字已经改了。因此只能作参考。(例如ByteIOContext已经改名为AVIOContext)1概述ffmpeg项目的数据IO部分主要是在libavformat库中实现,某些对于内存的操作部分在libavutil库中。数据IO是基于文件格式(Format)以及文件传输协议(Protocol)

2013-12-11 02:16:46 676

转载 ffmpeg主要数据结构及其之间的关系

一:FFMPEG数据结构AVCodecContext:这是一个描述编解码器上下文的数据结构,包含了众多编解码器需要的参数信息。      如果是单纯使用libavcodec,这部分信息需要调用者进行初始化;如果是使用整个FFMPEG库,这部分信息在调用 av_open_input_file和av_find_stream_info的过程中根据文件的头信息及媒体流内的头部信息完成初始化。其

2013-12-11 02:09:53 1329

转载 Gstreamer的同步机制

本文编译自gstreamer源代码中的文档,原文的路径是gstreamer/docs/design/part-synchronisation.txt。本文描述了Gstreamer的同步机制,Gstreamer中实现同步的组件如下:GstClock,是全局的,用于pipeline中的所有elements。 GstBuffer的timestamps。 buffers之前的NEW_S

2013-11-27 18:34:40 1695

转载 ffdemux_mpegts中时间戳的处理问题

ffdemux_mpegts是gstreamer的demux plugin,基于ffmpeg,在使用的时候发现处理实时流存在问题。先来描述一下问题,采用gst-launch命令启动转码,命令如下:gst-launch-0.10 udpsrc multicast-group=239.1.80.80 port=49500 ! queue ! ffdemux_mpegts name=de

2013-11-27 18:33:43 1123

转载 gstreamer应用程序调试

大型应用程序需要完善的debug及log,用于出错调试以及运行时的日志。gstreamer提供了灵活的调试和日志工具 - Gstreamer调试和日志子系统GstInfo。Gstreamer的调试和日志子系统是获取应用程序运行状况的途径。只有在Gstreamer程序初始化以后调试子系统才开始运行,比如调用gst_init()进行初始化。Gstreamer调试和日志子系统在应用程序运

2013-11-27 18:30:50 1715

翻译 Gstreamer架构 简介

本文给出了Gstreamer的总体设计。通过阅读本文可以了解Gstreamer的内部工作原理。本文编译自gstreamer源码中的文档,原文在源码中的位置是/gstreamer/docs/design/part-overview.txt。概述Gstreamer是一个libraries和plugins的集合,用于帮助实现各种类型的多媒体应用程序,比如播放器,转码工具,多媒体服务器等。

2013-11-27 18:28:50 1078

转载 C语言宏与单井号(#)和双井号(##)

C(和C++)中的宏(Macro)属于编译器预处理的范畴,属于编译期概念(而非运行期概念)。下面对常遇到的宏的使用问题做了简单总结。关于#和##在C语言的宏中,#的功能是将其后面的宏参数进行字符串化操作(Stringfication),简单说就是在对它所引用的宏变量通过替换后在其左右各加上一个双引号。比如下面代码中的宏:#define WARN_IF(EXP) /  do{ if

2013-11-20 19:30:18 736

转载 gstreamer插件工作原理与流程分析 .

gstreamer plugins的工作同所有的基于插件的程序的工作原理类似,本质上都是通过读取动态库实现的,只需要每个动态库都实现某一个特定的接口就可以了,比如XX_init等,gstreamer统一使用plugin_init。里面会有个像注册表一样的数据结构会存储所有的插件的信息。     (1)在应用程序启动时,会调用gst_init--->gst_init_check。gst_init

2013-11-20 19:04:58 1608

转载 gstreamer核心源码走读typefind原理和对象关系浅析(三)

mark>待完善 如需转载,请注明出处:本博客链接http://blog.csdn.net/acs713/article/details/7742976

2013-11-20 19:03:31 1102

转载 gstreamer核心源码走读typefind原理浅析(二) .

在我的上一篇文章里,谈到: 8)Filesrc最终会调用open函数打开文件。接着src组件状态也发生切换,创建一个task,最后把文件信息推送给typefind; 9) typefind会从src读取一部分数据然后送出typefind_callback,在callback里面创建合适的plugin。合适的plugin.   本文将从源码分析的角度,重点将这2步分析清楚。可以说,理解了

2013-11-20 19:01:20 1409

转载 gstreamer 核心源码source创建和识别typefind原理浅析(一) .

一般情况下,用户打开一个多媒体文件,gstreamer首先需要知道文件的类型,然后创建相应的解码器来解析这个文件,最终实现播放这个文件。     一个实现流程实例如下: (1)     app程序通知gstreamer会根据uri、文件路径,创建相应类型的src组件,一般为filesrc组件(element)) (2)     接着根据插件名创建type_find组件 (3)   

2013-11-20 19:00:26 916

转载 深入浅出gstreamer的调度模式 .

gstreamer的官方文档里,调度的英文是schedule. 什么是schedule? 它的英文解释为" to plan that something will happen at a particular time “.在gstreamer里,调度的意义跟它基本差不多。在gstreamer里,调度的目的主要有以下几个:      (1)在适当的时候通知每个元件去完成相应的任务,确保这些职责

2013-11-20 18:54:44 1205

转载 相见恨晚之gstreamer衬垫的激活

1.衬垫的激活        当一个bin(箱柜)的状态发生变化时,它里面的元件的状态是按照sink到source的顺序变化的,即先设置sink元件的新状态,再设置source元件的新状态。当状态变化是从ready变到pause时,元件的衬垫开始激活,为数据在元件之间的流动做准备。有些pad,还会启动一个任务(task),来驱动数据流。      对某个元件来说,它通常先激活它的sourc

2013-11-20 18:54:01 1106

转载 Gstreamer的音视频同步 .

一 概述    Gstreamer的音频视频同步,概括起来是一个比较大的问题,因为在网上可以看到很多音视频同步的办法。这里我们只看最普通的一种。以音频时钟做为参考时钟(要求参考时钟上的时间是线性递增的);生成数据流时依据参考时钟上的时间给每个数据块都打上时间戳(一般包括开始时间和结束时间);在播放时,读取数据上的时间戳,同时参考当前参考时钟上的时间来安排播放(如果数据块上的时间大于参考时钟

2013-11-20 12:31:34 2595

转载 android mediaplayer + stagefright 框架图解

在android原生的媒体播放器中是由mediaplayerservice来控制媒体播放器的,在mediaplayerservice中创建了mediaplayer,在mediaplayer.java的native方法通过jni调用android_media_mediaplayer.cpp中的方法,接着往下调用mediaplayer.cpp中的方法,mediaplayer通过ipc机制调用media

2013-11-18 11:32:00 780

转载 stagefright简介

1、    StageFright介绍      Android froyo版本多媒体引擎做了变动,新添加了stagefright框架,并且默认情况android选择stagefright,并没有完全抛弃 opencore,主要是做了一个OMX层,仅仅是对 opencore的omx-component部分做了引用。stagefright是在MediaPlayerService这一层加入的,和 op

2013-11-18 10:14:02 1044

转载 Android的MediaPlayer架构介绍

本文主要介绍的是Android中很重要也最为复杂的媒体播放器(MediaPlayer)部分的架构。对于Android这样一个完整又相对复杂的系统,一个MediaPlayer功能的实现不在其具体的功能,而是具体功能如何适应Android系统Android MediaPlayer的主要具体实现在OpenCore的Player中,这部分不是本文的关注点。本文关注的是MediaPlayer系统的架构,其他

2013-11-18 01:35:32 928

转载 Android中深入研究Service .

关于Service,不管是Windows还是linux系统,相信大家应该遇到过很多自己解决不了的问题吧,那么本文来讲述一下Android手机系统中的Service .1 Service本质结构我们还是从Service的根本意义分析入手,服务的本质就是响应客户端请求。要提供服务,就必须建立接收请求,处理请求,应答客服端的框架。我想在Android Service设计者也会无时不刻

2013-11-18 01:30:31 675

转载 Android开机启动流程初探 .

第一步:启动linux1.Bootloader2.Kernel第二步android系统启动:入口为init.rc(system\core\rootdir)1./system/bin/service manager: Binder 守护进程;2.Runtime;3.Zygote :app-process/app-main;4.Start VM;5.Start serv

2013-11-18 01:28:26 813

转载 Android重量级开发之--提高android启动速度研究

大家都知道启动速度慢是智能操作系统的一个通病,Android也不例外,启动速度大概在1分钟左右,虽然日本有一个叫quick boot的一秒启动android的产品,但是毕竟是旁门左道。所以从常规来提高android的启动速度成了大家研究的重点,也是难点。下面将初步研究的一下经验跟大家分享一下。首先看一下android系统的启动流程:bootloader               

2013-11-18 01:27:20 1042

原创 Android中Media Framework浅析(一)——概述 .

刚刚开始研究Android中Media framwork,有必要做一下笔记和转载一些高人输出的成果。记录下我的足迹,也留给大家分享。由于我所有的开发是基于android 3.0 honeycomb版本,并且里面有一些涉及到Google TV的内容。这部分内容并不开源,我会尽量的将其略过,请大家谅解(转载)!

2013-11-18 01:18:10 1694

转载 Android中Media Framework浅析(二)——MediaServer

MediaServer是整个android中media部分的核心和灵魂。几乎所有与多媒体播放相关的内容都放在这里。包括了音视频的编解码以及显示输出。MediaServer的main函数位于frameworks/base/media/mediaserver/main_mediaserver.cpp中。函数非常简单:int main(int argc, char** argv){//获

2013-11-18 01:13:55 1285

ARM 指令 学习及讲解

很好的学习 指令很详解,有利于学习ARM 和嵌入式汇编开发!

2011-05-29

解析音视频解码-FFmpeg

介绍音频和视频的解码库-FFmpeg,及在Linux的编译。 以及相关的视频格式的区别

2010-09-02

非常实用-嵌入式浏览器

非常使用的嵌入式浏览器接受及原理,使用浏览器开发的初学者和提升提升者

2010-08-13

所有文件系统介绍和实现(全)

对于了解和学习文件系统的朋友有一定的帮助,文件系统对工作中的产品开发也有很大的帮助

2010-07-19

MFC 核心原理及方法

非常有用的MFC的介绍和学习,其中MFC的原理更适合与初学MFC的朋友

2010-07-19

SVN-1.4.6—setup.exe

共同分享SVN给软件开发带来的快乐!! 共同分享!!

2009-08-02

MTK源代码分析和文档资料

MTK源代码分析和文档资料 有利于仔细分析架构!

2009-08-02

MTK的MMI绝密资料

对于初学MTK的有一定的帮助哦!! 对于有经验的MTK方案开发的工程师也有一定参考意义!!

2009-08-02

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除