* colorCorrection.*
*/
m.set(COLOR_CORRECTION_AVAILABLE_ABERRATION_MODES,
- new int[] { COLOR_CORRECTION_ABERRATION_MODE_FAST });
+ new int[] { COLOR_CORRECTION_ABERRATION_MODE_FAST,
+ COLOR_CORRECTION_ABERRATION_MODE_HIGH_QUALITY });
/*
* control.ae*
*/
* noiseReduction.*
*/
m.set(NOISE_REDUCTION_AVAILABLE_NOISE_REDUCTION_MODES,
- new int[] { NOISE_REDUCTION_MODE_FAST });
+ new int[] { NOISE_REDUCTION_MODE_FAST,
+ NOISE_REDUCTION_MODE_HIGH_QUALITY});
/*
* scaler.*
/*
* noiseReduction.*
*/
- m.set(CaptureRequest.NOISE_REDUCTION_MODE, NOISE_REDUCTION_MODE_FAST);
+ if (templateId == CameraDevice.TEMPLATE_STILL_CAPTURE) {
+ m.set(CaptureRequest.NOISE_REDUCTION_MODE, NOISE_REDUCTION_MODE_HIGH_QUALITY);
+ } else {
+ m.set(CaptureRequest.NOISE_REDUCTION_MODE, NOISE_REDUCTION_MODE_FAST);
+ }
+
+ /*
+ * colorCorrection.*
+ */
+ if (templateId == CameraDevice.TEMPLATE_STILL_CAPTURE) {
+ m.set(CaptureRequest.COLOR_CORRECTION_ABERRATION_MODE,
+ COLOR_CORRECTION_ABERRATION_MODE_HIGH_QUALITY);
+ } else {
+ m.set(CaptureRequest.COLOR_CORRECTION_ABERRATION_MODE,
+ COLOR_CORRECTION_ABERRATION_MODE_FAST);
+ }
/*
* lens.*
COLOR_CORRECTION_ABERRATION_MODE,
/*defaultValue*/COLOR_CORRECTION_ABERRATION_MODE_FAST);
- if (aberrationMode != COLOR_CORRECTION_ABERRATION_MODE_FAST) {
+ if (aberrationMode != COLOR_CORRECTION_ABERRATION_MODE_FAST &&
+ aberrationMode != COLOR_CORRECTION_ABERRATION_MODE_HIGH_QUALITY) {
Log.w(TAG, "convertRequestToMetadata - Ignoring unsupported " +
"colorCorrection.aberrationMode = " + aberrationMode);
}
NOISE_REDUCTION_MODE,
/*defaultValue*/NOISE_REDUCTION_MODE_FAST);
- if (mode != NOISE_REDUCTION_MODE_FAST) {
+ if (mode != NOISE_REDUCTION_MODE_FAST &&
+ mode != NOISE_REDUCTION_MODE_HIGH_QUALITY) {
Log.w(TAG, "convertRequestToMetadata - Ignoring unsupported " +
"noiseReduction.mode = " + mode);
}
/*
* Attempt to look up the result from the cache if the parameters haven't changed
*/
- if (mCachedRequest != null && legacyRequest.parameters.same(mCachedRequest.parameters)) {
+ if (mCachedRequest != null &&
+ legacyRequest.parameters.same(mCachedRequest.parameters) &&
+ legacyRequest.captureRequest.equals(mCachedRequest.captureRequest)) {
result = new CameraMetadataNative(mCachedResult);
cached = true;
} else {
*/
// colorCorrection.aberrationMode
{
- // Always hardcoded to FAST
- result.set(COLOR_CORRECTION_ABERRATION_MODE, COLOR_CORRECTION_ABERRATION_MODE_FAST);
+ result.set(COLOR_CORRECTION_ABERRATION_MODE,
+ request.get(CaptureRequest.COLOR_CORRECTION_ABERRATION_MODE));
}
/*
* noiseReduction.*
*/
// noiseReduction.mode
- result.set(NOISE_REDUCTION_MODE, NOISE_REDUCTION_MODE_FAST);
+ result.set(NOISE_REDUCTION_MODE, request.get(CaptureRequest.NOISE_REDUCTION_MODE));
return result;
}