
视频/图像学习
李迟
李迟,男,已婚,来自岑山溪水之地,家住一垌之尾。毕业于桂林电子科技大学三院1专业。嵌入式软件工程师,摄影师,金融学者,历史家,科学哲学爱好者,社会问题研究者。别号水田居士,木草山人。爱好广泛,精通甚少。古文、诗词、文学、小说、武侠、经济、社会等无所不涉。目前主要混迹于显示器、鼠标、键盘之间。于代码及兴趣之事中有所得,与好友谈之一二,足够了。
-
原创 libjpeg学习3:turbojpeg试用
turbojpeg针对ARM和X86对了优化,宣称其速度是libjpeg的2到4倍。下载其源码,值得称赞的地方是其例子,单元测试很到位。另外是它的注释,或者说是html说明文件,对于宏、函数都有详细的说明。本文就是参考源码的例子和html文档写的简单示例。由于只是试用,并无深入研究,只是在我的虚拟机里运行。对于性能测试,并未进行。2015-07-07 21:29:448611
0
-
原创 h.264编码库x264实例
x264是一个开源的H.264编码库。本文介绍其在x86 linux的编译方法,并给出实例。2015-09-14 12:51:526104
0
-
原创 关于h264bitstream的bug修正及完善
最近学习HEVC,参考h264bitstream开源库重新写代码解析码流。在观察H264码流的分析结果时,发现该库分析的结果与商业工具有些不同。经调试发现h264bitstream库实现上有些小问题,于是就修改修改,形成此文。2015-09-28 22:50:021584
0
-
原创 完成一个YUV文件播放器
前面匆忙写了很多篇文章,虽然都很简单,但着实花了不少时间去研究的。几年前写了YUV转换RGB的代码,当时只限于转换成BMP来测试正确性。后来一直使用YUV Player Deluxe来看YUV文件,但其支持格式不够多。前段时间下定决定,将以前写的YUV转换代码完善一下,尽自己能力转换各种YUV格式。一来好久没练练MFC了(我在考虑要不要学C#),二来也写个工具自己使用。2015-08-21 13:07:246900
1
-
原创 初识HEVC/H.265
这一年来,公司不断地打算上H.265。但似乎支持H.265码编的芯片不多,但业内不断宣扬,我们也要跟上时代。趁休息,就去了解了解相关的东西,以免被问到回答不上来。一、标准HEVC,是“High efficiency video coding ”的简称,也叫H.265。很多年前就开搞了,到2013年终于出了1.0版本。到目前为止,一共发布了3个版本。最新为2015年4月的3.0版本。不同版2015-09-06 14:24:118186
8
-
原创 h.265编码库x265实例
x265是一个开源的H.265编码库。API接口方面与x264很相像。本文介绍其在x86 linux的编译方法,并给出实例。2015-09-14 12:59:555825
0
-
原创 完成一个H.265/HEVC码流分析工具
经过大约一个月左右的业余时间,终于初步完成一个H.265/HEVC码流分析工具。时间包括平时的周末、晚上,以及调休的集中时间。当然,中秋回家过节不写代码。截至今天,经过多种H.265序列测试,也有各种工具对比,基本上无大问题,首个版本可以释放出来。后面看看该如何提升、优化。2015-10-01 11:05:477363
2
-
原创 libjpeg学习4:libjpeg-turbo之YUV
libjpeg-turbo支持直接从JPEG解压成YUV格式,或者反之。这也是我当初想研究它的一个动力。2015-07-08 22:07:148493
2
-
原创 libjpeg-turbo在Windows VS2010下的编译
去年曾经写过文章使用libjpeg-turbo,不过当时是基于Linux X86平台的,现在需要在Windows下使用这个库,于是上网找了一些编译方法,形成此文。一、先期工作1、下载CMake下载地址为:https://cmake.org/download/,当前最新版本为3.5.2,可直接下载编译好的二进制压缩包:cmake-3.5.2-win32-x86.zip。2、下载nasm下载地址为:h...2016-04-19 22:20:122495
0
-
原创 YUV格式学习:填充YUV444以及YUYV、YVYU、UYVY、VYUY
两年多以前,写了一个生成UYVY格式的函数。记得那时我们部门4、5个人在“小黑屋”里开发新平台,我要在“踢啊”某个芯片上实现屏幕的显示,其格式是UYVY,由于无实际的图像,于是就动手自己写了一个。虽然我们大费周折实现视频的显示、菜单功能,但可惜未使用。2015-08-05 21:53:133994
0
-
原创 YUV格式学习:Y转换成RGB24
除了各种YUV格式转换成RGB外,还有一种是只转Y到RGB,显示出来的图像就是灰度图(因为Y是亮度),也可以理解为黑白图吧。2015-08-07 13:20:333080
2
-
原创 FFMPEG基于内存的转码实例——输入输出视频均在内存
我在6月份写了篇文章《FFMPEG基于内存的转码实例》,讲如何把视频转码后放到内存,然后通过网络发送出去。但该文章只完成了一半,即读入数据依然是从磁盘文件中读取。在实际应用中,有很多数据是放到内存的,比如播放从服务器接收到的视频,就是在内存中的。时隔2个月,项目终于完成了,虽然在收尾阶段会花费大量时间,但也算空闲了点。于是就继续完善。2015-08-26 22:13:104332
4
-
原创 我的YUV播放器MFC小笔记:解析文件名称
为了方便播放器直接播放,也为实现所谓智能识别文件分辨率和格式,对文件名称进行解析,代码如下:2015-08-16 10:43:251069
0
-
原创 YUV格式学习:YUYV、YVYU、UYVY、VYUY格式转换成RGB24
前面文章讲过题目中的YUYV、YVYU、UYVY、VYUY格式,它们都是YUV422的打包格式——即在内存中,Y、U、V都是挨着排序的。它们的名称就表示了Y、U、V的顺序。像YUYV,就是Y、U、Y、V、Y、U、Y、V。在做转换时,就显得很容易、简单了。2015-08-05 22:07:483930
1
-
原创 YUV格式学习:YUV422P、YV16、NV16、NV61格式转换成RGB24
对于YUV422的格式,网上有一大堆资料,这里就不说了。直奔主题,给出如何转换的函数,一如既往,只用代码说事。2015-08-05 22:23:0210075
4
-
原创 YUV格式学习:YUV420P、YV12、NV12、NV21格式转换成RGB24
对于YUV420的格式,网上有一大堆资料,这里就不说了。直奔主题,给出如何转换的函数,一如既往,只用代码说事。2015-08-05 22:30:587982
4
-
原创 YUV格式学习:NV16和YUV422P格式互换
其实以前也实现过SP转P的格式,现在再完善一些,写成此文。由于是相同采样空间的转换,只是个别分量位置的调整,只要明白了Y、U、V分量的布置,就很容易写出来。2015-08-05 22:36:252612
3
-
原创 YUV格式学习:YUV444转换RGB24
YUV格式有很多种,按其采样方式,有444、422、420,还有411(但不常见)。针对数据的排序,又有平面格式和打包格式,还有“踢啊”特有的半平面格式——这些排列组合,就显得YUV格式多种多样,初看起来杂乱无章,但只要用心,就能理出头绪。像我,也是花了很多时间去慢慢搜索才真正理解。有时间会系统整理几篇文章出来,也会实践一下。2015-08-05 22:01:235548
3
-
原创 YUV格式学习:NV12和YUV420P格式互换
NV12和YUV420的转换是在相同采样空间的转换,只是个别分量位置的调整,只要明白了Y、U、V分量的布置,就很容易写出来。2015-08-05 22:38:387674
2
-
原创 我的YUV播放器MFC小笔记:添加删除自定义分辨率
在最初设计YUV播放参数时,就考虑参数的保存,即使用注册表方式,前文已述。但直到后来才解决几个技术问题,方得以写此文章。2015-08-19 22:45:39652
0
-
原创 从H264/H265码流中获取宽、高及帧率
在做码流分析时,图像分辨率、帧率这类的基本信息,当然不可少。本文介绍如何从NAL中计算到图像宽、高,还有分辨率。由于H264和H265有相似性,就在一起写了。一、从码流获得宽、高1、H264宽高可从SPS字段计算得到,公式如下:Width = (pic_width_in_mbs_minus1+1)*16;Height = (pic_height_in_map_uni2015-09-19 17:10:189109
4