《MPEG-4_H.264视频编解码工程实践》的笔记

MPEG-4_H.264视频编解码工程实践

 

1.2 视频编码压缩原理及主流算法

2018-11-05 22:23:34

空间域的图像变换到频域,即所谓的变换域,会产生相关性很小的一些变换系数,并可对其进行压缩编码。

2018-11-05 22:23:05

视频编码中变换编码的数据源,包括两种:一是图像数据本身,二是图像残差。

2018-11-05 21:37:20

对图像做变换编码,最理想的变换运算应对整个图像进行,以便去除所有像素间的相关性。

2018-11-05 22:22:28

正因为是以宏块为处理单位,经编解码后的图像有明显的块效应,这就需要用户在解码低码流的视频时增加后处理以提高图像质量。

2018-11-05 22:21:02

H.264提供了整数DCT/IDCT,其反变换是完全可逆的。H.264图像在同码流下,明显优于其他以往标准算法,很重要的一个特点就是变换编码采用了整数DCT

2018-11-05 21:41:52

量化是视频编码失真的根本原因。

2018-11-05 21:44:29

XviD的MPEG-4算法的H.263量化方式有32(0~31)个量化等级,而H.264有52(0~51)个量化等级。

2018-11-05 21:45:22

变换使空域的图像能量重新分布,主要集中在左上角。右下方大部分是较小值或零值。

2018-11-05 22:19:50

混合视频编码框架的最后一个模块熵编码,就是利用概率分布规律实现无损的统计编码的,其原理是:符号出现概率大的用短码字来表示,符号出现概率小的用长码字来表示,从而起到了数据压缩的目的

2018-11-05 21:49:42

MPEG1/2/4和H.261/263等采取的是

2018-11-05 21:49:59

Huffman编码,H.264中Baseline级的熵编码是上下文自适应的可变字长编码CAVLC,即改进的Huffman编码,H.264中的Main或Extended级的熵编码采取的是上下文自适应的二进制算术编码CABAC。

2018-11-05 21:51:18

熵编码是针对图像或残差,而视频编码算法的其他信息如运动向量、直流分量、编码模式等控制信息的编码方式采用其他方法。如H.264中采取的是哥伦布编码(Golomb)。

2018-11-05 22:19:10

视频数据的失真主要存在于变换、量化。如果变换可逆则只存在于量化。

2018-11-05 22:32:15

MPEG-4的标准号是ISO/IEC 14496,定稿于1998年10月,于1999年1月成为国际标准。完全向后兼容的MPEG-4第二版于1999年底定稿,于2000年初被正式接受为国际标准,有些细节仍在制定过程中。

2018-11-05 22:33:00

视频对象编码是把视频场景按照对象目标进行分割,一般包括场景和场景的各个目标。对不同的目标对象选用不同的编码技术,从而达到系统、的高效的视频编码。

2018-11-05 22:36:34

由于视频对象分割目前仍然是个难点,还处于尚未成熟或研究阶段,MPEG-4的应用和开发仍然是基于像素的传统视频编码。只是把整个帧看做一个对象VOP(Video Object Plance),分别编码纹理信息(残差或图像本身)和运动信息(运动向量)。

2018-11-05 22:38:01

对于某一特定的应用,只有一部分编码工具被采用,框架(Profile)就是针对特定的应用确定要采用的编码工具,它是MPEG-4提供的工具集的一个子集。每一个框架又有一个或多个级别(Level)来限制算法的复杂度。

2018-11-05 22:39:58

MPEG-4之前的视频标准都是采用第一代压缩编码技术,基于图像信号的统计特性来设计编码器,属于波形编码的范畴。第一代压缩编码方案把视频序列按时间先后分为一系列帧,每一帧图像又分成宏块以进行预测、运动补偿和编码,这种编码方案存在以下缺陷:● 将图像分成相同大小的块,高压缩比情况下会出现严重的块效应;● 无法对视频内容进行访问、编辑和回放等操作;● 未充分利用人类视觉系统HVS(Human Visual System)的特性。

2018-11-05 22:40:40

MPEG-4代表了基于模型和对象的第二代压缩编码技术,它充分利用了人眼视觉特性,抓住了图像信息传输的本质,从轮廓、纹理思路出发,支持基于视觉内容的交互功能

2018-11-05 22:45:54

MPEG-4实现基于内容操作的前提是把视频/图像分割成不同对象,或者把运动对象从背景中分离出来,然后针对不同对象采用相应的编码方法,以实现高效压缩。

