summaryrefslogtreecommitdiffstats
path: root/media
diff options
context:
space:
mode:
authorWei Jia <wjia@google.com>2014-07-23 10:40:46 -0700
committerWei Jia <wjia@google.com>2014-07-23 11:10:51 -0700
commit4730fa07a3290cc3a904dcb16dbb92fcf46c36ac (patch)
treed432e302ebb92224ac7b475425effbb6f532072d /media
parentdc042ce074ea2cb6063f3e154da26f42b7f3b233 (diff)
downloadframeworks_av-4730fa07a3290cc3a904dcb16dbb92fcf46c36ac.zip
frameworks_av-4730fa07a3290cc3a904dcb16dbb92fcf46c36ac.tar.gz
frameworks_av-4730fa07a3290cc3a904dcb16dbb92fcf46c36ac.tar.bz2
Hook up querying of VP8 temporal layering support.
Bug: 14562236 Change-Id: I0ec5866173f7fb84dd3f79b588d1b35b523ca08a
Diffstat (limited to 'media')
-rw-r--r--media/libstagefright/ACodec.cpp44
1 files changed, 44 insertions, 0 deletions
diff --git a/media/libstagefright/ACodec.cpp b/media/libstagefright/ACodec.cpp
index 6cb1c64..b6cc742 100644
--- a/media/libstagefright/ACodec.cpp
+++ b/media/libstagefright/ACodec.cpp
@@ -2765,6 +2765,50 @@ status_t ACodec::getPortFormat(OMX_U32 portIndex, sp<AMessage> &notify) {
break;
}
+
+ case OMX_VIDEO_CodingVP8:
+ case OMX_VIDEO_CodingVP9:
+ {
+ OMX_VIDEO_PARAM_ANDROID_VP8ENCODERTYPE vp8type;
+ InitOMXParams(&vp8type);
+ vp8type.nPortIndex = kPortIndexOutput;
+ status_t err = mOMX->getParameter(
+ mNode,
+ (OMX_INDEXTYPE)OMX_IndexParamVideoAndroidVp8Encoder,
+ &vp8type,
+ sizeof(vp8type));
+
+ if (err == OK) {
+ AString tsSchema = "none";
+ if (vp8type.eTemporalPattern
+ == OMX_VIDEO_VPXTemporalLayerPatternWebRTC) {
+ switch (vp8type.nTemporalLayerCount) {
+ case 1:
+ {
+ tsSchema = "webrtc.vp8.1-layer";
+ break;
+ }
+ case 2:
+ {
+ tsSchema = "webrtc.vp8.2-layer";
+ break;
+ }
+ case 3:
+ {
+ tsSchema = "webrtc.vp8.3-layer";
+ break;
+ }
+ default:
+ {
+ break;
+ }
+ }
+ }
+ notify->setString("ts-schema", tsSchema);
+ }
+ // Fall through to set up mime.
+ }
+
default:
{
CHECK(mIsEncoder ^ (portIndex == kPortIndexInput));