/* * 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__ */