- 博客(99)
- 资源 (4)
- 收藏
- 关注
原创 Git原理
Git原理1、[Git本质原理](https://zhuanlan.zhihu.com/p/45510461?from=singlemessage)2、Git与SVN的区别3、工作区、暂存区、本地仓库、远程仓库3、暂存区/index1、Git本质原理2、Git与SVN的区别SVN等大多数版本控制系统存储的数据是一系列记录项目文件变更的文件。2. Git存储的数据则更像是一个微型文件系统的一系列快照,即快照流。3、工作区、暂存区、本地仓库、远程仓库3、暂存区/indexindex是二
2021-09-05 21:31:09 531
原创 NUMA机制
NUMA一、NUMA二、特点三、缺点一、NUMA非一致内存访问(Non-Uniform Aemory Access,NUMA)是一种多核CPU扩展技术。利用NUMA技术,可以将成百上千个CPU组合在服务器中。访问本地内存(Local Access)速度快访问远端内存(Remote Access)速度慢二、特点NUMA服务器的基本特征是具有多个CPU模块,每个CPU模块由多个CPU(如4个)组成,并且具有独立的本地内存、I/O槽口等。由于其节点之间可以通过互联模块(如称为Crossbar Sw
2021-04-08 10:35:13 402
原创 【FFmpeg4.1.4】音视频分离器
音视频分离器一、MP4提取H265裸流无效二、添加头信息三、音视频分离步骤:四、命令行一、MP4提取H265裸流无效FFmpeg解封装得到的AVPacket只包含了视频压缩数据,没有相关的参数集信息(比如:h265的vps头信息,h264的sps、pps头信息,AAC的adts头信息),不能初始化解码器。二、添加头信息StartCodePrefix的两种方式: Annex B和HVCC。Annex B:在NALU前加0x000001或者0x00000001 ;HVCC:在NALU前加上指示其长
2020-12-09 11:54:47 944
原创 【实习秋招篇之数据结构与算法】
数据结构与算法一、 时间复杂度和空间复杂度二、 字符串三、 二叉树1、平衡二叉树2、搜索二叉树3、红黑树的特点4、满二叉树与完全二叉树四、 位运算五、 Map与Hash_map六、 排序算法七、 查找算法八、 递归与循环九、 动态规划与贪心算法十、 面试编程题一、 时间复杂度和空间复杂度1、时间复杂度:算法流程中,常数操作数量的指标。 只有高阶项,不要低阶项,系数为1。2、空间复杂度:算法流程中,额外分配的空间关于输入规模的函数。二、 字符串KMP算法:核心思想是计算模式串相等的最长前后缀信
2020-09-01 11:12:31 988
原创 【实习秋招篇之计算机网络】
计算机网络一、 三次握手和四次挥手二、 Socket编程三、TCP与UDP的区别:一、 三次握手和四次挥手三次握手1、第一次握手:客户端发送连接请求报文段(segment)。客户端将SYN置为1,序号置为x,发送报文段,客户端进入SYN_SEND状态,等待服务器的确认;2、第二次握手:服务器接收SYN报文段,应答客户端并发送SYN报文。服务器将ACK置为1,确认号置为x+1;同时将SYN置为1,序号置为y;服务器发送SYN+ACK报文段,服务器进入SYN_RECV状态;3、第三次握手:客户端接
2020-09-01 10:44:36 337
原创 【实习秋招篇之操作系统】
操作系统一、 进程与线程二、 进程通信三、 线程通信一、 进程与线程进程是程序运行时的实例,有系统进行资源费配,拥有独立的地址空间。进程间无法直接访问,需要通过管道、消息队列、信号量、共享内存和socke等。线程是进程中的一条执行路径,独立的运行单位,依赖于进程而存在。一个程序至少有一个进程,一个进程至少有一个线程。进程中的线程共享所有的进程资源。二、 进程通信1、管道2、消息队列3、信号量:是一个计数器,用于进程间的同步和互斥,需要结合共享内存。4、共享内存:两个或多个进程共享一个给定
2020-09-01 10:24:37 210
原创 【实习秋招篇之C++面经】
C++必背面经一、 C++的理解,C和C++的区别。二、 Struct和class的区别三、 Strlen和sizeof的区别四、 面向对象的理解五、 C++内存分布六、 智能指针七、 构造函数八、 默认构造函数九、 拷贝构造函数十、 析构函数十一、 delete与析构函数的区别十二、 delete与delete[]的区别十三、 多态与虚函数十四、 虚函数与纯虚函数的区别十五、 虚继承十六、 this指针十七、 关键字extern十八、 关键字static十九、 关键字volatile二十、 内存对齐二十一
2020-09-01 09:37:09 2180 1
原创 MP4格式详解
MP4格式一、MP4基本结构二、MP4 Box一、MP4基本结构MP4由多个Box组成,Box又由Header和Data组成。Header:包含Box的类型(type)和大小(size);当size为0时,表示文件中的最后一个Box;当size为1时,会定义largesize描述Box长度;当type为UUID时,表示Box是用户自定义扩展类型。Data:包含Box的实际数据,可...
2020-05-04 21:14:36 724
原创 数据结构之树
树一、基本概念二、三、算法遍历算法一、基本概念二、满二叉树完全二叉树线索二叉树平衡二叉树哈夫曼树三、算法遍历算法前序遍历中序遍历后序遍历层序遍历...
2020-03-05 19:04:30 173
原创 数据结构与算法之排序
排序算法一、排序二、排序算法分类三、算法性能:一、排序二、排序算法分类按照排序过程中数据是否全放在内存中,可以分为内排序和外排序,其中内排序又分为插入排序、交换排序、选择排序、归并排序三、算法性能:时间性能:比较和移动辅助空间:算法执行开辟的额外空间。算法复杂性:算法本身的复杂度冒泡排序选择排序直接插入排序希尔排序堆排序归并排序快速排序...
2019-12-29 22:27:40 323
原创 NVIDIA支持解码情况
NVIDIA支持解码一、不同架构对解码的支持情况二、不同显卡对解码的支持情况不同架构支持情况不同显卡支持情况一、不同架构对解码的支持情况GTX1080支持H264编解码的最大分辨率是4096 * 4096,支持HEVC解码的最大分辨率是8192 * 8192.二、不同显卡对解码的支持情况...
2019-12-19 11:47:10 2459
原创 NVDEC硬解码API导读
NVDEC硬解码API导读NVDECODEAPI解码流程:NVDECODEAPI解码流程:Create a CUDA context.创建CUDA上下文Query the decode capabilities of the hardware decoder.查询硬解码器Create the decoder instance(s).创建解码器实例De-Mux the conten...
2019-12-18 15:29:59 2155
原创 GPU存储系统
GPU内存结构一、概述物理概念:SP、Warp和SM的关系逻辑概念:Thread、Block和Grid的关系二、GPU的存储结构寄存器Local memory共享内存常量内存一、概述物理概念:SP、Warp和SM的关系一个SM由多个Warp组成,一个Warp由多个SP组成。Streaming Processor(SP): 最基本的处理单元。一个SP对应一个thread。Warp:最...
2019-12-18 12:16:06 1032
原创 【FFmpeg 之MP4】mp4视频切割
视频切割一、实现功能二、源程序一、实现功能从mp4文件截取局部视频。splite_video(std::string in_filename, std::string out_filename, int begin_index, int end_index)参数解析:in_filename:输入文件out_filename:输出文件begin_index:起始帧 //若起始帧不是关键...
2019-12-14 21:50:04 888
原创 数据结构之图
图一、基本概念二、图的存储结构三、算法深度优先遍历(DFS)广度优先遍历(BFS)最小生成树算法最短路径算法关键路径算法一、基本概念图是由顶点的有穷非空集合和顶点之间边的集合组成,通常表示为:G(V,E),其中G表示一个图,V表示图中边的集合。连通图:图中任意两点都能连通。带权值的图称之为网。树:没有环路的连通图。生成树:由n-1条边将n个顶点连接成的连通图。最小生成树:最小权值的...
2019-12-14 21:26:45 368
原创 网络流媒体协议之RTMP(一)
RTMP协议一、RTMP协议简介二、握手三、消息块 Chunck Block一、RTMP协议简介Real Time Message Protocol(RTMP),即实时消息传输协议,它是由Adobe公司提出的一种应用层协议,用来解决多媒体数据传输流的多路复用(Multiplexing)和分包(Packetizing)的问题。二、握手RTMP是基于传输层协议(TCP)来保证信息传输的可靠性,...
2019-12-06 10:12:38 371
原创 CPU初探
CPU初探一、CPU的架构体系1、冯诺依曼结构:数据和指令统一编址2、哈佛结构:数据和指令独立编址3、下面是对上图的几个引申知识点:二、CPU简介三、CPU运行原理一、CPU的架构体系目前市场上的CPU架构体系主要分为冯诺依曼结构和哈佛结构两类。其中,x86架构本质上就是冯诺依曼结构,ARM架构本质上就是哈佛结构。前者广泛应用在PC端,比如主机、笔记本、服务器等;比如后者主要应用在移动端,比如...
2019-12-05 16:39:32 527
原创 【FFmpeg之AVOption】编码选项设置
AVOption一、AVOption简介二、av_opt_set()函数详解一、AVOption简介AVOption是FFmpeg的选项设置工具。AVOption的核心概念就是“根据字符串操作结构体的属性值”。与AVOption最相关的选项设置函数就是av_opt_set()了。二、av_opt_set()函数详解int av_opt_set (void *obj, con...
2019-11-23 11:29:13 1861
原创 【C++拾遗之八】预编译
预编译一、预编译二、头文件的作用三、重定义错误一、预编译C++的预编译(预处理),是指在C++程序源代码被编译之前,由预处理器对C++程序源代码进行的处理。这个过程并不对程序的源代码进行解析,但它把源代码分割或处理成为特定的符号用来支持宏调用。程序的编译过程可以分为预处理、编译、汇编三部分,其中预处理是首先执行的过程,预处理过程扫描程序源代码,对其进行初步的转换,产生新的源代码提供给编译器。...
2019-11-21 17:13:07 606
原创 【C++解决问题之栈】Stack around the variable 'tilename' was corrupted
Stack error一、栈环境被破坏二、解决办法一、栈环境被破坏二、解决办法数组越界检查数组大小,循环变量是否越界。sprintf()会造成越界,在释放内存,做delete时会报错误,使用的时候要注意。char *tmp = new char[100];memset(tmp,'/0',100);//使用sprintf(), 将char *data 拷贝到tmp, data ...
2019-11-19 15:27:25 661
原创 FFmpeg中PTS与DTS详解
FFmpeg中PTS与DTS详解一、PTS与DTS简介二、时间基(time_base)简介一、PTS与DTS简介Decode Time Stamp(DTS)是解码时间戳,解码器解码时相对于SCR(系统参考)的时间戳。Presentation Time Stamp(PTS)是渲染时间戳,解码器渲染时相对于SCR(系统参考)的时间戳。duration是视频时长,表示当前帧的持续时间,或者说两...
2019-11-17 16:21:02 2630
转载 python问题
1、Python的json不能序列化datetime类型数据问题2、python字典for循环Python的json不能序列化datetime类型数据问题3、python字典for循环5、SQL基础教程3、SQL基础教程...
2019-11-17 10:47:38 176
原创 解决InternalError: (1054, u"Unknown column 'username' in 'field list'")问题
文章目录1、数据库不存在username字段2、username拼写错误,尤其注意前后多出的空格2、检查SQL语句语法3、表名是否对应1、数据库不存在username字段2、username拼写错误,尤其注意前后多出的空格2、检查SQL语句语法3、表名是否对应...
2019-11-17 10:44:35 4191
原创 网络流媒体协议之HLS(二) HLS直播系统测试
segmenter流分割器一、HLS转码fmp4文件:1、h264:2、h265:二、HLS转码ts文件:1、h264:三、搭建ngnix服务器四、测试1、ts流测试2、fmp4流测试五、参考链接一、HLS转码fmp4文件:1、h264:.\bin\ffmpeg -i .\input\bbb_sunflower_1080p_30fps_normal.h264 -loglevel verbos...
2019-11-15 21:24:47 1749
原创 python之numpy学习(一)
简介:NumPy(Numerical Python)是一个运行速度非常快的数学库,同时作为python的扩展库,支持数组和矩阵运算,并提供了大量的数学函数库。
2019-11-15 20:14:13 235
原创 深度学习第一讲-学习笔记
回归机器学习新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入机器学习机器学习:找到一个函数回归:找到一个输...
2019-11-15 20:13:56 1176
原创 opencv之Mat详解
文章目录使用[cv::Mat::imread()](https://docs.opencv.org/master/d4/da8/group__imgcodecs.html#ga288b8b3da0892bd651fce07b3bbd3a56)加载图像使用[cv::Mat::imwrite()](https://docs.opencv.org/master/d4/da8/group__imgcode...
2019-11-15 20:12:42 354
原创 数据结构之串
文章目录1、基本概念2、字符串结构3、模式匹配算法1、基本概念1、符编码集: 字符集 说明 标准ASCII 128 扩展ASCII 256 Unicode unicode ...
2019-11-15 20:11:46 400
原创 点云压缩
1、点云简介点云在文化遗产保护,自动驾驶,数字城市,沉浸式交流等许多领域得到广泛应用。 沉浸式交流,如虚拟现实(VR)和增强现实(AR)应用在业内正获得强劲势头。 实现这一目标的核心是构建一个高效的3D场景捕捉,压缩和通信系统。 点云压缩点云特征数据量大无序geometry = 3D positions (X,Y,Z) of a set of points attrib...
2019-11-15 20:11:13 2096
原创 【FFmpeg4.1.4 编码】h265编码
FFmpeg1、编码1、编码/* * Copyright (c) 2001 Fabrice Bellard * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the ...
2019-11-15 20:09:29 3656
原创 【视频压缩实践之一】DASH协议详解
文章目录1、DASH协议1、DASH协议** 基于HTTP的动态自适应流(英语:Dynamic Adaptive Streaming over HTTP,缩写DASH,也称MPEG-DASH),是一种自适应比特率流技术,使高质量流媒体可以通过传统的HTTP网络服务器以互联网传递。**类似苹果公司的HTTP Live Streaming(HLS)方案,MPEG-DASH会将内容分解成一系列小型...
2019-11-15 20:08:18 2438
原创 流媒体网络协议之HLS(一)
HLS一、HLS简介二、HLS框架三、M3U8文件结构四、 参考链接:一、HLS简介HTTP Live Streaming(HLS)是一个由苹果公司提出的基于HTTP的流媒体传输协议。HLS的工作原理是把媒体文件或媒体流按照不同的码率分成一个个小片段进行传输,客户端可以根据自身的网络带宽选择合适码率的码流进行下载播放。在传输会话开始时,客户端首先需要下载描述媒体码流数据的M3U8索引文件。...
2019-11-15 20:05:06 856
原创 流媒体传输协议之概述
流媒体网络协议一、流媒体二、流媒体协议一、流媒体媒体指的是承载信息的载体,而流媒体就是把媒体文件流化、串行化,已达到分段分发、分段播放的目的。流媒体的概念如下:流媒体(Streaming media)是指将一连串的媒体数据压缩后,经过网络分段发送数据,在网络上即时传输影音以供观赏的一种技术与过程,此技术使得数据包得以像流水一样发送;如果不使用此技术,就必须在使用前下载整个媒体文件。流媒体...
2019-11-12 09:29:30 909
原创 【C++拾遗之八】#pragmaonce与#ifndef的用法总结
宏定义一、两种宏定义的功能二、两种宏定义的用法三、两种宏定义的区别一、两种宏定义的功能#ifndef 和 #pragma once都是C/C++中的两种宏定义。它们的作用是为了避免同一个头文件被多次包含(include)。二、两种宏定义的用法#ifndef#ifndef EXAMPLE_H_#define EXAMPLE_H_... ...// 声明、定义语句#endif...
2019-11-08 16:49:12 339
原创 【C++异常处理机制】
文章目录一、异常处理机制1、异常:2、异常处理:3、异常可能性:4、传统的异常处理方法:二、C++异常处理机制:三、C++异常处理的实现1、try2、throw3、catch四、标准程序库异常的用法五、异常处理中的构造与析构六、小结一、异常处理机制1、异常:程序执行时遇到的任何错误或意外行为。2、异常处理:异常处理就是当程序出现这些错误后,给与恰当的处理,为程序提供退出的安全通道。...
2019-11-03 22:44:26 895
原创 【C++拾遗之七】YUV视频下采样
文章目录1、下采样(subsample or downsample)2、源码1、下采样(subsample or downsample)图像下采样原理:原始图像的分辨率为WxH,对其进行n倍下采样得到(W/n)x(H/n)分辨率的图像,其中n应该是M和N的公约数才行。n倍下采样,即每n个像素抽取一个像素。将YUV视频分为亮度分量(Y)和色度分量(U、V),对视频的每一帧都进行n采样,就可以实...
2019-11-02 21:53:35 1259 1
原创 【C++拾遗之四】getline函数
文章目录1、getline(std::ifstream* fin, std::string str)函数1、getline(std::ifstream* fin, std::string str)函数函数功能:逐行读取字符参数解析:参数1:文件描述符参数2:字符串,存放读取的一行字符返回值:返回读取的字符数char cfg_path[] = "encode.cfg";std::if...
2019-11-02 21:11:14 1042
FaceRecognition.rar
2019-10-12
点云BD-Rate和BD-PSNR测试工具-VCEG
2019-05-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人