- 博客(37)
- 资源 (2)
- 收藏
- 关注
转载 帧内预测模式RDO
在对候选模式进行选择的时候,我们会用RDO方法选择最佳预测模式。帧内预测模式的RDO过程如下所述: 1,计算当前预测模式下的SSE,即残差平方和,作为RDO计算中的失真量。 2,计算当前预测模式下,编码TU所需要的比特数,这个是预测模式RDO的主要工作。需要进行编码的参数以及编码的过程如下面所述: (1),编码PU参数,其实就是编码帧内预测模式 (2),编码
2017-06-25 16:34:24 937
转载 JM8.6中的encode_one_macroblock注释
下面是在阅读JM8.6的过程中,对encode_one_macroblock的注释。/*! ************************************************************************************* * \brief * Mode Decision for a macroblock *
2017-06-25 15:25:45 612
转载 解码器输出PSNR为0表示什么
我想很多朋友在解码器输出时都会看到PSNR等于0的情况,这代表了什么意思呢?这表示你解码得到的图像和参考图像是一致的。下面基于baseline的情况详细说明一下。 首先看ldecod.c中的main()函数init_conf(input, argv[1]);…img->idr_psnr_number=input->ref_offset;显然这边的
2017-06-23 16:52:47 725
转载 JM8.6的解码端去方块滤波代码详述
这部分在标准的8.7 Deblocking filter process有详细的描述,技术白皮书中也有专门讲去方块滤波的部分,因此在资料方面应该是不成问题。去方块滤波的代码主要集中在JM8.6 Decoder的loopFilter.c文件中,入口函数为DeblockPicture(),此函数在image.c的exit_picture()中被调用,也就是说这个去方块滤波模块是在解码完一幅图像后被
2017-06-23 16:51:48 527
转载 关于level_idc
今天看到init_dpb()时有这么一行代码dpb.size= getDpbSize();dpb.size表示什么含义我想大家都明白,这里我们关键看getDpbSize();getDpbSize()函数一上来给pic_size赋值,这个仔细看应该也不难,接着就是我要讲的重点拉。代码如下: switch (active_sps->level_idc)//第一帧IDR,这
2017-06-23 16:50:17 658
转载 JM8.6之get_block() 1/4亮度像素内插详述
理论方面的知识在这里不详细讲述,毕书的222页和264标准上的8.4.2.2.1章节都有非常详细的说明。这里,我主要讲的是程序是如何使具体代码对应理论公式。 void get_block(int ref_frame, StorablePicture **list, int x_pos, int y_pos, struct img_par *img, int block[BLOCK_SI
2017-06-23 16:49:29 865
转载 关于JM8.6中MAX_LIST_SIZE值的选取
我们知道在参考图像队列中listX[ i ][ j ]这边的i的取值范围是0~5,而且0~5所代表的含义论坛上已经有人说过。今天我要说的是这个j的取值范围是0~MAX_LIST_SIZE-1 即0~32为什么会有33个元素呢?我们知道264规定最多可用16个参考帧,如果是场模式,那么也就32个,但是这边还是多了一个,为什么呢?现在我告诉你,这是程序上需要多留了一个的,跟
2017-06-23 16:48:41 469
转载 JM8.6之erc_api.c文件初探
这个文件里面的函数都相对来说比较简单,主要就是对objectBuffer_t和ercVariables_t两个结构体一些控制。 void ercInit(int pic_sizex, int pic_sizey, int flag)函数被调用时ercInit(img->width, img->height, 1);此flag=1设置是否将解码器的误码掩盖功能开启,通过erc
2017-06-23 16:47:45 361
转载 JM8.6之参考图像管理
H.264 参考图像管理综述总体而言,mbuffer.c文件主要的三个函数是init_lists,reorder_lists和store_picture_in_dpb。其中init_lists和reorder_lists在read_new_slice函数中,主要是将已经存储在dpb.fs_ref和dpb.fs_ltref,即短期和长期参考队列按照一定的排列规律一起存到listX[0
2017-06-23 16:46:37 667
转载 Quantization Techniques in JM/KTA – Part 2
2. Principle of H.264/AVC Normal Quantization Scheme2.1. Scalar dead-zone quantizationIn this section the principle of H.264/AVC normal quantization scheme is described in a generalized form.
2017-06-23 16:45:33 369
转载 快速H.264编码算法的研究及实现
这是从网上找到一个毕业论文的一部分。这一部分主要介绍H.264中的相关技术。总结的比较不错。本来是pdf,现在转化为图片了。
2017-06-23 16:44:16 784
转载 H.264抗误码策略及FMO
一篇介绍FMO的比较不错的论文。H.264中典型的抗误码工具 (1). 参数集的使用以往的编码标准都是具有分层特性的, 有类似Slice/Picture/Gop/Macroblock的结构. 在H.264中经常变动的内容在slice中传输, 而对于那些不变的使用"参数集"的方式进行传输(2). 数据分割H.264允许根据语法分类 将每个Slice的数据划分为3个
2017-06-23 16:40:25 1473
转载 UMHexagonS算法优化
网上找到的一个对UMHexagonS算法的优化。 前面是作者的答辩PPT,后面是作者发表的论文PDF。题目:基于H.264/AVC视频编码运动估计算法的优化1. 编码发展简史1984年CCITT发布了H.120(数字基群电视会议编码标准)建议.1988年CCITT通过了"px64Kbps(p = 1,2,3,,,,30)"视频编码标准H.261建议,被成为视频压缩编码的一个
2017-06-23 16:39:26 1963
转载 H.264熵编码分析
利用信源的随机过程统计特性进行码率压缩的编码方式称为熵编码。它是把所有的语法(句法)元素(包括控制流数据,变换量化残差系数和运动矢量数据)以一定的编码形式映射成二进制比特流。熵编码是无损压缩编码方法,它生成的码流可以经解码无失真地恢复出数据。在信息论中表示一个数据符号的理论上最佳的比特数通常是一个分数而不是整数,这个比特数用log2(1/P)表示,其中P是每个数据符号的出现概率。这里Log2(1/
2017-06-23 16:38:04 1277
转载 X264结构体中的变量解释
这是来自H.264乐园的一个帖子。typedef struct x264_param_t{ /* CPU 标志位 */ unsigned int cpu; int i_threads; /* 并行编码多帧 */ int b_deterministic; /*是否允许非确定性时线程优化*/
2017-06-23 16:37:09 370
转载 H.264 视频编码器的研究与分析
H.264 视频编码器的研究与分析郝瑞林北京邮电大学网络技术研究院 北京(100876)E-mail:ruilynn@gmail.com摘 要:随着市场对多媒体信息传输需求的增加,多媒体信息传输如何适应不同信道传输特性的问题日益显现出来。H.264作为新一代视频编解码标准,它压缩性能优异,图像质量高,可满足各种不同速率、 不同场合的视频应用。 正因为功能的多样性,
2017-06-23 16:35:49 1640
转载 MotionEstimate运动估计综述
这儿是对运动估计算法的分析与记录第一部分的" 运动估计综述"是从gu网上下载到的, 讲的挺详细,第二是UMHexagonS算法的分析运动估计综述 1.定义这里指基于块的运动估计,基本思想是将图像序列的每一帧分成许多互不重叠的块,并认为块内所有像素的位移量都相同,然后对每个宏块到参考帧某一给定特定搜索范围内根据一定的块匹配准则找出与当前块最相似的块,即
2017-06-23 16:26:44 12952 1
转载 场编码MBAFF相关
场编码MBAFF相关宏块与宏块对 假设 A、B 是上下相邻的两个 MB: 在非宏块对的情况下:A、B宏块序号不连续,相差图像一行宏块个数。即按光栅扫描顺序编号。 在帧宏块对的情况下:A、B宏块序号连续,即按锯齿扫描顺序编号。A、B 组成不变。A 称为顶帧宏块,B 称为低帧宏块。 在场宏块对的情况下:A、B宏块序号连续,即按锯齿扫描顺序编号。但是这个时候的 A 是由原来 A、B 两个宏块中的
2017-06-23 16:15:33 778
转载 JM代码阅读之一SODB RBSP EBSP NALU
JM版本16.0,配置文件encoder_baseline.cfg,H.264标准文档(03/2010)版。通过对码流的第一个NALU(SPS)的形成来分析。首先给出编码后的最终码流(SPS + PPS):00 00 00 01 67 42 00 28 F3 05 89 C8 00 00 00 01 68 C9 4A 38 80将SPS(红色部分)转换成二进制:0000
2017-06-23 14:41:48 793
转载 H.264官方软件JM源代码简单分析-编码器lencod
=====================================================H.264/H.265 官方源代码分析文章:H.264官方软件JM源代码简单分析-编码器lencodH.264官方软件JM源代码简单分析-解码器ldecodHEVC官方软件HM源代码简单分析-编码器TAppEncoderHEVC官方软件HM源代码简单分析-解码器TAppDe
2017-06-22 14:58:18 696
转载 ffmpeg filter过滤器 基础实例及全面解析
目录目录什么是ffmpeg filter如何使用ffmpeg filter1 将输入的1920x1080缩小到960x540输出2 为视频添加logo3 去掉视频的logo自己写一个过滤器filter的结构体filter_frame调用流程1 decode_video ffmpegc2 av_buffersrc_add_frame_flags
2017-06-20 22:16:37 670
转载 ffmpeg超详细综合教程——摄像头直播
本文的示例将实现:读取PC摄像头视频数据并以RTMP协议发送为直播流。示例包含了1、ffmpeg的libavdevice的使用2、视频解码、编码、推流的基本流程具有较强的综合性。要使用libavdevice的相关函数,首先需要注册相关组件avdevice_register_all();接下来我们要列出电脑中可用的dshow设备AVFormatContext *pFm
2017-06-20 18:55:28 11133 4
转载 FFmpeg滤镜代码级分析
前一篇文章《为FFmpeg添加自定义滤镜》详细讲述了FFmpeg的滤镜添加步骤,并给出了代码实例。本文将以FFmpeg自带的deinterlace滤镜”yadif – yet another deinterlace filter”为例分析FFmpeg滤镜的代码级实现机制。总的来说,FFmpeg的滤镜机制和MicroSoft Directshow机制基本相同——不知道谁学了谁的,
2017-06-20 18:53:56 572
转载 ffmpeg超详细综合教程(二)——为直播流添加滤镜
在上一篇文章中,讲解了如何利用ffmpeg实现摄像头直播,本文将在此基础上,实现一个可以选择各种视频滤镜的摄像头直播示例。本文包含以下内容1、AVFilter的基本介绍2、如何利用ffmpeg命令行工具实现各种视频滤镜3、如何利用libavfilter编程实现在摄像头直播流中加入各类不同滤镜的功能具有较强的综合性。AVFilter的基本介绍AVFilter的功能十分强大
2017-06-20 18:52:16 44159 4
转载 ffmpeg滤镜
过滤器分类1.1简单过滤器在简单过滤器中,只包含一个输入和一个输出,并且输入输出是同一类型。在下面的处理过程中,仅仅是在解码和编码之间加上一个额外的过滤步骤。简单过滤器由per-stream-filter参数(视频为-vf,音频为-af)配置。一个用于处理视频的简单过滤器大概是这个流程:一些过滤器只改变数据帧的属性,并不改变数据帧的内容。例如:fps过滤器改变数据帧的个
2017-06-20 18:22:42 776
转载 FFmpeg滤镜使用指南
目录1. FFmpeg滤镜文档2. 示例 2.1 缩放 2.2 视频加速 2.3 滤镜图,链和滤镜关系 2.4 多个输入覆盖同一个2x2 网格 2.5 转义字符 2.6 烧录时间码 2.7 描述命令行参数 2.8 测试源3. 滤镜列表4. 其它滤镜示例5. 开发自己的滤镜FFmpeg添加了很多滤镜,查看哪些滤镜有效可用命令
2017-06-20 16:15:25 1262
转载 ffmpeg 最简单的水印功能
ffmpeg中的filter功能不得不说真不错,类似于gstreamer,所有的filter(过滤器)都是相互连接对应的pad来完成数据流在其中的转换的,从src filter进,从sink filter出。相信玩过gstreamer的朋友一定能理解这种模式,如果不明白的朋友可以去gst官网了解下其方式,我本人认为这个比直接看filter来理解更容易。 好了,那水印的添加也是通过avfi
2017-06-20 15:57:34 481
原创 sofia-sip帮助文档
sofia-sip帮助文档:http://sofia-sip.sourceforge.net/refdocs/nta/index.htmlhttp://sofia-sip.sourceforge.net/refdocs/nta/nta_8h.html#a0a8c71bfc1f474c03f824ac5d1761d99
2017-06-18 18:14:02 1265
转载 Sofia-SIP辅助文档三 - 编码指南
http://sofia-sip.sourceforge.net/refdocs/programming.html,翻译自官网的这张网页。编写可移植代码Sofia-SIP的大部分代码都以可移植性方式编写。所有核心模块都采用ANSI C 89规范编写,偶尔加上一些ANSI C 99规范特性。如果存在一些特定平台相关的代码,将它们隔离在一个独立的C文件中,并对外提供包装接口。S
2017-06-17 09:10:17 1269
转载 Sofia-SIP辅助文档六 - Sofia-SIP中的SIP和SDP特性
本文档将阐述Sofia-SIP协议栈是如何支持下面的这些标准。 RFC 3261RFC 2617RFC 3262RFC 3263RFC 3265RFC 2806RFC 2976RFC 3311RFC 3313RFC 3323RFC 3326RFC 3325RFC 3327RFC
2017-06-17 08:25:43 1432
原创 sofia-sip下载地址
sofia-sip协议中下载地址http://sofia-sip.sourceforge.net/download.html
2017-06-17 07:45:05 1242
转载 H.264 JM的学习笔记
Useful Links:Rate Control and H.264: http://www.pixeltools.com/rate_control_paper.htmlJM online documents:encoder: http://iphome.hhi.de/suehring/tml/doc/lenc/html/index.html
2017-06-15 09:08:18 1430
转载 UML图中类之间的关系:依赖,泛化,关联,聚合,组合,实现
类与类图1) 类(Class)封装了数据和行为,是面向对象的重要组成部分,它是具有相同属性、操作、关系的对象集合的总称。2) 在系统中,每个类具有一定的职责,职责指的是类所担任的任务,即类要完成什么样的功能,要承担什么样的义务。一个类可以有多种职责,设计得好的类一般只有一种职责,在定义类的时候,将类的职责分解成为类的属性和操作(即方法)。3) 类的属性即类的数据职责,类的操作即类的行为
2017-06-14 14:16:09 23904 1
转载 H.264中整数DCT变换,量化,反量化,反DCT究竟是如何实现的?(无代码,无真相)
H.264中采用的是整数DCT变换,在实现的时候,该变换和量化又杂糅在一起,那么这些错综复杂的关系究竟是怎样纠缠的呢?在参考H.264乐园论坛会员cs1860wd的帖子和H.264 and MPEG-4 VIDEO COMPRESSION(第一版)这本书后,基于帖子和书上的讲解,给出相应的实现代码,并验证代码的正确性. 还是以foreman视频第一帧第一个宏块第一个4*4块
2017-06-09 11:05:19 1315
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人