diff options
author | Weijie Wang <weijiew@codeaurora.org> | 2017-07-20 14:26:37 +0800 |
---|---|---|
committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2017-09-03 20:16:13 -0700 |
commit | fb0e5d4c720b942f864f9e926d53468957e2ce0d (patch) | |
tree | 2e0e7da4b05d95edde06a26d5bc75857f005beed /src | |
parent | f884ef3a01cefaf71f6ff0ed059c8d356b40c17c (diff) | |
download | android_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.java | 4 | ||||
-rwxr-xr-x | src/com/android/camera/SettingsManager.java | 5 | ||||
-rw-r--r-- | src/com/android/camera/VideoModule.java | 5 |
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); |