;******************************************************************************
;
;   File:           XIStream.inf
;
;   Copyright (C) 2012 Magewell Electronics Co., Ltd. (Nanjing, China).
;
;******************************************************************************/

[Version]
signature = "$Windows NT$"
Class     = Media
ClassGUID = {4d36e96c-e325-11ce-bfc1-08002be10318}
Provider  = %MAGEWELL%
CatalogFile = XI006AE_Pro.cat
DriverVer = 05/21/2014,1.1.0.818

[SourceDisksNames]
1="Install disk",,,,disk1
2="Install disk",,,\x86,disk2

[SourceDisksNames.amd64]
1="Install disk",,,,disk1
2="Install disk",,,\x64,disk2

[SourceDisksFiles]
XI006AE_Pro.sys = 2
XIStreamFirmware.dll = 1
XIStreamADV7180.dll = 1
XIStreamHDCapture.dll = 1
XIStreamConfig.dll=1
XIStreamFirmware_x64.dll = 1
XIStreamADV7180_x64.dll = 1
XIStreamHDCapture_x64.dll = 1
XIStreamConfig_x64.dll=1

[DestinationDirs]
XI006AE_Pro.Drivers		= 12
XI006AE_Pro.PropPages32	= 11
XI006AE_Pro.PropPages64	= 11
XI006AE_Pro.PropPagesWOW= 10,SysWOW64

[XI006AE_Pro.Drivers]
XI006AE_Pro.sys

[XI006AE_Pro.PropPages32]
XIStreamFirmware.dll
XIStreamADV7180.dll
XIStreamHDCapture.dll
XIStreamConfig.dll

[XI006AE_Pro.PropPages64]
XIStreamFirmware_x64.dll
XIStreamADV7180_x64.dll
XIStreamHDCapture_x64.dll
XIStreamConfig_x64.dll

[XI006AE_Pro.PropPagesWOW]
XIStreamFirmware.dll
XIStreamADV7180.dll
XIStreamHDCapture.dll
XIStreamConfig.dll

[XI006AE_Pro.KnownFiles]
XI006AE_Pro.sys=force
XIStreamFirmware.dll=force
XIStreamADV7180.dll=force
XIStreamHDCapture.dll=force
XIStreamConfig.dll=force
XIStreamFirmware_x64.dll=force
XIStreamADV7180_x64.dll=force
XIStreamHDCapture_x64.dll=force
XIStreamConfig_x64.dll=force

[Manufacturer]
%MAGEWELL% = MAGEWELL,ntx86,ntamd64

[MAGEWELL.ntx86]
%XI006AE_Pro.DeviceDesc% = XI006AE_Pro.Device, PCI\VEN_1172&DEV_A006&SUBSYS_A0061172

[MAGEWELL.ntamd64]
%XI006AE_Pro.DeviceDesc% = XI006AE_Pro.Device, PCI\VEN_1172&DEV_A006&SUBSYS_A0061172

;---------------------------------------------------------------
;                DDInstall
;---------------------------------------------------------------

[XI006AE_Pro.Device.ntx86]
Include    = ks.inf, kscaptur.inf, ksfilter.inf, wdmaudio.inf
Needs      = KS.Registration,KSCAPTUR.Registration.NT, WDMAUDIO.Registration
AddReg	   = XI006AE_Pro.AddReg
CopyFiles  = XI006AE_Pro.Drivers,XI006AE_Pro.PropPages32
KnownFiles = XI006AE_Pro.KnownFiles
RegisterDlls= XI006AE_Pro.RegSvr

[XI006AE_Pro.Device.ntamd64]
Include    = ks.inf, kscaptur.inf, ksfilter.inf, wdmaudio.inf
Needs      = KS.Registration,KSCAPTUR.Registration.NT, WDMAUDIO.Registration
AddReg	   = XI006AE_Pro.AddReg, XI006AE_Pro.AddReg64
CopyFiles  = XI006AE_Pro.Drivers,XI006AE_Pro.PropPages64,XI006AE_Pro.PropPagesWOW
KnownFiles = XI006AE_Pro.KnownFiles
RegisterDlls= XI006AE_Pro.RegSvr64

