随笔分类 -  C++

摘要:YUV与RGB表现图像的方法不同,其采用的是一个亮度信号加两个色差信号的方式来表现图像。其中UV表示的是CbCr,常见的YUV格式有:YUV4:2:0,YUV4:2:2,YUV4:1:1,YUV4:4:4,其代表的是不同的图像压缩方式。YUV的存储方式分为打包模式(packed)和平面模式(plan 阅读全文
posted @ 2017-06-15 16:24 poisson_notes 阅读(404) 评论(0) 推荐(0)
摘要:鉴于x264的参数众多,各种参数的配合复杂,为了使用者方便,x264建议如无特别需要可使用preset和tune设置。这套开发者推荐的参数较为合理,可在此基础上在调整一些具体参数以符合自己需要,手动设定的参数会覆盖preset和tune里的参数。 --preset的参数主要调节编码速度和质量的平衡, 阅读全文
posted @ 2017-05-25 16:50 poisson_notes 阅读(6701) 评论(0) 推荐(0)
摘要:libx264 版本是 128libfaac 版本是 1.28 1、帧的划分 1.1 H.264 帧 对于 H.264 而言每帧的界定符为 00 00 00 01 或者 00 00 01。 比如下面的 h264 文件片断这就包含三帧数据: 第一帧是 00 00 00 01 67 42 C0 28 D 阅读全文
posted @ 2017-05-25 16:30 poisson_notes 阅读(2856) 评论(0) 推荐(0)
摘要:FFMPEG的很多结构中有AVRational time_base;这样的一个成员,它是AVRational结构的 typedef struct AVRational{ int num; ///< numerator int den; ///< denominator } AVRational; AVRational这个结构标识一个分数,num为分数,den为分母。 ... 阅读全文
posted @ 2017-05-25 15:36 poisson_notes 阅读(749) 评论(0) 推荐(0)
摘要:C++有六个默认函数:分别是 1、default构造函数; 2、默认拷贝构造函数; 3、默认析构函数; 4、赋值运算符; 5、取值运算符; 6、取值运算符const; 阅读全文
posted @ 2017-03-16 20:01 poisson_notes 阅读(285) 评论(0) 推荐(0)
摘要:在C中, 在几乎所有使用数组的表达式中,数组名的值是个指针常量,也就是数组第一个元素的地址。 它的类型取决于数组元素的类型: 如果它们是int类型,那么数组名的类型就是“指向int的常量指针“。 在以下两种场合下,数组名并不是用指针常量来表示, 就是当数组名作为sizeof操作符和 单目操作符&的操 阅读全文
posted @ 2017-03-14 10:21 poisson_notes 阅读(542) 评论(0) 推荐(0)
摘要:win32平台下的微软C编译器对齐策略: 1)结构体变量的首地址能够被其最宽数据类型成员的大小整除。编译器在为结构体变量开辟空间时,首先找到结构体中最宽的数据类型,然后寻找内存地址能被该数据类型大小整除的位置,这个位置作为结构体变量的首地址。而将最宽数据类型的大小作为对齐标准。 2)结构体每个成员相 阅读全文
posted @ 2017-03-01 14:06 poisson_notes 阅读(269) 评论(0) 推荐(0)
摘要:fstream 是对文件输入输出iostream是对屏幕上输入输出你想往文件里保存内容,或者从文件里读取内容就用fstream向屏幕输出或者从屏幕上输入,用iostream “>>”运算符碰到whitesapce(包括空格、回车和制表符等)就结束这次输入。 阅读全文
posted @ 2017-02-17 16:28 poisson_notes 阅读(991) 评论(0) 推荐(0)
摘要:C语言的声明的优先级规则如下: A 声明从它的名字开始读取,然后按照优先级顺序依次读取 B 优先级从高到低依次是: B.1 声明中被括号括起来的那一部分 B.2 后缀操作符【圆括号 ()表示这是一个函数,方括号 [] 表示这是一个数组】 B.3 前缀操作符【* 表示这是一个指向 ......的指针】 阅读全文
posted @ 2017-01-25 10:15 poisson_notes 阅读(255) 评论(0) 推荐(0)
摘要:malloc与free是C++/C语言的标准库函数,new/delete是C++的运算符。它们都可用于申请动态内存和释放内存。对于非内部数据类型的对象而言,光用maloc/free无法满足动态对象的要求。对象在创建的同时要自动执行构造函数,对象在消亡之前要自动执行析构函数。由于malloc/free... 阅读全文
posted @ 2015-06-23 09:33 poisson_notes 阅读(993) 评论(0) 推荐(0)
摘要:贴图的描述方式有两种// 1、aaa.jpg// 2、file='aaa.jpg' res='' restype='0' dest='0,0,0,0' source='0,0,0,0' corner='0,0,0,0'// mask='#FF0000' fade='255' hole='false'... 阅读全文
posted @ 2015-06-09 11:36 poisson_notes 阅读(4922) 评论(0) 推荐(0)
摘要:我相信写WIN32程序的人,做过DLL,都会很清楚__declspec(dllexport)的作用,它就是为了省掉在DEF文件中手工定义导出哪些函数的一个方法。当然,如果你的DLL里全是C++的类的话,你无法在DEF里指定导出的函数,只能用__declspec(dllexport)导出类。但是,MS... 阅读全文
posted @ 2015-05-14 16:12 poisson_notes 阅读(422) 评论(0) 推荐(0)
摘要:(1) _stdcall调用 _stdcall是Pascal程序的缺省调用方式,参数采用从右到左的压栈方式,被调函数自身在返回前清空堆栈。 WIN32 Api都采用_stdcall调用方式,这样的宏定义说明了问题: #define WINAPI _stdcall 按C编译方式,_stdcal... 阅读全文
posted @ 2015-05-11 17:07 poisson_notes 阅读(385) 评论(0) 推荐(0)
摘要:因为公司项目最近入了MFC的这个大坑,用MFC做UI做了一段时间,感觉不是很方便,开发效率有点慢。看了c++里面做界面的类库,感觉Duilib比较符合做界面的需求,而且很多大公司也在使用Duilib,那就随一下大流,并在此表达对Duilib作者及广大的开源作者的敬意。Duilib支持win32程序及... 阅读全文
posted @ 2015-04-17 17:41 poisson_notes 阅读(29344) 评论(0) 推荐(1)
摘要:VS2010在经历一些更新后,建立Win32 Console Project时会出"error LNK1123" 错误。 解决方案为: 第一步:将:项目|项目属性|配置属性|清单工具|输入和输出|嵌入清单的选项"是"改为"否"即可,但是每新建一个项目都要这样设置一次。 第二步:将:项目|项目属性|配置属性|连接器|清单文件|嵌入清单选项"是"改为"否"。 第三步:一... 阅读全文
posted @ 2015-04-14 10:45 poisson_notes 阅读(17677) 评论(0) 推荐(0)
摘要:在描绘MFC界面时,MFC自带的控件样式是绝对不满足界面的需求的。所以我们就要在MFC自带控件基础上对控件样式进行重绘。在采用自绘前界面样式采用自绘后界面样式是不是自绘控件后看起来正常了很多?自绘控件的步骤:我们以做一个关闭按钮为例先创建一个MFC类继承自CButton。给这个类添加 一个虚函数Dr... 阅读全文
posted @ 2015-04-07 17:45 poisson_notes 阅读(10525) 评论(2) 推荐(0)
摘要:(1)Callback方式Callback的本质是设置一个函数指针进去,然后在需要需要触发某个事件时调用该方法, 比如Windows的窗口消息处理函数就是这种类型。比如下面的示例代码,我们在Download完成时需要触发一个通知外面的事件: 1 typedef void (__stdcall *Do... 阅读全文
posted @ 2015-04-06 15:58 poisson_notes 阅读(5746) 评论(0) 推荐(0)
摘要:无法启动此程序,因为计算机中丢失 MSVCRTD.dll。尝试重新安装该程序以解决此问题。我用的操作系统是Windows 7 -64bit,我把DLL下载以后按常往的习惯放入到System32 目录下,结果完全没有效果。后来一看,System32目录下面还有一个SysWOW64的文件夹。放到这个文件... 阅读全文
posted @ 2015-03-27 16:15 poisson_notes 阅读(10545) 评论(1) 推荐(2)
摘要:1. 值传递:形参是实参的拷贝,改变形参的值并不会影响外部实参的值。从被调用函数的角度来说,值传递是单向的(实参->形参),参数的值只能传入,不能传出。当函数内部需要修改参数,并且不希望这个改变影响调用者时,采用值传递。void swap(int a,int b){ int temp; ... 阅读全文
posted @ 2015-03-27 11:44 poisson_notes 阅读(11009) 评论(0) 推荐(0)
摘要:有些人说QT比MFC简单,QT封装得太好了,给初学者错觉,QT很简单。QT实现的功能比MFC更多(多到有些时候你觉得QT真TM啰唆,但是有时又体会到他啰唆得很强大很有柔性),显然比MFC代码更多,运行效率更低。但是那么多功能你要去学怎么用,有些时候还要去想他是怎么实现的,同样麻烦。QT几乎每个类都有... 阅读全文
posted @ 2015-03-26 10:12 poisson_notes 阅读(28835) 评论(3) 推荐(1)