Hunnad的专栏

私信 关注
Hunnad
码龄18年
  • 84,190
    被访问量
  • 1
    原创文章
  • 118,312
    作者排名
  • 8
    粉丝数量
  • 目前就职 暂无
  • 于 2003-05-09 加入CSDN
获得成就
  • 获得2次点赞
  • 内容获得12次评论
  • 获得10次收藏
荣誉勋章
TA的专栏
  • Linux内核开发
    13篇
  • SIP协议相关
    1篇
  • VoIP相关
  • 其他杂项
    2篇
  • 嵌入式开发
  • 开源项目
  • 电信网技术
    1篇
  • 编程技术
    8篇
  • 软件工程
  • 互联网
    1篇
  • ANDROID
    4篇
  • 最近
  • 文章
  • 资源
  • 问答
  • 课程
  • 帖子
  • 收藏
  • 关注/订阅

stagefright框架(二)- 和OpenMAX的運作

Stagefright的編解碼功能是利用OpenMAX框架,而且用的還是OpenCORE之OMX的實作,我們來看一下Stagefright和OMX是如何運作的。(1) OMX_InitOMXClient mClient;AwesomePlayer::AwesomePlayer(){  mClient.connect();}stat
转载
618阅读
0评论
0点赞
发布博客于 9 年前

stagefright与opencore对比(转)

1引言Android froyo版本多媒体引擎做了变动,新添加了stagefright框架,并且默认情况android选择stagefright,弃用之前的opencore,仅仅对opencore中的omx-component部分做了引用。Stagefright自android2.0后才添加,其稳定性有待商榷,是否存在bug也未知,opencore自android诞生起便存在,稳定性有保障
转载
549阅读
0评论
0点赞
发布博客于 9 年前

Android平台OpenMax多媒体引擎介绍

OpenMax是一个多媒体应用程序的框架标准。其中,OpenMax IL(集成层)技术规格定义了媒体组件接口,以便在嵌入式器件的流媒体框架中快速集成加速编解码器。  在Android中,OpenMax IL层,通常可以用于多媒体引擎的插件,Android的多媒体引擎OpenCore和StageFright都可以使用OpenMax作为插件,主要用于编解码(Codec)处理。  在Androi
转载
763阅读
0评论
0点赞
发布博客于 9 年前

Android 代码名字-版本号-API级别-NDK版本对应关系

源文:http://source.android.com/source/build-numbers.htmlAPI级别与NDK的对应关系如下:Code nameVersionAPI level(no code name)1.0API level 1(no code name)1.1API level 2Cu
转载
2085阅读
0评论
0点赞
发布博客于 9 年前

SNS网站的用户流失率怎么会高得如此惊人?

用户典型的SNS体验甲先生是个普通白领,白天工作使用互联网找资料连络客户,下班后回家偶而会上网闲逛。互联网是他日常接触的媒介,但是在他生命中这个东西并不显得特别重要,至少他不是天天泡在网上的人。然而最近几个月来,他老是收到一堆电子邮件,标题大部分写著「某某人加你为好友」之类的。顺著连接过去看,是自己MSN上面的朋友。既然是朋友的邀请,总是不怎么好意思拒绝,想想也就注册加入。于是,甲先生先后加入
转载
1485阅读
0评论
0点赞
发布博客于 9 年前

创业学院:互联网创业者失败的18个原因

在最近的一次演讲中,有人问我,哪些错误会导致创业失败。站在那里愣了几秒后,我意识到,这是一个很难回答的问题。它等于是在问:一个初创公司如何才能成功。如果你能避免所有导致失败的错误,那么你自然就会成功。这个问题太大了,很难在那样短的时间里回答清楚。后来我又认识到,这个问题如果从另一个角度看,也许是有意义的。假如你有一个清单,列出了所有你不应该做的事情,那么只需要把这个清单取反,你就得到了一张成功
转载
1310阅读
0评论
0点赞
发布博客于 9 年前

