1 /* 2 * gstxcaminterface.c - Gstreamer XCam 3A interface 3 * 4 * Copyright (c) 2014-2015 Intel Corporation 5 * 6 * Licensed under the Apache License, Version 2.0 (the "License"); 7 * you may not use this file except in compliance with the License. 8 * You may obtain a copy of the License at 9 * 10 * http://www.apache.org/licenses/LICENSE-2.0 11 * 12 * Unless required by applicable law or agreed to in writing, software 13 * distributed under the License is distributed on an "AS IS" BASIS, 14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 * See the License for the specific language governing permissions and 16 * limitations under the License. 17 * 18 * Author: Wind Yuan <feng.yuan (at) intel.com> 19 */ 20 21 #ifdef HAVE_CONFIG_H 22 #include "config.h" 23 #endif 24 #include "gstxcaminterface.h" 25 #include <string.h> 26 27 static void gst_xcam_3a_iface_init (GstXCam3AInterface *iface); 28 29 GType 30 gst_xcam_3a_interface_get_type (void) 31 { 32 static GType gst_xcam_3a_interface_type = 0; 33 34 if (!gst_xcam_3a_interface_type) { 35 static const GTypeInfo gst_xcam_3a_interface_info = { 36 sizeof (GstXCam3AInterface), 37 (GBaseInitFunc) gst_xcam_3a_iface_init, 38 NULL, 39 NULL, 40 NULL, 41 NULL, 42 0, 43 0, 44 NULL, 45 NULL 46 }; 47 48 gst_xcam_3a_interface_type = g_type_register_static (G_TYPE_INTERFACE, 49 "GsXCam3AInterface", &gst_xcam_3a_interface_info, 0); 50 } 51 return gst_xcam_3a_interface_type; 52 } 53 54 static void 55 gst_xcam_3a_iface_init (GstXCam3AInterface * iface) 56 { 57 /* default virtual functions */ 58 iface->set_white_balance_mode = NULL; 59 iface->set_awb_speed = NULL; 60 iface->set_wb_color_temperature_range = NULL; 61 iface->set_manual_wb_gain = NULL; 62 iface->set_exposure_mode = NULL; 63 iface->set_ae_metering_mode = NULL; 64 iface->set_exposure_window = NULL; 65 iface->set_exposure_value_offset = NULL; 66 iface->set_ae_speed = NULL; 67 iface->set_exposure_flicker_mode = NULL; 68 iface->get_exposure_flicker_mode = NULL; 69 iface->get_current_exposure_time = NULL; 70 iface->get_current_analog_gain = NULL; 71 iface->set_manual_exposure_time = NULL; 72 iface->set_manual_analog_gain = NULL; 73 iface->set_aperture = NULL; 74 iface->set_max_analog_gain = NULL; 75 iface->get_max_analog_gain = NULL; 76 iface->set_exposure_time_range = NULL; 77 iface->get_exposure_time_range = NULL; 78 iface->set_dvs = NULL; 79 iface->set_noise_reduction_level = NULL; 80 iface->set_temporal_noise_reduction_level = NULL; 81 iface->set_gamma_table = NULL; 82 iface->set_gbce = NULL; 83 iface->set_manual_brightness = NULL; 84 iface->set_manual_contrast = NULL; 85 iface->set_manual_hue = NULL; 86 iface->set_manual_saturation = NULL; 87 iface->set_manual_sharpness = NULL; 88 iface->set_night_mode = NULL; 89 iface->set_hdr_mode = NULL; 90 iface->set_denoise_mode = NULL; 91 iface->set_gamma_mode = NULL; 92 iface->set_dpc_mode = NULL; 93 iface->set_tonemapping_mode = NULL; 94 } 95