

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


 /* File created by MIDL compiler version 7.00.0555 */
/* at Wed May 17 21:46:22 2017
 */
/* Compiler settings for AJAMultiRenderer.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 __AJAMultiRenderer_h__
#define __AJAMultiRenderer_h__

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

/* Forward Declarations */ 

#ifndef __IAJARenderFilter_FWD_DEFINED__
#define __IAJARenderFilter_FWD_DEFINED__
typedef interface IAJARenderFilter IAJARenderFilter;
#endif 	/* __IAJARenderFilter_FWD_DEFINED__ */


#ifndef __IAJARenderAudio_FWD_DEFINED__
#define __IAJARenderAudio_FWD_DEFINED__
typedef interface IAJARenderAudio IAJARenderAudio;
#endif 	/* __IAJARenderAudio_FWD_DEFINED__ */


#ifndef __IAJARenderStat_FWD_DEFINED__
#define __IAJARenderStat_FWD_DEFINED__
typedef interface IAJARenderStat IAJARenderStat;
#endif 	/* __IAJARenderStat_FWD_DEFINED__ */


#ifndef __IAJADevProps_FWD_DEFINED__
#define __IAJADevProps_FWD_DEFINED__
typedef interface IAJADevProps IAJADevProps;
#endif 	/* __IAJADevProps_FWD_DEFINED__ */


#ifndef __IAJAMultiRender_FWD_DEFINED__
#define __IAJAMultiRender_FWD_DEFINED__
typedef interface IAJAMultiRender IAJAMultiRender;
#endif 	/* __IAJAMultiRender_FWD_DEFINED__ */


#ifndef __MultiRendererFilter00_FWD_DEFINED__
#define __MultiRendererFilter00_FWD_DEFINED__

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

#endif 	/* __MultiRendererFilter00_FWD_DEFINED__ */


#ifndef __MultiRendererFilter01_FWD_DEFINED__
#define __MultiRendererFilter01_FWD_DEFINED__

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

#endif 	/* __MultiRendererFilter01_FWD_DEFINED__ */


#ifndef __MultiRendererFilter02_FWD_DEFINED__
#define __MultiRendererFilter02_FWD_DEFINED__

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

#endif 	/* __MultiRendererFilter02_FWD_DEFINED__ */


#ifndef __MultiRendererFilter03_FWD_DEFINED__
#define __MultiRendererFilter03_FWD_DEFINED__

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

#endif 	/* __MultiRendererFilter03_FWD_DEFINED__ */


#ifndef __MultiRendererFilter04_FWD_DEFINED__
#define __MultiRendererFilter04_FWD_DEFINED__

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

#endif 	/* __MultiRendererFilter04_FWD_DEFINED__ */


#ifndef __MultiRendererFilter05_FWD_DEFINED__
#define __MultiRendererFilter05_FWD_DEFINED__

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

#endif 	/* __MultiRendererFilter05_FWD_DEFINED__ */


#ifndef __MultiRendererFilter06_FWD_DEFINED__
#define __MultiRendererFilter06_FWD_DEFINED__

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

#endif 	/* __MultiRendererFilter06_FWD_DEFINED__ */


#ifndef __MultiRendererFilter07_FWD_DEFINED__
#define __MultiRendererFilter07_FWD_DEFINED__

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

#endif 	/* __MultiRendererFilter07_FWD_DEFINED__ */


#ifndef __MultiRendererFilter10_FWD_DEFINED__
#define __MultiRendererFilter10_FWD_DEFINED__

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

#endif 	/* __MultiRendererFilter10_FWD_DEFINED__ */


#ifndef __MultiRendererFilter11_FWD_DEFINED__
#define __MultiRendererFilter11_FWD_DEFINED__

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

#endif 	/* __MultiRendererFilter11_FWD_DEFINED__ */


#ifndef __MultiRendererFilter12_FWD_DEFINED__
#define __MultiRendererFilter12_FWD_DEFINED__

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

#endif 	/* __MultiRendererFilter12_FWD_DEFINED__ */


#ifndef __MultiRendererFilter13_FWD_DEFINED__
#define __MultiRendererFilter13_FWD_DEFINED__

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

#endif 	/* __MultiRendererFilter13_FWD_DEFINED__ */


#ifndef __MultiRendererFilter14_FWD_DEFINED__
#define __MultiRendererFilter14_FWD_DEFINED__

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

#endif 	/* __MultiRendererFilter14_FWD_DEFINED__ */


#ifndef __MultiRendererFilter15_FWD_DEFINED__
#define __MultiRendererFilter15_FWD_DEFINED__

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

#endif 	/* __MultiRendererFilter15_FWD_DEFINED__ */


#ifndef __MultiRendererFilter16_FWD_DEFINED__
#define __MultiRendererFilter16_FWD_DEFINED__

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

#endif 	/* __MultiRendererFilter16_FWD_DEFINED__ */


#ifndef __MultiRendererFilter17_FWD_DEFINED__
#define __MultiRendererFilter17_FWD_DEFINED__

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

#endif 	/* __MultiRendererFilter17_FWD_DEFINED__ */


#ifndef __MultiRendererFilter20_FWD_DEFINED__
#define __MultiRendererFilter20_FWD_DEFINED__

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

#endif 	/* __MultiRendererFilter20_FWD_DEFINED__ */


#ifndef __MultiRendererFilter21_FWD_DEFINED__
#define __MultiRendererFilter21_FWD_DEFINED__

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

#endif 	/* __MultiRendererFilter21_FWD_DEFINED__ */


#ifndef __MultiRendererFilter22_FWD_DEFINED__
#define __MultiRendererFilter22_FWD_DEFINED__

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

#endif 	/* __MultiRendererFilter22_FWD_DEFINED__ */


#ifndef __MultiRendererFilter23_FWD_DEFINED__
#define __MultiRendererFilter23_FWD_DEFINED__

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

#endif 	/* __MultiRendererFilter23_FWD_DEFINED__ */


#ifndef __MultiRendererFilter24_FWD_DEFINED__
#define __MultiRendererFilter24_FWD_DEFINED__

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

#endif 	/* __MultiRendererFilter24_FWD_DEFINED__ */


#ifndef __MultiRendererFilter25_FWD_DEFINED__
#define __MultiRendererFilter25_FWD_DEFINED__

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

#endif 	/* __MultiRendererFilter25_FWD_DEFINED__ */


#ifndef __MultiRendererFilter26_FWD_DEFINED__
#define __MultiRendererFilter26_FWD_DEFINED__

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

#endif 	/* __MultiRendererFilter26_FWD_DEFINED__ */


#ifndef __MultiRendererFilter27_FWD_DEFINED__
#define __MultiRendererFilter27_FWD_DEFINED__

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

