

/* this ALWAYS GENERATED file contains the definitions for the interfaces */


 /* File created by MIDL compiler version 7.00.0555 */
/* at Wed May 17 21:44:57 2017
 */
/* Compiler settings for AJAMultiCapture.idl:
    Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555 
    protocol : dce , ms_ext, c_ext
    error checks: allocation ref bounds_check enum stub_data 
    VC __declspec() decoration level: 
         __declspec(uuid()), __declspec(selectany), __declspec(novtable)
         DECLSPEC_UUID(), MIDL_INTERFACE()
*/
/* @@MIDL_FILE_HEADING(  ) */

#pragma warning( disable: 4049 )  /* more than 64k source lines */


/* verify that the <rpcndr.h> version is high enough to compile this file*/
#ifndef __REQUIRED_RPCNDR_H_VERSION__
#define __REQUIRED_RPCNDR_H_VERSION__ 440
#endif

#include "rpc.h"
#include "rpcndr.h"

#ifndef __RPCNDR_H_VERSION__
#error this stub requires an updated version of <rpcndr.h>
#endif // __RPCNDR_H_VERSION__

#ifndef COM_NO_WINDOWS_H
#include "windows.h"
#include "ole2.h"
#endif /*COM_NO_WINDOWS_H*/

#ifndef __AJAMultiCapture_h__
#define __AJAMultiCapture_h__

#if defined(_MSC_VER) && (_MSC_VER >= 1020)
#pragma once
#endif

/* Forward Declarations */ 

#ifndef __IAJACaptureFilter_FWD_DEFINED__
#define __IAJACaptureFilter_FWD_DEFINED__
typedef interface IAJACaptureFilter IAJACaptureFilter;
#endif 	/* __IAJACaptureFilter_FWD_DEFINED__ */


#ifndef __MultiCaptureFilter00_FWD_DEFINED__
#define __MultiCaptureFilter00_FWD_DEFINED__

#ifdef __cplusplus
typedef class MultiCaptureFilter00 MultiCaptureFilter00;
#else
typedef struct MultiCaptureFilter00 MultiCaptureFilter00;
#endif /* __cplusplus */

#endif 	/* __MultiCaptureFilter00_FWD_DEFINED__ */


#ifndef __MultiCaptureFilter01_FWD_DEFINED__
#define __MultiCaptureFilter01_FWD_DEFINED__

#ifdef __cplusplus
typedef class MultiCaptureFilter01 MultiCaptureFilter01;
#else
typedef struct MultiCaptureFilter01 MultiCaptureFilter01;
#endif /* __cplusplus */

#endif 	/* __MultiCaptureFilter01_FWD_DEFINED__ */


#ifndef __MultiCaptureFilter02_FWD_DEFINED__
#define __MultiCaptureFilter02_FWD_DEFINED__

#ifdef __cplusplus
typedef class MultiCaptureFilter02 MultiCaptureFilter02;
#else
typedef struct MultiCaptureFilter02 MultiCaptureFilter02;
#endif /* __cplusplus */

#endif 	/* __MultiCaptureFilter02_FWD_DEFINED__ */


#ifndef __MultiCaptureFilter03_FWD_DEFINED__
#define __MultiCaptureFilter03_FWD_DEFINED__

#ifdef __cplusplus
typedef class MultiCaptureFilter03 MultiCaptureFilter03;
#else
typedef struct MultiCaptureFilter03 MultiCaptureFilter03;
#endif /* __cplusplus */

#endif 	/* __MultiCaptureFilter03_FWD_DEFINED__ */


#ifndef __MultiCaptureFilter04_FWD_DEFINED__
#define __MultiCaptureFilter04_FWD_DEFINED__

#ifdef __cplusplus
typedef class MultiCaptureFilter04 MultiCaptureFilter04;
#else
typedef struct MultiCaptureFilter04 MultiCaptureFilter04;
#endif /* __cplusplus */

#endif 	/* __MultiCaptureFilter04_FWD_DEFINED__ */


#ifndef __MultiCaptureFilter05_FWD_DEFINED__
#define __MultiCaptureFilter05_FWD_DEFINED__

#ifdef __cplusplus
typedef class MultiCaptureFilter05 MultiCaptureFilter05;
#else
typedef struct MultiCaptureFilter05 MultiCaptureFilter05;
#endif /* __cplusplus */

#endif 	/* __MultiCaptureFilter05_FWD_DEFINED__ */


#ifndef __MultiCaptureFilter06_FWD_DEFINED__
#define __MultiCaptureFilter06_FWD_DEFINED__

#ifdef __cplusplus
typedef class MultiCaptureFilter06 MultiCaptureFilter06;
#else
typedef struct MultiCaptureFilter06 MultiCaptureFilter06;
#endif /* __cplusplus */

#endif 	/* __MultiCaptureFilter06_FWD_DEFINED__ */


#ifndef __MultiCaptureFilter07_FWD_DEFINED__
#define __MultiCaptureFilter07_FWD_DEFINED__

#ifdef __cplusplus
typedef class MultiCaptureFilter07 MultiCaptureFilter07;
#else
typedef struct MultiCaptureFilter07 MultiCaptureFilter07;
#endif /* __cplusplus */

#endif 	/* __MultiCaptureFilter07_FWD_DEFINED__ */


#ifndef __MultiCaptureFilter10_FWD_DEFINED__
#define __MultiCaptureFilter10_FWD_DEFINED__

#ifdef __cplusplus
typedef class MultiCaptureFilter10 MultiCaptureFilter10;
#else
typedef struct MultiCaptureFilter10 MultiCaptureFilter10;
#endif /* __cplusplus */

#endif 	/* __MultiCaptureFilter10_FWD_DEFINED__ */


#ifndef __MultiCaptureFilter11_FWD_DEFINED__
#define __MultiCaptureFilter11_FWD_DEFINED__

#ifdef __cplusplus
typedef class MultiCaptureFilter11 MultiCaptureFilter11;
#else
typedef struct MultiCaptureFilter11 MultiCaptureFilter11;
#endif /* __cplusplus */

#endif 	/* __MultiCaptureFilter11_FWD_DEFINED__ */


#ifndef __MultiCaptureFilter12_FWD_DEFINED__
#define __MultiCaptureFilter12_FWD_DEFINED__

#ifdef __cplusplus
typedef class MultiCaptureFilter12 MultiCaptureFilter12;
#else
typedef struct MultiCaptureFilter12 MultiCaptureFilter12;
#endif /* __cplusplus */

#endif 	/* __MultiCaptureFilter12_FWD_DEFINED__ */


#ifndef __MultiCaptureFilter13_FWD_DEFINED__
#define __MultiCaptureFilter13_FWD_DEFINED__

#ifdef __cplusplus
typedef class MultiCaptureFilter13 MultiCaptureFilter13;
#else
typedef struct MultiCaptureFilter13 MultiCaptureFilter13;
#endif /* __cplusplus */

#endif 	/* __MultiCaptureFilter13_FWD_DEFINED__ */


#ifndef __MultiCaptureFilter14_FWD_DEFINED__
#define __MultiCaptureFilter14_FWD_DEFINED__

#ifdef __cplusplus
typedef class MultiCaptureFilter14 MultiCaptureFilter14;
#else
typedef struct MultiCaptureFilter14 MultiCaptureFilter14;
#endif /* __cplusplus */

#endif 	/* __MultiCaptureFilter14_FWD_DEFINED__ */


#ifndef __MultiCaptureFilter15_FWD_DEFINED__
#define __MultiCaptureFilter15_FWD_DEFINED__

#ifdef __cplusplus
typedef class MultiCaptureFilter15 MultiCaptureFilter15;
#else
typedef struct MultiCaptureFilter15 MultiCaptureFilter15;
#endif /* __cplusplus */

#endif 	/* __MultiCaptureFilter15_FWD_DEFINED__ */


#ifndef __MultiCaptureFilter16_FWD_DEFINED__
#define __MultiCaptureFilter16_FWD_DEFINED__

#ifdef __cplusplus
typedef class MultiCaptureFilter16 MultiCaptureFilter16;
#else
typedef struct MultiCaptureFilter16 MultiCaptureFilter16;
#endif /* __cplusplus */

#endif 	/* __MultiCaptureFilter16_FWD_DEFINED__ */


#ifndef __MultiCaptureFilter17_FWD_DEFINED__
#define __MultiCaptureFilter17_FWD_DEFINED__

#ifdef __cplusplus
typedef class MultiCaptureFilter17 MultiCaptureFilter17;
#else
typedef struct MultiCaptureFilter17 MultiCaptureFilter17;
#endif /* __cplusplus */

#endif 	/* __MultiCaptureFilter17_FWD_DEFINED__ */


#ifndef __MultiCaptureFilter20_FWD_DEFINED__
#define __MultiCaptureFilter20_FWD_DEFINED__

#ifdef __cplusplus
typedef class MultiCaptureFilter20 MultiCaptureFilter20;
#else
typedef struct MultiCaptureFilter20 MultiCaptureFilter20;
#endif /* __cplusplus */

#endif 	/* __MultiCaptureFilter20_FWD_DEFINED__ */


#ifndef __MultiCaptureFilter21_FWD_DEFINED__
#define __MultiCaptureFilter21_FWD_DEFINED__

#ifdef __cplusplus
typedef class MultiCaptureFilter21 MultiCaptureFilter21;
#else
typedef struct MultiCaptureFilter21 MultiCaptureFilter21;
#endif /* __cplusplus */

#endif 	/* __MultiCaptureFilter21_FWD_DEFINED__ */


#ifndef __MultiCaptureFilter22_FWD_DEFINED__
#define __MultiCaptureFilter22_FWD_DEFINED__

#ifdef __cplusplus
typedef class MultiCaptureFilter22 MultiCaptureFilter22;
#else
typedef struct MultiCaptureFilter22 MultiCaptureFilter22;
#endif /* __cplusplus */

#endif 	/* __MultiCaptureFilter22_FWD_DEFINED__ */


#ifndef __MultiCaptureFilter23_FWD_DEFINED__
#define __MultiCaptureFilter23_FWD_DEFINED__

#ifdef __cplusplus
typedef class MultiCaptureFilter23 MultiCaptureFilter23;
#else
typedef struct MultiCaptureFilter23 MultiCaptureFilter23;
#endif /* __cplusplus */

#endif 	/* __MultiCaptureFilter23_FWD_DEFINED__ */


#ifndef __MultiCaptureFilter24_FWD_DEFINED__
#define __MultiCaptureFilter24_FWD_DEFINED__

#ifdef __cplusplus
typedef class MultiCaptureFilter24 MultiCaptureFilter24;
#else
typedef struct MultiCaptureFilter24 MultiCaptureFilter24;
#endif /* __cplusplus */

#endif 	/* __MultiCaptureFilter24_FWD_DEFINED__ */


#ifndef __MultiCaptureFilter25_FWD_DEFINED__
#define __MultiCaptureFilter25_FWD_DEFINED__

#ifdef __cplusplus
typedef class MultiCaptureFilter25 MultiCaptureFilter25;
#else
typedef struct MultiCaptureFilter25 MultiCaptureFilter25;
#endif /* __cplusplus */

#endif 	/* __MultiCaptureFilter25_FWD_DEFINED__ */


#ifndef __MultiCaptureFilter26_FWD_DEFINED__
#define __MultiCaptureFilter26_FWD_DEFINED__

#ifdef __cplusplus
typedef class MultiCaptureFilter26 MultiCaptureFilter26;
#else
typedef struct MultiCaptureFilter26 MultiCaptureFilter26;
#endif /* __cplusplus */

#endif 	/* __MultiCaptureFilter26_FWD_DEFINED__ */


#ifndef __MultiCaptureFilter27_FWD_DEFINED__
#define __MultiCaptureFilter27_FWD_DEFINED__

#ifdef __cplusplus
typedef class MultiCaptureFilter27 MultiCaptureFilter27;
#else
typedef struct MultiCaptureFilter27 MultiCaptureFilter27;
#endif /* __cplusplus */

#endif 	/* __MultiCaptureFilter27_FWD_DEFINED__ */


