blob: af5a47ace32a52917779f24f66848533b7b7aaca [file] [log] [blame]
/* SPDX-License-Identifier: GPL-2.0 */
/*
* Support for Intel Camera Imaging ISP subsystem.
* Copyright (c) 2015, Intel Corporation.
*
* This program is free software; you can redistribute it and/or modify it
* under the terms and conditions of the GNU General Public License,
* version 2, as published by the Free Software Foundation.
*
* This program is distributed in the hope it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*/
#ifndef __TAG_GLOBAL_H_INCLUDED__
#define __TAG_GLOBAL_H_INCLUDED__
/* offsets for encoding/decoding the tag into an uint32_t */
#define TAG_CAP 1
#define TAG_EXP 2
#define TAG_NUM_CAPTURES_SIGN_SHIFT 6
#define TAG_OFFSET_SIGN_SHIFT 7
#define TAG_NUM_CAPTURES_SHIFT 8
#define TAG_OFFSET_SHIFT 16
#define TAG_SKIP_SHIFT 24
#define TAG_EXP_ID_SHIFT 8
/* Data structure containing the tagging information which is used in
* continuous mode to specify which frames should be captured.
* num_captures The number of RAW frames to be processed to
* YUV. Setting this to -1 will make continuous
* capture run until it is stopped.
* skip Skip N frames in between captures. This can be
* used to select a slower capture frame rate than
* the sensor output frame rate.
* offset Start the RAW-to-YUV processing at RAW buffer
* with this offset. This allows the user to
* process RAW frames that were captured in the
* past or future.
* exp_id Exposure id of the RAW frame to tag.
*
* NOTE: Either exp_id = 0 or all other fields are 0
* (so yeah, this could be a union)
*/
struct sh_css_tag_descr {
int num_captures;
unsigned int skip;
int offset;
unsigned int exp_id;
};
#endif /* __TAG_GLOBAL_H_INCLUDED__ */