/usr/include/hybris/camera/camera_compatibility_layer_capabilities.h is in libhybris-dev 0.1.0+git20151016+6d424c9-0ubuntu7.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 | /*
* Copyright (C) 2013-2014 Canonical Ltd
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* Authored by: Thomas Voss <thomas.voss@canonical.com>
*/
#ifndef CAMERA_COMPATIBILITY_LAYER_CONFIGURATION_H_
#define CAMERA_COMPATIBILITY_LAYER_CONFIGURATION_H_
#ifdef __cplusplus
extern "C" {
#endif
struct CameraControl;
typedef enum
{
FLASH_MODE_OFF,
FLASH_MODE_AUTO,
FLASH_MODE_ON,
FLASH_MODE_TORCH,
FLASH_MODE_RED_EYE
} FlashMode;
typedef enum
{
WHITE_BALANCE_MODE_AUTO,
WHITE_BALANCE_MODE_DAYLIGHT,
WHITE_BALANCE_MODE_CLOUDY_DAYLIGHT,
WHITE_BALANCE_MODE_FLUORESCENT,
WHITE_BALANCE_MODE_INCANDESCENT
} WhiteBalanceMode;
typedef enum
{
SCENE_MODE_AUTO,
SCENE_MODE_ACTION,
SCENE_MODE_NIGHT,
SCENE_MODE_PARTY,
SCENE_MODE_SUNSET,
SCENE_MODE_HDR
} SceneMode;
typedef enum
{
AUTO_FOCUS_MODE_OFF,
AUTO_FOCUS_MODE_CONTINUOUS_VIDEO,
AUTO_FOCUS_MODE_AUTO,
AUTO_FOCUS_MODE_MACRO,
AUTO_FOCUS_MODE_CONTINUOUS_PICTURE,
AUTO_FOCUS_MODE_INFINITY
} AutoFocusMode;
typedef enum
{
EFFECT_MODE_NONE,
EFFECT_MODE_MONO,
EFFECT_MODE_NEGATIVE,
EFFECT_MODE_SOLARIZE,
EFFECT_MODE_SEPIA,
EFFECT_MODE_POSTERIZE,
EFFECT_MODE_WHITEBOARD,
EFFECT_MODE_BLACKBOARD,
EFFECT_MODE_AQUA
} EffectMode;
typedef enum
{
CAMERA_PIXEL_FORMAT_YUV422SP,
CAMERA_PIXEL_FORMAT_YUV420SP,
CAMERA_PIXEL_FORMAT_YUV422I,
CAMERA_PIXEL_FORMAT_YUV420P,
CAMERA_PIXEL_FORMAT_RGB565,
CAMERA_PIXEL_FORMAT_RGBA8888,
CAMERA_PIXEL_FORMAT_BAYER_RGGB
} CameraPixelFormat;
typedef struct
{
int top;
int left;
int bottom;
int right;
int weight;
} FocusRegion, MeteringRegion;
typedef void (*size_callback)(void* ctx, int width, int height);
typedef void (*scene_mode_callback)(void* ctx, SceneMode mode);
typedef void (*flash_mode_callback)(void* ctx, FlashMode mode);
// Dumps the camera parameters to stdout.
void android_camera_dump_parameters(struct CameraControl* control);
// Query camera parameters
int android_camera_get_number_of_devices();
int android_camera_get_device_info(int32_t camera_id, int* facing, int* orientation);
void android_camera_enumerate_supported_preview_sizes(struct CameraControl* control, size_callback cb, void* ctx);
void android_camera_get_preview_fps_range(struct CameraControl* control, int* min, int* max);
void android_camera_get_preview_fps(struct CameraControl* control, int* fps);
void android_camera_enumerate_supported_picture_sizes(struct CameraControl* control, size_callback cb, void* ctx);
void android_camera_enumerate_supported_thumbnail_sizes(struct CameraControl* control, size_callback cb, void* ctx);
void android_camera_get_preview_size(struct CameraControl* control, int* width, int* height);
void android_camera_get_picture_size(struct CameraControl* control, int* width, int* height);
void android_camera_get_thumbnail_size(struct CameraControl* control, int* width, int* height);
void android_camera_get_jpeg_quality(struct CameraControl* control, int* quality);
void android_camera_get_current_zoom(struct CameraControl* control, int* zoom);
void android_camera_get_max_zoom(struct CameraControl* control, int* max_zoom);
void android_camera_get_effect_mode(struct CameraControl* control, EffectMode* mode);
void android_camera_get_flash_mode(struct CameraControl* control, FlashMode* mode);
void android_camera_enumerate_supported_flash_modes(struct CameraControl* control, flash_mode_callback cb, void* ctx);
void android_camera_get_white_balance_mode(struct CameraControl* control, WhiteBalanceMode* mode);
void android_camera_enumerate_supported_scene_modes(struct CameraControl* control, scene_mode_callback cb, void* ctx);
void android_camera_get_scene_mode(struct CameraControl* control, SceneMode* mode);
void android_camera_get_auto_focus_mode(struct CameraControl* control, AutoFocusMode* mode);
void android_camera_get_preview_format(struct CameraControl* control, CameraPixelFormat* format);
// Adjusts camera parameters
void android_camera_set_preview_size(struct CameraControl* control, int width, int height);
void android_camera_set_preview_fps(struct CameraControl* control, int fps);
void android_camera_set_picture_size(struct CameraControl* control, int width, int height);
void android_camera_set_thumbnail_size(struct CameraControl* control, int width, int height);
void android_camera_set_effect_mode(struct CameraControl* control, EffectMode mode);
void android_camera_set_flash_mode(struct CameraControl* control, FlashMode mode);
void android_camera_set_white_balance_mode(struct CameraControl* control, WhiteBalanceMode mode);
void android_camera_set_scene_mode(struct CameraControl* control, SceneMode mode);
void android_camera_set_auto_focus_mode(struct CameraControl* control, AutoFocusMode mode);
void android_camera_set_preview_format(struct CameraControl* control, CameraPixelFormat format);
void android_camera_set_jpeg_quality(struct CameraControl* control, int quality);
void android_camera_set_focus_region(struct CameraControl* control, FocusRegion* region);
void android_camera_reset_focus_region(struct CameraControl* control);
void android_camera_set_metering_region(struct CameraControl* control, MeteringRegion* region);
void android_camera_reset_metering_region(struct CameraControl* control);
// Set photo metadata
void android_camera_set_rotation(struct CameraControl* control, int rotation);
void android_camera_set_location(struct CameraControl* control, const float* latitude, const float* longitude, const float* altitude, int timestamp, const char* method);
// Video support
void android_camera_enumerate_supported_video_sizes(struct CameraControl* control, size_callback cb, void* ctx);
void android_camera_get_video_size(struct CameraControl* control, int* width, int* height);
void android_camera_set_video_size(struct CameraControl* control, int width, int height);
#ifdef __cplusplus
}
#endif
#endif // CAMERA_COMPATIBILITY_LAYER_CONFIGURATION_H_
|