从 Surface 编码时,Adreno GPU 上的编码器崩溃

2024-01-10

我已经为这个问题苦苦挣扎了一个多星期了,很可能这是一个错误高通 GPU/硬件视频编码器。由于我们被迫发布该应用程序,并且他们的开发者论坛没有提供任何反馈,因此我也将其发布在这里,希望有人能够提供一些线索,甚至更好的解决方法,以便编码器中的错误得到解决未触发。

应用程序从 Surface 进行编码。当某些图像渲染到表面时,编码器在同一位置失败(100%)(当当前正在编码的帧是关键帧时)。崩溃时编码器的 Logcat 输出为(最后几行以非常高的速率重复):

11-26 11:41:33.312: E/OMX-VENC-720p(25949): ERROR: async_msg_process() - Error statuscode = 1
11-26 11:41:33.312: E/ACodec(29317): [OMX.qcom.video.encoder.avc] ERROR(0x80001009)
11-26 11:41:33.312: E/MediaCodec(29317): Codec reported an error. (omx error 0x80001009, internalError -2147483648)
11-26 11:41:33.362: E/OMX-VENC-720p(25949): ERROR: venc_use_buf:set input buffer failed 
11-26 11:41:33.362: E/OMX-VENC-720p(25949): ERROR: in dev_use_buf
11-26 11:41:33.362: E/OMX-VENC-720p(25949): ERROR: empty_buffer_done() failed!
11-26 11:41:33.372: E/OMX-VENC-720p(25949): m_fbd_count at o/p flush = 306
11-26 11:41:33.372: E/OMX-VENC-720p(25949): m_etb_count at i/p flush = 313
11-26 11:41:33.372: E/OMX-VENC-720p(25949): ERROR: ioctl VEN_IOCTL_CMD_FILL_OUTPUT_BUFFER failed
11-26 11:41:33.372: E/OMX-VENC-720p(25949): ERROR: dev_fill_buf() Failed
11-26 11:41:33.372: E/OMX-VENC-720p(25949): ERROR: FTBProxy() failed!

我也可以复制它Grafika https://github.com/google/grafika通过简单地替换记录总帐应用程序绘制两种几何形式,并以横向模式全屏绘制有问题的图像之一,并将比特率更改为更高的值(7Mbps)。 对于较大的比特率,编码器崩溃发生得更快。

这是一个image http://turl.ca/tqzs这似乎很容易打破它,这是记录FBOActivity.java http://pastebin.com/gYXn5UWa进行所需的更改。

我使用 Grafika 进行了测试,编码器在三星 S4 国际版和原始 Nexus 4 上都会崩溃。使用我们的软件(比渲染纯图像稍微复杂一些),它仍然会在两者上崩溃。没有在任何其他 Adreno 设备上进行测试。在配备 Mali 400 GPU 的三星 S3 上,它运行良好。

在 4Mbps 时,我们应用程序中的编码器在 S4 和 N4 上仍然崩溃,但稍后会崩溃。 Grafika 在 N4 上的同一个地方崩溃了,但在 S4 上却没有。

编辑:根据下面的评论,当从缓冲区编码相同的图像时也可以复制它。各种测试似乎缩小了重现它的条件:高通设备上的 h264 硬件编码器,对许多帧编码静态图像(由于相似的帧,这决定了编码器中的比特率非常低),对关键帧进行编码时出现错误(仅当对某些图像进行编码时才会出现错误,这些图像似乎具有更多细节,即需要许多位进行帧内编码)。


正如上面所说,这似乎是一个错误。

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

