音视频
文章平均质量分 78
Kayson12345
这个作者很懒,什么都没留下…
展开
-
音视频的功耗优化
在应用中,录制与音视频模块往往是高耗能的模块,设备容易发热,影响体验。手机有多个耗电模块, SOC(CPU,GPU,DDR),Display,Audio,Video,Camera, WIFI 等,通过参数配置优化、代码优化等手段提升元器件的使用效率、降低负载,从而降低耗能。先整体梳理,从耗能大头入手,小修改可获取大收益,利用Time Profile或者火焰图可以深入挖掘可优化点。原创 2023-12-03 11:32:53 · 822 阅读 · 0 评论 -
CedarX中代码技术的应用借鉴 (一)回调函数
前言CedarX是全志科技开源的多媒体SDK,其解码的调用基于自研的解码器接口,向上可对接MediaPlayer接口。本文记录与分析其源代码中对于C语言方面的代码技术的应用,仅作记录与借鉴。回调函数player.c中对VideoDecComponent设置回调。p是定义在player.c中的私有结构体对象。类型为PlayerContext。//player.cVideoDecCompSetCallback(p->pVideoDecComp, CallbackProcess, (void*)原创 2021-09-12 13:18:48 · 888 阅读 · 0 评论 -
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 · 2144 阅读 · 1 评论 -
Codec2类的解析
文章目录1. 概述2. Codec2Client3. SimpleC2Component4. SimpleC2Interface1. 概述Codec2框架内有多个类,关系并不容易一下子缕清,涉及到接口与实现、HIDL调用、组件化、工厂模式与建造者模式等内容。先看一张UML图,大概描绘了Codec2框架的大多数类及其之间的关系,可能存在疏漏与错误。最顶层为Codec2类,对接到MediaCodec,其代码文件为CCodec.h,主要实现编解码功能,它主要与三个类打交道,包括CCodecBufferCh原创 2020-05-23 10:22:33 · 6553 阅读 · 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 · 1762 阅读 · 2 评论 -
MP3学习总结
目录前言格式解析ID3V1ID3V2数据帧解码原理常见问题参考资料附录[1]前言该文档旨在提供一个对MP3整体的认识,方便入门,文章引用已标明,如有错误纰漏,非常欢迎指出。MP3全称为MPEG Audio Layer 3,是一种音频编码方案。MPEG有三种音频编码方案,包括Layer1、Layer2、Layer3。通常MP3指的是Layer3。...原创 2020-03-14 21:03:23 · 2241 阅读 · 2 评论 -
OpenMAX指南
文章目录一、前言二、OMX发展背景三、OMX标准四、OMX实现五、OMX组件化技术六、总结参考文献[注] 本文提供一个OpenMAX的入门指引,着重从整体层面进行介绍,并解释重点与关键内容,对于不重要与冗余的内容将惜墨,简单的英文注释将不作翻译。如有错漏,欢迎拍砖。一、前言Khronos Group提出一个标准,以创造一个统一的标准接口,不同厂商与开发者可以通过该标准接口提供自身对于音视频的...原创 2020-04-25 22:30:42 · 1967 阅读 · 2 评论 -
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 · 6784 阅读 · 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 · 9885 阅读 · 0 评论 -
Codec2入门:框架解析
Codec2.0入门:框架解析前言–Codec2.0是什么在Android Q之前,Android的两套多媒体框架分别为MediaPlayer与MediaCodec,后者只负责解码与渲染工作,解封装工作由MediaExtractor代劳,MediaCodec经由ACodec层调用第三方编解码标准接口OpenMAX IL,实现硬件编解码。芯片厂商只需要支持上Khronos 制定的OpenMAX接...原创 2020-03-03 23:01:01 · 16417 阅读 · 6 评论 -
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 · 24013 阅读 · 2 评论 -
MediaCodec基础入门
一MediaCodec的应用背景角色二MediaCodec的状态机代码设计架构交互机制三 MediaCodec的同步模式及JAVA代码四参考资料一.MediaCodec的应用背景、角色如图1所示,APP开发者可以采用两种多媒体JAVA库开发多媒体播放服务,分别为MediaPlayer,MediaCodec。MediaCodec的C++层是对ACodec的封装;ACodec完成的工作是向下调用O原创 2017-11-27 22:14:08 · 5272 阅读 · 0 评论