ffmpeg 新老接口问题及对照集锦 转载地址:http://blog.csdn.net/sukhoi27smk/article/details/18842725ffmpeg源码包里面有个apichangs文档,里面有各种接口改变的记录,如果你发现接口不能用了,可以去搜索那个文档,可以找到对应的新接口,然后到新接口对应的头文件中找到说明文字网上很多关于ffmpeg (libav)的资料都是N年以前的,而
ffmpeg精简 转载地址:http://blog.csdn.net/seven407/article/details/6170823现在更新一下目前遇到的问题: 我想裁减ffmpeg编译出来的Dll库,把avcodec.dll裁减到1MB左右就可以了,只需要用ffmpeg完成H.264的解码和对音频解码的支持. 目前搭建了MinGW+MSYS的环境来编译ffmpeg,make的版本是3.81的.
MFC绘图(转载) 原文地址:http://www.cppblog.com/bestcln/articles/83189.html1 几何对象的结构和类为了使用绘图函数,应该先了解绘图所用到的几种表示几何对象的结构和类。这些结构和类分别定义在头文件windef.h和afxwin.h中。1.点1)点结构POINT点数据结构POINT用来表示一点的x、y坐标:t
vc画线画框画矩形 CPaintDC, 用于在窗口客户区画图(仅限于在OnPaint处理函数中使用); CClientDC, 也用于在窗口客户区画图(限于在OnPaint处理函数之外使用); CWindowDC, 用于在窗口内任意地方画图,包括非客户区; CMetaFileDC, 用于绘制GDI图元文件。画线: HDC方
VC单选按钮控件(Radio Button)用法(转) 转载地址:http://wujeangwei.blog.51cto.com/785319/177671先为对话框加上2个radio button,分别是Radio1和Radio2。问题1:如何让Radio1或者Radio2默认选上?如何知道哪个被选上了? 关键是选上,“默认”只要放在OnInitDialog()即可。三种方法可以让它选上, 第一种: ((CButto
使用SecureCRT的SFTP在WINDOWS与LINUX之间传输文件 原文转载地址:http://www.cnblogs.com/xwdreamer/p/3673397.html参考文献:http://ice-k.iteye.com/blog/1068275http://www.cnblogs.com/chen1987lei/archive/2010/11/26/1888391.html背景: 有一台主机,安装了window
基于debian系统IP手动和自动设置 原文地址:http://www.eeboard.com/bbs/thread-14124-1-1.html1) 下载Debian镜像文件http://rcn-ee.net/deb/flasher/wheezy/BBB-eMMC-flasher-debian-7.0.0-2013-05-29.img.xz2) 下载7zip解压缩工具,解压出img镜像文件http://
Makefile编译目录下多个文件以及函数wildcard用法 转载地址:http://blog.csdn.net/hunanchenxingyu/article/details/12205305编译多个c文件一般有两个功能,一个是每个c文件都有main函数,就是说每个c文件的可执行文件是独立的,各自是各自的;第二个是多个c文件用来编译成一个可执行文件。首先说第一个,内容如下,这个makefile是为了编译opencv代码的。
直方图均衡化原理 转载地址:http://blog.sina.com.cn/s/blog_7462bf390101f1og.htmlhttp://blog.csdn.net/honpey/article/details/8770919直方图均衡化的作用是图像增强。有两个问题比较难懂,一是为什么要选用累积分布函数,二是为什么使用累积分布函数处理后像素值会均匀分布。第一个问题。均衡化过程
windows下文件的监控--ReadDirectoryChangesW函数的使用 最近在做一个项目,其中涉及到监控指定目录下所有文件和子目录内的修改信息。经过一番努力,总算实现这一功能,在此特别感谢那些帮助过我的朋友和同事们。今天整理一下这几天的收获,列出相关的知识点,供后来者参考。1.FindFirstChangeNotification()函数:功能:创建一个改变通知句柄,并设置通知条件,即发生某种修改时,该通知句柄将被促发生效。该函数仅仅负责对文件修改作出
关于YUV和RGB之间的转换公式 转载地址:http://blog.sina.com.cn/s/blog_5713096b0100059i.html总结了一下网上关于YUV的一些东西先区分一下YUV和YCbCrYUV色彩模型来源于RGB模型,该模型的特点是将亮度和色度分离开,从而适合于图像处理领域。应用:模拟领域Y'= 0.299*R' + 0.587*G' + 0.114*B'U'= -0.147*R
异常结构体EXCEPTION_RECORD structure 转载地址:http://blog.csdn.net/wlsgzl/article/details/18763625原文链接:http://msdn.microsoft.com/en-us/library/windows/desktop/ms679308%28v=vs.85%29.aspx本文链接:http://blog.csdn.net/wlsgzl/article/details
MFC-实现软件程序的重启 转载地址: http://zhouzhenren163.blog.163.com/blog/static/6549928120124301202102/如题:方法一:通过守护进程这里添加一个按钮,双击按钮转至程序,添加如下代码:void CBackupDlg::OnBtnReset() { // TODO: Add your control notifi
VC下发布的Release版程序崩溃后的异常捕捉与查找 寻找Release版程发生异常退出的地方比Debug版麻烦得多。发生异常的时候windows通常会弹出一个错误对话框,点击详细信息,我们能获得出错的地址和大概的出错信息,然后可以用以下办法分析我们的程序。 一. 用MAP文件定位异常代码位置。1. 如何生成map文件打开“Project →Project Settings”,选择 C/C++ 选项卡,在“De
VC实现程序重启的做法 转载地址:http://blog.csdn.net/clever101/article/details/9327597 很多时候系统有很多配置项,修改了配置项之后能有一个按钮实现系统重启。所谓重启就是杀死系统的当前进程,然后重新开一个新进程。同事探索了一下,实现了这个功能。我总结了一下他的经验。下面一个MFC的对话框程序的按钮响应函数说明如何实现。
自动白平衡(AWB)算法---1,色温曲线 原文地址:http://blog.csdn.net/wzwxiaozheng/article/details/38434391白平衡算法---色温曲线本文大体讲解了白平衡的算法流程,适用于想了解和学习白平衡原理的筒子们.一般情况下要实现AWB算法需要专业的图像和算法基础,本文力图通过多图的方式,深入浅出,降低初学者理解上的门槛,让大家都理解到白平衡算法流程.看到
非模态内存泄露 创建非模态对话框if(m_pSaveAVIDlg_1 == NULL){m_pSaveAVIDlg_1 = new CSaveAVIDlg(NULL,1);}销毁对话框if(m_pSaveAVIDlg_1 != NULL){m_pSaveAVIDlg_1->DestroyWindow(); delete m_pSaveAVIDlg_1;m_pSa
VC使用CRT调试功能检测内存泄漏 /***********************************************************************************检测内存泄漏的基本工具是调试器和CRT调试堆函数。为了使用调试堆函数,在你的程序中你必须含有下面的说明:#define _CRTDBG_MAP_ALLOC#include#include 必须保证上面声明的顺
OnClose()和OnDestroy() OnClose():消息响应函数,响应WM_CLOSE消息,当"关闭"按钮被单击的时候(而不是我们眼睛所见的对话框从屏幕上消失时),该函数被调用,用户在响应OnOk()或者OnCancel()函数之后,不会发送WM_CLOSE消息OnDestroy():消息响应函数,响应WM_DESTROY消息,当一个窗口即将被销毁时,被发送在单视图程序中,根据>所讲,程序退出时执行的操作顺序为
memalign的作用 转自:http://hi.baidu.com/narshben/item/ca95ca1bf43d90466926bbf5ZZ: http://gs5689.blogbus.com/logs/36655475.html 在GNU系统中,malloc或realloc返回的内存块地址都是8的倍数(如果是64位系统,则为16的倍数)。如果你需要更大的粒度,请使用memal
远程桌面怎样不需要密码就可以进入 方法一:运行secpol.msc--本地策略--安全选项--帐户:使用空密码的本地帐户只允许进行控制台登录禁用(倒数第三个)方法二:--设置你的账户密码具体操作--运行lusrmgr.msc--右击你的账号设置密码,这样你开机的时候每次要输入密码,想开机不输入密码的话,运行--control userpasswords2--把那个要使用本机,用户必须输入密码的勾去掉--确定--确认下你
利用"NOTIFYICONDATA"实现MFC的托盘程序 转载地址:http://blog.163.com/winnercoming@126/blog/static/3610933320089113245896/一、自定义信息在头文件中加入下面这句话:#define WM_SHOWTASK (WM_USER+1)二、MYDLG.CPP文件中添加_messageEntries数组添加自定义信息WM_SHOWTASKON_ME
解决电脑断电日志数据丢失问题 问题现象:电脑每日重启一次,客户端软件的日志断电重启时,存在缓存Buffer中的日志信息丢失了,没有保存到文件中!解决办法:捕获关机信号,对日志就行处理,就可以保存到文件里了,不会丢失了!WM_ENDSESSION消息表示提示你Windows即将关闭!注:之前的方法是在CFileLog::~CFileLog( )里加入对日志保存到硬盘的操作,可是测试失败!!!
ffmpeg学习(二) 通过rtsp获取H264裸流并保存到mp4文件 转载地址:http://www.cnblogs.com/wenjingu/p/3990071.html本篇将使用上节http://www.cnblogs.com/wenjingu/p/3977015.html中编译好的库文件通过rtsp获取网络上的h264裸流并保存到mp4文件中。1、VS2010建立VC++ win32控制台项目2、在工程目录下建立lib目录和inclu
h264检测是I帧还是P帧 原文链接:http://blog.csdn.net/zgyulongfei/article/details/7558031今天在网上找了一些资料,知道了如何检测h264中的帧类型,在这里记录下来。首先,贴出nal单元类型定义(图从《新一代视频压缩编码标准H.264》摘录):假设一段h264的码流为:00 00 00 01 41 E6 60
FFMPEG的详细资料可以在它的官方网站上找到 转载地址:http://blog.csdn.net/michaelpp/article/details/1597223请看官网的文档栏目:http://ffmpeg.mplayerhq.hu/documentation.html FFmpeg System DocumentationFrequently Asked QuestionsFFmpeg progr
ffplay程序运行流程分析 1、main()开始: 分别注册编解码器,复用以及解复用器[cpp] view plaincopyprint?avcodec_register_all(); //register codec avdevice_register_all(); av_register_all(); //register demux and mux 接着就是一些分配内存空间的代码代码 略[csharp] view pl
RTSP流媒体播放器实现 RTSP流媒体播放器实现最近需要做一个RTSP流媒体播放器,研究了一下,封装了一个RTSP播放类CRTSPPlayer,解码库采用ffmpeg。由于需求比较简单,时间也有限,目前只实现了播放、停止、暂停几个基本的接口。下面是基于CRTSPPlayer类实现的简单RTSP播放器。目前视频只测试了H264格式,其它格式的视频还未做测试。播放器也支持直接打开本地视频播放,但播放的帧率和原
更改VLC源码 实现使用libVLC录像功能 VLC的强大功能我就不赘述了,相信看到这篇文章的朋友都已经有所了解了,如果还不太清楚,可以访问http://www.videolan.org/vlc/features.html. 首先大家需要下载一份VLC的源码,地址http://www.videolan.org/vlc/download-sources.html 编译方法上面也有阐述,不过根据我的经验,希望大家不要去尝试在win
Live555接收h264使用ffmpeg解码为YUV42 本文概要: 本文介绍了一种常用成熟的多媒体解码方案。使用live555作为流媒体数据源,建立rtsp会话请求h264数据流。后端使用ffmpeg解码h264流并保存为yuv420格式。 该方案比较成熟,可行性高,但网络相关资料较少,给初学者带来了不小的入门难度。本文介绍了其中实现的几个关键步骤和容易出现错误的地方。希望能给
shfileoperation 提示无法删除文件的有关问题 shfileoperation 提示无法删除文件的问题看了几篇关于用shfileoperation删除文件夹及其下文件的提问,大概知道是pFrom路径问题,但还是解决不了,奇怪的是有些提问人最后声称解决了,但也没有说出自己的代码错在哪里,郁闷,我解决了一定把完整代码贴出来,以下我的代码,请帮忙看看哪里有问题bool DeleteDirectory(CString strName){
C/C++中判断某一文件或目录是否存在 C/C++中判断某一文件或目录是否存在 1.C++很简单的一种办法:#include iostream>#include fstream>using namespace std;#define FILENAME "stat.dat"int main(){ fstream _file; _file.open(FILENAME,i
VC删除文件夹和计算文件个数 转zha方法一、BOOL CDeleteDirectoryDlg::DeleteDirectory(LPCTSTR DirName){ CFileFind tempFind; char tempFileFind[200]; sprintf(tempFileFind,"%s\*.*",DirName); BOOL IsFinded=(BOOL)tempFind.FindFile(tempFile
vlc sdl 播放视频可随窗口改变大小 #include #include #include #include #include #include #include #include #define VIDEOWIDTH 1920#define VIDEOHEIGHT 1080 struct context { SDL_Renderer *renderer; SDL_Texture *t
libvlc_media_add_option 函数中的参数设置 libvlc_media_add_option 函数中的参数设置Usage: vlc [options] [stream] ...You can specify multiple streams on the commandline. They will be enqueued in the playlist.The first item specified will be p
VLC命令行参数详解 Usage: vlc [options] [stream] ...You can specify multiple streams on the commandline. They will be enqueued in the playlist.The first item specified will be played first.Options-styles: --o
libvlc外部api的简单整理 libvlc.h定义了libvlc的外部api,引用这个头文件就可以把VLC嵌入到我们的程序里面了。libvlc的对象必须先被初始化之后才能被使用。libvlc corelibvlc_new() 用于初始化一个libvlc的实例,argc表示参数的个数,argv表示参数,返回创建的实例若当发生错误时返回NULLlibvlc_release()用于销毁一个libvlc的实例 li
基于VLC的播放器开发 转载地址:VLC的C++封装 因为工作需要,研究了一段时间的播放器开发,如果从头开始做,可以学习下FFmpeg(http://www.ffmpeg.org/),很多播放器都是基于FFmpeg开发的,但是这样工作量和难度都比较大,如果想很快能拿出一个播放器来用的,可以研究下开源的播放器,参考下射手播放器作者的文章:媒体播放器三大底层架构。 对比下现有的主流播放器:媒体播放器列表,
VLC做客户端解Rtsp码流 RTSP流解码为RGBA数据。VLC版本2.1.3vs 2008.为了从Rtsp地址获取实时帧数据,看了Live555和VLC的一些Demo。VLC作为Rtsp的客户端,拉网络视频流。然后进行实时解码(内部进行),自己获得码流(RGBA数据,32位RGB),显示.[cpp] view plaincopy"c
FFMpeg SDK 开发手册 ////////////////////////////////////////////////////////////////////////////文章转自:http://linux.chinaunix.net/techdoc/beginner/2009/09/10/1134986.shtmlFFMpeg 中比较重要的函数以及数据结构如下:1. 数据结构:(1) AVF
使用ffmpeg步骤 av_register_all();//初始化ffmpeg库,如果系统里面的ffmpeg没配置好这里会出错 if (isNetwork) { //需要播放网络视频 avformat_network_init(); } avformat_open_input();//打开视频文件 avformat_find_stream_info(
100行代码实现最简单的基于FFMPEG+SDL的视频播放器(SDL1.x) 转载地址:http://blog.csdn.net/leixiaohua1020/article/details/8652605简介FFMPEG工程浩大,可以参考的书籍又不是很多,因此很多刚学习FFMPEG的人常常感觉到无从下手。我刚接触FFMPEG的时候也感觉不知从何学起。因此我把自己做项目过程中实现的一个非常简单的视频播放器(大约100行代码)源代码传上来,以作备忘
VLC播放RTSP视频延迟问题 转载地址:之前写过一篇关于在Linux平台上编译android平台上VLC播放器源代码的文章,vlc这款播放器非常优秀而且是开源的,它的核心是开源视频编解码库ffmpeg。而且这款播放器还支持RTSP协议,这个主要是用开源的live555来实现的,live555这个库以后还需要认真研习。一:PC端(Windows平台)VLC播放RTSP视频延迟问题解决前几天用PC平台上的VLC播放RT
【流媒體】live555—VS2010 /VS2013 下live555编译、使用及测试 装zaiSkySeraph Apr 11st 2012Email:skyseraph00@163.com Ⅰ live555简介 Live555 是一个为流媒体提供解决方案的跨平台的C++开源项目,它实现了对标准流媒体传输协议如RTP/RTCP、RTSP、SIP等的支持。Live555实现了对多种音视频编码格式的音视频数据的流化、接收和处理等支持,包括MP
onvif开发之设备发现功能的实现 转载di 忙了一个多月,onvif总算告一段落了。这几个星期忙着其他的项目,也没有好好整理一下onvif的东西。接下来得好好整理一下自己的项目思路和项目经验,同时将自己的一些心得写出来,希望对人有所帮助。 相信大多数兄弟和我一样,onvif开发,最开始做的就是发现功能。这两天登录onvif的官网看才发现,onvif版本在八月份有更新,已经更新到V2.4了,于是下载最新
你应该关注的十个智能硬件中文网站 摘要 : 不论你是智能硬件从业者,还是智能硬件爱好者,不妨统一称之为“智能硬件er”。在信息泛滥的时代,专注于智能硬件,能提供好的资讯、观点、资源的平台屈指可数。这是为您收集的值得关注的十大智能硬件中文网站。不论你是智能硬件从业者,还是智能硬件爱好者,不妨统一称之为“智能硬件er”。在信息泛滥的时代,专注于智能硬件,能提供好的资讯、观点、资源的平台屈指可数。雷科技小编为您收集了值得
Onvif备忘录(1)----简介及开发框架搭建 转载地址:http://blog.csdn.net/saloon_yuan/article/details/249015971:Onvif简介 安防产品的通用标准目前有两大主流阵营:Onvif以及Psia,从目前厂家的支持数量以及市场占有量来说,Onvif已经牢牢占据了领先地位,且在网络视频监控领域,优势地位更明显。下面摘录百科的描述来给Onvif做下简单介绍:
Onvif开发之Linux下gsoap的使用及移植 一直以来都是在CSDN上面学习别人的东西,很多次想写点什么但是又无从写起。由于公司项目需要,最近一段时间在研究onvif,在网上找了很多资料,发现资料是非常多,但是很少有比较全的资料,或者资料太多无从下手。我打算从做项目开始,用CSDN博客记录我的项目笔记,同时希望能帮助到需要帮助的人,以感谢这么多年来CSDN上各位高手对我的帮助。onvif的开发从gsoap的移植开始!今天完成了gsoap的移植
gsoap编译与简单使用 http://blog.csdn.net/yujun_huoxu/article/details/74802501 官网下载gsoap2.8.8.zip2 安装gsoap a):如果在windows下 直接解压缩 会有一个gsoap2.8的目录。在\gsoap-2.8\gsoap\bin\ 目录下面有对应的b):在linux下解压成gsoap2.8的目录,安装。安装步骤.
Ubuntu 10.4 下安装gSOAP安装过程和问题解决 转载地址:在本文中,所有程序均在Linux下开发完成,经测试能够正常运行。 在开发过程中,我们需要用到gSOAP,可以从以下网址下载获得: 我下载的是gsoap_2.7.12.tar.gzhttp://www.cs.fsu.edu/~engelen/soap.html下载下来解压缩,按正常安装过程进行编译、安装。# tar zxvf gsozp_2.7.12.tar.gz
Onvif开发之代码框架生成篇 看了前一篇的ONVIF的简单介绍应该对它的基本使用都有了一些基本的了解了吧!下面我讲一步分解向大家介绍下如何通过gsoap生成需要的代码,以及代码中需要注意的问题[基于Linux平台 C开发] 生成Onvif相关源代码(我现在使用的gsoap版本是gsoap2.8.14,下面有下载地址): 在下载的gsoap文件下,在/gsoap-2.8/gsoap的目录下有有个type
onvif规范 中文介绍 什么是ONVIF ?ONVIF规范描述了网络视频的模型、接口、数据类型以及数据交互的模式。并复用了一些现有的标准,如WS系列标准等。ONVIF规范的目标是实现一个网络视频框架协议,使不同厂商所生产的网络视频产品(包括摄录前端、录像设备等)完全互通。ONVIF规范描述了网络视频的模型、接口、数据类型以及数据交互的模式。并复用了一些现有的标准,如WS系列标准等。ONVIF规范的
ONVIF客户端搜索设备获取rtsp地址开发笔记(精华篇) 概要: 目前ONVIF协议家族设备已占据数字监控行业半壁江山以上,亲,作为开发者的你还在犹豫是否了解下吗?本文介绍了ONVIF客户端从设备搜索,鉴权,能力获取,媒体信息获取,URI地址获取的整套流程。文章只讲述了比较重要或其他博文没有讲述的开发点,详细可以参考文末参考文章。最后,能获得rtsp地址之后,然后去做其他功能比如录像,ptz这些就非常得心应手了。本文出自CSDN-固
图文详解YUV420数据格式 YUV格式有两大类:planar和packed。对于planar的YUV格式,先连续存储所有像素点的Y,紧接着存储所有像素点的U,随后是所有像素点的V。对于packed的YUV格式,每个像素点的Y,U,V是连续交*存储的。 YUV,分为三个分量,“Y”表示明亮度(Luminance或Luma),也就是灰度值;而“U”和“V” 表示的则是色度(Chrominance或Chro
sizeof strlen wcslen tcslen 比较 sizeof strlen wcslen tcslen 都是取得字符串长度。 sizeof :取得字符串的字节长度,包含 '/0'。strlen:取得多字节字符串中字符长度,不包含 '/0'。wcslen:取得宽字节字符串中字符长度,不包含 '/0'。tcslen:取得宽字节/多字节字符串中字符长度,不包含 '/0'。 例如: WCH
使用ffmpeg库编译错误undefined reference to `BZ2_bzDecompressInit' gcc -DNIGHT demo.c -lalgnight -lavcodec -lavdevice -lavfilter -lavformat -lavutil -lswresample -lswscale -lz -lm -o app./libffmpeg/lib/libavformat.a(matroskadec.o): In function `matroska_decode_bu
commands commence before first target makefile时常遇到这样的问题,汇总网上的原因如下:1. 上一行换行符号 \ 后面有空格2. 本行前面的空白有非法字符1)Makefile可能是以命令行开始:以[Tab]字符开始,但不是一个合法的命令行(例如,一个变量的赋值)。命令行必须和规则一一对应。 2)产生第二种的错误的原因可能是一行的第一个非空字符
全角字符unicode码对应表 Uni. GB Uni. GB Uni. GB Uni. GB Uni. GB 00A4 A1E8 ¤ 00A7 A1EC § 00A8 A1A7 ¨ 00B0 A1E3 ° 00B1 A1C0 ±00B7 A1A4 · 00D7 A1C1 × 00E0 A8A4 à 00E1 A8A2 á 00E8 A
点阵字库显示系列之二:GB2312点阵字库显示 免责声明: 本文是作者在研究过程中的一篇文章,本着互联网共享、自由(free,应该不是“免费”)之精神发布于此。作者才疏学浅,孤陋寡闻,能力有限,对文中出现的术语及概念的描述多有不当之处,由于本文并非学术报告及论文,不对这些概念性东西进行深入调研,如需权威性解释,请自行查阅相关文献。文中错误的地方,欢迎在文后留言,趁作者还有激情研究之时,大家一直探讨,共同学习,天天向上。
undefined reference to `png_create_write_struct'问题解决 由于系统原因,今天要重新编译QT,在编译PC版的qvfb的make步骤时,出现了如下错误:.obj/release-shared/qanimationwriter.o: In function `QAnimationWriter::QAnimationWriter(QString const&, char const*)':qanimationwriter.cpp:(.text+0xb
linux编译支持中文的ICONV及LIBXML zh1. SCO OpenServer、UnixWare下libxml2库的编译1.1. 编译libiconv 无论是OpenServer还是UnixWare,SCO的产品对于中文环境的支持都做得不是很好。虽然两者都提供了对iconv系列函数的实现,但能支持的字符集都相当有限,尤其是不能对gbk、gb18030等汉字字符集进行转换,给在XML中使用中文带来了困难。为此
FreeType 2 教程(一)——《The FreeType 2 Tutorial http://my.unix-center.net/~Simon_fu/?p=372http://my.unix-center.net/~Simon_fu/?p=385第一章 简易的字形装载介绍 这是“FreeType2 教程”的第一部分。它将教会你如何* 初始化库* 通过创建一个新的 face 对象来打开一个字体文件* 以点或
ARM开发板上iconv_open(“utf-8", "gb2312”) 调用失败的解决方法 ARM开发板上iconv_open("utf-8", "gb2312") 调用失败的解决方法应用程序代码如下:static int code_convert(char* from_charset, char* to_charset, char* inbuf, size_t inlen, char* outbuf, size_t outlen){ icon
FreeType2研究(转) 最近学习状态不佳,感觉什么都想做却什么也做不下去,浮躁之极。大的库一下子研究不下来,索性找一下小库来看看。游戏里面一般都涉及到文本、压缩、图像、脚本的概念,为了将来有机会研究游戏所以先下手这些小库,不求甚解只求用好。先从字体着手,FreeType字体作为一种字体文件编程开发包,广泛易用在游戏里面。网上汉语资料比较少,只能看它的faq。翻译了部分如下:FreeType 2 Lib
FreeType编译及使用心得收藏 FreeType是一款字体服务库,它支持多种字体,并且提供高效,高质量的文字。freetype相关介绍见:http://blog.csdn.net/ganxingming/archive/2006/06/05/774796.aspx1, 编译FreeType解压后进入./include/freetype,复制config到当前文件夹,随便去个什么名,这里我用custom_c
16/24点阵字库(经典) 比如汉字“中”的内码是0xd6d0,而他的区位码是5448.这个是怎么转换的呢?区位码不是内码减去0xa0a0吗?怎么算的呢?问题补充:找到答案了:汉字机内码、国标码和区位码三者之间的关系为: 区位码(十进制)的两个字节分别转换为十六进制后加20H得到对应的国标码; 机内码是汉字交换码(国标码)两个字节的最高位分别加1,即汉字交换码(国标码)的两个字节分别加80H
DM36x IPNC OSD显示中文 --- 实战篇 通过数据准备篇,将数据准备好后,其实剩下的工作已经很简单了,通过以下几个步骤即可把一个中文显示在OSD画面上:1. 使用SWOSD_setBmpchangeWinXYPrm函数设置好OSD显示坐标位置;2. 设置SWOSD_Hndl句柄中SWOSD_BmpWinPrm类型成员数组中对应的窗口的width,height,lineOffset对应的值,width是OSD窗口宽度,如果yuv数据
DM36x IPNC OSD显示中文 --- 基本数据准备篇 经过上一篇的叙述,基本原理搞清楚后,便需要对我们在OSD上显示中文作数据准备,首先是需要将gb2312关键区(也就是实际有文字存在的区)中的汉字转换为图片,在实际的转换中,并不像上一篇中GB2312编码转换为UNICODE描述一样,使用libiconv库中的iconv函数将94x94的gb2312编码表直接传递给iconv函数会转换失败(错误提示不完整的多字节字符或宽字符).为了简化这其中
dm368ipnc 重写架构中的swosd 实现中文osd zhuanzappro的ipnc中只实现了英文的osd叠加,就连小小的ascii码表都没有覆盖全,而且该swosd架构灰常凌乱。其实无非就是两个功能,一是叠加文字,而是叠加图片,由于考虑到兼容不同的分辨率的视频流,所以处理的分支相对校对。图片的叠加暂不实现,用途最多的是中文的叠加,实现中文osd叠加的方法也非常简单,如下:1、了解中文字库的分布,通过汉字的内码计算出
DM36x IPNC OSD显示中文 --- 基础知识篇 为了简单起见,只显示GB2312(简体中文)字符一、GB2312汉字编码1.区位码在国标GB2312—80中规定,所有的国标汉字及符号分配在一个94行、94列的方阵中,方阵的每一行称为一个“区”,编号为01区到94区,每一列称为一个“位”,编号为01位到94位,方阵中的每一个汉字和符号所在的区号和位号组合在一起形成的四个阿拉伯数字就是它们的“区位码”。区位码的前两位是它的区号,后两位是
Oracle VM VirtualBox对虚拟硬盘调整 将Oracle VM VirtualBox1、win+R,然后输入cmd回车,进入命令界面。2、cd至Oracle VM VirtualBox的安装目录。3、VBoxManage modifyhd “C:\Users\Administrator\VirtualBox VMs\centos\centos.vdi” –-resize 15360 回车后就将虚拟硬盘centos.
ubifs烧写到nand flash中的几种方法 折腾了好几天,突然柳暗花明,继而思之,发现原来是出门就走错了路,悲剧之余,写下此笔记,以省自己,警他人。正题,关于UBIFS的介绍在此就不多说,详见:http://www.linux-mtd.infradead.org/faq/ubifs.htmlhttp://www.linux-mtd.infradead.org/faq/ubi.html1. UBIFS文件系统镜
fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏 连接器LNK是通过调用cvtres.exe完成文件向coff格式的转换的,所以出现这种错误的原因就是cvtres.exe出现了问题。在电脑里面搜索一下cvtres.exe,发现存在多个文件,使用最新的cvtres.exe替换老的文件即可,替换之前记得备份一下,如果不对,可以替换回来。例如:我的电脑里面安装了vs2010,最近更新了系统,打了一些补丁,结果就出
kmalloc、vmalloc、malloc的区别 文章来源网址:http://blog.csdn.net/macrossdzh/article/details/5958368简单的说:kmalloc和vmalloc是分配的是内核的内存,malloc分配的是用户的内存kmalloc保证分配的内存在物理上是连续的,vmalloc保证的是在虚拟地址空间上的连续,malloc不保证任何东西(这点是自己猜测的,不一定正确)kmalloc
Linux内核中读写文件数据的方法 有时候需要在Linux kernel--大多是在需要调试的驱动程序--中读写文件数据。在kernel中操作文件没有标准库可用,需要利用kernel的一些函数,这些函数主要有: filp_open() filp_close(), vfs_read() vfs_write(),set_fs(),get_fs()等,这些函数在linux/fs.h和asm/uaccess.h头文件中声明。下面介绍主要步骤
linux内核文件读取 平时网络部分的东西碰的多些,这块一开始还真不知道怎么写,因为肯定和在用户空间下是不同的。google过后,得到以下答案。一般可以用两种方法:第一种是用系统调用。第二种方法是filp->open()等函数。下面分别来说下这两种方法。1 利用系统调用:sys_open,sys_write,sys_read等。其实分析过sys_open可以知道,最后调用的也是filp->open。
李开复:创业无奇迹 放弃成为下一个马化腾 李开复:创业无奇迹 放弃成为下一个马化腾 作者:李开复 【创业得先有激情】乔布斯:“很多人问我,我想创业该怎么做?我会问他:你的激情在那里?你的公司将做什么让你感到振奋的事情?大部分的回答都是:不知道。我就会告诉他:那你先去餐馆里端盘子,慢慢想,想清楚了再谈创业。我深深认为:如果你没有对某一件事情充满激情,你就不应该创业,绝不要为了创业而
自定义FPGA编程规范 参考:http://blog.csdn.net/lvwx369/article/details/98870412.1 变量命名2.1.1 wire型变量命名(1). Wire型变量定义如下:名词+动词+_Sig”_”的第一个字母大写,其它小写,用”_”隔开,按中文含义,直接翻译成english。 例如: VSync_Sig注:如果一个字母,可以直接贴着旁边的整个单词
Verilog HDL代码书写规范 信号命名规则 信号命名规则在团队开发中占据着重要地位,统一、有序的命名能大幅减少设计人员之间的冗余工作,还可便于团队成员代码的查错和验证。比较著名的信号命名规则当推Microsoft公司的“匈牙利”法,该命名规则的主要思想是“在变量和函数名中加入前缀以增进人们对程序的理解”。例如所有的字符变量均以ch为前缀,若是常数变量则追加前缀c。信号命名的整体要求为:命名字符具有一定的意义,直白易懂,
在用fwrite时最好配合fflush函数 今天在做将数据写到内存里时,用fopen、 fwirte函数时,发现最后的68个字节数据始终没有写进去: nDatTotalSize = 2338884 2338816 始终差68个字节,原来是没有注意fwrite是带缓冲的IO操作,要想写到磁盘里,得调用fflush函数即可。
struct stat 作用 转载地址: http://www.cnblogs.com/changefuture/archive/2011/12/22/2297716.htmlstruct stat 作用stat,lstat,fstat1 函数都是获取文件(普通文件,目录,管道,socket,字符,块()的属性。函数原型#include int stat(const char *restrict pathn
简单内存泄漏检测方法,解决Detected memory leaks!问题 转载地址:http://blog.csdn.net/redchairman/article/details/7052111工作环境:WIN7,VS2005:最近一个项目中,程序退出后,每次都出现内存泄漏,每次退出的时候泄露的内存块都是1654,1650。Detected memory leaks!Dumping objects ->{1654} normal block a
转义字符整理 警报 \a 退格符 \b 换页符 \f 换行符 回车符 \r Tab 符 \t 垂直 Tab 符 \v 使用数字指定的Unicode 字符,如\u2000 \u 使用十六进制数指定的Unicode 字符,如\xc8 \x 空值 \0 (1)\r 配合起来用\r换行 相当于回车新
eclipse安装 转载网址:http://www.linuxidc.com/Linux/2010-06/26796.htm本文介绍如何在Ubuntu 中安装JDK1.61、首先到这里去下载JDK1.6 Linux 的版本,我下载的是最新的jdk-6u20-linux-i586.bin;如果没有专门的下载工具的话,使用firefox 下载之后会保存在/home/username/下载/ .
[DM814x笔记]引脚复用配置 在TI814x设备中,复位时,默认的引脚复用配置被设置为Mode0(FUNCTION 1)。如果想将某些引脚配置成其他的功能而不是Mode0,或者说重载在U-Boot中已经设置好的引脚配置,内核需要重新配置。 引脚配置可以有两种方法:1、在arch/arm/mach-omap2/board-ti8148evm.c中的board_mux数组中添加特定的复用入口。比如在bo
通过文本修改对话框大小 一直都是直接通过拖动对话框大小和控件的大小,所见所得,不过有个缺陷是不精确,拖的时候只能是一个大概值今天发现原来可以用这种方法来解决:直接用文本打开.rc文件,直接修改里面的值,单位应该是按像素点来计算的纠正:对话框的长宽单位不是按像素点来计算 的,对话框资源中的尺寸数值是对话框单位(一种字体无关单位),不是像素,要转换成像素,可以借助于 MapDialogRect 来转换。
error C2146: 语法错误 : 缺少“;”(在标识符“PVOID64”的前面) 在做direcx时出现编译错误 error C2146: 语法错误 : 缺少“;”(在标识符“PVOID64”的前面)可以这么解决: 把winnt.h中的#include 修改成#include "basetsd.h"。经实验后,发现编译通过。
DirectX SDK 各版本开发包下载地址合集 DirectX SDK 各版本开发包下载地址合集PCHOME 下载http://download.pchome.net/search-0--directx----------1-1-3.htmlDirectX 8.0 SDK 开发包 2000-11-09http://download.microsoft.com/download/w
VC编程之标题栏和菜单 1.窗口最大最小化按纽的控制①怎样在程序开始的时候让它最大化?②vC++做出来的exe文件在窗体的右上方是没有最大化和最小化按钮的,怎样实现这一功能?③如何在显示窗口时,使最大化按钮变灰?解决办法:①在App类里的C…App::InitInstance()中把m_pMainWnd->ShowWindow(SW_SHOW)改成m_pMainWnd->S
VC编程规范 一、适用范围本标准适用于利用Visual C++,Borland C++进行软件程序开发的人员;利用Delphi进行软件开发的人员,可作相应的参考。二、基本原则2.1 基本要求1. 程序结构清晰,简单易懂,单个函数的程序行数不得超过100行。2. 打算干什么,要简单,直截了当,代码精简,避免垃圾程序。3. 尽量使用标准库函数和
VC++软件界面风格简单美化 原文地址: http://www.cnblogs.com/margin1988/archive/2012/05/04/2482834.html详细参考 http://pcedu.pconline.com.cn/empolder/gj/vc/0404/358979_2.htmlVC++软件界面风格简单美化为了让软件能在视觉上给用户带来一种清新的感觉,从而避免潜在的用户视觉
图像处理网站 关于数字图像处理的英文网站:Http://foulard.ee.cornell.edu Visual Communications Lab Http://sipi.usc.edu University of Southern California Signal and Image Processing Institute Http://www.cv.nrao.edu/aips
怎么从altera官网下载那款fpga芯片数据手册 你可以参考以下步骤看看: 1、打开altera官方网页,http://www.altera.com.cn; 2、在器件的菜单下选择FPGA; 3、选择你想找的FPGA系列; 4、在右边找到“获取文档资料”的链接,单击; 5、如此,对应型号的FPGA芯片数据手册就可以找到了。
如何在FPGA里烧写pof文件(存verilog工程) 如何在FPGA里烧写pof文件(存verilog工程)在建立好工程,编译和分配引脚之后,记得要在assignments->device->device and pin options里configuration选项卡里德configuraion里选择active serial,以及use configuration device里选择你的开发板上的配置芯片,我的是epcs4,然后再编译,就
简单的I2C协议理解 转载地址: http://www.cnblogs.com/yan0837/articles/1202374.html一. 技术性能: 工作速率有100K和400K两种; 支持多机通讯; 支持多主控模块,但同一时刻只允许有一个主控; 由数据线SDA和时钟SCL构成的串行总线; 每个电路和模块都有唯一的地址;
如何使用SignalTap II观察reg值? 在Altera提供的SignalTap II的tutorial中,大都强调trigger的使用,并且观察的都是wire,可是在实务上,常需要观察的是reg,如以下一个很简单的计数器Verilog1 module SignalTapII_register(2 CLOCK_50,3 RESET_n4 );5 6 input CLOCK_50;7 inpu
如何复制FPGA的引脚分配 转载地址:http://blog.csdn.net/xiangyuqxq/article/details/7263257搜索到两种方案:1.打开别人的工程,主菜单中export assignments引脚定义文件(*.qsf)到一个指定的文件夹,以后要用的时候直接import assignments这个文件就可以了!!提示是否把原来文件备份。打开pin planner即为已分配的引