如何注册 OMX 核心以添加新解码器

2023-12-11

我指的是帖子:

Android:如何将解码器集成到多媒体框架

接下来我注册了我的新解码器(Android 目前不支持)media_codecs.xml.

上述帖子的步骤 2 需要我执行OMX核心注册。但是,由于我对这个主题非常陌生,所以我无法遵循步骤 2。

我有 C 语言解码器的工作代码,并且已经移植到 android 上。

所以我请求是否有人可以提供以下信息:

  • 为解码器执行 OMX 代码注册的分步指南 目前 Android 不支持该功能。

  • 我应该将工作 C 代码放在源代码树中的什么位置以及如何放置 指定编译器来编译它

  • 最后,我想告诉大家,我正在研究 ICS 代码和
    解码器源代码的输出是YUV420。

任何人请提供上述查询的指示。提前致谢。


如果您不打算拥有自己的OMX Core,那么你可以考虑将你的编解码器添加到SoftOMXComponent插件本身如下所述。

Note:这个答案假设你有重新编译一部分的能力 of AOSP代码并且可以替换重建的库在您的平台上。

第 1 步:注册OMX成分

In SoftOMXComponent源文件如图所示here,添加您的组件名称,如下所示

{ "OMX.sam.custom.h264.decoder", "sam_h264dec", "video_decoder.avc" }

Here "OMX.sam.custom.h264.decoder"代表你的组件名称,"sam_h264dec"表示存储在文件系统中的库名称的后缀(更多内容见下文)和"video_decoder.avc"代表解码器的角色,在本例中是H.264视频解码器。

步骤2:库的生成

Your OMX组件应构建为动态可加载库,其名称为"libstagefright_soft_sam_h264dec.so"并应放置在/系统/库您的文件系统。

第三步:创建组件

The Stagefright框架代码将查找名为的符号createSoftOMXComponent创建组件。因此,步骤 2 中提到的编解码器库应该支持此功能。

通过这些步骤和assuming你的编解码器是OMX兼容于Android扩展,您应该能够集成您的解码器。

Tip 1:如果您希望始终选择您的组件,请确保在步骤 1 中描述的组件名称已注册在最顶部kComponents显示参考中的数组。

