- 博客(28)
- 资源 (44)
- 收藏
- 关注
原创 volatile的定义与应用场景
用volatile关键字定义变量,相当于告诉编译器,这个变量的值会随时发生变化,每次使用时都需要去内存里 重新读取它的值,并不要随意针对它作优化。 建议使用volatile变量的场所: (1) 并行设备的硬件寄存器 (2) 一个中断服务子程序中会访问到的非自动变量(全局变量) (3) 多线程应用中被几个任务共享的变量
2012-10-09 22:10:09
832
原创 GPIO模式解析
(1)GPIO_Mode_AIN 模拟输入 (2)GPIO_Mode_IN_FLOATING 浮空输入(3)GPIO_Mode_IPD 下拉输入 (4)GPIO_Mode_IPU 上拉输入 (5)GPIO_Mode_Out_OD 开漏输出(6)GPIO_Mode_Out_PP 推挽输出(7)GPIO_Mode_AF_OD 复用开漏输出 (8)GPIO_Mode_AF_PP 复用推挽输
2012-10-03 18:30:34
5954
原创 libx264是干什么的?
一个是编码库一个是包含 main 函数的编码例程一个是各个模块具体实现,另外一个是调用这些模块进行编码,我的理解libx264 是库文件,有特定的函数暴露给外界调用,你在你的程序你直接调用这些接口函数,然后将命令行参数传递到接口函数的参数里即可。跟动态链接库的使用方式类似,不妨去学学动态链接库。谢谢firstime,给我茅塞顿开的一句话。http://bbs.china
2012-09-19 21:22:50
1699
转载 int get_frame_total_yuv( hnd_t handle )函数解释
1. 语句i_frame_total = p_get_frame_total( opt->hin ),实现得到输入文件的总帧数,由于p_get_frame_total = get_frame_total_yuv(见Parse()函数),所以调用函数int get_frame_total_yuv( hnd_t handle ),在文件muxers.c中,原型如下:int get_frame_
2012-09-19 19:33:30
998
转载 VC环境下是如何读入*.yuv序列
#include #include void main() { char *Y; char *Cb; char *Cr; int width = 352, height = 288; FILE *fp; FILE *fy; int i; Y = (char*)malloc(width*height); Cb = (char*)malloc
2012-09-19 00:46:56
1423
转载 如何参考x264,使用libx264编码实时的摄像头图像帧
参考x264工程中的实现,关键的几个地方:p_read_frame( &pic, opt->hin, i_frame + opt->i_seek )//实际是int read_frame_yuv( x264_picture_t *p_pic, hnd_t handle, int i_frame )i_file += Encode_frame( h, opt->hout, &pic );
2012-09-18 21:56:03
5010
转载 IPB帧编码顺序(解码顺序)与显示顺序
仅仅使用前一个显示的基准帧来编码的帧被称为P帧,同时使用前一个显示帧和未来帧作为基准帧进行编码的帧称为B帧.在通常的场景中,编解码器编码一个I帧,然后向前跳过几个帧,用编码I帧作为基准帧对一个未来P帧进行编码,然后跳回到I帧之后的下一个帧。编码的I帧和P帧之间的帧被编码为B帧。之后,编码器会再次跳过几个帧,使用第一个P帧作为基准帧编码另外一个P帧,然后再次跳回,用B帧填充显示序列中的空隙。
2012-08-24 17:23:26
2156
转载 基于上下文的自适应变长编码CAVLC原理与流程
CAVLC -CAVLC概念AVLC的全称是Context-Adaptive Varialbe-Length Coding,即基于上下文的自适应变长编码。CAVLC的本质是变长编码,它的特性主要体现在自适应能力上,CAVLC可以根据已编码句法元素的情况动态的选择编码中使用的码表,并且随时更新拖尾系数后缀的长度,从而获得极高的压缩比。H.264标准中使用CAVLC对4×4模块的亮度和色度残差数据
2012-08-23 11:03:02
4899
转载 帧间预测编码原理
帧间预测编码是利用视频图像帧间的相关性,即时间相关性,来达到图像压缩的目的,广泛用于普通电视、会议电视、视频电话、高清晰度电视的压缩编码。在图像传输技术中,活动图像特别是电视图像是关注的主要对象。活动图像是由时间上以帧周期为间隔的连续图像帧组成的时间图像序列,它在时间上比在空间上具有更大的相关性。大多数电视图像相邻帧间细节变化是很小的,即视频图像帧间具有很强的相关性,利用帧所具有的相关性的
2012-08-22 10:52:46
13490
转载 is not a class or namespace name
is not a class or namespace name解决方法 我在mfc编程里,头文件里声明了个类,然后在源文件里实现类里的函数,结果一堆错误:xxx is not a class or namespace name。每建立一个新类,都要在classname.cpp文件中加入#include "stdafx.h"文件,而且加的位置要在第一行。原因:编译器通过一个头文
2012-08-19 10:52:13
1743
转载 Visual C++编程实现摄像头视频捕捉
摘要:本文主要讲述用Directshow进行视频捕捉(捕捉静态图像)的编程思路,并提供针对摄像头编程的一个视频捕捉类CcaptureVideo和一个示例。 前言 DirectShow是微软公司提供的一套在Windows平台上进行流媒体处理的开发包,与DirectX开发包一起发布。DirectShow为多媒体流的捕捉和回放提供了强有力的支持。用DirectShow开发应用程序,我们可以很
2012-08-17 22:20:06
1272
原创 general error c101008a: Failed to save the updated manifest to the file ".\D
点class view中的工程,选右鍵,再点clean就可以了; 或者是 build->clean solusion也可以
2012-08-13 20:53:57
3190
原创 error C2593: 'operator +=' is ambiguous
在编译《VC++深入详解》第五章的程序时,出现 error C2593: 'operator +=' is ambiguous 这个错误,不知道怎么解决,请各位大虾帮帮忙。注:我用的是VS 2008这个错误是在 m_strLine += nChar; 这个语句中出现的。其中m_strLine是一个CString类型的成员变量,而nChar是一个UINT类型的形参。CString可以
2012-07-29 10:30:46
5052
转载 vs2005位图插入
vs2005位图插入,上图上说明: 1.在你所在的工程中一般在左边可以看到“资源视图”; 2.在空旷处右击鼠标; 3.选择“添加资源”; 4.之后就会弹出一个框框,选择“Bitmap"; 5.选择“新建”;
2012-07-28 11:39:04
555
转载 wince图片编解码
头文件如下:[cpp] view plaincopy/******************************************************************** Copyright(c) 2011, All rights reserved. purpose: 图片加载使用类 当前版本: 1.0
2012-07-26 20:16:02
1432
原创 windows启动函数分析
启动函数的功能归纳如下:• 检索指向新进程的完整命令行的指针。• 检索指向新进程的环境变量的指针。• 对C / C + +运行期的全局变量进行初始化。如果包含了S t d L i b . h文件,代码就能访问这些变量。表4 - 1列出了这些变量。• 对C运行期内存单元分配函数(m a l l o c和c a l l o c)和其他低层输入/输出例程使用的内存栈进行初始化。
2012-07-22 10:28:42
742
原创 create()
OnCreate是一个消息响应函数,是响应WM_CREATE消息的一个函数,而WM_CREATE消息是由Create函数调用的。 在view类中,Create 是虚函数由框架调用,是用来“生成一个窗口的子窗口”。 而OnCreate 函数是用来“表示一个窗口正在生成”。 一个窗口创建(Create)之后,会向操作系统发送WM_CREATE消息,OnCreate()函数主要是用来响应此消息的。因
2012-07-19 22:14:10
3125
原创 BOOL和bool的区别
BOOL和bool的区别1、类型不同BOOL为int型,微软自定义类型:typedef int BOOL;bool为布尔型,为C++标准的数据类型2、长度不同bool只有一个字节BOOL长度视实际环境来定,一般可认为是4个字节,因为它本身是int型3、取值不同bool取值false和true,是0和1的区别BOOL取值FALSE和TRUE,是0和非0的区别
2012-07-19 18:24:53
804
原创 fatal error C1189
下面是程序的错误! c:\program files\microsoft visual studio 8\vc\atlmfc\include\afx.h(24) : fatal error C1189:#error : Building MFC application with /MD[d] (CRT dll version) requires MFC shared dll versi
2012-07-19 16:06:29
14536
原创 f:\arm\program\point\point\point.cpp(24) : error C2512: 'Time' : no appropriate default constructor
#include using namespace std;class Time{private: int num; int score;public: Time(int,int); void ShowScore();};void Time::ShowScore(){ cout }Time::Time(in
2012-07-17 17:14:10
1630
原创 Windows程序运行原理及程序编写流程
Windows API与Win32 SDK操作系统提供了各种方便开发Windows应用程序的编程接口,所的函数都在Windows.h头文件中声明。Win32 SDK(Software Development Kit): 即Windows 32位平台下的软件开发包,包括API函数,帮助文档,微软提供的一些辅助开发工具。1、窗口:桌面也是窗口,消息框和对话框;2、句柄:资源(窗口、图标
2012-07-17 15:01:36
640
转载 windows窗口建立
窗口属性定义基本方法结构WNDCLASS包含一个窗口类的全部信息,也是Windows编程中使用的基本数据结构之一,应用程序通过定义一个窗口类确定窗口的属性,定义如下:typedef struct _WNDCLASS { UINT style; WNDPROC lpfnWndProc; int cbClsExtra; int cbWnd
2012-07-17 10:16:38
520
转载 无法解析的外部符号 _WinMain@16,该符号在函数 ___tmainCRTStartup 中被引用
在调试程序时,遇到了这个问题。 本来程序是没有链接错误的。在vc2005下,单步跟踪调试时,结果出现了错误。怎么也改不掉。在网上google了一下。解决了。所以把这个文章转载了 一,问题描述MSVCRTD.lib(crtexew.obj) : error LNK2019: 无法解析的外部符号 _WinMain@16,该符号在函数 ___tmainCRTStartup 中被引用Deb
2012-07-17 09:55:24
1003
原创 动态建立链表
所谓动态链表是指在程序执行过程中从无到有地建立起一个链表,既一个一个地开辟结点和输入各结点的数据,并建立起前后相连的关系。例题:#include using namespace std;#define NULL0 struct student{long num;float score;struct student *next;};int main()
2012-07-11 17:45:28
9971
原创 ubuntu于windows文件共享
环境:主机操作系统是Windows XP,虚拟机是Ubuntu 8.10,虚拟机是VirtualBox 2.1.0。 1. 安装增强功能包(Guest Additions) 安装好Ubuntu 8.10后,运行Ubuntu并登录。然后在VirtualBox的菜单里选择"设备(Devices)" -> "安装增强功能包(Install Guest Additions)"。
2012-07-10 09:42:36
763
转载 ubuntu dhcp上网
Ubuntu9.04网络设置最近一个兄弟拷贝给我一个9.04的虚拟机。设置网络还遇到些和8.04不同的地方,记录一下:sudo gedit /etc/network/interfaces#设置静态IP auto eth0iface eth0 inet static address 192.168.1.10 netmask 255.255.255.0
2012-07-10 09:41:29
819
转载 cdev结构来描述
在Linux2.6内核中一个字符设备用cdev结构来描述,其定义如下:struct cdev { struct kobject kobj; struct module *owner; //所属模块 const struct file_operations *ops; //文件操作结构,在写驱动时,其
2012-06-05 16:05:51
520
原创 linux kmalloc函数
2.6内核下 kmalloc的实现中有个__you_cannot_kmalloc_that_much函数,插入这个函数的目的是作参数检查.static inline void *kmalloc(size_t size, int flags) { if (__builtin_constant_p(size)) { int i = 0;
2012-05-28 17:11:20
5758
windows ce6.0开发者参考part1 清晰版
2012-07-23
windows ce6.0开发者参考part2 清晰版
2012-07-23
windows ce6.0开发者参考part3
2012-07-22
Windows核心编程 清晰版
2012-07-22
高质量C++编程指南
2012-07-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人