- 博客(13)
- 收藏
- 关注
原创 HEVC中需要优化的关键函数
下面整理出HEVC中需要汇编优化的一些关键函数,其中HAD是比较简单,但是占CPU比重非常高的函数,从此入手TComPrediction::predIntraLumaAngTComRdCost::calcHAD, TEncSearch::xIntraCodingLumaBlkTEncSearch::xIntraCodingChromaBlkTComTrQuant::transf
2012-11-29 15:27:12
3417
1
原创 x264中的DCT变换 dct-a.asm
1.什么是傅里叶变换傅里叶变换能将满足一定条件的某个函数表示成三角函数(正弦和/或余弦函数)或者它们的积分的线性组合。在不同的研究领域,傅里叶变换具有多种不同的变体形式,如连续傅里叶变换和离散傅里叶变换。最初傅里叶分析是作为热过程的解析分析的工具被提出的。(摘抄自百度百科)连续傅里叶变换的公式连续傅里叶变换的逆变换的公式通过公式可以看出一个函数,可以用复指数函数的积分来
2012-08-31 16:46:52
3489
1
原创 HEVC中的TZSearch过程
柯兄写的文档,直接贴上来的。调用处:Void TEncSearch::xPatternSearchFast()èxTZSearch() 1. 相关结构TZ_SEARCH_CONFIGURATION : 控制搜索过程ntTZSearchStruct cStruct : 存放搜索过程的中间最优结果搜索结构定义如下: typedef struct {
2012-08-31 13:25:14
9174
原创 x264中的cpu-a.asm
CPUID指令是用来搜集当前程序正在运行的处理器信息的,包括厂商和信号信息。在IA-32中,CPUID指令使用EAX寄存器作为输入,EAX寄存器用来指定需要查看的信息的类型,根据EAX的数值的不同,CPUID指令会产生不同的信息,存入EBX,ECX,EDX寄存器中。 下面的表格显示了在指定不同的EAX的值的时候,得到的CPU的信息EAX ValueCPUID
2012-08-28 20:09:47
2439
1
原创 X264中的sad-a.asm
1.SAD即绝对误差和(sum of absolute differences),应用非常广泛,是一种测量两个图像块的差异的最简单的办法。顾名思义,其公式为: 2.为什么要优化SAD SAD在视频编解码中用处非常广泛, 1. intra预测中选择最佳划分,最佳预测方向 2. inter预测中选择最佳划分,运动搜索中对搜索结果的评判。3. 作
2012-08-27 21:52:57
3835
1
原创 x264中的汇编x86inc.asm
龙哥以前说过,不懂汇编,就别说自己懂264,确实汇编在视频编解码中的作用太大了。在非opencl等显卡并行优化的平台上,SIMD就成了算法并行处理的唯一渠道。整个X264的代码的精华都在那些汇编文件中,当然,所有的算法都有C的实现,但是为什么X264的编码速度能够达到现在的水平,基本决定于它的汇编优化。 x86inc.asm是x264汇编语言的头文件,和编码算法没有直接的关系,只涉及
2012-08-24 17:31:46
6192
原创 HEVC Intra流程
HEVC标准中CU和TU采用的是四叉树的划分方式,HM的代码中采用的是4叉树的深度遍历,如下图所示trace HM8.0的代码可以得到下面的图,每一层前面两个-TEncCu::xCompressCU-- TEncCu::xCompressCU---- TEncCu::xCompressCU------ TEncCu::xCompressCU------ TEncCu::
2012-08-23 10:46:52
8047
2
原创 HEVC中比较耗时的模块
先引用unix编程艺术第一章的一段话Rob Pike,最伟大的C语言大师之一,在《Nos on C Programming》中从另一个稍微不同的角度表述了Unix的哲学 原则1:你无法判定程序会在什么地方耗费运行时间。瓶颈经常出现在想不到的地方,所以别急于乱找个地方改代码,除非你已经证实那儿就是瓶颈所在。 原则2:估量。在你没对代码进行估量,特别是没有找到最耗时的那个部分之
2012-08-22 13:15:55
8513
1
原创 overview of hevc (二)
结合上一篇文章中的框图,我们来描述一下各个模块的改进Intraprediction:预测方向拓展到33个,另外加上一个DC和一个planar,一共35中预测模式,使得预测更加精细,但是为了控制编码复杂度,所以对4x4和64x64的尺寸的预测模式进行了限制。下图对比了HEVC和AVC的Intra预测模式: INTERPREDICTION: 相
2012-08-21 18:21:20
6285
1
原创 overview of hevc(一)
HEVC(High Efficient Video Coding)即下一代的视频压缩标准,是继H.264/AVC之后视频编码标准的又一重大突破,最主要的改进是分辨率的支持从QVGA至7680x4320的超高清视频,是H264所以支持的1080p的分辨率的16倍!视频编码效果在相同PSNR的情况下,码率节省40%-45%。那具体HEVC相对于h264都有哪些方面的改进呢?先上编码框图:
2012-08-21 15:48:56
7947
2
原创 在linkedin上看到的某一家公司招聘视频开发人员的jd
在linkedin上看到的某一家公司招聘视频算法开发人员的jd,个人觉得在做视频这一方面所需要具备的知识和技能在jd中都有提及。另:谢谢周磊同学帮我搞定了博客的事情,不然还没办法在这里写博客了。以后本博客会经常更新一些视频编解码,流媒体,视频后处理方面的心得和体会。Video Algorithm EngineerJob Functions
2012-08-18 22:46:38
3140
原创 LoadLibrary 错误 14001
前几天在把工程编译好了以后 在自己机器上运行,一切正常,发给测试后,出现加载DLL失败,GetLastError得到的提示是LoadLibrary error, code 14001:应用程序无法启动,因为应用程序的并行配置不正确。自己查看工程的属性,发现库的运行时库和DLL的运行时库的选项不一致,都改成/MD,问题解决!
2010-01-25 10:21:00
5371
1
转载 彩虹2009正式版发布
几个月的辛苦工作,彩虹2009正式版终于发布了。2009年6月,彩虹QQ自立门户,在51.com的重组下正式进军国内IM市场,在诸多曾经是彩虹QQ超级粉丝灼热的注视中,全新的彩虹2009正式版正式登场。看清楚了,是“彩虹2009”,而非“彩虹QQ2009”。彩虹2009正式版的基本功能和腾讯QQ几乎无二样,包括了基本的语音视频聊天、文件传输、网盘、彩虹音乐盒、彩虹空间、以及部分小游
2009-12-18 16:59:00
931
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人