camera: fix/hack static metadata reporting

Unfortunately, our camera blobs are too old to implement camera HAL 3.2
properly. These hacks fix most camera functionality with HAL 3.2, but
they're not exactly clean...

Some pieces are based on the hammerhead HAL.

This isn't passing CTS, but it's not too far away.
Sadly, in the foreseeable future, I won't have time to clean it up...

Change-Id: Iff4f0f25fe767e498db6e56fc2f47a13c4a97364
Signed-off-by: Daniel Jarai <jaraidaniel@gmail.com>
This commit is contained in:
Daniel Jarai 2018-02-21 22:45:08 +01:00 committed by Artem Borisov
parent 92a138f8ab
commit e567e54529
2 changed files with 610 additions and 152 deletions

File diff suppressed because it is too large Load Diff

View File

@ -129,7 +129,8 @@ public:
cam_trigger_t &aeTrigger);
camera_metadata_t* translateCbMetadataToResultMetadata(metadata_buffer_t *metadata,
nsecs_t timestamp, int32_t request_id,
const cam_trigger_t &aeTrigger);
const cam_trigger_t &aeTrigger,
uint8_t pipeline_depth);
int getJpegSettings(const camera_metadata_t *settings);
int initParameters();
void deinitParameters();
@ -210,6 +211,7 @@ private:
int blob_request;
int input_buffer_present;
cam_trigger_t ae_trigger;
uint8_t pipeline_depth;
} PendingRequestInfo;
/*Data structure to store metadata information*/
typedef struct {
@ -256,6 +258,22 @@ private:
int32_t mPrecaptureId;
uint8_t mAeMode;
uint8_t mAeLock;
uint8_t mAfMode;
cam_trigger_t mAfTrigger;
uint8_t mAwbLock;
uint8_t mAwbMode;
uint8_t mControlMode;
uint8_t mColorCorrectMode;
cam_color_correct_gains_t mColorCorrectGains;
uint8_t mEdgeMode;
int64_t mSensorFrameDuration;
uint8_t mEffectMode;
uint8_t mNoiseReductionMode;
uint8_t mSceneMode;
uint8_t mTonemapMode;
static const QCameraMap EFFECT_MODES_MAP[];
static const QCameraMap WHITE_BALANCE_MODES_MAP[];
static const QCameraMap SCENE_MODES_MAP[];