summaryrefslogtreecommitdiffstats
path: root/media
diff options
context:
space:
mode:
authorVikas Reddy Pachika <vpachi@codeaurora.org>2014-01-23 13:30:43 +0530
committerSteve Kondik <steve@cyngn.com>2015-10-23 16:21:42 -0500
commit877e66164ac51a61a700d5adb66a64f187e54740 (patch)
tree905e8a5e3ed4669056843217055f1e45f80c4175 /media
parent5e96d1992f2fe44d9df9b0c0c14daa19301267cf (diff)
downloadframeworks_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.java9
-rw-r--r--media/jni/android_media_MediaProfiles.cpp13
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;
}