自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

轻舞飞扬

视频压缩,视频编码,图像处理,图像压缩

  • 博客(127)
  • 资源 (21)
  • 收藏
  • 关注

原创 [AV1] AV1技术专栏(正在更新中)

这个专栏是我花了半年的时间阅读libav1,SVT-AV1以及dav1d的源码后摸索总结出来的AV1技能树,希望能帮助到你的AV1编解码器的学习。

2020-10-18 16:08:08 44407 19

原创 [AV1] interpolation

在AV1中,帧间预测的插值滤波一共定义了以下五种类型interpolation filter名称0EIGHTTAP_REGULAR1EIGHTTAP_SMOOTH2MULTITAP_SHARP3BILINEAR4switchabetypedef enum ATTRIBUTE_PACKED { EIGHTTAP_REGULAR, EIGHTTAP_SMOOTH, MULTITAP_SHARP, BILINEAR, // Enco

2022-01-04 16:43:28 844 1

原创 一段NEON代码

#include <iostream>#include <arm_neon.h> //需包含的头文件using namespace std;float sum_array(float *arr, int len){ if (NULL == arr || len < 1) { cout << "input error\n"; return 0; } int dim4 = len >&gt

2021-09-14 16:59:03 460

原创 STL学习笔记(16)常用STL算法

算法主要是由头文件#include <algorithm.h>组成。 其中常用的功能涉及到比较,交换,查找,遍历,复制,修改,反转,排序,合并等。常用遍历算法for_each/* 遍历算法 遍历容器元素 @param beg 开始迭代器 @param end 结束迭代器 @param _callback 函数回调或者函数对象 @return 函数对象 */for_each(iterator beg, iterator end, _callback)

2021-07-02 17:39:36 386

原创 STL学习笔记(15)函数对象适配器

函数适配器 bind1st bind2nd现在有这么个需求,在遍历容器的时候,希望将容器中的值全部加上 100 之后显示出来,怎么做?我们直接给函数对象绑定参数 编译阶段就会报错for_each(v.begin(), v.end(), bind2nd(myprint(),100));如果我们想使用绑定适配器,需要我们自己的函数对象继承 binary_function 或者 unary_function,根据我们函数对象是一元函数对象,还是二元函数对象来决定绑定哪个。class MyPrint :

2021-07-02 15:35:17 186

原创 STL学习笔记(14)内建函数对象

STL内建函数对象STL 内建了一些函数对象。分为:算数类函数对象,关系运算类函数对象,逻辑运算类仿函数。这些仿函数所产生的 对象,用法和一般函数完全相同,当然我们还可以产生无名的临时对象来履行函数功能。使用内建函数对象,需 要引入头文件 #include。6 个算数类函数对象,除了 negate 是一元运算,其他都是二元运算。template<class T> T plus<T>//加法仿函数 template<class T> T minus<T>

2021-07-02 14:43:12 92

原创 STL学习笔记(13)谓词

谓词谓词是指普通函数或重载的 operator()返回值是 bool 类型的函数对象(仿函数)。如果 operator 接受一个参数,那么叫做一元谓词,如果接受两个参数,那么叫做二元谓词,谓词可作为一个判断式。class GreaterThenFive{public: bool operator()(int num) { return num > 5; }}; //一元谓词void test01(){ vector<int> v; for (int

2021-07-02 14:34:39 90

原创 STL学习笔记(12)函数对象

函数对象重载函数调用操作符的类,其对象常称为函数对象(function object),即它们是行为类似函数的对象,也叫仿函数(functor),其实就是重载“()”操作符,使得类对象可以像函数那样调用。注意1.函数对象(仿函数)是一个类,不是一个函数。2.函数对象(仿函数)重载了”() ”操作符使得它可以像函数一样调用。函数对象分类:假定某个类有一个重载的 operator(),而且重载的 operator()要求获取一个参数,我们就将这个类称为“一元仿函数”(unary functor)

2021-07-02 14:29:12 118

原创 H.266 现状

H.266,即VVC,已于2020年6月完成标准化工作,其标准号为Rec. ITU-T H.266 and ISO/IEC 23090-3,标准将在2020年11月正式开始生效。H.266最显著的特点就是其相比起它前一代的标准,即ITU-T and ISO/IEC High Efficiency Video Coding (HEVC),标准号Rec. ITU-T H.265 and ISO/IEC 23008-2,有近50%的压缩性能的提升,而相比起更早的标准H.264/MPEG-4 AVC standar

2021-06-13 13:57:49 2940

原创 手把手教你搭建自己的 AV1 Analyzer

随着最近H.266标准的完成,其惊人的复杂度令人生畏,与此同时,新兴的AOM组织于2018年年中耗时3年完成的AV1标准吸引了不少业内人的眼球,不仅仅是其有竞争力的编码性能,还有其在流媒体方面的优异表现,最重要的是其免专利费(royalty-free)使用这一项就会吸引各大厂商跟进。以前学习ITU-T线的编解码标准的时候,边学习边会有使用到码流分析工具来协助我们理解码流内部的编码结构,比如H264的时候,我们有使用Vega H264 Analyzer,HEVC的时候,我们有使用Elecard stream

2021-04-13 15:27:34 1896 9

原创 STL学习笔记(11)常用容器 map/multimap

map/multimap 基本概念Map 的特性是,所有元素都会根据元素的键值自动排序。Map 所有的元素都是 pair,同时拥有实值和键值,pair 的 第一元素被视为键值,第二元素被视为实值,map 不允许两个元素有相同的键值。我们可以通过 map 的迭代器改变 map 的键值吗?答案是不行,因为 map 的键值关系到 map 元素的排列规则,任 意改变 map 键值将会严重破坏 map 组织。如果想要修改元素的实值,那么是可以的。Map 和 list 拥有相同的某些性质,当对它的容器元素进行新增

2021-04-11 12:40:53 117

原创 STL学习笔记(10)常用容器 pair

对组(pair)将一对值组合成一个值,这一对值可以具有不同的数据类型,两个值可以分别用 pair 的两个公有属性 first 和 second 访问。类模板:template <class T1, class T2> struct pair.如何创建对组?//第一种方法创建一个对组pair<string, int> pair1(string("name"), 20);cout << pair1.first << endl; //访问 pair 第一

2021-04-11 11:48:24 93

原创 STL学习笔记(9)常用容器 set/multiset

set/multiset 容器基本概念Set 的特性是:所有元素都会根据元素的键值自动被排序。Set 的元素不像 map 那样可以同时拥有实值和键值,set 的元素即是键值又是实值。Set 不允许两个元素有相同的键值。 我们可以通过 set 的迭代器改变 set 元素的值吗?不行,因为 set 元素值就是其键值,关系到 set 元素的排序规则。 如果任意改变 set 元素值,会严重破坏 set 组织。换句话说,set 的 iterator 是一种 const_iterator. set 拥有和 list

2021-04-11 11:40:08 129

原创 STL学习笔记(8)常用容器 list

list 容器基本概念链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。 相较于 vector 的连续线性空间,list 就显得负责许多,它的好处是每次插入或者删除一个元素,就是配置或者释放一个元素的空间。因此,list 对于空间的运用有绝对的精准,一点也不浪费。而且,对于任何位置的元素插入或元

2021-04-11 11:29:52 103

原创 STL学习笔记(7)常用容器 queue

queue 容器基本概念Queue 是一种先进先出(First In First Out,FIFO)的数据结构,它有两个出口,queue 容器允许从一端新增元素,从另 一端移除元素。queue 没有迭代器Queue 所有元素的进出都必须符合”先进先出”的条件,只有 queue 的顶端元素,才有机会被外界取用。Queue 不提 供遍历功能,也不提供迭代器。queue 常用操作1. queue 构造函数queue<T> queT;//queue 采用模板类实现,queue 对象的默认构

2021-04-11 11:11:55 115

原创 STL学习笔记(6)常用容器 stack

stack 容器基本概念stack 是一种先进后出(First In Last Out, FILO)的数据结构,它只有一个出口,形式如图所示。stack 容器允许新增元素, 移除元素,取得栈顶元素,但是除了最顶端外,没有任何其他方法可以存取 stack 的其他元素。换言之,stack 不允许有遍历行为。 有元素推入栈的操作称为:push,将元素推出 stack 的操作称为 pop。stack 没有迭代器Stack 所有元素的进出都必须符合”先进后出”的条件,只有 stack 顶端的元素,才有机会被外

2021-04-11 11:07:36 100

原创 STL学习笔记(5)常用容器 deque

deque 容器基本概念Vector 容器是单向开口的连续内存空间,deque 则是一种双向开口的连续线性空间。所谓的双向开口,意思是可以 在头尾两端分别做元素的插入和删除操作,当然,vector 容器也可以在头尾两端插入元素,但是在其头部操作效率 奇差,无法被接受。Deque 容器和 vector 容器最大的差异,一在于 deque 允许使用常数项时间对头端进行元素的插入和删除操作。二 在于 deque 没有容量的概念,因为它是动态的以分段连续空间组合而成,随时可以增加一段新的空间并链接起来, 换句

2021-04-11 11:02:48 100

原创 STL学习笔记(4)常用容器 vector

vector 容器基本概念vector 的数据安排以及操作方式,与 array 非常相似,两者的唯一差别在于空间的运用的灵活性。Array 是静态空间, 一旦配置了就不能改变,要换大一点或者小一点的空间,可以,一切琐碎得由自己来,首先配置一块新的空间, 然后将旧空间的数据搬往新空间,再释放原来的空间。Vector 是动态空间,随着元素的加入,它的内部机制会自 动扩充空间以容纳新元素。因此 vector 的运用对于内存的合理利用与运用的灵活性有很大的帮助,我们再也不必 害怕空间不足而一开始就要求一个大块头的

2021-04-10 19:18:10 114

原创 STL学习笔记(3)常用容器 string

string 容器基本概念C风格字符串(以空字符结尾的字符数组)太过复杂难于掌握,不适合大程序的开发,所以C++标准库定义了一种string 类,定义在头文件。String 和 c 风格字符串对比:char*是一个指针,String 是一个类string 封装了 char,管理这个字符串,是一个 char 型的容器。String 封装了很多实用的成员方法 查找 find,拷贝 copy,删除 delete 替换 replace,插入 insert不用考虑内存释放和越界string 管理 ch

2021-04-10 18:54:00 106

原创 STL学习笔记(2)STL 三大组件

容器容器,置物之所也。 研究数据的特定排列方式,以利于搜索或排序或其他特殊目的,这一门学科我们称为数据结构。大学信息类相关 专业里面,与编程最有直接关系的学科,首推数据结构与算法。几乎可以说,任何特定的数据结构都是为了实现 某种特定的算法。STL 容器就是将运用最广泛的一些数据结构实现出来。常用的数据结构:数组(array),链表(list),tree(树),栈(stack),队列(queue),集合(set),映射表(map),根据数据在容器中的 排列特性,这些数据分为序列式容器和关联式容器两种:

2021-04-10 18:23:42 120

原创 STL学习笔记(1)STL 概述

长久以来,软件界一直希望建立一种可重复利用的东西,以及一种得以制造出”可重复运用的东西”的方法,让程序 员的心血不止于随时间的迁移,人事异动而烟消云散,从函数(functions),类别(classes),函数库(function libraries), 类别库(class libraries)、各种组件,从模块化设计,到面向对象(object oriented ),为的就是复用性的提升。复用性必须建立在某种标准之上。但是在许多环境下,就连软件开发最基本的数据结构(data structures) 和算法

2021-04-10 17:42:24 176

原创 在Windows环境下编译VPX

首先到CygWin的官网下载CygWin的安装包,编译环境需在此环境下进行,https://cygwin.com/install.html,安装的过程中,记得一定要安装perl,make,wget,apt-cyg这些命令,不然后面会很麻烦安装apt-cyg可以直接将这个脚本拷贝到系统中,然后运行即可。然后在CygWin环境下,切换到libvpx的目录下,运行configure./configure --target=x86-win32-vs12 --enable-static-msvcrt --d

2021-03-19 19:04:48 474

原创 [C语言] #、##、__VA_ARGS__的使用

从网上借鉴了一些内容,然后整理了一下三者的区别,记录一下。#include <iostream>// #: 用来把参数转换成字符串#define LOG1(x) do { printf("%s=%d\n",#x,x); }while(0)// ##:用于将带参数的宏定义中将两个子串(token)联接起来,从而形成一个新的子串;但它不可以是第一个或者最后一个子串。所谓的子串(token)就是指编译器能够识别的最小语法单元;#define LOG2(x) log##x()// __VA

2021-03-14 18:04:27 372

原创 不同HDR技术的比较

HDR技术优点缺点Dolby VisionTM12-bit colorsLuminance up to 10000 nits (4000 nits current target) - future proofDynamic Metadata(per scene) - SMPTE ST 2094-10Dual Layer DV: Backward compatibility with legacy SCR TVs and STBEarly Adoption by TV mannufac...

2021-03-13 14:11:35 1761 9

原创 [AV1] Super-Resolution

Super-Resolution

2021-03-12 13:11:36 1036

转载 过扫描和欠扫描

在crt显示时代,电子束在扫描图像的时候,并不是从显示器的边缘开始的,为什么了,因为如果正好100%从边缘开始我们就会看到显示边缘畸变,图像扭曲不正常,为了解决这个问题,就是加大扫描范围,而显示较小的范围,通常国家标准是95%。即实际上我们看到的图像只是真实的图像的95%,边缘被切掉了,切掉的图像部分就是畸变的部分。我们称这个现象为过扫描现象即overscan。那何谓欠扫描,从字面意思理解就是欠缺扫描,即图像扫描不到位,扫描面积小于显示面积。直观的体验就是你看到的图像不满屏有黑边。所以带来一个问题,在现

2021-03-06 16:47:13 3402 1

原创 [AV1] Reference Frame Update

返回首页

2021-02-20 18:43:42 555

原创 [AV1] Motion Vector Prediction

返回首页

2021-02-20 18:42:25 1079 1

原创 [AV1] Motion Vector

返回首页

2021-02-20 18:41:10 490

原创 [AV1] Reference Frame

帧间预测算法里另一个重要的概念就是参考帧了Reference Frame在实际的软件实现中,一般编码器会维护两个Reference Frame list,分别为 RefFrame[0]和RefFrame[1],当仅只有一个参考帧时,RefFrame[1]会被置空,也就是赋值为 -1RefFrame[0]Name of ref_frame0INTRA_FRAME1LAST_FRAME2LAST2_FRAME3LAST3_FRAME4GOLDEN_FR

2021-02-20 18:03:09 2238 2

原创 [AV1] Inter Block Mode

在AV1中的帧间预测中,最重要的概念之一就是帧间预测块的YMode了。YMode我们知道,在AV1中,帧间预测有若干的参考帧,那么我们到底去哪一帧获取到运动向量(Motion Vector)呢,这个就靠YMode来指定了。标准中,YMode有以下的指定值。YModeName of YMode含义14NEARESTMV使用RefStackMv[0] 作为Motion Vector15NEARMV使用RefStackMv[RefMvIdx]作为Motion Vector

2021-02-20 16:49:32 1156

原创 [AV1] Constrained Directional Enhancement Filter

CDEF原理在AV1视频标准中,CDEF为非线性空间滤波器,该滤波器以8x8为基本单位,通过沿着物体的方向进行滤波,从而消除和减弱振铃(ringing artifact)效应,从而提升重建图像的质量。在Encoder端,CDEF滤波一共分三部分组成,分别为CDEF direction 处理CDEF Block 处理CDEF Filter 处理CDEF direction 处理首先,CDEF一共定义了八个方向,如下图所示:沿着方向,一个8x8的块由很多行(由k表示)的像素组成,每个方向的

2021-02-20 16:29:00 1575 5

原创 [AV1] Intra Block Copy

返回目录Intra Block Copy

2020-12-29 18:26:17 875

原创 [AV1] Chroma from Luma Prediction

返回目录[AV1] Chroma from Luma Prediction

2020-12-29 18:25:18 682

原创 [AV1] Palette Intra Prediction

返回目录Palette Intra Prediction

2020-12-29 18:23:45 1135

原创 [AV1] Paeth Intra Prediction

返回目录[AV1] Paeth Intra Prediction

2020-12-29 18:22:34 1063 2

原创 [AV1] Smooth Intra Prediction

返回目录[AV1] Smooth Intra Prediction

2020-12-29 18:19:47 1221 1

原创 [AV1] DC Intra Prediction

返回目录[AV1] DC Intra Prediction

2020-12-29 18:18:35 849

原创 [AV1] Directional Intra Prediction

[AV1] Directional Intra Prediction

2020-12-29 18:15:22 924

原创 [AV1] 谈谈AV1中的 S-Frame

[AV1] 谈谈AV1中的 S-Frame

2020-12-27 00:10:20 2577 6

wg1n76028-CfP-JPEG-reference-software.pdf

Final CfP for a JPEG Reference Software

2021-03-15

vcredist_x64_vs2010

vcredist_x64_vs2010.exe,一个vc的包,在配置c、c++环境的时候用得着,同时安装一些vs的项目的时候也会需要

2020-11-01

AV1 Specification 标准文档

This version 1.0.0 with Errata 1 of the AV1 Bitstream Specification supercedes all previous versions of the AV1 Bitstream Specification, most notably version 1.0.0, which is now obsolete. This version 1.0.0 with Errata 1 of the AV1 Bitstream Specification corresponds to the Git tag v1.0.0-errata1

2020-10-19

liu2017.pdf

论文:An Adaptive CU Size Decision Algorithm for HEVC Intra Prediction based on Complexity Classification using Machine Learning

2020-06-20

R-REC-BT.500-13-201201-I!!PDF-E.pdf

This Recommendation provides methodologies for the assessment of picture quality including general methods of test, the grading scales and the viewing conditions. It recommends the double-stimulus impairment scale (DSIS) method and the double-stimulus continuous quality-scale (DSCQS) method as well as alternative assessment methods such as single-stimulus (SS) methods, stimulus-comparison methods, single stimulus continuous quality evaluation (SSCQE) and simultaneous double stimulus for continuous evaluation (SDSCE) method.

2020-02-16

C#程序设计.pdf

《C#程序设计》将C#程序设计必须掌握的知识归纳为若干案例,每个案例解决一个问题。初学者只需模仿案例,获得直接体验,然后再学习和案例直接相关的知识。通过一个单元接着一个单元的模仿、学习,逐步地构成完整的知识体系。

2019-06-04

c# Winform实践开发教程(扫描版).pdf

c# Winform实践开发教程 很详细的一本书,想学习C# WinForm开发的必备书籍

2019-06-04

Introduction to Visual Studio and CSharp.pdf

Microsoft Visual Studio is an integrated development environment (IDE) from Microsoft. It can be used to develop console and graphical user interface applications along with Windows Forms applications, web sites, web applications, and web services in both native code together with managed code for all platforms supported by Microsoft Windows, Windows Phone, Windows CE, .NET Framework, .NET Compact Framework and Microsoft Silverlight.

2019-05-13

C#界面设计教程.ppt

C#是一种可视化的程序设计语言。 Windows窗体和控件是开发C#应用程序的基础,窗体和控件在C#程序设计中扮演着重要的角色。在C#中,每个Windows窗体和控件都是对象,都是类的实例。 窗体是可视化程序设计的基础界面,是其他对象的载体和容器。 控件是添加到窗体对象上的对象,每个控件都有自己的属性、方法和事件以完成特定的功能。 Windows应用程序设计还体现了另外一种思维,即对事件的处理。

2019-05-13

C#--winform--常用控件大全.doc

包含了以下的内容 1、窗体 1 2、Label 控件 3 3、TextBox 控件 4 4、RichTextBox控件 5 5、NumericUpDown 控件 7 6、Button 控件 7 7、GroupBox 控件 7 8、RadioButton控件 8 9、CheckBox 控件 8 10、ListBox 控件 9 11、ComboBox 控件 10 12、CheckedListBox 控件 10 13、PictureBox 控件的使用 11 14、Timer 控件 11 15、ProgressBar控件和 TrackBar控件 12 16、HScrollBar 控件和 VScrollBar控件的使用 13 17、OpenFileDialog 控件 13 18、SaveFileDialog 控件 14 19、FontDialog 控件 14 20、ColorDialog控件 14 21、PrintDialog控件和 PrintDocument 控件 15 22、用户自定义对话框 15 23、菜单控件 15 25、MDI 应用程序设计 16 26、键盘事件处理 17 27、鼠标事件处理 18 28、排列窗体上的控件 18

2019-05-13

LTE历史与网络构成简介

随着信息技术的发展,用户需求的日渐增多,移动通信技术已称为当代通信领域的发展潜力最大,市场前景最广的研究热点。目前,移动通信技术已经历了几代的发展。

2019-05-09

LTE Network Architecture: Basic

This document provides a brief overview of the LTE network architecture as the first technical document of “LTE” area. First, the LTE network reference model is defined and its basic Evolved Packet System &#40;EPS&#41; entities and the functions of each entity are described. Next, the interfaces between the EPS entities and the protocol stack across the interfaces are described. Finally, how user traffic is delivered across the LTE network is explained for Internet service.

2019-05-08

一台电脑学网管

《一台电脑学网管》共分为四大部分:虚拟机入门篇、网络组建篇、网络维护篇和虚拟化应用篇。以实例的形式为大家讲解了在虚拟机中如何组建各类网络,并深入讲解作为网管应该如何高效地对网络进行维护。 内容包括:虚拟机配置与应用、一台计算机搭建家庭网、一台计算机搭建企业网、无线网络搭建、校园网组建与管理、网络服务器配置、网络远程管理、路由和网桥实验、网络高效管理、组建虚拟无盘工作站、虚拟机中组建Linux和Windows混合网络。

2019-05-07

汇编语言实用教程-基于Win32编程

本书主要内容包括:80x86指令系统、寻址方式、宏指令与伪指令、汇编语言格式与程序结构、分支程序设计、循环程序设计、子程序设计、宏汇编技术、系统功能调用与使用方法、I/O程序设计方法与中断程序设计。详细介绍Win32汇编编程技术,以及Win32汇编语言与C/C++语言混合编程方法,使读者对Win32汇编编程有初步认识。

2019-04-26

大学生就业指导.Net方向

大学生就业指导.Net方向,书中从基础的C#入门到ASP.NET网页设计

2019-04-10

BackTrack4 利用渗透测试保证系统安全

BackTrack4 利用渗透测试保证系统安全,是一本利用黑客攻防技术来保证系统安全的书

2019-04-10

微机原理答案

微机原理课程答案,微机原理与接口技术 第4版 --基于IA-32处理器和32位汇编语言

2011-12-21

空空如也

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

TA关注的人

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