自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(129)
  • 资源 (1)
  • 收藏
  • 关注

转载 va_list、va_start、va_arg、va_end的原理与使用

概述由于在C语言中没有函数重载,解决不定数目函数参数问题变得比较麻烦;即使采用C++,如果参数个数不能确定,也很难采用函数重载.对这种情况,有些人采用指针参数来解决问题.下面就c语言中处理不定参数数目的问题进行讨论.VA_LIST 是在C语言中解决变参问题的一组宏他有这么几个成员:1) va_list型变量:#ifdef  _M_ALPHAtypedef struct {

2012-06-29 11:11:33 555

转载 WinSocket模型的探讨——Overlapped模型(一)

重叠模型是Windows里一种重要的 I/O 模型,可以有效率的实现一些 I/O 操作,譬如文件读写、Socket读写等,在这里我们一起来研究一下重叠模型,看看它究竟为何方神圣。这篇文章分为以下几部分来说明:重叠模型的概念容易碰到的一些问题重叠模型的基本编程方法(accept 和 AcceptEx )突破64个事件的等待限制例程好了,下面就让我们一起来学

2012-06-05 09:59:33 467

转载 Windows下重叠I/O模型

一.重叠模型的优点1.可以运行在支持Winsock2的所有Windows平台 ,而不像完成端口只是支持NT系统。2.比起阻塞、select、WSAAsyncSelect以及WSAEventSelect等模型,重叠I/O(Overlapped I/O)模型使应用程序能达到更佳的系统性能。         因为它和这4种模型不同的是,使用重叠模型的应用程序通知缓冲区收发系统直接

2012-06-05 09:31:37 623

转载 Using CDialogResize

Using CDialogResizeIntroductionRecently I've been reading up on WTL, and I came across a rather interesting class that I hadn't seen mentioned anywhere, CDialogResize. Given the

2012-05-28 09:29:29 418

转载 Using CDialogResize

Using CDialogResizeIntroductionRecently I've been reading up on WTL, and I came across a rather interesting class that I hadn't seen mentioned anywhere, CDialogResize. Given the la

2012-05-28 09:28:02 131

转载 变量命名规则------匈牙利命名规则!

