From 482a1b16cb805920b427f0b1adca300571fda92d Mon Sep 17 00:00:00 2001 From: James Dong Date: Fri, 19 Nov 2010 11:45:16 -0800 Subject: Display AVC video sample profile and level for "stagefright" util Change-Id: I04b3f67d162cf3827bc74ad98cd1e1a0f5f14172 --- cmds/stagefright/stagefright.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'cmds/stagefright') diff --git a/cmds/stagefright/stagefright.cpp b/cmds/stagefright/stagefright.cpp index f0758fd..579d8c3 100644 --- a/cmds/stagefright/stagefright.cpp +++ b/cmds/stagefright/stagefright.cpp @@ -107,6 +107,20 @@ static void displayDecodeHistogram(Vector *decodeTimesUs) { } } +static void displayAVCProfileLevelIfPossible(const sp& meta) { + uint32_t type; + const void *data; + size_t size; + if (meta->findData(kKeyAVCC, &type, &data, &size)) { + const uint8_t *ptr = (const uint8_t *)data; + CHECK(size >= 7); + CHECK(ptr[0] == 1); // configurationVersion == 1 + uint8_t profile = ptr[1]; + uint8_t level = ptr[3]; + fprintf(stderr, "AVC video profile %d and level %d\n", profile, level); + } +} + static void playSource(OMXClient *client, sp &source) { sp meta = source->getFormat(); @@ -126,6 +140,7 @@ static void playSource(OMXClient *client, sp &source) { fprintf(stderr, "Failed to instantiate decoder for '%s'.\n", mime); return; } + displayAVCProfileLevelIfPossible(meta); } source.clear(); -- cgit v1.1