#endif 	/* __MultiRendererFilter27_FWD_DEFINED__ */


#ifndef __MultiRendererFilter30_FWD_DEFINED__
#define __MultiRendererFilter30_FWD_DEFINED__

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

#endif 	/* __MultiRendererFilter30_FWD_DEFINED__ */


#ifndef __MultiRendererFilter31_FWD_DEFINED__
#define __MultiRendererFilter31_FWD_DEFINED__

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

#endif 	/* __MultiRendererFilter31_FWD_DEFINED__ */


#ifndef __MultiRendererFilter32_FWD_DEFINED__
#define __MultiRendererFilter32_FWD_DEFINED__

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

#endif 	/* __MultiRendererFilter32_FWD_DEFINED__ */


#ifndef __MultiRendererFilter33_FWD_DEFINED__
#define __MultiRendererFilter33_FWD_DEFINED__

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

#endif 	/* __MultiRendererFilter33_FWD_DEFINED__ */


#ifndef __MultiRendererFilter34_FWD_DEFINED__
#define __MultiRendererFilter34_FWD_DEFINED__

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

#endif 	/* __MultiRendererFilter34_FWD_DEFINED__ */


#ifndef __MultiRendererFilter35_FWD_DEFINED__
#define __MultiRendererFilter35_FWD_DEFINED__

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

#endif 	/* __MultiRendererFilter35_FWD_DEFINED__ */


#ifndef __MultiRendererFilter36_FWD_DEFINED__
#define __MultiRendererFilter36_FWD_DEFINED__

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

#endif 	/* __MultiRendererFilter36_FWD_DEFINED__ */


#ifndef __MultiRendererFilter37_FWD_DEFINED__
#define __MultiRendererFilter37_FWD_DEFINED__

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

#endif 	/* __MultiRendererFilter37_FWD_DEFINED__ */


#ifndef __MultiRendererFilter40_FWD_DEFINED__
#define __MultiRendererFilter40_FWD_DEFINED__

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

#endif 	/* __MultiRendererFilter40_FWD_DEFINED__ */


#ifndef __MultiRendererFilter41_FWD_DEFINED__
#define __MultiRendererFilter41_FWD_DEFINED__

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

#endif 	/* __MultiRendererFilter41_FWD_DEFINED__ */


#ifndef __MultiRendererFilter42_FWD_DEFINED__
#define __MultiRendererFilter42_FWD_DEFINED__

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

#endif 	/* __MultiRendererFilter42_FWD_DEFINED__ */


#ifndef __MultiRendererFilter43_FWD_DEFINED__
#define __MultiRendererFilter43_FWD_DEFINED__

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

#endif 	/* __MultiRendererFilter43_FWD_DEFINED__ */


#ifndef __MultiRendererFilter44_FWD_DEFINED__
#define __MultiRendererFilter44_FWD_DEFINED__

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

#endif 	/* __MultiRendererFilter44_FWD_DEFINED__ */


#ifndef __MultiRendererFilter45_FWD_DEFINED__
#define __MultiRendererFilter45_FWD_DEFINED__

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

#endif 	/* __MultiRendererFilter45_FWD_DEFINED__ */


#ifndef __MultiRendererFilter46_FWD_DEFINED__
#define __MultiRendererFilter46_FWD_DEFINED__

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

#endif 	/* __MultiRendererFilter46_FWD_DEFINED__ */


#ifndef __MultiRendererFilter47_FWD_DEFINED__
#define __MultiRendererFilter47_FWD_DEFINED__

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

#endif 	/* __MultiRendererFilter47_FWD_DEFINED__ */


#ifndef __MultiRendererFilter50_FWD_DEFINED__
#define __MultiRendererFilter50_FWD_DEFINED__

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

#endif 	/* __MultiRendererFilter50_FWD_DEFINED__ */


#ifndef __MultiRendererFilter51_FWD_DEFINED__
#define __MultiRendererFilter51_FWD_DEFINED__

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

#endif 	/* __MultiRendererFilter51_FWD_DEFINED__ */


#ifndef __MultiRendererFilter52_FWD_DEFINED__
#define __MultiRendererFilter52_FWD_DEFINED__

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

#endif 	/* __MultiRendererFilter52_FWD_DEFINED__ */


#ifndef __MultiRendererFilter53_FWD_DEFINED__
#define __MultiRendererFilter53_FWD_DEFINED__

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

#endif 	/* __MultiRendererFilter53_FWD_DEFINED__ */


#ifndef __MultiRendererFilter54_FWD_DEFINED__
#define __MultiRendererFilter54_FWD_DEFINED__

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

#endif 	/* __MultiRendererFilter54_FWD_DEFINED__ */


#ifndef __MultiRendererFilter55_FWD_DEFINED__
#define __MultiRendererFilter55_FWD_DEFINED__

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

#endif 	/* __MultiRendererFilter55_FWD_DEFINED__ */


#ifndef __MultiRendererFilter56_FWD_DEFINED__
#define __MultiRendererFilter56_FWD_DEFINED__

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

#endif 	/* __MultiRendererFilter56_FWD_DEFINED__ */


#ifndef __MultiRendererFilter57_FWD_DEFINED__
#define __MultiRendererFilter57_FWD_DEFINED__

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

#endif 	/* __MultiRendererFilter57_FWD_DEFINED__ */


#ifndef __MultiRendererFilter60_FWD_DEFINED__
#define __MultiRendererFilter60_FWD_DEFINED__

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

#endif 	/* __MultiRendererFilter60_FWD_DEFINED__ */


#ifndef __MultiRendererFilter61_FWD_DEFINED__
#define __MultiRendererFilter61_FWD_DEFINED__

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

#endif 	/* __MultiRendererFilter61_FWD_DEFINED__ */


#ifndef __MultiRendererFilter62_FWD_DEFINED__
#define __MultiRendererFilter62_FWD_DEFINED__

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

#endif 	/* __MultiRendererFilter62_FWD_DEFINED__ */


#ifndef __MultiRendererFilter63_FWD_DEFINED__
#define __MultiRendererFilter63_FWD_DEFINED__

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

#endif 	/* __MultiRendererFilter63_FWD_DEFINED__ */


#ifndef __MultiRendererFilter64_FWD_DEFINED__
#define __MultiRendererFilter64_FWD_DEFINED__

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

#endif 	/* __MultiRendererFilter64_FWD_DEFINED__ */


#ifndef __MultiRendererFilter65_FWD_DEFINED__
#define __MultiRendererFilter65_FWD_DEFINED__

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

#endif 	/* __MultiRendererFilter65_FWD_DEFINED__ */


#ifndef __MultiRendererFilter66_FWD_DEFINED__
#define __MultiRendererFilter66_FWD_DEFINED__

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

#endif 	/* __MultiRendererFilter66_FWD_DEFINED__ */


