问题标签 [openmax]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - android 中的 OpenMAX DL(开发层)支持
是否可以在 android 中使用 OpenMAX DL 库?AFAIK android 2.2 使用可能没有实现这部分 OpenMAX 标准的 OpenCore。几个月前,VisualOn 加入了 OHA,他们的 VOME 完全实现了 OpenMAX。有谁知道 VOME 现在是否是 android 2.3 的一部分?如果是这样,有任何示例如何使用它吗?我对使用优化的 FFT 函数特别感兴趣。
directshow - 如何使 directshow 兼容 OpenMAX
谁能告诉我如何使 directshow 符合 OpenMAX 标准?如果我使用 directshow 那么它不会为我提供媒体基础设施的可移植性。我必须在openMAX的集成层做一些事情我知道!请提供任何可以提供帮助的来源。
assembly - 如何在 Windows 嵌入式设备上构建 openMax 库
我正在尝试在 windows 嵌入式紧凑型 7 上构建具有霓虹灯优化的 OpenMax(支持带有 NEON 的 Armv7)。此刻我有这个错误的问题:
windows armasm.exe 无法理解“.S16”是什么意思,现在有任何解决方案或其他兼容的编译器吗?
android - 支持 Android StageFright 软件编解码器中的 OMX 接口
Android 软件编解码器(例如OMX.PV.mpeg4enc
)是否支持 OpenMAX (OMX) 接口?例如,它们是否支持标准的 OMX 功能OMX_FillThisBuffer
,例如OMX_EmptyThisBuffer
等?还是只有硬件解码器支持OMX接口?
c++ - GPU 去隔行扫描
我有一个使用 OpenGL 进行视频处理(例如颜色变换、缩放和翻译)的应用程序。我主要使用 BGRA (1xGL_BGRA) 或 YUVA (4xGL_R) 视频,即包括 alpha。
现在我还想做一些高质量的去隔行。我注意到 Nvidia 通过其“PureVideo”功能支持高质量的硬件加速去隔行扫描。基本上我想做的是发送一个带有 x 个颜色通道的交错 OpenGL 纹理,并得到两个渐进纹理。
我的问题是如何最简单、最有效地访问此功能(可能与 OpenGL 互操作)?
我一直在研究 DXVA 和 OpenMax,但两者似乎都更专注于播放(不是去隔行处理,即需要设置帧速率等不相关的选项等)和无 alpha 格式......
android - 在 Android 中通过 OpenMAX 访问相机
我目前试图弄清楚如何在 Android 4.0 中通过 OpenMAX 访问相机。该文档对我来说还不够,所以我目前正在努力XADataSource
为以下调用检索正确的内容。
请不要让我只使用Java- “答案”。
android - 用基于 ffmpeg 的编码器替换标准的 Android H264 软件编码器
在 Android ICS 及更高版本中,正在使用新的 OpenMax IL API 版本,使旧的二进制 blob 无用/未使用。这会导致运行 ICS 的旧设备正常运行并且花花公子的视频播放中断(例如 YouTube HQ 和 IMBD),因为与 ffmpeg 在同一设备上可以执行的操作相比,Android 的后备软件解码器很糟糕(我测试了 MXPlayer+arm6vfp ffmpeg 和一部 720p 电影播放效果很好)。
我正在尝试深入研究 Android 源代码,以查看我可以添加/替换代码的具体位置和内容,以允许使用 ffmpeg 库的强大功能。问题是我不确切知道正在使用什么代码,例如用于解码视频的 YouTube 应用程序,或者它是如何决定的。
因此,据我所知,我有两个选择:
找出当前正在使用的软件解码器,并尝试将其外部接口包裹在 ffmpeg 周围,有效替代当前使用的慢速软件解码器。最终结果将是一个 .所以我可以推送到设备。
弄清楚如何诱使 Android 考虑基于 ffmpeg 的 OMX 库(我已经为 Android 成功构建了一个:limoa)并将其添加到考虑的库列表中的某个位置(或者更好:替换不可用的硬件编解码器)。
作为扩展,我还想通过它使摄像机视频编码工作,因此非常需要一个真正的集成解决方案。问题是:如何,在哪里,以及什么?搜索 Android 源代码树会在许多不同的地方提供大量的“H264”和相关内容。我需要尽可能最低和最简单的,所以我可以简单地包装假设的decode(buffer)
函数调用以使用 ffmpeg (libavcodec)。
c++ - 使用 c++ 在 openmax 中播放视频
谁能告诉我openmax的c代码示例,播放位于本地驱动器中的视频文件。您可以在下面给出的链接中找到头文件 - http://www.khronos.org/registry/omxal/
谢谢。
android - 使用 OpenMAX IL 将硬件渲染到 Android Surface
我想使用此处描述的 OMX HW 渲染器: http ://www.slideshare.net/RaghavanVenkateswaran/iomx-in-android
操作系统:安卓 2.3.4
使用的系统库: libmedia、libbinder、libstagefright、libutils
我设备上的 OMX 组件:
组件名称:OMX.ITTIAM.AAC.decode,组件角色:audio_decoder.aac
组件名称:OMX.ITTIAM.AAC.encode,组件角色:audio_encoder.aac
组件名称:OMX.TI.720P.Decoder,组件角色:video_decoder.mpeg4
组件名称:OMX.TI.720P.Decoder,组件角色:video_decoder.avc
组件名称:OMX.TI.720P.Encoder,组件角色:video_encoder.mpeg4
组件名称:OMX.TI.720P.Encoder,组件角色:video_encoder.avc
组件名称:OMX.TI.AAC.decode,组件角色:audio_decoder.aac
组件名称:OMX.TI.AAC.encode,组件角色:audio_encoder.aac
组件名称:OMX.TI.AMR.decode,组件角色:audio_decoder.amrnb
组件名称:OMX.TI.AMR.encode,组件角色:audio_encoder.amrnb
组件名称:OMX.TI.Camera,组件角色:camera.yuv
组件名称:OMX.TI.JPEG.decoder,组件角色:image_decoder.jpeg
组件名称:OMX.TI.JPEG.encoder,组件角色:image_encoder.jpeg
组件名称:OMX.TI.MP3.decode,组件角色:audio_decoder.mp3
组件名称:OMX.TI.VPP,组件角色:iv_renderer.yuv.overlay
组件名称:OMX.TI.Video.Decoder,组件角色:video_decoder.h263
组件名称:OMX.TI.Video.Decoder,组件角色:video_decoder.avc
组件名称:OMX.TI.Video.Decoder,组件角色:video_decoder.mpeg2
组件名称:OMX.TI.Video.Decoder,组件角色:video_decoder.mpeg4
组件名称:OMX.TI.Video.Decoder,组件角色:video_decoder.wmv
组件名称:OMX.TI.Video.encoder,组件角色:video_encoder.mpeg4
组件名称:OMX.TI.Video.encoder,组件角色:video_encoder.h263
组件名称:OMX.TI.Video.encoder,组件角色:video_encoder.avc
组件名称:OMX.TI.WBAMR.decode,组件角色:audio_decoder.amrwb
组件名称:OMX.TI.WBAMR.encode,组件角色:audio_encoder.amrwb
组件名称:OMX.TI.WMA.decode,组件角色:audio_decoder.wma
我已经完成了这些步骤:
1,通过 JNI 传递 Android Surface 对象(与本机 MediaPlayer 完全相同):
JNI(C++):
MMediaPlayer 中的 Surface 变量声明为:
爪哇:
2、初始化IOMX节点:
注意:硬编码值仅用于简单和测试目的
3、尝试创建OMX Renderer:
它总是返回 NULL。
有人知道这有什么问题吗?我在初始化错误的组件吗?还是必须遵循一些特殊的调用顺序?或者是其他东西?
c++ - 编写 OpenMAX IL 组件,从哪里开始
我即将获取我的树莓派的视频输出,将其传递给有点像 adalight 的环境闪电系统。XBMC 的播放器为 PI、omxplayer,用户使用 OpenMAX API 进行解码等功能。
查看代码给出以下信息:
m_omx_tunnel_sched.Initialize(&m_omx_sched, m_omx_sched.GetOutputPort(), &m_omx_render, m_omx_render.GetInputPort());
据我了解,这在视频调度程序和渲染器 [S]-->[R] 之间设置了一个管道。
现在我的想法是编写一个抓取器组件并将其插入管道[S]-->[G]->[R]。抓取器将从帧缓冲区中提取像素并将其传递给驱动 LED 的守护程序。
现在我要深入研究 OpenMAX API,这似乎很奇怪。我应该从哪里开始?这是一种可行的方法吗?
此致