summaryrefslogtreecommitdiffstats
path: root/cmds
diff options
context:
space:
mode:
authorAndreas Huber <andih@google.com>2010-02-17 14:57:28 -0800
committerAndreas Huber <andih@google.com>2010-02-17 14:58:07 -0800
commit36e3ee0094e845ed9d2a1c755addecfde9db3a68 (patch)
tree460e0996067fe6923166e018f7d71a5c9086e253 /cmds
parentf759aa902596e0c8d13b756cecbb8f037769791c (diff)
downloadframeworks_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.cpp9
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);
}