自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 资源 (6)
  • 收藏
  • 关注

原创 C++纯虚函数

代码:#include <iostream>class Pet {public: virtual void speak() = 0; virtual void eat() = 0;};class Dog : public Pet {public: void speak() { std::cout<<"speak"<<std::endl; }

2017-02-18 10:14:36 315

原创 onPreviewFrame

onPreviewFrame里是标准的NV21格式的数据,是不会有问题的。

2016-12-17 15:44:07 3428

原创 error C2146: syntax error : missing ')' before identifier 'PRId64'

libavutil/timestamp.h报错:error C2146: syntax error : missing ')' before identifier 'PRId64'error C2059: syntax error : ')'解决方法: 在timestamp.h中加入下面代码#define INT64_C(val) val##i64#define _64BITARG_ "I64

2016-08-27 15:30:17 4877 2

原创 混音算法

newlc上关于PCM脉冲编码的音频信号的混音实现: If both A and B are negative Y = A + B - (A * B / -(pow(2,n-1) -1))) Else Y = A + B - (A * B / (pow(2,n-1) -1)) 对于16bit的PCMif( data

2016-08-26 15:31:52 3933

转载 实时视频应用之QoS关键技术分析

随着WebRTC标准的逐步推广,实时音视频通讯技术受到越来越多公司和技术人员的关注。对于交互式音视频应用而言,稳定、低延时、通话质量清晰可靠是其基本需求。在互联网环境下,音视频的通话质量与以下因素有关:一是编码码率、帧率和分辨率等编码因素;二是网络的接入类型和接入设备性能;三是对丢包、抖动、乱序以及网络拥塞的自适应调整能力,即QoS(Quality of Service,服务质量)。容联云通讯是国内

2016-08-15 00:16:58 1229

转载 static

static在C和C++中的作用是不一样的。C中的static:static全局变量一个进程的全局变量被声明为static之后,它的中文名叫静态全局变量。静态全局变量和其他的全局变量的存储地点并没有区别,都是在.data段(已初始化)或者.bss段(未初始化)内,但是它只在定义它的源文件内有效,其他源文件无法访问它。static局部变量static局部变量中文名叫静态局部变量。它与普通的局部变量比起

2016-08-08 14:10:02 318

转载 欢迎使用CSDN-markdown编辑器

inline函数 关键字inline必须与函数定义体放在一起才能使函数成为内联,仅将inline放在函数声明前面不起任何作用。# 定义在类声明之中的成员函数将自动地成为内联函数class A {public: void foo() {} //自动成为inline函数};更好的风格应该是://头文件class A {public: void foo();};//

2016-08-06 14:39:54 226

原创 gcc优化等级-O0 -O1 -O2 -Os -O3

gcc原文网址:https://gcc.gnu.org/onlinedocs/gcc-3.4.6/gcc/Optimize-Options.html#Optimize-Options-O-O1Optimize. Optimizing compilation takes somewhat more time, and a lot more memory for a large functio

2016-02-17 14:38:42 5565

原创 python:ImportError: No module named dpkt

问题描述:ImportError: No module named dpkt解决方法:sudo apt-get install python-dpkt

2015-12-01 09:55:24 3692 1

转载 网络模拟器WANem的使用

在公司实验室模拟真实网络环境往往需要借助一些网络模拟工具,我所了解的网络模拟工具有IP Cloud,Pagent(Cisco),NistNet (open source), WANemu (open source).这四个网络模拟工具我都用过。但用的比较多的是后两个免费的工具。NistNet使用的人较多,但是WANemu使用的人比较少。今天我就给大家介绍下如果实现WANemu来模拟网络环境。

2015-07-06 09:40:59 6711

转载 assert()函数用法总结

assert宏的原型定义在中,其作用是如果它的条件返回错误,则终止程序执行,原型定义:#include assert.h>void assert( int expression );  assert的作用是现计算表达式 expression ,如果其值为假(即为0),那么它先向stderr打印一条出错信息,然后通过调用 abort 来终止程序运行。请看下面的程序清单badptr.

2013-05-10 13:49:50 431

原创 matlab导出txt

实例:导出的txt是x的值和对应的y值在一行显示x = 0:.1:1;y = [x; exp(x)];fid = fopen('exp.txt', 'wt');fprintf(fid, '%6.2f %12.8f\n', y);fclose(fid); 导出的txt文档是先全部输出xu1变量(分一列输出),再全部输出xu2变量(分一列输出):fprintf(fid,'%6

2012-09-07 16:21:52 2865

转载 30岁以上的工程师

恭喜,你选择开发工程师做为自已的职业! 悲哀,你选择开发工程师做为自已的职业! 本文所指的开发工程师,仅指程序开发人员和以数字电路开发为主的电子工程师。当你 选择计算机或者电子、自控等专业进入大学时,你本来还是有机会从事其它行业的,可 你毕业时执迷不悟,仍然选择了开发做为你的职业,真是自做孽不可活。不过,欢迎你 和我一样加入这个被其它人认为是风光无限的“白领”吧。如果你

2012-09-07 09:05:34 3593

转载 H.264中IDR帧和I帧区别

IDR(Instantaneous Decoding Refresh)--即时解码刷新。      I和IDR帧都是使用帧内预测的。它们都是同一个东西而已,在编码和解码中为了方便,要首个I帧和其他I帧区别开,所以才把第一个首个I帧叫IDR,这样就方便控制编码和解码流程。IDR帧的作用是立刻刷新,使错误不致传播,从IDR帧开始,重新算一个新的序列开始编码。而I帧不具有随机访问的能力,这个功能是由

2012-09-07 08:31:09 2361

转载 Visual studio内存泄露检查工具--BoundsChecker

BoundsChecker是一个Run-Time错误检测工具,它主要定位程序在运行时期发生的各种错误。              BoundsChecker能检测的错误包括:1)指针操作和内存、资源泄露错误,比如:内存泄露;资源泄露;对指针变量的错误操作。2)内存操作方面的错误,比如:内存读、写溢出;使用未初始化的内存。   3)API函数使用错误。使用Bounds

