android - MediaCodec解码时间计算

标签 android decode android-mediacodec execution-time

计算由 mediacodec 解码的帧的解码时间的最佳方法是什么?下面代码的执行时间显然不是正确的时间。有没有办法知道每个帧/帧解码需要多长时间?

谢谢。

startTime...

dequeueInputBuffer();

getInputBuffer();

//   copy frame to input buffer

queueInputBuffer();

dequeueOutputBuffer();

releaseOutputBuffer();

stopTime...

exectime = startTime - StopTime

最佳答案

很难对解码单个帧所需的时间进行有意义的测量,因为您将测量延迟和吞吐量。数据必须从应用程序传递到媒体服务器进程,进入驱动程序,解码,然后解码数据必须进行相同的反向旅程。驱动程序本身可以有额外的流水线。

您可以通过解码几百帧然后将总时间除以帧数来获得合理的近似值。

你想要完成什么?

关于android - MediaCodec解码时间计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37060667/

相关文章:

android - 如何从我在 android 中的联系人应用程序中获取唯一的联系电话?

android - 计算触摸点的角度并在Android中旋转

ffmpeg - 使用 ffmpeg API 进行 mp3 解码(缺少标题)

android - 如果 Android MediaCodec dequeueOutputBuffer() 返回 -3 是什么意思

android - java.util.zip.ZipException : duplicate entry: android/arch/core/internal/SafeIterableMap. 类

python - Python 并安装 mysql 连接器

json - 如何在NiFi中对动态json数组的值进行base64解码?

java - MediaCodec 解码时 AV 同步

android - TextureView 中的 MediaPlayer 未按预期工作

android - 在将 android 移植到客户 MIPS 设备时管理自定义代码