;////////////////////////////////////////////////////////////////////////////////
;//
;//                     Copyright (c) Hauppauge Computer Works Inc. 2010-2011
;//
;//      All rights are reserved.  Reproduction in whole or in part is prohibited
;//      without the written consent of the copyright owner.
;//
;//      Hauppauge, Inc. reserves the right to make changes without notice at any time.
;//      Hauppauge, Inc. makes no warranty, expressed, implied or statutory, including
;//      but not limited to any implied warranty of merchantibility of fitness
;//      for any particular purpose, or that the use will not infringe any
;//      third party patent, copyright or trademark.
;//
;//      Hauppauge, Inc. must not be liable for any loss or damage arising from its use.
;//
;////////////////////////////////////////////////////////////////////////////////

;////////////////////////////////////////////////////////////////////////////////
;//
;// hcw49cap.inf
;//
;// This file contains installation information
;// for the HD PVR USB capture device.
;//
;////////////////////////////////////////////////////////////////////////////////

[Version]
Signature="$Windows NT$"
Class=MEDIA
ClassGUID={4d36e96c-e325-11ce-bfc1-08002be10318}
Provider=%Vendor%
CatalogFile=hcwhdpvr.cat
DriverVer=02/28/2012,1.7.30059.1

[Manufacturer]
%MfgName%=Hauppauge,NTx86

[Hauppauge.NTx86]
%hcw49cap.DeviceDesc%=hcw49cap.NTx86,USB\VID_2040&PID_4900
%hcw49cap.DeviceDesc%=hcw49cap.NTx86,USB\VID_2040&PID_4901
%hcw49cap.DeviceDesc%=hcw49cap.NTx86,USB\VID_2040&PID_4902
%hcw49cap.DeviceDesc%=hcw49cap.NTx86,USB\VID_2040&PID_4903
%hcw49cap.DeviceDesc%=hcw49cap.NTx86,USB\VID_2040&PID_4980
%hcw49cap.DeviceDesc%=hcw49cap.NTx86,USB\VID_2040&PID_4981
%hcw49cap.DeviceDesc%=hcw49cap.NTx86,USB\VID_2040&PID_4982
%hcw49cap.DeviceDesc%=hcw49cap.NTx86,USB\VID_2040&PID_4983


;------------------------------------------ Install Section -------------------------------------
[hcw49cap.NTx86]
Include      = ks.inf,kscaptur.inf,ksfilter.inf,wdmaudio.inf,bda.inf
Needs        = KS.Registration.NT,KSCAPTUR.Registration.NT,WDMAUDIO.Registration,BDA.Registration,BDA.Installation.NT
DelReg       = hcw49cap.DelReg
AddReg       = hcw49cap.AddReg
CopyFiles    = hcw49cap.CopyDrivers,hcw49cap.CopyFiles
RegisterDlls = hcw49cap.RegisterDlls


; ------------------------------------ Service Install Sections ---------------------------------
[hcw49cap.NTx86.Services]
AddService=hcwhdpvr,0x00000002,hcw49cap.ServiceInstall

[hcw49cap.ServiceInstall]
DisplayName  = %hcw49cap.SvcName%
Description  = %hcw49cap.SvcDesc%
ServiceType  = 1	;SERVICE_KERNEL_DRIVER
StartType    = 3	;SERVICE_DEMAND_START
ErrorControl = 1	;SERVICE_ERROR_NORMAL
ServiceBinary = %12%\hcwhdpvr.sys

[hcw49cap.NTx86.HW]
AddReg = hcw49cap.AddReg.Hw


; ----------------------------------- Interface Install Sections --------------------------------
[hcw49cap.NTx86.Interfaces]
AddInterface=%KSCATEGORY_CAPTURE%,%KSNAME_CAPTURE_FILTER%,VideoCaptureTV,
AddInterface=%KSCATEGORY_CROSSBAR%,%KSNAME_CAPTURE_FILTER%,VideoCrossbar,
AddInterface=%KSCATEGORY_ENCODER%,%KSNAME_ENCODER_FILTER%,VideoEncoder,
AddInterface=%KSCATEGORY_MULTIPLEXER%,%KSNAME_ENCODER_FILTER%,VideoEncoder,

