自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

YoYo的桃子树

桃子先生心愿,找一份喜欢的工作,找一个喜欢的人。这样每天24个小时都是开心的。

  • 博客(76)
  • 资源 (6)
  • 收藏
  • 关注

原创 CSDN博客文章导航

所有博客文章的导览,分为9大类。以及一些后续的计划。

2020-04-19 20:39:00 1131 3

原创 【安卓】安卓xTS之Media模块 学习笔记(3) VTS测试

media的XTS测试总结,包含原理,步骤,用例说明,常见问题

2023-12-08 23:50:13 884 2

原创 【安卓】安卓xTS之Media模块 学习笔记(2) xTS环境部署(windows)

谷歌发布原生的xTS的测试包,只能运行在Linux下,实际上,在windows上搭建的类linux环境依然可以进行xts测试。在实际开发中,主机安装成Ubuntu的环境确实不多,大部分人都是主系统windows 配合 linux服务器或者linux虚拟机的开发模式。因此,在windows上把xTS搭建起来的显得非常必要。

2023-12-01 17:26:42 295

原创 【安卓】安卓xTS之Media模块 学习笔记(1) xTS介绍

谷歌的xTS是对谷歌发布的CTS/GTS/VTS/STS/BTS/CTS-on-GSI等一系列测试的统称。因为安卓系统比较庞大,模块多,并且维护者、参与厂家、贡献者都很多。为了确保安卓系统的正常功能,谷歌发布了xTS测试系统。作为安卓的伴生测试系统,xTS为安卓内部各个模块各个层级提供了大量的测试用例,用以维护安卓的兼容性和功能正确。

2023-11-28 22:23:51 574

原创 【软件】如何进行有道云笔记导出,迁移到obsidian

如何快捷 无损 高效的导出有道云笔记 ,迁移到obsidian。本人实测,2700+ 篇 各种类型的笔记 已经全部转入。

2023-08-05 10:47:06 3021 3

原创 【图像】图像格式(3) : BMP

图像格式学习之BMP。从最简单的图像格式入手,学习图片文件组成。

2023-05-06 06:50:12 1467 1

原创 【图像】图像格式(1):常见的图像格式协议对比

图像格式第一篇,做了一个简单的全格式整理对比,后续文章会挑一些常见格式出来做分析。

2023-04-13 06:38:21 941

原创 【硬件】关于USB的一些小知识

只需记住:USB有7个版本,7种接口。

2022-10-31 12:55:50 2559

原创 【软件】Ubuntu16.04安装repo全纪录,构建自己的repo仓库,最详细的步骤大全,以及踩坑大全

Ubuntu16.04安装repo全纪录,构建自己的repo仓库,最详细的步骤大全,以及踩坑大全,10种花式坑,你总要踩几种。

2022-08-14 07:53:52 7380 1

原创 【软件】Ubuntu16.04升级git最新版,升级python到3.7.

ubuntu16.04 升级python3到新版本, 升级git到新版本。为repo环境做准备

2022-08-14 07:32:35 1559

原创 【stm32】FreeModbus 介绍 + 移植stm32f103 HAl库

FreeModbus 装轮子 记录。移植到基于HAL库的stm32f103zet6.

2022-08-06 23:23:21 2478

原创 【编解码】记录一个ffmpeg解码生成YUV的 color range 问题,以及video_full_range_flag用法。

ffmepg解码为什么导致视频质量评分下降?有哪些参数要调整,快速提高PSNR和VMAF分数!

2022-05-12 18:56:02 5184 2

原创 【编解码】从零开始写H264解码器(7) SEI解析

1. 引言解析完了SPS和PPS,按照NAL type,下一个可以介绍SEI。不过SEI在码流不是必须的,重要性并没有SPS,PPS,slice那么高。解析方式也很简单,都没有用熵编码。先开一章简单记录一下即可。2. SEI 是什么?SEI: 补充增强信息(Supplemental Enhancement Information)个人感觉就是当用户:想在码流里传输一些自己的数据流,属于自有协议,未在H264协议中明确规定协议的数据流,或者是传输H264规定的一些增强信息但不是必须信息的数

2022-05-08 10:40:47 2093 1

原创 【编解码】从零开始写H264解码器(6) PPS解析-参数含义,伪代码解析

1. 引言搞完了SPS,接下来就是PPS了。PPS(picture parameter set)也是一份很重要的数据,会被很多slice参考到,里面的参数我们也需要很熟悉和理解。2. PPS翻到白皮书《Rec. ITU-T H.264 (03/2010) 46面。 章节 “7.3.2.2 Picture parameter set RBSP syntax”,可以看出来这个表不是非常长,参数有限,依然先上一个原版全家福。下面我们来挨个理解每个参数的作用。3. 参数解析pic_paramet

