diff options
author | Linux Build Service Account <lnxbuild@localhost> | 2014-01-09 02:03:04 -0800 |
---|---|---|
committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2014-01-09 02:03:04 -0800 |
commit | 2d5515bcdf1f5c465b3ef9996f148e3614212d39 (patch) | |
tree | 4959e7905bb035c0aaf30d4382e2e3554077f26f | |
parent | 627ec7981309b3a91d20fb321112bf74a46e5b61 (diff) | |
parent | 2c309499e60120ec513f51bfab02e7d54237af0a (diff) | |
download | android_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.java | 20 |
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, |