心之所向,身之所往

专注于多媒体技术(H264、HEVC、流媒体、ffmpeg、DirectShow、DXVA、MediaFundation)

Hook参考源码

HOOK可以参考以下三个源码: mHook, minHook, Detours

2015-05-03 07:54:39

阅读数 695

评论数 0

x264_scan8 的理解

原文:http://blog.csdn.net/hevc_cjl/article/details/8273533 先上代码及注释 [cpp] view plaincopy #define X264_SCAN8_SIZE (6*8) //!   #de...

2015-04-06 08:51:45

阅读数 765

评论数 0

I 帧和 IDR 帧的区别

I 帧和 IDR 帧的区别:     IDR 帧属于 I 帧。解码器收到 IDR frame  时,将所有的参考帧队列丢弃 (用x264_reference_reset 函数实现——在 encoder.c 文件中) 。这点是所有 I 帧共有的特性,但是收到 IDR 帧时,解码器另外需要做的工作...

2015-04-04 09:21:05

阅读数 7750

评论数 2

X264如何阅读数

最近我也开始看 X264 的代码了,于是想到把我读代码的过程记录下来,因为总有很多新手问如何读代码,我这个帖子就是专为这些人写的。至于会读代码的人就完全没有必要看了。下面当然是以 X264 为例了。JM 以及其他代码的学习方法和技巧都是完全一样的。我所用的版本是在帖子 在VS2008下编译最新版的...

2015-04-03 21:05:17

阅读数 1299

评论数 0

Windows下编译x264

早期的版本有vc可以直接编译的, 现在的没有vc版本了; 如果希望在windows上学习x264,可以直接找到vc版本; 这里例举一下,网上的两个版本方法: 一:《VS2010编译x264(20091006)》 如果你仅仅需要使用x264的话你可以到这下载:http://x...

2015-04-01 23:14:13

阅读数 1556

评论数 0

Win8+VS2012(32位)下编译x265

相信很多朋友都尝试过编译x265,本人之前总是一头雾水,根据其x265官网的介绍尝试了好几种办法,一直没有搞定,还装了很多东西,什么yasm、Intel编译器和Cmake之类的,后来发现我把问题想得太复杂了,现介绍我在VS2012平台下编译x265的方法。 前期准备工作: 1、x265...

2015-03-31 07:58:13

阅读数 1273

评论数 0

SSE指令集入门

Intel公司的单指令多数据流式扩展(SSE,Streaming SIMD Extensions)技术能够有效增强CPU浮点运算的能力。Visual Studio .NET 2003提供了对SSE指令集的编程支持,从而允许用户在C++代码中不用编写汇编代码就可直接使用SSE指令的功能。MSDN中有...

2015-03-27 21:46:33

阅读数 16092

评论数 0

编写高效代码(8) 程序、数据访问符合Cache的时间、空间局部性

Cache正是利用了程序、数据访问时的时间局部性和空间局部性,为了使Cache的访问效率最高,程序和数据的组织,也应该要符合这两个特性。最典型的例子就是二维数组的访问,下面就是一个二维数组: 二维数组         如果a[i][j]在Cache中,那么a[i][j+1]就很可能也在Ca...

2015-03-27 21:11:50

阅读数 1227

评论数 0

编写高效代码(7) 优化内存访问——别让包袱拖垮了你

从理论上看,每条运算指令的执行时间都很短,大多数指令一个Cycle就能完成,很多时候还能一个Cycle执行多条指令,可是实际上,执行指令只是处理器要做的很少一部分工作,处理器还要从存储器中取指令,从存储器中将数据导入到寄存器中,等算完后,再将结果存入到存储器中。         处理器运算的速度...

2015-03-27 21:11:27

阅读数 1027

评论数 0

编写高效代码(6) 数据对齐访问

在32位处理器中,一个int型变量占4个byte,假设这个变量i在内存中占据2、3、4、5这4个byte的位置,如下图所示。   数据非对齐存储         内核在访问这个数据时,会先将从0开始的4个byte读入到寄存器A中,再将从4开始的4个byte读入到寄存器B中,再将有效的数据拼成...

2015-03-27 21:11:19

阅读数 623

评论数 0

编写高效代码(5) 尽量减少分支

我们在介绍处理器时,已经知道了,现在的处理器都是流水线结构,if和switch等语句会带来跳转,而跳转会打乱流水线的正常执行,影响程序的执行效率。          下面这段代码,把奇数赋一个值,把偶数赋一个值,可以用这种方式实现:  [cpp] view plaincopyprint?...