2022-05-06 22:12:14 992

原创 【编解码】从零开始写H264解码器(5) SPS解析-参数含义,伪代码

1.引言前面我们学会了指数哥伦布解码,翻翻白皮书,依靠这个知识,基本上我们就能一口气解码完SPS,PPS,SEI,Slice Header了。接下来的重点就是,认真的看一下解码出来的每个参数的作用。这些参数在后续的计算YUV的过程中都会起到对应的作用。2. SPS...

2022-04-23 12:23:36 2314

原创 【编解码】从零开始写H264解码器(4) 熵编码之指数哥伦布编码

3. 熵编码在H264中,使用了预测编码,变换编码,熵编码等多种编码手段。其中,预测编码,变换编码等都作用于从YUV图转换成 白皮书中参数的过程,熵编码主要用于从这些参数转换成高效率的码流。那什么是熵编码?我们使用了哪几种熵编码?熵编码的编码和解码是怎么进行的?2.1 定义NALU header里的type将所有的NALU分为参数和数据两类。其中,参数类的重要性一般较高,因为一份参数可能会给多份数据使用,参数的值也是解析图像的一个先决条件,比如SPS,PPS等等。H264中,传输这个参数集

2022-04-09 20:21:51 1576 1

原创 【编解码】从零开始写H264解码器(3) 描述子

1. 引言在根据起始码找到NALU之后,我们可以根据NALU header里的type将所有的NALU分为参数和数据两类。其中,参数类的重要性一般较高,因为一份参数可能会给多份数据使用,参数的值也是解析图像的一个先决条件,比如SPS,PPS等等。H264中,传输这个参数集也是使用了熵编码来传输的,这里,我们需要了解熵编码中指数哥伦布编码的作用和流程,进而,才能解出这些参数集的数据。...

2022-03-27 12:01:23 722

原创 【编解码】从零开始写H264解码器(2) NALU

1. 引言从这一节开始,我们真正进入了解码的过程。相信很多人和我一样,刚开始的时候都会很好奇,为什么h264可以实现这么强大的压缩比,要知道,1张1080p的YUV420就是3MB,想实现1秒钟30帧,千兆网就基本跑满了,这也太可怕了,基本上只有条件很好的局域网才能达到这个水平。但是h264的出现把这个数据量降到了百分之一,2个数量级,这实在太可怕了,技术的发展真的是强大。其实h264编解码,就是从YUV文件和h264文件中相互转化的过程。不同的是,YUV数据量大,结构简单,适合在本地显示使用,h26

2022-03-12 20:13:01 4527

原创 【编解码】从零开始写H264解码器(1) 总纲

关于编解码的原理的书和文章自己一直在看,从入门到略懂,但是感觉有些零零碎碎,或不完整,似乎串不成体系。有些小功能,知道是知道,并不知道它的意义和作用,时间一长也会慢慢忘记。反思了一下,或许很多东西,还是需要自己动手做一遍,会理解的更深更透彻一些,就像费曼学习法,你能讲出来,才说明懂了,这个也一样,你能把功能实现出来,才说明你真的明白了里面的流程和逻辑。

2022-03-09 09:57:49 5877 1

原创 【随笔】记录一件身边的突然事件——心梗

心梗的前兆,处理,预防。

2022-02-10 10:38:02 913 2

原创 【随笔】2022的一些想法,关于多巴胺戒断

说起来,2022都过了快一个月了,这时候才想起来写点对今年的想法,未免有点后知后觉。许是很久不曾真正静下心来思考,似乎一直在匆匆而行,心也不曾停下,想想自己真正要的东西,仿佛在迷雾之中,眼前只能看见很近的一块,抓不到,赶不上。像是一只蒙住眼睛的骆驼,一直只能闻见鼻子前食物的味道,吃一口是一口,走一步算一步,却看不清应该迈上的路,不知道应该选择的方向。为什么呢,为什么现在好像停不下来呢,急匆匆的样子,匆匆赶路,匆匆工作,一直行色匆匆,恨不得同一时间做3、4件事。那时间呢?时间都去哪了?上班等下班,下班等上

2022-01-23 23:41:01 3252

原创 POE原理,千兆POE供电分离方案

