自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 收藏
  • 关注

原创 linux c++ 学习记录

linux 学习记录

2022-11-07 11:25:24 602 1

原创 python 读取 10 bit YUV 文件

此处博主有个疑惑,用ffplay播放的视频和直接打开MKV播放的视频并不一致,亮度和颜色明显被抑制,博主猜测可能原因是MKV直接使用播放器播放的视频是BT2020 10 bit的,但是ffplay 在播放时,只能播放8bit的视频(内部做了10-8处理),未做验证。MKV是一种视频格式,包含许多封装信息,python要读取YUV420P10LE 格式,那么首先要将MKV文件解码出YUV文件,此处博主使用ffmpeg解码,且只选取其中10s的所有帧。

2022-10-21 16:00:09 1181

原创 python 批量处理图片

python 批量处理文件

2022-08-24 10:17:44 1414

原创 python 学习中遇到的问题(持续更新中)

1、定义一个一维数组,然后利用.T进行转置,利用.T[2]求转置后的数组的第二行。import numpy as npA=np.array([1,2,3,4,5,6,7,8,9,10,11,12])B=A.reshape(3,4)C=B.TD=B.T[2]>>>B=[[1,2,3,4] [5,6,7,8] [9,10,11,12...

2019-06-17 15:45:37 244

原创 大话数据结构学习笔记二:算法

一 算法定义算法是解决特定问题求解步骤的描述,在计算机中表现为指令的有限序列,并且每条指令表示一个或多个操作。二 算法的特性:1 输入输出:算法具有零个或者多个输入,至少有一个或者多个输出。2 有穷性: 指算法在执行完有限的步骤之后,自动结束而不会出现无线玄幻,并且每个步骤都在可接受的时间内完成。3 确定性:算法的每一个步骤都有确定的含义。4 可行性:算法的每一步都必须是可...

2019-06-14 15:06:33 149

原创 大话数据结构学习笔记一:第一章

1.1 基本概念与术语数据:是描述客观事物的符号,是计算机中可以操作的对象,是能被计算机识别,并输入给计算机处理的符号集合。数据元素:是组成数据的、有一定意义的基本单位,在计算机中通常作为整体处理,也被称为记录。数据项:一个数据元素可以由若干个数据项组成。数据项是数据不可分割的最小单位。数据对象:是心智相同的数据元素的集合,是数据的子集。数据结构:是相互之间存在一种或者多种特定...

2019-06-12 10:05:54 180

转载 python 字符串总结

1str1 = 'hello, world!' # 通过len函数计算字符串的长度 print(len(str1)) # 13 # 获得字符串首字母大写的拷贝 print(str1.capitalize()) # Hello, world! # 获得字符串变大写后的拷贝 print(str1.upper()) # HELLO, WOR...

2019-06-06 10:15:09 175

原创 VTM编码结构框架

VTM流程差不多就是这样子的啦,后续会继续补充,由于能力有限,如有错误,欢迎指正。在后面会进一步分析每一个函数,并分析流程的细节。

2018-11-20 13:21:31 999 2

原创 H.266 参考软件VTM下载和安装

1、下载安装cmake ,下载地址https://cmake.org/。安装后打开控制面板-系统-高级系统设置-环境变量-PATH-编辑-输入cmake.exe的路径即可。2、如果你之前(HEVC)时已经下载好了SVN,直接在桌面点击右键SVNcheckout,出来的界面输入https://jvet.hhi.fraunhofer.de/svn/svn_VVCSoftware_VTM/ ...

2018-11-19 21:31:51 3972 6

原创 H.266/VVC

Versatile Video Coding (VVC)  相关网址https://jvet.hhi.fraunhofer.de/svn/svn_VVCSoftware_VTM/ https://jvet.hhi.fraunhofer.de/ http://phenix.it-sudparis.eu/jvet/ 

2018-11-07 20:07:11 622

原创 深入理解二叉搜索树

什么是二叉搜索树?顾名思义,一颗二叉搜索树是基于二叉树来组织的,它包括许多动态集合操作(Search,MiniNum, MaxiNum, Prodecessor, Successor, Insert 和Delete等)。二叉搜索树上的基本操作所花费的时间与这棵树的高度成正比,对呀有n个节点组成的完全二叉树来说,这些操作的最坏的运行时间是O(lg n)。如图所示是一个搜索二叉树的结构。一...

2018-09-10 15:49:21 262

原创 leetcode 无重复字符的最长子串

给定一个字符串,找出不含有重复字符的最长子串的长度。示例 1:输入: "abcabcbb"输出: 3 解释: 无重复字符的最长子串是 "abc",其长度为 3。示例 2:输入: "bbbbb"输出: 1解释: 无重复字符的最长子串是 "b",其长度为 1。示例 3:输入: "pwwkew"输出: 3解释: 无重复字符的最长子串是 "wke",其

2018-08-29 14:07:45 130

原创 leetcode 两数相加

给定两个非空链表来表示两个非负整数。位数按照逆序方式存储,它们的每个节点只存储单个数字。将两数相加返回一个新的链表。你可以假设除了数字 0 之外,这两个数字都不会以零开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 -> 8原因:342 + 465 = 807这一题就比较简单啦,新建一个链表来存...

2018-08-29 11:11:18 201

原创 leetcode 岛屿的个数

给定一个由 '1'(陆地)和 '0'(水)组成的的二维网格,计算岛屿的数量。一个岛被水包围,并且它是通过水平方向或垂直方向上相邻的陆地连接而成的。你可以假设网格的四个边均被水包围。示例 1:输入:11110110101100000000输出: 1示例 2:输入:11000110000010000011输出: 3题目分析:有字符‘0’代表水,‘1’代...

2018-08-27 14:49:15 1584 1

原创 leetcode 旋转数组

给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。示例 1:输入: [1,2,3,4,5,6,7] 和 k = 3输出: [5,6,7,1,2,3,4]解释: 向右旋转 1 步: [7,1,2,3,4,5,6]向右旋转 2 步: [6,7,1,2,3,4,5] 向右旋转 3 步: [5,6,7,1,2,3,4]示例 2:输入: [-1,-100,3,99...

2018-08-24 15:03:59 507

原创 反转字符串中的单词 III leetcode

给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。示例 1:输入: "Let's take LeetCode contest"输出: "s'teL ekat edoCteeL tsetnoc" 注意:在字符串中,每个单词由单个空格分隔,并且字符串中不会有任何额外的空格。别的不多说,搞清楚reverse函数就行class Solutio...

2018-08-24 15:01:30 354

原创 两数之和,输入有序数组 leetcode C++

给定一个已按照升序排列 的有序数组,找到两个数使得它们相加之和等于目标数。函数应该返回这两个下标值 index1 和 index2,其中 index1 必须小于 index2。说明:返回的下标值(index1 和 index2)不是从零开始的。 你可以假设每个输入只对应唯一的答案,而且你不可以重复使用相同的元素。示例:输入: numbers = [2, 7, 11, 15],...

2018-08-21 11:44:29 374

原创 leetcode 二进制求和 addBinary

题目描述:给定两个二进制字符串,返回他们的和(用二进制表示)。输入为非空字符串且只包含数字 1 和 0。示例 1:输入: a = "11", b = "1"输出: "100"示例 2:输入: a = "1010", b = "1011"输出: "10101"分析:在完成代码之前,我们首先看看这一题应该是一个什么样子的思路。首先,输入两个字符串a和b,如果

2018-08-20 14:09:54 363

原创 707 设计单链表

第一次完成这样的设计,一路磕磕碰碰,遇到了许多问题,最后终于一一解决了。感恩https://blog.csdn.net/lym940928/article/details/81276658题目如下:设计链表的实现。您可以选择使用单链表或双链表。单链表中的节点应该具有两个属性:val 和 next。val 是当前节点的值,next 是指向下一个节点的指针/引用。如果要使用双向链表,则还需要一...

2018-08-14 16:53:37 1492 1

原创 求旋转数组的最小数字C++

发现还是数组这种最简单的编码才适合我,遇到树,链表这些真的是一头雾水,自己也不知道怎么实现。言归正传,该篇文章介绍如何求旋转数组的最小值,求最大值可以适当改编即可。什么是旋转数组呢,就是将一个数组的前几个元素和后面几个元素互换位置。例如原数组(升序的数组)为{0,1,2,3,4,5,6,7,8,9},将其旋转后变为{5,6,7,8,9,0,1,2,3,4}。如何求该数组的最小值呢,有一种方法是...

2018-08-10 14:47:11 454

原创 波拉契尔数列 C++

题目:写一个函数,输入n, 求斐波那契数列的第n项。分析:该题有两种实现方式递归或循环。当n比较大的时候f(n)结果也会比较大,故定义的时候可以采用long(int 也行)。递归会有大量的重复计算,而循环可以把f(n-1)和f(n-2)的值存起来,避免过多的重复计算。上代码,先递归再循环。#include<iostream>#include<cstdlib&...

2018-08-09 20:20:51 308

原创 C++ 链表

线性表(顺序表)有两种存储方式:链式存储和顺式存储,顺式存储如数组,其内存连续分配,且是静态分配。链式存储,内存是不连续的,且是动态分配。前一个元素存储数据,后一个元素存储指向下一个节点的指针。如图所示为单向链表。链表结构:typedef LinkNode{ int m_nValue; //节点中存储的值 LinkNode* m_pNext; //节点...

2018-08-01 19:48:40 774

原创 归并排序算法 C++

感谢博客https://blog.csdn.net/a130737/article/details/38228369归并排序的时间复杂度为o(nlgn),空间复杂度为o(n)。是一种采用分治思想的排序方法。逻辑分析:假设输入数组a[] = { 2, 1, 4, 5, 3, 8, 7, 9, 0, 6 }。首先将数组二分成两个数组left[]={ 2, 1, 4, 5, 3},rig...

2018-07-30 15:10:46 2359

原创 选择排序 C++

选择排序的时间复杂度为o(n*n),空间复杂度为o(n)。逻辑分析:1 假设数组中的最小数为a[0],然后比较数组中其他数与a[0]的大小,若a[i]<a[0],则交换两者为止,如此循环下来,最小的数字就存在a[0]里面啦。2 然后继续将a[1]中存访后面元素最小的,一直到排序完成。是不是很简单,对,就这么简单。#include<iostream>#inc...

2018-07-27 17:31:57 152

原创 冒泡排序法 C++

实在是想感叹一下,因为一个很简单的东西,自己在网上找了半天反而弄的很复杂,逻辑性太强,小白实在是看不懂。因此,下面是一个最小白的冒泡排序的实现方式。时间复杂度o(n*n)。逻辑分析:依次比较数组中的两个元素,较小的放在前面,较大的放在后面。重复上面步骤,对,一直重复第一个步骤直到排序完成为止。实例分析:输入数组:9 8 7 6 5 4 3 2 1 0第一次循环8...

2018-07-27 15:24:24 399

原创 插入排序 希尔排序 C++

最优时间复杂度为o(n),又称缩小增量排序。逻辑分析:1、希尔排序首先是确定增量,默认的希尔增量(不一定是最优)为length/2。2、根据增量分组,将分组的元素利用直接插入法排序。3、增量=增量/2,再次分组,一直到增量为1为止。    通过上述步骤我们可以知道,代码会有3个循环,第一个gap的更新,即for(int gap=len/2;gap>0;gap/=2)。第二...

2018-07-26 11:43:27 272

原创 C++插入排序算法

插入排序的时间复杂度为o(n*n)。逻辑分析:将数组第一个元素认为是有序数组,然后比较第二个元素的关键字与第一个元素关键字的大小,有序排列。将数组后面一个元素的关键字插入到前面的有序数组中,一直重复至排序完成。代码分析:    数组a[]={2,1,4,5,3,8,7,9,0,6},length=10。i=1,j=0,a[j+1]=1<a[j] =2,故交换a[j],...

2018-07-25 18:37:50 23014

原创 C++ 快速排序算法

快速排序算法最坏的时间复杂度时o(n*n),期望的运行时间为o(nlgn)。逻辑分析:1 先从数组中选取一个数作为基数,可随机选择;2 将数组中大于该基数的放在该基数右边,小于该基数的放在该基数左边;3对左右两个数组重复第二步。代码分析数组a[]={2,1,4,5,3,8,7,9,0,6},该数组第一次分区时,left=0,right=10,假设随机基数为a[4]=3。...

2018-07-25 17:19:46 2272

原创 HM编码架构

首先进入编码encmain.cpp里的int main 函数,主函数的入口,里面包含的重要函数是时间计数函数和encode()函数。在encode函数中开始编码。encode函数中,首先输入YUV序列,初始化内部类和成员变量,转换色彩空间,创建原始的YUV缓冲区,读取YUV文件,然后开始编码每一帧。最后删除原始YUV缓冲区及使用的类,打印总的码率。里面包含的重要函数是TEncTop::encode...

2018-04-24 11:19:40 775

空空如也

空空如也

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

TA关注的人

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