1 /* 2 * Support for Intel Camera Imaging ISP subsystem. 3 * Copyright (c) 2015, Intel Corporation. 4 * 5 * This program is free software; you can redistribute it and/or modify it 6 * under the terms and conditions of the GNU General Public License, 7 * version 2, as published by the Free Software Foundation. 8 * 9 * This program is distributed in the hope it will be useful, but WITHOUT 10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 * more details. 13 */ 14 15 #ifndef __TAG_GLOBAL_H_INCLUDED__ 16 #define __TAG_GLOBAL_H_INCLUDED__ 17 18 /* offsets for encoding/decoding the tag into an uint32_t */ 19 20 #define TAG_CAP 1 21 #define TAG_EXP 2 22 23 #define TAG_NUM_CAPTURES_SIGN_SHIFT 6 24 #define TAG_OFFSET_SIGN_SHIFT 7 25 #define TAG_NUM_CAPTURES_SHIFT 8 26 #define TAG_OFFSET_SHIFT 16 27 #define TAG_SKIP_SHIFT 24 28 29 #define TAG_EXP_ID_SHIFT 8 30 31 /* Data structure containing the tagging information which is used in 32 * continuous mode to specify which frames should be captured. 33 * num_captures The number of RAW frames to be processed to 34 * YUV. Setting this to -1 will make continuous 35 * capture run until it is stopped. 36 * skip Skip N frames in between captures. This can be 37 * used to select a slower capture frame rate than 38 * the sensor output frame rate. 39 * offset Start the RAW-to-YUV processing at RAW buffer 40 * with this offset. This allows the user to 41 * process RAW frames that were captured in the 42 * past or future. 43 * exp_id Exposure id of the RAW frame to tag. 44 * 45 * NOTE: Either exp_id = 0 or all other fields are 0 46 * (so yeah, this could be a union) 47 */ 48 49 struct sh_css_tag_descr { 50 int num_captures; 51 unsigned int skip; 52 int offset; 53 unsigned int exp_id; 54 }; 55 56 #endif /* __TAG_GLOBAL_H_INCLUDED__ */ 57