自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 资源 (12)
  • 收藏
  • 关注

原创 FFMPEG4.1源码分析之 字典类型AVDictionary及其相关APIs

目录0 前言0.1 ffmpeg中字典类型的描述0.2 API使用简介1 Structs && Flags1.1AVDictionary1.2AVDictionaryEntry1.3 Flags2 APIs2.1 av_dict_count()2.2av_dict_free()2.3av_dict_copy()2.4av_...

2019-05-27 10:59:23 1155

原创 FFMPEG4.1源码分析之 内存管理APIs av_memdup()

1 av_memdup()av_memdup() 声明:所属库:libavutil(lavf) 头文件:libavutil/mem.h 声明:函数内部将创建一块缓冲,从源缓冲区拷贝size大小的数据到该缓冲,并返回该缓冲的地址 /**使用av_malloc复制一块缓冲区 * Duplicate a buffer with av_malloc(). * * p指向需要被拷贝的缓...

2019-05-27 10:28:57 372

原创 FFMPEG4.1源码分析之 内存管理APIs av_malloc() && av_mallocz()

1 av_malloc()av_malloc() 声明:所属库:libavutil,该库是ffmpeg的功能库,提供了线程,内存,文件,加密等功能 头文件:libavutil/mem.h 该函数作用在于给对象分配内存块,并且是内存对齐的 该函数由两个宏av_malloc_attrib && av_alloc_size(1)指定了一些编译器属性,作用如后面所描述,...

2019-05-24 09:34:49 2381

原创 FFMPEG4.1源码分析之 内存管理APIs av_realloc()

1 av_realloc()av_realloc() 声明:所属库:libavutil(lavu),该库是ffmpeg的功能库,当前函数属于内存管理功能 头文件:libavutil/mem.h 功能:1. 分配空间 / 重新分配空间(已分配空间的伸缩) / 释放一块内存。 1)ptr为NULL,且size>0时,分配一块新的内存块; ...

2019-05-24 09:17:41 801

原创 FFMPEG4.1源码分析之 内存管理APIs av_strdup() && av_strndup()

1 av_strdup()av_strdup() 声明:所属库:libavutil(lavu),lavu是ffmpeg中的功能库,本函数属于内存管理功能 头文件:libavutil/mem.h 声明:拷贝一份字符串。注意,该函数使用了av_malloc_attrib宏进行了属性修饰,该属性的作用见另外一篇文章FFMPEG4.1源码分析之 内存管理APIs av_malloc() &am...

2019-05-24 09:16:55 2260

原创 FFMPEG4.1源码分析之 内存管理APIs av_freep() && av_free()

1.av_freep()av_freep() 声明:所属库:libavutil(lavu),libavutil是ffmpeg的工具类库,本函数是其内存管理类库中的函数 头文件:libavutil/mem.h 声明:释放一个内存块,这个内存块由av_malloc()/av_realloc()家族函数来分配的,并且将指针置为NULL。注意看函数说明,对于av_free()函数的使用会导致...

2019-05-23 20:26:05 2276 1

转载 【转-悬空指针,野指针】野(wild)指针与悬空(dangling)指针

野(wild)指针与悬空(dangling)指针1. 什么是野指针(wild pointer)?A pointer in c which has not been initialized is known as wild pointer.野指针(wild pointer)就是没有被初始化过的指针。例如,1 int main(int argc, char *argv[])2 {...

2019-05-23 12:48:25 646

原创 FFMPEG4.1源码分析之 av_opt_next()

1av_opt_next()av_opt_next() 声明:所属库:libavutil(lavu) 头文件:libavutil/opt.h 声明:枚举所有属于obj对象的AVOptions ​/** * Iterate over all AVOptions belonging to obj. * * obj必须是AVOptions-enabled struct,意思...

2019-05-22 18:44:12 484

原创 FFMPEG源码分析之 av_opt_set_dict()

1 av_opt_set_dict()av_opt_set_dict() 声明:所属库:libavutil(lavu) 头文件:libavutil/opt.h 声明:功能:设置所有的选项到一个对象中入参obj:将被应用选项的对象,该对象必须第一个成员为AVClass*,也即obj应该是某个上下文结构体对象入参options:需要被应用的选项字典。输入的选项字典将被释放,并且会被一个新的...

2019-05-22 11:04:36 2565

原创 FFMPEG4.1源码分析之 av_opt_copy()

1av_opt_copy()av_opt_copy() 声明:所属库:libavutil(lavu),注意是lavu库,这个是ffmpeg中的功能库,代表的是一个功能 头文件:libavutil/opt.h 声明:从src对象中拷贝选项到dest对象中。 1)要点一:注意理解“拷贝选项”的意思是将src对象中与src->av_class->opti...

2019-05-22 11:03:15 603

原创 FFMPEG4.1源码分析之 结构体成员管理系统(APIs && Structures)

0 概述FFMPEG中有一种非常棒的访问结构体成员,以及成员的子成员方法,且称为“结构体成员管理系统”吧,该系统涉及到几个FFMPEG中特别常见的结构体AVClass,AVOption,AVDictionary,AVDictionaryEntry等,以及一系列操作这些结构体的函数。也许,有的人会奇怪:C语言中访问结构体变量,直接使用结构体的"."运算符取值,直接使用等于号“=”赋值不就可以了嘛...

2019-05-22 10:55:29 273

原创 FFMPEG4.1源码分析之 断言

占位/** * assert() equivalent, that is always enabled. */#define av_assert0(cond) do { \ if (!(cond)) { ...

