blob: 78855f9621ab9822a0914e760ca8bd96b275723d [file] [log] [blame]
/*
* Copyright (C) 2010 Ole André Vadla Ravnås <oleavr@soundrop.com>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
* Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
* Boston, MA 02110-1301, USA.
*/
#ifndef __GST_CEL_API_H__
#define __GST_CEL_API_H__
#include "mtapi.h"
G_BEGIN_DECLS
typedef struct _GstCelApi GstCelApi;
typedef struct _GstCelApiClass GstCelApiClass;
enum
{
kCelError_ResourceBusy = -12780
};
struct _GstCelApi
{
GstDynApi parent;
OSStatus (* FigCreateCaptureDevicesAndStreamsForPreset)
(CFAllocatorRef allocator, CFStringRef capturePreset,
CFDictionaryRef audioOptions,
FigCaptureDeviceRef * outVideoDevice,
FigCaptureStreamRef * outVideoStream,
FigCaptureDeviceRef * outAudioDevice,
FigCaptureStreamRef * outAudioStream);
CFStringRef * kFigCaptureDeviceProperty_MultiplexStreams;
CFStringRef * kFigCapturePortType_Bottom;
CFStringRef * kFigCapturePortType_Camera;
CFStringRef * kFigCapturePortType_FrontFacingCamera;
CFStringRef * kFigCapturePortType_Top;
CFStringRef * kFigCapturePropertyValue_AFEarlyOutAllowPeakAtStart;
CFStringRef * kFigCapturePropertyValue_AFEarlyOutDecrementAmount;
CFStringRef * kFigCapturePropertyValue_AFEarlyOutEnable;
CFStringRef * kFigCapturePropertyValue_AFEarlyOutThreshold;
CFStringRef * kFigCapturePropertyValue_AFPositionCurrent;
CFStringRef * kFigCapturePropertyValue_AFPositionInfinity;
CFStringRef * kFigCapturePropertyValue_AFPositionMacro;
CFStringRef * kFigCapturePropertyValue_AFSearchPositionArray;
CFStringRef * kFigCapturePropertyValue_AGC;
CFStringRef * kFigCapturePropertyValue_CLPFControl;
CFStringRef * kFigCapturePropertyValue_ColorRangeFull;
CFStringRef * kFigCapturePropertyValue_ColorRangeSDVideo;
CFStringRef * kFigCapturePropertyValue_ModuleDate;
CFStringRef * kFigCapturePropertyValue_ModuleIntegratorInfo;
CFStringRef * kFigCapturePropertyValue_SensorID;
CFStringRef * kFigCapturePropertyValue_SigmaFilterControl;
CFStringRef * kFigCapturePropertyValue_YLPFControl;
CFStringRef * kFigCapturePropertyValue_hStart;
CFStringRef * kFigCapturePropertyValue_height;
CFStringRef * kFigCapturePropertyValue_ispDGain;
CFStringRef * kFigCapturePropertyValue_sensorDGain;
CFStringRef * kFigCapturePropertyValue_shutterSpeedDenominator;
CFStringRef * kFigCapturePropertyValue_shutterSpeedNumerator;
CFStringRef * kFigCapturePropertyValue_vStart;
CFStringRef * kFigCapturePropertyValue_weight;
CFStringRef * kFigCapturePropertyValue_width;
CFStringRef * kFigCaptureStreamPropertyValue_AEBracketedCaptureParams;
CFStringRef * kFigCaptureStreamPropertyValue_BLCCompensation;
CFStringRef * kFigCaptureStreamPropertyValue_BLCDebugMode;
CFStringRef * kFigCaptureStreamPropertyValue_BandHighFactor;
CFStringRef * kFigCaptureStreamPropertyValue_BandLowFactor;
CFStringRef * kFigCaptureStreamPropertyValue_CCMWarmUpWeight;
CFStringRef * kFigCaptureStreamPropertyValue_EdgeColorSuppressionSlope;
CFStringRef * kFigCaptureStreamPropertyValue_EdgeColorSuppressionThreshold;
CFStringRef * kFigCaptureStreamPropertyValue_EnableAESceneDynamicMetering;
CFStringRef * kFigCaptureStreamPropertyValue_EnableCCMWarmUp;
CFStringRef * kFigCaptureStreamPropertyValue_EnableHistogram1MetaData;
CFStringRef * kFigCaptureStreamPropertyValue_EnableHistogram2MetaData;
CFStringRef * kFigCaptureStreamPropertyValue_EnableHistogram3MetaData;
CFStringRef * kFigCaptureStreamPropertyValue_EnableHistogram4MetaData;
CFStringRef * kFigCaptureStreamPropertyValue_EnableHistogram;
CFStringRef * kFigCaptureStreamPropertyValue_HistogramBinMode;
CFStringRef * kFigCaptureStreamPropertyValue_HistogramDataType;
CFStringRef * kFigCaptureStreamPropertyValue_ImageCropRect;
CFStringRef * kFigCaptureStreamPropertyValue_LPExposure;
CFStringRef * kFigCaptureStreamPropertyValue_LPGain;
CFStringRef * kFigCaptureStreamPropertyValue_LowWeight;
CFStringRef * kFigCaptureStreamPropertyValue_MaxWeight;
CFStringRef * kFigCaptureStreamPropertyValue_MediumWeight;
CFStringRef * kFigCaptureStreamPropertyValue_MinWeight;
CFStringRef * kFigCaptureStreamPropertyValue_WeightDropOff;
CFStringRef * kFigCaptureStreamPropertyValue_WeightReduction;
CFStringRef * kFigCaptureStreamProperty_AEConvergenceSpeed;
CFStringRef * kFigCaptureStreamProperty_AEOutlierClipCount;
CFStringRef * kFigCaptureStreamProperty_AESceneDynamicMetering;
CFStringRef * kFigCaptureStreamProperty_AEStability;
CFStringRef * kFigCaptureStreamProperty_AEWindowManualWeightMatrix;
CFStringRef * kFigCaptureStreamProperty_AEWindowParams;
CFStringRef * kFigCaptureStreamProperty_AFEarlyOutParams;
CFStringRef * kFigCaptureStreamProperty_AFParams;
CFStringRef * kFigCaptureStreamProperty_AFSearchPositions;
CFStringRef * kFigCaptureStreamProperty_AFWindowParams;
CFStringRef * kFigCaptureStreamProperty_AGC;
CFStringRef * kFigCaptureStreamProperty_AWBWindowParams;
CFStringRef * kFigCaptureStreamProperty_AdditionalPTSOffset;
CFStringRef * kFigCaptureStreamProperty_AlternateAWB;
CFStringRef * kFigCaptureStreamProperty_Apply3AWindowSettings;
CFStringRef * kFigCaptureStreamProperty_AttachRAW;
CFStringRef * kFigCaptureStreamProperty_CCMWarmUp;
CFStringRef * kFigCaptureStreamProperty_ClientMaxBufferCountHint;
CFStringRef * kFigCaptureStreamProperty_ColorRange;
CFStringRef * kFigCaptureStreamProperty_ColorSaturation;
CFStringRef * kFigCaptureStreamProperty_ColorTables;
CFStringRef * kFigCaptureStreamProperty_EdgeColorSuppressionParams;
CFStringRef * kFigCaptureStreamProperty_ExposureBias;
CFStringRef * kFigCaptureStreamProperty_FastSwitchMode;
CFStringRef * kFigCaptureStreamProperty_FlashMode;
CFStringRef * kFigCaptureStreamProperty_HistogramParams;
CFStringRef * kFigCaptureStreamProperty_LockAENow;
CFStringRef * kFigCaptureStreamProperty_LockAWBNow;
CFStringRef * kFigCaptureStreamProperty_ManualAENow;
CFStringRef * kFigCaptureStreamProperty_ManualFocusNow;
CFStringRef * kFigCaptureStreamProperty_MaxIntegrationTime;
CFStringRef * kFigCaptureStreamProperty_ModuleInfo;
CFStringRef * kFigCaptureStreamProperty_NoiseReductionControls;
CFStringRef * kFigCaptureStreamProperty_PortType;
CFStringRef * kFigCaptureStreamProperty_PreFrameAE;
CFStringRef * kFigCaptureStreamProperty_RawImageProcessNow;
CFStringRef * kFigCaptureStreamProperty_RedEyeReductionParams;
CFStringRef * kFigCaptureStreamProperty_ResetParams;
CFStringRef * kFigCaptureStreamProperty_ScalerSharpening;
CFStringRef * kFigCaptureStreamProperty_SetGainCap;
CFStringRef * kFigCaptureStreamProperty_SharpeningControl;
CFStringRef * kFigCaptureStreamProperty_TorchLevel;
CFStringRef * kFigCaptureStreamProperty_UnlockAENow;
CFStringRef * kFigCaptureStreamProperty_UnlockAWBNow;
CFStringRef * kFigCaptureStreamProperty_UseFlashAFAssist;
CFStringRef * kFigCaptureStreamProperty_UseFlashRedEyeReduction;
CFStringRef * kFigCaptureStreamProperty_UseHardwareShutter;
CFStringRef * kFigCaptureStreamProperty_VideoRecordingInProgress;
CFStringRef * kFigRecorderCapturePreset_AudioRecording;
CFStringRef * kFigRecorderCapturePreset_AudioVideoRecording;
CFStringRef * kFigRecorderCapturePreset_PhotoCapture;
CFStringRef * kFigRecorderCapturePreset_VideoRecording;
};
struct _GstCelApiClass
{
GstDynApiClass parent_class;
};
GType gst_cel_api_get_type (void);
GstCelApi * gst_cel_api_obtain (GError ** error);
G_END_DECLS
#endif