summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndreas Huber <andih@google.com>2013-11-11 16:26:02 -0800
committerAndroid Git Automerger <android-git-automerger@android.com>2013-11-11 16:26:02 -0800
commitdb50cb5f7ae6d2beacd8a4fa4a8991035b3c88e7 (patch)
tree711a56d632e6b926c8d715f52a608bea52c6a4de
parentcc5aeced30609326c7495eca1286163af3933fe1 (diff)
parentcaee8747b7df3b1119426594d4ba1c0e300ff6db (diff)
downloadframeworks_av-db50cb5f7ae6d2beacd8a4fa4a8991035b3c88e7.zip
frameworks_av-db50cb5f7ae6d2beacd8a4fa4a8991035b3c88e7.tar.gz
frameworks_av-db50cb5f7ae6d2beacd8a4fa4a8991035b3c88e7.tar.bz2
am caee8747: Merge "configure bitrate and bitrate mode at encoder initialization for VP8/9" into klp-dev
* commit 'caee8747b7df3b1119426594d4ba1c0e300ff6db': configure bitrate and bitrate mode at encoder initialization for VP8/9
-rw-r--r--include/media/stagefright/ACodec.h1
-rw-r--r--media/libstagefright/ACodec.cpp16
2 files changed, 17 insertions, 0 deletions
diff --git a/include/media/stagefright/ACodec.h b/include/media/stagefright/ACodec.h
index a8ffd4a..e796ab3 100644
--- a/include/media/stagefright/ACodec.h
+++ b/include/media/stagefright/ACodec.h
@@ -264,6 +264,7 @@ private:
status_t setupMPEG4EncoderParameters(const sp<AMessage> &msg);
status_t setupH263EncoderParameters(const sp<AMessage> &msg);
status_t setupAVCEncoderParameters(const sp<AMessage> &msg);
+ status_t setupVPXEncoderParameters(const sp<AMessage> &msg);
status_t verifySupportForProfileAndLevel(int32_t profile, int32_t level);
diff --git a/media/libstagefright/ACodec.cpp b/media/libstagefright/ACodec.cpp
index 92a5361..528fdb9 100644
--- a/media/libstagefright/ACodec.cpp
+++ b/media/libstagefright/ACodec.cpp
@@ -1909,6 +1909,11 @@ status_t ACodec::setupVideoEncoder(const char *mime, const sp<AMessage> &msg) {
err = setupAVCEncoderParameters(msg);
break;
+ case OMX_VIDEO_CodingVP8:
+ case OMX_VIDEO_CodingVP9:
+ err = setupVPXEncoderParameters(msg);
+ break;
+
default:
break;
}
@@ -2240,6 +2245,17 @@ status_t ACodec::setupAVCEncoderParameters(const sp<AMessage> &msg) {
return configureBitrate(bitrate, bitrateMode);
}
+status_t ACodec::setupVPXEncoderParameters(const sp<AMessage> &msg) {
+ int32_t bitrate;
+ if (!msg->findInt32("bitrate", &bitrate)) {
+ return INVALID_OPERATION;
+ }
+
+ OMX_VIDEO_CONTROLRATETYPE bitrateMode = getBitrateMode(msg);
+
+ return configureBitrate(bitrate, bitrateMode);
+}
+
status_t ACodec::verifySupportForProfileAndLevel(
int32_t profile, int32_t level) {
OMX_VIDEO_PARAM_PROFILELEVELTYPE params;