Home | History | Annotate | Download | only in interface
      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