自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

John-525的博客

苦,累,就对了;舒服是留给死人的。

  • 博客(17)
  • 收藏
  • 关注

原创 FFMPEG中sws_scale()函数的作用

如果想將某个PixelFormat转换至另一個PixelFormat,例如,将YUV420P转换換成YUYV422,或是想变换图的大小,都可以使用swscale完成。其中,PixelFormat 的列表在 libavutil/pixfmt.h 內定义。      swscale的用法可以參考libswscale/swscale-example.c的sample code。主要functio

2015-12-24 11:12:10 1500

原创 FFmpeg数据结构和库简介和简单分析

FFmpeg数据结构简介▫AVFormatContext封装格式上下文结构体,也是统领全局的结构体,保存了视频文件封装格式相关信息。▫AVInputFormat每种封装格式(例如FLV, MKV, MP4, AVI)对应一个该结构体。▫AVStream视频文件中每个视频(音频)流对应一个该结构体。▫AVCodecContext编码器上下文结构体,保存了视频(

2015-12-24 11:00:24 691

原创 播放器的流程和解码流程

一. 播放器的流程1. 输入 : 从文件或网络等读取原数据,对原数据进行解析,比如文件,首先要分析文件格式,从文件中取得音视频编码参数,视频时间长度等信息,然后要从其中取出音频编码数据和视频编码数据送到解码部分,这里暂称这种编码源数据块为 packet。2. 解码 : 初始化时,利用输入端从源数据中取得的信息调用不同的解码库初始化;然后接收输入端传送来的音视频编码数据,分别进行音频解码和视

2015-12-23 11:43:01 7636

原创 FFMPEG中常用的几种结构体

AVFormatContext               是一个贯穿始终的数据结构,很多函数都要用到它作为参数。它是FFMPEG解封装(flv,mp4,rmvb,avi)功能的结构体。下面看几个主要变量的作用struct AVInputFormat *iformat:输入数据的封装格式AVIOContext *pb:输入数据的缓存unsigned int nb_streams

2015-12-23 11:32:57 1088

原创 VS常用的快捷键

一、命令行Devenv 启动VS Studion                             Isqlw 启动SQL2000查询分析器 Sqlwb 启动SQL2005企业管理器                       Inetmgr 启动IIS管理器 二、大纲Ctrl+M,O 折叠所有大纲                             Ctrl+M,P 停

2015-12-02 15:38:02 479

转载 二叉树 - 数据结构

平衡树——特点:所有结点左右子树深度差≤1排序树——特点:所有结点“左小右大字典树——由字符串构成的二叉排序树判定树——特点:分支查找树(例如12个球如何只称3次便分出轻重)带权树——特点:路径带权值(例如长度)最优树——是带权路径长度最短的树,又称 Huffman树,用途之一是通信中的压缩编码。1. 二叉排序树(二叉查找树 Binary Searc

2015-11-12 23:03:23 905

转载 socket编程原理,TCP和UDP

socket1、问题的引入1) 普通的I/O操作过程:UNIX系统的I/O命令集,是从Maltics和早期系统中的命令演变出来的,其模式为打开一读/写一关闭(open-write-read-close)。在一个用户进程进行I/O操作时,它首先调用“打开”获得对指定文件或设备的使用权,并返回称为文件描述符的整型数,以描述用户在打开的文件或设备上进行I/O操

2015-11-12 21:52:36 2560

转载 UML图中类之间的关系:依赖,泛化,关联,聚合,组合,实现

类与类图1) 类(Class)封装了数据和行为,是面向对象的重要组成部分,它是具有相同属性、操作、关系的对象集合的总称。2) 在系统中,每个类具有一定的职责,职责指的是类所担任的任务,即类要完成什么样的功能,要承担什么样的义务。一个类可以有多种职责,设计得好的类一般只有一种职责,在定义类的时候,将类的职责分解成为类的属性和操作(即方法)。3) 类的属性即类的数据职责,类的操作即

2015-11-12 21:40:19 482

转载 每个程序员都该知道的10大编程格言