从 Surface 编码时,Adreno GPU 上的编码器崩溃 的相关文章

  • 添加监听器与设置监听器

    添加监听器和设置监听器有什么区别 e g addTextChangedListener textWatcher setOnClickListener clickListener Answer 在 aioobe 的回答之后 我在我的项目中对此
  • 蓝牙适配器.getDefaultAdapter();返回空值

    我开始开发一个应用程序通过蓝牙与arduino设备进行通信 我正在初始化 bt 适配器 BluetoothAdapter btAdapter BluetoothAdapter getDefaultAdapter 问题是 btAdapter
  • 如何突出显示在 Textview android 中单击的单词

    我正在创建一个应用程序 在其中我从 EditText 中的用户获取输入 现在 单击按钮后 输入的字符串将显示在 TextView 中 现在我的问题是 当用户单击任何单个单词时 我会使该单词在 TextView 中突出显示 例如 用户输入 你
  • 如何对齐文本和图标可组合项,以便即使文本溢出后它们也能保持在一起?

    我有一个文本和一个图标可组合项 我希望图标粘在可组合项的右侧 这是我的代码 Row verticalAlignment Alignment CenterVertically horizontalArrangement Arrangement
  • 如何在 Android 中启用/禁用日志级别?

    例如 我有很多日志语句需要调试 Log v TAG Message here Log w TAG WARNING HERE 在设备电话上部署此应用程序时 我想关闭详细日志记录 我可以在其中启用 禁用日志记录 The Android 文档对日
  • 如何知道 TTS 何时完成?

    我正在 Android 上实现交互式语音响应应用程序 我想知道如何确定何时tts speak 函数已完成通话 因此我可以调用我的语音识别器函数 public class TTSActivity extends Activity implem
  • Android 时间选择器在分钟滚动时自动更改小时

    例如 当我在 TimePicker 上滚动分钟时 在将分钟滚动到 59 后 小时会自动滚动到 7 因此新时间将为 07 59 同样的方式 如果我有 07 59 并且我将分钟滚动到 00 小时将自动滚动到 8 所以时间将是 08 00 此逻辑
  • Android:可以写入lib目录吗?

    是否可以以编程方式将文件复制到 data data application package lib 目录中 或在 data data application package lib 目录中创建符号链接 当尝试写入 lib 目录时 我总是收到
  • 在 Phonegap 3.x CLI 上构建 android 发布 apk

    如何使用 Phonegap 3 x CLI 在本地构建 Android 应用程序并准备发布 我检查了项目的platforms android目录中生成的bin文件夹 并且只有 debug APK 顺便说一句 我使用这个命令 phonegap
  • 某些设备上的启动画面扭曲

    我在修复 Android 上的启动画面扭曲问题时遇到问题 我正在使用 React Native 请注意 这种情况仅发生在某些设备上 例如 我有一台 Android 版本为 4 2 2 的三星 启动画面不扭曲 而 Android 版本为 8
  • 如何在具有多种字体大小的 TextView 中调整行高?

    我有一个包含 Spannable 字符串的 TextView 该字符串包含一堆文本 其中第一个单词的字体大小是字符串其余部分的两倍 问题在于 由于第一个字的大小增加 第一行和第二行之间的行间距比后续行之间的行间距大得多 http img s
  • 如何使用特定选项卡启动活动?

    我已经浏览了许多示例 问题和教程 但我从未见过使用特定选项卡启动活动 启动新意图 我知道可以使用 setCurrentTab切换到选项卡 但这只能从父活动选项卡内部完成 从另一个活动启动一个活动中包含的特定选项卡怎么样 是否可以 如果是这样
  • logcat 信息出现在 Android Studio 的“运行”选项卡中

    我的 android studio 运行选项卡很简单 然后它变得更难并给我更多信息 例如 logcat 中的信息 如何禁用或删除第二张图片中出现的更多信息并返回到第一张图片中的第一个外观 我只需要正在运行的 flutter 应用程序的日志输
  • 如何在android上使用xamarin表单执行脚本

    我正在尝试在 Android Mono 上使用 Xamarin Forms 运行 C 脚本 当我运行脚本时 我收到错误 System IO FileNotFoundException 找不到文件 mscorlib dll 这是我试图执行的代
  • IntelliJ 12 中的 Android Hello World - 找不到 android.app.Activity 类

    请看下文 我感觉 SDK 配置不正确 但我不知道如何解决 我尝试用谷歌搜索答案 但没有人遇到这个确切的问题 难道是我的Java版本不对 这两个 SDK 似乎可能相互冲突 我通过以下方式制作了这个项目 创建新项目 Android gt 应用模
  • 将字节数组保存为 Android 设备文件夹中的 jpg 文件

    我正在尝试将图像保存在 Android 设备的文件夹中 我使用的代码如下 var newFolder AndroidEnvironment GetExternalStoragePublicDirectory AndroidEnvironme
  • Android SSH 示例代码

    我想创建一个 android 活动 用于与远程设备 通过 Wifi 建立 SSH 会话并在远程设备上执行一些 Linux 命令 任何人都可以获得一个快速 简短的示例 用于使用以下命令进行连接 身份验证和发送远程命令Trilead https
  • Android:适合SystemWindows和换行符干扰bottomSheets

    我发现如果父布局包含android fitsSystemWindows true 当发生与视图相关的操作时 它会干扰我的 BottomSheets 定位 具体来说 我遇到的是 文本视图中的换行符将触发底页偏移系统 通知栏的高度 换行符 fi
  • 在 Android 中将列表传递给另一个 Activity

    我已经创建了一个列表 并希望将该列表传递给另一个活动 但当我创建意图时 我在 putExtra 语句上收到错误 只是想知道是否有任何简单的方法来传递字符串列表而不是单个字符串 Thanks private List
  • Android:如何获取所有可用意图过滤器的列表?

    我搜索了 Android 文档 但由于某些疯狂的原因 我无法找到所有可用意图过滤器的列表 我正在寻找一个意图过滤器 它可以执行诸如通过广播接收器通知我特定活动 例如浏览器或电子邮件 已启动或位于前台之类的操作 有人能帮我吗 PackageE

