音视频文字处理
文章平均质量分 97
嵌入式Max
手机 Camera 软件研发。
技能:V4L2、音视频处理软件框架-openMAX、Android Camera、ISP 处理
展开
-
文本处理以及freetype的使用
1. 字符编码 编码 解释 GBK(国标扩展码) 英文字符用一个字节进行表示,值小于等于 127。汉字用两个字节进行表示,对应的区位码由国家标准指定 UTF-8 变长编码,中文文字编码开头的 1 的个数是指该文字用多少个字节进行表示,第一个字节从 0 开始后面的位与往后字节后 6 位组合在一起就是该文字的 Unicode 码。英文字符用 0-127 表示 UTF-16LE原创 2016-08-03 16:13:24 · 5380 阅读 · 2 评论 -
V4L2框架概述
几乎所有的设备都有多个 IC 模块,它们可能是实体的(例如 USB 摄像头里面包含 ISP、sensor 等)、也可能是抽象的(如 USB 设备里面的抽象拓扑结构),它们在/dev目录下面生成了多个设备节点,并且这些 IC 模块还创建了一些非 v4l2 设备:DVB、ALSA、FB、I2C 和输入设备。正是由于硬件的复杂性,v4l2 的驱动也变得非常复杂。特别是 v4l2 驱动要支持 IC 模块来进行音/视频的混合/编解码操作,这就更加使得 v4l2 驱动变得异常复杂。原创 2018-06-17 15:25:07 · 77923 阅读 · 36 评论 -
OpenMAX编程-时钟与同步
阅读原文导读: 音视频的同步问题一直是音视频播放过程中很重要的一部分,OpenMax的spec文档里面给出了一种推荐的音视频同步的做法,而且很多地方也正是采用的这种推荐的音视频同步方法。本文就对spec里面介绍的音视频同步方法进行拆解分析,探究其编码实现过程。往期文章索引: 04 - OpenMAX编程-音视频等组件介绍 03 - OpenMAX编程-实现一个组件 02 - Ope...原创 2018-04-22 16:51:25 · 1689 阅读 · 3 评论 -
OpenMAX编程-音视频等组件介绍
本文着重介绍不同类型组件的具体构成(参数类型、特性设置等),包括audio、video、image等组件。另外对OpenMAX的一些扩展用法以及以前文章当中的缺漏进行补充。原创 2018-03-12 22:28:57 · 2993 阅读 · 0 评论 -
OpenMAX编程-实现一个组件
往期文章索引: 02 - OpenMAX编程-数据结构 01 - OpenMAX编程-组件 00 - OpenMAX编程初识导读: 本文聚焦于如何编程实现一个真正的组件,主题思想是介绍一个组件在编程sjo的模块组成以及如何编写,也会介绍下组件的初始化过程、组件之间的绑定过程、数据同步过程。在下一篇文章里面会对video、audio、clock等组件进行介绍。注意:该文章主要介绍组件原创 2018-01-07 21:33:45 · 3489 阅读 · 5 评论 -
OpenMAX编程-数据结构
该篇文章对OpenMAX的数据结构进行概要描述,包括OpenMAX的一些官方定义的头文件介绍,以及各种结构体数据介绍:比如OpenMAX组件结构体描述、PORT端口结构体描述。并对组件内部线程的大概结构以及组织方式进行介绍,本文章的目标是可以实现一个有基本功能的组件。原创 2017-11-19 20:28:18 · 2366 阅读 · 1 评论 -
OpenMAX编程-组件
OpenMAX的重点组成部分就是组件,OpenMAX通过将meida流过程中的各个模块抽象化为组件来进行耦合,在OpenMAX标准下,数据流通过组件来进行传递、处理、显示。在该篇文章里,不需要了解细致的组件内部实现机理,也不需要知道各种方法的代码实现形式(如遇少量代码形式的解析说明可暂时略过,只需要知道该段代码要完成的工作是什么即可),通过阅读该文章,需要知道的是组件是什么?它有什么用原创 2017-10-15 18:24:33 · 2801 阅读 · 2 评论 -
OpenMAX编程初识
原文链接导读: 本篇文章对OpenMAX做了一个整体的介绍与概述,说明OpenMAX是什么?可以解决什么问题?用在什么地方?以及为什么要用OpenMAX?这里并不对OpenMAX进行深入介绍(放到接下来的几篇文章里面),希望通过这篇文章可以对OpenMAX有一个大体的了解。原创 2017-09-24 21:47:16 · 8096 阅读 · 1 评论 -
MP3文件格式全解
WAV 格式文件头(除了文件头就是音频数据了),很简单,不用多说struct WAVFmtHeader{ char strRIFF[4]; /* 'RIFF' 资源文件标志,固定字符 */ unsigned long dwTotalByte; /* 从下一个成员开始到文件结尾的总字节数 */ char strWAVE[4]; /* 'WAVE原创 2016-08-11 17:27:52 · 21394 阅读 · 1 评论 -
jpg图片解码
1. bmp 图片格式bmp :位图像素文件文件头部/* 位图文件的文件头 */struct BitMapPicHeader{ unsigned short bfType; /* 类型,必须是 0x4d42 */ unsigned long bfSize; /* 该文件的大小 */ unsigned short bfReserved1; /* 保留,不使用 */原创 2016-08-03 17:03:40 · 7736 阅读 · 0 评论 -
OpenMAX数据流传递规则
[Github-pages]在利用 OpenMax 编写的程序框架中,就不可避免地会涉及到数据流的传递,因为这个框架就是为了数据流传递而服务的。在音视频数据包的传递过程中需要遵循某种约束,比如数据包处理时间不能超过帧间隔等等。本文就讨论一下在数据流传递过程中的一些约束性规则,主要就是时间约束规则。完整的数据流一个简单的数据流如下图所示:简单数据流可以看到,一个完整的数据流包括:「产生」...原创 2018-09-23 19:24:01 · 1687 阅读 · 0 评论