#ifndef __MultiRendererFilter67_FWD_DEFINED__
#define __MultiRendererFilter67_FWD_DEFINED__

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

#endif 	/* __MultiRendererFilter67_FWD_DEFINED__ */


#ifndef __MultiRendererFilter70_FWD_DEFINED__
#define __MultiRendererFilter70_FWD_DEFINED__

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

#endif 	/* __MultiRendererFilter70_FWD_DEFINED__ */


#ifndef __MultiRendererFilter71_FWD_DEFINED__
#define __MultiRendererFilter71_FWD_DEFINED__

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

#endif 	/* __MultiRendererFilter71_FWD_DEFINED__ */


#ifndef __MultiRendererFilter72_FWD_DEFINED__
#define __MultiRendererFilter72_FWD_DEFINED__

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

#endif 	/* __MultiRendererFilter72_FWD_DEFINED__ */


#ifndef __MultiRendererFilter73_FWD_DEFINED__
#define __MultiRendererFilter73_FWD_DEFINED__

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

#endif 	/* __MultiRendererFilter73_FWD_DEFINED__ */


#ifndef __MultiRendererFilter74_FWD_DEFINED__
#define __MultiRendererFilter74_FWD_DEFINED__

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

#endif 	/* __MultiRendererFilter74_FWD_DEFINED__ */


#ifndef __MultiRendererFilter75_FWD_DEFINED__
#define __MultiRendererFilter75_FWD_DEFINED__

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

#endif 	/* __MultiRendererFilter75_FWD_DEFINED__ */


#ifndef __MultiRendererFilter76_FWD_DEFINED__
#define __MultiRendererFilter76_FWD_DEFINED__

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

#endif 	/* __MultiRendererFilter76_FWD_DEFINED__ */


#ifndef __MultiRendererFilter77_FWD_DEFINED__
#define __MultiRendererFilter77_FWD_DEFINED__

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

#endif 	/* __MultiRendererFilter77_FWD_DEFINED__ */


#ifndef __PPRenderFilter_FWD_DEFINED__
#define __PPRenderFilter_FWD_DEFINED__

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

#endif 	/* __PPRenderFilter_FWD_DEFINED__ */


#ifndef __MRQualityPP_FWD_DEFINED__
#define __MRQualityPP_FWD_DEFINED__

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

#endif 	/* __MRQualityPP_FWD_DEFINED__ */


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

