MediaCodec解码时间计算

MediaCodec decode time calculation

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

谢谢。

startTime...

dequeueInputBuffer();

getInputBuffer();

//   copy frame to input buffer

queueInputBuffer();

dequeueOutputBuffer();

releaseOutputBuffer();

stopTime...

exectime = startTime - StopTime

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

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

您想要完成什么?