diff options
author | Andreas Huber <andih@google.com> | 2013-11-11 16:26:02 -0800 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2013-11-11 16:26:02 -0800 |
commit | db50cb5f7ae6d2beacd8a4fa4a8991035b3c88e7 (patch) | |
tree | 711a56d632e6b926c8d715f52a608bea52c6a4de | |
parent | cc5aeced30609326c7495eca1286163af3933fe1 (diff) | |
parent | caee8747b7df3b1119426594d4ba1c0e300ff6db (diff) | |
download | frameworks_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.h | 1 | ||||
-rw-r--r-- | media/libstagefright/ACodec.cpp | 16 |
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; |