- 博客(18)
- 资源 (1)
- 收藏
- 关注
原创 音视频的功耗优化
在应用中,录制与音视频模块往往是高耗能的模块,设备容易发热,影响体验。手机有多个耗电模块, SOC(CPU,GPU,DDR),Display,Audio,Video,Camera, WIFI 等,通过参数配置优化、代码优化等手段提升元器件的使用效率、降低负载,从而降低耗能。先整体梳理,从耗能大头入手,小修改可获取大收益,利用Time Profile或者火焰图可以深入挖掘可优化点。
2023-12-03 11:32:53
994
原创 CedarX中代码技术的应用借鉴 (四)CdxContainerOf
前言CedarX是全志科技开源的多媒体SDK,其解码的调用基于自研的解码器接口,向上可对接MediaPlayer接口。本文记录与分析其源代码中对于C语言方面的代码技术的应用,仅作记录与借鉴。源码参考于https://github.com/FREEWING-JP/OrangePi_CedarX问题知道如何创建一个Parser,也了解到一个Parser有哪些接口,那么问题来了,譬如,FLV解析器的内部变量与对象放在哪里,因为CdxParserT定义中只有一个CdxParserTypeE 和一个CdxPa
2021-09-25 23:05:52
696
原创 CedarX中代码技术的应用借鉴 (二)多态的方式创建格式解析器
前言CedarX是全志科技开源的多媒体SDK,其解码的调用基于自研的解码器接口,向上可对接MediaPlayer接口。本文记录与分析其源代码中对于C语言方面的代码技术的应用,仅作记录与借鉴。源码参考于https://github.com/FREEWING-JP/OrangePi_CedarX创建格式解析器demuxComponent.c中根据source中的URL创建对应的格式解析器,譬如url为/sdcard/movie.mp4,则创建一个mp4的一个Parser,如果url是一个/sdcard/
2021-09-13 23:59:50
969
原创 CedarX中代码技术的应用借鉴 (一)回调函数
前言CedarX是全志科技开源的多媒体SDK,其解码的调用基于自研的解码器接口,向上可对接MediaPlayer接口。本文记录与分析其源代码中对于C语言方面的代码技术的应用,仅作记录与借鉴。回调函数player.c中对VideoDecComponent设置回调。p是定义在player.c中的私有结构体对象。类型为PlayerContext。//player.cVideoDecCompSetCallback(p->pVideoDecComp, CallbackProcess, (void*)
2021-09-12 13:18:48
957
原创 Codec2之建造者模式
Codec2之建造者模式组件在初始化时,通过addParameter接口配置默认参数。 class C2SoftAvcDec::IntfImpl : public SimpleInterface<void>::BaseParams { public: explicit IntfImpl(const std::shared_ptr<C2ReflectorHelper> &helper) : SimpleInterface&l
2020-05-23 23:32:25
2273
1
原创 Codec2类的解析
文章目录1. 概述2. Codec2Client3. SimpleC2Component4. SimpleC2Interface1. 概述Codec2框架内有多个类,关系并不容易一下子缕清,涉及到接口与实现、HIDL调用、组件化、工厂模式与建造者模式等内容。先看一张UML图,大概描绘了Codec2框架的大多数类及其之间的关系,可能存在疏漏与错误。最顶层为Codec2类,对接到MediaCodec,其代码文件为CCodec.h,主要实现编解码功能,它主要与三个类打交道,包括CCodecBufferCh
2020-05-23 10:22:33
6875
2
原创 H264如何实现预测
文章目录1 前言2 预测3 编码3.1 宏块层句法编码3.2 最简单的Intra_16x16宏块编码3.3 优化预测模式编码3.4 优化非Intra_16x16宏块残差编码3.5 优化Intra_16x16宏块残差编码4 总结参考文献1 前言文献[H264基本原理]通俗易懂地讲解了编码基本原理,编码过程主要包括图片分区(宏块)、预测、转换(频域变换)、量化、熵编码以及打包成比特流,其中,帧内预...
2020-05-05 17:33:09
1840
2
原创 OpenMAX指南
文章目录一、前言二、OMX发展背景三、OMX标准四、OMX实现五、OMX组件化技术六、总结参考文献[注] 本文提供一个OpenMAX的入门指引,着重从整体层面进行介绍,并解释重点与关键内容,对于不重要与冗余的内容将惜墨,简单的英文注释将不作翻译。如有错漏,欢迎拍砖。一、前言Khronos Group提出一个标准,以创造一个统一的标准接口,不同厂商与开发者可以通过该标准接口提供自身对于音视频的...
2020-04-25 22:30:42
2132
2
原创 H.264多参考帧管理
文章目录一、写在前面二 、背景三、参考图像列表重排序3.1 参考图像列表:来源、初始化、排序3.2 重排序的实现过程3.4 重排序代码解析(JM)四、参考图像的标记过程4.1 标记的实现过程4.2 标记代码解析五、总结参考文献一、写在前面就解码而言,AVC是比较复杂的一个解码器,主要体现在它的多参考帧管理,包括图像序号的计算,参考图像列表的管理,参考图像的标记过程。这里将忽略B帧与场模式,以使...
2020-04-20 23:08:36
3975
6
原创 Codec2简介
[注] 该文章简要介绍了Codec 2.0是什么,如有错误与遗漏之处,欢迎指出。谷歌在2019年发布的Android Q上提供了一套新的MediaCodec实现框架--Codec 2.0,这一套新的框架是相对于旧的ACodec与OMX而言的。Codec 2.0的顶层接口与ACodec是一致的,MediaCodec作为提供给开发者的多媒体接口,其内部实现从JAVA层至Native层,Nativ...
2020-04-16 13:10:29
6978
2
原创 Codec2入门:解码组件
文章目录1 前言在本篇中,我们将关注Codec 2.0以下几个问题:1.从顶而下,一个解码组件是如何创建的2.组件的接口有哪些,分别是什么含义3.组件是如何运行的,输入与输出的数据流是怎样的2 组件的创建CCodec在allocate中,通过CreateComponentByName创建了具体的解码组件。//android/frameworks/av/media/codec2/sf...
2020-03-17 21:56:14
10267
原创 MP3学习总结
目录前言格式解析ID3V1ID3V2数据帧解码原理常见问题参考资料附录[1]前言该文档旨在提供一个对MP3整体的认识,方便入门,文章引用已标明,如有错误纰漏,非常欢迎指出。MP3全称为MPEG Audio Layer 3,是一种音频编码方案。MPEG有三种音频编码方案,包括Layer1、Layer2、Layer3。通常MP3指的是Layer3。...
2020-03-14 21:03:23
2525
2
原创 Codec2入门:框架解析
Codec2.0入门:框架解析前言–Codec2.0是什么在Android Q之前,Android的两套多媒体框架分别为MediaPlayer与MediaCodec,后者只负责解码与渲染工作,解封装工作由MediaExtractor代劳,MediaCodec经由ACodec层调用第三方编解码标准接口OpenMAX IL,实现硬件编解码。芯片厂商只需要支持上Khronos 制定的OpenMAX接...
2020-03-03 23:01:01
17487
7
原创 VIM进阶指导
目录前言VIM模式插入模式常用操作文本编辑常用配置常用插件如何追踪代码强大的终端工具--Tmux结尾参考文献附录前言工欲善其事,必先利其器。在Linux下开发,熟悉掌握VIM操作,可以很好地提高编辑与开发效率。初入门的同学,一般只懂得几个常用的VIM操作,打开文件,插入编辑,保存退出,只会这几个操作,那就真是小看了这款神通广大的编辑器了...
2020-02-22 10:19:07
715
原创 MPEG-TS 格式解析
一.背景介绍二.TS介绍三.TS解封装的原理四.TS格式详解1.TS包格式2.PAT格式3.PMT格式4.PES格式五.参考资料一.背景介绍MPEG-TS一种标准数据容器格式,传输与存储音视频、节目与系统信息协议数据,应用于数字广播系统,譬如DVB,ATSC与IPTV。传输流在MPEG-2第1部分系统中规定,正式称为ISO / IEC标准13818-1或IT...
2018-07-28 23:10:18
24384
2
原创 MediaCodec基础入门
一MediaCodec的应用背景角色二MediaCodec的状态机代码设计架构交互机制三 MediaCodec的同步模式及JAVA代码四参考资料一.MediaCodec的应用背景、角色如图1所示,APP开发者可以采用两种多媒体JAVA库开发多媒体播放服务,分别为MediaPlayer,MediaCodec。MediaCodec的C++层是对ACodec的封装;ACodec完成的工作是向下调用O
2017-11-27 22:14:08
5387
原创 多目标遗传算法NSGA-II在工业机器人关节空间轨迹优化上的应用
机器人轨迹优化NSGAI-II算法轨迹优化重要参考文献机器人轨迹优化有多种函数插值可以应用到工业机器人的关节轨迹构造上,包括三次多项式,五次多项式,B样条甚至是NURBS等复杂函数。对于轨迹的优化,存在多种优化方法,智能算法的有遗传算法、粒子群算法、蚁群算法等,经典的算法有序列二次规划法(SQP),相平面法(position-velocity phase plane method),动态规划法(
2017-11-26 22:30:58
5543
12
翻译 Xenomai 2.6.5 on Ubuntu 14.04
文章来源: http://rtt-lwr.readthedocs.io/en/latest/rtpc/xenomai.html目标:在Ubuntu 14.04 上安装 Xenomai 2.6.5;测试平台:Ubuntu 14.04, linux原内核 4.4.0,Win 64bit安装结果:成功注意事项:记得采用sudo
2016-12-01 22:24:49
3499
1
IgH EtherCAT Master for Linux
2016-11-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人