代码改变世界

Windows操作系统堆和栈的区别

2007-12-08 17:18 by libiver, 199 阅读, 0 推荐, 收藏, 编辑
摘要:作者:中华视频网 2006-08-23 Windows操作系统堆和栈的区别一、预备知识—程序的内存分配 一个由c/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)—由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap)—一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。 3、全局区(静态区)(static)—,全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域,未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。.. 阅读全文

关于Windows系统下编程之字符处理

2007-11-02 22:07 by libiver, 232 阅读, 0 推荐, 收藏, 编辑
摘要:关于Windows系统下编程之字符处理我们在widows下编程时,经常遇到关于字符串的处理的问题,特别是在用VC编程时,我们经常犯错误,所以我结合我的编程经验和我学习widows核心编程这本书后的体会,来自己作一个总结。1、字符集在我们平时的编代码的过程中,总在不但地处理各种关于字符集的问题。对于我们来说,习惯于将文本串作为一系列单字节字符串来处理,并且在结尾加上”/0”,它用来标识串的结束。当我们调用strlen(…)函数时,它在以0 结尾的单字节字符数组中返回字符的数目。2、单字节与双字节字符集一个字节占用8位(bit)。而双字节字符集中,字符串中的每个字符在编码时可以包含一个字节或包含. 阅读全文

函数调用规范__cdecl和__stdcall的区别一目了然(表格形式)

2007-10-26 10:54 by libiver, 158 阅读, 0 推荐, 收藏, 编辑
摘要:看到的不错的学习文章,转帖过来方便自己学习,无意侵犯作者。只当学习用 __cdecl ... 阅读全文

关于在GraphEdit中显示应用程序的Filter graph