[VideoCaptureTV]
AddReg=VideoCaptureTV.AddReg

[VideoCrossbar]
AddReg=VideoXBar.AddReg

[VideoEncoder]
AddReg=VideoEncoder.AddReg

[VideoCaptureTV.AddReg]
HKR,,CLSID,,%KSProxy.CLSID%
HKR,,FriendlyName,,%hcw49cap.DeviceDesc%

[VideoXBar.AddReg]
HKR,,CLSID,,%KSXBar.CLSID%
HKR,,FriendlyName,,%hcw49cap.Crossbar%

[VideoEncoder.AddReg]
HKR,,CLSID,,%KSProxy.CLSID%
HKR,,FriendlyName,,%hcw49cap.Encoder%
HKR,Interfaces\{B43C4EEC-8C32-4791-9102-508ADA5EE8E7},,,

; Dynamic bitrate change
HKR,Capabilities,"{BB4FAA02-596C-4129-8FB3-74E75421FA02}", 0x00010001,1


;------------------------------------ File Copy related Sections --------------------------------
[SourceDisksNames]
1=%DiskLabel%,,,"Driver49"		;32/64bit machine, Non-Bit-Specific Components
2=%DiskLabel64%,,,"Driver49\64bit"	;64bit machine, 64bit components
3=%DiskLabelWOW%,,,"Driver49\WOW64"	;64bit machine, 32bit components (WOW64)

[SourceDisksFiles]
hcwhdpvr.sys=1
hcwhdpvr.rom=1
hcwhdpvr.ax=1

[DestinationDirs]
hcw49cap.CopyDrivers=12
hcw49cap.CopyFiles=11

[hcw49cap.CopyDrivers]
hcwhdpvr.sys
hcwhdpvr.rom

[hcw49cap.CopyFiles]
hcwhdpvr.ax


;--------------------------------------- RegisterDLL sections  ----------------------------------
[hcw49cap.RegisterDlls]
11,,hcwhdpvr.ax,1	;FLG_REGSVR_DLLREGISTER


;----------------------------------------- DelReg sections --------------------------------------
[hcw49cap.DelReg]
; Clear the tree first
HKR,HwConfig
HKR,Ambarella
HKR,Persist
HKR,,PageOutWhenUnopened


;----------------------------------------- AddReg sections --------------------------------------
[hcw49cap.AddReg]
HKR,,DevLoader,,*NTKERN
HKR,,NTMPDriver,,hcwhdpvr.sys
HKR,,DontSuspendIfStreamsAreRunning,3,01

; add input and output pinnames
HKLM,SYSTEM\CurrentControlSet\Control\MediaCategories\%GUID.PINNAME_ANALOG_AUDIO_IN%,"Name",,"Analog Audio In"
HKLM,SYSTEM\CurrentControlSet\Control\MediaCategories\%GUID.PINNAME_VIRT_VIDEO_IN%,"Name",,"Virtual Video In"
HKLM,SYSTEM\CurrentControlSet\Control\MediaCategories\%GUID.PINNAME_VIRT_AUDIO_IN%,"Name",,"Virtual Audio In"
HKLM,SYSTEM\CurrentControlSet\Control\MediaCategories\%GUID.PINNAME_VIRT_VIDEO_OUT%,"Name",,"Virtual Video Out"
HKLM,SYSTEM\CurrentControlSet\Control\MediaCategories\%GUID.PINNAME_VIRT_AUDIO_OUT%,"Name",,"Virtual Audio Out"
HKLM,SYSTEM\CurrentControlSet\Control\MediaCategories\%GUID.PINNAME_H264_OUT%,"Name",,"H.264 Out"