2018-11-05 22:42:31

因此,尽管MPEG-4框架已经制定,但至今仍没有通用的有效方法去根本解决视频对象分割的问题

2018-11-05 22:45:46

视频对象平面(VOP)是视频对象(VO)在某一时刻的采样,VOP是MPEG-4视频编码的核心概念。MPEG-4在编码过程中针对不同VO采用不同的编码策略,即对前景VO的压缩编码尽可能保留细节和平滑;对背景VO则采用高压缩率的编码策略,甚至不予传输而在解码端由其他背景拼接而成。

2018-11-05 22:45:21

视频编码的可分级性(Scalability)是指码率的可调整性,即视频数据只压缩一次,却能以多个帧率、空间分辨率或视频质量进行解码,从而可支持多种类型用户的各种不同应用要求。

2018-11-05 22:49:31

钻石搜索法DS(DiamondSearch)以搜索模板形状而得名,具有简单、鲁棒、高效的特点,是现有性能最优的快速搜索算法之一。

2018-11-05 22:51:22

H.264算法还是基于块的混合编码技术,编码过程基本与以前的编码标准相同,只是每个功能模块都进行了技术更新,帧内预测、帧间预测、整数DCT变换、环路滤波、熵编码等模块都做了技术提升。

2018-11-05 22:55:00

与以往的Deblocking Filter不同的是,经过滤波后的图像将根据需要放在缓存中用于帧间预测

2018-11-05 22:57:47

传统的DCT是由浮点算法定点实现,所以IDCT不是可逆的,容易造成解码图像的周围“拖尾”现象。H.264对帧内或帧间预测的残差(Residual)进行整数DCT变换编码。新标准对DCT的定义做了修改,使得变换仅用整数加减法和移位操作即可实现,这样在不考虑量化影响的情况下,解码端的输出可以准确地恢复编码端的输入。此外,该变换是针对4×4块进行的,这也有助于减少块效应。为了进一步利用图像的空间相关性,在对色度(Chroma)的预测残差和16×16帧内预测的预测残差进行上述整数DCT变换之后,标准还将每个4×4变换系数块中的DC系数组成2×2或4×4大小的块,进一步做哈达玛(Hadamard)变换。

1.3 视频解码原理及主流解码器

2018-11-05 23:03:18

视频解码流程是编码的逆操作。实际上,任何一个编码器都隐含了解码器的大部分操作,如对于MPEG-4视频编解码算法来说,在图像或残差做DCT变换、量化后,接着是反量化、IDCT变换,然后将重建的数据补偿到编码图像中,从而保证解码时数据不会产生偏差。

2018-11-05 23:07:55

运动补偿是解码器中的重点,占用了约60%以上的计算负荷,这是因为码流统计中帧间编码为主要的编码类型,而与之对应的处理就是插值运动补偿,根据从码流中解析的运动向量信息,定位参考帧的确切位置,然后计算1/2、1/4像素精度的插值,最后把结果补偿(加)到重建帧中。

1.5 开源的视频CODEC

2018-11-05 23:18:15

MPEG-1和MPEG-2编解码源码从MPEG的主页http://www.mpeg.org上可直接获取。

2.1 视频数据来源

2018-11-05 23:22:47

网站http://media.xiph.org/video/derf/提供了许多常用的测试序列,包括其他链接如http://trace.eas.asu.edu/yuv/的YUV文件,以及Y4M格式的视频文件。

3.1 概述

2018-11-05 23:46:22

MPEG-4(ISO/IEC14496)算法是ISO的运动图像专家组MPEG(Moving PicturesExpert Group)在1998年发布的。其设计初衷是第二代图像编码标准,即对象编码。不过,该算法并不包含对象的分割方法,只是提供了对分割对象后的编码方法。

3.2 Xvid视频编码分析

2018-11-06 23:44:08

对8×8块进行编码,按照其在宏块中排列的顺序进行。

2018-11-06 00:37:46

对当前编码块(或者经过运动补偿的差值)进行DCT变换。

MPEG-4帧内编码没有预测编码,直接DCT

2018-11-06 00:44:03

AC/DC预测,即在编码I帧时,对当前宏块的第一行或者第一列系数同它周围的某一块作一个差值,进一步增加零系数,降低比特率。

系数的预测

2018-11-06 10:03:28