[XI006AE_Pro.RegSvr]
11,,XIStreamFirmware.dll,1
11,,XIStreamADV7180.dll,1
11,,XIStreamHDCapture.dll,1
11,,XIStreamConfig.dll,1

[XI006AE_Pro.RegSvr64]
11,,XIStreamFirmware_x64.dll,1
11,,XIStreamADV7180_x64.dll,1
11,,XIStreamHDCapture_x64.dll,1
11,,XIStreamConfig_x64.dll,1
10,SysWOW64,XIStreamFirmware.dll,1
10,SysWOW64,XIStreamHDCapture.dll,1
10,SysWOW64,XIStreamConfig.dll,1

;---------------------------------------------------------------
;                Interfaces
;---------------------------------------------------------------

[XI006AE_Pro.Device.ntx86.Interfaces]
AddInterface = %KSCATEGORY_CAPTURE%,"V1",V1,
AddInterface = %KSCATEGORY_VIDEO%,"V1",V1,
AddInterface = %KSCATEGORY_CAPTURE%,"V2",V2,
AddInterface = %KSCATEGORY_VIDEO%,"V2",V2,
AddInterface = %KSCATEGORY_CAPTURE%,"V3",V3,
AddInterface = %KSCATEGORY_VIDEO%,"V3",V3,
AddInterface = %KSCATEGORY_CAPTURE%,"V4",V4,
AddInterface = %KSCATEGORY_VIDEO%,"V4",V4,
AddInterface = %KSCATEGORY_CAPTURE%,"V5",V5,
AddInterface = %KSCATEGORY_VIDEO%,"V5",V5,
AddInterface = %KSCATEGORY_CAPTURE%,"V6",V6,
AddInterface = %KSCATEGORY_VIDEO%,"V6",V6,
AddInterface = %KSCATEGORY_CAPTURE%,"A1",A1,
AddInterface = %KSCATEGORY_AUDIO%,"A1",A1,
AddInterface = %KSCATEGORY_CAPTURE%,"A2",A2,
AddInterface = %KSCATEGORY_AUDIO%,"A2",A2,
AddInterface = %KSCATEGORY_CAPTURE%,"A3",A3,
AddInterface = %KSCATEGORY_AUDIO%,"A3",A3,
AddInterface = %KSCATEGORY_CAPTURE%,"A4",A4,
AddInterface = %KSCATEGORY_AUDIO%,"A4",A4,
AddInterface = %KSCATEGORY_CAPTURE%,"A5",A5,
AddInterface = %KSCATEGORY_AUDIO%,"A5",A5,
AddInterface = %KSCATEGORY_CAPTURE%,"A6",A6,
AddInterface = %KSCATEGORY_AUDIO%,"A6",A6,

[XI006AE_Pro.Device.ntamd64.Interfaces]
AddInterface = %KSCATEGORY_CAPTURE%,"V1",V1,
AddInterface = %KSCATEGORY_VIDEO%,"V1",V1,
AddInterface = %KSCATEGORY_CAPTURE%,"V2",V2,
AddInterface = %KSCATEGORY_VIDEO%,"V2",V2,
AddInterface = %KSCATEGORY_CAPTURE%,"V3",V3,
AddInterface = %KSCATEGORY_VIDEO%,"V3",V3,
AddInterface = %KSCATEGORY_CAPTURE%,"V4",V4,
AddInterface = %KSCATEGORY_VIDEO%,"V4",V4,
AddInterface = %KSCATEGORY_CAPTURE%,"V5",V5,
AddInterface = %KSCATEGORY_VIDEO%,"V5",V5,
AddInterface = %KSCATEGORY_CAPTURE%,"V6",V6,
AddInterface = %KSCATEGORY_VIDEO%,"V6",V6,
AddInterface = %KSCATEGORY_CAPTURE%,"A1",A1,
AddInterface = %KSCATEGORY_AUDIO%,"A1",A1,
AddInterface = %KSCATEGORY_CAPTURE%,"A2",A2,
AddInterface = %KSCATEGORY_AUDIO%,"A2",A2,
AddInterface = %KSCATEGORY_CAPTURE%,"A3",A3,
AddInterface = %KSCATEGORY_AUDIO%,"A3",A3,
AddInterface = %KSCATEGORY_CAPTURE%,"A4",A4,
AddInterface = %KSCATEGORY_AUDIO%,"A4",A4,
AddInterface = %KSCATEGORY_CAPTURE%,"A5",A5,
AddInterface = %KSCATEGORY_AUDIO%,"A5",A5,
AddInterface = %KSCATEGORY_CAPTURE%,"A6",A6,
AddInterface = %KSCATEGORY_AUDIO%,"A6",A6,

