summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@localhost>2014-01-09 02:03:04 -0800
committerGerrit - the friendly Code Review server <code-review@localhost>2014-01-09 02:03:04 -0800
commit2d5515bcdf1f5c465b3ef9996f148e3614212d39 (patch)
tree4959e7905bb035c0aaf30d4382e2e3554077f26f
parent627ec7981309b3a91d20fb321112bf74a46e5b61 (diff)
parent2c309499e60120ec513f51bfab02e7d54237af0a (diff)
downloadandroid_packages_apps_Snap-2d5515bcdf1f5c465b3ef9996f148e3614212d39.tar.gz
android_packages_apps_Snap-2d5515bcdf1f5c465b3ef9996f148e3614212d39.tar.bz2
android_packages_apps_Snap-2d5515bcdf1f5c465b3ef9996f148e3614212d39.zip
Merge "Camera: Add support for 4K camcorder"
-rw-r--r--src/com/android/camera/VideoModule.java20
1 files changed, 17 insertions, 3 deletions
diff --git a/src/com/android/camera/VideoModule.java b/src/com/android/camera/VideoModule.java
index 1847df80f..532e17168 100644
--- a/src/com/android/camera/VideoModule.java
+++ b/src/com/android/camera/VideoModule.java
@@ -166,7 +166,8 @@ public class VideoModule implements CameraModule,
private LocationManager mLocationManager;
private OrientationManager mOrientationManager;
-
+ private static final String KEY_PREVIEW_FORMAT = "preview-format";
+ private static final String QC_FORMAT_NV12_VENUS = "nv12-venus";
private int mPendingSwitchCameraId;
private final Handler mHandler = new MainHandler();
private VideoUI mUI;
@@ -760,13 +761,22 @@ public class VideoModule implements CameraModule,
mPreferenceRead = true;
}
+ private boolean is4KEnabled() {
+ if (mProfile.quality == CamcorderProfile.QUALITY_4kUHD ||
+ mProfile.quality == CamcorderProfile.QUALITY_4kDCI) {
+ return true;
+ } else {
+ return false;
+ }
+ }
+
@TargetApi(Build.VERSION_CODES.HONEYCOMB)
private void getDesiredPreviewSize() {
if (mCameraDevice == null) {
return;
}
mParameters = mCameraDevice.getParameters();
- if (mParameters.getSupportedVideoSizes() == null) {
+ if (mParameters.getSupportedVideoSizes() == null || is4KEnabled()) {
mDesiredPreviewWidth = mProfile.videoFrameWidth;
mDesiredPreviewHeight = mProfile.videoFrameHeight;
} else { // Driver supports separates outputs for preview and video.
@@ -1754,7 +1764,11 @@ public class VideoModule implements CameraModule,
Log.v(TAG, "preview format set to YV12");
mParameters.setPreviewFormat (ImageFormat.YV12);
}
-
+ // if 4K recoding is enabled, set preview format to NV12_VENUS
+ if (is4KEnabled()) {
+ Log.v(TAG, "4K enabled, preview format set to NV12_VENUS");
+ mParameters.set(KEY_PREVIEW_FORMAT, QC_FORMAT_NV12_VENUS);
+ }
// Set High Frame Rate.
String HighFrameRate = mPreferences.getString(
CameraSettings.KEY_VIDEO_HIGH_FRAME_RATE,