2015-03-27 21:10:22

阅读数 567

评论数 0

编写高效代码(4) 在精度允许的条件下,将浮点数定点化

浮点指令要比定点指令慢很多,功耗也大很多,在精度要求不那么高的情况下,就可以将浮点数定点化,用定点指令来代替浮点指令,一个典型的例子就是alpha混合。         《反恐精英》是很多人非常喜欢的游戏,在下面的游戏截图中,一个人扔了个烟雾弹,画面呈现出半透明的烟雾效果,随着时间的推移,烟雾逐...

2015-03-27 21:10:02

阅读数 1242

评论数 0

编写高效代码(3) 减少处理器不擅长的操作——不要逼我做我不喜欢的事情

尺有所短,寸有所长,每种处理器都有自己擅长与不擅长的操作。         在与处理器配套发布的指令集手册中,都会描述每个指令的执行周期,单周期指令是处理器最喜欢的,不仅执行时间短,而且利于流水线执行。加、减、逻辑运算等,常常是单周期指令,乘、除、分支指令、浮点指令、内存存取操作等,常常需要...

2015-03-27 21:09:33

阅读数 667

评论数 0

编写高效代码(2) 空间换时间——我们总是在走,却忘了停留

时间和空间的关系,是霍金这种智商的人要研究的东西,我们只需要知道,在编程时,空间是可以换时间的,时间也是可以换空间的。          李开复在他的自传《世界因你不同》中描述了他小时候在美国学校里的一个故事,老师出了道题:“谁知道1/7等于多少?”小开复马上大声回答:“0.142857”,...

2015-03-27 21:08:28

阅读数 674

评论数 0

编写高效代码(1) 减少函数调用——不要老打断我

函数是结构化程序设计的产物,它使代码更加模块化,耦合性更低,重用性更高。不过,函数调用会带来额外的开销,除了引起跳转外,还会产生额外的指令。         人都有这样的经验,做一件事情时,如果被人打断,重新再回来做这件事情,就需要一段恢复时间,如果老是被打断,那事情就没法做了。函数调用也是...

2015-03-27 21:07:48

阅读数 703

评论数 0

H.264中的P-Skip宏块和BSkip宏块简介

先说PSkip宏块,再说BSkip宏块.        P-Skip宏块是一种特殊的P宏块,在H.264中非常常见,那么P-Skip宏块特殊在什么地方呢?下面会慢慢道来.          对于一般的P宏块而言,像素残差和运动矢量残差都会写入码流,从编码端传到解码端,但是P-Sk...

2015-03-22 21:46:24

阅读数 893

评论数 0

结合avi视频文件头十六进制码分析AVI格式

这段时间要搞视频合成方面的东西,因此打算先弄明白avi视频的格式,介绍这方面内容的东西google一下一大堆,可是很悲剧,现在的人基本上都喜欢copy,内容基本来源于同一篇,对我没什么实质性的帮助。本来是希望通过看看一些avi合成的源码来分析avi的结构的,可是windows下的程序基本是调用di...

2015-03-14 22:24:41

阅读数 1823

评论数 0

MP4文件格式解析

目前MP4的概念被炒得很火,也很乱。最开始MP4指的是音频(MP3的升级版),即MPEG-2 AAC标准。随后MP4概念被转移到视频上,对应的是MPEG-4标准。而现在我们流行的叫法,多半是指能播放MPEG-4标准编码格式视频的播放器。但是这篇文章介绍的内容跟上面这些都无关,我们要讨论的是MP4文...

2015-03-14 21:36:04

阅读数 21177

评论数 1

MP4文件格式的解析,以及MP4文件的分割算法

mp4应该算是一种比较复杂的媒体格式了,起源于QuickTime。以前研究的时候就花了一番的功夫,尤其是如何把它完美的融入到视频点播应用中,更是费尽了心思,主要问题是处理mp4文件庞大的“媒体头”。当然,流媒体点播也可以采用flv格式来做,flv也可以封装H.264视频数据的,不过Adobe却不推...

2015-03-14 21:28:10

阅读数 1297

评论数 0

FLV封装格式分析器

===================================================== 视音频编解码学习工程系列文章列表: 视音频编解码学习工程:H.264分析器 视音频编解码学习工程:AAC格式分析器 视音频编解码学习工程:FLV封装格式分析器 视音...

2015-03-14 20:47:38

阅读数 1592

评论数 0

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