每个程序员都该知道的10大编程格言(Kevin Pang):编程格言1:无风不起浪 (There is no smoke without fire)编程格言2:预防为主,治疗为辅(An ounce of prevention is worth a pound of cure:)编程格言3:不要把鸡蛋都放在一个篮子(Don't put all your

2015-11-04 18:22:28 622

转载 TCP/IP协议 三次握手与四次挥手

一、TCP报文格式        TCP/IP协议的详细信息参看《TCP/IP协议详解》三卷本。下面是TCP报文格式图:图1 TCP报文格式        上图中有几个字段需要重点介绍下:        (1)序号:Seq序号,占32位,用来标识从TCP源端向目的端发送的字节流,发起方发送数据时对此进行标记。        (2)确认序号:Ack序号,占32位,只有AC

2015-10-28 16:15:37 553

翻译 c语言实现几种排序算法

常见排序算法(冒泡,选择,快速)的C语言实现冒泡法(起泡法) 算法要求:用起泡法对10个整数按升序排序。    算法分析:如果有n个数,则要进行n-1趟比较。在第1趟比较中要进行n-1次相邻元素的两两比较,在第j趟比较中要进行n-j次两两比较。比较的顺序从前往后,经过一趟比较后,将最值沉底(换到最后一个元素位置),最大值沉底为升序,最小值沉底为降序。    算法源代码:

2015-10-28 15:03:14 1200

转载 类String 的构造函数、析构函数和赋值函数

编写类String 的构造函数、析构函数和赋值函数,已知类String 的原型为:class String{public:String(const char *str = NULL); // 普通构造函数String(const String &other); // 拷贝构造函数~ String(void); // 析构函数String & operate =(cons

2015-10-26 16:10:25 401

翻译 返回指向局部变量的指针或引用的问题

一般的来说,函数是可以返回局部变量的。 局部变量的作用域只在函数内部,在函数返回后,局部变量的内存已经释放了。因此,如果函数返回的是局部变量的值,不涉及地址,程序不会出错。但是如果返回的是局部变量的地址(指针)的话,程序运行后会出错。因为函数只是把指针复制后返回了,但是指针指向的内容已经被释放了,这样指针指向的内容就是不可预料的内容,调用就会出错。准确的来说,函数不能通过返回指向栈内存的指针(注意

2015-10-26 12:03:58 910

转载 C语言有关内存和动态分配内存传递问题

C语言 有关内存的思考题1.void GetMemory(char *p){ p = (char *)malloc(100);}void Test(void){ char *str=NULL; GetMemory(str); strcpy(str,"Hello World"); printf(str);}请问运行Tes

2015-10-25 20:38:46 656

原创 C语言运算符的优先级和关键字

C语言运算符优先级:括号成员第一;        //括号运算符[]() 成员运算符.  ->全体单目第二;        //所有的单目运算符比如++、 --、 +(正)、 -(负) 、指针运算*、&乘除余三,加减四;   //这个"余"是指取余运算即%移位五,关系六;    //移位运算符:> ,关系:> = 等于(与)不等排第七;    //即== 和

2015-10-23 22:45:22 1752

原创 static 的理解

1.static全局变量与普通的全局变量的区别:static全局变量只初使化一次,防止在其他文件单元中被引用。   2.static局部变量和普通局部变量的区别:static局部变量只被初始化一次,下一次依据上一次结果值。   3.static函数与普通函数的区别:static函数在内存中只有一份,普通函数在每个被调用中维持一份拷贝。     由上面3个例子总结:全局变量(外部变量)的

2015-10-22 20:42:31 545

转载 sizeof与strlen详解

一、sizeof的概念  sizeof是C语言的一种单目操作符,如C语言的其他操作符++、--等。它并不是函数。sizeof操作符以字节形式给出了其操作数的存储大小。操作数可以是一个表达式或括在括号内的类型名。操作数的存储大小由操作数的类型决定。 1.sizeof的使用方法  1) 用于数据类型   sizeof使用形式:sizeof(type)   数据类型必须用括号括住。如

2015-10-22 08:28:00 469

空空如也

空空如也

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

TA关注的人

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