在图像帧P帧编码中,有一定数量的Intra模式的块编码,其他绝大部分为Inter模式或not_coded不编码模式。算法支持当整整的Intra块编码模式超过一定数量时,强制为I帧编码。

表达有些问题,需要查查

2018-11-06 22:26:42

在P帧编码前,首先对整帧做运动估计,确定每个宏块的编码模式为,Intra、Inter、Not_coded。如果Intra块的数量超过宏块总数的一定比例,则强制该帧做I帧编码。

2018-11-06 22:29:24

图像Intra块的变换与量化一般是放置在一起。变换采用离散余弦变换(DCT),量化采用H.263的均匀量化。

2018-11-06 23:47:00

宏块(包括一个16×16的亮度块,两个8×8的色度快)

2018-11-06 22:32:01

为保证与解码图像一致,做反DCT和反量化,将重建值更新到编码图像。

2018-11-06 22:40:15

对于Inter宏块编码中,首先写mcbpc、cbpy、MV,最后写宏块系数。

2018-11-06 22:39:24

对于Intra宏块编码中,首先写mcbpc、AC预测方向、cbpy,最后写宏块系数。

3.3 Xvid视频解码分析

2018-11-06 22:44:44

几乎所有的MPEG-4视频应用都是基于传统的矩形视频帧来处理的。只不过MPEG-4把整个图像画面看做一个对象,即视频对象平面VOP(Video Object Plane)。

2018-11-07 00:10:48

首先初始化必要的参数和变量,解码得到DC直流分量的量化步长,接着预测DCT系数以获得预测器,解码直流分量、交流分量,反量化、反变换。最后把解码的宏块数据更新到当前解码图像空间。

3.4 Xvid的MMX/SSE技术优化

2018-11-07 00:23:06

单指令多数据技术(SIMD),以并行方式处理多个数据元素

2018-11-07 01:06:35

2

4.2 适于数字媒体处理的DSP

2018-11-07 09:54:02

TI公司于2003年推出第一款适于数字媒体处理的DSP,即DM642,它是基于TMS320 C64x的DSP内核。

5.3 DM642平台下优化Xvid视频编码

2018-11-07 16:39:04

Xvid视频编码算法是以16×16的宏块MacroBlock为单位循环处理的,宏块又有4个亮度块和2个色素块等6个块Block组成的。MPEG-4的SP档级视频编码包括I帧和P帧两种编码方式。

2018-11-07 16:57:36

对于I帧图像,帧内的图像宏块即首先做DCT变换,DCT系数分直流分量DC和交流分量AC。然后对变换后的系数做量化,量化分为均匀量化(即H.263方式)和量化表(mpeg-4方式),通常采取第一种方式。对量化后的系数的最上边一行和最左边一列实施预测(即相减),因为图像块之间差别很小,则DCT系数应含有很强的相关性,预测后的系数含有较多的零值。最后的处理即熵编码,通常采取可变长度的Huffman编码

预测细节?

2018-11-07 16:59:22

对于P帧图像的编码,首先整帧图像与参考帧图像做运动估计,以宏块为单位,在一定窗口内搜索(即运动估计),通过SAD准则(图像宏块的差的绝对值的和)决定当前宏块是Intra块或Inter块的编码模式,并保存宏块的x和y方向的运动向量。

2018-11-07 20:17:25

MPEGX和H.26X系列标准采用了改进的Huffman编码或算术编码。

2018-11-07 20:20:13

编码器中的运动补偿,是指利用运动估计中的运动向量,定位准确的参考帧宏块,然后做减得到残差。即输入图像。而输出残差

5.4 DM642平台下优化Xvid视频解码

2018-11-07 20:24:08

视频解码器的工作流程为:首先解析码流的头字节以获得视频编码的信息,如图像的宽度和高度、帧率、量化步长、图像的编码方式(I或P帧)等,然后根据宽度和高度的大小循环宏块单位解码。解码的过程是,如果编码方式是I帧,依次执行熵解码、预测、反量化、反变换,如果编码方式是P帧,则依次执行运动向量解码、运动补偿、反量化、反变换。

2018-11-07 20:25:23

解码器中的运动补偿模块工作过程是,首先从参考帧补偿(即根据运动向量信息插值参考帧)得到当前解码图像的初版本,然后从码流解码获得残差,再将残差加到运动补偿得到图像,完成解码任务。

2018-11-07 20:27:22

Xvid的补偿是以8×8的块为单位的

2018-11-07 20:28:09

