Loading services/camera/libcameraservice/api1/client2/Parameters.cpp +23 −3 Original line number Diff line number Diff line Loading @@ -76,9 +76,29 @@ status_t Parameters::initialize(const CameraMetadata *info, int deviceVersion) { res = getFilteredSizes(MAX_VIDEO_SIZE, &availableVideoSizes); if (res != OK) return res; // TODO: Pick more intelligently previewWidth = availablePreviewSizes[0].width; previewHeight = availablePreviewSizes[0].height; // Select initial preview and video size that's under the initial bound and // on the list of both preview and recording sizes previewWidth = 0; previewHeight = 0; for (size_t i = 0 ; i < availablePreviewSizes.size(); i++) { int newWidth = availablePreviewSizes[i].width; int newHeight = availablePreviewSizes[i].height; if (newWidth >= previewWidth && newHeight >= previewHeight && newWidth <= MAX_INITIAL_PREVIEW_WIDTH && newHeight <= MAX_INITIAL_PREVIEW_HEIGHT) { for (size_t j = 0; j < availableVideoSizes.size(); j++) { if (availableVideoSizes[j].width == newWidth && availableVideoSizes[j].height == newHeight) { previewWidth = newWidth; previewHeight = newHeight; } } } } if (previewWidth == 0) { ALOGE("%s: No initial preview size can be found!", __FUNCTION__); return BAD_VALUE; } videoWidth = previewWidth; videoHeight = previewHeight; Loading services/camera/libcameraservice/api1/client2/Parameters.h +6 −1 Original line number Diff line number Diff line Loading @@ -179,8 +179,13 @@ struct Parameters { // Number of zoom steps to simulate static const unsigned int NUM_ZOOM_STEPS = 100; // Max preview size allowed // This is set to a 1:1 value to allow for any aspect ratio that has // a max long side of 1920 pixels static const unsigned int MAX_PREVIEW_WIDTH = 1920; static const unsigned int MAX_PREVIEW_HEIGHT = 1080; static const unsigned int MAX_PREVIEW_HEIGHT = 1920; // Initial max preview/recording size bound static const int MAX_INITIAL_PREVIEW_WIDTH = 1920; static const int MAX_INITIAL_PREVIEW_HEIGHT = 1080; // Aspect ratio tolerance static const float ASPECT_RATIO_TOLERANCE = 0.001; Loading Loading
services/camera/libcameraservice/api1/client2/Parameters.cpp +23 −3 Original line number Diff line number Diff line Loading @@ -76,9 +76,29 @@ status_t Parameters::initialize(const CameraMetadata *info, int deviceVersion) { res = getFilteredSizes(MAX_VIDEO_SIZE, &availableVideoSizes); if (res != OK) return res; // TODO: Pick more intelligently previewWidth = availablePreviewSizes[0].width; previewHeight = availablePreviewSizes[0].height; // Select initial preview and video size that's under the initial bound and // on the list of both preview and recording sizes previewWidth = 0; previewHeight = 0; for (size_t i = 0 ; i < availablePreviewSizes.size(); i++) { int newWidth = availablePreviewSizes[i].width; int newHeight = availablePreviewSizes[i].height; if (newWidth >= previewWidth && newHeight >= previewHeight && newWidth <= MAX_INITIAL_PREVIEW_WIDTH && newHeight <= MAX_INITIAL_PREVIEW_HEIGHT) { for (size_t j = 0; j < availableVideoSizes.size(); j++) { if (availableVideoSizes[j].width == newWidth && availableVideoSizes[j].height == newHeight) { previewWidth = newWidth; previewHeight = newHeight; } } } } if (previewWidth == 0) { ALOGE("%s: No initial preview size can be found!", __FUNCTION__); return BAD_VALUE; } videoWidth = previewWidth; videoHeight = previewHeight; Loading
services/camera/libcameraservice/api1/client2/Parameters.h +6 −1 Original line number Diff line number Diff line Loading @@ -179,8 +179,13 @@ struct Parameters { // Number of zoom steps to simulate static const unsigned int NUM_ZOOM_STEPS = 100; // Max preview size allowed // This is set to a 1:1 value to allow for any aspect ratio that has // a max long side of 1920 pixels static const unsigned int MAX_PREVIEW_WIDTH = 1920; static const unsigned int MAX_PREVIEW_HEIGHT = 1080; static const unsigned int MAX_PREVIEW_HEIGHT = 1920; // Initial max preview/recording size bound static const int MAX_INITIAL_PREVIEW_WIDTH = 1920; static const int MAX_INITIAL_PREVIEW_HEIGHT = 1080; // Aspect ratio tolerance static const float ASPECT_RATIO_TOLERANCE = 0.001; Loading