summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorWeijie Wang <weijiew@codeaurora.org>2017-07-20 14:26:37 +0800
committerGerrit - the friendly Code Review server <code-review@localhost>2017-09-03 20:16:13 -0700
commitfb0e5d4c720b942f864f9e926d53468957e2ce0d (patch)
tree2e0e7da4b05d95edde06a26d5bc75857f005beed /src
parentf884ef3a01cefaf71f6ff0ed059c8d356b40c17c (diff)
downloadandroid_packages_apps_Snap-fb0e5d4c720b942f864f9e926d53468957e2ce0d.tar.gz
android_packages_apps_Snap-fb0e5d4c720b942f864f9e926d53468957e2ce0d.tar.bz2
android_packages_apps_Snap-fb0e5d4c720b942f864f9e926d53468957e2ce0d.zip
SnapdragonCamera: Add video encoder bit rate for 3840x2160@60FPS
Add video encoder bit rate for 3840x2160@60FPS Change-Id: Ieb7dc37dc658462b06dd316553fd6478b5132d01
Diffstat (limited to 'src')
-rw-r--r--src/com/android/camera/CameraSettings.java4
-rwxr-xr-xsrc/com/android/camera/SettingsManager.java5
-rw-r--r--src/com/android/camera/VideoModule.java5
3 files changed, 12 insertions, 2 deletions
diff --git a/src/com/android/camera/CameraSettings.java b/src/com/android/camera/CameraSettings.java
index e0141ed11..5471f1550 100644
--- a/src/com/android/camera/CameraSettings.java
+++ b/src/com/android/camera/CameraSettings.java
@@ -338,6 +338,10 @@ public class CameraSettings {
VIDEO_ENCODER_BITRATE.put("1280x720:240", 72000000);
VIDEO_ENCODER_BITRATE.put("720:480:120", 5200000);
+ //resolution, fps and encoder type
+ VIDEO_ENCODER_BITRATE.put("3840x2160:60:" + MediaRecorder.VideoEncoder.H264, 67200000);
+ VIDEO_ENCODER_BITRATE.put("3840x2160:60:" + MediaRecorder.VideoEncoder.HEVC, 50400000);
+
}
// Following maps help find a corresponding time-lapse or high-speed quality
diff --git a/src/com/android/camera/SettingsManager.java b/src/com/android/camera/SettingsManager.java
index 4cccf8e94..c0a545426 100755
--- a/src/com/android/camera/SettingsManager.java
+++ b/src/com/android/camera/SettingsManager.java
@@ -1181,7 +1181,10 @@ public class SettingsManager implements ListMenu.SettingsListener {
public int getHighSpeedVideoEncoderBitRate(CamcorderProfile profile, int targetRate) {
int bitRate;
String key = profile.videoFrameWidth+"x"+profile.videoFrameHeight+":"+targetRate;
- if (CameraSettings.VIDEO_ENCODER_BITRATE.containsKey(key)) {
+ String resolutionFpsEncoder = key + ":" + profile.videoCodec;
+ if (CameraSettings.VIDEO_ENCODER_BITRATE.containsKey(resolutionFpsEncoder)) {
+ bitRate = CameraSettings.VIDEO_ENCODER_BITRATE.get(resolutionFpsEncoder);
+ } else if (CameraSettings.VIDEO_ENCODER_BITRATE.containsKey(key) ) {
bitRate = CameraSettings.VIDEO_ENCODER_BITRATE.get(key);
} else {
Log.i(TAG, "No pre-defined bitrate for "+key);
diff --git a/src/com/android/camera/VideoModule.java b/src/com/android/camera/VideoModule.java
index 4332048a1..fc65eb5bc 100644
--- a/src/com/android/camera/VideoModule.java
+++ b/src/com/android/camera/VideoModule.java
@@ -1468,7 +1468,10 @@ public class VideoModule implements CameraModule,
private int getHighSpeedVideoEncoderBitRate(CamcorderProfile profile, int targetRate) {
int bitRate;
String key = profile.videoFrameWidth+"x"+profile.videoFrameHeight+":"+targetRate;
- if (CameraSettings.VIDEO_ENCODER_BITRATE.containsKey(key)) {
+ String resolutionFpsEncoder = key + ":" + profile.videoCodec;
+ if (CameraSettings.VIDEO_ENCODER_BITRATE.containsKey(resolutionFpsEncoder)) {
+ bitRate = CameraSettings.VIDEO_ENCODER_BITRATE.get(resolutionFpsEncoder);
+ }else if (CameraSettings.VIDEO_ENCODER_BITRATE.containsKey(key)) {
bitRate = CameraSettings.VIDEO_ENCODER_BITRATE.get(key);
} else {
Log.i(TAG, "No pre-defined bitrate for "+key);