编码器和解码器均包含图像扩展的工作,即将所有参与图像放置在了二维空间中,图像的上、下、左、右四个边做了32个像素的扩展。

5.5 平台优化实验及分析

2018-11-07 20:32:00

运动估计和运动补偿是编码算法中的核心,是运算量的主要部分。

6.1 H.264概述

2018-11-07 20:58:59

最后形成了2003年5月发布的统一标准H.264/AVC。该标准在ITU-T中称为H.264,在ISO/IEC称为MPEG4-Part10AVC(Advanced Video Coding,高级视频编码)。即一个协议两个名称,一般称为H.264/AVC。

2018-11-07 20:59:50

JM是ITU-T提供的H.264/AVC参考软件,运行效率极低。可以作为H.264/AVC码流的验证模型,它包括视频编码和解码。JM的下载地址为:http://iphome.hhi.de/suehring/tml/。

6.2 H.264视频算法原理

2018-11-07 21:04:04

H.264/AVC是新一代视频编解码标准,提供了诸多以往视频算法所没有的新特性,以提高编码效率。这些新特性包括:● 利用临近块的边界像素的Intra空间预测,提供16×16、8×8、4×4预测模式。

2018-11-07 21:05:29

● 多参考帧的运动补偿。

2018-11-07 21:05:52

● 变块尺寸运动补偿。可使用最大16×16至最小4×4的块来进行运动估计与运动补偿

2018-11-07 21:06:17

● 完全可逆的整数DCT4×4变换,同样在高精度拓展中,采用整数8×8变换,并能在4×4变换和8×8变换中进行自适应的选择。

2018-11-07 21:06:46

● 在第一次4×4变换后,对DC系数(亮度、色度的DC系数)再进行一次Hadamard变换,使得其在平滑区域得到更好的压缩效果。

2018-11-07 21:07:17

● 宏块对结构允许场模式中采用16×16的宏块(相对于MPEG-2中的16×8)。

2018-11-07 21:07:38

● 加权的运动预测

2018-11-07 21:10:19

● 对既不是用CABAC也不是用CAVLC的语法元素,使用Exponential-Golomb(Exp-Golomb)熵编码方案,进行编码。

2018-11-07 21:14:44

● 灵活的宏块排列模式FMO(Flexible Macroblock Ordering,也被称为片组Slice Groups技术)和任意条带排列ASO(Arbitrary Slice Ordering)模式,用来更改图像编码的最基本单位——宏块的编码顺序。

2018-11-08 12:40:58

为了去除编码解码环路中产生的噪声,提高参考帧的图像质量,从而提高压缩图像性能,因此设置了环路滤波器,滤波后的输出
即为重建图像,可用作参考图像。

帧间编码用的是环路滤波后的图像,帧内编码用的是非环路滤波的图像

2018-11-08 12:44:35

帧内预测是基于图像块,对于亮度分量(Luma),块的大小,可以在16×16和4×4之间选择,16×16块有4种预测模式(垂直Vertical,水平Horizontal,直流分量DC,平面Plane),4×4块有9种预测模式(直流分量DC,8个方向)。对于色度分量(Chroma),预测是对整个8×8块进行的,有4种预测模式(垂直Vertical,水平Horizontal,直流分量DC,平面Plane)。除了DC预测外,其他每种预测模式对应不同方向上的预测。

2018-11-08 12:46:25

其中,垂直预测(模式0)、水平预测(模式1)、DC预测(模式2)总是被认为是有效的,即使在上边或左边像素值不存在的情况下,也可认为不存在的像素值为128填充,来进行预测。

2018-11-08 12:48:38

帧间预测是利用先前编码帧的重建图像作为参考,对当前图像进行预测编码的一种方式。

2018-11-08 12:49:20

H.264/AVC帧间预测的区别在于块尺寸更丰富,采用了1/4精度运动矢量、多参考帧等方法。

2018-11-08 12:51:18

一个16×16的亮度宏块有4种:1个16×16或2个16×8或8个8×16或4个8×8。

2018-11-08 12:52:25

8×8模式的每个子宏块可以进一步进行分割,也有4种:1个8×8,2个4×8,2个8×4,或4个4×4。

2018-11-08 20:26:53

如果不是预测残差,而是运动向量等其他数据,H.264/AVC则采用Exp-Golomb码或CABAC编码,视编码器的设置而定。

2018-11-08 20:29:17

