自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 资源 (2)
  • 收藏
  • 关注

原创 久别的CSDN终于找回来了,爽歪歪!新建一个专业类别,IP网络传输

久别的CSDN终于找回来了,爽歪歪!新建一个专业类别,IP网络传输,用于记录工作后的技术问题

2013-03-24 23:08:47 562

转载 蝶形算法(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 4155

原创 VC界面程序中文字乱码问题

  有时用英文版的VC开发界面应用程序时,会出现中文字体乱码。。。。其实要中文字体正常显示很简单,只是你可能没发现这个设置项而已。现将设置说明下:首先进入资源编辑状态ResourceView—>然后选中有中文显示的界面项目(如对话框,菜单,窗口等)—>再从VC工程的菜单栏中的View项中找到属性Properties,点击弹出对话框,设置对话框里的Language项为:Chinese(P.R.C).

2010-12-20 15:45:00 9756 4

转载 X264码率控制流程分析

<br />X264码率控制流程分析2009-12-11 14:49码率控制的理论知识:<br /><br />码率控制的目的和意义:<br />图像通信中码率控制的目的:通过调节编码参数,控制单位时间内的编码视频流的数据量,以使产生的比特流符合各种应用的需求。视频压缩的效率和视频内容有很大的关系,对于变化多样的画面,视频编码的输出的码流变化较大,在信道环境不好的时候就容易导致解码端显示的质量的不稳定。<br /><br />率失真理论:<br />由于传输带宽和存储空间的限制,视频应用对压缩比有较高的要求

2010-12-11 11:48:00 1198

转载 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 1781

转载 风雨20年:我所积累的20条编程经验

20875

2010-11-17 14:47:00 474

转载 堆和栈

<br />堆和栈的区别 <br /><br />一、预备知识—程序的内存分配 <br />一个由C/C++编译的程序占用的内存分为以下几个部分 <br />1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 <br />操作方式类似于数据结构中的栈。 <br />2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回 <br />收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。 <br />3、全局区(静

2010-09-14 11:09:00 321

原创 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 860

原创 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 1371

原创 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 1216

原创 RTP协议--RR,SR,实例程序 并附有RTCP控制协议解释

RTCP控制协议       RTCP控制协议需要与RTP数据协议一起配合使用,当应用程序启动一个RTP会话时将同时占用两个端口,分别供RTP和RTCP使用。RTP本身并不能为按序传输数据包提供可靠的保证,也不提供流量控制和拥塞控制,这些都由RTCP来负责完成。通常RTCP会采用与RTP相同的分发机制,向会话中的所有成员周期性地发送控制信息,应用程序通过接收这些数据,从中获取会话参与者的相关资料,以及网络状况、分组丢失概率等反馈信息,从而能够对服务质量进行控制或者对网络状况进行诊断。RTCP协议的功能是通过

2010-08-11 11:35:00 10722 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 6458 1

原创 基于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 4131

原创 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 760

原创 #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 695

原创 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 7953

原创 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 1800

原创 C语言关键字volatile用法

  volatile的本意是“易变的” 由于访问寄存器的速度要快过RAM,所以编译器一般都会作减少存取外部RAM的优化,但有可能会读脏数据。当要求使用volatile 声明的变量的值的时候,系统总是重新从它所在的内存读取数据,即使它前面的指令刚刚从该处读取过数据。而且读取的数据立刻被保存。精确地说就是,优化器在用到这个变量时必须每次都小心地重新从内存里读取这个变量的值,而不是使用保存在寄存器里的备

2010-05-23 19:42:00 607

原创 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 358

转载 视频测试序列的下载地址

[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 2029 1

原创 焊接视频

http://v.youku.com/v_show/id_XNDI3MDQ2Njg=.html

2010-01-21 15:51:00 567

原创 色环电阻计算器_色环电感标示法_

色标标称电感量倍率精度第一色环第二色环黑01±20%棕110-红2100-橙31000-黄4

2010-01-21 15:44:00 3949

原创 电容精讲

 ##################################################什么是去耦电容?有什么用?一般般连接电源和地,而且是紧紧靠近电路的电源接入点,是用于滤除该部分电路因内部器件频繁开关对外部产生的传导干扰;特别数字电路,几乎所有的器件都处在高频的时序电平切换状态,于是对电源的产生频率很高的忽高忽低的电流需求,这样电流就形成了传导的脉冲干扰,对其

2010-01-21 15:42:00 460

转载 硬件电路设计(转载)

献给那些刚开始或即将开始设计硬件电路的人。 时光飞逝,离俺最初画第一块电路已有3年。刚刚开始接触电路板的时候,与你一样,俺充满了疑惑同时又带着些兴奋。在网上许多关于硬件电路的经验、知识让人目不暇接。像信号完整性,EMI,PS设计准会把你搞晕。别急,一切要慢慢来。1)总体思路。设计硬件电路,大的框架和架构要搞清楚,但要做到这一点还真不容易。有些大框架也许自己的老板、老师已经想好,自己只是把思

2010-01-21 15:37:00 2159

转载 几个硬件设计经验(转)

鸡毛蒜皮之一:成本节约       现象一:这些拉高/拉低的电阻用多大的阻值关系不大,就选个整数5K吧点评:市场上不存在5K的阻值,最接近的是4.99K(精度1%),其次是5.1K(精度5%),其成本分别比精度为20%的4.7K高4倍和2倍。20%精度的电阻阻值只有1、1.5、2.2、3.3、 4.7、6.8几个类别(含10的整数倍);类似地,20%精度的电容也只有以上几种值,如果选了其它的值

2010-01-21 15:35:00 448

转载 keil3 的光标及显示问题

一: 光标问题 Keil uv3 中会出现光标定位不准的问题,对程序员来说是个很大的困扰 修改方法:打开Keil文件夹下的Tool.ini文件做如下修改        NAME="User", "w"        EMAIL="a"        ANSI=1                 BOOK0="UV3/RELEASE_NOTES.HTM" ("uVision Release Note

2010-01-21 15:32:00 3200

转载 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 1743

转载 资源文件用法:res

 附:Delphi编程中资源文件的应用:初级应用篇  资源文件一般为扩展名为res的文件.在VC中资源文件用得非常普遍,但Delphi在其联机帮助中对资源文件没作什么介绍,其实利用其自带的资源编译工具BRCC32.EXE(一般位于/Delphi/BIN目录下),我们完全可以做出跟VC一样效果的文件来。    资源文件最大的好处是能将一些在必要时才调用的文件跟可执行文件一起编译,生成一个文件.这

2009-11-22 11:23:00 3076

原创 VC2005 VS VC2008 工程的相互转换

 一、2008打开2005,可以直接打开的,应该是没有什么问题的。 二、2005打开2008,当转换后发现工程无法加载,是什么原因呢???因为08和05的调用公共运行库和编译器版本不同,但是他们的工程文件配置格式还是一样的。首先,用记事本打开2008的解决方案文件(方案名.sln),如下信息:Microsoft Visual Studio Solution File, Format

2009-11-03 22:44:00 2900 1

转载 制作弹出式菜单

Lonkil : 很老的一篇关于菜单的文章,还是不错的。发出来吧!一、在资源编辑器中建立一个菜单资源新建一个菜单资源,比如把菜单的ID号为IDC_POPMENU。此菜单有一项两层,即有一个可弹出的菜单项,而此菜单项的弹出内容即为将要建立的弹 出式菜单的内容。如右图,“可弹出项”下的菜单即为将要建立的弹出式菜单的内容。实际上,“可弹出项”这个名称在以后的操作中不会被用到,但VC++5不 允许

2009-10-11 20:42:00 1078 1

转载 VC 调试入门

上一篇: 制作弹出式菜单下一篇: 一种简单实用的全屏方法VC调试入门概述调试是一个程序员最基本的技能,其重要性甚至超过学习一门语言。不会调试的程序员就意味着他即使会一门语言,却不能编制出任何好的软件。这里我简要的根据 自己的经验列出调试中比较常用的技巧,希望对大家有用。本文约定,在选择菜单时,通过/表示分级菜单,例如File/Open表示顶级菜单File的子

2009-10-11 20:38:00 327

转载 编程修养

最近发现自己写的代码质量越来越差,在网上找了一份文档,应该是前辈牛人所写,写的真的很不错,已经不知原作者是谁了,真的很报歉!  By Lonkil 什么是好的程序员?是不是懂得很多技术细节?还是懂底层编程?还是编程速度比较快?我觉得都不是。对于一些技术细节来说和底层的技术,只要看帮助,查资料就能找到,对于速度快,只要编得多也就熟能生巧了。我认为好的程序员应该有以下几方面的素质:1、有专研精

2009-10-11 20:33:00 317

转载 指针问题总结

这是一篇我所见过的关于指针的最好的入门级文章,它可使初学者在很短的时间内掌握复杂的指针操作。虽然,现在的JAVA、C#等语言已经取消了指针,但作为一个C++程序员,指针的直接操作内存,在数据操作方面有着速度快,节约内存等优点,仍是很多C++程序员的最爱。指针就像是一把良剑,就看你怎么去应用它!有关这篇文章的技术性问题你可以写信给我:[email protected].同时我的另外两篇相关

2009-10-11 20:29:00 344

转载 c和c++的复杂类型声明理解

c和c++的复杂类型声明理解曾经碰到过让你迷惑不解、类似于int * (* (*fp1) (int) ) [10];这样的变量声明吗?本文将由易到难,一步一步教会你如何理解这种复杂的C/C++声明。我们将从每天都能碰到的较简单的声明入手,然后逐步加入const修饰符和typedef,还有函数指针,最后介绍一个能够让你准确地理解任何C/C++声明的”右左法则”。需要强调一下的是,复杂

2009-10-11 20:24:00 389

原创 VC 工程改名小技巧

     VC 工程改名最直接最有效的办法,是重新建立一个空的工程,将所有.h,.cpp,.ico等一堆文件,重新导入到新的工程中去,这种方法是最彻底有效的一种方式。不过这个是不是麻烦了一点。有没有更有效间便一点的方式呢?      通过简单的文本替换即可。VC6工程文件有两个,一个是DSP,一个是DSW,DSW这个文件只是一个引子,文件中引用了 DSP。你在Alt+F7的工程属性中所作的设置

2009-10-11 19:12:00 4833 1

转载 用法总结 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 597

转载 在VC中编译、运行程序的小知识点

最近我抽空研究、整理了一下VC中几个以前比较模糊的问题,写成这篇短文,希望和碰到过类似问题的朋友共享。 如果我的理解有不正确的地方,欢迎大家指正。 文章的3、4小节参照了vcforever的专栏(http://blog.csdn.net/vcforever/archive/2004/12/14/215936.aspx)。其它信息来源于MSDN和自己的摸索。 1、Run-Time L

2009-09-24 11:54:00 331

转载 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 858

转载 VC EXE转DLL (转载)

在VC下把exe文件转换成DLL文件(1)2007-05-14 01:27/*******************************************************************************/本来打算是把两个*.dsp文件来对比着把一此重要的不同点标记出来的,便是后来发现如果把这些东西都贴出来也太多了,所以后面就把对两个*.dsp

2009-09-24 11:33:00 10753

H.264入门经典资料

H.264 学习必备资料,H.264白皮书 全面解析H.264编码标准,关键技术 不可多得的好东东啊

2009-09-12

ARM的指令手册(中文)

ARM的指令手册(中文), 轻松掌握ARM开发命令

2008-09-26

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除