[转]#pragma 预处理指令详解

在所有的预处理指令中,#Pragma 指令可能是最复杂的了,它的作用是设定编译器的状态或者是指示编译器完成一些特定的动作。#pragma指令对每个编译器给出了一个方法,在保持与C和C++语言完全兼容的情况下,给出主机或操作系统专有的特征。依据定义,编译指示是机器或操作系统专有的,且对于每个编译器都是不同的。  其格式一般为:    #Pragma Para      其中Para 为参数,下面来看
转载
523阅读
0评论
0点赞
发布博客于 13 年前

[转]两种不同线序的JTAG仿真器电路和一点猜想

以下是我在实践中的一些积累,发现这点是因为我在尝试用对SAMSUNG S3C44B0 JTAG适用的编程板电路给SAMSUNG的另一款ARM9内核MPU S3C2440 JTAG编程时出现问题,查阅了一些资料后最终解决。希望这些对那些在自制ARM JTAG编程器上遇到困难的朋友一点帮助。一. JTAG仿真器的实质JTAG (Joint Test Action Group) 编程调试
原创
1020阅读
0评论
0点赞
发布博客于 13 年前

[转]INTEL 汇编指令集

INTEL 汇编指令集Intel Assemble Instruction SetCONTENTIntel 8086 Family ArchitectureInstruction Clock Cycle Calculation8088/8086 Effective Address (EA) CalculationTask State CalculationFLAGS - In
转载
752阅读
0评论
0点赞
发布博客于 13 年前

[转]揭开正则表达式的神秘面纱