。与以往的Deblocking Filter不同的是,经过滤波后的图像将根据需要放在缓存中用于帧间预测,而不是仅仅在输出重建图像时用来改善主观质量,也就是说该滤波器位于解码环中,而非解码环的输出外,因而它又称作环路滤波Loop Filter。

2018-11-08 20:30:01

需要注意的是,对于帧内预测,使用的是未经过滤波的重建图像。

2018-11-08 23:54:08

H.264编码器采用基于Lagrangian优化算法的率失真优化模型实现视频编码的控制,其实现方法简单而且效率高。

2018-11-08 23:55:51

序列参数集SPS包含的是针对一连续编码视频序列的参数选择标识,如帧数及POC的约束、参考帧数目、解码图像尺寸和帧场编码模式等。

2018-11-08 23:57:08

图像参数集PPS对应的是一个序列中某一幅图像或者某几幅图像,其参数如熵编码模式选择标识、片组数目、初始量化参数和去除块滤波系数调整标识等

6.3 x264视频编码分析

2018-11-08 23:59:39

H.264/AVC协议T-REC-H.264-200305.doc

2018-11-09 00:01:55

x264的数据结构x264_param_t包含了x264编码器的所有参数字段。

2018-11-09 00:38:12

编码帧类型仍然分为I帧(x264_type_i)、P帧(x264_type_p)、B帧(x264_type_b),在H.264中叫图像片Slice。x264把整帧图像看作一个Slice,片中有slice_type_i、slice_type_p、slice_type_b之分。I帧只有slice_type_i,p帧有slice_type_i、slice_type_p,B帧三种片均有。

2018-11-12 23:41:30

x264的编码器结构体x264_t中的子结构体字段frames包含了4个临时视频帧序列空间:current、next、unused和reference,分别保存当前编码帧、将编码帧序列、未处理原始视频帧序列和参考帧序列,同时X264编码器还申请了fenc和fdec空间用于存放已编码帧和重建帧。

2018-11-12 23:49:17

编码器处理视频帧的顺序如下:首先,从YUV视频文件中读取图像存储到临时x264_picture_t变量pic_in,同时为unused申请存储空间,并用fenc指针指向这个空间。接着,将pic_in中的图片数据拷贝到fenc所指向的空间,并在拷贝完成后对图片大小进行判断,如果长宽不为16的整数,倍则进行像素扩展;将处理后的fenc区域数据放入next区域。之后,如果存在B帧,则从next区域中取出B帧以后的P帧放到current区域中,也就是说先编码I、P帧再编码其间的B帧;否则,则直接从next区域取出一帧存入current区域。此时,current区域中存放的就是已经过预处理的即将要编

2018-11-12 23:47:52

接着,将pic_in中的图片数据拷贝到fenc所指向的空间,并在拷贝完成后对图片大小进行判断,如果长宽不为16的整数,倍则进行像素扩展;将处理后的fenc区域数据放入next区域。之后,如果存在B帧,则从next区域中取出B帧以后的P帧放到current区域中,也就是说先编码I、P帧再编码其间的B帧;否则,则直接从next区域取出一帧存入current区域。此时,current区域中存放的就是已经过预处理的即将要编码的帧数据了。

2018-11-12 23:56:19

最后,由于fenc区域是编码的直接对象,再将current区域中的内容拷贝到fenc中正式开始编码。

2018-11-15 09:55:33

编码器在进行预测编码之前必须得到周围块的相关信息,通过x264_macroblock_cache_load()函数将相关数据载入缓存

2018-11-15 09:55:49

然后,利用x264_macroblock_analyse()函数分析参数,确定最佳编码模式即宏块模式抉择

2018-11-15 09:56:51

P帧的帧间预测模式从16×16、16×8、8×16、8×8、8×4、4×8、4×4等以SAD值决定宏块的最佳编码模式。

2018-11-15 10:40:57

在检测16×8和8×16模式后。x264编码器在帧间模式选择后,使用x264_me_refine_qpel( h, &analysis.l0.me16x16 ),对当前最佳模式进行亚像素(分数像素)精细搜索。以进一步减少误差。

2018-11-15 10:49:17

P帧模式的最后选择。先初始化为Intra类型的16×16,记录代价值。然后分别比较Intra块的8×8、4×4,得到当前最佳。最后比较Inter块和Intra块的代价值,即帧内代价与帧间代价做比较,得到最佳编码模式及其代价值。

2018-11-15 11:52:42

搜索每个参考帧读到时间预测向量mvp,通过对参考块的预测得到邻块的MV、前一帧对应位置的MV