1. 引言因为平时在做IPcam,所以会接触到POE使用,但是家里面对这方面没有什么需求,所以也没有仔细研究过,一直都是能用就行。之前,因为升级光纤,网线入户不太方便了,但是自己又不想走明线入户,就琢磨着把光猫扔在门口,转成网线之后再用原来的防线进。这样就遇到一个问题,就是门口的光猫没有电无法使用。上次安装的时候采用的临时方案是,把8芯网线的4根(4、5、7、8)拆出来做电源线传输使用,另外4根(1、2、3、6)走数据,因为实际上100M网的话,4根线也就足够了,但是这样留下的弊端就是,我一直没有办法

2021-10-31 22:09:49 14412

原创 【软件】windows录音,如何录制系统内部声音(几乎找遍全网的所有方法)

1. 引言最近因为一些原因,需要录制一些远程会议的音频,便于回溯记录。因此花了一些时间,去找了一下有什么软件可以录制系统内部的声音。不单单是麦克风收录的声音,还包括系统内部的声音,就是我们耳机里能听到的声音。本来以为是个很简单的问题,结果没想到真的难找,全是收费软件,真的难。好在最后还是解决了,在此记录下(2021.9.29),给有需要的朋友。2. 软件2.1 亲测可用软件2.1.1 Mono什么第一个推荐Moo0,因为这是找到唯一一个免费可以使用的工具。但是似乎有缺陷,我在win7上试了

2021-09-29 13:13:33 11252 4

原创 【Linux】Linux内核数据结构:IDR(redix树)

1. 引言最近在系统里遇到了IDR结构体,后来看了一下,是内核的一个基础结构。这个是怎么引入的,引入是为了什么呢?最早的时候,我们的结构体是一个类似于大结构体套小结构体。struct A { int a1; int b1; struct B B1[12]; struct C C1[8]; ...};当然,实际使用会有很多个这样的结构体,这样的结果就是导致A的结构体的size太大,在有些app中临时申请一个就占掉大量空间。后来改成了指针2. 原理2.1redix树redix树是

2021-08-31 08:33:14 3336

原创 【图像】图像格式(2) : 一张图理清所有的RAW RGB YUV图像格式

0. 引言之前一直做着和camera有关的工作,所以常常会涉及到图像格式的问题。感觉接触的名字和种类很多,索性好好整理一下,分个类,也方便后面再整理。本文是自己记忆后复述的,可能用词不是特别准确。1. 直接上结论直接总结了一张图2. 图像格式2.1 RAWRAW图像是sensor出来的最原始的数据。......

2021-07-29 08:28:06 6384

原创 如何从Source insight中导出完整的文件列表

0. 引言Source insight在建立工程的时候,有从文件列表导入所有文件的功能: add from list,这样很便利于我们新建一个工程。比如之前的文章:优雅的阅读linux源码。这是一个很好用的工具。但是,比较奇怪的是,并不提供“导出目前项目中所有的文件”的功能,这对于我们下次再次导入文件来说,就存在一定的不便。在工程文件夹里找了一下,并没有找到相关的明文保存的列表,所以只能自己找找办法。1. 步骤1.1 在source insight中打开File list。1.2 在File

2021-06-27 16:27:45 1997 2

原创 【随笔】媳妇今天裸辞了,为你的勇气点赞,也为自己加油

今天是2021年6月9号,媳妇告别了6年半的公司,裸辞了。从研究生实习开始,2015年1月,到现在,整整6年半,从一个实习生成长为产品经理到产品总监,一步一步,我看得到你的努力和付出,为你骄傲。伴随着工作的劳累,每天都是大几百条的微信,请假从来没有能够真正地休息过,路上也在不停地回微信,每天高度的紧张,身体也是出现了一些小问题,对领导的不认可,最终让你做出了这么一个很突然又必然的决定。很突然,确实是这样,从前几天突然提起,到今天裸辞,应该也就半个月,之前我一直觉得你的职业发展十分顺畅,在公司又是元老,

2021-06-09 23:43:25 720 3

原创 【LINUX】i.MX6学习笔记(4) IIC驱动 smec98sp

1. 引言2. IIC简介3. 驱动3.1 IIC代码主要文件是i2c-core.c,i2c-imx.c我们使用ret = i2c_transfer(client->adapter, &msg, 1);其中client是在probe时候传入的,即调用i2c_imx_probe函数,进而拿到了client->adapter,确定了IIC的适配器,初始化了IIC的控制器,在驱动中,我们调用i2c_transfer来完成IIC数据的发送,其实就是调用__i2c_transfe

2021-05-29 16:12:29 784 1

原创 【随笔】集中注意力

