上一页 1 ··· 8 9 10 11 12 13 14 15 16 ··· 23 下一页
摘要: 2011年4月24日9:30:25JM8.6中重要结构体说明[global.h文件]下面是一些枚举类型的定义数据分区方式:PAR_DP_TYPE[PAR_DP_1(不使用数据分区), PAR_DP_3(使用ABC3数据分区)]输出文件的类型:PAR_OF_TYPE[PAR_OF_ANNEXB, PAR_OF_RTP] 编码的方式: CodingType [FRAME_CODING, FIELD_CODING, ADAPTIVE_CODING]句法元素的类型: SE_type[SE_HEADER, SE_PTYPE, SE_MBTYPE, SE_REFFRAME, SE_INTR... 阅读全文
posted @ 2012-07-27 16:33 Mr.Rico 阅读(1980) 评论(0) 推荐(0)
摘要: 2011年4月23日22:22:12H.264编码后码流的生成 H.264 比较全的编码框架 2011年4月23日22:23:35H.264中的PB帧编码 在针对连续动态图像编码时,将连续若干幅图像分成P,B,I三种类型,P帧由在它前面的P帧或者I帧预测而来,它比较与它前面的P帧或者I帧之间的相同信 息或数据,也即考虑运动的特性进行帧间压缩。P帧法是根据本帧与相邻的前一帧(I帧或P帧)的不同点来压缩本帧数据。采取P帧和I帧联合压缩的方法可达到 更高的压缩且无明显的压缩痕迹。在H.264编码中,I帧是内部编码帧,不需要参考其它帧,P帧需要前向的I帧作为参考,B是双向预测帧,需... 阅读全文
posted @ 2012-07-27 16:30 Mr.Rico 阅读(7342) 评论(2) 推荐(2)
摘要: 2011年4月22日19:49:49题目: JM8.6中帧内帧间模式的选择在JM8.6中帧内与帧间模式的选择是其中非常重要的一部分, 模式选择的过程其实涵盖了H.264编码中的大部分内容. 从代码看来, 这一部分其实和码率控制中的代价函数计算是重叠在一起的, 在进行代价函数的计算过程中也就实现了模式的选择, 代价计算完毕, 最优模式也就选择完毕. 1. 下面, 我们先回顾一下H.264中的帧内预测算法: 2. H.264中的帧间模式选择算法: 在帧间模式选中, 要进行的一个重要的过程就是运动估计(运动搜索)3. 代价函数在上面我们也提到过, 帧内帧间模式的选择其实和代价的计算是重... 阅读全文
posted @ 2012-07-27 16:13 Mr.Rico 阅读(4919) 评论(1) 推荐(0)
摘要: 第2章 数据类型与表达式 1. C++中的数据类型如下:2. C++中常量变量的值应该是可以变化的,怎么值是固定的量也称变量呢?其实,从计算机实现的角度看,变量的特征是存在一个以变量名命名的存储单元,在一般情况下,存储单元中的内容是可以变化的。对常变量来说,无非在此变量的基础上加上一个限定: 存储单元中的值不允许变化。因此常变量又称为只读变量(read-only-variable)。 请区别用#define命令定义的符号常量和用const定义的常变量。符号常量只是用一个符号代替一个字符串,在预编译时把所有符号常量替换为所指定的字符串,它没有类型,在内存中并不存在以符号常量命名的存储单元。而常变 阅读全文
posted @ 2012-07-27 13:49 Mr.Rico 阅读(767) 评论(0) 推荐(0)
摘要: 第1章 C语言概述1. C语言出现的历史背景C语言是国际上广泛流行的高级语言。C语言是在B语言的基础上发展起来的。B (BCPL)语言是1970年由美国贝尔实验室设计的, 并用于编写了第一个UNIX操作系统,在PDP 7上实现。优点:精练,接近硬件,缺点:过于简单,数据无类型。 1973年贝尔实验室的D.M.Ritchie 在B语言的基础上设计出了C语言,对B取长补短,并用之改写了原来用汇编编写的UNIX,(即UNIX第5版),但仅在贝尔实验室使用。1975年UNIX第6版发布,C优点突出引起关注。1977年出现了《可移植C语言编译程序》 ,推动了UNIX在各种机器上实现 ,C语言也得到推广, 阅读全文
posted @ 2012-07-24 21:34 Mr.Rico 阅读(593) 评论(0) 推荐(0)
摘要: 这儿所讨论的是x86机器下的内存分配。其他机器下的情况可能不一样。首先,下面是一段测试程序:#includeusingnamespacestd;intmain(){inta[]={1,2,3,4,5,0,-5,-4,-3,-2,-1};char*s="helloworld";char*s2="I'maboy";char*s3="helloworld";floatf=1.0f;doubled=1.0;printf("a:%0#x\n",a);printf("s:%0#x\n",s);pri 阅读全文
posted @ 2012-07-24 21:20 Mr.Rico 阅读(336) 评论(0) 推荐(0)
摘要: 之前有文章介绍过临时对象和返回值优化RVO方面的问题。见此处。在C++中,返回对象这一点经常被诟病,因为这个地方的效率比较低,需要进行很多的操作,生成一些临时对象,如果对象比较大的会就会比较耗时。但是在编译器实现的时候,经常是对返回对象的情况进行优化,也就是进行返回值优化 。在g++中,这个是默认已经进行了优化。以前我希望看看到底C++怎么操作的,但是无法看到,就是因为G++进行了默认的返回值优化RVO。今天在晚上发现可以有一中方法来禁止这个RVO,可以参考这儿。具体来说就是在编译的时候,加上-fno-elide-constructors这个选项,即:g++ -o rvo_test rvo_t 阅读全文
posted @ 2012-07-21 11:23 Mr.Rico 阅读(2340) 评论(0) 推荐(2)
摘要: 第1章 C++基础1. C++起源C的成功及广受欢迎是与UNIX操作系统密切相关。第3章 函数基础伪随机数第11章 名字空间1. 未命名空间文件是一个编码单元,例如类的实现文件,以及那些使用#include命令包含的文件,如类的接口文件。每个编码单元都有一个未命名的名字空间。所有在未命名空间中定义名字都局限于该编码单元中,所以这些名字在该编码单元之外可以重新使用。2. 使用未命名名字空间将某个定义局限于编码单元中。3. 混淆未命名空间和全局命名空间。4. 利用未命名名字空间代替static修饰词第12章 流和文件I/O操作1. 打开文件的方式使用open函数:ifstream ins;ins. 阅读全文
posted @ 2012-07-20 09:25 Mr.Rico 阅读(409) 评论(0) 推荐(0)
摘要: 这本书主要介绍的是C++标准的TR1库。对相关的库都进行了介绍。类似一个参考手册。 前言 C++ TR1库简介 元组tuple 元组的tuple的声明 2. 创建tuple对象 使用make_tuple函数来创建tuple对象,但是make_tuple并不区分对象和对象的引用,两者都会得到和对象相同 类型的成员。 TR1库中的函数模板ref和cref可以创建包含引用的tuple对象。在头文件中定义。cref告诉make_tuple所要创建的成员是对常量类型的引用。 函数模板tie可以创建tuple对象包含对参数的引用。 程序代码:make_tuple.cc View Code #include 阅读全文
posted @ 2012-07-18 13:52 Mr.Rico 阅读(609) 评论(0) 推荐(0)
摘要: 1. 面向对象:封装(数据抽象)是基础,继承是手段,多态是目的;泛型编程:参数化类型(概念抽象)是基础,模板是手段,通用是目的2. 面向对象是运行时问题空间的多态,泛型编程是编译时算法空间的多态3. OO以Type为中心,GP以Concept为中心,而Concept完全独立于Type;OO的type是显式定义的,type之间的关系也是显式定义的,是语言支持的 ;GP的Concept是由算法隐式定义的,Concept之间的关系,是无法用目前的C++语法直接表达的;Concept的Model完全可以是毫无关系的Type,refinement独立于inheritence,original conc. 阅读全文
posted @ 2012-07-16 21:03 Mr.Rico 阅读(930) 评论(0) 推荐(0)
摘要: 一个比较简单的程序题。题目虽简单,但写起来需要注意的东西还是很多的。题目:读入两个小于100的正整数A和B,计算A+B.需要注意的是:A和B的每一位数字由对应的英文单词给出.输入:测试输入包含若干测试用例,每个测试用例占一行,格式为"A + B =",相邻两字符串有一个空格间隔.当A和B同时为0时输入结束,相应的结果不要输出.输出:对每个测试用例输出1行,即A+B的值.样例输入:one + two = three four + five six = zero seven + eight nine = zero + zero =样例输出:3 90 96下面是我写的一段程序:# 阅读全文
posted @ 2012-07-16 20:46 Mr.Rico 阅读(504) 评论(0) 推荐(0)
摘要: 本篇内容来源于互联网 前言:复杂类型说明要了解指针,多多少少会出现一些比较复杂的类型,所以我先介绍一下如何完全理解一个复杂类型,要理解复杂类型其实很简单,一个类型里会出现很多运算符,他们也像普通的表达式一样,有优先级,其优先级和运算优先级一样,所以我总结了一下其原则:从变量名处起,根据运算符优先级结合,一步一步分析. 下面让我们先从简单的类型开始慢慢分析吧:intp;//这是一个普通的整型变量int*p;//首先从P处开始,先与*结合,所以说明P是一个指针,然后再与int结合,说明指针所指向的内容的类型为int型.所以P是一个返回整型数据的指针intp[3];//首先从P处开始,先与[]结合. 阅读全文
posted @ 2012-07-16 15:33 Mr.Rico 阅读(342) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2012-07-16 15:11 Mr.Rico 阅读(178) 评论(0) 推荐(0)
摘要: 第2部分 C/C++程序设计1. 二进制位变换对于整型x:x&(x-1)的结果是x最右边的1被置为0这儿有详细介绍:http://www.cnblogs.com/xkfz007/archive/2012/06/27/2566478.html 2. 类型转换这儿提到的类型转换主要是指,浮点型和整型之间的转换。例如:float x=2.5f;则printf("%#x\n",*(int*)&x);//0x40200000printf("%#x\n",(int&)x);//0x40200000(这个需要在C++下编译)(int&) 阅读全文
posted @ 2012-07-16 13:14 Mr.Rico 阅读(521) 评论(0) 推荐(0)
摘要: 参考:http://blog.csdn.net/haoel/article/details/3081328,http://blog.csdn.net/haoel/article/details/3081385前言 07年12月,我写了一篇《C++虚函数表解析》 的文章,引起了大家的兴趣。有很多朋友对我的文章留了言,有鼓励我的,有批评我的,还有很多问问题的。我在这里一并对大家的留言表示感谢。这也是我为什么 再写一篇续言的原因。因为,在上一篇文章中,我用了的示例都是非常简单的,主要是为了说明一些机理上的问题,也是为了图一些表达上方便和简单。不想,这篇 文章成为了打开C++对象模型内存布局的一个引子 阅读全文
posted @ 2012-07-15 19:25 Mr.Rico 阅读(248) 评论(0) 推荐(0)
上一页 1 ··· 8 9 10 11 12 13 14 15 16 ··· 23 下一页