自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(117)
  • 资源 (21)
  • 收藏
  • 关注

翻译 x264运动估计的1/2像素和1/4像素搜索

static uint8_t *get_ref( uint8_t *src[4], int i_src_stride,                         uint8_t *dst,    int * i_dst_stride,

2011-08-29 13:23:48 7626 2

原创 x264运动估计宏块cost值的计算

一、 x264运动估计中宏块的位移cost计算:/* lambda = pow(2,qp/6-2) */const byte x264_lambda_tab[52] = {   1, 1, 1, 1, 1, 1, 1, 1,  /*  0-7 */   1,

2011-08-19 13:28:08 1614 1

转载 Xvid编码

xvid有两种编码方式:single pass和twopass single pass模式编码简单,速度也快,但最终效果不如twopass。 twopass就是视频压制需要经过两次编码,分别为twopass-1st pass(简称1pass)和twopass-2nd pass(简称2pass) 1pass时,编码器会用最高质量编码采集可供第2次运算参考的画面信息,而在2 pass时。编码器会根据第

2011-06-26 00:00:00 1477 1

转载 在vs2008中编写dll如何生成lib文件

1 在Visual C++ 里面选择Win32,新建一个Win32 Project工程,名称为mydll2 在Application Settings窗口,Application type中选择 DLL; additional options中选择Empty project。点击完成3 新建mydll.cpp和mydll.h两个文件4 在mydll.h里面添加代码:extern "C"  _dec

2011-06-20 18:00:00 1353

转载 align指令

      align指令可以用于设置各种内置类型、自定义类型如struct、union或class的的对齐方式。指令格式为: __declspec(align( # )) ,#是对齐值,取值为2的1次方至2的8192次方。在声明自定义类型或内置变量时,如果指定了对齐值,则对应变量的起始地址必须是该值的整数倍。除此外,它还会影响结构体的大小。总结公式为:sizeof(structure) =

2011-06-17 14:02:00 1889

转载 x264_scan8

 x264_scan8分析? 看到有好几次,有朋友问到x264_scan8这个表格储存的是什么资料。开始的时候,的确让人费解,越看越糊涂。在很多地方都直接或者间接通过这个表格来保存资料。比如:h->mb.cache.intra4x4_pred_mode[x264_scan8[0] - 8] = h->mb.intra4x4_pred_mode[i_top

2011-06-15 17:54:00 1132

转载 X264的x264_scan8变量

对于x264中的x264_scan8结构不是很理解,看到了一个很好的介绍文章,转载如下,从其中可以看到在x264中用到的一些结构的内部数据排序,如Intra4*4_pred_mode_cache[],Non_zero_count_cache[48]等,也就理解了x264_scan8的用途,是作为一个数据的映射表而存在,见下面的内容 int8_t intra4x4_pred_mode_cac

2011-06-15 17:47:00 1852

转载 H.264参考帧管理

H264中允许从多至15个帧里面选择1帧或者2帧出来作为参考进行预测,所以必须引入一个列表来管理这些参考图像,对 与P slice而言,对应 list0,对于 B slice 而言,还需要多一个 list1,因为 B slice 是进行的两次预测!(一个前向一个后向/两个前向/两个后向) 参考帧分为 long term / short term 两种,即所谓的长期参考帧和短期参考帧。其中长

2011-06-09 16:24:00 2039

转载 avi文件格式详解

AVI是音频视频交错(Audio Video Interleaved)的英文缩写,它是Microsoft公司开发的一种符合RIFF文件规范的数字音频与视频文件格式,原先用于Microsoft Video for Windows (简称VFW)环境,现在已被Windows 95/98、OS/2等多数操作系统直接支持。AVI格式允许视频和音频交错在一起同步播放,支持256色和RLE压缩,但AVI文件并

2011-06-06 18:13:00 1385

转载 swf文件格式说明书(中文+英文)

SWF文件头  字段                类型                     备注 标识                8位                   标识字节:                                           F代表未压缩                                       

2011-06-06 18:02:00 829

转载 x264_param_t

<br />typedef struct x264_param_t<br />{<br />    /* CPU 标志位 */<br />    unsigned int cpu;<br />    int         i_threads;       /* 并行编码多帧 */<br />    int         b_deterministic; /*是否允许非确定性时线程优化*/<br />    int         i_sync_lookahead; /* 线程超前缓冲 */<br /><

2011-05-26 10:26:00 988

转载 x264_mb_predict_mv_16x16

x264_mb_predict_mv_16x16<br />由于色度块帧间预测使用的是相应亮度块的运动矢量,所以视频解码中只需要对亮度块的运动矢量进行预测。一个亮度块E和它相邻亮度8×8块A、B、C和D之间的空间位置如图1所示。E的大小可以是16×16、16×8、8×16或8×8。A、B、D都是与E的左上角样本紧邻的块,C是与E的右上角样本紧邻的块。<br />图1中,A、B、C、D的原始运动矢量分别为mvA、mvB、mvC、mvD,对应的BlockDistance分别为BlockDistanceA、Blo

2011-05-25 14:23:00 1127

转载 关于TS流的解析

<br />TS即是"Transport Stream"的缩写。他是分包发送的,每一个包长为188字节。在TS流里可以填入很多类型的数据,如视频、音频、自定义信息等。他的包的结构为,包头为4个字节,负载为184个字节(这184个字节不一定都是有效数据,有一些可能为填充数据)。工作形式:<br />因为在TS流里可以填入很多种东西,所以有必要有一种机制来确定怎么来标识这些数据。制定TS流标准的机构就规定了一些数据结构来定义。比如: PSI(Program Specific Information)表,所以解析

2011-05-10 16:14:00 652

转载 BMP图片的文件结构

<br />BMP文件的数据在磁盘上是按以下顺序存储的:<br />[位图文件头TBitmapFileHeader][位图信息头TBitmapInfo][图象数据BGRA]<br />每段的具体内容如下:<br />TBitmapFileHeader= packed record<br />    bfType: Word;               //占2位,文件标识‘BM’<br />    bfSize: DWORD;             //占4位,用字节表示的整个文件的大小<br />  

2011-05-05 16:22:00 660

转载 C/C++读写文件小结

C/C++读写文件小结<br />因为工作需要,最近到处摘抄C/C++关于读写文件的例子,这里留个小结,以备后用。<br />读文件的流程是大致是如此的:<br />建立一个操作文件的指针 *fd => 用某种方式(读/写/读写/追加等等)打开文件 => 对文件做相应的操作。<br />示例文件名为readtxt.txt,同程序置于相同目录下。文件内容为:<br />hello,world<br />my name is rf0007 <br /> 纯C的读文本文件<br />定义一个文件指针<br />F

2011-05-03 13:36:00 844

转载 CUDA编程——纹理

<br />【IT168 文档】(一)纹理属性<br />(二)纹理拾取函数<br />(三)拾取纹理内存与读取全局或常量内存相比的优点<br />(一)纹理属性<br />  纹理可以在线性内存或是CUDA数组(纹理内存)的任何区域。所以纹理拾取也就对存在与线性内存或CUDA数组中的纹理读取数据。<br />  共用运行组件(既可以运行在host又可以运行在设备)中给出了纹理类型texture。纹理拾取的第一个参数就是纹理参考,纹理参考定义要拾取哪部分纹理内存,它必须通过宿主运行时(只运行在宿主上)函数绑

2011-04-28 12:29:00 1022

转载 windows下正确配置CUDA 4.0环境并在Visual Studio 2008中新建工程

<br />CUDA 4.0 已经发布了RC版本,处于网友与新人的要求,我讲解下如何配置环境与工程的问题。要完整的使用CUDA 4.0功能与开发工具,建议使用windows 7 64bit或者windows 2008 R2 64bit系统。我的电脑是win7。<br />首先登陆到NVIDIA的开发者页面下载最新的驱动、toolkit、SDK与新增的tools SDK安装文件。<br /> <br />首先安装驱动<br /> <br />需要注意的是在安装过程中建议勾选"Perform a clean i

2011-04-27 22:28:00 961

转载 GPU优化方法

<br />CUDA优化的最终目的是:在最短的时间内,在允许的误差范围内完成给定的计算任务。在这里,“最短的时间”是指整个程序运行的时间,更侧重于计算的吞吐量,而不是单个数据的延迟。在开始考虑使用GPU和CPU协同计算之前,应该先粗略的评估使用CUDA是否能达到预想的效果,包括以下几个方面:CUDA优化的最终目的是:在最短的时间内,在允许的误差范围内完成给定的计算任务。在这里,“最短的时间”是指整个程序运行的时间,更侧重于计算 的吞吐量,而不是单个数据的延迟。在开始考虑使用GPU和CPU协同计算之前,应

2011-04-26 22:29:00 1490

转载 求模 求余

<br />无意中看到CSDN中的一个帖子,有人回帖说“求模就是求余”!!!心中生疑,看到一篇文章对此有详细的描述,转过来.================<br />mod表示求模或求余!求余和求模是不一样的,两个应该根据公式来算就不会混掉:<br />① 求余:取整除后的余数。例如:<br />10 MOD 4=2; -17 MOD 4=-1; -3 MOD 4=-3; 4 MOD (-3)=1; -4 MOD 3=-1<br />如果有a MOD b是异号,那么得出的结果符号与a相同;当然了,

2011-04-26 22:02:00 1182

转载 快速开发 CUDA windows 程序

<br />书接上回《CUDA windows 开发》 [url]http://blog.csdn.net/OpenHero/archive/2008/04/10/2278164.aspx[/url] 已经写到建立一个简单的CDUA程序,但是上面需要设置的参数还是很多,这样对于初学者来说增加了难度。在这里作者开发了一个针对VS2005的CUDA wizard 《CUDA VS2005 Wizard》[url]http://blog.csdn.net/OpenHero/archive/2008/04/18/2

2011-04-26 19:44:00 660

原创 读取BMP文件

<br />HANDLE hand = CreateFile("C://1.bmp", GENERIC_READ, 0, 0, OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL, NULL);<br /> if (hand != INVALID_HANDLE_VALUE)<br /> {<br />  DWORD dSize;<br />  BITMAPFILEHEADER bfh;<br />  memset( &bfh, 0, sizeof( bfh ) );<br />  Rea

2011-01-07 12:21:00 541

转载 Cbitmap与HBITMAP和其它的类似问题

<br />首先看一下下面的表格,左边的是MFC提供的类,右边则是句柄,注意,这些句柄是一些结构体,跟类和对象并不相干<br />MFC对象<br />WINDOWS 句柄<br />CBitmap<br />HBITMAP<br />CPen<br />HPEN<br />CBrush<br />HBRUSH<br />CFont<br />HFONT<br />CPalette<br />HPALETTE<br />CRgn<br />HRGN<br />CDC<br />HDC<br />右边的为WI

2010-11-10 11:17:00 962

转载 Xvid学习

<br />xvid有两种编码方式:single pass和twopass <br />single pass模式编码简单,速度也快,但最终效果不如twopass。 <br />twopass就是视频压制需要经过两次编码,分别为twopass-1st pass(简称1pass)和twopass-2nd pass(简称2pass) <br />1pass时,编码器会用最高质量编码采集可供第2次运算参考的画面信息,而在2 pass时。编码器会根据第一次压缩获得的信息和用户指定的文件大小,自动分配比特率,使需要高

2010-11-06 00:27:00 590

转载 VC里面的main()函数

<br />通过main()函数的参数给程序增加一些处理信息,可以使程序和用户实现更多交互式的通讯. 如果你的程序需要命令行参数编译的话,那么源程序的主函数main()就需要带参数—也就是所谓的命令行参数。带有参数的main()函数头格式为: <br /><br />void main(int argc, char * argv[]) 或void main(int argc, char ** argv) <br /><br />其实,argc和argv也可以写成其他的合法标识符(identifier)来表示

2010-11-02 20:39:00 1929

转载 xvid源代码以及文件结构

文件结构:builddebiandocdshowexamplessrcvfw依次对应相应的开发。其中src目录下的文件是core。如果使用VC编译项目的话,进入build/win32目录下,打开Xvidcore.dsp即可。在dshow目录下是一个Decoder Filter,你可以通过它编译出一个基于CVideoTransformFilter的Filter。在vfw目录下,你可以采用vfw的编程方式。在doc目录下,Install是DOS文件格式,你可以通过

2010-11-02 20:02:00 814

转载 用Visual C++ 6.0编译xvid

0.xvid简介Xvid(旧称为XviD)是一个开放源代码的MPEG-4视频编解码器,它是基于OpenDivX而编写的。Xvid的主要竞争对手是DivX。但Xvid是开放源代码的,而DivX则只有免费(不是自由)的版本和商用版本。详见百度百科:http://baike.baidu.com/view/30246.htm?fr=ala0_1 1.下载xvid源码官方网站:http://www.xvid.org/目前最新版本是Xvid 1.2.2 stable release(今天:2010年4月24日) 2.编

2010-10-31 02:27:00 884

原创 YUV420、YUV422、RGB24,在项目中测试可用

//平面YUV422转平面RGB24static void YUV422p_to_RGB24(unsigned char *yuv422[3], unsigned char *rgb24, int width, int height){ int R,G,B,Y,U,V; int x,y; int nWidth = width>>1; //色度信号宽度 for (y=0;y {  for (x=0;x  {   Y = *(yuv422[0] + y*width + x);   U = *(yuv422[1]

2010-10-27 18:08:00 2948

转载 xvid的学习[转]

<br />xvid有两种编码方式:single pass和twopass <br />single pass模式编码简单,速度也快,但最终效果不如twopass。 <br />twopass就是视频压制需要经过两次编码,分别为twopass-1st pass(简称1pass)和twopass-2nd pass(简称2pass) <br />1pass<br />时,编码器会用最高质量编码采集可供第2次运算参考的画面信息,而在2 pass时。编码器会根据第一次压缩获得的信息和用户指定的文件大小,自动分配比<

2010-10-26 20:01:00 946

转载 WinExec,ShellExecute ,CreateProcess

三个SDK函数: WinExec,ShellExecute ,CreateProcess可以实现调用其他程序的要求,其中以WinExec最为简单,ShellExecute比WinExec灵活一些,CreateProcess最为复杂。 WinExec 两个参数,前一个指定路径,后一个指定显示方式。 ShellExecute 可以指定工作目录,并且还可以寻找文件的关联直接打开不用加载与文件关联的应用程序,ShellExecute还可以打开网页,启动相应的邮件关联发送邮件等等。 Cr

2010-10-26 11:27:00 598

转载 关于OnOK()、OnCancel()、OnClose()、OnDestroy() 模式对话框

<br />总结OnOK()、OnCancel()、OnClose()、OnDestroy()之间的区别(转) <br />2009年09月22日 下午 08:33 <br />第一,OnOK()和OnCancel()是CDialog基类的成员函数,而OnClose()和OnDestroy()是CWnd基类的成员函数,即WM消息响应函数。从应用程序结构的角度,拿对话框来说,红色的X对应的是CWnd,而处于对话框中的“确定”、“取消”按钮则对应了CDialog。 <br />第二,OnClose()和OnDe

2010-10-24 16:30:00 838

转载 YUV主要的采样格式

YUV主要的采样格式主要的采样格式有YCbCr 4:2:0、YCbCr 4:2:2、YCbCr 4:1:1和 YCbCr 4:4:4。其中YCbCr 4:2:0 比较常用,其含义为:每个点保存一个 8bit 的亮度值(也就是Y值), 每 2x2 个点保存一个 Cr 和Cb 值, 图像在肉眼中的感觉不会起太大的变化。所以, 原来用 RGB(R,G,B 都是 8bit unsigned) 模型, 4 个点需要 8x3=24 bites(如下图第一个图). 而现在仅需要 8+(8/4)+(8/4)=12bites

2010-10-19 15:36:00 577

转载 YUV信号格式

<br />  因为我是做摄像头的,主要就是针对YUV422格式的信号。<br />YUV信号有很多种,一般YUV420和YUV422用的比较多,而对Cmos sensor来说,大多都是YUV422.<br />       YUV422格式,又分为很多小类,按照U、V的排列可以有YUYV,YVYU,UYVY,VYUY四种,其中,YUYVY一般又称作yuv2格式。<br />       而这四种YUV422格式,每种又可以分为2小类,按Y和UV的排列可以有打包格式和平面格式。例如,一个640×480×2的

2010-10-19 09:52:00 696

转载 YUV420和YUV422的格式转换 - 源码未调试

YUV420和YUV422的格式转换 <br />2008-03-10 19:16:38<br />1 /*  <br />2  * Linux VeeJay <br />3  * <br />4  * Copyright(C)2002-2004 Niels Elburg  <br />5  * <br />6  * This program is free software; you can redistribute it and/or <br />7  * modify it under the ter

2010-10-19 09:36:00 2949

转载 xvid源码在Visual C++ 6.0下成功编译的方法(转)

<br />编译参考xvid源代码中的doc/INSTALL文件,针对其中遇到的问题:<br />下载NASM<br />http://sourceforge.net/projects/nasm  (Win32版本)<br />解压缩后得到nasmw.exe, ndisasmw.exe,将nasmw.exe改为nasm.exe后将这两个文件拷到Microsoft Visual Studio/VC98/Bin下。<br />编译有可能出现以下错误: error C2520: conversion from u

2010-08-29 02:52:00 1486

原创 C++模版技术

C++模版技术一函数模版<br />直接在源文件中定义如下函数:<br />template<class T><br />T MaxTry(T a, T b)<br />{<br />       return a>b?a:b;<br />};   //结尾可写分号,也可可不写<br />下面调用MaxTry函数:<br />void CTemplate_TestDlg::OnButton1() <br />{<br />       CString str = MaxTry("dahai","xiao

2010-08-22 14:53:00 460

原创 C++STL容器

<br />序列式容器(随机存储)<br />vector:<br />(1)vector<int> vec1;<br />        vec1.push_back(1);<br />        vec1.push_back(2);<br />    vec1.push_back(3);  //尾部插入元素<br />    int n = vec1[0]; // vector和deque可以这样读取元素<br />(2)vector<int> vec2(10,8);//10个8<br />(3)i

2010-08-22 14:53:00 544

原创 VC6.0中对MySQL数据库的操作

VC6.0中对MySQL数据库的操作<br />1.在mysql目录下找到名字为libmySQL.dll和libmySQL.lib 的文件拷贝到当前工程目录下,并在“工程->设置->连接”中链接libmysql.lib。 <br />2.将mysql/include里面的头文件拷贝到当前工程目录下(可不用include)。<br />3.#include <winsock.h><br />#include "mysql.h" <br />4.程序代码:<br />void CMySQLDlg::Search

2010-08-22 14:52:00 1046

原创 C++I/O技术

C++I/O技术1标准输入输出:cout, cin, cerr,clog以及对应于4个字节处理的流对象wcout,wcin,werr,wclog。<br />#include <iostream><br />using namespace std;<br />cout<<“输出/n”;<br />int i;<br />cin >>i; //输入<br />2文件输入输出:<br />#include <fstream.h><br />#include <iostream.h><br />using nam

2010-08-22 14:52:00 527

转载 建立/访问/删除非法的目录/文件夹名称

建立/访问/删除非法的目录/文件夹名称1、不可显示 ASCII 字符<br />记得在目录名中加入 alt+255 alt+160 等不可显示的 ASCII 字符,在 Windows 9X 中就可能不能打开了。<br />2、UNICODE 字符<br />在 Windows XP 中新建文件夹,编辑目录名,右键,插入 Unicode 控制符,随便选一个,看看~~显示长度为0的文件夹建好了。(如果再把文件夹图标改成透明………嘿嘿)<br />3、加点<br />建立:在 CMD 里输入:MD D:/test

2010-08-22 14:51:00 713

原创 SQL

SQL:<br />insert into person(name,city,age) values('J','nihaoshang',30)<br />truncate table newTable  //清空表<br />delete from newTable //清空表<br />delete from person where city='y angyuan' //删除表person中字段city为y angyuan的记录<br />drop table newTable //删除表<br />c

2010-08-22 14:51:00 422

多线程实现传输下载实例

VC实现的多线程数据传输实例,很好的帮你认识多线程。是你学习多线程的实例参考

2010-04-24

数据结构课件 下(6-10章)

很好的讲解数据结构的课件,让你轻松掌握数据结构。

2010-04-18

数据结构课件 上(1-5章)

很好的讲解数据结构的课件,让你轻松掌握数据结构。

2010-04-18

C++面向对象程序设计

详细简述类,对象,成员函数,静态函数,友元函数,类作用域,局部类和嵌套类,对象生存周期、对象指针,对象引用,对象和数组,子对象和堆对象,继承,派生,多态和虚函数,内联函数,函数重载,等等

2010-04-18

MFC各继承类之间结构框架

MFC框架结构,让你对MFC各类间的继承关系一目了然

2010-04-18

SQL语句详细介绍 下

详细全面讲解SQL语句的实用,注重于编程实用。代码讲解。 SELECT - 从数据库表中获取数据 UPDATE - 更新数据库表中的数据 DELETE - 从数据库表中删除数据 INSERT INTO - 向数据库表中插入数据 CREATE DATABASE - 创建新数据库 ALTER DATABASE - 修改数据库 CREATE TABLE - 创建新表 ALTER TABLE - 变更(改变)数据库表 DROP TABLE - 删除表 CREATE INDEX - 创建索引(搜索键) DROP INDEX where group..............等等全部包括

2010-04-18

DES 3DES 源码

des加解密,3DES加解密,EBC模式和CBC模式。示例代码。可直接引用

2010-04-18

SQL语句详细介绍 上

详细全面讲解SQL语句的实用,注重于编程实用。代码讲解。 SELECT - 从数据库表中获取数据 UPDATE - 更新数据库表中的数据 DELETE - 从数据库表中删除数据 INSERT INTO - 向数据库表中插入数据 CREATE DATABASE - 创建新数据库 ALTER DATABASE - 修改数据库 CREATE TABLE - 创建新表 ALTER TABLE - 变更(改变)数据库表 DROP TABLE - 删除表 CREATE INDEX - 创建索引(搜索键) DROP INDEX where group..............等等全部包括

2010-04-18

STL入门精选课件详解

详细介绍STL的精选课件,由浅入深,源码讲解,易解实用

2010-04-18

虚函数、多态、动态联编

详细讲解虚函数的实现方式,附有代码示例。让你对虚函数一目了然。

2010-04-18

SQL语言参考大全详解

是你进行SQL编写必不可少的参考书,详细讲述SQL语言,详细完整

2010-04-18

Directshow开发技术资料

讲解directshow开发很好的技术资料,附有源码,可以帮你很快掌握directshow开流程。

2010-04-18

DirectShow编程技术资料

讲述directshow的公司内部技术资料。对于进行directshow进行视音频编程的朋友很有帮助。让你受益匪浅。

2010-04-18

MFC库类详解.chm

详细讲解MFC类库,是一本很好的编程参考书籍!

2010-04-18

VC++学习经验之谈

总结学习VC的经验和方法,推荐学习各个阶段参考书籍,对初学VC者是个很好的方向指引

2010-04-18

详细讲述C++的课件

详细讲解C++编程,一共18课程,是初学者很好的入门教材

2010-04-17

常用数据结构和经典算法的分析

讲解数据结构的一个很详尽、详细的word电子书,附有算法代码。易于学习

2010-04-17

DataGrid和ADO Data控件的使用

详细介绍DataGrid控件的使用,可对数据可的信息以列表的形式显示,介绍详细,附有图片

2010-04-17

FILE文件操作总结.doc

详细的介绍了FILE文件的操作,附有源代码参考。

2010-04-17

机读旅行证件 Doc9303

开发电子护照、ID卡的国际标准书刊,很不错的书籍

2010-04-08

VC6.0 MFC类库参考手册.pdf

很不错的参考书啊!很详细的解释了各类的成员函数。

2008-09-12

空空如也

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

TA关注的人

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