随机推荐

  • 语法错误:错误:无法加载配置“@vue/prettier”以扩展

    I am working on a project with vuejs add vuetify I install dhe plugin prettier after that I made configure in file packa
  • 错误:AADSTS90015:请求的查询字符串太长(在执行 ADFS 时)

    我正在进行 ADFS 身份验证 当我单击Sign In从 Microsoft Teams 按钮 我将被重定向到我的 URL 页面重定向后出现以下错误 AADSTS90015 请求的查询字符串太长 我尝试过以下解决方案 HTTP 错误 414
  • 调试多个 iOS 设备时 XCode 5 崩溃 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 最近 我使用 XCode 4 为 iOS 网络项目同时调试了多达 4 个设备 今天更新到 XCode 5 以便能够构建 iOS7 设备 我
  • Python(和 Flask)中的非消息队列/简单长轮询

    我正在寻找一种简单的 即不需要我设置单独的服务器来处理消息队列的方法 来对运行计算并生成图形的小型 Web 界面进行长轮询 这就是我的网络界面需要做的事情 用户在网络界面中请求图表 数据 服务器运行一些计算 当服务器运行计算时 一个小容器会
  • 如何为所有unittest.TestCase类执行tearDown和setUp方法

    我有一个类 BaseTest 所有测试都是从它扩展的 测试位于不同的模块和包中 setUpClass 和tearDownClass 方法在每个unittest TestCase 类之前执行 我怎样才能只执行一次setUp和tearDown
  • Angular 2 Material 中的粘性页脚

    我现在已经搜索了大约3个小时 因为我不想问 但是我怎样才能在底部保留一个 页脚 变量 而不是像固定在底部一样 所以如果我的内容是非常小 它不会只位于页面的中间 但如果我有很多信息 它不会锁定在页面底部并在滚动时坐在数据上 我尝试了多种方法
  • 使用 PCRE 支持重建 uwsgi

    运行 uwsgi 时 我收到以下消息 no internal routing support rebuild with pcre support 我已经使用以下命令安装了 PCRE 我认为 sudo apt get install libp
  • C -- 打印到屏幕而不使用 #include ? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 有没有办法有一个C源文件打印到屏幕上
  • data.table merge() 与 NA 按列

    我正在尝试连接两个表 其中连接的列具有一些 NA 值 这样当遇到 NA 时 记录就会用 NA 填充 即 Given gt x data table c 1 2 3 NA 5 c a b c d e gt x V1 V2 1 1 a 2 2
  • WP8录制视频时如何更改相机分辨率

    我正在使用微软提供的视频录制示例 我想更改应用程序中录制的视频的分辨率 目前默认以最高分辨率录制 怎么办呢 videoCaptureDevice DesiredFormat new VideoFormat PixelFormatType U
  • 使用 pycurl 自定义标头

    我可以发送一个自定义标头就像 yaddayadda 到服务器pycurl http pycurl sourceforge net 要求 我会编写如下代码 pycurl connect pycurl Curl pycurl connect s
  • Flutter:通过 Google Firebase 授权时出错

    我是 Flutter 的初学者 遇到了这样的问题 我需要做到这一点 以便在登录我的应用程序时 我的邮件显示在 firebase 中 我进行了授权 但是当我单击按钮 使用谷歌登录 时出现错误 这是我的 pubspec yaml depende
  • 购物车持久性:$_SESSION 还是浏览器 cookie?

    在没有用户名 登录名来保存购物车数据的电子商务网站上 使用 PHP SESSION 变量或浏览器 cookie 来保存购物车中的商品会更好吗 我倾向于 SESSION 因为 cookies 可以被禁用 但想听听你的想法 预先感谢您的考虑 N
  • 为什么Python的os.walk会默默地失败?

    我有以下内容 def crawl rootdir for dir subdir files in os walk rootdir for file in files print file found s file 根据我的理解 如果我在不存
  • 运行使用 FSharp.Data 的单元测试时出现 MissingMethodException

    我有一个 NUnit 单元测试 它是在普通 F 库中编写的 但目标是可移植类库中的 F 代码 当我运行此测试 在 Visual Studio 2013 中 时 出现以下异常 Result Message System MissingMeth
  • 同时缓存/播放AVPlayer视频

    我的代码大量借鉴了这个问题 使用资源加载器委托 AVPlayer 在大型视频文件上停滞 https stackoverflow com questions 29683567 avplayer stalling on large video
  • 批量处理文件一个一个

    我有一个批处理文件来压缩 PNG 文件 当我批量拖放一些文件时 它开始同时处理所有文件 当我尝试使用数百个文件时 它变得毫无用处 当然 主要部分是这样的 简化 START W truepng exe out n1 out1 png 1 ST
  • React 组件构造函数中的 ipcRenderer

    我有一个使用 Electron React 和 React Router 的应用程序 我在用着ipcRenderer在组件构造函数中将事件从我的组件发送到主 Electron 进程 将 React Router 添加到组合中后 我注意到每次
  • 如何使用 c# 为 Twitter API 1.1 生成 OAuth 签名?

    我正在开发一个应用程序 其中一部分是获取该应用程序的提及次数 我在 Twitter 上创建了一个应用程序 并为 REST API v1 1 GET statuses mentions timeline 生成了 OAuth 签名 并访问提及时
  • 从 Surface 编码时,Adreno GPU 上的编码器崩溃

    我已经为这个问题苦苦挣扎了一个多星期了 很可能这是一个错误高通 GPU 硬件视频编码器 由于我们被迫发布该应用程序 并且他们的开发者论坛没有提供任何反馈 因此我也将其发布在这里 希望有人能够提供一些线索 甚至更好的解决方法 以便编码器中的错