变量命名规则------匈牙利命名规则!几年以前,Charles Simonyi(他后来成为微软的著名程序员)设计了一种以前缀为基础的命名方法,这种方法后来称为"匈牙利表示法"以记念他.他的思想是根据每个标识符所代表的含义给它一个前缀.微软后来采用了这个思想,给每个标识符一个前缀以说明它的数据类型.因此,整型变量的前缀是n,长整型变量是nl,字符型数组变量是ca,以及字符串(以空类型结尾的

2012-05-25 13:49:08 417

转载 ubuntu加nginx配置应用

第一步,安装nginxapt-get updateapt-get install nginx即可完成安装启动nginx:/etc/init.d/nginx start然后就可以访问了,http://localhost/ , 一切正常!如果不能访问,先不要继续,看看是什么原因,解决之后再继续。第二步,安装Php和mysql安装php和MySQL:apt

2012-05-17 10:41:05 3175

转载 nginx安装配置详解

好久不写日志了,哪怕是网上摘抄的都很少在此记录了,自己怎么这么懒了啊。之前都是用apache服务器来配置php环境,今天有兴趣了解一些nginx来配置php环境。是在linux下配置。利用Linux Nginx架设高性能的Web环境 Linux Nginx ("engine x") 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 Linux

2012-05-16 10:31:50 7260

转载 Poll() | 多路复用 I/O

和 select() 函数一样,poll() 函数也可以用于执行多路复用 I/O 。但 poll() 与 select()相比,用起来更加直观容易。使用该函数,需要包含 #include 文件,实际上最终包含的是 文件,poll.h 里的内容也就是 #include 。函数的原型:引用#include extern int poll (struct pollf

2012-05-07 13:35:52 884

转载 linux中select()函数分析

分类: C/C++ Linux/unix2009-05-25 15:08 25562人阅读 评论(14) 收藏 举报Select在Socket编程中还是比较重要的,可是对于初学Socket的人来说都不太爱用Select写程序,他们只是习惯写诸如connect、accept、recv或recvfrom这样的阻塞程序(所谓阻塞方式block,顾名思义,就是进程或是线程执行到这些函数时必须等

2012-05-04 11:46:48 608

转载 在SurfaceView中添加组件并且相互交互数据

李华明Himi 原创,转载务必在明显处注明: 转载自 【黑米GameDev街区】 原文链接:  http://www.himigame.com/android-game/306.html 很多童鞋说我的代码运行后,点击home或者back后会程序异常,如果你也这样遇到过,那么你肯定没有仔细读完Himi的博文,第十九篇Himi专门写了关于这些错误的原因和解决方法,这里我在

2012-05-03 09:52:40 905

转载 你真的有必要退出吗——再说Android程序的退出功能

你真的有必要退出吗——再说Android程序的退出功能分类: Android2012-04-14 01:40 9345人阅读 评论(50) 收藏 举报搞Android开发有一段时间了,相信很多从Windows开发过来的Android程序员都习惯性地会跟我一样遇到过同一个问题:如何彻底退出程序?这里说下我自己的经验,并不权威,仅供参考。 一开始我也上网到处找退出的资料

2012-04-24 10:25:29 486

转载 FLV文件格式解析

FLV(Flash Video)是现在非常流行的流媒体格式,由于其视频文件体积轻巧、封装播放简单等特点,使其很适合在网络上进行应用,目前主流的视频网站无一例外地使用了FLV格式。另外由于当前浏览器与Flash Player紧密的结合,使得网页播放FLV视频轻而易举,也是FLV流行的原因之一。    FLV视频格式是Adobe公司设计开发的,目前已经免费开放,现在的版本是v10。下面我们

2012-03-16 17:29:17 428

转载 FLV文件格式分析

FLV是一个二进制文件,由文件头(FLV header)和很多tag组成。tag又可以分成三类:audio,video,script,分别代表音频流,视频流,脚本流(关键字或者文件信息之类)。FLV Header一般比较简单,包括文件类型之类的全局信息,如图:文件类型3bytes总是FLV(0x46 0x4C 0x56),否则...

2012-03-16 16:59:01 585 1

转载 ffmpeg 和 x264的参数对照

x264  ffmpeg  说明命令行字段命令行字段  qpqp_constantcqp  cqp固定量化因

2012-03-06 17:06:59 1433

转载 学习C++和编程的50个观点

下面的是学C++时要注意的。绝对经典。!! 1.把C++当成一门新的语言学习(和C没啥关系!真的。); 2.看《Thinking In C++》,不要看《C++变成死相》; 3.看《The C++ Programming Language》和《Inside The C++ Object Model》,不要因为他们很难而我们自己是初学者所以就不看; 4.不要被VC、BCB、BC、

2012-03-06 11:41:38 684

转载 extern "C" 的作用

1、在cpp文件中调用c文件中实现的函数的时候,需要用extern "C"声明该函数,否则cpp会按名字改编后的函数名去找该函数而找不到。(这是作用)   c文件中有一函数:              void Transfer(int a; char b);   cpp文件中必须用extern "C"声明该函数如下才可以实行调用:            extern "C" vo

2012-03-06 10:03:53 327

转载 X264多线程分析

很长一段时间没有写博客了,原因很多。SVC相关的研究和代码推进都暂时停止了, 因为有太多的其它学习和开发。SVC在视频的灵活传送和错误隐藏当面是有很大潜力的,但并非意味着它能适合于真正的网络工程应用。最近随着“阿凡达”的热播,很多人对3D视频的兴趣都热情起来,立体视频时代由这样的错觉3D开始,也将打开它的大幕了。 3D视频的制作超出了编解码范畴,更重要的利用视差进行渲染和视

2012-03-01 16:27:49 840

转载 C语言的面向对象设计-对X264/FFMPEG架构探讨

正文类似题目的文章已经不新鲜了,这里,我仅仅总结自己的一些代码经验,结合两款在视频开发领域比较常用的开源软件探讨C语言的应用问题。1.为什么要用C语言曾几何时,我也不熟悉C,最早接触C的是在大学四年级,当时已经学过pascal,过二级也是pascal。接着走上了Delphi的路,多方便的软件,写写画画,程序就出来了,本科的毕业设计就是这样出来的MIS,在当时还很时髦

2012-03-01 11:28:27 1088

转载 define宏定义中的#,##,@#及\符号

1、# (stringizing)字符串化操作符。其作用是:将宏定义中的传入参数名转换成用一对双引号括起来参数名字符串。其只能用于有传入参数的宏定义中,且必须置于宏定义体中的参数名前。如:#define example(instr) printf("the input string is:\t%s\n",#instr)#define example1(instr) #ins

2012-03-01 09:46:21 547

转载 Android 多媒体框架中Mediaplayer与Opencore的衔接过程

本文从代码的角度来分析Android多媒体框架中mediaplay是如何调用opencore的。一.摘要:    对于Android 多媒体框架,Google 在 Android 2.2中就已经实现了stagefright,但还是保留了opencore;在新推出的2.3版本中,正式抛弃了opencore,而采用stagefright。网上关于Android opencore架构的文

2012-02-28 11:12:50 658

转载 FFMpeg SDK 开发手册

FFMpeg 中比较重要的函数以及数据结构如下:1. 数据结构:(1) AVFormatContext(2) AVOutputFormat(3) AVInputFormat(4) AVCodecContext(5) AVCodec(6) AVFrame(7) AVPacket(8) AVPicture(9) AVStream2. 初始化函数:(1)

2012-02-23 15:09:03 917

转载 FLV帧全面分析。研究心得

做视频会议,用RTMP协议,就要把视频流封装成flv包。最近几星期一直在纠结怎么封装,终于让我找到规律了。首先下载一个flvparse软件。来分析flv的帧数据。打开软件,点浏览选择路径打开flv文件可以得到下图:上图打开的是一个好的flv文件,就是封包格式是正确的,我们可以来分析和观察一下。File Header和 MedadataTag是rtmp协议自动添加上的

2012-02-15 10:47:58 441

转载 FLV帧全面分析。研究心得。

做视频会议,用RTMP协议,就要把视频流封装成flv包。最近几星期一直在纠结怎么封装,终于让我找到规律了。首先下载一个flvparse软件。来分析flv的帧数据。打开软件,点浏览选择路径打开flv文件可以得到下图:上图打开的是一个好的flv文件,就是封包格式是正确的,我们可以来分析和观察一下。File Header和 MedadataTag是rtmp协议自动添加上的

2012-02-15 10:45:44 342

转载 Android开发指南(33) —— Multimedia and Camera - Camera

Android框架包含了对多种摄像头和摄像特性的支持,应用程序可以进行图片和视频的捕获。本文讨论了一种快速、简便的捕获图像和视频的方法,并简述了一种更高级的可为用户创建自定义摄像功能的方法。需要考虑的问题在让应用程序使用Android设备的摄像头之前,应该考虑一些期望如何使用此硬件的问题。·       摄像头需求 —— 摄像头的使用对于应用程序是否确实如此重要

2012-02-10 16:06:15 832

转载 ffmpeg的内部Video Buffer管理和传送机制

本文主要介绍ffmpeg解码器内部管理Video Buffer的原理和过程,ffmpeg的Videobuffer为内部管理,其流程大致为:注册处理函数->帧级释放->帧级申请->清空。1 注册get_buffer()和release_buffer()FFAPI_InitCodec()avcodec_alloc_context()avcodec_alloc_context2(

2012-02-10 11:21:23 2862

转载 FFMpeg 中比较重要的函数以及数据结构

FFMpeg 中比较重要的函数以及数据结构如下:1. 数据结构:(1) AVFormatContext(2) AVOutputFormat(3) AVInputFormat(4) AVCodecContext(5) AVCodec(6) AVFrame(7) AVPacket(8) AVPicture(9) AVStream2. 初始化函数:(1)

2012-02-01 13:30:20 1538

转载 http header详解

http header详解HTTP(HyperTextTransferProtocol)是超文本传输协议的缩写,它用于传送WWW方式的数据,关于HTTP协议的详细内容请参考RFC2616。HTTP协议采用了请求/响应模型。客户端向服务器发送一个请求,请求头包含请求的方法、URI、协议版本、以及包含请求修饰符、客户信息和内容的类似于MIME的消息结构。服务器以一个状态行作

2012-01-30 11:30:00 1079

转载 HTTP Dynamic Streaming 学习笔记[原理篇]

260 次阅读, 个人空间 , by 罗松涛 . 宽屏阅读 一、什么是HTTP Dynamic Streaming       使用传统的HTTP协议进行在线播放叫做“渐进下载”,所有的视频内容从头到尾必须从服务器传输到客户端,用户只能在传输完的视频长度中选择播放点,而不能自定义播放点及传输点,比如我们在看视频的时候是边下边看,没下载完则看不了,而且也不能绕到视频后面的片段。当视频

2012-01-30 11:10:12 4530

转载 http请求的详细过程

我们来看当我们在浏览器输入http://www.mycompany.com:8080/mydir/index.html,幕后所发生的一切。首先http是一个应用层的协议,在这个层的协议,只是一种通讯规范,也就是因为双方要进行通讯,大家要事先约定一个规范。1.连接 当我们输入这样一个请求时,首先要建立一个socket连接,因为socket是通过ip和端口建立的,所以之前还有一个DNS解析过程

2012-01-30 10:30:27 524

转载 kernel hacker修炼之道之Git使用方法(一)

Git使用方法(一)    作者 李万鹏 kernel hacker修炼之道之Git使用方法(一)kernel hacker修炼之道之Git使用方法(二)kernel hacker修炼之道之Git使用方法(三)kernel hacker修炼之道之Git使用方法(四)kernel hacker修炼之道之Git使用方法(五)

2012-01-29 10:35:32 575

转载 MTK 上的socket

移动互联网也炒了好几年了,现在开发手机也好,单独做应用也好,都会涉及到网络这一块。MTK 提供了网络功能,在GPRS上封装了socket 功能。MTK 上的socket 其实与linux 上的有些相似,其实说到socket 编程,只要封装实现了socket,那么基本上就要实现socket那些接口。先来简单的介绍一下socket,socket 编程是介于 传输层 和 应用层之间,可以简单的理解为

2012-01-18 11:39:49 490

转载 对MTK中媒体播放器的的认识

Mtk 6225及6235上的audio player 的结构整体上可以分为三层, 最上面的应用程序界面层, 中间的audio 播放api层, 和底层的编解码库及音频驱动. 其结构图大致如下所示: 由上图可以看出,整个调用层次较深. 我们分别来学习个层. 1: MMI Task 层    在该层 audio player 模块实现了播放器程序, 其中主要包括

2012-01-16 09:19:07 469

转载 【移植havlenapetr】的【ffmpeg】-->【Android播放器】

重点文章(包括文章后的评论):http://blog.csdn.net/moruite/archive/2011/04/06/6305944.aspx   解决Android平台移植ffmpeg的一揽子问题”havlenapetr 最新的ffmpeg可以直接编译通过,不过有个bug,就是播放完毕后,video_decoder线程不能退出,

2011-12-09 11:22:06 2683

转载 【Linux入门学习之】vi/vim编辑器必知必会

一、我们为什么要学习vim编辑器?Linux的命令行界面下面有非常多的文本编辑器。比如经常听说的就有Emacs、pico、nano、joe与vim等。vim可以看做是vi的高级版。我们为什么一定要学习vim呢?有以下几个原因:(1)所有的Unix like系统都会内置vi文本编辑器,其他的文本编辑器则不一定会存在。(2)很多软件的编辑接口都会主动调用vi。(3)

2011-12-07 17:56:22 345

转载 用Diff和Patch工具维护源码

在Unix系统下,维护源码版本可以使用很多方法,其中最常用的当然是大名鼎鼎的CVS,但实际上,简单的版本维护工作并没有必要使用复杂的CVS等专门的版本维护工具,Unix标配中的diff和patch工具就完全可以完成代码的简单备份和升级工作。在Unix系统下,维护源码版本可以使用很多方法,其中最常用的当然是大名鼎鼎的CVS,但实际上,简单的版本维护工作并没有必要使用复杂的CVS等专门的版本维

2011-12-07 09:53:48 254

转载 给Android应用开发者的十个建议

随着移动平台的发展和其应用的不断改善,质量成为决定成败的关键。用户要求他们选择安装的应用响应快、性能好,如果某个应用不能提供卓越的功能和稳定的用户体验,那这样的应用注定会被很快卸载。尽管现在Android智能手机和平板电脑的运行速率越来越快,但开发者仍需牢记,应用的运行环境仍受到电池和处理器等诸多资源的限制。以下是如何为应用“瘦身”的十条建议,以便能在当前和以后的所有Android设备都能

2011-12-07 09:22:18 310

转载 苹果http视频点播技术

在写一个基于iphone的应用,主要是用来播放视频的.但是提交给苹果审核的时候却遭到百般刁难.尤其是关于在3G网络上播放视频流的限制:   9.4   Video streaming content over a cellular network longer than 10 minutes must use HTTP Live and include a baseline 64 kbps

2011-11-25 17:14:25 628

转载 HTTP Live Streaming (HLS) 不错的视频直播技术

常用的流媒体协议主要有 HTTP 渐进下载和基于 RTSP/RTP 的实时流媒体协议,这二种基本是完全不同的东西,目前比较方便又好用的我建议使用 HTTP 渐进下载的方法。在这个中 apple 公司的 HTTP Live Streaming 是这个方面的代表。它最初是苹果公司针对iPhone、iPod、iTouch和iPad等移动设备而开发的流.现在见到在桌面也有很多应用了, HTML5 是直

2011-11-22 16:28:13 1652

转载 iPhone UIView 详解

曾经有人这么说过,在iphone里你看到的,摸到的,都是UIView,所以UIView在iphone开发里具有非常重要的作用。那么UIView我们到底知道多少呢。请看看下面的问题,如果这些你都知道,那么本文章的内容就请绕道,如果你还不太清楚,我想看了下面的内容,你就明白了。1。bounds和frame分别表示什么?2。ContentMode里UIViewContentModeScale

2011-11-18 11:40:08 561

mp4文件格式.pdf

一篇描述mp4文件格式的PDF文档,写的比较详细。

2011-09-16

空空如也

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

TA关注的人

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