自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(86)
  • 资源 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 MySQL-order by

1、从一个简单的排序需求说起sort buffer1、为了排序开辟的内存大小。多个线程,多个buffer2、是server层的概念3、通过参数进行设置大小限制。https://dev.mysql.com/doc全字段排序1、初始化内存,确定放入name,city,age2、city是二级索引,找到第一个条件的主键ID3、到主key,取出整行,取3个字段存入sort_buffer4、city取下一个记录的主key5、重复3、46、对sort_bu..

2020-07-07 09:07:21 143

转载 nginx 内存对齐 cpu l2 cache line ngx_align

数据的对齐(alignment)是指数据的地址和由硬件条件决定的内存块大小之间的关系。一个变量的地址是它大小的倍数的时候,这就叫做自然对齐(naturally aligned)。例如,对于一个32bit的变量,如果它的地址是4的倍数,-- 就是说,如果地址的低两位是0,那么这就是自然对齐了。所以,如果一个类型的大小是2n个字节,那么它的地址中,至少低n位是0。  #define ngx...

2018-08-19 20:38:08 389

转载 c++ 内联函数

而在Google C++编码规范中则规定得更加明确和详细:内联函数:Tip: 只有当函数只有 10 行甚至更少时才将其定义为内联函数.定义: 当函数被声明为内联函数之后, 编译器会将其内联展开, 而不是按通常的函数调用机制进行调用.优点: 当函数体比较小的时候, 内联该函数可以令目标代码更加高效. 对于存取函数以及其它函数体比较短, 性能关键的函数, 鼓励使用内联.缺点: 滥用内联...

2018-08-19 20:19:01 170

原创 团座的2017目标,写给自己

最近在项目目中需要解决android中的问题,关键自己是一个小白,只好看博客研究android源码,看到了老罗的关于android的系列文章,写的好完整、好清晰,怎么可以有这样的人,能把博客写到出书的样子(已经出书),最后看到了2012年的Android之旅:梦想、学习、坚持、自信、淡定。年轻人需要有梦想,怀揣梦想,为梦想努力就肯定有美好的未来,我相信!!!。那我的梦想呢,目标吧,完成一个小目

2017-07-28 12:18:10 262

原创 控件OnPaint,导致主窗口的对话框弹出时无法显示

