[libcamera-devel] [PATCH 1/3] android: camera_device: Alphabetically sort keys

paul.elder at ideasonboard.com paul.elder at ideasonboard.com
Mon Feb 1 03:36:51 CET 2021


Hi Jacopo,

On Fri, Jan 29, 2021 at 03:26:13PM +0100, Jacopo Mondi wrote:
> The vectors of available characteristics, request and result keys
> are not sorted. This makes more complex than necessary spotting
> duplication of keys.
> 
> Re-sort the vector initializer lists alphabetically.
> 
> Signed-off-by: Jacopo Mondi <jacopo at jmondi.org>

Reviewed-by: Paul Elder <paul.elder at ideasonboard.com>

> ---
>  src/android/camera_device.cpp | 100 +++++++++++++++++-----------------
>  1 file changed, 50 insertions(+), 50 deletions(-)
> 
> diff --git a/src/android/camera_device.cpp b/src/android/camera_device.cpp
> index 741dc8cfa635..83e2734541e3 100644
> --- a/src/android/camera_device.cpp
> +++ b/src/android/camera_device.cpp
> @@ -1162,72 +1162,72 @@ const camera_metadata_t *CameraDevice::getStaticMetadata()
>  		ANDROID_CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES,
>  		ANDROID_CONTROL_AE_COMPENSATION_RANGE,
>  		ANDROID_CONTROL_AE_COMPENSATION_STEP,
> +		ANDROID_CONTROL_AE_LOCK_AVAILABLE,
>  		ANDROID_CONTROL_AF_AVAILABLE_MODES,
>  		ANDROID_CONTROL_AVAILABLE_EFFECTS,
> +		ANDROID_CONTROL_AVAILABLE_MODES,
>  		ANDROID_CONTROL_AVAILABLE_SCENE_MODES,
>  		ANDROID_CONTROL_AVAILABLE_VIDEO_STABILIZATION_MODES,
>  		ANDROID_CONTROL_AWB_AVAILABLE_MODES,
> +		ANDROID_CONTROL_AWB_LOCK_AVAILABLE,
>  		ANDROID_CONTROL_MAX_REGIONS,
>  		ANDROID_CONTROL_SCENE_MODE_OVERRIDES,
> -		ANDROID_CONTROL_AE_LOCK_AVAILABLE,
> -		ANDROID_CONTROL_AWB_LOCK_AVAILABLE,
> -		ANDROID_CONTROL_AVAILABLE_MODES,
> +		ANDROID_FLASH_INFO_AVAILABLE,
> +		ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL,
>  		ANDROID_JPEG_AVAILABLE_THUMBNAIL_SIZES,
>  		ANDROID_JPEG_MAX_SIZE,
> -		ANDROID_SENSOR_INFO_PIXEL_ARRAY_SIZE,
> -		ANDROID_SENSOR_INFO_ACTIVE_ARRAY_SIZE,
> -		ANDROID_SENSOR_INFO_SENSITIVITY_RANGE,
> -		ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT,
> -		ANDROID_SENSOR_INFO_EXPOSURE_TIME_RANGE,
> -		ANDROID_SENSOR_ORIENTATION,
> -		ANDROID_SENSOR_AVAILABLE_TEST_PATTERN_MODES,
> -		ANDROID_SENSOR_INFO_PHYSICAL_SIZE,
> -		ANDROID_SENSOR_INFO_TIMESTAMP_SOURCE,
> -		ANDROID_STATISTICS_INFO_AVAILABLE_FACE_DETECT_MODES,
> -		ANDROID_STATISTICS_INFO_MAX_FACE_COUNT,
> -		ANDROID_SYNC_MAX_LATENCY,
> -		ANDROID_FLASH_INFO_AVAILABLE,
> -		ANDROID_LENS_INFO_AVAILABLE_APERTURES,
>  		ANDROID_LENS_FACING,
> +		ANDROID_LENS_INFO_AVAILABLE_APERTURES,
>  		ANDROID_LENS_INFO_AVAILABLE_FOCAL_LENGTHS,
>  		ANDROID_LENS_INFO_AVAILABLE_OPTICAL_STABILIZATION,
>  		ANDROID_LENS_INFO_HYPERFOCAL_DISTANCE,
>  		ANDROID_LENS_INFO_MINIMUM_FOCUS_DISTANCE,
>  		ANDROID_NOISE_REDUCTION_AVAILABLE_NOISE_REDUCTION_MODES,
> +		ANDROID_REQUEST_AVAILABLE_CAPABILITIES,
> +		ANDROID_REQUEST_MAX_NUM_INPUT_STREAMS,
> +		ANDROID_REQUEST_MAX_NUM_OUTPUT_STREAMS,
> +		ANDROID_REQUEST_PARTIAL_RESULT_COUNT,
> +		ANDROID_REQUEST_PIPELINE_MAX_DEPTH,
>  		ANDROID_SCALER_AVAILABLE_MAX_DIGITAL_ZOOM,
> -		ANDROID_SCALER_AVAILABLE_STREAM_CONFIGURATIONS,
> -		ANDROID_SCALER_AVAILABLE_STALL_DURATIONS,
>  		ANDROID_SCALER_AVAILABLE_MIN_FRAME_DURATIONS,
> +		ANDROID_SCALER_AVAILABLE_STALL_DURATIONS,
> +		ANDROID_SCALER_AVAILABLE_STREAM_CONFIGURATIONS,
>  		ANDROID_SCALER_CROPPING_TYPE,
> -		ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL,
> -		ANDROID_REQUEST_PARTIAL_RESULT_COUNT,
> -		ANDROID_REQUEST_PIPELINE_MAX_DEPTH,
> -		ANDROID_REQUEST_MAX_NUM_OUTPUT_STREAMS,
> -		ANDROID_REQUEST_MAX_NUM_INPUT_STREAMS,
> -		ANDROID_REQUEST_AVAILABLE_CAPABILITIES,
> +		ANDROID_SENSOR_AVAILABLE_TEST_PATTERN_MODES,
> +		ANDROID_SENSOR_INFO_ACTIVE_ARRAY_SIZE,
> +		ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT,
> +		ANDROID_SENSOR_INFO_EXPOSURE_TIME_RANGE,
> +		ANDROID_SENSOR_INFO_PHYSICAL_SIZE,
> +		ANDROID_SENSOR_INFO_PIXEL_ARRAY_SIZE,
> +		ANDROID_SENSOR_INFO_SENSITIVITY_RANGE,
> +		ANDROID_SENSOR_INFO_TIMESTAMP_SOURCE,
> +		ANDROID_SENSOR_ORIENTATION,
> +		ANDROID_STATISTICS_INFO_AVAILABLE_FACE_DETECT_MODES,
> +		ANDROID_STATISTICS_INFO_MAX_FACE_COUNT,
> +		ANDROID_SYNC_MAX_LATENCY,
>  	};
>  	staticMetadata_->addEntry(ANDROID_REQUEST_AVAILABLE_CHARACTERISTICS_KEYS,
>  				  availableCharacteristicsKeys.data(),
>  				  availableCharacteristicsKeys.size());
>  
>  	std::vector<int32_t> availableRequestKeys = {
> -		ANDROID_CONTROL_AE_MODE,
> +		ANDROID_COLOR_CORRECTION_ABERRATION_MODE,
> +		ANDROID_CONTROL_AE_ANTIBANDING_MODE,
>  		ANDROID_CONTROL_AE_EXPOSURE_COMPENSATION,
> +		ANDROID_CONTROL_AE_LOCK,
> +		ANDROID_CONTROL_AE_MODE,
>  		ANDROID_CONTROL_AE_PRECAPTURE_TRIGGER,
>  		ANDROID_CONTROL_AE_TARGET_FPS_RANGE,
> -		ANDROID_CONTROL_AE_ANTIBANDING_MODE,
> -		ANDROID_CONTROL_AE_LOCK,
>  		ANDROID_CONTROL_AF_TRIGGER,
> -		ANDROID_CONTROL_AWB_MODE,
>  		ANDROID_CONTROL_AWB_LOCK,
> +		ANDROID_CONTROL_AWB_MODE,
> +		ANDROID_CONTROL_CAPTURE_INTENT,
> +		ANDROID_CONTROL_MODE,
>  		ANDROID_FLASH_MODE,
> -		ANDROID_STATISTICS_FACE_DETECT_MODE,
> -		ANDROID_NOISE_REDUCTION_MODE,
> -		ANDROID_COLOR_CORRECTION_ABERRATION_MODE,
>  		ANDROID_LENS_APERTURE,
>  		ANDROID_LENS_OPTICAL_STABILIZATION_MODE,
> -		ANDROID_CONTROL_MODE,
> -		ANDROID_CONTROL_CAPTURE_INTENT,
> +		ANDROID_NOISE_REDUCTION_MODE,
> +		ANDROID_STATISTICS_FACE_DETECT_MODE
>  	};
>  	staticMetadata_->addEntry(ANDROID_REQUEST_AVAILABLE_REQUEST_KEYS,
>  				  availableRequestKeys.data(),
> @@ -1237,14 +1237,14 @@ const camera_metadata_t *CameraDevice::getStaticMetadata()
>  		ANDROID_CONTROL_AE_ANTIBANDING_MODE,
>  		ANDROID_CONTROL_AE_LOCK,
>  		ANDROID_CONTROL_AE_MODE,
> -		ANDROID_CONTROL_AE_TARGET_FPS_RANGE,
>  		ANDROID_CONTROL_AE_PRECAPTURE_TRIGGER,
>  		ANDROID_CONTROL_AE_STATE,
> +		ANDROID_CONTROL_AE_TARGET_FPS_RANGE,
>  		ANDROID_CONTROL_AF_MODE,
>  		ANDROID_CONTROL_AF_STATE,
>  		ANDROID_CONTROL_AF_TRIGGER,
> -		ANDROID_CONTROL_AWB_MODE,
>  		ANDROID_CONTROL_AWB_LOCK,
> +		ANDROID_CONTROL_AWB_MODE,
>  		ANDROID_CONTROL_AWB_STATE,
>  		ANDROID_CONTROL_CAPTURE_INTENT,
>  		ANDROID_CONTROL_EFFECT_MODE,
> @@ -1253,27 +1253,27 @@ const camera_metadata_t *CameraDevice::getStaticMetadata()
>  		ANDROID_CONTROL_VIDEO_STABILIZATION_MODE,
>  		ANDROID_FLASH_MODE,
>  		ANDROID_FLASH_STATE,
> +		ANDROID_JPEG_GPS_COORDINATES,
> +		ANDROID_JPEG_GPS_PROCESSING_METHOD,
> +		ANDROID_JPEG_GPS_TIMESTAMP,
> +		ANDROID_JPEG_ORIENTATION,
> +		ANDROID_JPEG_QUALITY,
> +		ANDROID_JPEG_SIZE,
> +		ANDROID_JPEG_THUMBNAIL_QUALITY,
> +		ANDROID_JPEG_THUMBNAIL_SIZE,
>  		ANDROID_LENS_APERTURE,
>  		ANDROID_LENS_FOCAL_LENGTH,
> -		ANDROID_LENS_STATE,
>  		ANDROID_LENS_OPTICAL_STABILIZATION_MODE,
> -		ANDROID_SENSOR_TIMESTAMP,
> -		ANDROID_SENSOR_ROLLING_SHUTTER_SKEW,
> +		ANDROID_LENS_STATE,
> +		ANDROID_NOISE_REDUCTION_MODE,
> +		ANDROID_REQUEST_PIPELINE_DEPTH,
> +		ANDROID_SCALER_CROP_REGION,
>  		ANDROID_SENSOR_EXPOSURE_TIME,
> +		ANDROID_SENSOR_ROLLING_SHUTTER_SKEW,
> +		ANDROID_SENSOR_TIMESTAMP,
>  		ANDROID_STATISTICS_FACE_DETECT_MODE,
>  		ANDROID_STATISTICS_LENS_SHADING_MAP_MODE,
>  		ANDROID_STATISTICS_SCENE_FLICKER,
> -		ANDROID_NOISE_REDUCTION_MODE,
> -		ANDROID_REQUEST_PIPELINE_DEPTH,
> -		ANDROID_SCALER_CROP_REGION,
> -		ANDROID_JPEG_GPS_COORDINATES,
> -		ANDROID_JPEG_GPS_PROCESSING_METHOD,
> -		ANDROID_JPEG_GPS_TIMESTAMP,
> -		ANDROID_JPEG_SIZE,
> -		ANDROID_JPEG_QUALITY,
> -		ANDROID_JPEG_ORIENTATION,
> -		ANDROID_JPEG_THUMBNAIL_QUALITY,
> -		ANDROID_JPEG_THUMBNAIL_SIZE,
>  	};
>  	staticMetadata_->addEntry(ANDROID_REQUEST_AVAILABLE_RESULT_KEYS,
>  				  availableResultKeys.data(),
> -- 
> 2.30.0
> 
> _______________________________________________
> libcamera-devel mailing list
> libcamera-devel at lists.libcamera.org
> https://lists.libcamera.org/listinfo/libcamera-devel


More information about the libcamera-devel mailing list