2007-08-24 11:22 by libiver, 298 阅读, 0 推荐, 收藏, 编辑
摘要:GraphEdit can load a filter graph created by an external process. With this feature, you can see exactly what filter graph your application builds, with only a minimal amount of additional code in your application.The application must register the filter graph instance in the Running Object Table (. 阅读全文

关于自己对IMediaControl::Run()返回S_FALSE的一点见解

2007-08-17 17:03 by libiver, 987 阅读, 0 推荐, 收藏, 编辑
摘要:这段时间在学习DirectShow时,写了一些古怪的代码。刚好在这几天学习音频的采集时,再一次遇到了这样的问题。当我的程序执行到IMediaControl::Run()函数时,每次都时返回S_FALSE。我想很多人肯定都会遇到了这个问题,不过它有时并不影响我们程序的运行。这是为什么,我们可以看一下MSDN是怎么说的。The Run method runs all the filters in the filter graph. While the graph is running, data moves through he graph and is rendered. 由上面可知,有的时候它 阅读全文

DirectShow音频采集

2007-08-16 18:06 by libiver, 605 阅读, 0 推荐, 收藏, 编辑
摘要:学习了好长一段时间的directshow,关于视频那一块的一些部分简单地过了一遍,如采集、解压缩、传输等。现在回过头来学习音频的采集。现在将这几天的学习心得写下来。我们知道directshow对我们的硬件的支持是通过特定的包装Filter来实现的,如我们的声卡是使用的Audio Captue Filter,他在内部有使用了以waveIn开头的一些API函数来实现(学过windows编程就知道,如waveInOpen).这些我们可以通过GraphEdit来检查。下面我们在建一个完整的Filter Graph链路。如下: 图(1)注意:这里用到了一个Filter,WAV Dest。他是我们的Di. 阅读全文

mpeg介绍

2007-08-13 21:44 by libiver, 402 阅读, 0 推荐, 收藏, 编辑
摘要:码流(Data Rate) 码流是指视(音)频文件在单位时间内使用的数据流量,有时候也叫码率,是Mpeg4画面质量控制中最重要的部分。同样分辨率下,视(音)频文件的码流越大,压缩比就越小,画面质量就越高。试采集同一帧同一分辨率的原版《木乃伊》做细部比较,如下图: 我们注意观察黑色前景周围的高对比度区域,和背景天空的对比度和碎化程度。以原图为标准画面(10Mbits/s的Mpeg2),可以看到“码流500kbits/s的DivX”高对比度区域呈斑点状,背景天空碎化、混沌;“码流1000kbits/s的DivX”介于前后两者之间;“码流1500kbits/s的DivX”画面柔和,背景天空已经可以. 阅读全文

关于Form中的post方法和get方法

2007-08-12 08:24 by libiver, 229 阅读, 0 推荐, 收藏, 编辑
摘要:今天在学习ASP.NE时,程序在运行时老是发生错误 System.NullReferenceException: 未将对象引用设置到对象的实例。 指向:String strUserName = this.Request.Form.Get("txtUserName").ToString(); 后来经过我的努力解决的问题,原因是我对表单的post和get提交方法的理解错误。我们都知道在B/S应用程序中,前台与后台的数据交互,都是通过HTML中Form表单完成的。Form提供了两种数据传输的方式——get和post。但这两种方法是有区别的。 1、对于get提交的数据,WWW服务器 阅读全文

AVI文件格式

2007-08-06 14:28 by libiver, 277 阅读, 0 推荐, 收藏, 编辑
摘要:最近在研究基于DirectShow的方面的知识,看到了一些好的文章,免得自己每次去查找,所以就转载到我的Blog里,我无意侵犯作者的版权,只是学习,没有别的意思,望作者谅解,向你致歉AVI文件格式(附件是C语言实现AVI文件创建的源码)AVI (Audio Video Interleaved的缩写)是一种RIFF(Resource Interchange File Format的缩写)文件格式,多用于音视频捕捉、编辑、回放等应用程序中。通常情况下,一个AVI文件可以包含多个不同类型的媒体流(典型的情况下有一个音频流和一个视频流),不过含有单一音频流或单一视频流的AVI文件也是合法的。AVI可以 阅读全文

用于MPEG-4视听流的RTP负载格式 (RFC 3016)

2007-07-28 16:34 by libiver, 519 阅读, 0 推荐, 收藏, 编辑
摘要:用于MPEG-4视听流的RTP负载格式 (RFC 3016)组织:中国互动出版网(http://www.china-pub.com/)RFC文档中文翻译计划(http://www.china-pub.com/compters/emook/aboutemook.htm)E-mail:ouyang@china-pub.com译者: 李超(licc_li ,licc_li@sina.com)译文发布时间:2001-4-26版权:本中文翻译文档版权归中国互动出版网所有。可以用于非商业用途自由转载,但必须保留本文档的翻译及版权信息。Network Working Group ... 阅读全文

基于RTP协议和MPEG-4的流媒体系统分析与实现

2007-07-27 22:41 by libiver, 292 阅读, 0 推荐, 收藏, 编辑
摘要:最近在研究基于DirectShow的MPEG-4视频传输方面的知识,看到了一些好的文章,免得自己每次去查找,所以就转载到我的Blog里,我无意侵犯作者的版权,只是学习,没有别的意思,望作者谅解,向你致歉 摘要:在简述MPEG-4压缩标准编码特性和RTP/RTCP协议原理的基础上提出了一个适合目前视频点播、组播的RTP流媒体应用方案,该方案使用了optibase公司的MPEG-4MovieMaker400板卡和Apple公司的DARWIN流媒体服务器,采用了MPEG-4音视频传输的RTP组包算法,该算法具有传输的高效性和丢包的鲁棒性。关键词:MPEG-4RTP/RTCPDARWINMPEG-. 阅读全文

关于开源的RTP——jrtplib的使用(2)

2007-07-13 18:44 by libiver, 434 阅读, 0 推荐, 收藏, 编辑
摘要:关于开源的RTP——jrtplib的使用(2)这段时间在研究RTP,好几天了,今天又来总结一下。 关于jrtplib环境的建立,可以见我以前写的总结,现在我主要来谈谈jrtplib3.71下的几个example的学习。一、sample是一个简单的IPv4的列子,它实现了RTP在本机上的数据的传输。1、初始化。我们知道RTP是通常是使用UDP协议来实现数据的传输,在windows环境下,当然要用到我们熟悉的套接字的使用,所以我们先要进行初始化,加载套接字库。#ifdef WIN32WSADATA dat;WSAStartup(MAKEWORD(2,2),&dat);#endif // W 阅读全文

IT中一些常见英汉互译

2007-07-12 22:22 by libiver, 615 阅读, 0 推荐, 收藏, 编辑
摘要:一群性质相近同的「东西」,如果译名一贯,阅读的感觉就很好。一贯性的术语,扩充性高,延伸性高,系统化高。● 我喜欢「式」:constructor 建构式declaration 宣告式definition定义式destructor解构式expression算式(运算式)function函式pattern 范式、模式、样式program 程式signature 标记式● 我喜欢「件」:(这是个弹性非常大的可组合字)assembly (装)配件component 组件construct 构件control 控件event 事件hardware硬件object物件part零件、部件singleton 单 阅读全文

关于开源的jrtplib的编译和应用程序的配置

2007-07-07 16:35 by libiver, 775 阅读, 0 推荐, 收藏, 编辑
摘要:关于开源的RTP——jrtplib的使用首先,我向我们应该先到下面的链接网站上下载jrtplib和jthread这两个包http://research.edm.uhasselt.be/~jori/page/index.php?n=CS.Jrtplib然后,我们要对这两个包进行编译,首先是编译jthread这个包里面的工程,编译成功后(我编译了,没有问题),现在我们可以编译jrtplib了。在我们编译这个工程之前,我们要将先前编译成功后的jthread后的得到的jthread.lib和jthread目录../src下的.h文件加到jrtplib这个工程中再编译,不然会出现找不到xxx.h的错误和 阅读全文

jrtplib介绍

2007-07-07 09:38 by libiver, 410 阅读, 0 推荐, 收藏, 编辑
摘要:最近在研究基于DirectShow的MPEG-4视频传输方面的知识,看到了一些好的文章,免得自己每次去查找,所以就转载到我的Blog里,我无意侵犯作者的版权,只是学习,没有别的意思,望作者谅解,向你致歉。 文章链接:http://www.fish888.com/jrtplib-t170975 jrtplib介绍随着Internet 的日益普及,在网络上传输的数据已经不再局限于文字和图形,而是逐渐向声音和视频等多媒体格式过渡。目前在网络上传输音频/视频(Audio/Video,简称A/V)等多媒体文件时,基本上只有下载和流式传输两种选择。通常说来,A/V文件占据的存储空间都比较大,在带宽受限.. 阅读全文

基于DirectShow的MPEG-4视频传输系统的研究与实现

2007-07-07 09:33 by libiver, 197 阅读, 0 推荐, 收藏, 编辑
摘要:最近在研究基于DirectShow的MPEG-4视频传输方面的知识,看到了一些好的文章,免得自己每次去查找,所以就转载到我的Blog里,我无意侵犯作者的版权,只是学习,没有别的意思,望作者谅解,向你致歉。这是它的链接:http://blog.csdn.net/vrix/archive/2006/08/11/1051945.aspx 基于DirectShow的MPEG-4视频传输系统的研究与实现 温小明 吴志刚 (东华大学计算机学院 上海 200051)本文简单介绍了DirectShow技术,研究了利用DirectShow实现视频采集、压缩和网络传输技术。并利用第三方提供的编解码器实现了MPE. 阅读全文

基于DirectShow的流媒体解码和回放

2007-07-06 09:38 by libiver, 189 阅读, 0 推荐, 收藏, 编辑
摘要:基于DirectShow的流媒体解码和回放一、 前言 流媒体的定义很广泛,大多数时候指的是把连续的影像和声音信息经过压缩处理后放上网站服务器,让用户一边下载一边观看、收听,而不需要等整个压缩文件下载到自己机器就可以观看的视频/音频传输、压缩技术。流媒体也指代由这种技术支持的某种特定文件格式:压缩流式文件,它通过网络传输,并通过个人电脑软件进行解码。 MCI是微软为Windows最初提出的多媒体编程接口,随着多媒体技术的迅速发展,各种压缩算法在该领域的的应用,MCI技术越来越显的力不从心,最明显的是它不支持可变比特率的压缩算法,对于处理DVD等近年出现的多种新的媒体格式已显得无能为力,而使用.. 阅读全文

.net中error LNK2005: MSVCRTD.lib重复定义问题

2007-06-30 09:14 by libiver, 238 阅读, 0 推荐, 收藏, 编辑
摘要:.net中errorLNK2005:MSVCRTD.lib重复定义问题(转).net中的编译问题,出现诸如:(MSVCR80D.dll) : error LNK2005: __CrtDbgReport already defined in libcmtd.lib(dbgrpt.obj) msvcrtd.lib(MSVCR80D.dll) : error LNK2005: _memmove already defined in libcmtd.lib(memmove.obj)的解决办法:编程中经常能遇到LNK2005错误——重复定义错误,其实LNK2005错误并不是一个很难解决的错误。弄清楚它形 阅读全文

VC2005下编译DirectX9.0的SDK问题

2007-06-29 15:21 by libiver, 287 阅读, 0 推荐, 收藏, 编辑
摘要:今天重装了OS,来整理一下VC2005下编译DirectX9.0的SDK问题错误①:------ 已启动全部重新生成: 项目: BaseClasses, 配置: Debug Unicode Win32 ------正在删除项目“BaseClasses”(配置“Debug Unicode|Win32”)的中间文件和输出文件正在编译...dllentry.cppC:/Program Files/Microsoft Visual Studio 8/VC/PlatformSDK/include/winnt.h(222) : error C2146: 语法错误: 缺少“;”(在标识符“PVOID64”的 阅读全文

我的命名规则

2007-06-26 22:28 by libiver, 184 阅读, 0 推荐, 收藏, 编辑
摘要:1、将以前写过的程序整理一下。 要有自己的代码风格:① 变量名=属性+类型+对象描述g :全局变量c :常量 m :c++类成员变量s :静态变量p:指针fn :函数v:无效h :句柄l:长整型b :布尔f:浮点型(有时也指文件)dw :双字sz :字符串n :短整型点 d :双精度浮c :(通常用cnt)计数ch :(通常用c)字符I :(通常用n)整型by :字节w :字r :实型u :无符号描述部分 Max :最大Min :最小Init:初始化T :(或Temp)临时变量Src :源对象Dest:目的对象:例子:hwnd : h 是类型描述,表示句柄, wnd 是变量对象描述,表示窗口, 阅读全文