2019-05-21 23:12:53 355

原创 FFMPEG4.1源码分析之 IO操作相关Structures && APIs

先占位1url_alloc_for_protocol()2url_find_protocol()3ffurl_get_protocols()2URLProtocol3URLContexttypedef struct URLProtocol { const char *name; int (*url_open)( URLContext...

2019-05-20 20:22:54 227

原创 FFRMPEG4.1源码分析之 io_open_default() && io_close_default()

目录1io_open_default()1.1ffio_open_whitelist()1.1.1ffurl_open_whitelist() 1.1.1.1 ffurl_alloc() 1.1.1.1.1url_find_protocol() ...

2019-05-19 09:45:33 985

原创 FFMPEG4.1源码解析之 AVClass结构体 && AVOption结构体 && AVDictionary结构体

计算5月完成

2019-05-18 11:23:44 683 3

原创 FFMPEG4.1源码分析之 内存分配

待写,先占位

2019-05-16 12:11:03 283

原创 FFMPEG4.1源码分析之 线程库

待写~~

2019-05-16 12:10:15 225

原创 FFRMPEG4.1源码分析之 AVFormatContext

啦啦啦~~下周写完

2019-05-15 21:52:51 203

原创 FFMPEG4.1源码分析之 avformat_alloc_context()

目录0 前言1 avformat_alloc_context() 源码分析1.1 av_malloc()1.2av_mallocz()1.3 avformat_get_context_defaults()1.3.1av_format_context_class结构体1.3.2io_open_default() &&io_close_defau...

2019-05-15 21:31:36 2072

原创 FFMPEG4.1源码解析之 libavformat库解读

目录0 前言1avformat.h1.1 重要的结构体 && API1.1.1 lavf && av_register_all &&avformat_network_init1.1.2 AVInputFormat && AVOutputFormat &&av_iformat_next &...

2019-05-14 23:50:42 2236

原创 FFMPEG4.1源码分析之 过时代码管理 attribute_deprecated

目录0FFMPEG过时代码管理1attribute_deprecated1.1定义1.2 作用2FF_DISABLE_DEPRECATION_WARNINGS宏2.1定义2.1 作用3 示例0FFMPEG过时代码管理FFMPEG中对于过时,以及即将在未来某个版本中将去掉的某些API和变量,一般采取如下做法在库的version.h头文件中声明一...

2019-05-13 15:23:12 2305

原创 FFRMPEG4.1源码分析之 av_register_all() && avdevice_register_all()

目录0 前言1 av_register_all1.1 基本信息1.2函数声明1.3源码1.3.1 av_ register_all && av_register_input_format && av_register_output_format1.3.2ff_thread_once1.3.3av_format_init_nex...

2019-05-12 17:52:33 5869

转载 【转-浏览器篇】你不知道的浏览器页面渲染机制

原文地址你不知道的浏览器页面渲染机制前言浏览器的内核是指支持浏览器运行的最核心的程序,分为两个部分的,一是渲染引擎,另一个是JS引擎。渲染引擎在不同的浏览器中也不是都相同的。目前市面上常见的浏览器内核可以分为这四种:Trident(IE)、Gecko(火狐)、Blink(Chrome、Opera)、Webkit(Safari)。这里面大家最耳熟能详的可能就是Webkit内核了,We...

2019-05-01 10:18:02 230

STUN-RFC3489中英文合集.zip

STUN协议-Simple Traversal of User Datagram Protocol (UDP) Through Network Address Translators (NATs)的中英文合集pdf

2019-09-28

STUN-RFC5389中英文合集.zip

STUN协议的规范性文档RFC5389合集,包含中文翻译pdf以及英文原版pdf

2019-09-27

ffmpeg源码windows上编译的工具打包

ffmpeg源码windows上编译的工具打包,有些工具比较难找,因此在此打包处理

2019-03-08

RTMP规范中英文对照版 带书签 PDF

RTMP规范中英文对照版(带书签),是学习RTMP协议的最好资料。不可错过

2019-02-13

ffplay功能流程图

ffplay的功能流程图,比较清晰简洁的告知ffplay解码播放的整个流程

2018-12-12

ffplay源码解析图

雷神总结的关于ffplay.c的函数调用结构流程图,相当清晰

2018-12-12

《FFMPEG源码深入解析.pdf》

非常棒的FFMPEG源码分析书籍,拒绝隔靴搔痒,直戳重点

2018-10-10

<>

音视频编解码技术的经典之作,JPEG,MPEG-1, MPEG-2,MPEG-4,H263,H264编码原理

2018-10-09

数据库系统概念中文版-第五版

非常经典的外文翻译后的数据库书籍,非常详细地介绍了数据库的方方面面,并且例子也很多

2014-05-05

空空如也

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

TA关注的人

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