summaryrefslogtreecommitdiffstats
path: root/src/com/android/camera/util/CameraUtil.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/camera/util/CameraUtil.java')
-rwxr-xr-xsrc/com/android/camera/util/CameraUtil.java94
1 files changed, 0 insertions, 94 deletions
diff --git a/src/com/android/camera/util/CameraUtil.java b/src/com/android/camera/util/CameraUtil.java
index b0f58b5ce..d30885d29 100755
--- a/src/com/android/camera/util/CameraUtil.java
+++ b/src/com/android/camera/util/CameraUtil.java
@@ -72,22 +72,9 @@ import java.text.SimpleDateFormat;
import java.util.Comparator;
import java.util.Date;
import java.util.List;
-import java.util.ArrayList;
import java.util.Locale;
-import android.util.Range;
import java.util.StringTokenizer;
-import com.android.camera.SettingsManager;
-import android.hardware.camera2.CameraAccessException;
-import android.hardware.camera2.CameraCaptureSession;
-import android.hardware.camera2.params.StreamConfigurationMap;
-import android.hardware.camera2.CaptureRequest;
-import android.hardware.camera2.impl.CameraMetadataNative;
-import android.hardware.camera2.utils.SurfaceUtils;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Iterator;
-
import static android.content.Context.MODE_PRIVATE;
/**
@@ -1376,87 +1363,6 @@ public class CameraUtil {
}
}
- public static List<CaptureRequest> createHighSpeedRequestList(CaptureRequest request
- ,int cameraId) throws CameraAccessException {
- if (request == null) {
- throw new IllegalArgumentException("Input capture request must not be null");
- }
- Collection<Surface> outputSurfaces = request.getTargets();
- Range<Integer> fpsRange = request.get(CaptureRequest.CONTROL_AE_TARGET_FPS_RANGE);
-
- StreamConfigurationMap config =
- SettingsManager.getInstance().getStreamConfigurationMap(cameraId);
- SurfaceUtils.checkConstrainedHighSpeedSurfaces(outputSurfaces, fpsRange, config);
-
- // Request list size: to limit the preview to 30fps, need use maxFps/30; to maximize
- // the preview frame rate, should use maxBatch size for that high speed stream
- // configuration. We choose the former for now.
- int requestListSize = fpsRange.getUpper() / 30;
- List<CaptureRequest> requestList = new ArrayList<CaptureRequest>();
-
- // Prepare the Request builders: need carry over the request controls.
- // First, create a request builder that will only include preview or recording target.
- CameraMetadataNative requestMetadata = new CameraMetadataNative(request.getNativeCopy());
- // Note that after this step, the requestMetadata is mutated (swapped) and can not be used
- // for next request builder creation.
- CaptureRequest.Builder singleTargetRequestBuilder = new CaptureRequest.Builder(
- requestMetadata, /*reprocess*/false, CameraCaptureSession.SESSION_ID_NONE);
- singleTargetRequestBuilder.setTag(cameraId);
-
- // Overwrite the capture intent to make sure a good value is set.
- Iterator<Surface> iterator = outputSurfaces.iterator();
- Surface firstSurface = iterator.next();
- Surface secondSurface = null;
- if (outputSurfaces.size() == 1 && SurfaceUtils.isSurfaceForHwVideoEncoder(firstSurface)) {
- singleTargetRequestBuilder.set(CaptureRequest.CONTROL_CAPTURE_INTENT,
- CaptureRequest.CONTROL_CAPTURE_INTENT_PREVIEW);
- } else {
- // Video only, or preview + video
- singleTargetRequestBuilder.set(CaptureRequest.CONTROL_CAPTURE_INTENT,
- CaptureRequest.CONTROL_CAPTURE_INTENT_VIDEO_RECORD);
- }
- singleTargetRequestBuilder.setPartOfCHSRequestList(/*partOfCHSList*/true);
-
- // Second, Create a request builder that will include both preview and recording targets.
- CaptureRequest.Builder doubleTargetRequestBuilder = null;
- if (outputSurfaces.size() == 2) {
- // Have to create a new copy, the original one was mutated after a new
- // CaptureRequest.Builder creation.
- requestMetadata = new CameraMetadataNative(request.getNativeCopy());
- doubleTargetRequestBuilder = new CaptureRequest.Builder(
- requestMetadata, /*reprocess*/false, CameraCaptureSession.SESSION_ID_NONE);
- doubleTargetRequestBuilder.setTag(cameraId);
- doubleTargetRequestBuilder.set(CaptureRequest.CONTROL_CAPTURE_INTENT,
- CaptureRequest.CONTROL_CAPTURE_INTENT_VIDEO_RECORD);
- doubleTargetRequestBuilder.addTarget(firstSurface);
- secondSurface = iterator.next();
- doubleTargetRequestBuilder.addTarget(secondSurface);
- doubleTargetRequestBuilder.setPartOfCHSRequestList(/*partOfCHSList*/true);
- // Make sure singleTargetRequestBuilder contains only recording surface for
- // preview + recording case.
- Surface recordingSurface = firstSurface;
- if (!SurfaceUtils.isSurfaceForHwVideoEncoder(recordingSurface)) {
- recordingSurface = secondSurface;
- }
- singleTargetRequestBuilder.addTarget(recordingSurface);
- } else {
- // Single output case: either recording or preview.
- singleTargetRequestBuilder.addTarget(firstSurface);
- }
-
- // Generate the final request list.
- for (int i = 0; i < requestListSize; i++) {
- if (i == 0 && doubleTargetRequestBuilder != null) {
- // First request should be recording + preview request
- requestList.add(doubleTargetRequestBuilder.build());
- } else {
- requestList.add(singleTargetRequestBuilder.build());
- }
- }
-
- return Collections.unmodifiableList(requestList);
- }
-
public static int dip2px(Context context, float dpValue) {
final float scale = context.getResources().getDisplayMetrics().density;
return (int) (dpValue * scale + 0.5f);