#ifdef __cplusplus
extern "C"{
#endif 


/* interface __MIDL_itf_AJAMultiRenderer_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_AJAMultiRenderer_0000_0000_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_AJAMultiRenderer_0000_0000_v0_0_s_ifspec;

#ifndef __IAJARenderFilter_INTERFACE_DEFINED__
#define __IAJARenderFilter_INTERFACE_DEFINED__

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


EXTERN_C const IID IID_IAJARenderFilter;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7780A9BA-8006-4514-8AB1-D487F52DF107")
    IAJARenderFilter : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE GetBoardNumber( 
            /* [out] */ WORD *value) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ReserveBoard( 
            /* [in] */ WORD value) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetNumBoards( 
            /* [out] */ WORD *value) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetReferenceSource( 
            /* [in] */ WORD value) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetReferenceSource( 
            /* [out] */ WORD *value) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetAnalogVideoFormat( 
            /* [in] */ WORD value) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetAnalogVideoFormat( 
            /* [out] */ WORD *value) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetBlackOnConnection( 
            /* [in] */ BOOL value) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetBlackOnConnection( 
            /* [out] */ BOOL *value) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetSimultaneousCapturePlayback( 
            /* [in] */ BOOL value) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetSimultaneousCapturePlayback( 
            /* [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 SetFieldsChanged( 
            /* [in] */ BOOL bChanged) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetFieldsChanged( 
            /* [out] */ BOOL *pbChanged) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetVANC( 
            /* [in] */ BOOL bVANCEnable) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetVANC( 
            /* [out] */ BOOL *pbVANCEnabled) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetVideoFormat( 
            /* [out] */ int *pVideoFormat) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetBoardReserved( 
            /* [out] */ WORD *pwReserved) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetHDMIOutDownConvert( 
            /* [in] */ BOOL bUse4KDC) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetHDMIOutDownConvert( 
            /* [out] */ BOOL *pbUse4KDC) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetOutputProps( 
            /* [out] */ int *pnWidth,
            /* [out] */ int *pnHeight,
            /* [out] */ double *pdFPS,
            /* [out] */ int *pnInterlacing) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetDefaultVideoFormat( 
            /* [in] */ int nDefaultVideoFormat) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetDefaultVideoFormat( 
            /* [out] */ int *pDefaultVideoFormat) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetProgressiveMode( 
            /* [in] */ BOOL bProgressive) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetProgressiveMode( 
            /* [out] */ BOOL *pbProgressive) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetVidKeyMode( 
            /* [in] */ BOOL bSet) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetVidKeyMode( 
            /* [out] */ BOOL *pbSet) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IAJARenderFilterVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAJARenderFilter * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAJARenderFilter * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAJARenderFilter * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetBoardNumber )( 
            IAJARenderFilter * This,
            /* [out] */ WORD *value);
        
        HRESULT ( STDMETHODCALLTYPE *ReserveBoard )( 
            IAJARenderFilter * This,
            /* [in] */ WORD value);
        
        HRESULT ( STDMETHODCALLTYPE *GetNumBoards )( 
            IAJARenderFilter * This,
            /* [out] */ WORD *value);
        
        HRESULT ( STDMETHODCALLTYPE *SetReferenceSource )( 
            IAJARenderFilter * This,
            /* [in] */ WORD value);
        
        HRESULT ( STDMETHODCALLTYPE *GetReferenceSource )( 
            IAJARenderFilter * This,
            /* [out] */ WORD *value);
        
        HRESULT ( STDMETHODCALLTYPE *SetAnalogVideoFormat )( 
            IAJARenderFilter * This,
            /* [in] */ WORD value);
        
        HRESULT ( STDMETHODCALLTYPE *GetAnalogVideoFormat )( 
            IAJARenderFilter * This,
            /* [out] */ WORD *value);
        
        HRESULT ( STDMETHODCALLTYPE *SetBlackOnConnection )( 
            IAJARenderFilter * This,
            /* [in] */ BOOL value);
        
        HRESULT ( STDMETHODCALLTYPE *GetBlackOnConnection )( 
            IAJARenderFilter * This,
            /* [out] */ BOOL *value);
        
        HRESULT ( STDMETHODCALLTYPE *SetSimultaneousCapturePlayback )( 
            IAJARenderFilter * This,
            /* [in] */ BOOL value);
        
        HRESULT ( STDMETHODCALLTYPE *GetSimultaneousCapturePlayback )( 
            IAJARenderFilter * This,
            /* [out] */ BOOL *value);
        
        HRESULT ( STDMETHODCALLTYPE *GetCurrentFrame )( 
            IAJARenderFilter * This,
            /* [out] */ DWORD *value);
        
        HRESULT ( STDMETHODCALLTYPE *GetDroppedFrames )( 
            IAJARenderFilter * This,
            /* [out] */ DWORD *value);
        
        HRESULT ( STDMETHODCALLTYPE *GetBufferLevel )( 
            IAJARenderFilter * This,
            /* [out] */ DWORD *value);
        
        HRESULT ( STDMETHODCALLTYPE *GetBoardID )( 
            IAJARenderFilter * This,
            /* [out] */ DWORD *value);
        
        HRESULT ( STDMETHODCALLTYPE *GetSerialNumber )( 
            IAJARenderFilter * This,
            /* [retval][out] */ BSTR *value);
        
        HRESULT ( STDMETHODCALLTYPE *SetFieldsChanged )( 
            IAJARenderFilter * This,
            /* [in] */ BOOL bChanged);
        
        HRESULT ( STDMETHODCALLTYPE *GetFieldsChanged )( 
            IAJARenderFilter * This,
            /* [out] */ BOOL *pbChanged);
        
        HRESULT ( STDMETHODCALLTYPE *SetVANC )( 
            IAJARenderFilter * This,
            /* [in] */ BOOL bVANCEnable);
        
        HRESULT ( STDMETHODCALLTYPE *GetVANC )( 
            IAJARenderFilter * This,
            /* [out] */ BOOL *pbVANCEnabled);
        
        HRESULT ( STDMETHODCALLTYPE *GetVideoFormat )( 
            IAJARenderFilter * This,
            /* [out] */ int *pVideoFormat);
        
        HRESULT ( STDMETHODCALLTYPE *GetBoardReserved )( 
            IAJARenderFilter * This,
            /* [out] */ WORD *pwReserved);
        
        HRESULT ( STDMETHODCALLTYPE *SetHDMIOutDownConvert )( 
            IAJARenderFilter * This,
            /* [in] */ BOOL bUse4KDC);
        
        HRESULT ( STDMETHODCALLTYPE *GetHDMIOutDownConvert )( 
            IAJARenderFilter * This,
            /* [out] */ BOOL *pbUse4KDC);
        
        HRESULT ( STDMETHODCALLTYPE *GetOutputProps )( 
            IAJARenderFilter * This,
            /* [out] */ int *pnWidth,
            /* [out] */ int *pnHeight,
            /* [out] */ double *pdFPS,
            /* [out] */ int *pnInterlacing);
        
        HRESULT ( STDMETHODCALLTYPE *SetDefaultVideoFormat )( 
            IAJARenderFilter * This,
            /* [in] */ int nDefaultVideoFormat);
        
        HRESULT ( STDMETHODCALLTYPE *GetDefaultVideoFormat )( 
            IAJARenderFilter * This,
            /* [out] */ int *pDefaultVideoFormat);
        
        HRESULT ( STDMETHODCALLTYPE *SetProgressiveMode )( 
            IAJARenderFilter * This,
            /* [in] */ BOOL bProgressive);
        
        HRESULT ( STDMETHODCALLTYPE *GetProgressiveMode )( 
            IAJARenderFilter * This,
            /* [out] */ BOOL *pbProgressive);
        
        HRESULT ( STDMETHODCALLTYPE *SetVidKeyMode )( 
            IAJARenderFilter * This,
            /* [in] */ BOOL bSet);
        
        HRESULT ( STDMETHODCALLTYPE *GetVidKeyMode )( 
            IAJARenderFilter * This,
            /* [out] */ BOOL *pbSet);
        
        END_INTERFACE
    } IAJARenderFilterVtbl;

    interface IAJARenderFilter
    {
        CONST_VTBL struct IAJARenderFilterVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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

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

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

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

#define IAJARenderFilter_SetBlackOnConnection(This,value)	\
    ( (This)->lpVtbl -> SetBlackOnConnection(This,value) ) 

#define IAJARenderFilter_GetBlackOnConnection(This,value)	\
    ( (This)->lpVtbl -> GetBlackOnConnection(This,value) ) 

#define IAJARenderFilter_SetSimultaneousCapturePlayback(This,value)	\
    ( (This)->lpVtbl -> SetSimultaneousCapturePlayback(This,value) ) 

#define IAJARenderFilter_GetSimultaneousCapturePlayback(This,value)	\
    ( (This)->lpVtbl -> GetSimultaneousCapturePlayback(This,value) ) 

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

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

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

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

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

#define IAJARenderFilter_SetFieldsChanged(This,bChanged)	\
    ( (This)->lpVtbl -> SetFieldsChanged(This,bChanged) ) 

#define IAJARenderFilter_GetFieldsChanged(This,pbChanged)	\
    ( (This)->lpVtbl -> GetFieldsChanged(This,pbChanged) ) 

#define IAJARenderFilter_SetVANC(This,bVANCEnable)	\
    ( (This)->lpVtbl -> SetVANC(This,bVANCEnable) ) 

#define IAJARenderFilter_GetVANC(This,pbVANCEnabled)	\
    ( (This)->lpVtbl -> GetVANC(This,pbVANCEnabled) ) 

#define IAJARenderFilter_GetVideoFormat(This,pVideoFormat)	\
    ( (This)->lpVtbl -> GetVideoFormat(This,pVideoFormat) ) 

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

#define IAJARenderFilter_SetHDMIOutDownConvert(This,bUse4KDC)	\
    ( (This)->lpVtbl -> SetHDMIOutDownConvert(This,bUse4KDC) ) 

#define IAJARenderFilter_GetHDMIOutDownConvert(This,pbUse4KDC)	\
    ( (This)->lpVtbl -> GetHDMIOutDownConvert(This,pbUse4KDC) ) 

#define IAJARenderFilter_GetOutputProps(This,pnWidth,pnHeight,pdFPS,pnInterlacing)	\
    ( (This)->lpVtbl -> GetOutputProps(This,pnWidth,pnHeight,pdFPS,pnInterlacing) ) 

#define IAJARenderFilter_SetDefaultVideoFormat(This,nDefaultVideoFormat)	\
    ( (This)->lpVtbl -> SetDefaultVideoFormat(This,nDefaultVideoFormat) ) 

#define IAJARenderFilter_GetDefaultVideoFormat(This,pDefaultVideoFormat)	\
    ( (This)->lpVtbl -> GetDefaultVideoFormat(This,pDefaultVideoFormat) ) 

#define IAJARenderFilter_SetProgressiveMode(This,bProgressive)	\
    ( (This)->lpVtbl -> SetProgressiveMode(This,bProgressive) ) 

#define IAJARenderFilter_GetProgressiveMode(This,pbProgressive)	\
    ( (This)->lpVtbl -> GetProgressiveMode(This,pbProgressive) ) 

#define IAJARenderFilter_SetVidKeyMode(This,bSet)	\
    ( (This)->lpVtbl -> SetVidKeyMode(This,bSet) ) 

#define IAJARenderFilter_GetVidKeyMode(This,pbSet)	\
    ( (This)->lpVtbl -> GetVidKeyMode(This,pbSet) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAJARenderFilter_INTERFACE_DEFINED__ */


#ifndef __IAJARenderAudio_INTERFACE_DEFINED__
#define __IAJARenderAudio_INTERFACE_DEFINED__

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

#define	AJA_BOARD_MAX_AUDIO_CHANNELS	( 16 )

#define	AJA_RENDER_MAX_AUDIO_PINS	( 64 )

#define	AJA_RENDER_MAX_AUDIO_CHANNELS	( 32 )


EXTERN_C const IID IID_IAJARenderAudio;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("150E23E0-C2EE-4D80-B3A7-B8C1428C64C0")
    IAJARenderAudio : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE NumBoardAudioChannels( 
            /* [out] */ int *pnBoardChannels) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE NumAudioPins( 
            /* [out] */ int *pnPins) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE NumChannels( 
            /* [in] */ int nPin,
            /* [out] */ int *pnChannels) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetChannelMap( 
            /* [in] */ int nBoardChannel,
            /* [in] */ int nPin,
            /* [in] */ int nChannel) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetChannelMap( 
            /* [in] */ int nBoardChannel,
            /* [out] */ int *pnPin,
            /* [out] */ int *pnChannel) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IAJARenderAudioVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAJARenderAudio * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAJARenderAudio * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAJARenderAudio * This);
        
        HRESULT ( STDMETHODCALLTYPE *NumBoardAudioChannels )( 
            IAJARenderAudio * This,
            /* [out] */ int *pnBoardChannels);
        
        HRESULT ( STDMETHODCALLTYPE *NumAudioPins )( 
            IAJARenderAudio * This,
            /* [out] */ int *pnPins);
        
        HRESULT ( STDMETHODCALLTYPE *NumChannels )( 
            IAJARenderAudio * This,
            /* [in] */ int nPin,
            /* [out] */ int *pnChannels);
        
        HRESULT ( STDMETHODCALLTYPE *SetChannelMap )( 
            IAJARenderAudio * This,
            /* [in] */ int nBoardChannel,
            /* [in] */ int nPin,
            /* [in] */ int nChannel);
        
        HRESULT ( STDMETHODCALLTYPE *GetChannelMap )( 
            IAJARenderAudio * This,
            /* [in] */ int nBoardChannel,
            /* [out] */ int *pnPin,
            /* [out] */ int *pnChannel);
        
        END_INTERFACE
    } IAJARenderAudioVtbl;

    interface IAJARenderAudio
    {
        CONST_VTBL struct IAJARenderAudioVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IAJARenderAudio_NumBoardAudioChannels(This,pnBoardChannels)	\
    ( (This)->lpVtbl -> NumBoardAudioChannels(This,pnBoardChannels) ) 

#define IAJARenderAudio_NumAudioPins(This,pnPins)	\
    ( (This)->lpVtbl -> NumAudioPins(This,pnPins) ) 

#define IAJARenderAudio_NumChannels(This,nPin,pnChannels)	\
    ( (This)->lpVtbl -> NumChannels(This,nPin,pnChannels) ) 

#define IAJARenderAudio_SetChannelMap(This,nBoardChannel,nPin,nChannel)	\
    ( (This)->lpVtbl -> SetChannelMap(This,nBoardChannel,nPin,nChannel) ) 

#define IAJARenderAudio_GetChannelMap(This,nBoardChannel,pnPin,pnChannel)	\
    ( (This)->lpVtbl -> GetChannelMap(This,nBoardChannel,pnPin,pnChannel) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAJARenderAudio_INTERFACE_DEFINED__ */


#ifndef __IAJARenderStat_INTERFACE_DEFINED__
#define __IAJARenderStat_INTERFACE_DEFINED__

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

typedef 
enum AJARenderStat
    {	AJARenStat_Unk	= -1,
	AJARenStat_ClockDiff	= 0,
	AJARenStat_ClockLSQ	= ( AJARenStat_ClockDiff + 1 ) ,
	AJARenStat_AudioFirst	= ( AJARenStat_ClockLSQ + 1 ) ,
	AJARenStat_AudioDuration	= AJARenStat_AudioFirst,
	AJARenStat_AudioEnd	= ( AJARenStat_AudioDuration + 1 ) ,
	AJARenStat_End	= AJARenStat_AudioEnd
    } 	AJAREN_STAT;


EXTERN_C const IID IID_IAJARenderStat;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("0E3DE5C5-65A1-4F33-85EA-0099C06066B3")
    IAJARenderStat : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE GetStat( 
            /* [in] */ AJAREN_STAT eStat,
            /* [in] */ int nAudioPin,
            /* [out] */ double *pdParam1,
            /* [out] */ double *pdParam2) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IAJARenderStatVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAJARenderStat * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAJARenderStat * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAJARenderStat * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetStat )( 
            IAJARenderStat * This,
            /* [in] */ AJAREN_STAT eStat,
            /* [in] */ int nAudioPin,
            /* [out] */ double *pdParam1,
            /* [out] */ double *pdParam2);
        
        END_INTERFACE
    } IAJARenderStatVtbl;

    interface IAJARenderStat
    {
        CONST_VTBL struct IAJARenderStatVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IAJARenderStat_GetStat(This,eStat,nAudioPin,pdParam1,pdParam2)	\
    ( (This)->lpVtbl -> GetStat(This,eStat,nAudioPin,pdParam1,pdParam2) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAJARenderStat_INTERFACE_DEFINED__ */


#ifndef __IAJADevProps_INTERFACE_DEFINED__
#define __IAJADevProps_INTERFACE_DEFINED__

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

typedef 
enum tagAJAProperty
    {	eAJAProp_VideoFormat	= 0,
	eAJAProp_ColorSpace	= ( eAJAProp_VideoFormat + 1 ) ,
	eAJAProp_Invalid	= ( eAJAProp_ColorSpace + 1 ) ,
	eAJAProp_MaxNumber	= eAJAProp_Invalid
    } 	AJA_PROP;

typedef 
enum tagAJAPart
    {	eAJAPart_FrameStore	= 0,
	eAJAPart_AnalogIn	= ( eAJAPart_FrameStore + 1 ) ,
	eAJAPart_HDMIIn	= ( eAJAPart_AnalogIn + 1 ) ,
	eAJAPart_SDIIn	= ( eAJAPart_HDMIIn + 1 ) ,
	eAJAPart_AnalogOut	= ( eAJAPart_SDIIn + 1 ) ,
	eAJAPart_HDMIOut	= ( eAJAPart_AnalogOut + 1 ) ,
	eAJAPart_SDIOut	= ( eAJAPart_HDMIOut + 1 ) ,
	eAJAPart_SDIBidir	= ( eAJAPart_SDIOut + 1 ) ,
	eAJAPart_4KDC	= ( eAJAPart_SDIBidir + 1 ) ,
	eAJAPart_DVConv	= ( eAJAPart_4KDC + 1 ) ,
	eAJAPart_Invalid	= ( eAJAPart_DVConv + 1 ) ,
	eAJAPart_MaxNumber	= eAJAPart_Invalid
    } 	AJA_PART;


EXTERN_C const IID IID_IAJADevProps;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("5E37305E-0085-478E-88AA-165584B281E7")
    IAJADevProps : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE CheckDevProperty( 
            /* [in] */ AJA_PROP eProperty,
            /* [in] */ int nProperty,
            /* [in] */ int nReserved) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE NumDevParts( 
            /* [in] */ AJA_PART ePart,
            /* [in] */ int nReserved,
            /* [out] */ int *pnParts) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IAJADevPropsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAJADevProps * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAJADevProps * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAJADevProps * This);
        
        HRESULT ( STDMETHODCALLTYPE *CheckDevProperty )( 
            IAJADevProps * This,
            /* [in] */ AJA_PROP eProperty,
            /* [in] */ int nProperty,
            /* [in] */ int nReserved);
        
        HRESULT ( STDMETHODCALLTYPE *NumDevParts )( 
            IAJADevProps * This,
            /* [in] */ AJA_PART ePart,
            /* [in] */ int nReserved,
            /* [out] */ int *pnParts);
        
        END_INTERFACE
    } IAJADevPropsVtbl;

    interface IAJADevProps
    {
        CONST_VTBL struct IAJADevPropsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IAJADevProps_CheckDevProperty(This,eProperty,nProperty,nReserved)	\
    ( (This)->lpVtbl -> CheckDevProperty(This,eProperty,nProperty,nReserved) ) 

#define IAJADevProps_NumDevParts(This,ePart,nReserved,pnParts)	\
    ( (This)->lpVtbl -> NumDevParts(This,ePart,nReserved,pnParts) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAJADevProps_INTERFACE_DEFINED__ */


#ifndef __IAJAMultiRender_INTERFACE_DEFINED__
#define __IAJAMultiRender_INTERFACE_DEFINED__

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


EXTERN_C const IID IID_IAJAMultiRender;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("C8EDB045-4420-49F0-8998-5C5F1562FEC4")
    IAJAMultiRender : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE GetFrameStoreNumber( 
            /* [out] */ int *pnFrameStore) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetVideoOutput( 
            /* [in] */ WORD value) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetVideoOutput( 
            /* [out] */ WORD *value) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IAJAMultiRenderVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAJAMultiRender * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAJAMultiRender * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAJAMultiRender * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetFrameStoreNumber )( 
            IAJAMultiRender * This,
            /* [out] */ int *pnFrameStore);
        
        HRESULT ( STDMETHODCALLTYPE *SetVideoOutput )( 
            IAJAMultiRender * This,
            /* [in] */ WORD value);
        
        HRESULT ( STDMETHODCALLTYPE *GetVideoOutput )( 
            IAJAMultiRender * This,
            /* [out] */ WORD *value);
        
        END_INTERFACE
    } IAJAMultiRenderVtbl;

    interface IAJAMultiRender
    {
        CONST_VTBL struct IAJAMultiRenderVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IAJAMultiRender_GetFrameStoreNumber(This,pnFrameStore)	\
    ( (This)->lpVtbl -> GetFrameStoreNumber(This,pnFrameStore) ) 

#define IAJAMultiRender_SetVideoOutput(This,value)	\
    ( (This)->lpVtbl -> SetVideoOutput(This,value) ) 

#define IAJAMultiRender_GetVideoOutput(This,value)	\
    ( (This)->lpVtbl -> GetVideoOutput(This,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAJAMultiRender_INTERFACE_DEFINED__ */



#ifndef __AJAMultiRendererLib_LIBRARY_DEFINED__
#define __AJAMultiRendererLib_LIBRARY_DEFINED__

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


EXTERN_C const IID LIBID_AJAMultiRendererLib;

EXTERN_C const CLSID CLSID_MultiRendererFilter00;

#ifdef __cplusplus

class DECLSPEC_UUID("75FEDC00-D525-4181-BF11-9C21CD909416")
MultiRendererFilter00;
#endif

EXTERN_C const CLSID CLSID_MultiRendererFilter01;

#ifdef __cplusplus

class DECLSPEC_UUID("75FEDC01-D525-4181-BF11-9C21CD909416")
MultiRendererFilter01;
#endif

EXTERN_C const CLSID CLSID_MultiRendererFilter02;

#ifdef __cplusplus

class DECLSPEC_UUID("75FEDC02-D525-4181-BF11-9C21CD909416")
MultiRendererFilter02;
#endif

EXTERN_C const CLSID CLSID_MultiRendererFilter03;

#ifdef __cplusplus

class DECLSPEC_UUID("75FEDC03-D525-4181-BF11-9C21CD909416")
MultiRendererFilter03;
#endif

EXTERN_C const CLSID CLSID_MultiRendererFilter04;

#ifdef __cplusplus

class DECLSPEC_UUID("75FEDC04-D525-4181-BF11-9C21CD909416")
MultiRendererFilter04;
#endif

EXTERN_C const CLSID CLSID_MultiRendererFilter05;

#ifdef __cplusplus

class DECLSPEC_UUID("75FEDC05-D525-4181-BF11-9C21CD909416")
MultiRendererFilter05;
#endif

EXTERN_C const CLSID CLSID_MultiRendererFilter06;

#ifdef __cplusplus

class DECLSPEC_UUID("75FEDC06-D525-4181-BF11-9C21CD909416")
MultiRendererFilter06;
#endif

EXTERN_C const CLSID CLSID_MultiRendererFilter07;

#ifdef __cplusplus

class DECLSPEC_UUID("75FEDC07-D525-4181-BF11-9C21CD909416")
MultiRendererFilter07;
#endif

EXTERN_C const CLSID CLSID_MultiRendererFilter10;

#ifdef __cplusplus

class DECLSPEC_UUID("75FEDC10-D525-4181-BF11-9C21CD909416")
MultiRendererFilter10;
#endif

EXTERN_C const CLSID CLSID_MultiRendererFilter11;

#ifdef __cplusplus

class DECLSPEC_UUID("75FEDC11-D525-4181-BF11-9C21CD909416")
MultiRendererFilter11;
#endif

EXTERN_C const CLSID CLSID_MultiRendererFilter12;

#ifdef __cplusplus

class DECLSPEC_UUID("75FEDC12-D525-4181-BF11-9C21CD909416")
MultiRendererFilter12;
#endif

EXTERN_C const CLSID CLSID_MultiRendererFilter13;

#ifdef __cplusplus

class DECLSPEC_UUID("75FEDC13-D525-4181-BF11-9C21CD909416")
MultiRendererFilter13;
#endif

EXTERN_C const CLSID CLSID_MultiRendererFilter14;

#ifdef __cplusplus

class DECLSPEC_UUID("75FEDC14-D525-4181-BF11-9C21CD909416")
MultiRendererFilter14;
#endif

EXTERN_C const CLSID CLSID_MultiRendererFilter15;

#ifdef __cplusplus

class DECLSPEC_UUID("75FEDC15-D525-4181-BF11-9C21CD909416")
MultiRendererFilter15;
#endif

EXTERN_C const CLSID CLSID_MultiRendererFilter16;

#ifdef __cplusplus

class DECLSPEC_UUID("75FEDC16-D525-4181-BF11-9C21CD909416")
MultiRendererFilter16;
#endif

EXTERN_C const CLSID CLSID_MultiRendererFilter17;

#ifdef __cplusplus

class DECLSPEC_UUID("75FEDC17-D525-4181-BF11-9C21CD909416")
MultiRendererFilter17;
#endif

EXTERN_C const CLSID CLSID_MultiRendererFilter20;

#ifdef __cplusplus

class DECLSPEC_UUID("75FEDC20-D525-4181-BF11-9C21CD909416")
MultiRendererFilter20;
#endif

EXTERN_C const CLSID CLSID_MultiRendererFilter21;

#ifdef __cplusplus

class DECLSPEC_UUID("75FEDC21-D525-4181-BF11-9C21CD909416")
MultiRendererFilter21;
#endif

EXTERN_C const CLSID CLSID_MultiRendererFilter22;

#ifdef __cplusplus

class DECLSPEC_UUID("75FEDC22-D525-4181-BF11-9C21CD909416")
MultiRendererFilter22;
#endif

EXTERN_C const CLSID CLSID_MultiRendererFilter23;

#ifdef __cplusplus

class DECLSPEC_UUID("75FEDC23-D525-4181-BF11-9C21CD909416")
MultiRendererFilter23;
#endif

EXTERN_C const CLSID CLSID_MultiRendererFilter24;

#ifdef __cplusplus

class DECLSPEC_UUID("75FEDC24-D525-4181-BF11-9C21CD909416")
MultiRendererFilter24;
#endif

EXTERN_C const CLSID CLSID_MultiRendererFilter25;

#ifdef __cplusplus

class DECLSPEC_UUID("75FEDC25-D525-4181-BF11-9C21CD909416")
MultiRendererFilter25;
#endif

EXTERN_C const CLSID CLSID_MultiRendererFilter26;

#ifdef __cplusplus

class DECLSPEC_UUID("75FEDC26-D525-4181-BF11-9C21CD909416")
MultiRendererFilter26;
#endif

EXTERN_C const CLSID CLSID_MultiRendererFilter27;

#ifdef __cplusplus

class DECLSPEC_UUID("75FEDC27-D525-4181-BF11-9C21CD909416")
MultiRendererFilter27;
#endif

EXTERN_C const CLSID CLSID_MultiRendererFilter30;

#ifdef __cplusplus

class DECLSPEC_UUID("75FEDC30-D525-4181-BF11-9C21CD909416")
MultiRendererFilter30;
#endif

EXTERN_C const CLSID CLSID_MultiRendererFilter31;

#ifdef __cplusplus

class DECLSPEC_UUID("75FEDC31-D525-4181-BF11-9C21CD909416")
MultiRendererFilter31;
#endif

EXTERN_C const CLSID CLSID_MultiRendererFilter32;

#ifdef __cplusplus

class DECLSPEC_UUID("75FEDC32-D525-4181-BF11-9C21CD909416")
MultiRendererFilter32;
#endif

EXTERN_C const CLSID CLSID_MultiRendererFilter33;

#ifdef __cplusplus

class DECLSPEC_UUID("75FEDC33-D525-4181-BF11-9C21CD909416")
MultiRendererFilter33;
#endif

EXTERN_C const CLSID CLSID_MultiRendererFilter34;

#ifdef __cplusplus

class DECLSPEC_UUID("75FEDC34-D525-4181-BF11-9C21CD909416")
MultiRendererFilter34;
#endif

EXTERN_C const CLSID CLSID_MultiRendererFilter35;

#ifdef __cplusplus

class DECLSPEC_UUID("75FEDC35-D525-4181-BF11-9C21CD909416")
MultiRendererFilter35;
#endif

EXTERN_C const CLSID CLSID_MultiRendererFilter36;

#ifdef __cplusplus

class DECLSPEC_UUID("75FEDC36-D525-4181-BF11-9C21CD909416")
MultiRendererFilter36;
#endif

EXTERN_C const CLSID CLSID_MultiRendererFilter37;

#ifdef __cplusplus

class DECLSPEC_UUID("75FEDC37-D525-4181-BF11-9C21CD909416")
MultiRendererFilter37;
#endif

EXTERN_C const CLSID CLSID_MultiRendererFilter40;

#ifdef __cplusplus

class DECLSPEC_UUID("75FEDC40-D525-4181-BF11-9C21CD909416")
MultiRendererFilter40;
#endif

EXTERN_C const CLSID CLSID_MultiRendererFilter41;

#ifdef __cplusplus

class DECLSPEC_UUID("75FEDC41-D525-4181-BF11-9C21CD909416")
MultiRendererFilter41;
#endif

EXTERN_C const CLSID CLSID_MultiRendererFilter42;

#ifdef __cplusplus

class DECLSPEC_UUID("75FEDC42-D525-4181-BF11-9C21CD909416")
MultiRendererFilter42;
#endif

EXTERN_C const CLSID CLSID_MultiRendererFilter43;

#ifdef __cplusplus

class DECLSPEC_UUID("75FEDC43-D525-4181-BF11-9C21CD909416")
MultiRendererFilter43;
#endif

EXTERN_C const CLSID CLSID_MultiRendererFilter44;

#ifdef __cplusplus

class DECLSPEC_UUID("75FEDC44-D525-4181-BF11-9C21CD909416")
MultiRendererFilter44;
#endif

EXTERN_C const CLSID CLSID_MultiRendererFilter45;

#ifdef __cplusplus

class DECLSPEC_UUID("75FEDC45-D525-4181-BF11-9C21CD909416")
MultiRendererFilter45;
#endif

EXTERN_C const CLSID CLSID_MultiRendererFilter46;

#ifdef __cplusplus

class DECLSPEC_UUID("75FEDC46-D525-4181-BF11-9C21CD909416")
MultiRendererFilter46;
#endif

EXTERN_C const CLSID CLSID_MultiRendererFilter47;

#ifdef __cplusplus

class DECLSPEC_UUID("75FEDC47-D525-4181-BF11-9C21CD909416")
MultiRendererFilter47;
#endif

EXTERN_C const CLSID CLSID_MultiRendererFilter50;

#ifdef __cplusplus

class DECLSPEC_UUID("75FEDC50-D525-4181-BF11-9C21CD909416")
MultiRendererFilter50;
#endif

EXTERN_C const CLSID CLSID_MultiRendererFilter51;

#ifdef __cplusplus

class DECLSPEC_UUID("75FEDC51-D525-4181-BF11-9C21CD909416")
MultiRendererFilter51;
#endif

EXTERN_C const CLSID CLSID_MultiRendererFilter52;

#ifdef __cplusplus

class DECLSPEC_UUID("75FEDC52-D525-4181-BF11-9C21CD909416")
MultiRendererFilter52;
#endif

EXTERN_C const CLSID CLSID_MultiRendererFilter53;

#ifdef __cplusplus

class DECLSPEC_UUID("75FEDC53-D525-4181-BF11-9C21CD909416")
MultiRendererFilter53;
#endif

EXTERN_C const CLSID CLSID_MultiRendererFilter54;

#ifdef __cplusplus

class DECLSPEC_UUID("75FEDC54-D525-4181-BF11-9C21CD909416")
MultiRendererFilter54;
#endif

EXTERN_C const CLSID CLSID_MultiRendererFilter55;

#ifdef __cplusplus

class DECLSPEC_UUID("75FEDC55-D525-4181-BF11-9C21CD909416")
MultiRendererFilter55;
#endif

EXTERN_C const CLSID CLSID_MultiRendererFilter56;

#ifdef __cplusplus

class DECLSPEC_UUID("75FEDC56-D525-4181-BF11-9C21CD909416")
MultiRendererFilter56;
#endif

EXTERN_C const CLSID CLSID_MultiRendererFilter57;

#ifdef __cplusplus

class DECLSPEC_UUID("75FEDC57-D525-4181-BF11-9C21CD909416")
MultiRendererFilter57;
#endif

EXTERN_C const CLSID CLSID_MultiRendererFilter60;

#ifdef __cplusplus

class DECLSPEC_UUID("75FEDC60-D525-4181-BF11-9C21CD909416")
MultiRendererFilter60;
#endif

EXTERN_C const CLSID CLSID_MultiRendererFilter61;

#ifdef __cplusplus

class DECLSPEC_UUID("75FEDC61-D525-4181-BF11-9C21CD909416")
MultiRendererFilter61;
#endif

EXTERN_C const CLSID CLSID_MultiRendererFilter62;

#ifdef __cplusplus

class DECLSPEC_UUID("75FEDC62-D525-4181-BF11-9C21CD909416")
MultiRendererFilter62;
#endif

EXTERN_C const CLSID CLSID_MultiRendererFilter63;

#ifdef __cplusplus

class DECLSPEC_UUID("75FEDC63-D525-4181-BF11-9C21CD909416")
MultiRendererFilter63;
#endif

EXTERN_C const CLSID CLSID_MultiRendererFilter64;

#ifdef __cplusplus

class DECLSPEC_UUID("75FEDC64-D525-4181-BF11-9C21CD909416")
MultiRendererFilter64;
#endif

EXTERN_C const CLSID CLSID_MultiRendererFilter65;

#ifdef __cplusplus

class DECLSPEC_UUID("75FEDC65-D525-4181-BF11-9C21CD909416")
MultiRendererFilter65;
#endif

EXTERN_C const CLSID CLSID_MultiRendererFilter66;

#ifdef __cplusplus

class DECLSPEC_UUID("75FEDC66-D525-4181-BF11-9C21CD909416")
MultiRendererFilter66;
#endif

EXTERN_C const CLSID CLSID_MultiRendererFilter67;

#ifdef __cplusplus

class DECLSPEC_UUID("75FEDC67-D525-4181-BF11-9C21CD909416")
MultiRendererFilter67;
#endif

EXTERN_C const CLSID CLSID_MultiRendererFilter70;

#ifdef __cplusplus

class DECLSPEC_UUID("75FEDC70-D525-4181-BF11-9C21CD909416")
MultiRendererFilter70;
#endif

EXTERN_C const CLSID CLSID_MultiRendererFilter71;

#ifdef __cplusplus

class DECLSPEC_UUID("75FEDC71-D525-4181-BF11-9C21CD909416")
MultiRendererFilter71;
#endif

EXTERN_C const CLSID CLSID_MultiRendererFilter72;

#ifdef __cplusplus

class DECLSPEC_UUID("75FEDC72-D525-4181-BF11-9C21CD909416")
MultiRendererFilter72;
#endif

EXTERN_C const CLSID CLSID_MultiRendererFilter73;

#ifdef __cplusplus

class DECLSPEC_UUID("75FEDC73-D525-4181-BF11-9C21CD909416")
MultiRendererFilter73;
#endif

EXTERN_C const CLSID CLSID_MultiRendererFilter74;

#ifdef __cplusplus

class DECLSPEC_UUID("75FEDC74-D525-4181-BF11-9C21CD909416")
MultiRendererFilter74;
#endif

EXTERN_C const CLSID CLSID_MultiRendererFilter75;

#ifdef __cplusplus

class DECLSPEC_UUID("75FEDC75-D525-4181-BF11-9C21CD909416")
MultiRendererFilter75;
#endif

EXTERN_C const CLSID CLSID_MultiRendererFilter76;

#ifdef __cplusplus

class DECLSPEC_UUID("75FEDC76-D525-4181-BF11-9C21CD909416")
MultiRendererFilter76;
#endif

EXTERN_C const CLSID CLSID_MultiRendererFilter77;

#ifdef __cplusplus

class DECLSPEC_UUID("75FEDC77-D525-4181-BF11-9C21CD909416")
MultiRendererFilter77;
#endif

EXTERN_C const CLSID CLSID_PPRenderFilter;

#ifdef __cplusplus

class DECLSPEC_UUID("75FEDC80-D525-4181-BF11-9C21CD909416")
PPRenderFilter;
#endif

EXTERN_C const CLSID CLSID_MRQualityPP;

#ifdef __cplusplus

class DECLSPEC_UUID("75FEDC81-D525-4181-BF11-9C21CD909416")
MRQualityPP;
#endif
#endif /* __AJAMultiRendererLib_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


