1 /* Copyright (c) 2014, The Linux Foundation. All rights reserved.
2  *
3  * Redistribution and use in source and binary forms, with or without
4  * modification, are permitted provided that the following conditions are
5  * met:
6  *     * Redistributions of source code must retain the above copyright
7  *       notice, this list of conditions and the following disclaimer.
8  *     * Redistributions in binary form must reproduce the above
9  *       copyright notice, this list of conditions and the following
10  *       disclaimer in the documentation and/or other materials provided
11  *       with the distribution.
12  *     * Neither the name of The Linux Foundation nor the names of its
13  *       contributors may be used to endorse or promote products derived
14  *       from this software without specific prior written permission.
15  *
16  * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
17  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
18  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
19  * ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
20  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
21  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
22  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
23  * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
24  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
25  * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
26  * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27  *
28  */
29 
30 #include "cam_intf.h"
31 
get_pointer_of(cam_intf_parm_type_t meta_id,const metadata_buffer_t * metadata)32 void *get_pointer_of(cam_intf_parm_type_t meta_id,
33         const metadata_buffer_t* metadata)
34 {
35     switch(meta_id) {
36         case CAM_INTF_META_HISTOGRAM:
37             return POINTER_OF_META(CAM_INTF_META_HISTOGRAM, metadata);
38         case CAM_INTF_META_FACE_DETECTION:
39             return POINTER_OF_META(CAM_INTF_META_FACE_DETECTION, metadata);
40         case CAM_INTF_META_AUTOFOCUS_DATA:
41             return POINTER_OF_META(CAM_INTF_META_AUTOFOCUS_DATA, metadata);
42         case CAM_INTF_META_CROP_DATA:
43             return POINTER_OF_META(CAM_INTF_META_CROP_DATA, metadata);
44         case CAM_INTF_META_PREP_SNAPSHOT_DONE:
45             return POINTER_OF_META(CAM_INTF_META_PREP_SNAPSHOT_DONE, metadata);
46         case CAM_INTF_META_GOOD_FRAME_IDX_RANGE:
47             return POINTER_OF_META(CAM_INTF_META_GOOD_FRAME_IDX_RANGE, metadata);
48         case CAM_INTF_META_ASD_HDR_SCENE_DATA:
49             return POINTER_OF_META(CAM_INTF_META_ASD_HDR_SCENE_DATA, metadata);
50         case CAM_INTF_META_ASD_SCENE_TYPE:
51             return POINTER_OF_META(CAM_INTF_META_ASD_SCENE_TYPE, metadata);
52         case CAM_INTF_META_CHROMATIX_LITE_ISP:
53             return POINTER_OF_META(CAM_INTF_META_CHROMATIX_LITE_ISP, metadata);
54         case CAM_INTF_META_CHROMATIX_LITE_PP:
55             return POINTER_OF_META(CAM_INTF_META_CHROMATIX_LITE_PP, metadata);
56         case CAM_INTF_META_CHROMATIX_LITE_AE:
57             return POINTER_OF_META(CAM_INTF_META_CHROMATIX_LITE_AE, metadata);
58         case CAM_INTF_META_CHROMATIX_LITE_AWB:
59             return POINTER_OF_META(CAM_INTF_META_CHROMATIX_LITE_AWB, metadata);
60         case CAM_INTF_META_CHROMATIX_LITE_AF:
61             return POINTER_OF_META(CAM_INTF_META_CHROMATIX_LITE_AF, metadata);
62         case CAM_INTF_META_CHROMATIX_LITE_ASD:
63             return POINTER_OF_META(CAM_INTF_META_CHROMATIX_LITE_ASD, metadata);
64         case CAM_INTF_META_FRAME_NUMBER_VALID:
65             return POINTER_OF_META(CAM_INTF_META_FRAME_NUMBER_VALID, metadata);
66         case CAM_INTF_META_URGENT_FRAME_NUMBER_VALID:
67             return POINTER_OF_META(CAM_INTF_META_URGENT_FRAME_NUMBER_VALID, metadata);
68         case CAM_INTF_META_FRAME_DROPPED:
69             return POINTER_OF_META(CAM_INTF_META_FRAME_DROPPED, metadata);
70         case CAM_INTF_META_FRAME_NUMBER:
71             return POINTER_OF_META(CAM_INTF_META_FRAME_NUMBER, metadata);
72         case CAM_INTF_META_URGENT_FRAME_NUMBER:
73             return POINTER_OF_META(CAM_INTF_META_URGENT_FRAME_NUMBER, metadata);
74         case CAM_INTF_META_COLOR_CORRECT_MODE:
75             return POINTER_OF_META(CAM_INTF_META_COLOR_CORRECT_MODE, metadata);
76         case CAM_INTF_META_COLOR_CORRECT_TRANSFORM:
77             return POINTER_OF_META(CAM_INTF_META_COLOR_CORRECT_TRANSFORM, metadata);
78         case CAM_INTF_META_COLOR_CORRECT_GAINS:
79             return POINTER_OF_META(CAM_INTF_META_COLOR_CORRECT_GAINS, metadata);
80         case CAM_INTF_META_PRED_COLOR_CORRECT_TRANSFORM:
81             return POINTER_OF_META(CAM_INTF_META_PRED_COLOR_CORRECT_TRANSFORM, metadata);
82         case CAM_INTF_META_PRED_COLOR_CORRECT_GAINS:
83             return POINTER_OF_META(CAM_INTF_META_PRED_COLOR_CORRECT_GAINS, metadata);
84         case CAM_INTF_META_AEC_ROI:
85             return POINTER_OF_META(CAM_INTF_META_AEC_ROI, metadata);
86         case CAM_INTF_META_AEC_STATE:
87             return POINTER_OF_META(CAM_INTF_META_AEC_STATE, metadata);
88         case CAM_INTF_PARM_FOCUS_MODE:
89             return POINTER_OF_META(CAM_INTF_PARM_FOCUS_MODE, metadata);
90         case CAM_INTF_META_AF_ROI:
91             return POINTER_OF_META(CAM_INTF_META_AF_ROI, metadata);
92         case CAM_INTF_META_AF_STATE:
93             return POINTER_OF_META(CAM_INTF_META_AF_STATE, metadata);
94         case CAM_INTF_PARM_WHITE_BALANCE:
95             return POINTER_OF_META(CAM_INTF_PARM_WHITE_BALANCE, metadata);
96         case CAM_INTF_META_AWB_REGIONS:
97             return POINTER_OF_META(CAM_INTF_META_AWB_REGIONS, metadata);
98         case CAM_INTF_META_AWB_STATE:
99             return POINTER_OF_META(CAM_INTF_META_AWB_STATE, metadata);
100         case CAM_INTF_META_BLACK_LEVEL_LOCK:
101             return POINTER_OF_META(CAM_INTF_META_BLACK_LEVEL_LOCK, metadata);
102         case CAM_INTF_META_MODE:
103             return POINTER_OF_META(CAM_INTF_META_MODE, metadata);
104         case CAM_INTF_META_EDGE_MODE:
105             return POINTER_OF_META(CAM_INTF_META_EDGE_MODE, metadata);
106         case CAM_INTF_META_FLASH_POWER:
107             return POINTER_OF_META(CAM_INTF_META_FLASH_POWER, metadata);
108         case CAM_INTF_META_FLASH_FIRING_TIME:
109             return POINTER_OF_META(CAM_INTF_META_FLASH_FIRING_TIME, metadata);
110         case CAM_INTF_META_FLASH_MODE:
111             return POINTER_OF_META(CAM_INTF_META_FLASH_MODE, metadata);
112         case CAM_INTF_META_FLASH_STATE:
113             return POINTER_OF_META(CAM_INTF_META_FLASH_STATE, metadata);
114         case CAM_INTF_META_HOTPIXEL_MODE:
115             return POINTER_OF_META(CAM_INTF_META_HOTPIXEL_MODE, metadata);
116         case CAM_INTF_META_LENS_APERTURE:
117             return POINTER_OF_META(CAM_INTF_META_LENS_APERTURE, metadata);
118         case CAM_INTF_META_LENS_FILTERDENSITY:
119             return POINTER_OF_META(CAM_INTF_META_LENS_FILTERDENSITY, metadata);
120         case CAM_INTF_META_LENS_FOCAL_LENGTH:
121             return POINTER_OF_META(CAM_INTF_META_LENS_FOCAL_LENGTH, metadata);
122         case CAM_INTF_META_LENS_FOCUS_DISTANCE:
123             return POINTER_OF_META(CAM_INTF_META_LENS_FOCUS_DISTANCE, metadata);
124         case CAM_INTF_META_LENS_FOCUS_RANGE:
125             return POINTER_OF_META(CAM_INTF_META_LENS_FOCUS_RANGE, metadata);
126         case CAM_INTF_META_LENS_STATE:
127             return POINTER_OF_META(CAM_INTF_META_LENS_STATE, metadata);
128         case CAM_INTF_META_LENS_OPT_STAB_MODE:
129             return POINTER_OF_META(CAM_INTF_META_LENS_OPT_STAB_MODE, metadata);
130         case CAM_INTF_META_NOISE_REDUCTION_MODE:
131             return POINTER_OF_META(CAM_INTF_META_NOISE_REDUCTION_MODE, metadata);
132         case CAM_INTF_META_NOISE_REDUCTION_STRENGTH:
133             return POINTER_OF_META(CAM_INTF_META_NOISE_REDUCTION_STRENGTH, metadata);
134         case CAM_INTF_META_SCALER_CROP_REGION:
135             return POINTER_OF_META(CAM_INTF_META_SCALER_CROP_REGION, metadata);
136         case CAM_INTF_META_SCENE_FLICKER:
137             return POINTER_OF_META(CAM_INTF_META_SCENE_FLICKER, metadata);
138         case CAM_INTF_META_SENSOR_EXPOSURE_TIME:
139             return POINTER_OF_META(CAM_INTF_META_SENSOR_EXPOSURE_TIME, metadata);
140         case CAM_INTF_META_SENSOR_FRAME_DURATION:
141             return POINTER_OF_META(CAM_INTF_META_SENSOR_FRAME_DURATION, metadata);
142         case CAM_INTF_META_SENSOR_SENSITIVITY:
143             return POINTER_OF_META(CAM_INTF_META_SENSOR_SENSITIVITY, metadata);
144         case CAM_INTF_META_SENSOR_TIMESTAMP:
145             return POINTER_OF_META(CAM_INTF_META_SENSOR_TIMESTAMP, metadata);
146         case CAM_INTF_META_SHADING_MODE:
147             return POINTER_OF_META(CAM_INTF_META_SHADING_MODE, metadata);
148         case CAM_INTF_META_STATS_FACEDETECT_MODE:
149             return POINTER_OF_META(CAM_INTF_META_STATS_FACEDETECT_MODE, metadata);
150         case CAM_INTF_META_STATS_HISTOGRAM_MODE:
151             return POINTER_OF_META(CAM_INTF_META_STATS_HISTOGRAM_MODE, metadata);
152         case CAM_INTF_META_STATS_SHARPNESS_MAP_MODE:
153             return POINTER_OF_META(CAM_INTF_META_STATS_SHARPNESS_MAP_MODE, metadata);
154         case CAM_INTF_META_STATS_SHARPNESS_MAP:
155             return POINTER_OF_META(CAM_INTF_META_STATS_SHARPNESS_MAP, metadata);
156         case CAM_INTF_META_TONEMAP_CURVES:
157             return POINTER_OF_META(CAM_INTF_META_TONEMAP_CURVES, metadata);
158         case CAM_INTF_META_LENS_SHADING_MAP:
159             return POINTER_OF_META(CAM_INTF_META_LENS_SHADING_MAP, metadata);
160         case CAM_INTF_META_AEC_INFO:
161             return POINTER_OF_META(CAM_INTF_META_AEC_INFO, metadata);
162         case CAM_INTF_META_SENSOR_INFO:
163             return POINTER_OF_META(CAM_INTF_META_SENSOR_INFO, metadata);
164         case CAM_INTF_META_ASD_SCENE_CAPTURE_TYPE:
165             return POINTER_OF_META(CAM_INTF_META_ASD_SCENE_CAPTURE_TYPE, metadata);
166         case CAM_INTF_PARM_EFFECT:
167             return POINTER_OF_META(CAM_INTF_PARM_EFFECT, metadata);
168         case CAM_INTF_META_PRIVATE_DATA:
169             return POINTER_OF_META(CAM_INTF_META_PRIVATE_DATA, metadata);
170         case CAM_INTF_PARM_HAL_VERSION:
171             return POINTER_OF_META(CAM_INTF_PARM_HAL_VERSION, metadata);
172         case CAM_INTF_PARM_ANTIBANDING:
173             return POINTER_OF_META(CAM_INTF_PARM_ANTIBANDING, metadata);
174         case CAM_INTF_PARM_EXPOSURE_COMPENSATION:
175             return POINTER_OF_META(CAM_INTF_PARM_EXPOSURE_COMPENSATION, metadata);
176         case CAM_INTF_PARM_EV_STEP:
177             return POINTER_OF_META(CAM_INTF_PARM_EV_STEP, metadata);
178         case CAM_INTF_PARM_AEC_LOCK:
179             return POINTER_OF_META(CAM_INTF_PARM_AEC_LOCK, metadata);
180         case CAM_INTF_PARM_FPS_RANGE:
181             return POINTER_OF_META(CAM_INTF_PARM_FPS_RANGE, metadata);
182         case CAM_INTF_PARM_AWB_LOCK:
183             return POINTER_OF_META(CAM_INTF_PARM_AWB_LOCK, metadata);
184         case CAM_INTF_PARM_BESTSHOT_MODE:
185             return POINTER_OF_META(CAM_INTF_PARM_BESTSHOT_MODE, metadata);
186         case CAM_INTF_PARM_DIS_ENABLE:
187             return POINTER_OF_META(CAM_INTF_PARM_DIS_ENABLE, metadata);
188         case CAM_INTF_PARM_LED_MODE:
189             return POINTER_OF_META(CAM_INTF_PARM_LED_MODE, metadata);
190         case CAM_INTF_PARM_QUERY_FLASH4SNAP:
191             return POINTER_OF_META(CAM_INTF_PARM_QUERY_FLASH4SNAP, metadata);
192         case CAM_INTF_PARM_EXPOSURE:
193             return POINTER_OF_META(CAM_INTF_PARM_EXPOSURE, metadata);
194         case CAM_INTF_PARM_SHARPNESS:
195             return POINTER_OF_META(CAM_INTF_PARM_SHARPNESS, metadata);
196         case CAM_INTF_PARM_CONTRAST:
197             return POINTER_OF_META(CAM_INTF_PARM_CONTRAST, metadata);
198         case CAM_INTF_PARM_SATURATION:
199             return POINTER_OF_META(CAM_INTF_PARM_SATURATION, metadata);
200         case CAM_INTF_PARM_BRIGHTNESS:
201             return POINTER_OF_META(CAM_INTF_PARM_BRIGHTNESS, metadata);
202         case CAM_INTF_PARM_ISO:
203             return POINTER_OF_META(CAM_INTF_PARM_ISO, metadata);
204         case CAM_INTF_PARM_ZOOM:
205             return POINTER_OF_META(CAM_INTF_PARM_ZOOM, metadata);
206         case CAM_INTF_PARM_ROLLOFF:
207             return POINTER_OF_META(CAM_INTF_PARM_ROLLOFF, metadata);
208         case CAM_INTF_PARM_MODE:
209             return POINTER_OF_META(CAM_INTF_PARM_MODE, metadata);
210         case CAM_INTF_PARM_AEC_ALGO_TYPE:
211             return POINTER_OF_META(CAM_INTF_PARM_AEC_ALGO_TYPE, metadata);
212         case CAM_INTF_PARM_FOCUS_ALGO_TYPE:
213             return POINTER_OF_META(CAM_INTF_PARM_FOCUS_ALGO_TYPE, metadata);
214         case CAM_INTF_PARM_AEC_ROI:
215             return POINTER_OF_META(CAM_INTF_PARM_AEC_ROI, metadata);
216         case CAM_INTF_PARM_AF_ROI:
217             return POINTER_OF_META(CAM_INTF_PARM_AF_ROI, metadata);
218         case CAM_INTF_PARM_SCE_FACTOR:
219             return POINTER_OF_META(CAM_INTF_PARM_SCE_FACTOR, metadata);
220         case CAM_INTF_PARM_FD:
221             return POINTER_OF_META(CAM_INTF_PARM_FD, metadata);
222         case CAM_INTF_PARM_MCE:
223             return POINTER_OF_META(CAM_INTF_PARM_MCE, metadata);
224         case CAM_INTF_PARM_HFR:
225             return POINTER_OF_META(CAM_INTF_PARM_HFR, metadata);
226         case CAM_INTF_PARM_REDEYE_REDUCTION:
227             return POINTER_OF_META(CAM_INTF_PARM_REDEYE_REDUCTION, metadata);
228         case CAM_INTF_PARM_WAVELET_DENOISE:
229             return POINTER_OF_META(CAM_INTF_PARM_WAVELET_DENOISE, metadata);
230         case CAM_INTF_PARM_HISTOGRAM:
231             return POINTER_OF_META(CAM_INTF_PARM_HISTOGRAM, metadata);
232         case CAM_INTF_PARM_ASD_ENABLE:
233             return POINTER_OF_META(CAM_INTF_PARM_ASD_ENABLE, metadata);
234         case CAM_INTF_PARM_RECORDING_HINT:
235             return POINTER_OF_META(CAM_INTF_PARM_RECORDING_HINT, metadata);
236         case CAM_INTF_PARM_HDR:
237             return POINTER_OF_META(CAM_INTF_PARM_HDR, metadata);
238         case CAM_INTF_PARM_FRAMESKIP:
239             return POINTER_OF_META(CAM_INTF_PARM_FRAMESKIP, metadata);
240         case CAM_INTF_PARM_ZSL_MODE:
241             return POINTER_OF_META(CAM_INTF_PARM_ZSL_MODE, metadata);
242         case CAM_INTF_PARM_HDR_NEED_1X:
243             return POINTER_OF_META(CAM_INTF_PARM_HDR_NEED_1X, metadata);
244         case CAM_INTF_PARM_LOCK_CAF:
245             return POINTER_OF_META(CAM_INTF_PARM_LOCK_CAF, metadata);
246         case CAM_INTF_PARM_VIDEO_HDR:
247             return POINTER_OF_META(CAM_INTF_PARM_VIDEO_HDR, metadata);
248         case CAM_INTF_PARM_VT:
249             return POINTER_OF_META(CAM_INTF_PARM_VT, metadata);
250         case CAM_INTF_PARM_GET_CHROMATIX:
251             return POINTER_OF_META(CAM_INTF_PARM_GET_CHROMATIX, metadata);
252         case CAM_INTF_PARM_SET_RELOAD_CHROMATIX:
253             return POINTER_OF_META(CAM_INTF_PARM_SET_RELOAD_CHROMATIX, metadata);
254         case CAM_INTF_PARM_GET_AFTUNE:
255             return POINTER_OF_META(CAM_INTF_PARM_GET_AFTUNE, metadata);
256         case CAM_INTF_PARM_SET_RELOAD_AFTUNE:
257             return POINTER_OF_META(CAM_INTF_PARM_SET_RELOAD_AFTUNE, metadata);
258         case CAM_INTF_PARM_SET_AUTOFOCUSTUNING:
259             return POINTER_OF_META(CAM_INTF_PARM_SET_AUTOFOCUSTUNING, metadata);
260         case CAM_INTF_PARM_SET_VFE_COMMAND:
261             return POINTER_OF_META(CAM_INTF_PARM_SET_VFE_COMMAND, metadata);
262         case CAM_INTF_PARM_SET_PP_COMMAND:
263             return POINTER_OF_META(CAM_INTF_PARM_SET_PP_COMMAND, metadata);
264         case CAM_INTF_PARM_MAX_DIMENSION:
265             return POINTER_OF_META(CAM_INTF_PARM_MAX_DIMENSION, metadata);
266         case CAM_INTF_PARM_RAW_DIMENSION:
267             return POINTER_OF_META(CAM_INTF_PARM_RAW_DIMENSION, metadata);
268         case CAM_INTF_PARM_TINTLESS:
269             return POINTER_OF_META(CAM_INTF_PARM_TINTLESS, metadata);
270         case CAM_INTF_PARM_EZTUNE_CMD:
271             return POINTER_OF_META(CAM_INTF_PARM_EZTUNE_CMD, metadata);
272         case CAM_INTF_PARM_RDI_MODE:
273             return POINTER_OF_META(CAM_INTF_PARM_RDI_MODE, metadata);
274         case CAM_INTF_PARM_BURST_NUM:
275             return POINTER_OF_META(CAM_INTF_PARM_BURST_NUM, metadata);
276         case CAM_INTF_PARM_RETRO_BURST_NUM:
277             return POINTER_OF_META(CAM_INTF_PARM_RETRO_BURST_NUM, metadata);
278         case CAM_INTF_PARM_BURST_LED_ON_PERIOD:
279             return POINTER_OF_META(CAM_INTF_PARM_BURST_LED_ON_PERIOD, metadata);
280         case CAM_INTF_META_STREAM_INFO:
281             return POINTER_OF_META(CAM_INTF_META_STREAM_INFO, metadata);
282         case CAM_INTF_META_AEC_MODE:
283             return POINTER_OF_META(CAM_INTF_META_AEC_MODE, metadata);
284         case CAM_INTF_META_AEC_PRECAPTURE_TRIGGER:
285             return POINTER_OF_META(CAM_INTF_META_AEC_PRECAPTURE_TRIGGER, metadata);
286         case CAM_INTF_META_AF_TRIGGER:
287             return POINTER_OF_META(CAM_INTF_META_AF_TRIGGER, metadata);
288         case CAM_INTF_META_CAPTURE_INTENT:
289             return POINTER_OF_META(CAM_INTF_META_CAPTURE_INTENT, metadata);
290         case CAM_INTF_META_DEMOSAIC:
291             return POINTER_OF_META(CAM_INTF_META_DEMOSAIC, metadata);
292         case CAM_INTF_META_SHARPNESS_STRENGTH:
293             return POINTER_OF_META(CAM_INTF_META_SHARPNESS_STRENGTH, metadata);
294         case CAM_INTF_META_GEOMETRIC_MODE:
295             return POINTER_OF_META(CAM_INTF_META_GEOMETRIC_MODE, metadata);
296         case CAM_INTF_META_GEOMETRIC_STRENGTH:
297             return POINTER_OF_META(CAM_INTF_META_GEOMETRIC_STRENGTH, metadata);
298         case CAM_INTF_META_LENS_SHADING_MAP_MODE:
299             return POINTER_OF_META(CAM_INTF_META_LENS_SHADING_MAP_MODE, metadata);
300         case CAM_INTF_META_SHADING_STRENGTH:
301             return POINTER_OF_META(CAM_INTF_META_SHADING_STRENGTH, metadata);
302         case CAM_INTF_META_TONEMAP_MODE:
303             return POINTER_OF_META(CAM_INTF_META_TONEMAP_MODE, metadata);
304         case CAM_INTF_META_STREAM_ID:
305             return POINTER_OF_META(CAM_INTF_META_STREAM_ID, metadata);
306         case CAM_INTF_PARM_STATS_DEBUG_MASK:
307             return POINTER_OF_META(CAM_INTF_PARM_STATS_DEBUG_MASK, metadata);
308         case CAM_INTF_PARM_STATS_AF_PAAF:
309             return POINTER_OF_META(CAM_INTF_PARM_STATS_AF_PAAF, metadata);
310         case CAM_INTF_PARM_FOCUS_BRACKETING:
311             return POINTER_OF_META(CAM_INTF_PARM_FOCUS_BRACKETING, metadata);
312         case CAM_INTF_PARM_FLASH_BRACKETING:
313             return POINTER_OF_META(CAM_INTF_PARM_FLASH_BRACKETING, metadata);
314         case CAM_INTF_META_JPEG_GPS_COORDINATES:
315             return POINTER_OF_META(CAM_INTF_META_JPEG_GPS_COORDINATES, metadata);
316         case CAM_INTF_META_JPEG_GPS_PROC_METHODS:
317             return POINTER_OF_META(CAM_INTF_META_JPEG_GPS_PROC_METHODS, metadata);
318         case CAM_INTF_META_JPEG_GPS_TIMESTAMP:
319             return POINTER_OF_META(CAM_INTF_META_JPEG_GPS_TIMESTAMP, metadata);
320         case CAM_INTF_META_JPEG_ORIENTATION:
321             return POINTER_OF_META(CAM_INTF_META_JPEG_ORIENTATION, metadata);
322         case CAM_INTF_META_JPEG_QUALITY:
323             return POINTER_OF_META(CAM_INTF_META_JPEG_QUALITY, metadata);
324         case CAM_INTF_META_JPEG_THUMB_QUALITY:
325             return POINTER_OF_META(CAM_INTF_META_JPEG_THUMB_QUALITY, metadata);
326         case CAM_INTF_META_JPEG_THUMB_SIZE:
327             return POINTER_OF_META(CAM_INTF_META_JPEG_THUMB_SIZE, metadata);
328         case CAM_INTF_META_TEST_PATTERN_DATA:
329             return POINTER_OF_META(CAM_INTF_META_TEST_PATTERN_DATA, metadata);
330         case CAM_INTF_META_PROFILE_TONE_CURVE:
331             return POINTER_OF_META(CAM_INTF_META_PROFILE_TONE_CURVE, metadata);
332         case CAM_INTF_META_OTP_WB_GRGB:
333             return POINTER_OF_META(CAM_INTF_META_OTP_WB_GRGB, metadata);
334         case CAM_INTF_PARM_CAC:
335             return POINTER_OF_META(CAM_INTF_PARM_CAC, metadata);
336         case CAM_INTF_META_NEUTRAL_COL_POINT:
337             return POINTER_OF_META(CAM_INTF_META_NEUTRAL_COL_POINT, metadata);
338         case CAM_INTF_PARM_CDS_MODE:
339             return POINTER_OF_META(CAM_INTF_PARM_CDS_MODE, metadata);
340         case CAM_INTF_PARM_ROTATION:
341           return POINTER_OF_META(CAM_INTF_PARM_ROTATION, metadata);
342         default:
343             return NULL;
344     }
345 }
346 
get_size_of(cam_intf_parm_type_t param_id)347 uint32_t get_size_of(cam_intf_parm_type_t param_id)
348 {
349     metadata_buffer_t* metadata = NULL;
350     switch(param_id) {
351         case CAM_INTF_META_HISTOGRAM:
352             return SIZE_OF_PARAM(CAM_INTF_META_HISTOGRAM, metadata);
353         case CAM_INTF_META_FACE_DETECTION:
354             return SIZE_OF_PARAM(CAM_INTF_META_FACE_DETECTION, metadata);
355         case CAM_INTF_META_AUTOFOCUS_DATA:
356             return SIZE_OF_PARAM(CAM_INTF_META_AUTOFOCUS_DATA, metadata);
357         case CAM_INTF_META_CROP_DATA:
358             return SIZE_OF_PARAM(CAM_INTF_META_CROP_DATA, metadata);
359         case CAM_INTF_META_PREP_SNAPSHOT_DONE:
360             return SIZE_OF_PARAM(CAM_INTF_META_PREP_SNAPSHOT_DONE, metadata);
361         case CAM_INTF_META_GOOD_FRAME_IDX_RANGE:
362             return SIZE_OF_PARAM(CAM_INTF_META_GOOD_FRAME_IDX_RANGE, metadata);
363         case CAM_INTF_META_ASD_HDR_SCENE_DATA:
364             return SIZE_OF_PARAM(CAM_INTF_META_ASD_HDR_SCENE_DATA, metadata);
365         case CAM_INTF_META_ASD_SCENE_TYPE:
366             return SIZE_OF_PARAM(CAM_INTF_META_ASD_SCENE_TYPE, metadata);
367         case CAM_INTF_META_CHROMATIX_LITE_ISP:
368             return SIZE_OF_PARAM(CAM_INTF_META_CHROMATIX_LITE_ISP, metadata);
369         case CAM_INTF_META_CHROMATIX_LITE_PP:
370             return SIZE_OF_PARAM(CAM_INTF_META_CHROMATIX_LITE_PP, metadata);
371         case CAM_INTF_META_CHROMATIX_LITE_AE:
372             return SIZE_OF_PARAM(CAM_INTF_META_CHROMATIX_LITE_AE, metadata);
373         case CAM_INTF_META_CHROMATIX_LITE_AWB:
374             return SIZE_OF_PARAM(CAM_INTF_META_CHROMATIX_LITE_AWB, metadata);
375         case CAM_INTF_META_CHROMATIX_LITE_AF:
376             return SIZE_OF_PARAM(CAM_INTF_META_CHROMATIX_LITE_AF, metadata);
377         case CAM_INTF_META_CHROMATIX_LITE_ASD:
378             return SIZE_OF_PARAM(CAM_INTF_META_CHROMATIX_LITE_ASD, metadata);
379         case CAM_INTF_META_FRAME_NUMBER_VALID:
380             return SIZE_OF_PARAM(CAM_INTF_META_FRAME_NUMBER_VALID, metadata);
381         case CAM_INTF_META_URGENT_FRAME_NUMBER_VALID:
382             return SIZE_OF_PARAM(CAM_INTF_META_URGENT_FRAME_NUMBER_VALID, metadata);
383         case CAM_INTF_META_FRAME_DROPPED:
384             return SIZE_OF_PARAM(CAM_INTF_META_FRAME_DROPPED, metadata);
385         case CAM_INTF_META_FRAME_NUMBER:
386             return SIZE_OF_PARAM(CAM_INTF_META_FRAME_NUMBER, metadata);
387         case CAM_INTF_META_URGENT_FRAME_NUMBER:
388             return SIZE_OF_PARAM(CAM_INTF_META_URGENT_FRAME_NUMBER, metadata);
389         case CAM_INTF_META_COLOR_CORRECT_MODE:
390             return SIZE_OF_PARAM(CAM_INTF_META_COLOR_CORRECT_MODE, metadata);
391         case CAM_INTF_META_COLOR_CORRECT_TRANSFORM:
392             return SIZE_OF_PARAM(CAM_INTF_META_COLOR_CORRECT_TRANSFORM, metadata);
393         case CAM_INTF_META_COLOR_CORRECT_GAINS:
394             return SIZE_OF_PARAM(CAM_INTF_META_COLOR_CORRECT_GAINS, metadata);
395         case CAM_INTF_META_PRED_COLOR_CORRECT_TRANSFORM:
396             return SIZE_OF_PARAM(CAM_INTF_META_PRED_COLOR_CORRECT_TRANSFORM, metadata);
397         case CAM_INTF_META_PRED_COLOR_CORRECT_GAINS:
398             return SIZE_OF_PARAM(CAM_INTF_META_PRED_COLOR_CORRECT_GAINS, metadata);
399         case CAM_INTF_META_AEC_ROI:
400             return SIZE_OF_PARAM(CAM_INTF_META_AEC_ROI, metadata);
401         case CAM_INTF_META_AEC_STATE:
402             return SIZE_OF_PARAM(CAM_INTF_META_AEC_STATE, metadata);
403         case CAM_INTF_PARM_FOCUS_MODE:
404             return SIZE_OF_PARAM(CAM_INTF_PARM_FOCUS_MODE, metadata);
405         case CAM_INTF_META_AF_ROI:
406             return SIZE_OF_PARAM(CAM_INTF_META_AF_ROI, metadata);
407         case CAM_INTF_META_AF_STATE:
408             return SIZE_OF_PARAM(CAM_INTF_META_AF_STATE, metadata);
409         case CAM_INTF_PARM_WHITE_BALANCE:
410             return SIZE_OF_PARAM(CAM_INTF_PARM_WHITE_BALANCE, metadata);
411         case CAM_INTF_META_AWB_REGIONS:
412             return SIZE_OF_PARAM(CAM_INTF_META_AWB_REGIONS, metadata);
413         case CAM_INTF_META_AWB_STATE:
414             return SIZE_OF_PARAM(CAM_INTF_META_AWB_STATE, metadata);
415         case CAM_INTF_META_BLACK_LEVEL_LOCK:
416             return SIZE_OF_PARAM(CAM_INTF_META_BLACK_LEVEL_LOCK, metadata);
417         case CAM_INTF_META_MODE:
418             return SIZE_OF_PARAM(CAM_INTF_META_MODE, metadata);
419         case CAM_INTF_META_EDGE_MODE:
420             return SIZE_OF_PARAM(CAM_INTF_META_EDGE_MODE, metadata);
421         case CAM_INTF_META_FLASH_POWER:
422             return SIZE_OF_PARAM(CAM_INTF_META_FLASH_POWER, metadata);
423         case CAM_INTF_META_FLASH_FIRING_TIME:
424             return SIZE_OF_PARAM(CAM_INTF_META_FLASH_FIRING_TIME, metadata);
425         case CAM_INTF_META_FLASH_MODE:
426             return SIZE_OF_PARAM(CAM_INTF_META_FLASH_MODE, metadata);
427         case CAM_INTF_META_FLASH_STATE:
428             return SIZE_OF_PARAM(CAM_INTF_META_FLASH_STATE, metadata);
429         case CAM_INTF_META_HOTPIXEL_MODE:
430             return SIZE_OF_PARAM(CAM_INTF_META_HOTPIXEL_MODE, metadata);
431         case CAM_INTF_META_LENS_APERTURE:
432             return SIZE_OF_PARAM(CAM_INTF_META_LENS_APERTURE, metadata);
433         case CAM_INTF_META_LENS_FILTERDENSITY:
434             return SIZE_OF_PARAM(CAM_INTF_META_LENS_FILTERDENSITY, metadata);
435         case CAM_INTF_META_LENS_FOCAL_LENGTH:
436             return SIZE_OF_PARAM(CAM_INTF_META_LENS_FOCAL_LENGTH, metadata);
437         case CAM_INTF_META_LENS_FOCUS_DISTANCE:
438             return SIZE_OF_PARAM(CAM_INTF_META_LENS_FOCUS_DISTANCE, metadata);
439         case CAM_INTF_META_LENS_FOCUS_RANGE:
440             return SIZE_OF_PARAM(CAM_INTF_META_LENS_FOCUS_RANGE, metadata);
441         case CAM_INTF_META_LENS_STATE:
442             return SIZE_OF_PARAM(CAM_INTF_META_LENS_STATE, metadata);
443         case CAM_INTF_META_LENS_OPT_STAB_MODE:
444             return SIZE_OF_PARAM(CAM_INTF_META_LENS_OPT_STAB_MODE, metadata);
445         case CAM_INTF_META_NOISE_REDUCTION_MODE:
446             return SIZE_OF_PARAM(CAM_INTF_META_NOISE_REDUCTION_MODE, metadata);
447         case CAM_INTF_META_NOISE_REDUCTION_STRENGTH:
448             return SIZE_OF_PARAM(CAM_INTF_META_NOISE_REDUCTION_STRENGTH, metadata);
449         case CAM_INTF_META_SCALER_CROP_REGION:
450             return SIZE_OF_PARAM(CAM_INTF_META_SCALER_CROP_REGION, metadata);
451         case CAM_INTF_META_SCENE_FLICKER:
452             return SIZE_OF_PARAM(CAM_INTF_META_SCENE_FLICKER, metadata);
453         case CAM_INTF_META_SENSOR_EXPOSURE_TIME:
454             return SIZE_OF_PARAM(CAM_INTF_META_SENSOR_EXPOSURE_TIME, metadata);
455         case CAM_INTF_META_SENSOR_FRAME_DURATION:
456             return SIZE_OF_PARAM(CAM_INTF_META_SENSOR_FRAME_DURATION, metadata);
457         case CAM_INTF_META_SENSOR_SENSITIVITY:
458             return SIZE_OF_PARAM(CAM_INTF_META_SENSOR_SENSITIVITY, metadata);
459         case CAM_INTF_META_SENSOR_TIMESTAMP:
460             return SIZE_OF_PARAM(CAM_INTF_META_SENSOR_TIMESTAMP, metadata);
461         case CAM_INTF_META_SHADING_MODE:
462             return SIZE_OF_PARAM(CAM_INTF_META_SHADING_MODE, metadata);
463         case CAM_INTF_META_STATS_FACEDETECT_MODE:
464             return SIZE_OF_PARAM(CAM_INTF_META_STATS_FACEDETECT_MODE, metadata);
465         case CAM_INTF_META_STATS_HISTOGRAM_MODE:
466             return SIZE_OF_PARAM(CAM_INTF_META_STATS_HISTOGRAM_MODE, metadata);
467         case CAM_INTF_META_STATS_SHARPNESS_MAP_MODE:
468             return SIZE_OF_PARAM(CAM_INTF_META_STATS_SHARPNESS_MAP_MODE, metadata);
469         case CAM_INTF_META_STATS_SHARPNESS_MAP:
470             return SIZE_OF_PARAM(CAM_INTF_META_STATS_SHARPNESS_MAP, metadata);
471         case CAM_INTF_META_TONEMAP_CURVES:
472             return SIZE_OF_PARAM(CAM_INTF_META_TONEMAP_CURVES, metadata);
473         case CAM_INTF_META_LENS_SHADING_MAP:
474             return SIZE_OF_PARAM(CAM_INTF_META_LENS_SHADING_MAP, metadata);
475         case CAM_INTF_META_AEC_INFO:
476             return SIZE_OF_PARAM(CAM_INTF_META_AEC_INFO, metadata);
477         case CAM_INTF_META_SENSOR_INFO:
478             return SIZE_OF_PARAM(CAM_INTF_META_SENSOR_INFO, metadata);
479         case CAM_INTF_META_ASD_SCENE_CAPTURE_TYPE:
480             return SIZE_OF_PARAM(CAM_INTF_META_ASD_SCENE_CAPTURE_TYPE, metadata);
481         case CAM_INTF_PARM_EFFECT:
482             return SIZE_OF_PARAM(CAM_INTF_PARM_EFFECT, metadata);
483         case CAM_INTF_META_PRIVATE_DATA:
484             return SIZE_OF_PARAM(CAM_INTF_META_PRIVATE_DATA, metadata);
485         case CAM_INTF_PARM_HAL_VERSION:
486             return SIZE_OF_PARAM(CAM_INTF_PARM_HAL_VERSION, metadata);
487         case CAM_INTF_PARM_ANTIBANDING:
488             return SIZE_OF_PARAM(CAM_INTF_PARM_ANTIBANDING, metadata);
489         case CAM_INTF_PARM_EXPOSURE_COMPENSATION:
490             return SIZE_OF_PARAM(CAM_INTF_PARM_EXPOSURE_COMPENSATION, metadata);
491         case CAM_INTF_PARM_EV_STEP:
492             return SIZE_OF_PARAM(CAM_INTF_PARM_EV_STEP, metadata);
493         case CAM_INTF_PARM_AEC_LOCK:
494             return SIZE_OF_PARAM(CAM_INTF_PARM_AEC_LOCK, metadata);
495         case CAM_INTF_PARM_FPS_RANGE:
496             return SIZE_OF_PARAM(CAM_INTF_PARM_FPS_RANGE, metadata);
497         case CAM_INTF_PARM_AWB_LOCK:
498             return SIZE_OF_PARAM(CAM_INTF_PARM_AWB_LOCK, metadata);
499         case CAM_INTF_PARM_BESTSHOT_MODE:
500             return SIZE_OF_PARAM(CAM_INTF_PARM_BESTSHOT_MODE, metadata);
501         case CAM_INTF_PARM_DIS_ENABLE:
502             return SIZE_OF_PARAM(CAM_INTF_PARM_DIS_ENABLE, metadata);
503         case CAM_INTF_PARM_LED_MODE:
504             return SIZE_OF_PARAM(CAM_INTF_PARM_LED_MODE, metadata);
505         case CAM_INTF_PARM_QUERY_FLASH4SNAP:
506             return SIZE_OF_PARAM(CAM_INTF_PARM_QUERY_FLASH4SNAP, metadata);
507         case CAM_INTF_PARM_EXPOSURE:
508             return SIZE_OF_PARAM(CAM_INTF_PARM_EXPOSURE, metadata);
509         case CAM_INTF_PARM_SHARPNESS:
510             return SIZE_OF_PARAM(CAM_INTF_PARM_SHARPNESS, metadata);
511         case CAM_INTF_PARM_CONTRAST:
512             return SIZE_OF_PARAM(CAM_INTF_PARM_CONTRAST, metadata);
513         case CAM_INTF_PARM_SATURATION:
514             return SIZE_OF_PARAM(CAM_INTF_PARM_SATURATION, metadata);
515         case CAM_INTF_PARM_BRIGHTNESS:
516             return SIZE_OF_PARAM(CAM_INTF_PARM_BRIGHTNESS, metadata);
517         case CAM_INTF_PARM_ISO:
518             return SIZE_OF_PARAM(CAM_INTF_PARM_ISO, metadata);
519         case CAM_INTF_PARM_ZOOM:
520             return SIZE_OF_PARAM(CAM_INTF_PARM_ZOOM, metadata);
521         case CAM_INTF_PARM_ROLLOFF:
522             return SIZE_OF_PARAM(CAM_INTF_PARM_ROLLOFF, metadata);
523         case CAM_INTF_PARM_MODE:
524             return SIZE_OF_PARAM(CAM_INTF_PARM_MODE, metadata);
525         case CAM_INTF_PARM_AEC_ALGO_TYPE:
526             return SIZE_OF_PARAM(CAM_INTF_PARM_AEC_ALGO_TYPE, metadata);
527         case CAM_INTF_PARM_FOCUS_ALGO_TYPE:
528             return SIZE_OF_PARAM(CAM_INTF_PARM_FOCUS_ALGO_TYPE, metadata);
529         case CAM_INTF_PARM_AEC_ROI:
530             return SIZE_OF_PARAM(CAM_INTF_PARM_AEC_ROI, metadata);
531         case CAM_INTF_PARM_AF_ROI:
532             return SIZE_OF_PARAM(CAM_INTF_PARM_AF_ROI, metadata);
533         case CAM_INTF_PARM_SCE_FACTOR:
534             return SIZE_OF_PARAM(CAM_INTF_PARM_SCE_FACTOR, metadata);
535         case CAM_INTF_PARM_FD:
536             return SIZE_OF_PARAM(CAM_INTF_PARM_FD, metadata);
537         case CAM_INTF_PARM_MCE:
538             return SIZE_OF_PARAM(CAM_INTF_PARM_MCE, metadata);
539         case CAM_INTF_PARM_HFR:
540             return SIZE_OF_PARAM(CAM_INTF_PARM_HFR, metadata);
541         case CAM_INTF_PARM_REDEYE_REDUCTION:
542             return SIZE_OF_PARAM(CAM_INTF_PARM_REDEYE_REDUCTION, metadata);
543         case CAM_INTF_PARM_WAVELET_DENOISE:
544             return SIZE_OF_PARAM(CAM_INTF_PARM_WAVELET_DENOISE, metadata);
545         case CAM_INTF_PARM_HISTOGRAM:
546             return SIZE_OF_PARAM(CAM_INTF_PARM_HISTOGRAM, metadata);
547         case CAM_INTF_PARM_ASD_ENABLE:
548             return SIZE_OF_PARAM(CAM_INTF_PARM_ASD_ENABLE, metadata);
549         case CAM_INTF_PARM_RECORDING_HINT:
550             return SIZE_OF_PARAM(CAM_INTF_PARM_RECORDING_HINT, metadata);
551         case CAM_INTF_PARM_HDR:
552             return SIZE_OF_PARAM(CAM_INTF_PARM_HDR, metadata);
553         case CAM_INTF_PARM_FRAMESKIP:
554             return SIZE_OF_PARAM(CAM_INTF_PARM_FRAMESKIP, metadata);
555         case CAM_INTF_PARM_ZSL_MODE:
556             return SIZE_OF_PARAM(CAM_INTF_PARM_ZSL_MODE, metadata);
557         case CAM_INTF_PARM_HDR_NEED_1X:
558             return SIZE_OF_PARAM(CAM_INTF_PARM_HDR_NEED_1X, metadata);
559         case CAM_INTF_PARM_LOCK_CAF:
560             return SIZE_OF_PARAM(CAM_INTF_PARM_LOCK_CAF, metadata);
561         case CAM_INTF_PARM_VIDEO_HDR:
562             return SIZE_OF_PARAM(CAM_INTF_PARM_VIDEO_HDR, metadata);
563         case CAM_INTF_PARM_VT:
564             return SIZE_OF_PARAM(CAM_INTF_PARM_VT, metadata);
565         case CAM_INTF_PARM_GET_CHROMATIX:
566             return SIZE_OF_PARAM(CAM_INTF_PARM_GET_CHROMATIX, metadata);
567         case CAM_INTF_PARM_SET_RELOAD_CHROMATIX:
568             return SIZE_OF_PARAM(CAM_INTF_PARM_SET_RELOAD_CHROMATIX, metadata);
569         case CAM_INTF_PARM_GET_AFTUNE:
570             return SIZE_OF_PARAM(CAM_INTF_PARM_GET_AFTUNE, metadata);
571         case CAM_INTF_PARM_SET_RELOAD_AFTUNE:
572             return SIZE_OF_PARAM(CAM_INTF_PARM_SET_RELOAD_AFTUNE, metadata);
573         case CAM_INTF_PARM_SET_AUTOFOCUSTUNING:
574             return SIZE_OF_PARAM(CAM_INTF_PARM_SET_AUTOFOCUSTUNING, metadata);
575         case CAM_INTF_PARM_SET_VFE_COMMAND:
576             return SIZE_OF_PARAM(CAM_INTF_PARM_SET_VFE_COMMAND, metadata);
577         case CAM_INTF_PARM_SET_PP_COMMAND:
578             return SIZE_OF_PARAM(CAM_INTF_PARM_SET_PP_COMMAND, metadata);
579         case CAM_INTF_PARM_MAX_DIMENSION:
580             return SIZE_OF_PARAM(CAM_INTF_PARM_MAX_DIMENSION, metadata);
581         case CAM_INTF_PARM_RAW_DIMENSION:
582             return SIZE_OF_PARAM(CAM_INTF_PARM_RAW_DIMENSION, metadata);
583         case CAM_INTF_PARM_TINTLESS:
584             return SIZE_OF_PARAM(CAM_INTF_PARM_TINTLESS, metadata);
585         case CAM_INTF_PARM_EZTUNE_CMD:
586             return SIZE_OF_PARAM(CAM_INTF_PARM_EZTUNE_CMD, metadata);
587         case CAM_INTF_PARM_RDI_MODE:
588             return SIZE_OF_PARAM(CAM_INTF_PARM_RDI_MODE, metadata);
589         case CAM_INTF_PARM_BURST_NUM:
590             return SIZE_OF_PARAM(CAM_INTF_PARM_BURST_NUM, metadata);
591         case CAM_INTF_PARM_RETRO_BURST_NUM:
592             return SIZE_OF_PARAM(CAM_INTF_PARM_RETRO_BURST_NUM, metadata);
593         case CAM_INTF_PARM_BURST_LED_ON_PERIOD:
594             return SIZE_OF_PARAM(CAM_INTF_PARM_BURST_LED_ON_PERIOD, metadata);
595         case CAM_INTF_META_STREAM_INFO:
596             return SIZE_OF_PARAM(CAM_INTF_META_STREAM_INFO, metadata);
597         case CAM_INTF_META_AEC_MODE:
598             return SIZE_OF_PARAM(CAM_INTF_META_AEC_MODE, metadata);
599         case CAM_INTF_META_AEC_PRECAPTURE_TRIGGER:
600             return SIZE_OF_PARAM(CAM_INTF_META_AEC_PRECAPTURE_TRIGGER, metadata);
601         case CAM_INTF_META_AF_TRIGGER:
602             return SIZE_OF_PARAM(CAM_INTF_META_AF_TRIGGER, metadata);
603         case CAM_INTF_META_CAPTURE_INTENT:
604             return SIZE_OF_PARAM(CAM_INTF_META_CAPTURE_INTENT, metadata);
605         case CAM_INTF_META_DEMOSAIC:
606             return SIZE_OF_PARAM(CAM_INTF_META_DEMOSAIC, metadata);
607         case CAM_INTF_META_SHARPNESS_STRENGTH:
608             return SIZE_OF_PARAM(CAM_INTF_META_SHARPNESS_STRENGTH, metadata);
609         case CAM_INTF_META_GEOMETRIC_MODE:
610             return SIZE_OF_PARAM(CAM_INTF_META_GEOMETRIC_MODE, metadata);
611         case CAM_INTF_META_GEOMETRIC_STRENGTH:
612             return SIZE_OF_PARAM(CAM_INTF_META_GEOMETRIC_STRENGTH, metadata);
613         case CAM_INTF_META_LENS_SHADING_MAP_MODE:
614             return SIZE_OF_PARAM(CAM_INTF_META_LENS_SHADING_MAP_MODE, metadata);
615         case CAM_INTF_META_SHADING_STRENGTH:
616             return SIZE_OF_PARAM(CAM_INTF_META_SHADING_STRENGTH, metadata);
617         case CAM_INTF_META_TONEMAP_MODE:
618             return SIZE_OF_PARAM(CAM_INTF_META_TONEMAP_MODE, metadata);
619         case CAM_INTF_META_STREAM_ID:
620             return SIZE_OF_PARAM(CAM_INTF_META_STREAM_ID, metadata);
621         case CAM_INTF_PARM_STATS_DEBUG_MASK:
622             return SIZE_OF_PARAM(CAM_INTF_PARM_STATS_DEBUG_MASK, metadata);
623         case CAM_INTF_PARM_STATS_AF_PAAF:
624             return SIZE_OF_PARAM(CAM_INTF_PARM_STATS_AF_PAAF, metadata);
625         case CAM_INTF_PARM_FOCUS_BRACKETING:
626             return SIZE_OF_PARAM(CAM_INTF_PARM_FOCUS_BRACKETING, metadata);
627         case CAM_INTF_PARM_FLASH_BRACKETING:
628             return SIZE_OF_PARAM(CAM_INTF_PARM_FLASH_BRACKETING, metadata);
629         case CAM_INTF_META_JPEG_GPS_COORDINATES:
630             return SIZE_OF_PARAM(CAM_INTF_META_JPEG_GPS_COORDINATES, metadata);
631         case CAM_INTF_META_JPEG_GPS_PROC_METHODS:
632             return SIZE_OF_PARAM(CAM_INTF_META_JPEG_GPS_PROC_METHODS, metadata);
633         case CAM_INTF_META_JPEG_GPS_TIMESTAMP:
634             return SIZE_OF_PARAM(CAM_INTF_META_JPEG_GPS_TIMESTAMP, metadata);
635         case CAM_INTF_META_JPEG_ORIENTATION:
636             return SIZE_OF_PARAM(CAM_INTF_META_JPEG_ORIENTATION, metadata);
637         case CAM_INTF_META_JPEG_QUALITY:
638             return SIZE_OF_PARAM(CAM_INTF_META_JPEG_QUALITY, metadata);
639         case CAM_INTF_META_JPEG_THUMB_QUALITY:
640             return SIZE_OF_PARAM(CAM_INTF_META_JPEG_THUMB_QUALITY, metadata);
641         case CAM_INTF_META_JPEG_THUMB_SIZE:
642             return SIZE_OF_PARAM(CAM_INTF_META_JPEG_THUMB_SIZE, metadata);
643         case CAM_INTF_META_TEST_PATTERN_DATA:
644             return SIZE_OF_PARAM(CAM_INTF_META_TEST_PATTERN_DATA, metadata);
645         case CAM_INTF_META_PROFILE_TONE_CURVE:
646             return SIZE_OF_PARAM(CAM_INTF_META_PROFILE_TONE_CURVE, metadata);
647         case CAM_INTF_META_OTP_WB_GRGB:
648             return SIZE_OF_PARAM(CAM_INTF_META_OTP_WB_GRGB, metadata);
649         case CAM_INTF_PARM_CAC:
650             return SIZE_OF_PARAM(CAM_INTF_PARM_CAC, metadata);
651         case CAM_INTF_META_NEUTRAL_COL_POINT:
652             return SIZE_OF_PARAM(CAM_INTF_META_NEUTRAL_COL_POINT, metadata);
653         case CAM_INTF_PARM_CDS_MODE:
654             return SIZE_OF_PARAM(CAM_INTF_PARM_CDS_MODE, metadata);
655         case CAM_INTF_PARM_ROTATION:
656           return SIZE_OF_PARAM(CAM_INTF_PARM_ROTATION, metadata);
657         default:
658             return 0;
659     }
660     return 0;
661 }
662