在编写一个控件时,需要重载OnPaint,结果导致主窗口的消息窗口弹出时,显示不出来。class MyOpenGL : public CWnd{public: MyOpenGL(void); ~MyOpenGL(void); DECLARE_MESSAGE_MAP() public: afx_msg void OnPaint();//重载了OnPaint afx_msg

2017-05-26 17:07:12 590

转载 VLC windows Cygwin 编译v2.2.1

1、安装cygwin安装cygwin ,安装过程中,需要安装需要的工具,具体如下, 选择一种连接方式,我选择使用代理方式连接成功后,显示如下,选择一个后缀为.cn的速度快。安装需要的工具,工具列表如下,如果编译过程中,缺少哪一个工具,在把缺少的安装一下。Archive  unzip  zipDevel  autoconf  autom

2017-02-22 11:53:43 762

原创 handleCmd_SETUP 函数

handleCmd_SETUP函数,会在客户端发送setup时调用,如果有多个subsession客户端会每个都会发送一个setup的,主要就是创建rtp/rtcp,还有创建source.具体看代码中的注释。void RTSPServer::RTSPClientSession::handleCmd_SETUP(RTSPServer::RTSPClientConnection* o

2016-05-06 15:02:55 1381

原创 handleCmd_DESCRIBE 函数

handleCmd_DESCRIBE 函数主要的任务就,在客户端发送过来describe 是回复SDP,如果里边想实现多个session的自动创建,可以重装lookupServerMediaSession,下面是函数注释void RTSPServer::RTSPClientConnection::handleCmd_DESCRIBE(char const* urlPreS

2016-05-06 11:28:08 1121

转载 live555延时队列

原文地址:http://blog.sina.com.cn/s/blog_77c6324101018j1k.html最近在看LIVE555的源码,对其中的延时队列感觉有点乱,网上查询资料,于是就总结一下。首先描述一下LIVE555中的延时队列的设计理念。如下图,A,B,C分别为时间轴上的三个事件点,而head表示当前时间点。要描述一个事件发生的时间,通常可以有两种

2016-05-05 18:22:47 834

转载 d3d 函数讲解 2d应用

原文地址:http://blog.csdn.net/weili_2007/article/details/1916422 这批文章解决了我很多的遗憾,感谢作者!!!这一章将讨论IDirect3DDevices9接口怎样应用到简单的两维应用程序里去。然而,接下来讨论的方法和接口的方法不仅仅只应用在两维应用程序里面。   开始我们将看看IDirect3DSurface9接口,它

2016-05-04 10:59:32 3048

转载 链接错误-库冲突(libcmt.lib和libcmtd.lib)

原文地址:http://blog.csdn.net/redline2005/article/details/6313703在同一个项目中,所有的源文件必须链接相同的C运行时库。如果某一文件用了Multithreaded DLL版本,而其他文件用了Single-Threaded或者Multithreaded版本的库,也就是说用了不同的库,就会导致这个警告的出现。

2016-04-26 18:38:42 1050

转载 从零开始学习OpenCL开发(一)架构

文章写得非常通俗易懂,感谢作者,转过来做个记录。原文地址:http://blog.csdn.net/leonwei/article/details/8880012 本文将作为我《从零开始做OpenCL开发》系列文章的第一篇。 1 异构计算、GPGPU与OpenCL  OpenCL是当前一个通用的由很多公司和组织共同发起的多CPU\GPU\其他芯片 异

2016-04-26 10:24:20 674

转载 H264 MVC(multiple view coding)标准

原文地址:http://blog.sina.com.cn/s/blog_80ce3a550100ycc3.html在H264的附录ANNEX H中定义了MVC扩展,用于支持3D视频和FTV多视点编码。1.历史  在双目3D视频中,通常需要提供left/right view两个视点的图像,这两个视点的图像是有相关性的,同样,  对于多view视图之间也是有一定相关性的,因

2016-04-25 18:01:56 5770

原创 intel media sdk 使用时必须打开集成显卡

1、使用intel media sdk 时,因为要使用硬件加速的原因,必须打开集成显卡2、可是一般的台式机,默认是选择独立显卡,所以需要在bios设置一下3、集成显卡打开方式可以参考,打开集成显卡

2016-04-25 17:47:26 3729 1

原创 h264 写入文件时“wb+”

当编码后写入文件中,文件打开格式必须是2进制 模式设置为“wb+”,不然会出现文件啊!!!!

2016-04-25 17:39:34 991

原创 ConvertRGBToNV12 问题记录

记录一下在转换过程中出现问题,由于宽和高设置设置不正确,造成转换的数据变成全零,全绿。NVENCSTATUS CNvEncoder::ConvertRGBToNV12(IDirect3DSurface9 *pSrcRGB, IDirect3DSurface9 *pNV12Dst, uint32_t uWidth, uint32_t uHeight){ DXVA2_VideoProcessB

2016-04-25 14:43:21 3612

转载 fx 文件介绍

原文地址:http://blog.sina.com.cn/s/blog_784448d601017hhg.html在计算机3维场景中,物体表面的材质代表了其光学特性。最简单的材质可以表现为Diffuse颜色,Specular颜色,Emissive颜色等信息的集合;而为了表现物体表面的细节,可以 在材质中加入一张纹理——这些就构成了最基本的材质信息。在以前的Direct3D程序中,这些信

2016-04-20 11:17:26 1681

转载 ID3D11Device Interface

原文地址:http://blog.csdn.net/sagakiss/article/details/8362601这个设备接口是一个虚拟适配器;它被用于运行渲染和创建资源。这个ID3D11Device接口继承至IUnknown接口。ID3D11Device定义了以下成员:函数描述CheckCounter获取类型、名称、计量单

2016-04-20 10:22:53 1792

转载 IDXGISwapChain接口

原文地址http://blog.csdn.net/sagakiss/article/details/8351240一个IDXGISwapChain接口实现一个或多个Surface来存储呈现输出前的渲染数据。 成员 IDXGISwapChain接口继承于IDXGIDeviceSubObject. 成员

2016-04-20 10:17:33 2822

转载 关于x264码率控制概念介绍

x264是一个 H.264/MPEG4 AVC 编码器,本指南将指导新手如何创建高质量的H.264视频。    对于普通用户通常有两种码率控制模式:crf(Constant Rate Factor)和Two pass ABR。码率控制是一种决定为每一个视频帧分配多少比特数的方法,它将决定文件的大小和质量的分配。    如果你在编译和安装libx264 方面需要帮助,请查看ffmpe

2016-03-30 19:40:11 599

转载 h323介绍

目录(一)、综述1.H.323协议简介2.OPENH323协议栈总体框架3、OPENH323协议栈主要类之间的关系图(二)、重要协议过程和体系结构分析1、RAS2、H.245控制信令3、H.225呼叫信令4、Q.9315、控制协议的实现:6、编解码器H323Codec7、逻辑信道:(三)、运行期分析1、侦听2、发现网守并向网守注册:3

2014-10-11 11:05:51 9489 1

转载 用Darwin开发RTSP级联服务器(拉模式转发)

在博客 在Darwin进行实时视频转发的两种模式 中,我们描述了流媒体服务器对源端音视频转发的两种模式,其中一种#拉模式# 转发,在我们通常的项目中经常会用到,比如在传统视频监控行业,IP摄像机部署在监控内网的各个地点,我们需要将他们进行集中式的管理,并且对外发布,这时候我们就需要用到一台流媒体服务器,能够拉取所需的摄像机的音视频流,并做转化(如RTMP、HTTP等),作为监控内网与公网的中转,提

2014-10-08 17:35:42 879

转载 秒杀多线程第二篇 多线程第一次亲密接触 CreateThread与_beginthreadex本质区别

本文将带领你与多线程作第一次亲密接触,并深入分析CreateThread与_beginthreadex的本质区别,相信阅读本文后你能轻松的使用多线程并能流畅准确的回答CreateThread与_beginthreadex到底有什么区别,在实际的编程中到底应该使用CreateThread还是_beginthreadex?    使用多线程其实是非常容易的,下面这个程序的主线程会创建了

2014-09-03 22:55:14 472

转载 const使用

1. const修饰普通变量和指针const修饰变量,一般有两种写法:const TYPE value;TYPE const value;这两种写法在本质上是一样的。它的含义是:const修饰的类型为TYPE的变量value是不可变的。对于一个非指针的类型TYPE,无论怎么写,都是一个含义,即value只不可变。例如:const int nV

2014-09-02 20:35:28 375

转载 模版类

类模板与函数模板的定义和使用类似,我们已经进行了介绍,如果您对函数模板也感兴趣,请查看:C++函数模板。有时,有两个或多个类,其功能是相同的,仅仅是数据类型不同,如下面语句声明了一个类:复制纯文本新窗口class Compare_int { public : Compare(int a,int b) { x=a; y=b; } int max( ) { re

2014-09-02 20:20:40 458

转载 限制一个类对象只在堆上分配或者只在栈上分配

1、将类的构造函数属性置为private,同时提供static成员函数create,在函数中new一个新对象,这样实现的类可以只可以在堆上分配。class Base {[cpp] view plaincopyprint?    protected:          static Base* single;          

2014-09-02 20:07:56 452

转载 TS头详解

Transport Stream是由一连串的TS packets所构成,每个TS packet的长度固定是188 bytes,总共有几个TS packet则由需传输的数据量决定。TS packet主要可以分成二个部分:packet header和payload。Payload中放置的可能是video PES packets、audio PES packets或其他数据。TS packet he

2014-08-28 11:19:41 4213

原创 TS中的PTS DTS PRC

读一位,左移32位;读两位,左移30位;跳过一位;读15位,左移15位;跳过一位;再读最后15位。共计33位

2014-08-27 17:37:25 1081

转载 ffmpeg 打包TS介绍

FFmpeg代码里面有ts打包和解包的代码,这里简单介绍下怎么使用吧。先来看下FFmpeg目录结构:libavformat:用于各种音视频封装格式的生成和解析,包括获取解码所需信息以生成解码上下文结构和读取音视频帧等功能;libavcodec:用于各种类型声音/图像编解码;libavutil:包含一些公共的工具函数;libswscale:用于视频场景比例缩放、色彩映射转

2014-08-27 11:29:33 11052

转载 portaudio Pa_ReadStream and Pa_WriteStream的使用

/** @file patest_read_record.c2         @brief Record input into an array; Save array to a file; Playback recorded3     data. Implemented using the blocking API (Pa_ReadStream(), Pa_WriteStrea

2014-08-27 09:39:09 2339

转载 借用PortAudio采集和播放音频

混音,顾名思义,就是把多个音源混合的过程,是一个很常见的应用。这两天我也做了一个双路混音器,当然,我没有做多么专业的音频信号处理,只是一个简单的混音,调节各路音量,并实现了一些音效处理。主要功能有:采集硬件设备,读取wav文件,播放,混音,音量调节,音频节奏、音调的调节,wav文件输出。这么多功能,我们不需要一个一个全部自己实现,有时候,借助开源项目,尤其是比较成熟的开源项目,不但可以大大节省开发

2014-08-25 15:19:12 3776

转载 AAC打包ADTS格式

.ADTS是个啥ADTS全称是(Audio Data Transport Stream),是AAC的一种十分常见的传输格式。记得第一次做demux的时候,把AAC音频的ES流从FLV封装格式中抽出来送给硬件解码器时,不能播;保存到本地用pc的播放器播时,我靠也不能播。当时崩溃了,后来通过查找资料才知道。一般的AAC解码器都需要把AAC的ES流打包成ADTS的格式,一般是在AAC E

2014-08-25 13:36:24 2622

转载 OpenCV简介

OpenCV是一个用于图像处理、分析、机器视觉方面的开源函数库.       无论你是做科学研究,还是商业应用,opencv都可以作为你理想的工具库,因为,对于这两者,它完全是免费的。该库采用C及C++语言编写,可以在windows, linux, mac OSX系统上面运行。该库的所有代码都经过优化,计算效率很高,因为,它更专注于设计成为一种用于实时系统的开源库。opencv采用C语言进

2014-08-24 16:12:20 814

转载 音频的开源库

音频编程,在windows上,处理waveout,wavein这种较简单的编程方式,目前最常用的就是direcsound。以前封装过一个direcsound库,支持设备获取,混音,播放,学习需要一些时间,一般程序员很难快速学会应用。不过已经有很多很好的音频库了,所以可以简单了解,快速应用,而且相对稳定。还有一个优点就是跨平台。这里我简单列举一些。1:OpenAL:这

2014-08-24 15:59:05 2718

转载 Directsound 详解

关键词: Directsound stream buffer ,static buffer wave 文件播放  一、配置DirectDounf的开发环境  在进行DirectSound开发之前,一定要设置好开发环境,否则编译时会提示你很多东西都找不到定义,DirectSound的开发环境很好设置,简单的说就是包含一些头文件,将lib文件添加要工程中。仅仅包含dsound.h肯定是

2014-08-21 22:21:19 7118 1

转载 TS解码

TS的解码分两步进行,其一,是从PID为0 的TS包里,解析出PAT表,然后从PAT表里找到各个节目源的PID,一般此类节目源都由若干个ES流组成,并描述在PMT表里面,然后通过节目源的 PID,就可以在PMT表里检索到各个ES的PID。其二,解码器根据PMT表里的ES流的PID,将TS流上的包进行区分,并按不同的ES流进行解码。所以,TS是经过节目复用和传输复用两层完成的,即在节目复用时,加

2014-08-20 22:43:39 2809

转载 TS流解析

一 从TS流开始        数字电视机顶盒接收到的是一段段的码流,我们称之为TS(Transport Stream,传输流),每个TS流都携带一些信息,如Video、Audio以及我们需要学习的PAT、PMT等信息。因此,我们首先需要了解TS流是什么,以及TS流是怎样形成、有着怎样的结构。(一) TS流、PS流、PES流和ES流都是什么?       ES流(Eleme

2014-08-20 21:47:52 985

转载 X264 CBP

cbp一共6bit,高2bit表示cbpc(2:cb、cr中至少一个4x4块的AC系数不全为0;1:cb、cr中至少一个2x2的DC系数不全为0;0:所有色度系数全0)低4bit分别表示4个8x8亮度块,其中从最低一位开始的4位分别对应00,10,01,11位置的8*8亮度块。如果某位为1,表示该对应8*8块的4个4*4块中至少有一个的系数不

2014-08-18 21:06:58 955

转载 从Slice_Header学习H.264

从Slice_Header学习H.264 写在前面:$     H.264我是结合标准和毕厚杰的书一块学的。看句法语义时最是头疼,一大堆的元素,很需要耐心。标准中在介绍某个元素的语义时,经常会突然冒出与之相关的另一个变量,这个变量一般都在前文中讲过,但那么多变量怎么可能看一遍就记住?这时我只能去前面重新找这个变量再看一遍。没办法,H.264这个庞大的结构内部肯定是环环相扣的,各个部分联

2014-08-15 16:59:19 1660

转载 x264_macroblock_analyse(x264_t *h ) 分析

x264_macroblock_analyse(x264_t *h )功能初始化;对于I Slice,遍历所有16x16和4x4预测模式,得到最小Cost所对应的分块方式和预测模式;对于P Slice,如果宏块周围有Skip模式的宏块,检测当前块是否是Skip块,如果不是Skip块,遍历所有可能的块划分模式,对每种模式进行运动估计并计算Cost,计算intra对应的16x16和4x

2014-08-14 17:16:40 868

图片显示程序VS

vs2008C++源代码,可以显示多种格式图片,其中有不同的例子供参考

2012-09-01

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

TA关注的人

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