- 博客(28)
- 资源 (8)
- 收藏
- 关注
原创 mp4文件格式系列
Overview and IntroductionCore ConceptsMP4文件格式中,所有的内容存在一个称为movie的容器中。一个movie可以由多个tracks组成。每个track就是一个随时间变化的媒体序列,例如,视频帧序列。track里的每个时间单位是一个sample,它可以是一帧视频,或者音频。sample按照时间顺序排列。注意,一帧音频可以分解成多个音频sample,所以音频一般用sample作为单位,而不用帧。MP4文件格式的定义里面,用sample这个单词表示一个时间帧或者数据单元。
2010-09-18 16:42:00
1165
原创 mp4(H264容器)的详细文件格式分析
<br />十六进制码流分析:<br /><br />ftyp Box<br />00 00 00 1C: size ,28,表示此BOX有28个字节,表示长度的四个字节也计算在内。以下同<br />66 74 79 70: type,表示BOX TYPE,此处为ftyp<br />6D 70 34 32: 可能是兼容的格式信息,/////mp42<br />00 00 00 00: 可能是插入的空字节,/////也可能是version ,flags<br />6D 70 34 32: 可能是兼容
2010-09-17 18:29:00
1730
原创 DirectSound
<br />目录: <br /> <br />关于DirectSound<br />DirectSound设备<br />枚举可以使用的声音设备<br />创造DirectSound对象<br />设置合作级<br />检索硬件信息<br />扬声器的设置<br />压缩<br />DirectSound缓冲<br />静态缓冲和流缓冲<br />创建辅助缓冲<br />缓冲控制选项<br />主缓冲的存取<br />播放声音<br />重放(PLAYBACK)的控制<br />播放进度和可以被写的位置(C
2010-09-14 12:00:00
1286
原创 用GStreamer 简化Linux 多媒体开发
GStreamer 是 GNOME 桌面环境下用来构建流媒体应用的编程框架(framework),其目标是要简化音/视频应用程序的开发,目前已经能够被用来处理像 MP3、Ogg、MPEG1、MPEG2、AVI、Quicktime 等多种格式的多媒体数据。一、基本概念GStreamer 作为 GNOME 桌面环境推荐的流媒体应用框架,采用了基于插件(plugin)和管道(pipeline)的体系结构,框架中的所有的功能模块都被实现成可以插拔的组件(component),并且在需要的时候能够很方便地安装到任意一
2010-09-11 16:51:00
1561
转载 Gstreamer说明
Gstreamer说明一 Gstreamer简介是一个框架,灵活轻便。第一部分基本没有难度,只要能看懂英文。从我目前接触的感觉上看,Gstreamer确实简化了动态 库的加载,模块与模块间的合作。但是Gstreamer用得还是有点不太习惯,可能是 GLIB这种风格没有适应。gstreamer整个分为:l core:核心库l 基础插件:一些很基础的插件l 好插件:编写质量较好的遵循LGPL协议的插件l 坏插件:有待改进的插件l 其
2010-09-11 16:39:00
1150
转载 用GDB调试程序(七)
<br />改变程序的执行<br />———————<br /> 一旦使用GDB挂上被调试程序,当程序运行起来后,你可以根据自己的调试思路来动态地在GDB中更改当前被调试程序的运行线路或是其变量的值,这个强大的功能能够让你更好的调试你的程序,比如,你可以在程序的一次运行中走遍程序的所有分支。<br /> <br /> <br />一、修改变量值<br /> 修改被调试程序运行时的变量值,在GDB中很容易实现,使用GDB的print命令即可完成。如:<br /> <br />
2010-09-06 18:12:00
610
转载 用GDB调试程序(六)
<br />七、设置显示选项<br /> GDB中关于显示的选项比较多,这里我只例举大多数常用的选项。<br /> set print address <br /> set print address on <br /> 打开地址输出,当程序显示函数信息时,GDB会显出函数的参数地址。系统默认为打开的,如:<br /> <br /> (gdb) f<br /> #0 set_quotes (lq=0x34c78 "<<", rq=0
2010-09-06 18:10:00
514
转载 用GDB调试程序(五)
<br />查看运行时数据<br />———————<br /> <br /> 在你调试程序时,当程序被停住时,你可以使用print命令(简写命令为p),或是同义命令inspect来查看当前程序的运行数据。print命令的格式是:<br /> <br /> print <expr><br /> print /<f> <expr><br /> <expr>是表达式,是你所调试的程序的语言的表达式(GDB可以调试多种编程语言),<f>是输出的格式,比如,如果要把表达式
2010-09-06 18:08:00
511
转载 用GDB调试程序(四)
<br />查看栈信息<br />—————<br />当程序被停住了,你需要做的第一件事就是查看程序是在哪里停住的。当你的程序调用了一个函数,函数的地址,函数参数,函数内的局部变量都会被压入“栈”(Stack)中。你可以用GDB命令来查看当前的栈中的信息。<br />下面是一些查看函数调用栈信息的GDB命令:<br /> backtrace <br /> bt <br /> 打印当前的函数调用栈的所有信息。如:<br /> <br /> (gdb) b
2010-09-06 18:06:00
508
转载 用GDB调试程序(三)
<br />四、维护停止点 <br />上面说了如何设置程序的停止点,GDB中的停止点也就是上述的三类。在GDB中,如果你觉得已定义好的停止点没有用了,你可以使用delete、clear、disable、enable这几个命令来进行维护。<br /> clear<br /> 清除所有的已定义的停止点。<br /> clear <function><br /> clear <filename:function><br /> 清除所有设置在函数上的停止点。<br /
2010-09-06 18:03:00
504
转载 用GDB调试程序(二)
GDB的命令概貌———————启动gdb后,就你被带入gdb的调试环境中,就可以使用gdb的命令开始调试程序了,gdb的命令可以使用help命令来查看,如下所示: /home/hchen> gdb GNU gdb 5.1.1 Copyright 2002 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welco
2010-09-06 18:01:00
590
转载 用GDB调试程序(一)
<br />用GDB调试程序<br />GDB概述<br />————<br />GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具。或许,各位比较喜欢那种图形界面方式的,像VC、BCB等IDE的调试,但如果你是在UNIX平台下做软件,你会发现GDB这个调试工具有比VC、BCB的图形化调试器更强大的功能。所谓“寸有所长,尺有所短”就是这个道理。<br />一般来说,GDB主要帮忙你完成下面四个方面的功能:<br /> 1、启动你的程序,可以按照你的自定义的要求随心所欲的运行程序。<br /
2010-09-06 17:56:00
471
转载 Gstreamer的一些基本概念与A/V同步分析
<br />一、媒体流(streams)<br />流线程中包含事件和缓存如下:<br />-events<br /> -NEW_SEGMENT (NS)<br /> -EOS (EOS) *<br /> -TAG (T)<br />-buffers (B) *<br />其中标*号的需要同时钟进行同步。<br /><br />典型的流如图1所示:<br /><br />图
2010-09-03 16:03:00
668
转载 Android多媒体之OpenCore的A/V同步机制
PVPlayer在渲染(render)所有多媒体数据是都需要保持一个暂时的同步,也就是通常所说的A/V同步。为了达到同步,需要如下一些信息:媒体回放的时钟,媒体数据的时间戳,从Sink中获取的时间信息(比如从音频设备设定的特定的采样率来获取的播放速率)。图1描述了与同步相关的PVPlayer模块之间的关系。图1与同步相关的模块及关系一、媒体时钟 PVMFMediaClock,媒体时钟主要负责维持一个时间的引用,从而保持媒体回放的节奏,获取和实现媒体播放的同步。1、媒体时钟的特点1.1时间源媒体时钟可以
2010-09-03 15:09:00
646
转载 WPF的结构
WPF进入我们的生活已经很多年。(写这句话让我想起来了“我不做大哥好多年”。) 个人认为在UI的实践中,用户需要的是易于操作的,更加绚丽的界面。这两个应该是最基本、也是最重要的宗旨。而对于开发人员就是要用最简单的方法开发出尽可能漂亮的界面,并且效率也不能太差。(要求是不是有些过分啦!)除了在一些Web开发和特殊的应用中,很少有开发组配备单独的美工,至少目前是这样吧!根据自己目前对WPF的了解程度,
2009-10-09 12:07:00
588
转载 WPF全景体验
2007年1月30日,Windows Vista正式全球同步发布。此举标志着Windows Vista已经旋风般地吹向了整个网络世界。比尔盖茨预言:只需要三分钟时间就能让用户接受Windows Vista。但是,微软如何才能做到这一点呢?其中最关键的一点就是Windows Presentation Foundation(WPF),她依赖于WPF所带来的震撼视觉效果和用户体验。UI的历史
2009-10-09 12:03:00
963
转载 游戏人自曝游戏公司薪资待遇
首先简单进行一线,二线,三线游戏公司的划分: 一线公司一般指的月营收超1亿(即季度财报超3亿的游戏公司),基本上包括了盛大、网易、腾讯、巨人、搜狐、完美、九城,但完美和九城只能算一线和二线之间的公司,相同“待遇”的还有网龙、金山和久游等。 二线公司一般为月营收超千万或者接近千万的公司,其中二线公司虽然在规模和实力比起一线公司尚有不如,但是就本身的盈利能力来说还是能过的很安逸,基
2009-09-20 22:36:00
2696
转载 一线游戏开发员揭秘薪酬
游戏作为炙手可热的产业,其从业人员也在逐渐增加,这些人群亦慢慢成为社会中、高收入人群的新代表。投身游戏,找寻创造的乐趣和满足,更收获丰厚物质回馈。在此,游戏一线从业人员将谈论行业薪酬标准、待遇状况。网络游戏人才供需不平衡 高收入人群增加 近年来,网络游戏业成为最为炙手可热的产业,网游业的从业人员也逐渐增加,这些人群也成为社会中、高收入人群的新代表。据相关调查显示,网游从业人员与去年同期相
2009-09-20 22:34:00
1315
转载 被女孩拒绝怎么办
如果说你觉得你自己的外在无法吸引对方的话,你就要用你的诚意打动她,适时表现出你的其它优点来吸引对方,毕竟外在方面并不能完全决定一切,其它的要靠你自己来弥补。最好找出你们共通的兴趣,就算你没有,你好歹要知道这一方面的资讯,去翻书或是问别人皆可,你们聊天讲话也比较有话题是吧?她才不会排斥你。 如果你觉得你的外在条件还不错,那么不妨带给她安全感,我所说的安全感并不是她会感觉到你会保护她这种,而是她怕你会
2009-09-16 07:33:00
2343
转载 关于Video Renderer和Overlay Mixer
大家知道,Video Renderer (VR)是接收RGB/YUV裸数据,然后在显示器上显示的Filter。为提高计算机画图性能,根据你计算机显卡的能力,VR会优先使用DirectDraw以及Overlay表面;如果这些特性得不到显卡的支持,VR会使用GDI函数进行画图。在上级Filter连接到VR时,VR总是先要求当前显示器设置的色彩位数的RGB格式,如你的机器设置的是24位彩色,则VR
2009-09-11 10:36:00
1264
转载 渲染模式
01.视频覆盖: 大概在1995年,当mpeg1(vcd)回放在pc上开始流行的时候,pc的处理能力还么有强大到实时播放的地步。显卡制造厂商适时的推出了"video overlay(视频覆盖)"的技术。它就是种在显卡上用硬件完成同时显示几个视频的功能(拉伸,颜色空间变换,等等...)的技术,这样就可以在pc上流畅的播放动画而不占用cpu。视频覆盖的画面质量事实上取决于显卡硬件。我发现市面上的绝大
2009-09-11 09:17:00
3168
转载 深入理解Direct3D9
深入理解D3D9对图形程序员来说意义重大,我把以前的一些学习笔记都汇总起来,希望对朋友们有些所帮助,因为是零散笔记,思路很杂,还请包涵。其实只要你能完美理解D3DLOCK、D3DUSAGE、D3DPOOL、LOST DEVICE、QUERY、Present()、BeginScene()、EndScene()等概念,就算是理解D3D9了, 不知道大家有没有同感。有如下几个问题,如果你能圆满回答就
2009-08-26 20:57:00
860
转载 加拿大计算机系,美加转学等等
很多申请美国的同学,都会顺带着申请下加拿大的学校保底。加拿大的学校对各位本科同学最大的吸引力莫过于给master全奖了,而美国大部分学校要想拿全奖只能申phd(插一句,加拿大这边和美国不太一样,本科生一般是不能直接申请phd的,要申请master,这边的master大都是thesis-based的master,要做研究)。另外一个好处可能是移民比较快,我认识的几个phd在读时就办了移民:)不少同学
2009-08-23 00:42:00
2852
原创 裁剪ffmpeg
修改一下 config.h config.mak./configure --help 看看里面的选项,有没有自己不用的,通过configure把它屏蔽掉就可以了经过长期模式,测试,可以用以下方法缩小,在configure的时候加上类似如下的参数: --disable-encoders --disable-decoders --enable-decoder=h264 解释
2009-08-04 11:41:00
2602
原创 观止--微软创建NT和未来的夺命狂奔
【原 书 名】 Show Stopper!: The Breakneck Race to Create Windows NT and the Next Generation at Microsoft 【作 者】(美)G.Pascal Zachary [同作者作品] 【译 者】 张银奎;王毅鹏;李妍[同译者作品] 【丛 书 名】 IT文化系列丛
2009-08-03 18:19:00
994
原创 高脂血症
无论是胆固醇含量增高,还是甘油三脂的含量增高,或是两者皆增高,统称为高脂血症。高脂血症与冠心病有密切的关系,尤其是胆固醇与甘油三脂皆增高的,患冠心病的危险性更大。当然,有高脂血症,并不意味着一定会患冠心病,但积极治疗高脂血症,却是预防冠心病的重要措施之一。 合理的饮食是治疗高脂血症的有效和必要的措施。由于目前使用的降脂药物均有一定的副作用,所以只在饮食治疗无效时,才考虑药物治疗。若是单纯高胆固
2009-08-03 16:51:00
737
转载 细研GPU架构流程工作原理
第一节:第二代及以后的GPU工作流程简介 简单(而不一定绝对科学)的说:GPU主要完成对3D图形的处理--图形的生成渲染。 GPU的图形(处理)流水线完成如下的工作:(并不一定是按照如下顺序)顶点处理:这阶段GPU读取描述3D图形外观的顶点数据并根据顶点数据确定3D图形的形状及位置关系,建立起3D图形的骨架。在支持DX8和DX9规格的GPU中,这些工作由硬件实现的Vertex Sh
2009-07-30 23:04:00
6549
1
原创 RealMedia解码器DLL组成
│ ├─Real│ │ ├─Codecs│ │ │ 14_43260.dll│ │ │ 28_83260.dll│ │ │ atrc.dll│ │ │ cook.dll│ │ │ ddnt3260.dll│ │ │ dnet3260.dll│ │ │ drv1.dll│ │ │ drv2.dll│ │ │ drvc.dll│ │ │ hxltcolor.dll│ │ │ raac.dll│ │ │
2009-07-29 18:10:00
2262
OGRE中文帮助手册
2010-01-05
PRO OGRE 3D PROGRAMMING
2010-01-05
观止--微软创建NT和未来的夺命狂奔Show Stopper The Breakneck Race To Create Windows Nt And The Next Generation At Microsoft.pdf
2009-07-29
Effective C++ Third Edition 55 Specific Ways to Improve Your Programs and Designs
2009-07-29
Debugging Microsoft® .NET 2.0 Applications
2009-07-29
windows核心编程chm附源代码版
2009-07-29
rtp/rtcp库源代码
2008-10-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人