#ifndef __MultiCaptureFilter30_FWD_DEFINED__
#define __MultiCaptureFilter30_FWD_DEFINED__

#ifdef __cplusplus
typedef class MultiCaptureFilter30 MultiCaptureFilter30;
#else
typedef struct MultiCaptureFilter30 MultiCaptureFilter30;
#endif /* __cplusplus */

#endif 	/* __MultiCaptureFilter30_FWD_DEFINED__ */


#ifndef __MultiCaptureFilter31_FWD_DEFINED__
#define __MultiCaptureFilter31_FWD_DEFINED__

#ifdef __cplusplus
typedef class MultiCaptureFilter31 MultiCaptureFilter31;
#else
typedef struct MultiCaptureFilter31 MultiCaptureFilter31;
#endif /* __cplusplus */

#endif 	/* __MultiCaptureFilter31_FWD_DEFINED__ */


#ifndef __MultiCaptureFilter32_FWD_DEFINED__
#define __MultiCaptureFilter32_FWD_DEFINED__

#ifdef __cplusplus
typedef class MultiCaptureFilter32 MultiCaptureFilter32;
#else
typedef struct MultiCaptureFilter32 MultiCaptureFilter32;
#endif /* __cplusplus */

#endif 	/* __MultiCaptureFilter32_FWD_DEFINED__ */


#ifndef __MultiCaptureFilter33_FWD_DEFINED__
#define __MultiCaptureFilter33_FWD_DEFINED__

#ifdef __cplusplus
typedef class MultiCaptureFilter33 MultiCaptureFilter33;
#else
typedef struct MultiCaptureFilter33 MultiCaptureFilter33;
#endif /* __cplusplus */

#endif 	/* __MultiCaptureFilter33_FWD_DEFINED__ */


#ifndef __MultiCaptureFilter34_FWD_DEFINED__
#define __MultiCaptureFilter34_FWD_DEFINED__

#ifdef __cplusplus
typedef class MultiCaptureFilter34 MultiCaptureFilter34;
#else
typedef struct MultiCaptureFilter34 MultiCaptureFilter34;
#endif /* __cplusplus */

#endif 	/* __MultiCaptureFilter34_FWD_DEFINED__ */


#ifndef __MultiCaptureFilter35_FWD_DEFINED__
#define __MultiCaptureFilter35_FWD_DEFINED__

#ifdef __cplusplus
typedef class MultiCaptureFilter35 MultiCaptureFilter35;
#else
typedef struct MultiCaptureFilter35 MultiCaptureFilter35;
#endif /* __cplusplus */

#endif 	/* __MultiCaptureFilter35_FWD_DEFINED__ */


#ifndef __MultiCaptureFilter36_FWD_DEFINED__
#define __MultiCaptureFilter36_FWD_DEFINED__

#ifdef __cplusplus
typedef class MultiCaptureFilter36 MultiCaptureFilter36;
#else
typedef struct MultiCaptureFilter36 MultiCaptureFilter36;
#endif /* __cplusplus */

#endif 	/* __MultiCaptureFilter36_FWD_DEFINED__ */


#ifndef __MultiCaptureFilter37_FWD_DEFINED__
#define __MultiCaptureFilter37_FWD_DEFINED__

#ifdef __cplusplus
typedef class MultiCaptureFilter37 MultiCaptureFilter37;
#else
typedef struct MultiCaptureFilter37 MultiCaptureFilter37;
#endif /* __cplusplus */

#endif 	/* __MultiCaptureFilter37_FWD_DEFINED__ */


#ifndef __MultiCaptureFilter40_FWD_DEFINED__
#define __MultiCaptureFilter40_FWD_DEFINED__

#ifdef __cplusplus
typedef class MultiCaptureFilter40 MultiCaptureFilter40;
#else
typedef struct MultiCaptureFilter40 MultiCaptureFilter40;
#endif /* __cplusplus */

#endif 	/* __MultiCaptureFilter40_FWD_DEFINED__ */


#ifndef __MultiCaptureFilter41_FWD_DEFINED__
#define __MultiCaptureFilter41_FWD_DEFINED__

#ifdef __cplusplus
typedef class MultiCaptureFilter41 MultiCaptureFilter41;
#else
typedef struct MultiCaptureFilter41 MultiCaptureFilter41;
#endif /* __cplusplus */

#endif 	/* __MultiCaptureFilter41_FWD_DEFINED__ */


#ifndef __MultiCaptureFilter42_FWD_DEFINED__
#define __MultiCaptureFilter42_FWD_DEFINED__

#ifdef __cplusplus
typedef class MultiCaptureFilter42 MultiCaptureFilter42;
#else
typedef struct MultiCaptureFilter42 MultiCaptureFilter42;
#endif /* __cplusplus */

#endif 	/* __MultiCaptureFilter42_FWD_DEFINED__ */


#ifndef __MultiCaptureFilter43_FWD_DEFINED__
#define __MultiCaptureFilter43_FWD_DEFINED__

#ifdef __cplusplus
typedef class MultiCaptureFilter43 MultiCaptureFilter43;
#else
typedef struct MultiCaptureFilter43 MultiCaptureFilter43;
#endif /* __cplusplus */

#endif 	/* __MultiCaptureFilter43_FWD_DEFINED__ */


#ifndef __MultiCaptureFilter44_FWD_DEFINED__
#define __MultiCaptureFilter44_FWD_DEFINED__

#ifdef __cplusplus
typedef class MultiCaptureFilter44 MultiCaptureFilter44;
#else
typedef struct MultiCaptureFilter44 MultiCaptureFilter44;
#endif /* __cplusplus */

#endif 	/* __MultiCaptureFilter44_FWD_DEFINED__ */


#ifndef __MultiCaptureFilter45_FWD_DEFINED__
#define __MultiCaptureFilter45_FWD_DEFINED__

#ifdef __cplusplus
typedef class MultiCaptureFilter45 MultiCaptureFilter45;
#else
typedef struct MultiCaptureFilter45 MultiCaptureFilter45;
#endif /* __cplusplus */

#endif 	/* __MultiCaptureFilter45_FWD_DEFINED__ */


#ifndef __MultiCaptureFilter46_FWD_DEFINED__
#define __MultiCaptureFilter46_FWD_DEFINED__

#ifdef __cplusplus
typedef class MultiCaptureFilter46 MultiCaptureFilter46;
#else
typedef struct MultiCaptureFilter46 MultiCaptureFilter46;
#endif /* __cplusplus */

#endif 	/* __MultiCaptureFilter46_FWD_DEFINED__ */


#ifndef __MultiCaptureFilter47_FWD_DEFINED__
#define __MultiCaptureFilter47_FWD_DEFINED__

#ifdef __cplusplus
typedef class MultiCaptureFilter47 MultiCaptureFilter47;
#else
typedef struct MultiCaptureFilter47 MultiCaptureFilter47;
#endif /* __cplusplus */

#endif 	/* __MultiCaptureFilter47_FWD_DEFINED__ */


#ifndef __MultiCaptureFilter50_FWD_DEFINED__
#define __MultiCaptureFilter50_FWD_DEFINED__

#ifdef __cplusplus
typedef class MultiCaptureFilter50 MultiCaptureFilter50;
#else
typedef struct MultiCaptureFilter50 MultiCaptureFilter50;
#endif /* __cplusplus */

#endif 	/* __MultiCaptureFilter50_FWD_DEFINED__ */


#ifndef __MultiCaptureFilter51_FWD_DEFINED__
#define __MultiCaptureFilter51_FWD_DEFINED__

#ifdef __cplusplus
typedef class MultiCaptureFilter51 MultiCaptureFilter51;
#else
typedef struct MultiCaptureFilter51 MultiCaptureFilter51;
#endif /* __cplusplus */

#endif 	/* __MultiCaptureFilter51_FWD_DEFINED__ */


#ifndef __MultiCaptureFilter52_FWD_DEFINED__
#define __MultiCaptureFilter52_FWD_DEFINED__

#ifdef __cplusplus
typedef class MultiCaptureFilter52 MultiCaptureFilter52;
#else
typedef struct MultiCaptureFilter52 MultiCaptureFilter52;
#endif /* __cplusplus */

#endif 	/* __MultiCaptureFilter52_FWD_DEFINED__ */


#ifndef __MultiCaptureFilter53_FWD_DEFINED__
#define __MultiCaptureFilter53_FWD_DEFINED__

#ifdef __cplusplus
typedef class MultiCaptureFilter53 MultiCaptureFilter53;
#else
typedef struct MultiCaptureFilter53 MultiCaptureFilter53;
#endif /* __cplusplus */

#endif 	/* __MultiCaptureFilter53_FWD_DEFINED__ */


#ifndef __MultiCaptureFilter54_FWD_DEFINED__
#define __MultiCaptureFilter54_FWD_DEFINED__

#ifdef __cplusplus
typedef class MultiCaptureFilter54 MultiCaptureFilter54;
#else
typedef struct MultiCaptureFilter54 MultiCaptureFilter54;
#endif /* __cplusplus */

#endif 	/* __MultiCaptureFilter54_FWD_DEFINED__ */


#ifndef __MultiCaptureFilter55_FWD_DEFINED__
#define __MultiCaptureFilter55_FWD_DEFINED__

#ifdef __cplusplus
typedef class MultiCaptureFilter55 MultiCaptureFilter55;
#else
typedef struct MultiCaptureFilter55 MultiCaptureFilter55;
#endif /* __cplusplus */

#endif 	/* __MultiCaptureFilter55_FWD_DEFINED__ */


#ifndef __MultiCaptureFilter56_FWD_DEFINED__
#define __MultiCaptureFilter56_FWD_DEFINED__

#ifdef __cplusplus
typedef class MultiCaptureFilter56 MultiCaptureFilter56;
#else
typedef struct MultiCaptureFilter56 MultiCaptureFilter56;
#endif /* __cplusplus */

#endif 	/* __MultiCaptureFilter56_FWD_DEFINED__ */


#ifndef __MultiCaptureFilter57_FWD_DEFINED__
#define __MultiCaptureFilter57_FWD_DEFINED__

#ifdef __cplusplus
typedef class MultiCaptureFilter57 MultiCaptureFilter57;
#else
typedef struct MultiCaptureFilter57 MultiCaptureFilter57;
#endif /* __cplusplus */

#endif 	/* __MultiCaptureFilter57_FWD_DEFINED__ */


#ifndef __MultiCaptureFilter60_FWD_DEFINED__
#define __MultiCaptureFilter60_FWD_DEFINED__

#ifdef __cplusplus
typedef class MultiCaptureFilter60 MultiCaptureFilter60;
#else
typedef struct MultiCaptureFilter60 MultiCaptureFilter60;
#endif /* __cplusplus */

#endif 	/* __MultiCaptureFilter60_FWD_DEFINED__ */


#ifndef __MultiCaptureFilter61_FWD_DEFINED__
#define __MultiCaptureFilter61_FWD_DEFINED__

#ifdef __cplusplus
typedef class MultiCaptureFilter61 MultiCaptureFilter61;
#else
typedef struct MultiCaptureFilter61 MultiCaptureFilter61;
#endif /* __cplusplus */

#endif 	/* __MultiCaptureFilter61_FWD_DEFINED__ */


#ifndef __MultiCaptureFilter62_FWD_DEFINED__
#define __MultiCaptureFilter62_FWD_DEFINED__

#ifdef __cplusplus
typedef class MultiCaptureFilter62 MultiCaptureFilter62;
#else
typedef struct MultiCaptureFilter62 MultiCaptureFilter62;
#endif /* __cplusplus */

#endif 	/* __MultiCaptureFilter62_FWD_DEFINED__ */


#ifndef __MultiCaptureFilter63_FWD_DEFINED__
#define __MultiCaptureFilter63_FWD_DEFINED__

#ifdef __cplusplus
typedef class MultiCaptureFilter63 MultiCaptureFilter63;
#else
typedef struct MultiCaptureFilter63 MultiCaptureFilter63;
#endif /* __cplusplus */

#endif 	/* __MultiCaptureFilter63_FWD_DEFINED__ */


