diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/com/android/camera/CameraSettings.java | 9 | ||||
-rw-r--r-- | src/com/android/camera/VideoModule.java | 7 |
2 files changed, 14 insertions, 2 deletions
diff --git a/src/com/android/camera/CameraSettings.java b/src/com/android/camera/CameraSettings.java index 702518736..ac27cc412 100644 --- a/src/com/android/camera/CameraSettings.java +++ b/src/com/android/camera/CameraSettings.java @@ -137,6 +137,7 @@ public class CameraSettings { private static final String KEY_QC_SUPPORTED_VIDEO_CDS_MODES = "video-cds-mode-values"; private static final String KEY_QC_SUPPORTED_TNR_MODES = "tnr-mode-values"; private static final String KEY_QC_SUPPORTED_VIDEO_TNR_MODES = "video-tnr-mode-values"; + private static final String KEY_QC_SUPPORTED_PREVIEW_FORMATS = "preview-format-values"; private static final String KEY_SNAPCAM_SUPPORTED_HDR_MODES = "hdr-mode-values"; private static final String KEY_SNAPCAM_SUPPORTED_HDR_NEED_1X = "hdr-need-1x-values"; public static final String KEY_QC_AE_BRACKETING = "ae-bracket-hdr"; @@ -504,6 +505,14 @@ public class CameraSettings { return split(str); } + public static List<String> getSupportedPreviewFormats(Parameters params) { + String str = params.get(KEY_QC_SUPPORTED_PREVIEW_FORMATS); + if (str == null) { + return null; + } + return split(str); + } + // Splits a comma delimited string to an ArrayList of String. // Return null if the passing string is null or the size is 0. private static ArrayList<String> split(String str) { diff --git a/src/com/android/camera/VideoModule.java b/src/com/android/camera/VideoModule.java index 2b3e944b0..c6b1b0421 100644 --- a/src/com/android/camera/VideoModule.java +++ b/src/com/android/camera/VideoModule.java @@ -2116,10 +2116,13 @@ public class VideoModule implements CameraModule, boolean isDuplicationEnabled = SystemProperties.getBoolean(PERSIST_CAMERA_CPP_DUPLICATION, true); if (isDuplicationEnabled && (mDesiredPreviewWidth == mProfile.videoFrameWidth) && - (mDesiredPreviewHeight == mProfile.videoFrameHeight)) { + (mDesiredPreviewHeight == mProfile.videoFrameHeight) + && CameraUtil.isSupported(FORMAT_NV12_VENUS, + CameraSettings.getSupportedPreviewFormats(mParameters))) { Log.v(TAG, "Preview is same as Video resolution, So preview format set to NV12_VENUS"); mParameters.set(KEY_PREVIEW_FORMAT, FORMAT_NV12_VENUS); - } else { + } else if (CameraUtil.isSupported(FORMAT_NV21, + CameraSettings.getSupportedPreviewFormats(mParameters))) { mParameters.set(KEY_PREVIEW_FORMAT, FORMAT_NV21); Log.v(TAG, "preview format set to NV21"); } |