1.困扰感觉以前做事情还是蛮集中的,上课,做题,什么的都很集中,但是不知道什么时候开始,开始频繁的走神。很难集中精力做一件事情,半途被打断或者很容易走神,不知道去干了什么。也许突然一个小念头,就去上网搜了,然后等回过神来已经不知道多久了。只有在一些特殊情况,比如时间非常紧急的时候,eg,老大1:00pm跟我说3:00要个功能,我会非常集中,这时候会处理的很快,不容易走神。很难集中注意力去做一件事这个问题,导致我的效率低了很多,事情的细节记得也不够清楚。感觉这件事已经成为了一个困扰了,好像已经很多年

2021-04-30 09:38:49 370 1

原创 Dram学习笔记(2) 读《终极内存技术指南》笔记 + 纠正一些流传很广的文章错误

0. 引言之前有段时间时间做过Dram的统计工作,学习了一点Dram的基础知识,写了一篇简单的学习笔记 Dram学习笔记(1) Dram相关基础知识。后来觉得有些东西还是理解的不是很透彻,比如很简单的例子,当burst = 1, mask burst=1的时候,真实的带宽是多少?以前觉得是burst包含了mask burst,后来和我们的dram controller的设计者请教了一下才发现不是这样的。由此感觉自己掌握的自己基础知识太少了,所以想找资料看看。网上的资料参差不齐,很难成体系,很幸运最

2021-03-12 18:43:14 3276

原创 【随笔】记录一次简易的液位报警器的拆机修理

0. 起因起因很简单,就是过年了,回家,又开启了我的修理工小陶的工作。虽然我是做嵌入式系统的,本职工作是在一家芯片厂家做SDK,但是不影响全家对我的认知就是修理工。可以修锁,修门,修铰链,修灯泡,修扫地机器人,修收音机,我外甥对我介绍我就是“我舅舅是做修手机的”……好吧扯远了,这次是之前家里装了一个净水器,但是这个出水很小,妈妈接水的时候需要一直在旁边等着,接水壶又比较大,很麻烦。所以淘宝给她买了一个“茶水液位计”,如下图说实话我以前用的液位计是那种无接触的光电对管的,还有用耐腐蚀的浮球的,第

2021-02-21 16:38:26 1018 1

原创 【随笔】稚晖君软件硬件环境总结

