[vlc-commits] commit: Win32: prepare for Dshow freq and video standard options ( Jean-Baptiste Kempf )

git at videolan.org git at videolan.org
Mon Aug 9 19:34:13 CEST 2010


vlc | branch: master | Jean-Baptiste Kempf <jb at videolan.org> | Mon Aug  9 19:24:08 2010 +0200| [f81980b46f1ff69644168873c93d83e91bab15c6] | committer: 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

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=f81980b46f1ff69644168873c93d83e91bab15c6
---

 modules/access/dshow/common.h |  113 +++++++++++++++++++++++++++++++++++++++++
 1 files changed, 113 insertions(+), 0 deletions(-)

diff --git a/modules/access/dshow/common.h b/modules/access/dshow/common.h
index 6a3f2b5..a90d4b9 100644
--- a/modules/access/dshow/common.h
+++ b/modules/access/dshow/common.h
@@ -97,3 +97,116 @@ struct access_sys_t
     int            i_chroma;
     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;
+



More information about the vlc-commits mailing list