2012-08-16 17:28:02 2629 1

转载 DLL初学者指南

我正在学习DLLs,谈不上对其有什么高屋建瓴的见解;本文只是(通过)编码让你看到并想知道代码是如何运行的。在本文中,我假定你知道如何使用你的编译器特性,比如设置目录路径等等。为了建立项目,请选择Win32 控制台项目(Win32 Console Application),并且在应用程序设置标签(the advanced tab)上,选择DLL和空项目选项。DLLs可能并不如你想像的那样难。

2012-08-10 09:59:51 502

转载 软件版本命名及名词解释

Window 下的版本号管理策略:1.项目初版时,版本号为 1.0 或 1.00;2. 当项目在进行了局部修改或 bug 修正时,主版本号和子版本号都不变,修正版本号加 1;3. 当项目在原有的基础上增加了部分功能时,主版本号不变,子版本号加 1,修正版本号复位为 0,因而可以被忽略掉;4. 当项目在进行了重大修改或局部修正累积较多,而导致项目整体发生全局变化时,主版本号加 1;

2012-07-27 16:07:09 1256

转载 make install

./configure是用来检测你的安装平台的目标特征的。比如它会检测你是不是有CC或GCC,并不是需要CC或GCC,它是个shell脚本。make是用来编译的,它从Makefile中读取指令,然后编译。make install是用来安装的,它也从Makefile中读取指令,安装到指定的位置。AUTOMAKE和AUTOCONF是非常有用的用来发布C程序的东西。如果你也写程序

2012-07-27 14:12:16 2293

转载 DLL2LIB, .A 提取库文件

在Visual C++环境中: 一、使用pexports或微软自带的dumpbin.exe导出dll的DEF文件:         pexports dll-file > def-file         dumpbin /EXPORTS dll-file > def-file     通过dumpbin产生的def文件,需要手工修改成符合DEF格式,如:         LI

2012-07-23 10:21:09 2677

原创 生成“cmd.exe”时出错

Visual Studio 2008调试程序时提示"生成“cmd.exe”时出错". 解决方法:直接Visual Studio 2008中进行如下设置:tools= > Options = > Projects and Solutions - > VC++ Directories page  (工具=》选项=》VC++目录)把$(PATH)改成:$(SystemRoot)\Sy

2012-07-19 16:59:46 557

转载 vs2008编译最新版x264(2011)

有时间写个笔记,记录下vs2008编译最新版x264(2011),毕竟最新版x264在vc上的编译现在看来还是很难的,网上能编译出来的估计也没多少人,需要自己建工程一个一个把文件添加进去,主要是有c99语法,还要熟悉linux等。    X264更新的比较快,每天都有更新,特别是在2011年后,基本结构与之前的还是有比较大的变化,主要是在输入和输出这块。x264都是用C语言写的包括C99,但C

2012-07-18 14:56:26 2812 2

转载 移植最新版x264到vs2008(2012)

