胸怀万里世界, 放眼无限未来。这篇文章主要讲述android自定义编解码器记录相关的知识,希望能为你提供帮助。
最近折腾了一下软编码器,网上的资料好少,踩的坑记一下
- 从frameworks/media/libstagefright/codecs下面找一个enc的代码看看
【android自定义编解码器记录】无非是从SimpleSoftOMXComponent继承,然后实现onfill什么的,自己的编码器就在这里实现,比较好理解。
- SoftOMXPlugin.cpp里注册这个编码器,OMX.google.xxx.encoder,照着上面仿写就行
- 网上说的只需要上面两步,但实际上在我这还跑不起来,只好加日志跟起来
ACodec.cpp
有这么个函数onAllocateComponent,看下自己的是定义的软编还是硬编,加个标记flags = OMXCodec::kSoftwareCodecsOnly;
setVideoPortFormatType这里也要看看,有可能colorFormat和格式对不上需要特殊处理跳过去
OMXCodec.app
这里也有一个MIME对编解码器的数组,作用没仔细看,为防万一也加上了
- 这样一个编码器就能跑起来了,最后在/etc/media_codecs.xml注册一下
推荐阅读
- BaseProject快速构建自己的APP
- Netapp在模拟器中使用disk removeowner报错
- Android属性动画初步学习笔记
- Android 4.4 全套源代码及子模块源代码的下载方法
- hadoop2.4 支持snappy
- Android 透明度百分比对应的 十六进制
- Android开发之《异常处理》
- Android Gradle 指定 Module 打包
- Android 去除状态栏和隐藏虚拟按键