#ifndef __MultiCaptureFilter64_FWD_DEFINED__
#define __MultiCaptureFilter64_FWD_DEFINED__

#ifdef __cplusplus
typedef class MultiCaptureFilter64 MultiCaptureFilter64;
#else
typedef struct MultiCaptureFilter64 MultiCaptureFilter64;
#endif /* __cplusplus */

#endif 	/* __MultiCaptureFilter64_FWD_DEFINED__ */


#ifndef __MultiCaptureFilter65_FWD_DEFINED__
#define __MultiCaptureFilter65_FWD_DEFINED__

#ifdef __cplusplus
typedef class MultiCaptureFilter65 MultiCaptureFilter65;
#else
typedef struct MultiCaptureFilter65 MultiCaptureFilter65;
#endif /* __cplusplus */

#endif 	/* __MultiCaptureFilter65_FWD_DEFINED__ */


#ifndef __MultiCaptureFilter66_FWD_DEFINED__
#define __MultiCaptureFilter66_FWD_DEFINED__

#ifdef __cplusplus
typedef class MultiCaptureFilter66 MultiCaptureFilter66;
#else
typedef struct MultiCaptureFilter66 MultiCaptureFilter66;
#endif /* __cplusplus */

#endif 	/* __MultiCaptureFilter66_FWD_DEFINED__ */


#ifndef __MultiCaptureFilter67_FWD_DEFINED__
#define __MultiCaptureFilter67_FWD_DEFINED__

#ifdef __cplusplus
typedef class MultiCaptureFilter67 MultiCaptureFilter67;
#else
typedef struct MultiCaptureFilter67 MultiCaptureFilter67;
#endif /* __cplusplus */

#endif 	/* __MultiCaptureFilter67_FWD_DEFINED__ */


#ifndef __MultiCaptureFilter70_FWD_DEFINED__
#define __MultiCaptureFilter70_FWD_DEFINED__

#ifdef __cplusplus
typedef class MultiCaptureFilter70 MultiCaptureFilter70;
#else
typedef struct MultiCaptureFilter70 MultiCaptureFilter70;
#endif /* __cplusplus */

#endif 	/* __MultiCaptureFilter70_FWD_DEFINED__ */


#ifndef __MultiCaptureFilter71_FWD_DEFINED__
#define __MultiCaptureFilter71_FWD_DEFINED__

#ifdef __cplusplus
typedef class MultiCaptureFilter71 MultiCaptureFilter71;
#else
typedef struct MultiCaptureFilter71 MultiCaptureFilter71;
#endif /* __cplusplus */

#endif 	/* __MultiCaptureFilter71_FWD_DEFINED__ */


#ifndef __MultiCaptureFilter72_FWD_DEFINED__
#define __MultiCaptureFilter72_FWD_DEFINED__

#ifdef __cplusplus
typedef class MultiCaptureFilter72 MultiCaptureFilter72;
#else
typedef struct MultiCaptureFilter72 MultiCaptureFilter72;
#endif /* __cplusplus */

#endif 	/* __MultiCaptureFilter72_FWD_DEFINED__ */


#ifndef __MultiCaptureFilter73_FWD_DEFINED__
#define __MultiCaptureFilter73_FWD_DEFINED__

#ifdef __cplusplus
typedef class MultiCaptureFilter73 MultiCaptureFilter73;
#else
typedef struct MultiCaptureFilter73 MultiCaptureFilter73;
#endif /* __cplusplus */

#endif 	/* __MultiCaptureFilter73_FWD_DEFINED__ */


#ifndef __MultiCaptureFilter74_FWD_DEFINED__
#define __MultiCaptureFilter74_FWD_DEFINED__

#ifdef __cplusplus
typedef class MultiCaptureFilter74 MultiCaptureFilter74;
#else
typedef struct MultiCaptureFilter74 MultiCaptureFilter74;
#endif /* __cplusplus */

#endif 	/* __MultiCaptureFilter74_FWD_DEFINED__ */


#ifndef __MultiCaptureFilter75_FWD_DEFINED__
#define __MultiCaptureFilter75_FWD_DEFINED__

#ifdef __cplusplus
typedef class MultiCaptureFilter75 MultiCaptureFilter75;
#else
typedef struct MultiCaptureFilter75 MultiCaptureFilter75;
#endif /* __cplusplus */

#endif 	/* __MultiCaptureFilter75_FWD_DEFINED__ */


#ifndef __MultiCaptureFilter76_FWD_DEFINED__
#define __MultiCaptureFilter76_FWD_DEFINED__

#ifdef __cplusplus
typedef class MultiCaptureFilter76 MultiCaptureFilter76;
#else
typedef struct MultiCaptureFilter76 MultiCaptureFilter76;
#endif /* __cplusplus */

#endif 	/* __MultiCaptureFilter76_FWD_DEFINED__ */


#ifndef __MultiCaptureFilter77_FWD_DEFINED__
#define __MultiCaptureFilter77_FWD_DEFINED__

#ifdef __cplusplus
typedef class MultiCaptureFilter77 MultiCaptureFilter77;
#else
typedef struct MultiCaptureFilter77 MultiCaptureFilter77;
#endif /* __cplusplus */

#endif 	/* __MultiCaptureFilter77_FWD_DEFINED__ */


#ifndef __PropPageSettings_FWD_DEFINED__
#define __PropPageSettings_FWD_DEFINED__

#ifdef __cplusplus
typedef class PropPageSettings PropPageSettings;
#else
typedef struct PropPageSettings PropPageSettings;
#endif /* __cplusplus */

#endif 	/* __PropPageSettings_FWD_DEFINED__ */


#ifndef __StatisticPPMulti_FWD_DEFINED__
#define __StatisticPPMulti_FWD_DEFINED__

#ifdef __cplusplus
typedef class StatisticPPMulti StatisticPPMulti;
#else
typedef struct StatisticPPMulti StatisticPPMulti;
#endif /* __cplusplus */

#endif 	/* __StatisticPPMulti_FWD_DEFINED__ */


/* header files for imported files */
#include "oaidl.h"
#include "ocidl.h"

