summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/OMXCodec.cpp
diff options
context:
space:
mode:
authorLeena Winterrowd <lenhardw@codeaurora.org>2014-09-10 19:22:54 -0700
committerSteve Kondik <steve@cyngn.com>2015-11-30 15:04:08 -0800
commitd69ffb9cf12a4664584e0b3eea30e23b95db4ad0 (patch)
treef6134cec387a1d95ade4ba7d33b74aafc51a4d22 /media/libstagefright/OMXCodec.cpp
parent46c4173bc9b415b443f2705675dd5785f0c4c46c (diff)
downloadframeworks_av-d69ffb9cf12a4664584e0b3eea30e23b95db4ad0.zip
frameworks_av-d69ffb9cf12a4664584e0b3eea30e23b95db4ad0.tar.gz
frameworks_av-d69ffb9cf12a4664584e0b3eea30e23b95db4ad0.tar.bz2
libstagefright: Handle MPEG4 DP playback
Since the HW decoder doesn't support MPEG4 DP clips, detect DP format clips in the parser and report a new MIME: video/mpeg4-esdp. This MIME is only registered to the SW decoder which supports DP clips. Merges the following change from kitkat: libstagefright: Fix DP Parsing issue with mpeg4 SP,ASP (Change-Id: I69c719011e1a0d2a0b0ae5a9b504b7cce443866b) CRs-Fixed: 722066 Change-Id: I7bc3a7a9f4a6d37e046ed9c8008cb27fb3bc665d
Diffstat (limited to 'media/libstagefright/OMXCodec.cpp')
-rw-r--r--media/libstagefright/OMXCodec.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/media/libstagefright/OMXCodec.cpp b/media/libstagefright/OMXCodec.cpp
index 3ec02d4..d387236 100644
--- a/media/libstagefright/OMXCodec.cpp
+++ b/media/libstagefright/OMXCodec.cpp
@@ -905,7 +905,8 @@ void OMXCodec::setVideoInputFormat(
compressionFormat = OMX_VIDEO_CodingAVC;
} else if (!strcasecmp(MEDIA_MIMETYPE_VIDEO_HEVC, mime)) {
compressionFormat = OMX_VIDEO_CodingHEVC;
- } else if (!strcasecmp(MEDIA_MIMETYPE_VIDEO_MPEG4, mime)) {
+ } else if (!strcasecmp(MEDIA_MIMETYPE_VIDEO_MPEG4, mime) ||
+ !strcasecmp(MEDIA_MIMETYPE_VIDEO_MPEG4_DP, mime)) {
compressionFormat = OMX_VIDEO_CodingMPEG4;
} else if (!strcasecmp(MEDIA_MIMETYPE_VIDEO_H263, mime)) {
compressionFormat = OMX_VIDEO_CodingH263;
@@ -1297,7 +1298,8 @@ status_t OMXCodec::setVideoOutputFormat(
OMX_VIDEO_CODINGTYPE compressionFormat = OMX_VIDEO_CodingUnused;
if (!strcasecmp(MEDIA_MIMETYPE_VIDEO_AVC, mime)) {
compressionFormat = OMX_VIDEO_CodingAVC;
- } else if (!strcasecmp(MEDIA_MIMETYPE_VIDEO_MPEG4, mime)) {
+ } else if (!strcasecmp(MEDIA_MIMETYPE_VIDEO_MPEG4, mime) ||
+ !strcasecmp(MEDIA_MIMETYPE_VIDEO_MPEG4_DP, mime)) {
compressionFormat = OMX_VIDEO_CodingMPEG4;
} else if (!strcasecmp(MEDIA_MIMETYPE_VIDEO_HEVC, mime)) {
compressionFormat = OMX_VIDEO_CodingHEVC;
@@ -1499,6 +1501,8 @@ void OMXCodec::setComponentRole(
"video_decoder.hevc", "video_encoder.hevc" },
{ MEDIA_MIMETYPE_VIDEO_MPEG4,
"video_decoder.mpeg4", "video_encoder.mpeg4" },
+ { MEDIA_MIMETYPE_VIDEO_MPEG4_DP,
+ "video_decoder.mpeg4", NULL },
{ MEDIA_MIMETYPE_VIDEO_H263,
"video_decoder.h263", "video_encoder.h263" },
{ MEDIA_MIMETYPE_VIDEO_VP8,