Tip 2:如果您想了解更多有关动态加载库生成的主题,您可以参考GSM Decoder代码如图所示here.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何注册 OMX 核心以添加新解码器 的相关文章

  • 随着手指的滑动改变活动

    我想知道如何通过滑动手指来更改活动 或者从右向左滑动手指并更改活动 就像我们在智能手机上看到图片的方式一样 有人知道吗 Cumpz 请参阅以下链接 http savagelook com blog android swipes or fli
  • Android 上的多处理

    我一直在 Android 上执行一些测试 以验证并行化算法 如 FFT 的性能可以提高多少 我通过使用带有 JNI FFTW 的 pthread 和 Java 线程 来自 JTransforms 来实现这些算法 我没有像预期那样通过使用线程
  • SDK 管理器缺少模拟器的旧版 Android 系统映像

    我刚刚重新安装了 ADT 捆绑包 20130522 和 Android Studio 因为我的 eclipse 安装再次搞砸了 但那是另一个故事了 在任一版本中 当我启动 SDK Manager 时 都没有任何 2 2 的系统映像 只有 2
  • 尝试在谷歌地图V2 Android应用程序中获取空数组的长度

    我目前正在使用谷歌地图API开发一个Android应用程序 有时我会因为没有明显的原因而发生奇怪的崩溃 在我看来 这是崩溃日志 12 02 16 38 57 071 20796 21137 com appsolute ParkYoo E A
  • 从 Android 函数更新 Textview

    有人可以告诉我如何从函数更新 Android Textview 控件吗 我在互联网上进行了深入搜索 看到很多人都问同样的问题 我测试了线程但无法工作 有人有一个简单的工作示例吗 例如 调用一个函数 在循环中运行多次 并且该函数在 TextV
  • openFileOutput 在单例类中无法正常工作 - 想法/解决方法?

    作为一名 Android 开发新手 我遇到了一些奇怪的问题 我想创建一个类 它方法其他类 活动 任何可以用于以某种特殊方式处理文件的类 假设为了简单起见 我们将记录一些内容 如果我在活动中执行以下操作 例如在 OnClick 侦听器中 则一
  • Ionic 4:硬件后退按钮重新加载应用程序

    从事项目并陷入问题 硬件后退按钮重新加载应用程序 我在此应用程序中使用 Angular Router 我退出应用程序的代码 ionViewDidEnter this subscription this platform backButton
  • Android 中的处理程序到处理程序与 Messenger 到 Messenger 通信

    问题 使用起来是否 更好 更快且开销更少 Handler http developer android com reference android os Handler html与使用 Handler 通信相比信使 http develop
  • 如何切换状态栏?

    我正在寻找一种显示和隐藏状态栏的方法onClickListener 但仅显示其有效 WindowManager LayoutParams lp getWindow getAttributes if isStatusbarVisible lp
  • 视图随软键盘移动,遮挡其他 UI 对象

    我有一个容器视图 我希望它始终位于视图底部 位于 ScrollView 下方 ScrollView 有一些 UI 对象 其中一个是 EditText 对象 目前 当用户点击 EditText 对象内部时 android softkeyboa
  • 如何让 Mockito 在 androidTest 中工作

    在我的测试中 我如何模拟我编写的课程 这是我的测试代码 import android support test runner AndroidJUnit4 import org junit Before import org junit Te
  • 我怎样才能实现CoverFlow视图[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我想用点线布局实现溢出视图 目前我正在使用 polidea 封面流库 URL github https
  • 地理围栏不可用以及如何处理

    我正在 Android 上使用地理围栏 它在大多数手机上都工作正常 但在其中一些上 它不起作用 在我的错误日志中显示 地理围栏不可用 某些用户没有为 Google Play 服务启用位置跟踪 我认为这就是地理围栏在他们的手机上不起作用的原因
  • 谷歌地图URL中参数的含义是什么

    我正在 Android 上使用 Webkit 浏览器 我想在以下 URL 中获得一个红色 A 符号
  • 使用 Android O 的“android:fontFamily”时出现错误“文件名必须以 .xml 结尾”?

    Android O 引入了一项新功能 XML 中的字体 它允许您将字体用作资源 我正在创建font资源文件中的文件夹 由安卓开发者 https developer android com preview features working w
  • 手动添加带有依赖pom/iml文件的aar

    由于我无法使用私人 Maven 来共享我的库 因此我正在考虑共享 aar 并导入到另一个项目中 当 aar 和 jar 文件不包含任何依赖项时 就会出现问题 因此 一旦我在android studio中手动导入aar 使用Import JA
  • 如何像UCBrowser一样使用webview打开url

    我是安卓新手 我正在尝试制作一个示例应用程序来在 webview 中打开网站 问题是 网站以桌面模式打开 如何才能像UC浏览器 手机模式 一样打开网站 尝试这个 它应该有效 webview1 getSettings setJavaScrip
  • 调用外部应用程序

    如何从我的应用程序调用外部应用程序 例如 我需要打电话Shazam 应用程序 来自我的应用程序 我可以在应用程序的包名称中看到logcat 这对任何目的都有用吗 特别是对于 Shazam 以下代码有效 Intent intent new I
  • 无法 ACTION_VIEW 外部存储上的文件

    我的 Android 手机的外部存储中有一个文件 在本例中是模拟的 知道通往它的路径和 或拥有File代表它的对象 我如何使用Intent在适当的应用程序中打开它 我尝试的第一件事是 startActivity new Intent Int
  • Android:通过查找带有标签而不是 ID 的容器来添加片段

    我正在使用 for 循环创建片段的多个实例 在每个片段中 我需要添加另一组子片段 为此 我需要找到正确的容器 如果我使用容器的 ID 所有子片段都会添加到第一个父片段 而不是它们自己的父片段 在我的主要片段中 for ParentFragm

随机推荐

  • 在 DFP 广告管理系统中根据浏览器宽度更改广告尺寸

    在 DFP 广告管理系统标准版 DoubleClick 中 我为具有三种不同尺寸的广告单元生成了以下广告代码 并为每种指定尺寸生成了一个广告素材 因此 广告单元有三种不同的尺寸 当您点击刷新时 广告会更改为我指定的三种广告尺寸之一 这很好用
  • 为什么 cd 命令无法使用 Java JSch?

    我刚刚学习Java和Jsch 我可以让它运行其他命令 但不能运行cd SSHManager sendCommand 函数返回的错误代码不是 null 而是一些每次都不一样的不可读的字符串 也许这意味着它是 null 对 Java 的内部工作
  • 使用 ShellContent xamarin 表单时添加导航后退箭头

    当我们使用ShellContent例如 导航到仪表板页面时 导航栏中没有后退箭头 知道如何导航到仪表板页面并可以返回上一页吗
  • 朱莉娅的执行速度

    我正在对 Julia 的执行速度进行基准测试 我执行了 time i 2 for i in 1 1000 在 Julia 提示下 这导致了大约 20 毫秒的时间 这看起来很奇怪 因为我的计算机是现代的 i7 处理器 我使用的是 Linux
  • 在tensorflow中使用tf.nn.conv2d_transpose获取反卷积层的输出形状

    根据这个paper 输出形状为N H 1 N是输入的高度或宽度 H是内核高度或宽度 这显然是卷积的逆过程 这tutorial给出计算卷积输出形状的公式 即 W F 2P S 1 W 输入大小 F 过滤器尺寸 P 填充尺寸 S 迈步 但在张量
  • 如果在范围内找到单个单元格值,则删除整行

    我正在处理每个多个站点记录 31 天数据的每日数据 我需要一个 VBA 代码来删除闰年日 我有一个记录数据日期的列表和一个我想要删除的非闰年的年份列表 为了删除额外的 30 和 31 天 我使用了以下基本代码 Dim lastrow i A
  • Excel 超链接 - 跳转到单元格并滚动窗口

    我正在使用 Excel 我想创建一个从页面顶部到页面上另一个位置的超链接 我在顶部的一个框中输入 然后右键链接并向下转到hyper link在下拉菜单中 我单击它并选择 在此工作簿中 的选项卡 并将其更改为我想要的位置 所以这一切都很好 但
  • 打字稿中的 useContext 和 useReducer

    我是新来的打字稿我正在实现react useContext 和useReducer 我正在遵循教程 但出现错误Parameter action implicitly has an any type 在我的减速器功能中 减速机功能 funct
  • 十进制数的正则表达式

    有人可以帮助我使用正则表达式吗 基本上 我想要一个与十进制数字匹配的正则表达式 允许的类型 12 1 3234 0 3423434 23423 12 不允许的类型 0012 12 324 12 01 2332 12 121212 提前感谢您
  • 如何使用 pip 安装 numpy

    我正在尝试安装numpy在我的 Mac 上 我目前使用 OS X 10 7 3 和 Python 版本 2 7 根据which python I tried pip install numpy在命令行中显示 找不到任何满足 numpy 要求
  • 在java中,JFrame是重量级组件还是轻量级组件?

    我知道 Swing 被认为是轻量级的 因为它完全用 Java 实现 无需调用本机操作系统来绘制图形用户界面组件 另一方面 AWT 抽象窗口工具包 是重量级工具包 因为它仅调用操作系统来生成其 GUI 组件 但听说Swing还是基于AWT的
  • 如何强制 .NET 3.5 应用程序在 .NET 4.5 运行时运行?

    我正在尝试实施此处描述的解决方案 我可以在面向 NET 3 5 SP1 时使用 NET 4 功能吗 当 NET 3 5 应用程序在 NET 4 0 上运行时 它可以正常工作 但是 在 NET 4 5 上 该应用程序在 NET 3 5 环境中
  • iOS:初始界面方向 [UIInterfaceOrientation] 在 plist 中被忽略

    我正在尝试将我的应用程序的初始方向设置为 UI界面方向横向左 我无法得到 Initial interface orientation UIInterfaceOrientation 覆盖数组中的第一项 Supported interface
  • 为什么我的 ViewScoped bean 无法在 h:commandButton 中生存?

    在 JBoss AS 7 1 0 Final 上部署 我有一个非常简单的测试应用程序 直到前几天它都按预期工作 著名的遗言 并且不再做最基本的事情 即设置输入组件的值并在操作组件中使用它 我已经将这件事剥离到基础知识 但无法弄清楚发生了什么
  • android 手机启动时启动 Activity

    我试图在手机启动时启动活动 但整个程序没有运行 程序中没有错误 请参阅下面的编码 或此处http pastebin com BKaE4AaU 自动启动 java import android content BroadcastReceive
  • 使用 LINQ 自定义排序

    看来我错过了一些微不足道的事情 无论如何 事情是这样的 var order new 1 3 2 var foos new new Foo Id 1 new Foo Id 2 new Foo Id 3 如何使用 Linq 按顺序数组对 foo
  • Angular 4.0 http put 请求

    我编写了一个函数来发送 http put 请求来更新一些数据 但它说它没有收到任何数据 updateHuman human Human const url this url human id const data JSON stringif
  • 如何使用访问权限和密钥来访问 Google Cloud Storage

    我拥有 Google Cloud Storage 的访问权限和密钥 并且我想使用这些凭据实例化客户端 我一直在查看教程并遇到了这个示例 public class QuickstartSample public static void mai
  • 如何在 C 预处理器中生成唯一值?

    我正在编写一堆相关的预处理器宏 其中一个生成标签 另一个宏则跳转到该标签 我以这种方式使用它们 MAKE FUNNY JUMPING LOOP MAKE LABEL MAKE LABEL 我需要某种方法来生成独特的标签 每个内部标签一个MA
  • 如何注册 OMX 核心以添加新解码器

    我指的是帖子 Android 如何将解码器集成到多媒体框架 接下来我注册了我的新解码器 Android 目前不支持 media codecs xml 上述帖子的步骤 2 需要我执行OMX核心注册 但是 由于我对这个主题非常陌生 所以我无法遵