diff options
author | Vikas Reddy Pachika <vpachi@codeaurora.org> | 2014-01-23 13:30:43 +0530 |
---|---|---|
committer | Steve Kondik <steve@cyngn.com> | 2015-10-23 16:21:42 -0500 |
commit | 877e66164ac51a61a700d5adb66a64f187e54740 (patch) | |
tree | 905e8a5e3ed4669056843217055f1e45f80c4175 /media | |
parent | 5e96d1992f2fe44d9df9b0c0c14daa19301267cf (diff) | |
download | frameworks_base-877e66164ac51a61a700d5adb66a64f187e54740.zip frameworks_base-877e66164ac51a61a700d5adb66a64f187e54740.tar.gz frameworks_base-877e66164ac51a61a700d5adb66a64f187e54740.tar.bz2 |
EncoderCapabilities: Adding HFR entry in EncoderCapabilities and JNI
--Adding HFR entries like max HFR mode, max HFR width & max HFR height
in the EncoderCapabilities.java and android_media_MediaProfiles.cpp
Change-Id: I544a17e32ddd7ddccb0c48cf07b3199d2c485e09
CRs-Fixed: 589983
Diffstat (limited to 'media')
-rw-r--r-- | media/java/android/media/EncoderCapabilities.java | 9 | ||||
-rw-r--r-- | media/jni/android_media_MediaProfiles.cpp | 13 |
2 files changed, 18 insertions, 4 deletions
diff --git a/media/java/android/media/EncoderCapabilities.java b/media/java/android/media/EncoderCapabilities.java index 332e360..d612c20 100644 --- a/media/java/android/media/EncoderCapabilities.java +++ b/media/java/android/media/EncoderCapabilities.java @@ -47,13 +47,17 @@ public class EncoderCapabilities public final int mMinFrameRate, mMaxFrameRate; // min and max frame rate (fps) public final int mMinFrameWidth, mMaxFrameWidth; // min and max frame width (pixel) public final int mMinFrameHeight, mMaxFrameHeight; // minn and max frame height (pixel) + public final int mMaxHFRFrameWidth, mMaxHFRFrameHeight; // max HFR size (pixel) + public final int mMaxHFRMode; // max HFR mode // Private constructor called by JNI private VideoEncoderCap(int codec, int minBitRate, int maxBitRate, int minFrameRate, int maxFrameRate, int minFrameWidth, int maxFrameWidth, - int minFrameHeight, int maxFrameHeight) { + int minFrameHeight, int maxFrameHeight, + int maxHFRFrameWidth, int maxHFRFrameHeight, + int maxHFRMode) { mCodec = codec; mMinBitRate = minBitRate; mMaxBitRate = maxBitRate; @@ -63,6 +67,9 @@ public class EncoderCapabilities mMaxFrameWidth = maxFrameWidth; mMinFrameHeight = minFrameHeight; mMaxFrameHeight = maxFrameHeight; + mMaxHFRFrameWidth = maxHFRFrameWidth; + mMaxHFRFrameHeight = maxHFRFrameHeight; + mMaxHFRMode = maxHFRMode; } }; diff --git a/media/jni/android_media_MediaProfiles.cpp b/media/jni/android_media_MediaProfiles.cpp index 91cdc6d..30fd4c4 100644 --- a/media/jni/android_media_MediaProfiles.cpp +++ b/media/jni/android_media_MediaProfiles.cpp @@ -92,12 +92,17 @@ android_media_MediaProfiles_native_get_video_encoder_cap(JNIEnv *env, jobject /* int maxFrameWidth = sProfiles->getVideoEncoderParamByName("enc.vid.width.max", encoder); int minFrameHeight = sProfiles->getVideoEncoderParamByName("enc.vid.height.min", encoder); int maxFrameHeight = sProfiles->getVideoEncoderParamByName("enc.vid.height.max", encoder); + int maxHFRFrameWidth = sProfiles->getVideoEncoderParamByName("enc.vid.hfr.width.max", encoder); + int maxHFRFrameHeight = sProfiles->getVideoEncoderParamByName("enc.vid.hfr.height.max", encoder); + int maxHFRMode = sProfiles->getVideoEncoderParamByName("enc.vid.hfr.mode.max", encoder); // Check on the values retrieved if ((minBitRate == -1 || maxBitRate == -1) || (minFrameRate == -1 || maxFrameRate == -1) || (minFrameWidth == -1 || maxFrameWidth == -1) || - (minFrameHeight == -1 || maxFrameHeight == -1)) { + (minFrameHeight == -1 || maxFrameHeight == -1) || + (maxHFRFrameWidth == -1 || maxHFRFrameHeight == -1) || + (maxHFRMode == -1)) { jniThrowException(env, "java/lang/RuntimeException", "Error retrieving video encoder capability params"); return NULL; @@ -105,14 +110,16 @@ android_media_MediaProfiles_native_get_video_encoder_cap(JNIEnv *env, jobject /* // Construct an instance of the VideoEncoderCap and set its member variables jclass videoEncoderCapClazz = env->FindClass("android/media/EncoderCapabilities$VideoEncoderCap"); - jmethodID videoEncoderCapConstructorMethodID = env->GetMethodID(videoEncoderCapClazz, "<init>", "(IIIIIIIII)V"); + jmethodID videoEncoderCapConstructorMethodID = env->GetMethodID(videoEncoderCapClazz, "<init>", "(IIIIIIIIIIII)V"); jobject cap = env->NewObject(videoEncoderCapClazz, videoEncoderCapConstructorMethodID, static_cast<int>(encoder), minBitRate, maxBitRate, minFrameRate, maxFrameRate, minFrameWidth, maxFrameWidth, - minFrameHeight, maxFrameHeight); + minFrameHeight, maxFrameHeight, + maxHFRFrameWidth, maxHFRFrameHeight, + maxHFRMode); return cap; } |