; FileNames
HKR,hcwhdpvr\Fw,hcwhdpvr,,\SystemRoot\system32\drivers\hcwhdpvr.rom

; set the default LPFStrength
HKR,Ambarella,LPFStrengthChroma,0x10001,3
HKR,Ambarella,LPFStrengthLuma,0x10001,3

; Reset the ProcAmp settings
HKR,Ambarella,ResetProcAmp,0x10001,1

; VCapFilter
HKLM,Software\Hauppauge\hcwTVWnd,"VCapFilter",0x4000,"%hcw49cap.DeviceDesc%"

[hcw49cap.AddReg.Hw]
HKLM,,FriendlyName,,%hcw49cap.DeviceDesc%


;---------------------------------------- Strings section -------------------------------------------
[Strings]
; Registry types
REG_SZ         = 0x00000000
REG_MULTI_SZ   = 0x00010000
REG_EXPAND_SZ  = 0x00020000
REG_BINARY     = 0x00000001
REG_DWORD      = 0x00010001

; Proxy GUIDs
KSProxy.CLSID  = "{17CCA71B-ECD7-11D0-B908-00A0C9223196}"
KSXBar.CLSID   = "{71F96460-78F3-11d0-A18C-00A0C9118956}"

; Category GUIDs
KSCATEGORY_CROSSBAR    = "{a799a801-a46d-11d0-a18c-00a02401dcd4}"
KSCATEGORY_CAPTURE     = "{65E8773D-8F56-11D0-A3B9-00A0C9223196}"
KSCATEGORY_ENCODER     = "{19689BF6-C384-48fd-AD51-90E58C79F70B}"
KSCATEGORY_MULTIPLEXER = "{7A5DE1D3-01A1-452c-B481-4FA2B96271E8}"
KSCATEGORY_AUDIO       = "{6994AD04-93EF-11D0-A3CC-00A0C9223196}"
KSCATEGORY_VIDEO       = "{6994AD05-93EF-11D0-A3CC-00A0C9223196}"

; Capture Filter Pin Name GUIDs
GUID.PINNAME_ANALOG_AUDIO_IN = "{2C0B4FFB-3CE8-4f34-AE98-618BAD6EAAAF}"
GUID.PINNAME_VIRT_VIDEO_IN   = "{476878CB-A52C-4efe-9975-03A8C7DDB440}"
GUID.PINNAME_VIRT_AUDIO_IN   = "{E751FC26-9583-4cfc-81F7-0A36FBA2B4ED}"
GUID.PINNAME_VIRT_VIDEO_OUT  = "{5DEDF652-71F0-48c3-98D8-DE564D10AE96}"
GUID.PINNAME_VIRT_AUDIO_OUT  = "{9A990B97-05FB-4d92-B496-C6ADFD2B07A6}"
GUID.PINNAME_H264_OUT        = "{21CD80CC-F4D3-4289-B203-EDC0F4EECDF4}"

; Filters reference GUIDs
KSNAME_CAPTURE_FILTER = "{A5D44047-56A5-4afd-A61C-176BB4ED375B}"
KSNAME_ENCODER_FILTER = "{84518C0D-BD1B-4299-BC30-6831A228138C}"

;----------------
; Localizable
;----------------
DiskLabel    = "Hauppauge HDPVR Install Disk"
DiskLabel64  = "Hauppauge HDPVR Install Disk (64Bit Components)"
DiskLabelWOW = "Hauppauge HDPVR Install Disk (WOW64 Components)"
Vendor = "Hauppauge Computer Works, Inc."
MfgName = "Hauppauge"

hcw49cap.DeviceDesc = "Hauppauge HD PVR Capture Device"
hcw49cap.SvcDesc    = "Hauppauge HD PVR Capture Driver"
hcw49cap.SvcName    = "Hauppauge HD PVR Capture Service"
hcw49cap.Crossbar   = "Hauppauge HD PVR Crossbar"
hcw49cap.Encoder    = "Hauppauge HD PVR Encoder"