#ifdef __cplusplus
extern "C"{
#endif 


/* interface __MIDL_itf_AJAMultiCapture_0000_0000 */
/* [local] */ 

#ifndef __AJADSENUMS_H_
#define __AJADSENUMS_H_
typedef 
enum tagAJADSDeviceID
    {	DS_ID_CORVID1	= 0x10244800,
	DS_ID_CORVID22	= 0x10293000,
	DS_ID_CORVID24	= 0x10402100,
	DS_ID_CORVID3G	= 0x10294900,
	DS_ID_CORVID44	= 0x10565400,
	DS_ID_CORVID88	= 0x10538200,
	DS_ID_IO4K	= 0x10478300,
	DS_ID_IO4KUFC	= 0x10478350,
	DS_ID_IOEXPRESS	= 0x10280300,
	DS_ID_IOXT	= 0x10378800,
	DS_ID_KONA3G	= 0x10294700,
	DS_ID_KONA3GQUAD	= 0x10322950,
	DS_ID_KONA4	= 0x10518400,
	DS_ID_KONA4UFC	= 0x10518450,
	DS_ID_LHE_PLUS	= 0x10352300,
	DS_ID_LHI	= 0x10266400,
	DS_ID_TTAP	= 0x10416000,
	DS_ID_NOTFOUND	= -1
    } 	AJADSDeviceID;

// Formats prefixed with DUAL_ are dual-link and are not used in DirectShow filters
typedef 
enum tagAJADSVideoFormat
    {	DS_FORMAT_UNKNOWN	= 0,
	DS_FORMAT_FIRST_HIGH_DEF_FORMAT	= ( DS_FORMAT_UNKNOWN + 1 ) ,
	DS_FORMAT_1080i_5000	= DS_FORMAT_FIRST_HIGH_DEF_FORMAT,
	DS_FORMAT_1080psf_2500	= DS_FORMAT_1080i_5000,
	DS_FORMAT_1080i_5994	= ( DS_FORMAT_1080psf_2500 + 1 ) ,
	DS_FORMAT_1080psf_2997	= DS_FORMAT_1080i_5994,
	DS_FORMAT_1080i_6000	= ( DS_FORMAT_1080psf_2997 + 1 ) ,
	DS_FORMAT_1080psf_3000	= DS_FORMAT_1080i_6000,
	DS_FORMAT_720p_5994	= ( DS_FORMAT_1080psf_3000 + 1 ) ,
	DS_FORMAT_720p_6000	= ( DS_FORMAT_720p_5994 + 1 ) ,
	DS_FORMAT_1080psf_2398	= ( DS_FORMAT_720p_6000 + 1 ) ,
	DS_FORMAT_1080psf_2400	= ( DS_FORMAT_1080psf_2398 + 1 ) ,
	DS_FORMAT_1080p_2997	= ( DS_FORMAT_1080psf_2400 + 1 ) ,
	DS_FORMAT_1080p_3000	= ( DS_FORMAT_1080p_2997 + 1 ) ,
	DS_FORMAT_1080p_2500	= ( DS_FORMAT_1080p_3000 + 1 ) ,
	DS_FORMAT_1080p_2398	= ( DS_FORMAT_1080p_2500 + 1 ) ,
	DS_FORMAT_1080p_2400	= ( DS_FORMAT_1080p_2398 + 1 ) ,
	DS_FORMAT_1080p_2K_2398	= ( DS_FORMAT_1080p_2400 + 1 ) ,
	DS_FORMAT_1080p_2K_2400	= ( DS_FORMAT_1080p_2K_2398 + 1 ) ,
	DS_FORMAT_1080psf_2K_2398	= ( DS_FORMAT_1080p_2K_2400 + 1 ) ,
	DS_FORMAT_1080psf_2K_2400	= ( DS_FORMAT_1080psf_2K_2398 + 1 ) ,
	DS_FORMAT_720p_5000	= ( DS_FORMAT_1080psf_2K_2400 + 1 ) ,
	DUAL_FORMAT_1080p_5000	= ( DS_FORMAT_720p_5000 + 1 ) ,
	DUAL_FORMAT_1080p_5000_B	= DUAL_FORMAT_1080p_5000,
	DUAL_FORMAT_1080p_5994	= ( DUAL_FORMAT_1080p_5000_B + 1 ) ,
	DUAL_FORMAT_1080p_5994_B	= DUAL_FORMAT_1080p_5994,
	DUAL_FORMAT_1080p_6000	= ( DUAL_FORMAT_1080p_5994_B + 1 ) ,
	DUAL_FORMAT_1080p_6000_B	= DUAL_FORMAT_1080p_6000,
	DS_FORMAT_720p_2398	= ( DUAL_FORMAT_1080p_6000_B + 1 ) ,
	DS_FORMAT_720p_2500	= ( DS_FORMAT_720p_2398 + 1 ) ,
	DS_FORMAT_1080p_5000_A	= ( DS_FORMAT_720p_2500 + 1 ) ,
	DS_FORMAT_1080p_5994_A	= ( DS_FORMAT_1080p_5000_A + 1 ) ,
	DS_FORMAT_1080p_6000_A	= ( DS_FORMAT_1080p_5994_A + 1 ) ,
	DS_FORMAT_1080p_2K_2500	= ( DS_FORMAT_1080p_6000_A + 1 ) ,
	DS_FORMAT_1080psf_2K_2500	= ( DS_FORMAT_1080p_2K_2500 + 1 ) ,
	DS_FORMAT_1080psf_2500_2	= ( DS_FORMAT_1080psf_2K_2500 + 1 ) ,
	DS_FORMAT_1080psf_2997_2	= ( DS_FORMAT_1080psf_2500_2 + 1 ) ,
	DS_FORMAT_1080psf_3000_2	= ( DS_FORMAT_1080psf_2997_2 + 1 ) ,
	DS_FORMAT_END_HIGH_DEF_FORMATS	= ( DS_FORMAT_1080psf_3000_2 + 1 ) ,
	DS_FORMAT_FIRST_STANDARD_DEF_FORMAT	= 32,
	DS_FORMAT_525_5994	= DS_FORMAT_FIRST_STANDARD_DEF_FORMAT,
	DS_FORMAT_625_5000	= ( DS_FORMAT_525_5994 + 1 ) ,
	DS_FORMAT_525_2398	= ( DS_FORMAT_625_5000 + 1 ) ,
	DS_FORMAT_525_2400	= ( DS_FORMAT_525_2398 + 1 ) ,
	DS_FORMAT_525psf_2997	= ( DS_FORMAT_525_2400 + 1 ) ,
	DS_FORMAT_625psf_2500	= ( DS_FORMAT_525psf_2997 + 1 ) ,
	DS_FORMAT_END_STANDARD_DEF_FORMATS	= ( DS_FORMAT_625psf_2500 + 1 ) ,
	DS_FORMAT_FIRST_2K_DEF_FORMAT	= 64,
	DS_FORMAT_2K_1498	= DS_FORMAT_FIRST_2K_DEF_FORMAT,
	DS_FORMAT_2K_1500	= ( DS_FORMAT_2K_1498 + 1 ) ,
	DS_FORMAT_2K_2398	= ( DS_FORMAT_2K_1500 + 1 ) ,
	DS_FORMAT_2K_2400	= ( DS_FORMAT_2K_2398 + 1 ) ,
	DS_FORMAT_2K_2500	= ( DS_FORMAT_2K_2400 + 1 ) ,
	DS_FORMAT_END_2K_DEF_FORMATS	= ( DS_FORMAT_2K_2500 + 1 ) ,
	DS_FORMAT_FIRST_4K_DEF_FORMAT	= 80,
	DS_FORMAT_4x1920x1080psf_2398	= DS_FORMAT_FIRST_4K_DEF_FORMAT,
	DS_FORMAT_4x1920x1080psf_2400	= ( DS_FORMAT_4x1920x1080psf_2398 + 1 ) ,
	DS_FORMAT_4x1920x1080psf_2500	= ( DS_FORMAT_4x1920x1080psf_2400 + 1 ) ,
	DS_FORMAT_4x1920x1080p_2398	= ( DS_FORMAT_4x1920x1080psf_2500 + 1 ) ,
	DS_FORMAT_4x1920x1080p_2400	= ( DS_FORMAT_4x1920x1080p_2398 + 1 ) ,
	DS_FORMAT_4x1920x1080p_2500	= ( DS_FORMAT_4x1920x1080p_2400 + 1 ) ,
	DS_FORMAT_4x2048x1080psf_2398	= ( DS_FORMAT_4x1920x1080p_2500 + 1 ) ,
	DS_FORMAT_4x2048x1080psf_2400	= ( DS_FORMAT_4x2048x1080psf_2398 + 1 ) ,
	DS_FORMAT_4x2048x1080psf_2500	= ( DS_FORMAT_4x2048x1080psf_2400 + 1 ) ,
	DS_FORMAT_4x2048x1080p_2398	= ( DS_FORMAT_4x2048x1080psf_2500 + 1 ) ,
	DS_FORMAT_4x2048x1080p_2400	= ( DS_FORMAT_4x2048x1080p_2398 + 1 ) ,
	DS_FORMAT_4x2048x1080p_2500	= ( DS_FORMAT_4x2048x1080p_2400 + 1 ) ,
	DS_FORMAT_4x1920x1080p_2997	= ( DS_FORMAT_4x2048x1080p_2500 + 1 ) ,
	DS_FORMAT_4x1920x1080p_3000	= ( DS_FORMAT_4x1920x1080p_2997 + 1 ) ,
	DS_FORMAT_4x1920x1080psf_2997	= ( DS_FORMAT_4x1920x1080p_3000 + 1 ) ,
	DS_FORMAT_4x1920x1080psf_3000	= ( DS_FORMAT_4x1920x1080psf_2997 + 1 ) ,
	DS_FORMAT_4x2048x1080p_2997	= ( DS_FORMAT_4x1920x1080psf_3000 + 1 ) ,
	DS_FORMAT_4x2048x1080p_3000	= ( DS_FORMAT_4x2048x1080p_2997 + 1 ) ,
	DS_FORMAT_4x2048x1080psf_2997	= ( DS_FORMAT_4x2048x1080p_3000 + 1 ) ,
	DS_FORMAT_4x2048x1080psf_3000	= ( DS_FORMAT_4x2048x1080psf_2997 + 1 ) ,
	DS_FORMAT_4x1920x1080p_5000	= ( DS_FORMAT_4x2048x1080psf_3000 + 1 ) ,
	DS_FORMAT_4x1920x1080p_5994	= ( DS_FORMAT_4x1920x1080p_5000 + 1 ) ,
	DS_FORMAT_4x1920x1080p_6000	= ( DS_FORMAT_4x1920x1080p_5994 + 1 ) ,
	DS_FORMAT_4x2048x1080p_5000	= ( DS_FORMAT_4x1920x1080p_6000 + 1 ) ,
	DS_FORMAT_4x2048x1080p_5994	= ( DS_FORMAT_4x2048x1080p_5000 + 1 ) ,
	DS_FORMAT_4x2048x1080p_6000	= ( DS_FORMAT_4x2048x1080p_5994 + 1 ) ,
	DS_FORMAT_4x2048x1080p_4795	= ( DS_FORMAT_4x2048x1080p_6000 + 1 ) ,
	DS_FORMAT_4x2048x1080p_4800	= ( DS_FORMAT_4x2048x1080p_4795 + 1 ) ,
	DS_FORMAT_4x2048x1080p_11988	= ( DS_FORMAT_4x2048x1080p_4800 + 1 ) ,
	DS_FORMAT_4x2048x1080p_12000	= ( DS_FORMAT_4x2048x1080p_11988 + 1 ) ,
	DS_FORMAT_END_4K_DEF_FORMATS	= ( DS_FORMAT_4x2048x1080p_12000 + 1 ) ,
	DS_FORMAT_FIRST_HIGH_DEF_FORMAT2	= 110,
	DS_FORMAT_1080p_2K_6000	= DS_FORMAT_FIRST_HIGH_DEF_FORMAT2,
	DS_FORMAT_1080p_2K_6000_A	= DS_FORMAT_1080p_2K_6000,
	DS_FORMAT_1080p_2K_5994	= ( DS_FORMAT_1080p_2K_6000_A + 1 ) ,
	DS_FORMAT_1080p_2K_5994_A	= DS_FORMAT_1080p_2K_5994,
	DS_FORMAT_1080p_2K_2997	= ( DS_FORMAT_1080p_2K_5994_A + 1 ) ,
	DS_FORMAT_1080p_2K_3000	= ( DS_FORMAT_1080p_2K_2997 + 1 ) ,
	DS_FORMAT_1080p_2K_5000	= ( DS_FORMAT_1080p_2K_3000 + 1 ) ,
	DS_FORMAT_1080p_2K_5000_A	= DS_FORMAT_1080p_2K_5000,
	DS_FORMAT_1080p_2K_4795	= ( DS_FORMAT_1080p_2K_5000_A + 1 ) ,
	DS_FORMAT_1080p_2K_4795_A	= DS_FORMAT_1080p_2K_4795,
	DS_FORMAT_1080p_2K_4800	= ( DS_FORMAT_1080p_2K_4795_A + 1 ) ,
	DS_FORMAT_1080p_2K_4800_A	= DS_FORMAT_1080p_2K_4800,
	DUAL_FORMAT_1080p_2K_4795_B	= ( DS_FORMAT_1080p_2K_4800_A + 1 ) ,
	DUAL_FORMAT_1080p_2K_4800_B	= ( DUAL_FORMAT_1080p_2K_4795_B + 1 ) ,
	DUAL_FORMAT_1080p_2K_5000_B	= ( DUAL_FORMAT_1080p_2K_4800_B + 1 ) ,
	DUAL_FORMAT_1080p_2K_5994_B	= ( DUAL_FORMAT_1080p_2K_5000_B + 1 ) ,
	DUAL_FORMAT_1080p_2K_6000_B	= ( DUAL_FORMAT_1080p_2K_5994_B + 1 ) ,
	DS_FORMAT_END_HIGH_DEF_FORMATS2	= ( DUAL_FORMAT_1080p_2K_6000_B + 1 ) ,
	DS_MAX_NUM_VIDEO_FORMATS	= DS_FORMAT_END_HIGH_DEF_FORMATS2
    } 	AJADSVideoFormat;

typedef 
enum tagAJADSInputSource
    {	DS_INPUTSOURCE_ANALOG	= 0,
	DS_INPUTSOURCE_HDMI	= ( DS_INPUTSOURCE_ANALOG + 1 ) ,
	DS_INPUTSOURCE_SDI1	= ( DS_INPUTSOURCE_HDMI + 1 ) ,
	DS_INPUTSOURCE_SDI2	= ( DS_INPUTSOURCE_SDI1 + 1 ) ,
	DS_INPUTSOURCE_SDI3	= ( DS_INPUTSOURCE_SDI2 + 1 ) ,
	DS_INPUTSOURCE_SDI4	= ( DS_INPUTSOURCE_SDI3 + 1 ) ,
	DS_INPUTSOURCE_SDI5	= ( DS_INPUTSOURCE_SDI4 + 1 ) ,
	DS_INPUTSOURCE_SDI6	= ( DS_INPUTSOURCE_SDI5 + 1 ) ,
	DS_INPUTSOURCE_SDI7	= ( DS_INPUTSOURCE_SDI6 + 1 ) ,
	DS_INPUTSOURCE_SDI8	= ( DS_INPUTSOURCE_SDI7 + 1 ) ,
	DS_INPUTSOURCE_INVALID	= ( DS_INPUTSOURCE_SDI8 + 1 ) ,
	DS_NUM_INPUTSOURCES	= DS_INPUTSOURCE_INVALID
    } 	AJADSInputSource;

typedef 
enum tagAJADSOutputDestination
    {	DS_OUTPUTDESTINATION_ANALOG	= 0,
	DS_OUTPUTDESTINATION_HDMI	= ( DS_OUTPUTDESTINATION_ANALOG + 1 ) ,
	DS_OUTPUTDESTINATION_SDI1	= ( DS_OUTPUTDESTINATION_HDMI + 1 ) ,
	DS_OUTPUTDESTINATION_SDI2	= ( DS_OUTPUTDESTINATION_SDI1 + 1 ) ,
	DS_OUTPUTDESTINATION_SDI3	= ( DS_OUTPUTDESTINATION_SDI2 + 1 ) ,
	DS_OUTPUTDESTINATION_SDI4	= ( DS_OUTPUTDESTINATION_SDI3 + 1 ) ,
	DS_OUTPUTDESTINATION_SDI5	= ( DS_OUTPUTDESTINATION_SDI4 + 1 ) ,
	DS_OUTPUTDESTINATION_SDI6	= ( DS_OUTPUTDESTINATION_SDI5 + 1 ) ,
	DS_OUTPUTDESTINATION_SDI7	= ( DS_OUTPUTDESTINATION_SDI6 + 1 ) ,
	DS_OUTPUTDESTINATION_SDI8	= ( DS_OUTPUTDESTINATION_SDI7 + 1 ) ,
	DS_OUTPUTDESTINATION_INVALID	= ( DS_OUTPUTDESTINATION_SDI8 + 1 ) ,
	DS_NUM_OUTPUTDESTINATIONS	= DS_OUTPUTDESTINATION_INVALID
    } 	AJADSOutputDestination;

typedef 
enum tagAJADSReferenceSource
    {	DS_REFERENCE_EXTERNAL	= 0,
	DS_REFERENCE_INPUT1	= ( DS_REFERENCE_EXTERNAL + 1 ) ,
	DS_REFERENCE_INPUT2	= ( DS_REFERENCE_INPUT1 + 1 ) ,
	DS_REFERENCE_FREERUN	= ( DS_REFERENCE_INPUT2 + 1 ) ,
	DS_REFERENCE_ANALOG_INPUT	= ( DS_REFERENCE_FREERUN + 1 ) ,
	DS_REFERENCE_HDMI_INPUT	= ( DS_REFERENCE_ANALOG_INPUT + 1 ) ,
	DS_REFERENCE_INPUT3	= ( DS_REFERENCE_HDMI_INPUT + 1 ) ,
	DS_REFERENCE_INPUT4	= ( DS_REFERENCE_INPUT3 + 1 ) ,
	DS_REFERENCE_INPUT5	= ( DS_REFERENCE_INPUT4 + 1 ) ,
	DS_REFERENCE_INPUT6	= ( DS_REFERENCE_INPUT5 + 1 ) ,
	DS_REFERENCE_INPUT7	= ( DS_REFERENCE_INPUT6 + 1 ) ,
	DS_REFERENCE_INPUT8	= ( DS_REFERENCE_INPUT7 + 1 ) ,
	DS_REFERENCE_INVALID	= ( DS_REFERENCE_INPUT8 + 1 ) ,
	DS_NUM_REFERENCE_INPUTS	= DS_REFERENCE_INVALID
    } 	AJADSReferenceSource;

typedef 
enum tagAJADSAudioSource
    {	DS_AUDIO_EMBEDDED	= 0,
	DS_AUDIO_AES	= ( DS_AUDIO_EMBEDDED + 1 ) ,
	DS_AUDIO_ANALOG	= ( DS_AUDIO_AES + 1 ) ,
	DS_AUDIO_HDMI	= ( DS_AUDIO_ANALOG + 1 ) ,
	DS_AUDIO_SOURCE_INVALID	= ( DS_AUDIO_HDMI + 1 ) ,
	DS_MAX_NUM_AudioSources	= DS_AUDIO_SOURCE_INVALID
    } 	AJADSAudioSource;

typedef 
enum tagAJADSADCMode
    {	DS_480iADCComponentBeta	= 0,
	DS_480iADCComponentSMPTE	= ( DS_480iADCComponentBeta + 1 ) ,
	DS_480iADCSVideoUS	= ( DS_480iADCComponentSMPTE + 1 ) ,
	DS_480iADCCompositeUS	= ( DS_480iADCSVideoUS + 1 ) ,
	DS_480iADCComponentBetaJapan	= ( DS_480iADCCompositeUS + 1 ) ,
	DS_480iADCComponentSMPTEJapan	= ( DS_480iADCComponentBetaJapan + 1 ) ,
	DS_480iADCSVideoJapan	= ( DS_480iADCComponentSMPTEJapan + 1 ) ,
	DS_480iADCCompositeJapan	= ( DS_480iADCSVideoJapan + 1 ) ,
	DS_576iADCComponentBeta	= ( DS_480iADCCompositeJapan + 1 ) ,
	DS_576iADCComponentSMPTE	= ( DS_576iADCComponentBeta + 1 ) ,
	DS_576iADCSVideo	= ( DS_576iADCComponentSMPTE + 1 ) ,
	DS_576iADCComposite	= ( DS_576iADCSVideo + 1 ) ,
	DS_720p_60	= ( DS_576iADCComposite + 1 ) ,
	DS_1080i_30	= ( DS_720p_60 + 1 ) ,
	DS_720p_50	= ( DS_1080i_30 + 1 ) ,
	DS_1080i_25	= ( DS_720p_50 + 1 ) ,
	DS_1080pSF24	= ( DS_1080i_25 + 1 ) ,
	DS_AJADSADCMode_INVALID	= ( DS_1080pSF24 + 1 ) ,
	DS_MAX_NUM_AJADSADCModes	= DS_AJADSADCMode_INVALID
    } 	AJADSADCMode;

typedef 
enum tagAJADSDACMode
    {	DS_480iRGB	= 0,
	DS_480iYPbPrSMPTE	= ( DS_480iRGB + 1 ) ,
	DS_480iYPbPrBetacam525	= ( DS_480iYPbPrSMPTE + 1 ) ,
	DS_480iYPbPrBetacamJapan	= ( DS_480iYPbPrBetacam525 + 1 ) ,
	DS_480iNTSC_US_Composite	= ( DS_480iYPbPrBetacamJapan + 1 ) ,
	DS_480iNTSC_Japan_Composite	= ( DS_480iNTSC_US_Composite + 1 ) ,
	DS_576iRGB	= ( DS_480iNTSC_Japan_Composite + 1 ) ,
	DS_576iYPbPrSMPTE	= ( DS_576iRGB + 1 ) ,
	DS_576iPAL_Composite	= ( DS_576iYPbPrSMPTE + 1 ) ,
	DS_1080iRGB	= ( DS_576iPAL_Composite + 1 ) ,
	DS_1080psfRGB	= ( DS_1080iRGB + 1 ) ,
	DS_720pRGB	= ( DS_1080psfRGB + 1 ) ,
	DS_1080iSMPTE	= ( DS_720pRGB + 1 ) ,
	DS_1080psfSMPTE	= ( DS_1080iSMPTE + 1 ) ,
	DS_720pSMPTE	= ( DS_1080psfSMPTE + 1 ) ,
	DS_AJADSDACMode_INVALID	= ( DS_720pSMPTE + 1 ) ,
	DS_MAX_NUM_AJADSDACModes	= DS_AJADSDACMode_INVALID
    } 	AJADSDACMode;

typedef 
enum tagAJADSScaleMode
    {	DS_SCALE_NONE	= 0,
	DS_SCALE_HDV	= ( DS_SCALE_NONE + 1 ) ,
	DS_SCALE_DVCPROHD	= ( DS_SCALE_HDV + 1 ) 
    } 	AJADSScaleMode;

typedef 
enum tagAJADSFCCMode
    {	DS_FCC_UNK	= 0,
	DS_FCC_UYVY	= 0x59565955,
	DS_FCC_YUY2	= 0x32595559,
	DS_FCC_ARGB	= 0x773c9ac0,
	DS_FCC_V210	= 0x30313276,
	DS_FCC_AB10	= 0x576f7893,
	DS_FCC_BR16	= 0x36315242
    } 	AJADSFCCMode;

//-------------------------------------------------------------------------------------------------------------
// Important notes about connection mediatypes: the following media types are supported (shown only for 1080i50)
//
//  MEDIASUBTYPE_UYVY is subtype from uuids.h, biCompression = 'UYVY' = 0x59565955
//    ( MEDIATYPE_Video / MEDIASUBTYPE_UYVY / FORMAT_VideoInfo2 ), size=4147200, cbForm=112, fix:Y, compr:N
//    src=[0,0:0,0], targ=[0,0:0,0], rate=829440000, errRate=0, AvgT=0.040
//    ilace=0xA5 (INTERLACED), copProt=0x0, aspect={16,9}, ctrl=0x0
//    BITMAPINFOHEADER: size=40, w=1920, h=1080, planes=1, bits=16, compress=UYVY, sizeImg=4147200
//    ( MEDIATYPE_Video / MEDIASUBTYPE_UYVY / FORMAT_VideoInfo ), size=4147200, cbForm=88, fix:Y, compr:N
//    src=[0,0:0,0], targ=[0,0:0,0], rate=829440000, errRate=0, AvgT=0.040
//    BITMAPINFOHEADER: size=40, w=1920, h=1080, planes=1, bits=16, compress=UYVY, sizeImg=4147200
//
//  MEDIASUBTYPE_YUY2 is subtype from uuids.h, biCompression = 'YUY2' = 0x32595559
//    ( MEDIATYPE_Video / MEDIASUBTYPE_YUY2 / FORMAT_VideoInfo2 ), size=4147200, cbForm=112, fix:Y, compr:N
//    src=[0,0:0,0], targ=[0,0:0,0], rate=829440000, errRate=0, AvgT=0.040
//    ilace=0xA5 (INTERLACED), copProt=0x0, aspect={16,9}, ctrl=0x0
//    BITMAPINFOHEADER: size=40, w=1920, h=1080, planes=1, bits=16, compress=YUY2, sizeImg=4147200
//    ( MEDIATYPE_Video / MEDIASUBTYPE_YUY2 / FORMAT_VideoInfo ), size=4147200, cbForm=88, fix:Y, compr:N
//    src=[0,0:0,0], targ=[0,0:0,0], rate=829440000, errRate=0, AvgT=0.040
//    BITMAPINFOHEADER: size=40, w=1920, h=1080, planes=1, bits=16, compress=YUY2, sizeImg=4147200
//
//  MEDIASUBTYPE_ARGB32 is subtype from uuids.h, biCompression = BI_RGB = 0
//    ( MEDIATYPE_Video / MEDIASUBTYPE_ARGB32 / FORMAT_VideoInfo2 ), size=8294400, cbForm=112, fix:Y, compr:N
//    src=[0,0:0,0], targ=[0,0:0,0], rate=1658880000, errRate=0, AvgT=0.040
//    MT: ilace=0xA5 (INTERLACED), copProt=0x0, aspect={16,9}, ctrl=0x0
//    BITMAPINFOHEADER: size=40, w=1920, h=1080, planes=1, bits=32, compress=BI_RGB, sizeImg=8294400
//    ( MEDIATYPE_Video / MEDIASUBTYPE_ARGB32 / FORMAT_VideoInfo ), size=8294400, cbForm=88, fix:Y, compr:N
//    src=[0,0:0,0], targ=[0,0:0,0], rate=1658880000, errRate=0, AvgT=0.040
//    BITMAPINFOHEADER: size=40, w=1920, h=1080, planes=1, bits=32, compress=BI_RGB, sizeImg=8294400
//
//  MEDIASUBTYPE_v210 = {30313276-0000-0010-8000-00AA00389B71}, biCompression = 'v210' = 0x30313276
//    ( MEDIATYPE_Video / MEDIASUBTYPE_v210 / FORMAT_VideoInfo2 ), size=5529600, cbForm=112, fix:Y, compr:N
//    src=[0,0:0,0], targ=[0,0:0,0], rate=1105920000, errRate=0, AvgT=0.040
//    ilace=0xA5 (INTERLACED), copProt=0x0, aspect={16,9}, ctrl=0x0
//    BITMAPINFOHEADER: size=40, w=1920, h=1080, planes=1, bits=20, compress=v210, sizeImg=5529600
//    ( MEDIATYPE_Video / MEDIASUBTYPE_v210 / FORMAT_VideoInfo ), size=5529600, cbForm=88, fix:Y, compr:N
//    src=[0,0:0,0], targ=[0,0:0,0], rate=1105920000, errRate=0, AvgT=0.040
//    BITMAPINFOHEADER: size=40, w=1920, h=1080, planes=1, bits=20, compress=v210, sizeImg=5529600
//
//  MEDIASUBTYPE_A2B10G10R10 is subtype from uuids.h. ATTENTION. biCompression = 'AB10' = 0x30314241 != MEDIASUBTYPE_A2B10G10R10.Data1
//    ( MEDIATYPE_Video / MEDIASUBTYPE_A2B10G10R10 / FORMAT_VideoInfo2 ), size=8294400, cbForm=112, fix:Y, compr:N
//    src=[0,0:0,0], targ=[0,0:0,0], rate=1658880000, errRate=0, AvgT=0.040
//    ilace=0xA5 (INTERLACED), copProt=0x0, aspect={16,9}, ctrl=0x0
//    BITMAPINFOHEADER: size=40, w=1920, h=1080, planes=1, bits=32, compress=AB10, sizeImg=8294400
//    ( MEDIATYPE_Video / MEDIASUBTYPE_A2B10G10R10 / FORMAT_VideoInfo ), size=8294400, cbForm=88, fix:Y, compr:N
//    src=[0,0:0,0], targ=[0,0:0,0], rate=1658880000, errRate=0, AvgT=0.040
//    BITMAPINFOHEADER: size=40, w=1920, h=1080, planes=1, bits=32, compress=AB10, sizeImg=8294400
//
//  MEDIASUBTYPE_BR16 = {36315242-0000-0010-8000-00AA00389B71}, biCompression = 'BR16' = 0x36315242
//    ( MEDIATYPE_Video / MEDIASUBTYPE_BR16 / FORMAT_VideoInfo2 ), size=12441600, cbForm=112, fix:Y, compr:N
//    src=[0,0:0,0], targ=[0,0:0,0], rate=2488320000, errRate=0, AvgT=0.040
//    ilace=0xA5 (INTERLACED), copProt=0x0, aspect={16,9}, ctrl=0x0
//    BITMAPINFOHEADER: size=40, w=1920, h=1080, planes=1, bits=48, compress=BR16, sizeImg=12441600
//    ( MEDIATYPE_Video / MEDIASUBTYPE_BR16 / FORMAT_VideoInfo ), size=12441600, cbForm=88, fix:Y, compr:N
//    src=[0,0:0,0], targ=[0,0:0,0], rate=2488320000, errRate=0, AvgT=0.040
//    MT:  BITMAPINFOHEADER: size=40, w=1920, h=1080, planes=1, bits=48, compress=BR16, sizeImg=12441600
//
//-------------------------------------------------------------------------------------------------------------

typedef 
enum tagAJADSKEYMode
    {	DS_KEYMODE_OFF	= 0,
	DS_KEYMODE_1	= ( DS_KEYMODE_OFF + 1 ) ,
	DS_KEYMODE_2	= ( DS_KEYMODE_1 + 1 ) 
    } 	AJADSKEYMode;

#define	AJA_MAX_BOARDS	( 8 )

#define	AJA_MAX_CHANNELS	( 8 )

// Success/error codes -------------------------------------
#define FACILITY_AJA					0xA7A
#define AJA_HRSUCCESS(code)				MAKE_HRESULT(SEVERITY_SUCCESS, FACILITY_AJA, (code))
#define AJA_HRERROR(code)				MAKE_HRESULT(SEVERITY_ERROR, FACILITY_AJA, (code))
// Device (driver or hardware) error. Computer must be rebooted.
#define AJA_E_DEVICE					AJA_HRERROR(0x0001)
// Auto circuilate can't enter into running mode.
// Possible invalid parameters of card: color space, SDI/analog input,
// component/S-Video/composite input selection, etc.
#define AJA_E_AUTOCIRCULATE_NOT_RUNNING	AJA_HRERROR(0x0002)
// Device already locked by the other instance(s) of filter and properties
// can't be changed (for example, Reference Source)
#define AJA_E_DEVICE_LOCKED				AJA_HRERROR(0x0003)
// Wanted widgect (Frame store, Color convertor, input, output, etc.) is busy by
// the other instance and can't be used in current moment
#define AJA_E_WIDGET_BUSY				AJA_HRERROR(0x0004)
// Error returned when registering multi-channel filters, if they are
// not found (found only single-channel filters)
#define AJA_E_REG_MULTICHAN				AJA_HRERROR(0x0005)
// Wanted property is not supported by device (video format, color space,
// input source, output destination, etc.).
#define AJA_E_UNSUPPORTED				AJA_HRERROR(0x0006)
// Selected video format can't be set - found instance of the filter
// with the other interlacing.
#define AJA_E_INTERLACING				AJA_HRERROR(0x0007)
//----------------------------------------------------------
#endif


extern RPC_IF_HANDLE __MIDL_itf_AJAMultiCapture_0000_0000_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_AJAMultiCapture_0000_0000_v0_0_s_ifspec;

#ifndef __IAJACaptureFilter_INTERFACE_DEFINED__
#define __IAJACaptureFilter_INTERFACE_DEFINED__

/* interface IAJACaptureFilter */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IAJACaptureFilter;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("D941E04F-3B38-4F27-82DD-943FBEA7E755")
    IAJACaptureFilter : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE SetBoardNumber( 
            /* [in] */ WORD value) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetBoardNumber( 
            /* [out] */ WORD *value) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetNumBoards( 
            /* [out] */ WORD *value) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ReserveBoard( 
            /* [in] */ WORD value) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetVideoFormat( 
            /* [in] */ WORD value) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetVideoFormat( 
            /* [out] */ WORD *value) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetReferenceSource( 
            /* [in] */ WORD value) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetReferenceSource( 
            /* [out] */ WORD *value) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetVideoSource( 
            /* [in] */ WORD value) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetVideoSource( 
            /* [out] */ WORD *value) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetAnalogVideoFormat( 
            /* [in] */ WORD value) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetAnalogVideoFormat( 
            /* [out] */ WORD *value) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetSourceVideoFormat( 
            /* [out] */ WORD *value) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetInput1VideoFormat( 
            /* [out] */ WORD *value) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetInput2VideoFormat( 
            /* [out] */ WORD *value) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetHDMIInVideoFormat( 
            /* [out] */ WORD *value) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetReferenceVideoFormat( 
            /* [out] */ WORD *value) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetFourCC( 
            /* [in] */ DWORD value) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetFourCC( 
            /* [out] */ DWORD *value) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetEnableEtoE( 
            /* [in] */ BOOL value) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetEnableEtoE( 
            /* [out] */ BOOL *value) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetEnableVANCMode( 
            /* [in] */ BOOL value) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetEnableVANCMode( 
            /* [out] */ BOOL *value) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetScaleMode( 
            /* [in] */ WORD value) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetScaleMode( 
            /* [out] */ WORD *value) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetAudioSource( 
            /* [in] */ WORD value) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetAudioSource( 
            /* [out] */ WORD *value) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetInputAlarm( 
            /* [in] */ BOOL value) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetInputAlarm( 
            /* [out] */ BOOL *value) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetCurrentFrame( 
            /* [out] */ DWORD *value) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetDroppedFrames( 
            /* [out] */ DWORD *value) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetBufferLevel( 
            /* [out] */ DWORD *value) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetBoardID( 
            /* [out] */ DWORD *value) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetSerialNumber( 
            /* [retval][out] */ BSTR *value) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetBoardReserved( 
            /* [out] */ WORD *pwReserved) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Set4KDownConvert( 
            /* [in] */ BOOL bUse4KDC) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Get4KDownConvert( 
            /* [out] */ BOOL *pbUse4KDC) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetDebug( 
            /* [out] */ int *pnDebug1,
            /* [out] */ int *pnDebug2,
            /* [out] */ int *pnDebug3) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IAJACaptureFilterVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAJACaptureFilter * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAJACaptureFilter * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAJACaptureFilter * This);
        
        HRESULT ( STDMETHODCALLTYPE *SetBoardNumber )( 
            IAJACaptureFilter * This,
            /* [in] */ WORD value);
        
        HRESULT ( STDMETHODCALLTYPE *GetBoardNumber )( 
            IAJACaptureFilter * This,
            /* [out] */ WORD *value);
        
        HRESULT ( STDMETHODCALLTYPE *GetNumBoards )( 
            IAJACaptureFilter * This,
            /* [out] */ WORD *value);
        
        HRESULT ( STDMETHODCALLTYPE *ReserveBoard )( 
            IAJACaptureFilter * This,
            /* [in] */ WORD value);
        
        HRESULT ( STDMETHODCALLTYPE *SetVideoFormat )( 
            IAJACaptureFilter * This,
            /* [in] */ WORD value);
        
        HRESULT ( STDMETHODCALLTYPE *GetVideoFormat )( 
            IAJACaptureFilter * This,
            /* [out] */ WORD *value);
        
        HRESULT ( STDMETHODCALLTYPE *SetReferenceSource )( 
            IAJACaptureFilter * This,
            /* [in] */ WORD value);
        
        HRESULT ( STDMETHODCALLTYPE *GetReferenceSource )( 
            IAJACaptureFilter * This,
            /* [out] */ WORD *value);
        
        HRESULT ( STDMETHODCALLTYPE *SetVideoSource )( 
            IAJACaptureFilter * This,
            /* [in] */ WORD value);
        
        HRESULT ( STDMETHODCALLTYPE *GetVideoSource )( 
            IAJACaptureFilter * This,
            /* [out] */ WORD *value);
        
        HRESULT ( STDMETHODCALLTYPE *SetAnalogVideoFormat )( 
            IAJACaptureFilter * This,
            /* [in] */ WORD value);
        
        HRESULT ( STDMETHODCALLTYPE *GetAnalogVideoFormat )( 
            IAJACaptureFilter * This,
            /* [out] */ WORD *value);
        
        HRESULT ( STDMETHODCALLTYPE *GetSourceVideoFormat )( 
            IAJACaptureFilter * This,
            /* [out] */ WORD *value);
        
        HRESULT ( STDMETHODCALLTYPE *GetInput1VideoFormat )( 
            IAJACaptureFilter * This,
            /* [out] */ WORD *value);
        
        HRESULT ( STDMETHODCALLTYPE *GetInput2VideoFormat )( 
            IAJACaptureFilter * This,
            /* [out] */ WORD *value);
        
        HRESULT ( STDMETHODCALLTYPE *GetHDMIInVideoFormat )( 
            IAJACaptureFilter * This,
            /* [out] */ WORD *value);
        
        HRESULT ( STDMETHODCALLTYPE *GetReferenceVideoFormat )( 
            IAJACaptureFilter * This,
            /* [out] */ WORD *value);
        
        HRESULT ( STDMETHODCALLTYPE *SetFourCC )( 
            IAJACaptureFilter * This,
            /* [in] */ DWORD value);
        
        HRESULT ( STDMETHODCALLTYPE *GetFourCC )( 
            IAJACaptureFilter * This,
            /* [out] */ DWORD *value);
        
        HRESULT ( STDMETHODCALLTYPE *SetEnableEtoE )( 
            IAJACaptureFilter * This,
            /* [in] */ BOOL value);
        
        HRESULT ( STDMETHODCALLTYPE *GetEnableEtoE )( 
            IAJACaptureFilter * This,
            /* [out] */ BOOL *value);
        
        HRESULT ( STDMETHODCALLTYPE *SetEnableVANCMode )( 
            IAJACaptureFilter * This,
            /* [in] */ BOOL value);
        
        HRESULT ( STDMETHODCALLTYPE *GetEnableVANCMode )( 
            IAJACaptureFilter * This,
            /* [out] */ BOOL *value);
        
        HRESULT ( STDMETHODCALLTYPE *SetScaleMode )( 
            IAJACaptureFilter * This,
            /* [in] */ WORD value);
        
        HRESULT ( STDMETHODCALLTYPE *GetScaleMode )( 
            IAJACaptureFilter * This,
            /* [out] */ WORD *value);
        
        HRESULT ( STDMETHODCALLTYPE *SetAudioSource )( 
            IAJACaptureFilter * This,
            /* [in] */ WORD value);
        
        HRESULT ( STDMETHODCALLTYPE *GetAudioSource )( 
            IAJACaptureFilter * This,
            /* [out] */ WORD *value);
        
        HRESULT ( STDMETHODCALLTYPE *SetInputAlarm )( 
            IAJACaptureFilter * This,
            /* [in] */ BOOL value);
        
        HRESULT ( STDMETHODCALLTYPE *GetInputAlarm )( 
            IAJACaptureFilter * This,
            /* [out] */ BOOL *value);
        
        HRESULT ( STDMETHODCALLTYPE *GetCurrentFrame )( 
            IAJACaptureFilter * This,
            /* [out] */ DWORD *value);
        
        HRESULT ( STDMETHODCALLTYPE *GetDroppedFrames )( 
            IAJACaptureFilter * This,
            /* [out] */ DWORD *value);
        
        HRESULT ( STDMETHODCALLTYPE *GetBufferLevel )( 
            IAJACaptureFilter * This,
            /* [out] */ DWORD *value);
        
        HRESULT ( STDMETHODCALLTYPE *GetBoardID )( 
            IAJACaptureFilter * This,
            /* [out] */ DWORD *value);
        
        HRESULT ( STDMETHODCALLTYPE *GetSerialNumber )( 
            IAJACaptureFilter * This,
            /* [retval][out] */ BSTR *value);
        
        HRESULT ( STDMETHODCALLTYPE *GetBoardReserved )( 
            IAJACaptureFilter * This,
            /* [out] */ WORD *pwReserved);
        
        HRESULT ( STDMETHODCALLTYPE *Set4KDownConvert )( 
            IAJACaptureFilter * This,
            /* [in] */ BOOL bUse4KDC);
        
        HRESULT ( STDMETHODCALLTYPE *Get4KDownConvert )( 
            IAJACaptureFilter * This,
            /* [out] */ BOOL *pbUse4KDC);
        
        HRESULT ( STDMETHODCALLTYPE *GetDebug )( 
            IAJACaptureFilter * This,
            /* [out] */ int *pnDebug1,
            /* [out] */ int *pnDebug2,
            /* [out] */ int *pnDebug3);
        
        END_INTERFACE
    } IAJACaptureFilterVtbl;

    interface IAJACaptureFilter
    {
        CONST_VTBL struct IAJACaptureFilterVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAJACaptureFilter_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAJACaptureFilter_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAJACaptureFilter_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAJACaptureFilter_SetBoardNumber(This,value)	\
    ( (This)->lpVtbl -> SetBoardNumber(This,value) ) 

#define IAJACaptureFilter_GetBoardNumber(This,value)	\
    ( (This)->lpVtbl -> GetBoardNumber(This,value) ) 

#define IAJACaptureFilter_GetNumBoards(This,value)	\
    ( (This)->lpVtbl -> GetNumBoards(This,value) ) 

#define IAJACaptureFilter_ReserveBoard(This,value)	\
    ( (This)->lpVtbl -> ReserveBoard(This,value) ) 

#define IAJACaptureFilter_SetVideoFormat(This,value)	\
    ( (This)->lpVtbl -> SetVideoFormat(This,value) ) 

#define IAJACaptureFilter_GetVideoFormat(This,value)	\
    ( (This)->lpVtbl -> GetVideoFormat(This,value) ) 

#define IAJACaptureFilter_SetReferenceSource(This,value)	\
    ( (This)->lpVtbl -> SetReferenceSource(This,value) ) 

#define IAJACaptureFilter_GetReferenceSource(This,value)	\
    ( (This)->lpVtbl -> GetReferenceSource(This,value) ) 

#define IAJACaptureFilter_SetVideoSource(This,value)	\
    ( (This)->lpVtbl -> SetVideoSource(This,value) ) 

#define IAJACaptureFilter_GetVideoSource(This,value)	\
    ( (This)->lpVtbl -> GetVideoSource(This,value) ) 

#define IAJACaptureFilter_SetAnalogVideoFormat(This,value)	\
    ( (This)->lpVtbl -> SetAnalogVideoFormat(This,value) ) 

#define IAJACaptureFilter_GetAnalogVideoFormat(This,value)	\
    ( (This)->lpVtbl -> GetAnalogVideoFormat(This,value) ) 

#define IAJACaptureFilter_GetSourceVideoFormat(This,value)	\
    ( (This)->lpVtbl -> GetSourceVideoFormat(This,value) ) 

#define IAJACaptureFilter_GetInput1VideoFormat(This,value)	\
    ( (This)->lpVtbl -> GetInput1VideoFormat(This,value) ) 

#define IAJACaptureFilter_GetInput2VideoFormat(This,value)	\
    ( (This)->lpVtbl -> GetInput2VideoFormat(This,value) ) 

#define IAJACaptureFilter_GetHDMIInVideoFormat(This,value)	\
    ( (This)->lpVtbl -> GetHDMIInVideoFormat(This,value) ) 

#define IAJACaptureFilter_GetReferenceVideoFormat(This,value)	\
    ( (This)->lpVtbl -> GetReferenceVideoFormat(This,value) ) 

#define IAJACaptureFilter_SetFourCC(This,value)	\
    ( (This)->lpVtbl -> SetFourCC(This,value) ) 

#define IAJACaptureFilter_GetFourCC(This,value)	\
    ( (This)->lpVtbl -> GetFourCC(This,value) ) 

#define IAJACaptureFilter_SetEnableEtoE(This,value)	\
    ( (This)->lpVtbl -> SetEnableEtoE(This,value) ) 

#define IAJACaptureFilter_GetEnableEtoE(This,value)	\
    ( (This)->lpVtbl -> GetEnableEtoE(This,value) ) 

#define IAJACaptureFilter_SetEnableVANCMode(This,value)	\
    ( (This)->lpVtbl -> SetEnableVANCMode(This,value) ) 

#define IAJACaptureFilter_GetEnableVANCMode(This,value)	\
    ( (This)->lpVtbl -> GetEnableVANCMode(This,value) ) 

#define IAJACaptureFilter_SetScaleMode(This,value)	\
    ( (This)->lpVtbl -> SetScaleMode(This,value) ) 

#define IAJACaptureFilter_GetScaleMode(This,value)	\
    ( (This)->lpVtbl -> GetScaleMode(This,value) ) 

#define IAJACaptureFilter_SetAudioSource(This,value)	\
    ( (This)->lpVtbl -> SetAudioSource(This,value) ) 

#define IAJACaptureFilter_GetAudioSource(This,value)	\
    ( (This)->lpVtbl -> GetAudioSource(This,value) ) 

#define IAJACaptureFilter_SetInputAlarm(This,value)	\
    ( (This)->lpVtbl -> SetInputAlarm(This,value) ) 

#define IAJACaptureFilter_GetInputAlarm(This,value)	\
    ( (This)->lpVtbl -> GetInputAlarm(This,value) ) 

#define IAJACaptureFilter_GetCurrentFrame(This,value)	\
    ( (This)->lpVtbl -> GetCurrentFrame(This,value) ) 

#define IAJACaptureFilter_GetDroppedFrames(This,value)	\
    ( (This)->lpVtbl -> GetDroppedFrames(This,value) ) 

#define IAJACaptureFilter_GetBufferLevel(This,value)	\
    ( (This)->lpVtbl -> GetBufferLevel(This,value) ) 

#define IAJACaptureFilter_GetBoardID(This,value)	\
    ( (This)->lpVtbl -> GetBoardID(This,value) ) 

#define IAJACaptureFilter_GetSerialNumber(This,value)	\
    ( (This)->lpVtbl -> GetSerialNumber(This,value) ) 

#define IAJACaptureFilter_GetBoardReserved(This,pwReserved)	\
    ( (This)->lpVtbl -> GetBoardReserved(This,pwReserved) ) 

#define IAJACaptureFilter_Set4KDownConvert(This,bUse4KDC)	\
    ( (This)->lpVtbl -> Set4KDownConvert(This,bUse4KDC) ) 

#define IAJACaptureFilter_Get4KDownConvert(This,pbUse4KDC)	\
    ( (This)->lpVtbl -> Get4KDownConvert(This,pbUse4KDC) ) 

#define IAJACaptureFilter_GetDebug(This,pnDebug1,pnDebug2,pnDebug3)	\
    ( (This)->lpVtbl -> GetDebug(This,pnDebug1,pnDebug2,pnDebug3) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAJACaptureFilter_INTERFACE_DEFINED__ */



#ifndef __AJAMultiCaptureLib_LIBRARY_DEFINED__
#define __AJAMultiCaptureLib_LIBRARY_DEFINED__

/* library AJAMultiCaptureLib */
/* [helpstring][version][uuid] */ 


EXTERN_C const IID LIBID_AJAMultiCaptureLib;

EXTERN_C const CLSID CLSID_MultiCaptureFilter00;

#ifdef __cplusplus

class DECLSPEC_UUID("8DF9D700-C70C-4C9B-8E8D-0422716BA59A")
MultiCaptureFilter00;
#endif

EXTERN_C const CLSID CLSID_MultiCaptureFilter01;

#ifdef __cplusplus

class DECLSPEC_UUID("8DF9D701-C70C-4C9B-8E8D-0422716BA59A")
MultiCaptureFilter01;
#endif

EXTERN_C const CLSID CLSID_MultiCaptureFilter02;

#ifdef __cplusplus

class DECLSPEC_UUID("8DF9D702-C70C-4C9B-8E8D-0422716BA59A")
MultiCaptureFilter02;
#endif

EXTERN_C const CLSID CLSID_MultiCaptureFilter03;

#ifdef __cplusplus

class DECLSPEC_UUID("8DF9D703-C70C-4C9B-8E8D-0422716BA59A")
MultiCaptureFilter03;
#endif

EXTERN_C const CLSID CLSID_MultiCaptureFilter04;

#ifdef __cplusplus

class DECLSPEC_UUID("8DF9D704-C70C-4C9B-8E8D-0422716BA59A")
MultiCaptureFilter04;
#endif

EXTERN_C const CLSID CLSID_MultiCaptureFilter05;

#ifdef __cplusplus

class DECLSPEC_UUID("8DF9D705-C70C-4C9B-8E8D-0422716BA59A")
MultiCaptureFilter05;
#endif

EXTERN_C const CLSID CLSID_MultiCaptureFilter06;

#ifdef __cplusplus

class DECLSPEC_UUID("8DF9D706-C70C-4C9B-8E8D-0422716BA59A")
MultiCaptureFilter06;
#endif

EXTERN_C const CLSID CLSID_MultiCaptureFilter07;

#ifdef __cplusplus

class DECLSPEC_UUID("8DF9D707-C70C-4C9B-8E8D-0422716BA59A")
MultiCaptureFilter07;
#endif

EXTERN_C const CLSID CLSID_MultiCaptureFilter10;

#ifdef __cplusplus

class DECLSPEC_UUID("8DF9D710-C70C-4C9B-8E8D-0422716BA59A")
MultiCaptureFilter10;
#endif

EXTERN_C const CLSID CLSID_MultiCaptureFilter11;

#ifdef __cplusplus

class DECLSPEC_UUID("8DF9D711-C70C-4C9B-8E8D-0422716BA59A")
MultiCaptureFilter11;
#endif

EXTERN_C const CLSID CLSID_MultiCaptureFilter12;

#ifdef __cplusplus

class DECLSPEC_UUID("8DF9D712-C70C-4C9B-8E8D-0422716BA59A")
MultiCaptureFilter12;
#endif

EXTERN_C const CLSID CLSID_MultiCaptureFilter13;

#ifdef __cplusplus

class DECLSPEC_UUID("8DF9D713-C70C-4C9B-8E8D-0422716BA59A")
MultiCaptureFilter13;
#endif

EXTERN_C const CLSID CLSID_MultiCaptureFilter14;

#ifdef __cplusplus

class DECLSPEC_UUID("8DF9D714-C70C-4C9B-8E8D-0422716BA59A")
MultiCaptureFilter14;
#endif

EXTERN_C const CLSID CLSID_MultiCaptureFilter15;

#ifdef __cplusplus

class DECLSPEC_UUID("8DF9D715-C70C-4C9B-8E8D-0422716BA59A")
MultiCaptureFilter15;
#endif

EXTERN_C const CLSID CLSID_MultiCaptureFilter16;

#ifdef __cplusplus

class DECLSPEC_UUID("8DF9D716-C70C-4C9B-8E8D-0422716BA59A")
MultiCaptureFilter16;
#endif

EXTERN_C const CLSID CLSID_MultiCaptureFilter17;

#ifdef __cplusplus

class DECLSPEC_UUID("8DF9D717-C70C-4C9B-8E8D-0422716BA59A")
MultiCaptureFilter17;
#endif

EXTERN_C const CLSID CLSID_MultiCaptureFilter20;

#ifdef __cplusplus

class DECLSPEC_UUID("8DF9D720-C70C-4C9B-8E8D-0422716BA59A")
MultiCaptureFilter20;
#endif

EXTERN_C const CLSID CLSID_MultiCaptureFilter21;

#ifdef __cplusplus

class DECLSPEC_UUID("8DF9D721-C70C-4C9B-8E8D-0422716BA59A")
MultiCaptureFilter21;
#endif

EXTERN_C const CLSID CLSID_MultiCaptureFilter22;

#ifdef __cplusplus

class DECLSPEC_UUID("8DF9D722-C70C-4C9B-8E8D-0422716BA59A")
MultiCaptureFilter22;
#endif

EXTERN_C const CLSID CLSID_MultiCaptureFilter23;

#ifdef __cplusplus

class DECLSPEC_UUID("8DF9D723-C70C-4C9B-8E8D-0422716BA59A")
MultiCaptureFilter23;
#endif

EXTERN_C const CLSID CLSID_MultiCaptureFilter24;

#ifdef __cplusplus

class DECLSPEC_UUID("8DF9D724-C70C-4C9B-8E8D-0422716BA59A")
MultiCaptureFilter24;
#endif

EXTERN_C const CLSID CLSID_MultiCaptureFilter25;

#ifdef __cplusplus

class DECLSPEC_UUID("8DF9D725-C70C-4C9B-8E8D-0422716BA59A")
MultiCaptureFilter25;
#endif

EXTERN_C const CLSID CLSID_MultiCaptureFilter26;

#ifdef __cplusplus

class DECLSPEC_UUID("8DF9D726-C70C-4C9B-8E8D-0422716BA59A")
MultiCaptureFilter26;
#endif

EXTERN_C const CLSID CLSID_MultiCaptureFilter27;

#ifdef __cplusplus

class DECLSPEC_UUID("8DF9D727-C70C-4C9B-8E8D-0422716BA59A")
MultiCaptureFilter27;
#endif

EXTERN_C const CLSID CLSID_MultiCaptureFilter30;

#ifdef __cplusplus

class DECLSPEC_UUID("8DF9D730-C70C-4C9B-8E8D-0422716BA59A")
MultiCaptureFilter30;
#endif

EXTERN_C const CLSID CLSID_MultiCaptureFilter31;

#ifdef __cplusplus

class DECLSPEC_UUID("8DF9D731-C70C-4C9B-8E8D-0422716BA59A")
MultiCaptureFilter31;
#endif

EXTERN_C const CLSID CLSID_MultiCaptureFilter32;

#ifdef __cplusplus

class DECLSPEC_UUID("8DF9D732-C70C-4C9B-8E8D-0422716BA59A")
MultiCaptureFilter32;
#endif

EXTERN_C const CLSID CLSID_MultiCaptureFilter33;

#ifdef __cplusplus

class DECLSPEC_UUID("8DF9D733-C70C-4C9B-8E8D-0422716BA59A")
MultiCaptureFilter33;
#endif

EXTERN_C const CLSID CLSID_MultiCaptureFilter34;

#ifdef __cplusplus

class DECLSPEC_UUID("8DF9D734-C70C-4C9B-8E8D-0422716BA59A")
MultiCaptureFilter34;
#endif

EXTERN_C const CLSID CLSID_MultiCaptureFilter35;

#ifdef __cplusplus

class DECLSPEC_UUID("8DF9D735-C70C-4C9B-8E8D-0422716BA59A")
MultiCaptureFilter35;
#endif

EXTERN_C const CLSID CLSID_MultiCaptureFilter36;

#ifdef __cplusplus

class DECLSPEC_UUID("8DF9D736-C70C-4C9B-8E8D-0422716BA59A")
MultiCaptureFilter36;
#endif

EXTERN_C const CLSID CLSID_MultiCaptureFilter37;

#ifdef __cplusplus

class DECLSPEC_UUID("8DF9D737-C70C-4C9B-8E8D-0422716BA59A")
MultiCaptureFilter37;
#endif

EXTERN_C const CLSID CLSID_MultiCaptureFilter40;

#ifdef __cplusplus

class DECLSPEC_UUID("8DF9D740-C70C-4C9B-8E8D-0422716BA59A")
MultiCaptureFilter40;
#endif

EXTERN_C const CLSID CLSID_MultiCaptureFilter41;

#ifdef __cplusplus

class DECLSPEC_UUID("8DF9D741-C70C-4C9B-8E8D-0422716BA59A")
MultiCaptureFilter41;
#endif

EXTERN_C const CLSID CLSID_MultiCaptureFilter42;

#ifdef __cplusplus

class DECLSPEC_UUID("8DF9D742-C70C-4C9B-8E8D-0422716BA59A")
MultiCaptureFilter42;
#endif

EXTERN_C const CLSID CLSID_MultiCaptureFilter43;

#ifdef __cplusplus

class DECLSPEC_UUID("8DF9D743-C70C-4C9B-8E8D-0422716BA59A")
MultiCaptureFilter43;
#endif

EXTERN_C const CLSID CLSID_MultiCaptureFilter44;

#ifdef __cplusplus

class DECLSPEC_UUID("8DF9D744-C70C-4C9B-8E8D-0422716BA59A")
MultiCaptureFilter44;
#endif

EXTERN_C const CLSID CLSID_MultiCaptureFilter45;

#ifdef __cplusplus

class DECLSPEC_UUID("8DF9D745-C70C-4C9B-8E8D-0422716BA59A")
MultiCaptureFilter45;
#endif

EXTERN_C const CLSID CLSID_MultiCaptureFilter46;

#ifdef __cplusplus

class DECLSPEC_UUID("8DF9D746-C70C-4C9B-8E8D-0422716BA59A")
MultiCaptureFilter46;
#endif

EXTERN_C const CLSID CLSID_MultiCaptureFilter47;

#ifdef __cplusplus

class DECLSPEC_UUID("8DF9D747-C70C-4C9B-8E8D-0422716BA59A")
MultiCaptureFilter47;
#endif

EXTERN_C const CLSID CLSID_MultiCaptureFilter50;

#ifdef __cplusplus

class DECLSPEC_UUID("8DF9D750-C70C-4C9B-8E8D-0422716BA59A")
MultiCaptureFilter50;
#endif

EXTERN_C const CLSID CLSID_MultiCaptureFilter51;

#ifdef __cplusplus

class DECLSPEC_UUID("8DF9D751-C70C-4C9B-8E8D-0422716BA59A")
MultiCaptureFilter51;
#endif

EXTERN_C const CLSID CLSID_MultiCaptureFilter52;

#ifdef __cplusplus

class DECLSPEC_UUID("8DF9D752-C70C-4C9B-8E8D-0422716BA59A")
MultiCaptureFilter52;
#endif

EXTERN_C const CLSID CLSID_MultiCaptureFilter53;

#ifdef __cplusplus

class DECLSPEC_UUID("8DF9D753-C70C-4C9B-8E8D-0422716BA59A")
MultiCaptureFilter53;
#endif

EXTERN_C const CLSID CLSID_MultiCaptureFilter54;

#ifdef __cplusplus

class DECLSPEC_UUID("8DF9D754-C70C-4C9B-8E8D-0422716BA59A")
MultiCaptureFilter54;
#endif

EXTERN_C const CLSID CLSID_MultiCaptureFilter55;

#ifdef __cplusplus

class DECLSPEC_UUID("8DF9D755-C70C-4C9B-8E8D-0422716BA59A")
MultiCaptureFilter55;
#endif

EXTERN_C const CLSID CLSID_MultiCaptureFilter56;

#ifdef __cplusplus

class DECLSPEC_UUID("8DF9D756-C70C-4C9B-8E8D-0422716BA59A")
MultiCaptureFilter56;
#endif

EXTERN_C const CLSID CLSID_MultiCaptureFilter57;

#ifdef __cplusplus

class DECLSPEC_UUID("8DF9D757-C70C-4C9B-8E8D-0422716BA59A")
MultiCaptureFilter57;
#endif

EXTERN_C const CLSID CLSID_MultiCaptureFilter60;

#ifdef __cplusplus

class DECLSPEC_UUID("8DF9D760-C70C-4C9B-8E8D-0422716BA59A")
MultiCaptureFilter60;
#endif

EXTERN_C const CLSID CLSID_MultiCaptureFilter61;

#ifdef __cplusplus

class DECLSPEC_UUID("8DF9D761-C70C-4C9B-8E8D-0422716BA59A")
MultiCaptureFilter61;
#endif

EXTERN_C const CLSID CLSID_MultiCaptureFilter62;

#ifdef __cplusplus

class DECLSPEC_UUID("8DF9D762-C70C-4C9B-8E8D-0422716BA59A")
MultiCaptureFilter62;
#endif

EXTERN_C const CLSID CLSID_MultiCaptureFilter63;

#ifdef __cplusplus

class DECLSPEC_UUID("8DF9D763-C70C-4C9B-8E8D-0422716BA59A")
MultiCaptureFilter63;
#endif

EXTERN_C const CLSID CLSID_MultiCaptureFilter64;

#ifdef __cplusplus

class DECLSPEC_UUID("8DF9D764-C70C-4C9B-8E8D-0422716BA59A")
MultiCaptureFilter64;
#endif

EXTERN_C const CLSID CLSID_MultiCaptureFilter65;

#ifdef __cplusplus

class DECLSPEC_UUID("8DF9D765-C70C-4C9B-8E8D-0422716BA59A")
MultiCaptureFilter65;
#endif

EXTERN_C const CLSID CLSID_MultiCaptureFilter66;

#ifdef __cplusplus

class DECLSPEC_UUID("8DF9D766-C70C-4C9B-8E8D-0422716BA59A")
MultiCaptureFilter66;
#endif

EXTERN_C const CLSID CLSID_MultiCaptureFilter67;

#ifdef __cplusplus

class DECLSPEC_UUID("8DF9D767-C70C-4C9B-8E8D-0422716BA59A")
MultiCaptureFilter67;
#endif

EXTERN_C const CLSID CLSID_MultiCaptureFilter70;

#ifdef __cplusplus

class DECLSPEC_UUID("8DF9D770-C70C-4C9B-8E8D-0422716BA59A")
MultiCaptureFilter70;
#endif

EXTERN_C const CLSID CLSID_MultiCaptureFilter71;

#ifdef __cplusplus

class DECLSPEC_UUID("8DF9D771-C70C-4C9B-8E8D-0422716BA59A")
MultiCaptureFilter71;
#endif

EXTERN_C const CLSID CLSID_MultiCaptureFilter72;

#ifdef __cplusplus

class DECLSPEC_UUID("8DF9D772-C70C-4C9B-8E8D-0422716BA59A")
MultiCaptureFilter72;
#endif

EXTERN_C const CLSID CLSID_MultiCaptureFilter73;

#ifdef __cplusplus

class DECLSPEC_UUID("8DF9D773-C70C-4C9B-8E8D-0422716BA59A")
MultiCaptureFilter73;
#endif

EXTERN_C const CLSID CLSID_MultiCaptureFilter74;

#ifdef __cplusplus

class DECLSPEC_UUID("8DF9D774-C70C-4C9B-8E8D-0422716BA59A")
MultiCaptureFilter74;
#endif

EXTERN_C const CLSID CLSID_MultiCaptureFilter75;

#ifdef __cplusplus

class DECLSPEC_UUID("8DF9D775-C70C-4C9B-8E8D-0422716BA59A")
MultiCaptureFilter75;
#endif

EXTERN_C const CLSID CLSID_MultiCaptureFilter76;

#ifdef __cplusplus

class DECLSPEC_UUID("8DF9D776-C70C-4C9B-8E8D-0422716BA59A")
MultiCaptureFilter76;
#endif

EXTERN_C const CLSID CLSID_MultiCaptureFilter77;

#ifdef __cplusplus

class DECLSPEC_UUID("8DF9D777-C70C-4C9B-8E8D-0422716BA59A")
MultiCaptureFilter77;
#endif

EXTERN_C const CLSID CLSID_PropPageSettings;

#ifdef __cplusplus

class DECLSPEC_UUID("8DF9D780-C70C-4C9B-8E8D-0422716BA59A")
PropPageSettings;
#endif

EXTERN_C const CLSID CLSID_StatisticPPMulti;

#ifdef __cplusplus

class DECLSPEC_UUID("8DF9D781-C70C-4C9B-8E8D-0422716BA59A")
StatisticPPMulti;
#endif
#endif /* __AJAMultiCaptureLib_LIBRARY_DEFINED__ */

/* Additional Prototypes for ALL interfaces */

unsigned long             __RPC_USER  BSTR_UserSize(     unsigned long *, unsigned long            , BSTR * ); 
unsigned char * __RPC_USER  BSTR_UserMarshal(  unsigned long *, unsigned char *, BSTR * ); 
unsigned char * __RPC_USER  BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * ); 
void                      __RPC_USER  BSTR_UserFree(     unsigned long *, BSTR * ); 

/* end of Additional Prototypes */

#ifdef __cplusplus
}
#endif

#endif


