// AForge Direct Show Library // AForge.NET framework // http://www.aforgenet.com/framework/ // // Copyright © AForge.NET, 2009-2013 // contacts@aforgenet.com // namespace AForge.Video.DirectShow.Internals { using System; using System.Runtime.InteropServices; /// /// DirectShow class IDs. /// [ComVisible( false )] static internal class Clsid { /// /// System device enumerator. /// /// /// Equals to CLSID_SystemDeviceEnum. /// public static readonly Guid SystemDeviceEnum = new Guid( 0x62BE5D10, 0x60EB, 0x11D0, 0xBD, 0x3B, 0x00, 0xA0, 0xC9, 0x11, 0xCE, 0x86 ); /// /// Filter graph. /// /// /// Equals to CLSID_FilterGraph. /// public static readonly Guid FilterGraph = new Guid( 0xE436EBB3, 0x524F, 0x11CE, 0x9F, 0x53, 0x00, 0x20, 0xAF, 0x0B, 0xA7, 0x70 ); /// /// Sample grabber. /// /// /// Equals to CLSID_SampleGrabber. /// public static readonly Guid SampleGrabber = new Guid( 0xC1F400A0, 0x3F08, 0x11D3, 0x9F, 0x0B, 0x00, 0x60, 0x08, 0x03, 0x9E, 0x37 ); /// /// Capture graph builder. /// /// /// Equals to CLSID_CaptureGraphBuilder2. /// public static readonly Guid CaptureGraphBuilder2 = new Guid( 0xBF87B6E1, 0x8C27, 0x11D0, 0xB3, 0xF0, 0x00, 0xAA, 0x00, 0x37, 0x61, 0xC5 ); /// /// Async reader. /// /// /// Equals to CLSID_AsyncReader. /// public static readonly Guid AsyncReader = new Guid( 0xE436EBB5, 0x524F, 0x11CE, 0x9F, 0x53, 0x00, 0x20, 0xAF, 0x0B, 0xA7, 0x70 ); } /// /// DirectShow format types. /// /// [ComVisible( false )] static internal class FormatType { /// /// VideoInfo. /// /// /// Equals to FORMAT_VideoInfo. /// public static readonly Guid VideoInfo = new Guid( 0x05589F80, 0xC356, 0x11CE, 0xBF, 0x01, 0x00, 0xAA, 0x00, 0x55, 0x59, 0x5A ); /// /// VideoInfo2. /// /// /// Equals to FORMAT_VideoInfo2. /// public static readonly Guid VideoInfo2 = new Guid( 0xf72A76A0, 0xEB0A, 0x11D0, 0xAC, 0xE4, 0x00, 0x00, 0xC0, 0xCC, 0x16, 0xBA ); } /// /// DirectShow media types. /// /// [ComVisible( false )] static internal class MediaType { /// /// Video. /// /// /// Equals to MEDIATYPE_Video. /// public static readonly Guid Video = new Guid( 0x73646976, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71 ); /// /// Interleaved. Used by Digital Video (DV). /// /// /// Equals to MEDIATYPE_Interleaved. /// public static readonly Guid Interleaved = new Guid( 0x73766169, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71 ); /// /// Audio. /// /// /// Equals to MEDIATYPE_Audio. /// public static readonly Guid Audio = new Guid( 0x73647561, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71 ); /// /// Text. /// /// /// Equals to MEDIATYPE_Text. /// public static readonly Guid Text = new Guid( 0x73747874, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71 ); /// /// Byte stream with no time stamps. /// /// /// Equals to MEDIATYPE_Stream. /// public static readonly Guid Stream = new Guid( 0xE436EB83, 0x524F, 0x11CE, 0x9F, 0x53, 0x00, 0x20, 0xAF, 0x0B, 0xA7, 0x70 ); } /// /// DirectShow media subtypes. /// /// [ComVisible( false )] static internal class MediaSubType { /// /// YUY2 (packed 4:2:2). /// /// /// Equals to MEDIASUBTYPE_YUYV. /// public static readonly Guid YUYV = new Guid( 0x56595559, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71 ); /// /// IYUV. /// /// /// Equals to MEDIASUBTYPE_IYUV. /// public static readonly Guid IYUV = new Guid( 0x56555949, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71 ); /// /// A DV encoding format. (FOURCC 'DVSD') /// /// /// Equals to MEDIASUBTYPE_DVSD. /// public static readonly Guid DVSD = new Guid( 0x44535644, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71 ); /// /// RGB, 1 bit per pixel (bpp), palettized. /// /// /// Equals to MEDIASUBTYPE_RGB1. /// public static readonly Guid RGB1 = new Guid( 0xE436EB78, 0x524F, 0x11CE, 0x9F, 0x53, 0x00, 0x20, 0xAF, 0x0B, 0xA7, 0x70 ); /// /// RGB, 4 bpp, palettized. /// /// /// Equals to MEDIASUBTYPE_RGB4. /// public static readonly Guid RGB4 = new Guid( 0xE436EB79, 0x524F, 0x11CE, 0x9F, 0x53, 0x00, 0x20, 0xAF, 0x0B, 0xA7, 0x70 ); /// /// RGB, 8 bpp. /// /// /// Equals to MEDIASUBTYPE_RGB8. /// public static readonly Guid RGB8 = new Guid( 0xE436EB7A, 0x524F, 0x11CE, 0x9F, 0x53, 0x00, 0x20, 0xAF, 0x0B, 0xA7, 0x70 ); /// /// RGB 565, 16 bpp. /// /// /// Equals to MEDIASUBTYPE_RGB565. /// public static readonly Guid RGB565 = new Guid( 0xE436EB7B, 0x524F, 0x11CE, 0x9F, 0x53, 0x00, 0x20, 0xAF, 0x0B, 0xA7, 0x70 ); /// /// RGB 555, 16 bpp. /// /// /// Equals to MEDIASUBTYPE_RGB555. /// public static readonly Guid RGB555 = new Guid( 0xE436EB7C, 0x524F, 0x11CE, 0x9F, 0x53, 0x00, 0x20, 0xAF, 0x0B, 0xA7, 0x70 ); /// /// RGB, 24 bpp. /// /// /// Equals to MEDIASUBTYPE_RGB24. /// public static readonly Guid RGB24 = new Guid( 0xE436Eb7D, 0x524F, 0x11CE, 0x9F, 0x53, 0x00, 0x20, 0xAF, 0x0B, 0xA7, 0x70 ); /// /// RGB, 32 bpp, no alpha channel. /// /// /// Equals to MEDIASUBTYPE_RGB32. /// public static readonly Guid RGB32 = new Guid( 0xE436EB7E, 0x524F, 0x11CE, 0x9F, 0x53, 0x00, 0x20, 0xAF, 0x0B, 0xA7, 0x70 ); /// /// Data from AVI file. /// /// /// Equals to MEDIASUBTYPE_Avi. /// public static readonly Guid Avi = new Guid( 0xE436EB88, 0x524F, 0x11CE, 0x9F, 0x53, 0x00, 0x20, 0xAF, 0x0B, 0xA7, 0x70 ); /// /// Advanced Streaming Format (ASF). /// /// /// Equals to MEDIASUBTYPE_Asf. /// public static readonly Guid Asf = new Guid( 0x3DB80F90, 0x9412, 0x11D1, 0xAD, 0xED, 0x00, 0x00, 0xF8, 0x75, 0x4B, 0x99 ); } /// /// DirectShow pin categories. /// /// [ComVisible( false )] static internal class PinCategory { /// /// Capture pin. /// /// /// Equals to PIN_CATEGORY_CAPTURE. /// public static readonly Guid Capture = new Guid( 0xFB6C4281, 0x0353, 0x11D1, 0x90, 0x5F, 0x00, 0x00, 0xC0, 0xCC, 0x16, 0xBA ); /// /// Still image pin. /// /// /// Equals to PIN_CATEGORY_STILL. /// public static readonly Guid StillImage = new Guid( 0xFB6C428A, 0x0353, 0x11D1, 0x90, 0x5F, 0x00, 0x00, 0xC0, 0xCC, 0x16, 0xBA ); } // Below GUIDs are used by ICaptureGraphBuilder::FindInterface(). [ComVisible( false )] static internal class FindDirection { /// Equals to LOOK_UPSTREAM_ONLY. public static readonly Guid UpstreamOnly = new Guid( 0xAC798BE0, 0x98E3, 0x11D1, 0xB3, 0xF1, 0x00, 0xAA, 0x00, 0x37, 0x61, 0xC5 ); /// Equals to LOOK_DOWNSTREAM_ONLY. public static readonly Guid DownstreamOnly = new Guid( 0xAC798BE1, 0x98E3, 0x11D1, 0xB3, 0xF1, 0x00, 0xAA, 0x00, 0x37, 0x61, 0xC5 ); } }