标签: openmax

编写 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,这似乎很奇怪。我应该从哪里开始?这是一个可行的方法吗?

此致

c++ raspberry-pi openmax

5
推荐指数
1
解决办法
2671
查看次数

OpenMAX和NDK:我能在哪里获得表面?

我正在编写一个显示视频的应用程序.该应用程序使用Android NDK和JNI编写.

我想使用OpenMAX.在OpenMAX示例中,它从Java检索表面,但是我可以在哪里渲染表面?我只能通过applicationContext获取nativeWindow.

例:

void Java_com_example_nativemedia_NativeMedia_setSurface(JNIEnv *env, jclass clazz, jobject surface)                
{   
    theNativeWindow = ANativeWindow_fromSurface(env, surface);  
}
Run Code Online (Sandbox Code Playgroud)

但我没有表面.

谢谢

c++ android-ndk openmax

5
推荐指数
1
解决办法
2028
查看次数

在Jelly Bean之前的Android中用于H.264的硬件加速视频解码

我正在开展视频会议项目.我们使用软件编解码器对视频帧进行编码和解码,这样可以在较低分辨率(高达320p)下正常工作.我们计划支持我们的应用程序,以获得高达720p的更高分辨率.我开始知道硬件加速可以很好地完成这项工作.

由于硬件编解码器api媒体编解码器可从Jelly Bean开始使用,我已将其用于编码和解码,并且工作正常.但我的应用程序得到2.3的支持.因此,我需要对30帧/秒的H.264帧进行硬件加速视频解码.

在研究中发现了通过修改舞台惊吓框架来使用OMX编解码器的想法.我读过H.264的硬件解码器可以从2.1获得,而编码器是从3.0开始.我已经浏览了本网站提供的许多文章和问题,并确认我可以继续.

我曾在这里阅读过怯场建筑-架构和这里- stagefright它是如何工作的

我在这里阅读OMX编解码器- 使用android-hardware-decoder-with-omxcodec-in-ndk.

我有一个起步问题和一些关于它的实现的混淆.我想有一些关于它的信息.

  1. 为了在我的代码中使用OMX编解码器,我应该使用整个android源代码树构建我的项目,还是可以通过添加来自AOSP源的一些文件来做(如果是的话,那就是全部).
  2. 从头开始我应该遵循哪些步骤来实现它.

有人可以给我一个指导方针

谢谢...

android hardware-acceleration android-ndk stagefright openmax

3
推荐指数
1
解决办法
3638
查看次数

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

我指的是帖子:

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

在它之后我已经注册了我的新解码器(目前Android不支持)media_codecs.xml.

上述帖子的第2步要求我执行OMX核心注册.但是,由于我对这个主题不熟悉,我无法按照第2步进行操作.

我在C中有解码器的工作代码,已经移植到android.

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

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

  • 我应该在哪里将我的工作C代码放在源代码树中,以及如何指定编译器来编译它

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

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

android android-framework stagefright openmax

2
推荐指数
1
解决办法
2777
查看次数

Android,原生OpenGL / OpenMAX,屏幕截图

用例

使用USB将Android屏幕镜像到PC

潜在(本地)实施方法

  1. 使用Android开放源代码,根据您的需要修改屏幕记录,然后使用ADB重新安装在Android设备上
  2. 使用众所周知的本机API(例如OpenGL / OpenMAX)捕获屏幕

讨论区

方法1当然可以工作(在shell帐户下),但是,每次更新Android操作系统时,都需要对自定义代码进行更新以适应操作系统的变化,而方法2则API保持固定,并且没有需要担心操作系统的变化,问题是是否可以仅使用OpenGL / OpenMAX来实现镜像?

问题

综上所述,通过USB镜像android屏幕的最佳方法是什么?

android android-source opengl-es-2.0 openmax

0
推荐指数
1
解决办法
3323
查看次数