揭开正则表达式的神秘面纱关闭高亮[原创文章,转载请保留或注明出处:http://www.regexlab.com/zh/regref.htm]引言    正则表达式(regular expression)就是用一个“字符串”来描述一个特征,然后去验证另一个“字符串”是否符合这个特征。比如 表达式“ab+” 描述的特征是“一个 a 和 任意个 b ”,那么
转载
628阅读
0评论
0点赞
发布博客于 13 年前

[转]Linux之旅(1): diff, patch和quilt (下)

2 quilt我们自己的项目可以用cvs或svn管理全部代码。但有时我们要使用其他开发者维护的项目。我们需要修改一些文件,但又不能直接向版本管理工具提交代码。自己用版本管理工具重建整个项目是不合适的,因为大多数代码都是别人维护的,例如Linux内核。我们只是想管理好自己的补丁。这时可以使用quilt。2.1 基本概念quilt是一个帮助我们管理补丁的程序。quilt的命令格式类似于cv
转载
899阅读
0评论
0点赞
发布博客于 13 年前

[转]Linux之旅(1): diff, patch和quilt (上)

diff和patch是在Linux环境为源代码制作和应用补丁的标准工具。diff可以比较文件或目录的差异,并将差异记录到补丁文件。patch可以将补丁文件应用到源代码上。quilt也是一个制作和应用补丁的工具,它适合于管理较多补丁。quilt有自己的特有的工作方式。本文通过简单的例子介绍这三个常用的工具。0 示例工程我们先准备一个用来做实验的工程,它包含若干子目录和文件。可以用find命令
转载
710阅读
0评论
0点赞
发布博客于 13 年前

[转]SkyEye硬件模拟平台,第三部分: 硬件仿真实现之六

SkyEye硬件模拟平台,第三部分: 硬件仿真实现之六SkyEye的扩展文档选项打印本页
转载
794阅读
0评论
0点赞
发布博客于 13 年前

[转]SkyEye硬件模拟平台,第三部分: 硬件仿真实现之五

SkyEye硬件模拟平台,第三部分: 硬件仿真实现之五LCD/TouchScreen仿真文档选项打印本页<!--document.write(将此页作为电子邮件发送);
转载
994阅读
0评论
0点赞
发布博客于 13 年前

[转]SkyEye硬件模拟平台,第三部分: 硬件仿真实现之四

SkyEye硬件模拟平台,第三部分: 硬件仿真实现之四网络芯片仿真文档选项打印本页
转载
752阅读
0评论
0点赞
发布博客于 13 年前

[转]SkyEye硬件模拟平台,第三部分: 硬件仿真实现之三

SkyEye硬件模拟平台,第三部分: 硬件仿真实现之三MMU/CACHE仿真文档选项打印本页<!--document.write(将此页作为电子邮件发送);//--
转载
709阅读
0评论
0点赞
发布博客于 13 年前

[转}SkyEye硬件模拟平台,第三部分: 硬件仿真实现之二

SkyEye硬件模拟平台,第三部分: 硬件仿真实现之二CPU/开发板仿真文档选项打印本页
转载
666阅读
0评论
0点赞
发布博客于 13 年前

[转]SkyEye硬件模拟平台,第三部分: 硬件仿真实现之一

developerWorks 中国  >  Linux  >SkyEye硬件模拟平台,第三部分: 硬件仿真实现之一SkyEye的设计实现文档选项打印本页<!--docu
转载
742阅读
0评论
0点赞
发布博客于 13 年前

[转]SkyEye硬件模拟平台,第二部分: 安装与使用

SkyEye硬件模拟平台,第二部分: 安装与使用文档选项打印本页
转载
1012阅读
0评论
0点赞
发布博客于 13 年前

[转]SkyEye硬件模拟平台, 第一部分: SkyEye 介绍

SkyEye硬件模拟平台, 第一部分: SkyEye 介绍文档选项打印本页
转载
565阅读
0评论
0点赞
发布博客于 13 年前

uClinux cmdline分析以及rootfs挂载

因为在做sigma designs em8620的方案,通过em8620的开发包了解一下有关uClinux的一些东西,有误的地方希望大虾们指出来主要参考了www-128.bim.com《linux启动过程综述》《解析linux VFS文件系统机制》由start_kernel函数开始在arch/armnommu/vmlinux-armv.lds.in里面有如下定义:SECTIONS{       
转载
1338阅读
0评论
0点赞
发布博客于 13 年前

如何使uClinux根目录使用jffs2分区(转)

一、系统介绍1. 采用加补丁方式的uClinux内核,不是uClinux-dist结构的。原始linux 2.4.222. Flash 地址0x46000000 ---- (0x46800000-0x1)3. 192K 存放loader所以映像烧写起始 0x460300004. 832K 存放内核 0x46030000----(0x46100000-0x1)5.  二、打开
转载
1349阅读
1评论
0点赞
发布博客于 13 年前

vmlinux.lds解读

vmlinux.lds.S用于对ld的输出进行组版,这个文件的格式在ld.info手册中有详细的说明。vmlinux.lds.S的主要目的是对输出文件中段进行排序,并定义相关的符号名,以下是简要注释。/* ld script to make i386 Linux kernel * Written by Martin Mares ; */OUTPUT_FORMAT("elf32-i386", "el
转载
1290阅读
0评论
0点赞
发布博客于 13 年前

linux内核调试指南

 linux内核调试指南一些前言作者前言知识从哪里来为什么撰写本文档为什么需要汇编级调试***第一部分:基础知识***总纲:内核世界的陷阱源码阅读的陷阱代码调试的陷阱原理理解的陷阱建立调试环境发行版的选择和安装安装交叉编译工具bin工具
转载
20591阅读
7评论
2点赞
发布博客于 13 年前

Git 中文教程

Git 中文教程介绍Git --- The stupid content tracker, 傻瓜内容跟踪器。Linus
转载
962阅读
0评论
0点赞
发布博客于 13 年前

VIM常用技巧

vim中显示16进制数据和hexeditor的PK-------------------------------------------------------------------------------:%!xxd -g 1 表示每1个字节为1组:%!xxd -g 2 表示每2个字节为1组(默认):%!xxd -g 4 表示每4个字节为1组:%!xxd -r    将vim恢复成原来的显
转载
598阅读
0评论
0点赞
发布博客于 13 年前

如何成为一个Linux内核开发者

你想成知道如何成为一个Linux内核开发者么?或者你的老板告诉你,“去为这个设备写一个Linux驱动。“这篇文档的目的,就是通过描述你需要经历的过程和提示你如何和社区一起工作,来教给你为达到这些目的所需要知道的所有知识。本文也尝试解释社区为什么这样工作的一些原因。内核几乎全是用C写成的,有一些架构相关的部分是用汇编语言写成的。熟练掌握C语言是内核开发的必备条件。汇编语言(任何架构)的了解不是必须的
转载
1010阅读
0评论
0点赞
发布博客于 13 年前

NTDDI_VERSION,_WIN32_WINNT,WINVER,_WIN32_IE定义宏的含义

   在使用一些新版本的API,或者控件的新特性(比如新版的ComCtl32.dll)的时候,你可能会得到“error C2065: undeclared identifier.“这个错误。原因是这些功能是依赖于你的操作系统的版本的。而你的头文件中的定义并不是最新的。(对于MFC,就是stdafx.h)下面详细列举了每个Windows版本对应的NTDDI_VERSION,_WIN32_WINNT,
转载
6939阅读
0评论
0点赞
发布博客于 13 年前

跨平台GUI开发库

  跨平台GUI开发库这篇内容有点专业,不搞开发的的可以飘过。 作为一个跨平台的GUI库,Qt算是老前辈了(据说tk是第一个真正的跨平台的GUI开发包,不知道有没有人验证过,但是用脚本写界面,这个好像不是主流吧)。网上搜索“跨平台GUI开发”应该可以得到不少对各个开发包进行比较的文章,这里说说我的感受: Qt(http://www.trolltech.com/)我最喜欢的东
转载
6520阅读
1评论
0点赞
发布博客于 13 年前

C++ 关键字 explicit, export, mutable

explicit如果A类有某个构造函数的单个输入参数,是B类(包括基本数据类型)的对象或引用,则C++的编译器会在需要A类形参的函数调用中,自动调用该构造函数,将B类实参隐式地转换为A类实参。这种自动类型转换的好处是,避免了定义函数的两个重载版本,代价是隐式调用构造函数会增加调用开销,并可能会带来其他问题。在标准C++中,新增加了关键字explicit(显式/清楚/明确),(只能)用在
转载
1091阅读
0评论
0点赞
发布博客于 13 年前

标准c++中主要有四种强制转换类型运算符 const_cast,reinterpret_cast,static_cast,dynamic_cast

static_cast  用法:static_cast ( expression )   该运算符把expression转换为type-id类型,但没有运行时类型检查来保证转换的安全性。它主要有如下几种用法:  ①用于类层次结构中基类和子类之间指针或引用的转换。  进行上行转换(把子类的指针或引用转换成基类表示)是安全的;  进行下行转换(把基类指针或引用转换成子类表
转载
1397阅读
0评论
0点赞
发布博客于 13 年前

学反码、补码、原码,取模,取余

1、在计算机系统中,数值一律用补码来表示(存储)。 主要原因:使用补码,可以将符号位和其它位统一处理;同时,减法也可按加法来处理。另外,两个用补 码表示的数相加时,如果最高位(符号位)有进位,则进位被舍弃。 2、补码与原码的转换过程几乎是相同的。 数值的补码表示也分两种情况: (1)正数的补码:与原码相同。 例如,+9的补码是00001001。 (2)负数的补码:符号位为1,其余位为该数绝对值的原
转载
4946阅读
1评论
1点赞
发布博客于 13 年前

SIP相关的RFC文档全收集

  Core SIPDocumentsRFC 2543SIP: Session Initiation Protocol (obsolete) RFC 3261SIP: Session Initiation Protocol SDP Related DocumentsRFC 2327Session Description Protoco
转载
1882阅读
2评论
0点赞
发布博客于 13 年前