[V1]
AddReg = V1.AddReg

[V2]
AddReg = V2.AddReg

[V3]
AddReg = V3.AddReg

[V4]
AddReg = V4.AddReg

[V5]
AddReg = V5.AddReg

[V6]
AddReg = V6.AddReg

[A1]
AddReg = A1.AddReg

[A2]
AddReg = A2.AddReg

[A3]
AddReg = A3.AddReg

[A4]
AddReg = A4.AddReg

[A5]
AddReg = A5.AddReg

[A6]
AddReg = A6.AddReg

[XI006AE_Pro.AddReg]
HKR,,AssociatedFilters,,"wdmaud,swmidi,redbook"
HKR,,Driver,,XI006AE_Pro.sys
HKR,Drivers,SubClasses,,"wave,mixer"
HKR,Drivers\wave\wdmaud.drv,Driver,,wdmaud.drv
HKR,Drivers\mixer\wdmaud.drv,Driver,,wdmaud.drv
HKR,Drivers\wave\wdmaud.drv,Description,,%XI006AE_Pro.AudioCapture%
HKR,Drivers\mixer\wdmaud.drv,Description,,%XI006AE_Pro.AudioCapture%

HKLM, %MediaCategories%\{919AC461-E76D-44fa-90B5-ED4EE33157B0},Name,,"Audio 1"
HKLM, %MediaCategories%\{919AC462-E76D-44fa-90B5-ED4EE33157B0},Name,,"Audio 2"
HKLM, %MediaCategories%\{919AC463-E76D-44fa-90B5-ED4EE33157B0},Name,,"Audio 3"
HKLM, %MediaCategories%\{919AC464-E76D-44fa-90B5-ED4EE33157B0},Name,,"Audio 4"
HKLM, %MediaCategories%\{919AC465-E76D-44fa-90B5-ED4EE33157B0},Name,,"Audio 5"
HKLM, %MediaCategories%\{919AC466-E76D-44fa-90B5-ED4EE33157B0},Name,,"Audio 6"

HKLM, System\CurrentControlSet\Services\XI006AE_Pro,EnableSquareMode,0x00010001,1

; 0 - No Deinterlace, 1 - Blend Detinerlace, 2 - Motion Adaptive Deinterlace
HKLM, System\CurrentControlSet\Services\XI006AE_Pro,SDDeinterlace,0x00010001,1
; 0 - Do not keep aspect ratio, 1 - Add black border to keep aspect ratio, 2 - Clip border to keep aspect ratio
HKLM, System\CurrentControlSet\Services\XI006AE_Pro,SDScale,0x00010001,1
; 0 - Color bar, 1 - Blue screen, 2 - Black screen
HKLM, System\CurrentControlSet\Services\XI006AE_Pro,SDStatusImageMode,0x00010001,0
; 0 - Single stream, 1 - SimuStream with same video format, 2 - SimuStream with arbitrary video format
HKLM, System\CurrentControlSet\Services\XI006AE_Pro,SDSimuStreamType,0x00010001,1

HKLM, System\CurrentControlSet\Services\XI006AE_Pro,SDSharpness,0x00010001,30

HKLM, System\CurrentControlSet\Services\XI006AE_Pro,AutoLumaGain,0x00010001,0
HKLM, System\CurrentControlSet\Services\XI006AE_Pro,LumaGain,0x00010001,1600
HKLM, System\CurrentControlSet\Services\XI006AE_Pro,AutoChromaGain,0x00010001,0
HKLM, System\CurrentControlSet\Services\XI006AE_Pro,ChromaGain,0x00010001,910
HKLM, System\CurrentControlSet\Services\XI006AE_Pro,DenoiseStrength,0x00010001,4