这些都是候选运动矢量

2018-11-15 12:01:27

严格按照编码框架中规定的DCT变换、Zigzag扫描和熵编码的过程,以先亮度块再色度块的顺序进行。需要说明的是编码器过程对DC参数和AC参数的处理是分开进行的:首先对整个宏块进行DCT变换,然后将亮度块和色度块的DC参数抽出分别组成4×4和2×2的子块并对剩余AC参数进行量化扫描,接着对DC子块再进行Hadmard变换、量化、Zigzag扫描、反变换、反量化,再对剩下的AC参数进行反量化,最后将处理后的DC子块和AC子块重新组合并对组合后的宏块进行IDCT变换

2018-11-15 12:06:35

CBP(Coded Block Pattern)信息。CBP一共6bit,用于表示当前宏块是否存在非零值,主要用于决定熵编码时采用的码表。

2018-11-15 12:06:47

熵编码实质是查表编码。


多看笔记 来自多看阅读 for iOS

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
h.264视频编解码源代码.rar 详细说明:h.264标准代码,用于视频编码!可以实现各种视频的编码和解码,可以在这个代码的基础上进行各种开发,比如算法的优化,转码技术,实现各种分辨了的转码-h.264 standard code, uses in the video frequency code! May realize each kind of video frequency code and the decoding, may carry on each kind of development in this code foundation, for instance the algorithm optimization, transfers the code technology, realizes each kind has distinguished extension code 文件列表: jm73 ....\JM ....\..\bin ....\..\...\decoder.cfg ....\..\...\encoder.cfg ....\..\...\lencod.exe ....\..\...\lencod.map ....\..\...\lencod.pdb ....\..\CHANGES.TXT ....\..\Changes_detail.txt ....\..\copyright.txt ....\..\disclaimer.txt ....\..\doc ....\..\...\coding_style.doc ....\..\...\doxygen.txt ....\..\...\h26l.css ....\..\...\ldecod.dox ....\..\...\lencod.dox ....\..\encoder.cfg ....\..\foreman_part_qcif.yuv ....\..\ldecod ....\..\......\inc ....\..\......\...\annexb.h ....\..\......\...\biaridecod.h ....\..\......\...\block.h ....\..\......\...\cabac.h ....\..\......\...\context_ini.h ....\..\......\...\contributors.h ....\..\......\...\ctx_tables.h ....\..\......\...\defines.h ....\..\......\...\elements.h ....\..\......\...\erc_api.h ....\..\......\...\erc_do.h ....\..\......\...\erc_globals.h ....\..\......\...\errorconcealment.h ....\..\......\...\fmo.h ....\..\......\...\global.h ....\..\......\...\header.h ....\..\......\...\image.h ....\..\......\...\leaky_bucket.h ....\..\......\...\macroblock.h ....\..\......\...\mbuffer.h ....\..\......\...\mb_access.h ....\..\......\...\memalloc.h ....\..\......\...\nalu.h ....\..\......\...\nalucommon.h ....\..\......\...\output.h ....\..\......\...\parset.h ....\..\......\...\parsetcommon.h ....\..\......\...\rtp.h ....\..\......\...\sei.h ....\..\......\...\vlc.h ....\..\......\Makefile ....\..\......\src ....\..\......\...\annexb.c ....\..\......\...\biaridecod.c ....\..\......\...\block.c ....\..\......\...\cabac.c ....\..\......\...\context_ini.c ....\..\......\...\erc_api.c ....\..\......\...\erc_do_i.c ....\..\......\...\erc_do_p.c ....\..\......\...\errorconcealment.c ....\..\......\...\filehandle.c ....\..\......\...\fmo.c ....\..\......\...\header.c ....\..\......\...\image.c ....\..\......\...\ldecod.c ....\..\......\...\leaky_bucket.c ....\..\......\...\loopFilter.c ....\..\......\...\macroblock.c ....\..\......\...\mbuffer.c ....\..\......\...\mb_access.c ....\..\......\...\memalloc.c ....\..\......\...\nal.c ....\..\......\...\nalu.c ....\..\......\...\nalucommon.c ....\..\......\...\nal_part.c ....\..\......\...\output.c ....\..\......\...\parset.c ....\..\......\...\parsetcommon.c ....\..\......\...\rtp.c ....\..\......\...\sei.c ....\..\......\...\vlc.c ....\..\ldecod.dsp ....\..\ldecod.dsw ... ...

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值