0. 引言这两天在bilibili上发现一个宝藏up主,稚晖君。啧啧啧,很厉害。虽然年龄不大,但是真全栈,从产品到机械到电路到软件,这就是那种真的聪明,一学就会的高智商吧。做的东西也是功能颜值双在线,审美还是很棒的,自己剪的视频也很棒,感觉视频里也是不急不慢,节奏控场都很好,居然头发也很茂盛!跟着把他b站上的项目视频都看了一遍,觉得很棒。很多思路也挺值得学习的。先把他软件篇和硬件篇的视频总结一下,备用。想后面也开始做一些机械机构相关的设计,谁不想做一个真正的全栈呢。说实话,看到真的有人(还比

2021-02-19 14:49:43 20291 6

原创 【随笔】最近发现基本功是真的很重要

感触最近越来越发现基本功的重要性,好像自己这么久以来一直都是一个目的导向的人,很多事情都是冲着结果去的,并没有很在意基础的重要性,等到很久以后再回首,发现在一个不是很好的基础上甚至是错误的基础上不停的扩展,这时候再回头去调整就比较难。一个好的基本功,就是好的地基,后续的所有行为都是在这个地基上建造主体,添砖加瓦,让你的体系变的越来越强大。比如:1. 盲打作为一个敲键盘的代码狗,摸键盘确实已经很久了,盲打也是会的,但是也不知道怎么会的,所以对所谓的一些基本指法并不是十分了解。一直在没觉得有什么问题,

2021-01-11 15:52:21 418 2

原创 【C语言】如何打印出c语言变量名称 (# 和 ## 的使用)

之前做项目时候遇到一个问题,比如说一个流程中有很多个step,这些我用一个enum来定义,比如:enum ACTION{ACTION_jiashui = 0, //加水ACTION_jiaoban, //搅拌ACTION_biaoding, //标定ACTION_celiang, //测量}这时候,在跑到每个步骤开始的时候,我都会把当前步骤的名称打印出来比如printf(“Cur action - %d\r\n”,ACTION_jiaoban);

2020-12-31 16:45:44 5717 1

原创 解决GIT单个仓库过大的问题( 拆库 + git子模块 + git lfs + 缩减仓库 ……)

1. 引言最近在coding上做了一个新项目,一个linux的工控项目,从boot到内核驱动到应用都有要写,所以把这几个部分都扔到一个git仓库里去管了。加上我这人有个坏习惯,喜欢把项目中要用的参考资料和买的模块资料等都扔到Doc文件夹里,很多时候也没有加入忽略列表,提交就一起提交了。做了没几天,看了一下coding的仓库目录,有点懵,已经用了1G多了。。其实coding还算好的,至少免费版的单个仓库是2G,码云只有500M。其实怎么说正常存代码2G妥妥够了,一整个linux源码传上来也就占了不到2

2020-11-30 19:01:39 3333

原创 Dram学习笔记(1) Dram相关基础知识

1. 引言这几年主要做的都是视频+神经网络的工作,中间处理的数据量都是很大的。有时候涉及到多路多目的情况,就很容易出现带宽问题。偏偏这个问题还很难查,之前上家是用的xilinix的方案,还是AMP的模式,一个裸核+一个linux,还有FPGA同步抢带宽,很多时候只能从函数耗时来进行分析,根本无法对带宽问题进行一个定量的计算。感觉很多都是靠直觉和经验,比如上个项目是4目的,用的MpSoc5,有ABCD功能,能稳定跑。这次项目也是4目,多加了一个EF功能,就不好说了。而且出了带宽问题是真的很难查,也找不到什

2020-10-21 23:37:07 4672 3

原创 【硬件】IIC总线

IIC总线是系统中比较常用的一种总线了。很多芯片用的都是IIC。 比如很多MEMS的姿态传感器(陀螺仪,加速度计,磁强计),一些加密芯片,E2PROM……比如mpu6050、9250、hmc5883…… 适用于这些功能比较多而且速率要求不高的场合。 下面简单记录一下IIC总线的要点。记住高亮的地方基本就够了。

2020-09-26 10:29:12 1326

原创 【LINUX】i.MX6学习笔记(3) 驱动多个串口

1. 引言做的项目里,需要在应用层驱动6个串口。排了一下引脚,准备用uart1、2、3、4、5、6这6个串口这个东西,按理说应该是最简单最基础的了,但是为了实现这个还是理了半天2. 分析2.1 开发环境正点原子 阿尔法 v2.2.版本。2.2 代码分析2.3 已有串口如何驱动在开发板上和出厂代码上,已经做了2个串口,Uart1和Uart3,对应生成了了/dev/ttymxc0,/dev/ttymxc1。在原子的实验中,是通过移植minicom来驱动的。但是我们现在自己的代码中,应该如何使

2020-09-20 19:28:14 2009 2

原创 配置文件之json——Json格式与cJson库解析

1. 引言这段时间做个项目,要加一个配置文件。配置文件之前有用过ini、yaml、lua,这次正好碰巧项目里还要加MQTT,要用到json,就直接拿json来做配置文件了。其实json很多人是不建议做配置文件的,毕竟没有注释,格式对于手写也不是很友善,但是就当尝试一下新事物嘛,感受一下总是好的。OK,开始。2. Json格式Json相比与ini文件来说,格式要复杂一些。虽然基本单元也是键值对。从参考链接1里摘了一段,基本上记住这些就够了:JSON对象是一个无序的"名称/值"键值对的集合:

2020-08-24 22:49:15 1843 1

原创 【stm32】stm32cubeIDE在freeRTOS无法printf float 浮点数

stm32cubeIDE在freeRTOS的时候有坑,printf浮点,HAL库 等等,记录了一下爬坑过程

2020-07-21 08:52:00 4956

终极内存技术指南(存储时代水印)

用于博客引用。 本书写的十分成体系,详细,还有比较易懂的仓库例子。就是有点老,DDR3后面的没怎么找到,不过原理都一样了。关于内存入门,非常非常推荐的一本书。反正是我读过最系统最好的(中文)。 图片有“存储时代”水印。

2021-02-08

soucre insight_sublimetext_FixHighlight.CF3

我自己一直在用的,source insight 3.5 的黑色主题。仿sublime的。颜色很好看。是基于 https://download.csdn.net/download/z21109/9444022 此版本,修改了无法高亮bug的。 支持大家去下载原作者的,我只是基于他的版本改动了一小点bug。如果有不会改的朋友可以用我这个方便一点。

2020-07-23

STC单片机在UV4中的头文件数据库STC.cdb下载

uvision4中,新建工程没有STC单片机的选择项,需要我们手动添加这个数据库到安装目录下,再修改一下TOOLS.INI文件。 头文件资源就是这个,具体的方法在百度文库中有。

2014-07-05

空空如也

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

TA关注的人

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