; Disable extra formats with different size: 1
HKLM, System\CurrentControlSet\Services\XI006AE_Pro,DisableExtraFormats,0x00010001,0
; Disable color space outputs: RGB24/0x04, RGB32/0x08, YUY2/0x60, UYVY/0x100, I420/0x1400, NV12/0x4000
HKLM, System\CurrentControlSet\Services\XI006AE_Pro,DisableColorSpaceMasks,0x00010001,0
HKLM, System\CurrentControlSet\Services\XI006AE_Pro,EnablePreviewPin,0x00010001,0

[XI006AE_Pro.AddReg64]
HKLM, %RunOnce%, "XIStreamFirmware.dll",,"%11%\regsvr32.exe /s %10%\SysWOW64\XIStreamFirmware.dll"
HKLM, %RunOnce%, "XIStreamADV7180.dll",,"%11%\regsvr32.exe /s %10%\SysWOW64\XIStreamADV7180.dll"
HKLM, %RunOnce%, "XIStreamHDCapture.dll",,"%11%\regsvr32.exe /s %10%\SysWOW64\XIStreamHDCapture.dll"
HKLM, %RunOnce%, "XIStreamConfig.dll",,"%11%\regsvr32.exe /s %10%\SysWOW64\XIStreamConfig.dll"

[V1.AddReg]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%XI006AE_Pro.V1%
HKR,PageAliases,%VideoStreamConfigPropertyPage.CLSID%,1,0xDD, 0x6E, 0x32, 0x8B, 0x4F, 0xA8, 0xB8, 0x41, 0x8E, 0x1E, 0x5B, 0x4A, 0xD1, 0xBC, 0xE5, 0xAB

[V2.AddReg]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%XI006AE_Pro.V2%
HKR,PageAliases,%VideoStreamConfigPropertyPage.CLSID%,1,0xDD, 0x6E, 0x32, 0x8B, 0x4F, 0xA8, 0xB8, 0x41, 0x8E, 0x1E, 0x5B, 0x4A, 0xD1, 0xBC, 0xE5, 0xAB

[V3.AddReg]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%XI006AE_Pro.V3%
HKR,PageAliases,%VideoStreamConfigPropertyPage.CLSID%,1,0xDD, 0x6E, 0x32, 0x8B, 0x4F, 0xA8, 0xB8, 0x41, 0x8E, 0x1E, 0x5B, 0x4A, 0xD1, 0xBC, 0xE5, 0xAB

[V4.AddReg]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%XI006AE_Pro.V4%
HKR,PageAliases,%VideoStreamConfigPropertyPage.CLSID%,1,0xDD, 0x6E, 0x32, 0x8B, 0x4F, 0xA8, 0xB8, 0x41, 0x8E, 0x1E, 0x5B, 0x4A, 0xD1, 0xBC, 0xE5, 0xAB

[V5.AddReg]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%XI006AE_Pro.V5%
HKR,PageAliases,%VideoStreamConfigPropertyPage.CLSID%,1,0xDD, 0x6E, 0x32, 0x8B, 0x4F, 0xA8, 0xB8, 0x41, 0x8E, 0x1E, 0x5B, 0x4A, 0xD1, 0xBC, 0xE5, 0xAB

[V6.AddReg]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%XI006AE_Pro.V6%
HKR,PageAliases,%VideoStreamConfigPropertyPage.CLSID%,1,0xDD, 0x6E, 0x32, 0x8B, 0x4F, 0xA8, 0xB8, 0x41, 0x8E, 0x1E, 0x5B, 0x4A, 0xD1, 0xBC, 0xE5, 0xAB

[A1.AddReg]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%XI006AE_Pro.A1%

[A2.AddReg]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%XI006AE_Pro.A2%

[A3.AddReg]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%XI006AE_Pro.A3%

[A4.AddReg]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%XI006AE_Pro.A4%

[A5.AddReg]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%XI006AE_Pro.A5%

[A6.AddReg]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%XI006AE_Pro.A6%

;---------------------------------------------------------------
;                Services
;---------------------------------------------------------------

[XI006AE_Pro.Device.ntx86.Services]
AddService = XI006AE_Pro,0x00000002,XI006AE_Pro.ServiceInstall

[XI006AE_Pro.Device.ntamd64.Services]
AddService = XI006AE_Pro,0x00000002,XI006AE_Pro.ServiceInstall

