Commit f81980b4 authored by Jean-Baptiste Kempf's avatar Jean-Baptiste Kempf

Win32: prepare for Dshow freq and video standard options

By adding the required enums from ks.h and ksmedia.h
Those are copied from MSDN online documentation
parent 1b3bce18
...@@ -97,3 +97,116 @@ struct access_sys_t ...@@ -97,3 +97,116 @@ struct access_sys_t
int i_chroma; int i_chroma;
bool b_chroma; /* Force a specific chroma on the dshow input */ bool b_chroma; /* Force a specific chroma on the dshow input */
}; };
/****************************************************************************
* The following should be in ks.h and ksmedia.h, but since they are not in
* the current version of Mingw, we will be defined here.
****************************************************************************/
/* http://msdn.microsoft.com/en-us/library/ff567297%28VS.85%29.aspx */
typedef enum {
KS_AnalogVideo_None = 0x00000000,
KS_AnalogVideo_NTSC_M = 0x00000001,
KS_AnalogVideo_NTSC_M_J = 0x00000002,
KS_AnalogVideo_NTSC_433 = 0x00000004,
KS_AnalogVideo_PAL_B = 0x00000010,
KS_AnalogVideo_PAL_D = 0x00000020,
KS_AnalogVideo_PAL_G = 0x00000040,
KS_AnalogVideo_PAL_H = 0x00000080,
KS_AnalogVideo_PAL_I = 0x00000100,
KS_AnalogVideo_PAL_M = 0x00000200,
KS_AnalogVideo_PAL_N = 0x00000400,
KS_AnalogVideo_PAL_60 = 0x00000800,
KS_AnalogVideo_SECAM_B = 0x00001000,
KS_AnalogVideo_SECAM_D = 0x00002000,
KS_AnalogVideo_SECAM_G = 0x00004000,
KS_AnalogVideo_SECAM_H = 0x00008000,
KS_AnalogVideo_SECAM_K = 0x00010000,
KS_AnalogVideo_SECAM_K1 = 0x00020000,
KS_AnalogVideo_SECAM_L = 0x00040000,
KS_AnalogVideo_SECAM_L1 = 0x00080000,
KS_AnalogVideo_PAL_N_COMBO = 0x00100000
} KS_AnalogVideoStandard;
/* http://msdn.microsoft.com/en-us/library/ff567800%28VS.85%29.aspx and following */
typedef enum {
KSPROPERTY_TUNER_CAPS, // R -overall device capabilities
KSPROPERTY_TUNER_MODE_CAPS, // R -capabilities in this mode
KSPROPERTY_TUNER_MODE, // RW -set a mode (TV, FM, AM, DSS)
KSPROPERTY_TUNER_STANDARD, // R -get TV standard (only if TV mode)
KSPROPERTY_TUNER_FREQUENCY, // RW -set/get frequency
KSPROPERTY_TUNER_INPUT, // RW -select an input
KSPROPERTY_TUNER_STATUS, // R -tuning status
/* Optional */
KSPROPERTY_TUNER_IF_MEDIUM, // R O-Medium for IF or Transport Pin
/* Mandatory for Vista and + */
KSPROPERTY_TUNER_SCAN_CAPS, // R -overall device capabilities for scanning
/* Optional ones */
KSPROPERTY_TUNER_SCAN_STATUS, // R -status of scan
KSPROPERTY_TUNER_STANDARD_MODE, // RW -autodetect mode for signal standard
KSPROPERTY_TUNER_NETWORKTYPE_SCAN_CAPS // R -network type specific tuner capabilities
} KSPROPERTY_TUNER;
/* http://msdn.microsoft.com/en-us/library/ff567689%28v=VS.85%29.aspx */
typedef enum {
KS_TUNER_TUNING_EXACT = 1, // Tunes directly to the right freq
KS_TUNER_TUNING_FINE, // Comprehensive search to the right freq
KS_TUNER_TUNING_COARSE, // Fast search
}KS_TUNER_TUNING_FLAGS;
/* http://msdn.microsoft.com/en-us/library/ff567687%28v=VS.85%29.aspx */
typedef enum {
KS_TUNER_STRATEGY_PLL = 0X01, // Phase locked loop (PLL) offset tuning
KS_TUNER_STRATEGY_SIGNAL_STRENGTH = 0X02, // Signal strength tuning
KS_TUNER_STRATEGY_DRIVER_TUNES = 0X04, // Driver tunes
}KS_TUNER_STRATEGY;
/* http://msdn.microsoft.com/en-us/library/ff562676%28VS.85%29.aspx */
typedef struct {
union {
struct {
GUID Set;
ULONG Id;
ULONG Flags;
};
LONGLONG Alignment;
};
} KSIDENTIFIER, *PKSIDENTIFIER;
typedef KSIDENTIFIER KSPROPERTY, *PKSPROPERTY;
/* http://msdn.microsoft.com/en-us/library/ff565872%28v=VS.85%29.aspx */
typedef struct {
KSPROPERTY Property;
ULONG Mode; // KSPROPERTY_TUNER_MODE_*
ULONG StandardsSupported; // KS_AnalogVideo_* (if Mode is TV or DSS)
ULONG MinFrequency; // Hz
ULONG MaxFrequency; // Hz
ULONG TuningGranularity; // Hz
ULONG NumberOfInputs; // number of inputs
ULONG SettlingTime; // milliSeconds
ULONG Strategy; // KS_TUNER_STRATEGY
} KSPROPERTY_TUNER_MODE_CAPS_S, *PKSPROPERTY_TUNER_MODE_CAPS_S;
/* http://msdn.microsoft.com/en-us/library/ff565839%28v=VS.85%29.aspx */
typedef struct {
KSPROPERTY Property;
ULONG Frequency; // Hz
ULONG LastFrequency; // Hz (last tuned)
ULONG TuningFlags; // KS_TUNER_TUNING_FLAGS
ULONG VideoSubChannel; // DSS
ULONG AudioSubChannel; // DSS
ULONG Channel; // VBI decoders
ULONG Country; // VBI decoders
} KSPROPERTY_TUNER_FREQUENCY_S, *PKSPROPERTY_TUNER_FREQUENCY_S;
/* http://msdn.microsoft.com/en-us/library/ff565918%28v=VS.85%29.aspx */
typedef struct {
KSPROPERTY Property;
ULONG Standard; // KS_AnalogVideo_*
} KSPROPERTY_TUNER_STANDARD_S, *PKSPROPERTY_TUNER_STANDARD_S;
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment