summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/com/android/camera/CameraSettings.java9
-rw-r--r--src/com/android/camera/VideoModule.java7
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");
}