- 博客(98)
- 资源 (16)
- 收藏
- 关注
转载 运用ffmpeg SDK解264码流(来源FFmpeg工程组)
Link:http://www.ffmpeg.com.cn/index.php/%E8%BF%90%E7%94%A8SDK%E8%A7%A3264%E7%A0%81%E6%B5%81运用SDK解264码流 方法一:最好参考ffmpeg自带的两个例子,outputexample.c和apiexample.c文件,亦或直接看ffmpeg和ffplay的例程也可,如果你是需要重量级的使
2013-03-29 20:57:04
1021
转载 各种音视频编解码学习详解 h264 ,mpeg4 ,aac 等所有音视频格式
目录(?)[-]编解码学习笔记二codec类型编解码学习笔记三Mpeg系列Mpeg 1和Mpeg 2编解码学习笔记四Mpeg系列Mpeg 4编解码学习笔记五Mpeg系列AAC音频编解码学习笔记六H26x系列编解码学习笔记七微软Windows Media系列编解码学习笔记八Real系列编解码学习笔记九QuickTime系列编解码学习笔记十Ogg系列编解码学习笔记十一Flash Video系列
2013-03-29 20:45:29
2277
转载 ffmpeg开发指南
FFmpeg是一个集录制、转换、音/视频编码解码功能为一体的完整的开源解决方案。FFmpeg的开发是基于Linux操作系统,但是可以在大多数操作系统中编译和使用。FFmpeg支持MPEG、DivX、MPEG4、AC3、DV、FLV等40多种编码,AVI、MPEG、OGG、Matroska、ASF等90多种解码.TCPMP, VLC, MPlayer等开源播放器都用到了FFmpeg。 一、
2013-03-29 20:40:33
648
转载 关于线程死锁的问题
工作中遇到的一点问题,就是关于线程间的死锁。这种问题还真是不好解决,主要是不好找,自己写的代码还好,如果是别人写的,逻辑还没完全掌握,那可真是个苦活。话说大学那会儿,计算机系统这门课没怎么好好学过,不过隐约还记得线程死锁有四个必要条件,只要打破其中一个条件,就会解决死锁问题。下面先复习一下吧:(1)互斥条件:一个资源每次只能被一个进程使用。(2)请求与保持条件:一个进程因请求资源而阻塞
2013-03-03 16:19:52
494
转载 风雨20年:我所积累的20条编程经验
原 文 来自http://www.cnbeta.com/articles/126970.htm 原文作者乔纳森·丹尼可(Jonathan Danylko)是一位自由职业的web架构师和程序员,编程经验已超过20年,涉足领域有电子商务、生物技术、房地产、医疗、保险和公用事业。正如乔纳 森在文中所言,本文适合刚毕业的大学生和刚入门的程序员。如果你已是高级开发人员,或许你在本文中看到自己的
2012-08-23 14:16:51
1818
转载 ON_COMMAND和ON_MESSAGE的区别
在MFC应用程序中传输的消息有三种类型:窗口消息、命令消息和控件通知。窗口消息(Window Message)一般与窗口的内部运作有关,如创建窗口、绘制窗口和销毁窗口等。通常,消息是从系统发送到窗口,或从窗口发送到窗口。若需要窗口消息的完全的列表,请参考M F C文档。命令消息命令消息一般与处理用户请求相关,当用户单击一个菜单项或工具栏时,命令消息产生,并被发送到能处理该请
2012-06-07 15:14:44
783
原创 WM6.5中隐藏和显示任务栏、命令栏及输入面板
1、隐藏// 隐藏命令栏,命令栏是屏幕最下边的一条 HWND hWnd = SHFindMenuBar(m_hWnd); ::CommandBar_Show(hWnd, FALSE); ////如果对话框不在最前面,那么SHFullScreen()函数会失败 SetForegroundWindow(); //// 隐藏任务栏,任务栏是屏幕最上边的一条 SHFullS
2011-11-26 11:35:22
2204
转载 句柄
句柄是windows编程的一个关键性的概念,编写windows应用程序总是要和各种句柄打交首,所谓句柄,就是一个4字节长的唯一的数,用以标识许多不同的对象类型,由于windwos是一个多任务操作系统,它可以同时运行多个程序或一个程序的多个副本,这些运行的程序称为一个实例,为了对同一程序的多个副本进行管理,windwos引入了实例句柄,windows为每个应用程序建立一张表,实例句柄就好像是这张
2011-11-16 16:25:44
495
转载 有关 句柄或指针的 常用函数
有关 句柄或指针的 常用函数1. 如何获取应用程序的 实例句柄? AfxGetInstanceHandle() 应用程序的 实例句柄保存在CWinAppIm_hInstance 中,可以这么调用 AfxGetInstancdHandle获得句柄. Example: HANDLE hInstance=AfxGetInstanceHandle();2. 如何通过代码
2011-11-16 15:31:36
756
原创 unicode 中 CW2A CA2W两个宏的含义
C:convertW:wide2:toA:ASCII CW2A 将宽字符集(Unicode)转化为多字符集(ASCII)CA2W 将多字符集(ASCII)转化为宽字符集(Unicode)
2011-10-28 09:39:31
12081
原创 Winsock编程
在Win32平台上的Winsock编程都要经过下列的基本步骤:定义变量->获得Winsock版本->加载Winsock库->初始化->创建套接字->设置套接字选项->关闭套接字->卸载Winsock库,释放所有资源。
2011-10-24 11:00:27
508
原创 【备忘录】创建自己的消息映射
步骤1:定义自己的消息ID。一般情况下用#define语句,如: #define MY_MESSAGE WM_USER+10步骤2:定义消息映射。在BEGIN_MESSAGE_MAP()之后,END_MESSAGE_MAP()之前,加入消息
2011-10-17 17:10:41
399
转载 MultiByteToWideChar和WideCharToMultiByte用法详解
1.使用方法详解 在本文开始之处,先简要地说一下何为短字符和宽字符. 所谓的短字符,就是用8bit来表示的字符,典型的应用是ASCII码.而宽字符,顾名思义,就是用16bit表示的字符,典型的有UNICODE.关于windows下的ASCII和UNICODE的更多
2011-10-14 10:54:30
453
转载 InternetOpen\InternetOpenUrl\InternetReadFile 等相关Win32 网络API 使用详细说明
摘要这篇技术性文章讨论了如何利用Microsoft Win32网络函数创建一个网络浏览器。这篇文章的宗旨是让读者了解一些Win32网络函数的作用、能力和使用范围,而不是为这些功能给出一个详细的文档。这篇文章所配合的SurfBear样本应用程序使用Win32网络函数从网络服
2011-10-13 13:34:04
711
转载 防止窗口闪烁的方法
1、将Invalidate()替换为InvalidateRect()。 Invalidate()会导致整个窗口的图象重画,需要的时间比较长,而InvalidateRect()仅仅重画Rect区域内的内容,所以所需时间会少一些。虫虫以前很懒,经常为一小块区域的重画就调用Inv
2011-10-10 09:46:37
379
转载 读写配置文件(.ini)
配置文件中经常用到ini文件,在VC中其函数分别为:写入.ini文件:bool WritePrivateProfileString(LPCTSTR lpAppName,LPCTSTR lpKeyName,LPCTSTR lpString,LPCTSTR lpFileNam
2011-09-26 14:03:18
615
原创 根据控件ID得到句柄
假设有8个相同控件HWND m_hwndSplit[8]; for (int i = 0; i { m_hwndSplit[i] = GetDlgItem(ID_XX+i)->GetSafeHwnd(); }BOOL CXX::F
2011-09-26 09:29:34
5915
转载 修改对话框边框颜色
对于对话框,只需要重载默认的消息处理函数就行了:// 重载默认的消息处理函数,主要处理WM_MOVE WM_PAINT WM_NCPAINT WM_NCACTIVATE WM_NOTIFY这// 几个消息就可以了LRESULT CMyDialog::DefWindow
2011-09-22 11:29:22
3772
转载 什么是 C Runtime 函数库
C Runtime是windows平台下的一个概念。一般来说,CRT函数就是标准的C语言函数。例如,printf、scanf、strlen、fopen等函数就属于CRT函数。在windows下所有的CRT函数最终都是转化成为win32 API来执行的。windows本身并没有在内核之上提供对CRT的支持。CRT既可以通过静态连接来实现,也可以通过动态链接来实现(MSVCRT.DLL)。
2011-09-16 11:23:13
1634
转载 Vc6.0 调试指南 --Happy Debugging
一:深入了解 Compile、Linking、Build(1)Compile - 编译当您点击 编译按钮时,编译器将会把你的源代码文件 (.c文件)转换为目标文件(.obj文件) ,目标文件包含的是源代码文件翻译后的机器语言。这些是不能被直接运行的,还需要 链接器将此
2011-08-26 14:46:42
721
转载 Visual C++中回调函数使用的变身大法
对于回调函数的编写始终是写特殊处理功能程序时用到的技巧之一。先介绍一下回调的使用基本方法与原理。 1、在这里设:回调函数为A()(这是最简单的情况,不带参数,但我们应用的实际情况常常会很复杂),使用回调函数的操作函数为B(), 但B函数是需要参数的,这个参数就是指向函数
2011-08-26 09:57:20
128
原创 结构体赋值问题
首先定义两个结构体:struct UdpData{SOCKET sockUdp;SOCKADDR_IN addrUdp;};struct ScanUdpData {short* iTotalY;long* lTotalX;UdpD
2011-08-24 19:52:02
162
原创 调试用代码
方法一:在需要查看缓冲区recvBuf数据时添加以下代码,可将缓冲区数据写入文本文件中 #if 1 FILE* pFile = fopen("test1.txt", "w"); if (!pFile) { printf("open
2011-08-18 16:55:30
336
转载 WSAGetLastError() 返回的错误
下面列示了用户在 Windows 操作系统上使用 TCP/IP 时,可能最常遇到的错误代码。它不是完整的错误列表。可以在文件 winsock2.h 中找到 WSAGetLastError() 返回的错误。如果您未安装开发环境,则在您的系统上可能未安装此文件。在“Windows 套
2011-08-18 15:27:22
727
原创 wireshark 过滤法则
一、IP过滤:包括来源IP或者目标IP等于某个IP 比如:ip.src addr==192.168.0.208 or ip.src addr eq 192.168.0.208 显示来源IP ip.dst a
2011-08-12 09:12:20
544
原创 VC使用技巧
VC中加入bookmark VC中加入bookmark用把光标移到该行,并按CTRL+F2,再按则取消当前bookmark,平时可以按F2在几个bookmark中来回跳转来实现快速定位,而按alt+f2可以在一个表中查找bookmark
2011-08-02 14:00:08
123
转载 [VC]基于对话框程序,自定义工具栏(支持真彩色图标,可添加文字)
转载自 ewook最终编辑 ewook<br /><br />应该是一个老生常谈的问题了,仍然决定写一写的原因是:在网上搜一搜,讲得有效易懂的还真没发现(可能是大虾们都懒得去写。。。)<br />动机:传统的VC工具栏只支持16色的图标,且不能添加文字。<br />要点:CToolBarCtrl类的使用。先引用MSDN上的话(翻译水平比较菜,见谅!)<br /> 使用CToolBarCtrl类,一般遵从以下几个步骤:<br /> 1.构造一个CToolBarCtrl
2011-05-31 11:05:00
1515
原创 VC助手使用问题————all instance of the license"*" are in use .VA will be disabled
<br />解决办法很简单,打开注册表编辑器(开始->运行->regedit ),找到 <br /><br /> HKEY_CURRENT_USER/Software/Whole Tomato/Visual Assist 6/UserKey <br /> <br /> 修改为你的大名,然后重启VC就可以了。”
2011-05-23 14:53:00
1717
转载 delete和delete[]的区别
<br />关于 new[] 和 delete[],其中又分为两种情况:(1) 为基本数据类型分配和回收空间;(2) 为自定义类型分配和回收空间。 <br /><br />对于 (1),上面提供的程序已经证明了 delete[] 和 delete 是等同的。但是对于 (2),情况就发生了变化。请看下面的程序。 <br />#include <iostream>;<br />using namespace std;<br /><br />class T {<br />public:<br />
2011-05-17 09:53:00
196
原创 this指针
<br />1)this指针是什么时候创建的?<br /> this在成员函数的开始执行前构造,在成员的执行结束后清除。<br /> 采用TYPE xx的方式定义的话,在栈里分配内存,这时候this指针的值就是这块内存的地址。<br /> 采用new的方式创建对象的话,在堆里分配内存,new操作符通过eax返回分配的地址(VC通过ecx寄存器传递this参数),然后设置给指针变量。之后去调用构造函数,这时将这个内存块的地址传给ecx。<br /> <br />2)this指针是如何访问类中
2011-05-12 10:53:00
428
转载 static变量和static函数的用法摘抄
一、 static 变量<br />static变量大致分为三种用法<br />1. 用于局部变量中,成为静态局部变量. 静态局部变量有两个用法,记忆功能和全局生存期. <br />2. 用于全局变量,主要作用是限制此全局变量被其他的文件调用. <br />3. 用于类中的成员.表示这个成员是属于这个类但是不属于类中任意特定对象<br />1. 静态局部变量<br />静态局部变量属于静态存储方式,它具有以下特点:<br />(1)静态局部变量在函数内定义 它的生存期为整个源程序,但是其作用域仍与自动
2011-05-10 11:15:00
557
原创 阶段总结之碰撞检测
由于3D引擎平台的限制,还没办法在场景中检测所有的碰撞检测。只能使用之前的小车碰撞检测的场景,闲来无事,将过程记录下来~1、由于工具的限制,无法获取到当前选取模型投影在二维平面上的矩形长宽值(PS:这里所做的碰撞检测均采取的是三维模型投影到二维平面上,并使用框选模型得到所有的投影均为矩形区域),这里只能采取手动测量矩形的长宽值。2、针对场景中的静止不变的物体,如厂房的墙壁、柱子等,也是采取手动测量出墙壁、柱子在二维平面上的投影矩形,针对场景中其他的模型,采取如1相同的方法测量出投影矩形区域。将这些矩形区域都
2011-05-05 10:42:00
981
原创 编程小规范
1、当存在多个文件都会用到的变量时,将这些变量单独定义在一个头文件中(如定义一个 var.h头文件用于定义这些变量)。2、将常量尽可能多的定义成宏,以便后期修改方便。3、关于全局变量是在cpp文件中定义还是.h文件中定义的问题? 全局变量可以这样定义
2011-04-29 11:45:00
122
转载 自绘按钮的实现
<br /><br />下载本文示例工程<br /><br />如果你希望能够在自己的程序中表现出新意,那么你一定不会仅仅满足于MFC提供那些标准控件。这时,我们就必须自己另外多做些工作了。就改变控件外观这一点来说,主要是利用控件的自绘功能(Owner Draw)实现的。本篇将和各位一起定义一个XP风格的CXPButton按钮类,目的不在于介绍CXPButton类的使用技巧,而在于向各位阐述实现自绘按钮的方法。当然如果你觉得CXPButton有用的话,也可以把它的源文件保存下来,直接加入到自己的项目中。<b
2011-04-29 11:17:00
824
1
原创 "cannot add new member"解决方法
<br />今天在添加控件的时候弹出这样的问题,在网上找了一下相关的解决方法,最常见的莫过于:1.:如果出现这种情况,我们可以先把工程给关闭,然后删除 *.clw文件,然后再打开工程,并按CTRL+W打开ClassWizard,这里我们输入先前删除的文件的文件名,然后点确定,便可重新生成一次*.clw文件。(注意:这里的*代码你的工程,如:我的工程叫Test,那么我们就应该删除Test.clw文件),这里如果顺序的进行ClassWizard页面的话,那么上面的问题上就解决了。<br />我尝试了上面的方法,
2011-04-28 16:16:00
1764
转载 《深入浅出MFC》学习笔记
第一章 win32 基本程序概念<br /><br />windows 是一个“以消息为基础的事件驱动系统”。当系统内核捕捉到外围设备发生的事件后,将以一种特定的消息传递出去。而用户程序在接收到相应的消息后再做出相应的处理(否则系统以默认函数处理)。处理窗口过程的一般是窗口函数(window procedure)。Windows 程序的执行流程如上图。<br />窗口函数习惯上称作回调函数,回调函数类似于C 语言中bsearch (二分法查找)函数的cmp (用于比较两个元素的大小)参数:<br />//
2011-04-20 11:14:00
613
原创 内存管理
<br />内存共分为三个部分:静态区、栈(堆栈就是栈)、堆。<br /> <br />静态区:保存自动全局变量和static变量(包括static全局和局部变量)。静态区的内容在整个程序的生命周期都存在,由编译器在编译的时候分配。<br /> <br />栈:保存局部变量。栈上的内容只在函数的范围内存在,当函数运行结束,这些内容也会自动被销毁。其特点是效率高,但空间大小有限。<br /> <br />堆:由malloc系列函数或new操作符分配的内存。其生命周期由free或delete决定。在没有释放之前
2011-04-14 15:29:00
455
原创 enum关键字——C语言深度剖析
枚举类型的定义方式如下:enum enum_type_name{ ENUM_CONST_1, ENUM_CONST_2, ... ENUM_CONST_n}enum_variable_name;注意:enum_type_name是自定义的一种数据类型名,而enum_variable_name为enum_type_name类型的一个变量,enum_type_name类型是对一个变量取值范围的限定,而花括号内是它的取值范围,即enum_type_name类型的变量enum_variabl
2011-04-08 13:30:00
1235
linphone3.5.2在VS2008上编译包
2016-03-17
linphone3.5.2在VS2008上编译
2015-01-12
读取ini文件操作源代码(测试可用版)
2010-11-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人