最新的x264已经没有提供windows版的可编译工程,要把它移植到vs开发环境下面有很多的工作要做。简要叙述如下:1.从官网上下载最新的x264代码,我下载代码是2012年的版本x264-snapshot-20120108-2245。2.把所有的代码添加到微软的VS2008的开发环境里面,编译。这时候,你会发现有很多编译错误,注意先不要加汇编。  这些编译错误,总的来说,主要是由两类

2012-07-18 10:17:22 2094 1

原创 yasm和nasm

yasm的官方地址:http://yasm.tortall.net/Download.html。使用很简单:将下载下来的yasm-1.2.0-win32.exe重命名为yasm.exe,放到D:\Program Files\Microsoft Visual Studio 9.0\VC\bin目录下即可。nasm的官方地址:http://www.nasm.us/ 网上有一种说法:"Y

2012-07-18 10:04:27 12889

转载 MingW安装

在MingW官方网站http://www.mingw.org/下载在线安装文件,双击安装,会出现安装界面和可选的安装文件。我是在D盘完全安装的。环境的配置,其实Mingw安装完成后,在D盘上会出现MinGW的文件夹,里面有bin, include, lib等文件夹,配置环境即可。第一步:单击“开始”-->“我的电脑”-->“高级”-->“环境变量”出现环境变量配置框。第二步:新建“

2012-07-11 16:12:57 693

转载 C++中static的作用

C++的static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static。前者应用于普通变量和函数,不涉及类;后者主要说明static在类中的作用。  一、面向过程设计中的static   1、静态全局变量   在全局变量前,加上关键字static,该变量就被定义成为一个静态全局变量。我们先举一个静态全局变量的例子,如下:   //Ex

2012-02-22 11:18:47 309

转载 C中static的作用

在C语言中,static的字面意思很容易把我们导入歧途,其实它的作用有三条。(1)先来介绍它的第一条也是最重要的一条:隐藏。当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。为理解这句话,我举例来说明。我们要同时编译两个源文件,一个是a.c,另一个是main.c。下面是a.c的内容char a = 'A'; // global va

2012-02-22 11:08:45 296

转载 堆和栈的区别

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

2011-12-08 19:53:48 331

转载 Linux编程经典书籍推荐

首先要说讲述TCP/IP的书很多,其中有3泰书很全。分别是《TCP/IP详解》三卷本,《用TCP/IP进行网际互连》三卷本,《TCP/IP指南》+《IPv6》四卷本其中TCP/IP详解的作者还写了另外2本经典著作,《Unix环境高级编程》,《Unix网络编程》作者W.Richard Stevens个人网站  http://www.kohala.com/大师作品部部经

2011-11-28 21:42:38 364

转载 详谈各种Linux发行版本优缺点

Linux最早由Linus Benedict Torvalds在1991年开始编写。在这之前,Richard Stallman创建了Free Software Foundation(FSF)组织以及GNU项目,并不断的编写创建GNU程序(此类程序的许可方式均为GPL: General Public License)。在不断的有杰出的程序员和开发者加入到GNU组织中后,便造就了今天我们所看到的Lin

2011-11-14 13:08:00 391

ISO_IEC_14496-12_2015.pdf

MP4_ISO_IEC_14496-12_2015.pdf

2018-01-04

The OpenCL Programming Book.pdf

学习OpenCL,绝对强力推荐,不会让你失望。 OpenCL is still in its infancy, and thus not every need can be fulfilled. We write this book in hopes that the readers of this book learns, uses, and contribute to the development of OpenCL, and thus become part of the ongoing evolution that is this multi-core era.

2012-03-13

面向多视点视频编码的宏块级码率控制

联合视频专家组针对多视点视频编码提}fl TJMVM参考模型,但该模型没有给出有效的码率控制方案.该文提出一种多视点视频编码码率控制算法,分4层进行比特分配和码率控制.先根据相关性函数在视点间合理分配码率实现GOP(group of pictures)层的比特分配,然后根据分层B图像比特分配策略实现帧层的比特分配,最后根据拉普拉斯 率失真模型实现宏块层的码率控制.与JMVC 1.0相比,该算法能在保持图像质量的前提下进行精确的比特分配和码率控制。

2011-01-07

基于VC++的带通滤波器的设计与实现

文章介绍了ⅡR数字滤波器的计算机辅助设计的思想与步骤。以一个数字带通滤波器为例,着重说明了基于VC++的实现手段:模拟——数字转换法实现巴特沃思滤波器。程序在VC++环境中调试通过,设计快捷方便,应用于辅助教学效果显著。

2010-04-13

空空如也

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

TA关注的人

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