自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(46)
  • 资源 (2)
  • 收藏
  • 关注

原创 AV1代码学习6:tpl_model之三

在完成mode_estimation模式选择之后,AV1会利用函数tpl_model_store对数据进行重新计算并更新到tpl_ptr指针里,特别注意:tpl_ptr是指向每个4×4块的左上角,也是AV1块划分的最小单位。这样不管是什么划分情况,都可以访问到里面的内容。static void tpl_model_store(TplDepStats *tpl_stats_ptr, int mi_row, int mi_col, BLOCK_SIZ

2020-07-24 16:33:30 785

原创 AV1代码学习6:tpl_model之二

mode_estimation字面意思就是模式估计,实质上是对帧内和帧间的模式进行遍历。帧内预测选取了13种模式,主要是DC模式、角度模式和新加入的PAETH模式。static void mode_estimation(AV1_COMP *cpi, MACROBLOCK *x, MACROBLOCKD *xd, struct scale_factors *sf, int frame_idx,

2020-07-24 15:52:48 1290

原创 pkg-config

DESCRIPTION pkgconf is a program which helps to configure compiler and linker flags for development libraries. This allows build systems to detect other dependencies and use them with the system toolchain.查看 环境变量 这样,pkg-config就会去/u...

2020-07-16 15:54:41 227

转载 【计算机网络】第九章:无线网络

9.1 几种无线网络的对比PAN:个人局域网LAN:无线局域网MAN:无线城域网WAN:无线广域网9.2 无线局域网的组成重点讨论LAN。思路是设备的无线网卡和无线路由的AP连接,组成无线局域网,无线AP给无线设备分配IP。基本服务集内的基站叫做接入点(Access Point)。当网络管理员安装AP时,必须为该AP分配一个不超过32字节的 服务集标识符SSID 和 一个信道。两个无线IP通过网线连接,这样两个无线局域网可以看成一个整体的网络,两个AP类似于集线器。9.3 无线路

2020-07-07 12:29:28 319

转载 【计算机网络】第八章:Internet上的音频视频

8.1 Internet上传输音频视频面临的问题占用带宽高,要求网速恒定延迟低。而数据信息,对带宽要求低,网速不稳定,延迟高也没事。(1)延迟:发送时延,传播时延,排队时延,处理时延(路由的路径选择),不过对于非交互式的音频视频的影响会小一些。(2)带宽不稳定。需要在接收端设置缓存(看电影时可以弥补数据包没按顺序接收到的问题)。8.2 Internet上提供的音频/视频服务的类型(1)流式存储音频/视频——边下载边播放。(节省客户端硬盘空间,不用下载;保护视频版权)(2)流式实况音频/视频—

2020-07-07 12:27:41 298

转载 【计算机网络】第七章:网络安全

7.1 网络安全介绍7.1.1 一个入侵实例(1)端口扫描,指定一个公网范围扫描端口的地址,调查哪些主机开了1433端口。(2)将地址拷贝到某个破解数据库管理员密码的软件。7.1.2 安全包括哪些方面(1)数据(文件/文件夹)存储安全(2)应用程序安全(3)操作系统安全(4)网络安全(5)物理安全(6)用户安全教育7.2 计算机网络上的通信面临的威胁(1)截获——从网络上窃听他人的通信内容。(被动攻击)(例如cain软件)(2)中断——有意中断他人在网络上的通信。(主动攻击)

2020-07-07 12:26:58 623

转载 【计算机网络】第六章:应用层

6.1 域名协议DNS(Domain Name System)6.1.1 作用把域名解析为IP地址。例如打得开QQ(可以直接用IP地址登陆),打不开网络可能是域名问题。8.8.8.8 是google的DNS服务器,222.222.222.222是电信的DNS服务器,能够用来帮忙解析域名地址。6.1.2 域名根 .顶级域名 com, edu, net,cn,org,gov二级域名 91xueit, inhe,例如91xueit.com是全球唯一的域名。三级域名 dba,例如www.dba.9

2020-07-07 12:24:17 221

转载 【计算机网络】第五章:传输层

第五章 传输层->传输层协议UDP和TCP->网络安全->TCP可靠传输的实现->TCP的流量控制->TCP的拥塞控制->TCP的运输连接管理5.1 OSI和DoD模型下图必须背下来。尤其是传输层和网络层的协议。传输层最大数据包是65535字节,而网络层数据最大只有1480字节。所以需要分段,但是只要分段,就有可能丢包,因为网络层不负责可靠传输。所以要求服务器和客户端保持会话,直到数据传输完成。->TCP(Transmission Cont

2020-07-07 12:23:26 393

转载 【计算机网络】第四章:网络层

4.1 网络层提供的服务4.1.1 网络层的作用负责在不同的网络之间(基于数据包的IP地址)尽力转发数据包,不负责丢包重传和接收顺序。有点像送快递,一个人往另一个地方寄快递,每个快递走不同的路线,可能后发的先到了,也可能丢件了。但是网络层不管这些,只管寄快递。数据包在Internet中的传输,Internet既有局域网,又有广域网,既有光纤,又有铜线,无线,还有不同的协议,这是Internet复杂所在。路由器是三层设备:能看到网络层的IP地址来选择路径。4.1.2 互联网络与虚拟互联网络

2020-07-07 12:21:27 337

转载 【计算机网络】第三章:数据链路层

3.1 数据链路层的基本概念3.1.1 数据链路层的简单模型数据链路层不关心物理层解决的问题,只关心帧头帧尾和校验。3.1.1 数据链路层的信道类型->点到点信道:这种信道使用一对一的点对点通信方式。->广播信道:广播信道上的主机很多,需要专用的共享信道协议来协调主机的数据发送。3.1.2 链路与数字链路->链路(link)——是一条点到点的物理线路段,中间没有任何其他的交换节点。一条链路只是一条通路的一个组成部分。->数据链路(data link)——除了物理

2020-07-07 12:20:32 260

转载 【计算机网络】第二章:物理层

2.1 物理层定义的标准物理层解决如何在链接各种计算机的传输媒体上传输数据比特流,而不是指具体的传输媒体。物理层的主要任务:确定传输媒体的接口的一些特性,包括,机械特性:接口形状,大小,引线数量电气特性:例如规定电压范围(-5V-5V)功能特性:例如规定-5V上0,+5V是1过程特性:也称规程特性,规定建立连接时各个相关部件的工作步骤2.2 数据通信基础知识2.2.1 通信的目的是传送消息数据(data)——运送消息的实体。信号(signal)——数据的电气或电磁的表现。-&gt

2020-07-07 12:19:06 208

转载 【计算机网络】第一章:计算机网络概述

第一章 计算机网络概述局域网:覆盖范围小,自己花钱购买设备, 带宽固定10M 100M 1000M,自己维护,最远100m广域网:距离远(>100m),花钱租带宽internet:ISP是电信运营商internet service producer自己的机房,对网民提供访问Internet网站的访问:帧:数据包包括数据+网站和请求端的IP地址;后两部分是目标mac地址和原mac地址,即物理地址,传播过程中一直在变化。数据的请求:数据的返回:网页上的数据是一块块发送给

2020-07-07 12:17:48 132

原创 1104. 二叉树寻路

class Solution {public: vector<int> pathInZigZagTree(int label) { vector<int> res; int layer=0; int labelBackUp=label; while(label!=0) { label>>=1; layer++; }.

2020-06-03 23:30:18 144

原创 AV1代码学习6:tpl_model之一

AV1的tpl_model是AV1的一个c文件,包含了一系列函数,其主要目的是为了利用lookahead design记录每个块的一些数据,包括失真等,在实际编码时利用这些数据建立模型,调整QP或者lambda以取得更好的编码性能。相关方面的论文是:《A Temporal Dependency Model for Rate-Distortion Optimization in ...

2019-12-24 16:39:50 2574

原创 AV1代码学习6:函数av1_encode和 av1_first_pass

av1_encode没什么特别好说的,会把在av1_encode_strategy的参数(EncodeFrameInput和EncodeFrameParams)赋给结构体AV1_COMP和AV1_COMMON,对当前帧的数据进行初始化 AV1_COMP *const cpi AV1_COMMON *const cm = &cpi->common; CurrentFra...

2019-12-23 16:14:47 2599

原创 AV1代码学习5:函数av1_encode_strategy

函数av1_encode_strategy会执行一些high-level的编码策略,包括选择帧的类型等。其中函数choose_frame_source,会根据当前帧是否为ARF or internal ARF,来对原始帧进行时域滤波,如果不是则用LAST代替或者从lookahead从得到。show_existing_frame代表这一帧已经编码过.tpl_model在第二次编码才会使用,是...

2019-12-10 15:48:23 1278

原创 AV1代码学习4:函数encoder_encode

进入函数encoder_encode,注意结构体AV1_COMP,基本上所有有关编码的具体信息都能从这里访问到,包括QP,POC等。av1_receive_raw_frame会对一系列结构体和buffer进行初始化,包括lookahead结构体以及参考帧列表等,下一个函数入口是av1_get_compressed_data,若返回-1则指的是没有帧被编码,因为AV1有lag-in-frame,...

2019-12-09 15:29:32 1189 1

原创 AV1代码学习3:函数aom_codec_encode

函数aom_codec_encode主要就是根据命令行参数--cpu-used来决定num_enc, 通常情况下,为了通测方便,--cpu-used都是设置为1. 提高--cpu-used的数值会加快编码器的速度,但也会降低编码质量。确定好num_enc之后,就会调用函数encoder_encodeaom_codec_err_t aom_codec_encode(aom_codec_ctx_...

2019-12-09 12:27:43 1360 2

原创 AV1代码学习2:函数encode_frame

之前代码学习1里有提到主要编码循环(while (frame_avail || got_data))里的函数encode_frame, 这个函数会做一些放缩的工作,以及计时器的启动,会把stream->encoder传入函数aom_codec_encode进行下一步工作,并判断返回值是否有error。需要注意的是av1默认是two-pass encoding,所以第一次编码是在大QP和低码...

2019-12-09 12:10:37 1004

原创 AV1代码学习1:aomenc的main函数

这里使用的是AV1(Jun. 8, 2019version)。aomenc是编码器工程,完成视频序列的编码。运行时,首先调用aomenc.c中的main函数main函数中完成的工作主要有初始化,解析输入文件,打印数据,并且对编码过程进行计时,因为AV1是用C编写的,所以有很多地方看上去不是那么简洁。其中调用了函数encode_frame,是编码器的最上层的入口。主要过程是:...

2019-12-09 11:47:23 1507 1

原创 AV1代码学习0:libaom的配置以及码流分析

之所以写这个专栏,主要还是因为项目原因要学习AV1,之前也从未接触过工程量这么大的工程代码,所以这个专栏的形式可能会像学习笔记或者学习过程的一个记录。在学习AV1之前有接触过HEVC,很多基础的东西都是在岳麓吹雪大神的博客学到,受益匪浅。AOMedia Video 1(简称AV1)与HEVC最大的不同就是它是一个免专利的编解码器,由开源媒体联盟(AOM)开放,主要是谷歌牵头做的。AV1是还是基...

2019-12-06 20:35:17 6379 6

原创 AV1编码器相关介绍和资料

Assuming you know the basics of video codec's: Great start for AV1:Into the Depths: The Technical Details behind AV1 by Nathan Egge A few more details:The AV1 Video Codec(techical info star...

2019-05-20 15:49:08 2393 3

转载 AV1 编码器guide

Encode 8-bit AV1aomenc -v -w 1920 -h 1080 --cpu-used=0 --target-bitrate=1500 --threads=16 --profile=0 --aq-mode=0 --lag-in-frames=25 --auto-alt-ref=1 -o av1-8bit.webm 8bit.y4mEncode 10-bit AV1ao...

2019-01-17 15:03:55 1496 2

原创 AV1 Window编译(Using VS2015)

Step 1:在http://www.msys2.org/下载msys2,安装完成后打开msys2Step 2:在终端中输入pacman -S cmake gcc mingw-w64-x86_64-winpthreads-git mingw-w64-x86_64-libwinpthread-git binutils coreutils yasm git base-devel p7zip...

2019-01-15 17:12:52 1304

原创 [Coursera C++程序设计] 期末考试—编程试题

编程题#1:输出200来源: 北京大学在线程序评测系统POJ (Coursera声明:在POJ上完成的习题将不会计入Coursera的最后成绩。)总时间限制: 1000ms 内存限制: 1024kB描述使以下代码输出结果为200.123456789101112131415#include&lt;iost...

2018-07-27 19:45:54 3220 2

原创 [Coursera C++程序设计] 第九周作业

编程题#1来源: POJ (Coursera声明:在POJ上完成的习题将不会计入Coursera的最后成绩。)注意: 总时间限制: 1000ms 内存限制: 65536kB描述下面的程序用枚举法解决如下问题,请填空。平面上的一个矩形,如果其边平行于坐标轴,我们就称其为“标准矩形”。给定不重复的 n 个整点(横、纵坐标都是整数的点),求从这n个点中任取4点作为顶点所构成的四边形中...

2018-07-26 16:35:00 1331

原创 [Coursera C++程序设计] 第七周作业

编程题#1来源: POJ (Coursera声明:在POJ上完成的习题将不会计入Coursera的最后成绩。)注意: 总时间限制: 1000ms 内存限制: 65536kB描述实现一个三维数组模版CArray3D,可以用来生成元素为任意类型变量的三维数组,使得下面程序输出结果是:0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,...

2018-07-23 17:06:38 1281

原创 [Coursera C++程序设计] 第八周作业

编程题#1来源: POJ (Coursera声明:在POJ上完成的习题将不会计入Coursera的最后成绩。)注意: 总时间限制: 1000ms 内存限制: 65536kB描述下面的程序输出结果是:1 2 6 7 8 9请填空:  1234567891011#include &lt;iostream&gt;#i...

2018-07-23 17:01:31 959

原创 [Coursera C++程序设计] 第六周作业

编程题 #1来源: POJ (Coursera声明:在POJ上完成的习题将不会计入Coursera的最后成绩。)注意: 总时间限制: 1000ms 内存限制: 65536kB下面程序的输出结果是:A::FunC::Do请填空:1234567891011121314151617181920212223242526272829303132#include &lt;iostream&gt;using n...

2018-07-12 15:22:50 779

原创 [Coursera C++程序设计] 第五周作业 编程题#2

编程题#2: 魔兽世界之二:装备来源: POJ (Coursera声明:在POJ上完成的习题将不会计入Coursera的最后成绩。)注意: 总时间限制: 1000ms 内存限制: 65536kB描述魔兽世界的西面是红魔军的司令部,东面是蓝魔军的司令部。两个司令部之间是依次排列的若干城市。红司令部,City 1,City 2,……,City n,蓝司令部两军的司令部都会制造武士。武士一共有 drag...

2018-07-06 13:13:56 614

原创 [Coursera C++程序设计] 第五周作业 编程题#1

编程题#1来源: POJ (Coursera声明:在POJ上完成的习题将不会计入Coursera的最后成绩。)注意: 总时间限制: 1000ms 内存限制: 65536kB描述写一个MyString 类,使得下面程序的输出结果是:1. abcd-efgh-abcd-2. abcd-3.4. abcd-efgh-5. efgh-6. c7. abcd-8. ijAl-9. ijAl-mnop10. ...

2018-07-06 13:08:14 1025

原创 [Coursera C++程序设计] 第四周作业

编程题 #1来源: POJ (Coursera声明:在POJ上完成的习题将不会计入Coursera的最后成绩。)注意: 总时间限制: 1000ms 内存限制: 65536kB描述下面程序的输出是:3+4i5+6i请补足Complex类的成员函数。不能加成员变量。12345678910111213141516171819#include &lt;iostream&gt;#include &lt;cs...

2018-07-04 19:34:38 1546

原创 [Coursera C++程序设计] 第三周作业

编程题#1来源: POJ (Coursera声明:在POJ上完成的习题将不会计入Coursera的最后成绩。)注意: 总时间限制: 1000ms 内存限制: 65536kB描述下面程序输出的结果是:05请填空:12345678910111213#include &lt;iostream&gt;using namespace std;class A {public: int val;// 在此...

2018-06-21 22:00:28 1661

转载 [Coursera C++程序设计] 第二周作业

简单的学生信息处理程序实现来源: POJ (Coursera声明:在POJ上完成的习题将不会计入Coursera的最后成绩。)注意: 总时间限制: 1000ms 内存限制: 65536kB描述在一个学生信息处理程序中,要求实现一个代表学生的类,并且所有成员变量都应该是私有的。(注:评测系统无法自动判断变量是否私有。我们会在结束之后统一对作业进行检查,请同学们严格按照题目要求完成,否则可能会影响作业...

2018-06-21 21:49:55 1218

转载 约瑟夫问题(链表)

#include&lt;iostream&gt;using namespace std;struct Node { int num; Node *ahead; Node *next;};Node *Create(int N) {//创建N个节点的循环链表 int n = 1; Node *node = new Node; node-&gt; num = n; Node *h...

2018-06-21 21:32:41 260

原创 [Coursera C程序设计进阶] 期末考试

编程题#1:含k个3的数来源: POJ (Coursera声明:在POJ上完成的习题将不会计入Coursera的最后成绩。)注意: 总时间限制: 1000ms 内存限制: 65536kB描述输入二个正整数m 和 k,其中1 &lt; m &lt; 100000,1 &lt; k &lt;5 ,判断m 能否被19整除,且恰好含有k个3,如果满足条件,则输出YES,否则,输出NO。例如,输入:4383...

2018-06-19 23:08:12 1202

原创 [Coursera C程序设计进阶] 第六周作业

编程题#1:分配病房来源: POJ (Coursera声明:在POJ上完成的习题将不会计入Coursera的最后成绩。)注意: 总时间限制: 1000ms 内存限制: 65536kB描述某个科室的病房分为重症和普通,只有当病人的疾病严重程度超过了入住重症病房的最低严重值,才可以安排入住重症病房。现在要求设计一个程序,给病人安排好病房。疾病的严重程度用0到10来表示,0表示小毛病,10表示非常严重。...

2018-06-18 23:25:08 692

原创 [Coursera C程序设计进阶] 第五周作业

编程题#1:计算矩阵边缘元素之和来源: POJ (Coursera声明:在POJ上完成的习题将不会计入Coursera的最后成绩。)注意: 总时间限制: 1000ms 内存限制: 65536kB描述输入一个整数矩阵,计算位于矩阵边缘的元素之和。所谓矩阵边缘的元素,就是第一行和最后一行的元素以及第一列和最后一列的元素。输入第一行为整数k,表示有k组数据。每组数据有多行组成,表示一个矩阵:第一行分别...

2018-06-18 13:24:40 671

原创 [Coursera C程序设计进阶] 第三周作业

编程题#1:单词翻转来源: POJ (Coursera声明:在POJ上完成的习题将不会计入Coursera的最后成绩。)注意: 总时间限制: 1000ms 内存限制: 65536kB描述输入一个句子(一行),将句子中的每一个单词翻转后输出。输入只有一行,为一个字符串,不超过500个字符。单词之间以空格隔开。所谓单词指的是所有不包含空格的连续的字符。这道题请用cin.getline输入一行后再逐个单...

2018-06-13 21:06:32 725

原创 [Coursera C程序设计进阶] 第二周作业

编程题#1:寻找下标注意: 总时间限制: 1000ms 内存限制: 65536kB描述已知一个整数数组x[],其中的元素彼此都不相同。找出给定的数组中是否有一个元素满足x[i]=i的关系,数组下标从0开始。举例而言,如果x[]={-2,-1,7,3,0,8},则x[3] = 3,因此3就是答案。输入第一行包含一个整数n (0 &lt; n &lt; 100),表示数组中元素的个数。&lt;br /...

2018-06-11 00:16:22 824

libaom

谷歌的开源编解码器AV1的压缩包,用git下载也许会遇到一些问题

2019-06-20

The Comparsion between AV1 and HEVC.ppt

该资源只是一个PPT,内容是AV1和HEVC在编码流程上的一些对比

2019-06-20

空空如也

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

TA关注的人

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