李迟的专栏

何日抱娃归家去,山头斜照读牛经。文章可能会更新,以www.latelee.org内容为准。...

libjpeg-turbo在Windows VS2010下的编译

去年曾经写过文章使用libjpeg-turbo,不过当时是基于Linux X86平台的,现在需要在Windows下使用这个库,于是上网找了一些编译方法,形成此文。一、先期工作1、下载CMake下载地址为:https://cmake.org/download/,当前最新版本为3.5.2,可直接下载编...

2016-04-19 22:20:12

阅读数 1908

评论数 0

完成一个H.265/HEVC码流分析工具

经过大约一个月左右的业余时间,终于初步完成一个H.265/HEVC码流分析工具。时间包括平时的周末、晚上,以及调休的集中时间。当然,中秋回家过节不写代码。截至今天,经过多种H.265序列测试,也有各种工具对比,基本上无大问题,首个版本可以释放出来。后面看看该如何提升、优化。

2015-10-01 11:05:47

阅读数 5896

评论数 2

关于h264bitstream的bug修正及完善

最近学习HEVC,参考h264bitstream开源库重新写代码解析码流。在观察H264码流的分析结果时,发现该库分析的结果与商业工具有些不同。经调试发现h264bitstream库实现上有些小问题,于是就修改修改,形成此文。

2015-09-28 22:50:02

阅读数 1329

评论数 0

从H264/H265码流中获取宽、高及帧率

在做码流分析时,图像分辨率、帧率这类的基本信息,当然不可少。本文介绍如何从NAL中计算到图像宽、高,还有分辨率。由于H264和H265有相似性,就在一起写了。 一、从码流获得宽、高 1、H264 宽高可从SPS字段计算得到,公式如下: Width = (pic_width_in_mbs_minu...

2015-09-19 17:10:18

阅读数 5488

评论数 4

h.265编码库x265实例

x265是一个开源的H.265编码库。API接口方面与x264很相像。本文介绍其在x86 linux的编译方法,并给出实例。

2015-09-14 12:59:55

阅读数 4025

评论数 0

h.264编码库x264实例

x264是一个开源的H.264编码库。本文介绍其在x86 linux的编译方法,并给出实例。

2015-09-14 12:51:52

阅读数 3932

评论数 0

初识HEVC/H.265

这一年来,公司不断地打算上H.265。但似乎支持H.265码编的芯片不多,但业内不断宣扬,我们也要跟上时代。趁休息,就去了解了解相关的东西,以免被问到回答不上来。 一、标准 HEVC,是“High efficiency video coding ”的简称,也叫H.265。很多年前就开搞了,到201...

2015-09-06 14:24:11

阅读数 6483

评论数 6

FFMPEG基于内存的转码实例——输入输出视频均在内存

我在6月份写了篇文章《FFMPEG基于内存的转码实例》,讲如何把视频转码后放到内存,然后通过网络发送出去。但该文章只完成了一半,即读入数据依然是从磁盘文件中读取。在实际应用中,有很多数据是放到内存的,比如播放从服务器接收到的视频,就是在内存中的。时隔2个月,项目终于完成了,虽然在收尾阶段会花费大量...

2015-08-26 22:13:10

阅读数 3518

评论数 0

完成一个YUV文件播放器

前面匆忙写了很多篇文章,虽然都很简单,但着实花了不少时间去研究的。几年前写了YUV转换RGB的代码,当时只限于转换成BMP来测试正确性。后来一直使用YUV Player Deluxe来看YUV文件,但其支持格式不够多。前段时间下定决定,将以前写的YUV转换代码完善一下,尽自己能力转换各种YUV格式...

2015-08-21 13:07:24

阅读数 4485

评论数 1

我的YUV播放器MFC小笔记:添加删除自定义分辨率

在最初设计YUV播放参数时,就考虑参数的保存,即使用注册表方式,前文已述。但直到后来才解决几个技术问题,方得以写此文章。

2015-08-19 22:45:39

阅读数 522

评论数 0

我的YUV播放器MFC小笔记:解析文件名称

为了方便播放器直接播放,也为实现所谓智能识别文件分辨率和格式,对文件名称进行解析,代码如下:

2015-08-16 10:43:25

阅读数 917

评论数 0

YUV格式学习:Y转换成RGB24

除了各种YUV格式转换成RGB外,还有一种是只转Y到RGB,显示出来的图像就是灰度图(因为Y是亮度),也可以理解为黑白图吧。

2015-08-07 13:20:33

阅读数 2008

评论数 2

YUV格式学习:NV12和YUV420P格式互换

NV12和YUV420的转换是在相同采样空间的转换,只是个别分量位置的调整,只要明白了Y、U、V分量的布置,就很容易写出来。

2015-08-05 22:38:38

阅读数 6998

评论数 2

YUV格式学习:NV16和YUV422P格式互换

其实以前也实现过SP转P的格式,现在再完善一些,写成此文。由于是相同采样空间的转换,只是个别分量位置的调整,只要明白了Y、U、V分量的布置,就很容易写出来。

2015-08-05 22:36:25

阅读数 2153

评论数 0

YUV格式学习:YUV420P、YV12、NV12、NV21格式转换成RGB24

对于YUV420的格式,网上有一大堆资料,这里就不说了。直奔主题,给出如何转换的函数,一如既往,只用代码说事。

2015-08-05 22:30:58

阅读数 6142

评论数 2

YUV格式学习:YUV422P、YV16、NV16、NV61格式转换成RGB24

对于YUV422的格式,网上有一大堆资料,这里就不说了。直奔主题,给出如何转换的函数,一如既往,只用代码说事。

2015-08-05 22:23:02

阅读数 6334

评论数 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:48

阅读数 2862

评论数 0

YUV格式学习:YUV444转换RGB24

YUV格式有很多种,按其采样方式,有444、422、420,还有411(但不常见)。针对数据的排序,又有平面格式和打包格式,还有“踢啊”特有的半平面格式——这些排列组合,就显得YUV格式多种多样,初看起来杂乱无章,但只要用心,就能理出头绪。像我,也是花了很多时间去慢慢搜索才真正理解。有时间会系统整...

2015-08-05 22:01:23

阅读数 3781

评论数 3

YUV格式学习:填充YUV444以及YUYV、YVYU、UYVY、VYUY

两年多以前,写了一个生成UYVY格式的函数。记得那时我们部门4、5个人在“小黑屋”里开发新平台,我要在“踢啊”某个芯片上实现屏幕的显示,其格式是UYVY,由于无实际的图像,于是就动手自己写了一个。虽然我们大费周折实现视频的显示、菜单功能,但可惜未使用。

2015-08-05 21:53:13

阅读数 3154

评论数 0

libjpeg学习4:libjpeg-turbo之YUV

libjpeg-turbo支持直接从JPEG解压成YUV格式,或者反之。这也是我当初想研究它的一个动力。

2015-07-08 22:07:14

阅读数 5664

评论数 2

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