• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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@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
gst_xcam_3a_interface_get_type(void)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
gst_xcam_3a_iface_init(GstXCam3AInterface * iface)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