[XI006AE_Pro.ServiceInstall]
DisplayName   = %XI006AE_Pro.ServiceDesc%
ServiceType   = %SERVICE_KERNEL_DRIVER%
StartType     = %SERVICE_DEMAND_START%
ErrorControl  = %SERVICE_ERROR_NORMAL%
ServiceBinary = %12%\XI006AE_Pro.sys

;---------------------------------------------------------------
;                Services
;---------------------------------------------------------------

[Strings]
SERVICE_KERNEL_DRIVER 	= 1
SERVICE_DEMAND_START   	= 3
SERVICE_ERROR_NORMAL  	= 1
MAGEWELL           			= "Magewell Electronics Co., Ltd. (Nanjing, China)"
XI006AE_Pro.ServiceDesc		= "XI006AE-Pro Card Driver"
XI006AE_Pro.DeviceDesc 		= "XI006AE-Pro Card"
KSCATEGORY_CAPTURE		= "{65E8773D-8F56-11D0-A3B9-00A0C9223196}"
KSCATEGORY_VIDEO		= "{6994AD05-93EF-11D0-A3CC-00A0C9223196}"
KSCATEGORY_AUDIO		= "{6994AD04-93EF-11D0-A3CC-00A0C9223196}"
Proxy.CLSID				= "{17CCA71B-ECD7-11D0-B908-00A0C9223196}"
XI006AE_Pro.AudioCapture	= "XI006AE-Pro Audio Capture"
XI006AE_Pro.V1      		= "Video 1 (XI006AE-Pro Card)"
XI006AE_Pro.V2				= "Video 2 (XI006AE-Pro Card)"
XI006AE_Pro.V3				= "Video 3 (XI006AE-Pro Card)"
XI006AE_Pro.V4				= "Video 4 (XI006AE-Pro Card)"
XI006AE_Pro.V5				= "Video 5 (XI006AE-Pro Card)"
XI006AE_Pro.V6				= "Video 6 (XI006AE-Pro Card)"
XI006AE_Pro.A1				= "Audio 1 (XI006AE-Pro Card)"
XI006AE_Pro.A2				= "Audio 2 (XI006AE-Pro Card)"
XI006AE_Pro.A3				= "Audio 3 (XI006AE-Pro Card)"
XI006AE_Pro.A4				= "Audio 4 (XI006AE-Pro Card)"
XI006AE_Pro.A5				= "Audio 5 (XI006AE-Pro Card)"
XI006AE_Pro.A6				= "Audio 6 (XI006AE-Pro Card)"
MediaCategories			= "SYSTEM\CurrentControlSet\Control\MediaCategories"
VideoStreamConfigPropertyPage.CLSID="{71F96467-78F3-11d0-A18C-00A0C9118956}"
RunOnce                 = "Software\Microsoft\Windows\CurrentVersion\RunOnce"

[Templates]
TemplateCount = 13
TemplateString1 = Strings, XI006AE_Pro.DeviceDesc, XI006AE-Pro Card %d
TemplateString2 = Strings, XI006AE_Pro.V1, Video 1 (XI006AE-Pro Card %d)
TemplateString3 = Strings, XI006AE_Pro.V2, Video 2 (XI006AE-Pro Card %d)
TemplateString4 = Strings, XI006AE_Pro.V3, Video 3 (XI006AE-Pro Card %d)
TemplateString5 = Strings, XI006AE_Pro.V4, Video 4 (XI006AE-Pro Card %d)
TemplateString6 = Strings, XI006AE_Pro.V5, Video 5 (XI006AE-Pro Card %d)
TemplateString7 = Strings, XI006AE_Pro.V6, Video 6 (XI006AE-Pro Card %d)
TemplateString8 = Strings, XI006AE_Pro.A1, Audio 1 (XI006AE-Pro Card %d)
TemplateString9 = Strings, XI006AE_Pro.A2, Audio 2 (XI006AE-Pro Card %d)
TemplateString10 = Strings, XI006AE_Pro.A3, Audio 3 (XI006AE-Pro Card %d)
TemplateString11 = Strings, XI006AE_Pro.A4, Audio 4 (XI006AE-Pro Card %d)
TemplateString12 = Strings, XI006AE_Pro.A5, Audio 5 (XI006AE-Pro Card %d)
TemplateString13 = Strings, XI006AE_Pro.A6, Audio 6 (XI006AE-Pro Card %d)
