
专业大杂烩
文章平均质量分 55
yanbdsky
这个家伙很懒的,不要打扰他哦
展开
-
VC EXE转DLL (转载)
在VC下把exe文件转换成DLL文件(1)2007-05-14 01:27/*******************************************************************************/本来打算是把两个*.dsp文件来对比着把一此重要的不同点标记出来的,便是后来发现如果把这些东西都贴出来也太多了,所以后面就把对两个*.dsp转载 2009-09-24 11:33:00 · 10862 阅读 · 0 评论 -
SAD和SATD的区别
<br /><br />·SAD和SATD的区别<br />Q:如果不用率失真最优化,为什么选择SATD+delta×r(mv,mode)作为模式选择的依据?为什么运动估计中,整象素搜索用SAD,而亚象素用SATD?为什么帧内模式选择要用SATD?<br /> <br />A:<br /> <br /> SAD即绝对误差和,仅反映残差时域差异,影响PSNR值,不能有效反映码流的大小。SATD即将残差经哈德曼变换的4×4块的预测残差绝对值总和,可以将其看作简单的时频变换,其值在一定程度上可以反映生成码原创 2010-06-04 19:09:00 · 8082 阅读 · 0 评论 -
#define用法总结
1. 定义简单的常数:定义常量,便于修改(切不可在后面加上分号!) #define N 1000 等效于 const int N = 1000; 但略有不同,define只是简单替换,而不是作为一个量来使用.<br />2. 定义简单的函数:注意多使用括号<br />define可以像函数那样接受一些参数,如下:<br />#define max(x,y) (x)>(y)?(x):(y);<br />这个定义就将返回两个数中较大的那个,看到了吗?因为这个“函数”没有类型检查,就好像一个函数模板似的,当然,它原创 2010-06-10 10:53:00 · 865 阅读 · 0 评论 -
DLL编程
<br />最简单的dll<br /> 开始写dll之前,你需要一个c/c++编译器和链接器,并关闭你的IDE。是的,把你的VC和C++ BUILDER之类的东东都关掉,并打开你以往只用来记电话的记事本程序。不这样做的话,你可能一辈子也不明白dll的真谛。我使用了VC自带的cl编译器和link链接器,它们一般都在vc的bin目录下。(若你没有在安装vc的时候选择注册环境变量,那么就立刻将它们的路径加入path吧)如果你还是因为离开了IDE而害怕到哭泣的话,你可以关闭这个页面并继续去看《VC++技术内幕原创 2010-08-06 10:22:00 · 791 阅读 · 0 评论 -
基于jrtplib的NAT穿透
<br />4 基于jrtplib的NAT穿透<br /> <br />4.1 NAT穿透的基础只是<br /> <br />有关于NAT穿透的基础知识<br /><br /><br />4.2 rtp/rtcp传输涉及到的NAT穿透<br /> <br /> rtp/rtcp传输数据的时候,需要两个端口支持。即rtp端口用于传输rtp数据,即传输的多媒体数据;rtcp端口用于传输rtcp控制协议信息。rtp/rtcp协议默认的端口是rtcp port = rtp port + 1 。详细的说,比如A原创 2010-08-06 10:56:00 · 4174 阅读 · 0 评论 -
RTP协议--RR,SR,实例程序 并附有RTCP控制协议解释
RTCP控制协议 RTCP控制协议需要与RTP数据协议一起配合使用,当应用程序启动一个RTP会话时将同时占用两个端口,分别供RTP和RTCP使用。RTP本身并不能为按序传输数据包提供可靠的保证,也不提供流量控制和拥塞控制,这些都由RTCP来负责完成。通常RTCP会采用与RTP相同的分发机制,向会话中的所有成员周期性地发送控制信息,应用程序通过接收这些数据,从中获取会话参与者的相关资料,以及网络状况、分组丢失概率等反馈信息,从而能够对服务质量进行控制或者对网络状况进行诊断。RTCP协议的功能是通过原创 2010-08-11 11:35:00 · 10876 阅读 · 2 评论 -
H.264的RTP封包和解包
<br /><br /> H264RTP封包方法(2010-02-20 10:08:08)转载<br />标签:杂谈分类:多媒体<br />可以通过生成SDP文件给播放器在指定端口接收数据播放,如果你不用动态调整编码器什么的就不用考虑另外发送RTCP. 而且RTCP必须自己实现RTSP服务结合起来用,没有实现RTSP服务,就谈不上实现RTCP. 具体H264字节流拆包和RTP封包方法如下<br />UINT MediaStreamH264::TransportData(PBYTE pData, UINT d转载 2010-08-11 10:32:00 · 6552 阅读 · 1 评论 -
VC 调试小记之--warning LNK4098: defaultlib "LIBC" conflicts with use of other libs; use /NODEFAULTLIB:library
<br />warning LNK4098: defaultlib "LIBC" conflicts with use of other libs; use /NODEFAULTLIB:library<br />LIBC.lib这是个很老的静态库了,现在已经不用了,可以排除这个警告:<br />Project->Setting->Link->Category:Input(选项)->Ignore libraries:LIBC.lib(填入排除的库)就可以了<br />原创 2010-08-17 15:05:00 · 1248 阅读 · 0 评论 -
NAL分析器程序源代码
<br /> <br />NAL分析器程序源代码<br /> <br />#include "stdio.h"<br />#include "stdlib.h"<br />#include "nalucommon.h"<br />//#####################################<br />//#本程序检查一个缓冲区里面有几个NALU #<br />//#输出每个NALU的类型到输出文件 # <br />//#输入为一个带有标记/NALU+标记/的文件#<br />//##原创 2010-08-20 14:52:00 · 1411 阅读 · 0 评论 -
C语言联合体union
<br />C语言中的联合体union在C/C++程序的编写中,当多个基本数据类型或复合数据结构要占用同一片内存时,我们要使用联合体;当多种类型,多个对象,多个事物只取其一时(我们姑且通俗地称其为“n 选1”),我们也<br />可以使用联合体来发挥其长处。首先看一段代码:union myun <br />{<br /> struct { int x; int y; int z; }u; <br /> int k; <br />}a; <br />int main() <br />{ <br />原创 2010-09-13 19:56:00 · 900 阅读 · 0 评论 -
堆和栈
<br />堆和栈的区别 <br /><br />一、预备知识—程序的内存分配 <br />一个由C/C++编译的程序占用的内存分为以下几个部分 <br />1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 <br />操作方式类似于数据结构中的栈。 <br />2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回 <br />收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。 <br />3、全局区(静转载 2010-09-14 11:09:00 · 349 阅读 · 0 评论 -
X264码率控制流程分析
<br />X264码率控制流程分析2009-12-11 14:49码率控制的理论知识:<br /><br />码率控制的目的和意义:<br />图像通信中码率控制的目的:通过调节编码参数,控制单位时间内的编码视频流的数据量,以使产生的比特流符合各种应用的需求。视频压缩的效率和视频内容有很大的关系,对于变化多样的画面,视频编码的输出的码流变化较大,在信道环境不好的时候就容易导致解码端显示的质量的不稳定。<br /><br />率失真理论:<br />由于传输带宽和存储空间的限制,视频应用对压缩比有较高的要求转载 2010-12-11 11:48:00 · 1242 阅读 · 0 评论 -
H.264 encoder.cfg的解析
<br />encoder.cfg的解析2010-05-16 14:04<br /># New Input File Format is as follows<br /># <ParameterName> = <ParameterValue> # Comment<br /># See configfile.h for a list of supported ParameterNames<br />####################################################转载 2010-12-11 10:26:00 · 1818 阅读 · 0 评论 -
风雨20年:我所积累的20条编程经验
20875转载 2010-11-17 14:47:00 · 507 阅读 · 0 评论 -
C语言关键字volatile用法
volatile的本意是“易变的” 由于访问寄存器的速度要快过RAM,所以编译器一般都会作减少存取外部RAM的优化,但有可能会读脏数据。当要求使用volatile 声明的变量的值的时候,系统总是重新从它所在的内存读取数据,即使它前面的指令刚刚从该处读取过数据。而且读取的数据立刻被保存。精确地说就是,优化器在用到这个变量时必须每次都小心地重新从内存里读取这个变量的值,而不是使用保存在寄存器里的备原创 2010-05-23 19:42:00 · 643 阅读 · 0 评论 -
C语言关键字const用法
关于C++中的const关键字的用法非常灵活,而使用const将大大改善程序的健壮性,现将本人的一些体会总结如下,期望对大家有所帮助: 一 const基础如果const关键字不涉及到指针,我们很好理解,下面是涉及到指针的情况: int b = 500;const int* a = &b; [1]int const *a = &b; [2]int* const a = &b原创 2010-05-23 20:13:00 · 1846 阅读 · 0 评论 -
Delph EXE 转DLL
1.生成或打开工程文件(.DPR) 2.选择VIEW菜单的 Project Manager 子菜单,选中PROJECTGROUP,点击NEW按纽新建一个.dll文件; 3.存盘,改变工程组和.DLL文件的名称,存盘成功后到目前为止已经生成了一个工程组,这个组由.dll和.exe组成; 4.把EXE工程文件中的所有.pas文件加入到DLL工程中:点击工具栏上的此按纽 。 5..打开工程组文件可转载 2009-09-24 11:46:00 · 898 阅读 · 0 评论 -
在VC中编译、运行程序的小知识点
最近我抽空研究、整理了一下VC中几个以前比较模糊的问题,写成这篇短文,希望和碰到过类似问题的朋友共享。 如果我的理解有不正确的地方,欢迎大家指正。 文章的3、4小节参照了vcforever的专栏(http://blog.youkuaiyun.com/vcforever/archive/2004/12/14/215936.aspx)。其它信息来源于MSDN和自己的摸索。 1、Run-Time L转载 2009-09-24 11:54:00 · 369 阅读 · 0 评论 -
用法总结 static_cast、dynamic_cast、reinterpret_cast、和const_cast
static_cast、dynamic_cast、reinterpret_cast、和const_cast[ 2007-02-19 13:11:28 | 作者: Admin ] 字体大小: 大 | 中 | 小 关于强制类型转换的问题,很多书都讨论过,写的最详细的是C++ 之父的《C++ 的设计和演化》。最好的解决方法就是不要使用C风格的强制类型转换,而是使用标准C++的类型转换符:st转载 2009-10-06 11:08:00 · 629 阅读 · 0 评论 -
c和c++的复杂类型声明理解
c和c++的复杂类型声明理解曾经碰到过让你迷惑不解、类似于int * (* (*fp1) (int) ) [10];这样的变量声明吗?本文将由易到难,一步一步教会你如何理解这种复杂的C/C++声明。我们将从每天都能碰到的较简单的声明入手,然后逐步加入const修饰符和typedef,还有函数指针,最后介绍一个能够让你准确地理解任何C/C++声明的”右左法则”。需要强调一下的是,复杂转载 2009-10-11 20:24:00 · 436 阅读 · 0 评论 -
编程修养
最近发现自己写的代码质量越来越差,在网上找了一份文档,应该是前辈牛人所写,写的真的很不错,已经不知原作者是谁了,真的很报歉! By Lonkil 什么是好的程序员?是不是懂得很多技术细节?还是懂底层编程?还是编程速度比较快?我觉得都不是。对于一些技术细节来说和底层的技术,只要看帮助,查资料就能找到,对于速度快,只要编得多也就熟能生巧了。我认为好的程序员应该有以下几方面的素质:1、有专研精转载 2009-10-11 20:33:00 · 352 阅读 · 0 评论 -
VC 工程改名小技巧
VC 工程改名最直接最有效的办法,是重新建立一个空的工程,将所有.h,.cpp,.ico等一堆文件,重新导入到新的工程中去,这种方法是最彻底有效的一种方式。不过这个是不是麻烦了一点。有没有更有效间便一点的方式呢? 通过简单的文本替换即可。VC6工程文件有两个,一个是DSP,一个是DSW,DSW这个文件只是一个引子,文件中引用了 DSP。你在Alt+F7的工程属性中所作的设置原创 2009-10-11 19:12:00 · 4888 阅读 · 1 评论 -
指针问题总结
这是一篇我所见过的关于指针的最好的入门级文章,它可使初学者在很短的时间内掌握复杂的指针操作。虽然,现在的JAVA、C#等语言已经取消了指针,但作为一个C++程序员,指针的直接操作内存,在数据操作方面有着速度快,节约内存等优点,仍是很多C++程序员的最爱。指针就像是一把良剑,就看你怎么去应用它!有关这篇文章的技术性问题你可以写信给我:webmaster@chinahai.com.同时我的另外两篇相关转载 2009-10-11 20:29:00 · 370 阅读 · 0 评论 -
制作弹出式菜单
Lonkil : 很老的一篇关于菜单的文章,还是不错的。发出来吧!一、在资源编辑器中建立一个菜单资源新建一个菜单资源,比如把菜单的ID号为IDC_POPMENU。此菜单有一项两层,即有一个可弹出的菜单项,而此菜单项的弹出内容即为将要建立的弹 出式菜单的内容。如右图,“可弹出项”下的菜单即为将要建立的弹出式菜单的内容。实际上,“可弹出项”这个名称在以后的操作中不会被用到,但VC++5不 允许转载 2009-10-11 20:42:00 · 1121 阅读 · 1 评论 -
VC2005 VS VC2008 工程的相互转换
一、2008打开2005,可以直接打开的,应该是没有什么问题的。 二、2005打开2008,当转换后发现工程无法加载,是什么原因呢???因为08和05的调用公共运行库和编译器版本不同,但是他们的工程文件配置格式还是一样的。首先,用记事本打开2008的解决方案文件(方案名.sln),如下信息:Microsoft Visual Studio Solution File, Format原创 2009-11-03 22:44:00 · 2935 阅读 · 1 评论 -
资源文件用法:res
附:Delphi编程中资源文件的应用:初级应用篇 资源文件一般为扩展名为res的文件.在VC中资源文件用得非常普遍,但Delphi在其联机帮助中对资源文件没作什么介绍,其实利用其自带的资源编译工具BRCC32.EXE(一般位于/Delphi/BIN目录下),我们完全可以做出跟VC一样效果的文件来。 资源文件最大的好处是能将一些在必要时才调用的文件跟可执行文件一起编译,生成一个文件.这转载 2009-11-22 11:23:00 · 3179 阅读 · 0 评论 -
X-MODEM协议
介绍X-MODEM协议研究Xmodem协议必看的11个问题" f) G, o" g. p/ I- }8 U- YXmodem协议作为串口<span class="t_tag" onclick="function onclick(){tagshow(event)}">数据传输主要的方式之一,恐怕只有做过bootloader的才有机会 接触一下,网上有关该协议的内容要转载 2009-11-23 15:21:00 · 1794 阅读 · 0 评论 -
视频测试序列的下载地址
[2009-5-13]视频测试序列的下载地址 1、http://www.tkn.tu-berlin.de/research/evalvid/ CIF: Akiyo、Bridge (far) 、Bridge (close) 、Bus 、Container 、Coastguard 、Flower 、Fo转载 2010-05-07 11:16:00 · 2468 阅读 · 1 评论 -
H.264简单总结
3<a onclick="function onclick(){function onclick(){diggit(37041);}}" href="javascript:void(null)">推荐H.264简单总结(quan整理)一、视频信息和信号的特点 1.1直观性 利用人的视原创 2010-05-23 19:38:00 · 394 阅读 · 0 评论 -
蝶形算法(H.264)
蝶形算法(H.264)<br />视频编码2009-10-27 09:01:15阅读379评论0 字号:大中小 订阅<br /> <br /> 为什么要进行变换<br />空间图像数据通常是很难压缩的:相邻的采样点具有很强的相关性(相互关联的),而且能量一般平均分布在一幅图像中,从而要想丢掉某些数据和降低数据精度而不明显影响图像质量,就要选择合适的变换,方法,使图像易于被压缩。适合压缩的变换方法要有这样几个性质:<br />1、可以聚集图像的能量(将能量集中到少数有意义的数值上);如下图:<br /><b转载 2011-03-17 22:57:00 · 4259 阅读 · 0 评论