diff options
author | Andreas Huber <andih@google.com> | 2010-02-17 14:57:28 -0800 |
---|---|---|
committer | Andreas Huber <andih@google.com> | 2010-02-17 14:58:07 -0800 |
commit | 36e3ee0094e845ed9d2a1c755addecfde9db3a68 (patch) | |
tree | 460e0996067fe6923166e018f7d71a5c9086e253 /cmds | |
parent | f759aa902596e0c8d13b756cecbb8f037769791c (diff) | |
download | frameworks_av-36e3ee0094e845ed9d2a1c755addecfde9db3a68.zip frameworks_av-36e3ee0094e845ed9d2a1c755addecfde9db3a68.tar.gz frameworks_av-36e3ee0094e845ed9d2a1c755addecfde9db3a68.tar.bz2 |
Better diagnostics for the stagefright tool and codec performance.
related-to-bug: 2450938
Diffstat (limited to 'cmds')
-rw-r--r-- | cmds/stagefright/stagefright.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/cmds/stagefright/stagefright.cpp b/cmds/stagefright/stagefright.cpp index f7cb227..942a303 100644 --- a/cmds/stagefright/stagefright.cpp +++ b/cmds/stagefright/stagefright.cpp @@ -157,13 +157,18 @@ static void playSource(OMXClient *client, const sp<MediaSource> &source) { long numIterationsLeft = gNumRepetitions; MediaSource::ReadOptions options; + int64_t sumDecodeUs = 0; + while (numIterationsLeft-- > 0) { long numFrames = 0; MediaBuffer *buffer; for (;;) { + int64_t startDecodeUs = getNowUs(); status_t err = rawSource->read(&buffer, &options); + int64_t delayDecodeUs = getNowUs() - startDecodeUs; + options.clearSeekTo(); if (err != OK) { @@ -182,6 +187,8 @@ static void playSource(OMXClient *client, const sp<MediaSource> &source) { fflush(stdout); } + sumDecodeUs += delayDecodeUs; + buffer->release(); buffer = NULL; @@ -210,6 +217,8 @@ static void playSource(OMXClient *client, const sp<MediaSource> &source) { int64_t delay = getNowUs() - startTime; printf("avg. %.2f fps\n", n * 1E6 / delay); + printf("avg. time to decode one buffer %.2f usecs\n", + (double)sumDecodeUs / n); printf("decoded a total of %d frame(s).\n", n); } |