1 /** 2 * This file has no copyright assigned and is placed in the Public Domain. 3 * This file is part of the mingw-w64 runtime package. 4 * No warranty is given; refer to the file DISCLAIMER.PD within this package. 5 */ 6 #ifndef _INC_CODECAPI 7 #define _INC_CODECAPI 8 9 #ifdef UUID_GEN 10 # define DEFINE_CODECAPI_GUID(name, guidstr, g1,g2,g3,g4,g5,g6,g7,g8,g9,g10,g11) \ 11 OUR_GUID_ENTRY(CODECAPI_##name, g1,g2,g3,g4,g5,g6,g7,g8,g9,g10,g11) 12 #else 13 # ifndef DEFINE_GUIDSTRUCT 14 # ifdef __cplusplus 15 # define DEFINE_GUIDSTRUCT(g, n) struct n 16 # define DEFINE_GUIDNAMED(n) __uuidof(struct n) 17 # else 18 # define DEFINE_GUIDSTRUCT(g, n) DEFINE_GUIDEX(n) 19 # define DEFINE_GUIDNAMED(n) n 20 # endif 21 # endif 22 # ifdef __CRT_UUID_DECL 23 # define DEFINE_CODECAPI_GUID(name, guidstr, g1,g2,g3,g4,g5,g6,g7,g8,g9,g10,g11) \ 24 struct CODECAPI_##name; \ 25 __CRT_UUID_DECL(CODECAPI_##name, g1,g2,g3,g4,g5,g6,g7,g8,g9,g10,g11) 26 # define DEFINE_CODECAPI_GUIDNAMED(name) __uuidof(CODECAPI_##name) 27 # else 28 # define DEFINE_CODECAPI_GUID(name, guidstr, g1,g2,g3,g4,g5,g6,g7,g8,g9,g10,g11) DEFINE_GUIDSTRUCT(guidstr, CODECAPI_##name); 29 # define DEFINE_CODECAPI_GUIDNAMED(name) DEFINE_GUIDNAMED(CODECAPI_##name) 30 # endif 31 #endif 32 33 enum eAVEncH264VLevel { 34 eAVEncH264VLevel1 = 10, 35 eAVEncH264VLevel1_b = 11, 36 eAVEncH264VLevel1_1 = 11, 37 eAVEncH264VLevel1_2 = 12, 38 eAVEncH264VLevel1_3 = 13, 39 eAVEncH264VLevel2 = 20, 40 eAVEncH264VLevel2_1 = 21, 41 eAVEncH264VLevel2_2 = 22, 42 eAVEncH264VLevel3 = 30, 43 eAVEncH264VLevel3_1 = 31, 44 eAVEncH264VLevel3_2 = 32, 45 eAVEncH264VLevel4 = 40, 46 eAVEncH264VLevel4_1 = 41, 47 eAVEncH264VLevel4_2 = 42, 48 eAVEncH264VLevel5 = 50, 49 eAVEncH264VLevel5_1 = 51 50 }; 51 52 enum eAVEncH264VProfile { 53 eAVEncH264VProfile_unknown = 0, 54 eAVEncH264VProfile_Simple = 66, 55 eAVEncH264VProfile_Base = 66, 56 eAVEncH264VProfile_Main = 77, 57 eAVEncH264VProfile_High = 100, 58 eAVEncH264VProfile_422 = 122, 59 eAVEncH264VProfile_High10 = 110, 60 eAVEncH264VProfile_444 = 144, 61 eAVEncH264VProfile_Extended = 88 62 }; 63 64 #define STATIC_CODECAPI_AVDecVideoThumbnailGenerationMode 0x2efd8eee,0x1150,0x4328,0x9c,0xf5,0x66,0xdc,0xe9,0x33,0xfc,0xf4 65 DEFINE_CODECAPI_GUID(AVDecVideoThumbnailGenerationMode, "2efd8eee-1150-4328-9cf5-66dce933fcf4", 0x2efd8eee, 66 0x1150,0x4328,0x9c,0xf5,0x66,0xdc,0xe9,0x33,0xfc,0xf4) 67 68 #define STATIC_CODECAPI_AVDecVideoDropPicWithMissingRef 0xf8226383,0x14c2,0x4567,0x97,0x34,0x50,0x04,0xe9,0x6f,0xf8,0x87 69 DEFINE_CODECAPI_GUID(AVDecVideoDropPicWithMissingRef, "f8226383-14c2-4567-9734-5004e96ff887", 70 0xf8226383,0x14c2,0x4567,0x97,0x34,0x50,0x04,0xe9,0x6f,0xf8,0x87) 71 72 #define STATIC_CODECAPI_AVDecVideoSoftwareDeinterlaceMode 0x0c08d1ce,0x9ced,0x4540,0xba,0xe3,0xce,0xb3,0x80,0x14,0x11,0x09 73 DEFINE_CODECAPI_GUID(AVDecVideoSoftwareDeinterlaceMode, "0c08d1ce-9ced-4540-bae3-ceb380141109", 74 0x0c08d1ce,0x9ced,0x4540,0xba,0xe3,0xce,0xb3,0x80,0x14,0x11,0x09); 75 76 #define STATIC_CODECAPI_AVDecVideoFastDecodeMode 0x6b529f7d,0xd3b1,0x49c6,0xa9,0x99,0x9e,0xc6,0x91,0x1b,0xed,0xbf 77 DEFINE_CODECAPI_GUID(AVDecVideoFastDecodeMode, "6b529f7d-d3b1-49c6-a999-9ec6911bedbf", 78 0x6b529f7d,0xd3b1,0x49c6,0xa9,0x99,0x9e,0xc6,0x91,0x1b,0xed,0xbf); 79 80 #define STATIC_CODECAPI_AVLowLatencyMode 0x9c27891a,0xed7a,0x40e1,0x88,0xe8,0xb2,0x27,0x27,0xa0,0x24,0xee 81 DEFINE_CODECAPI_GUID(AVLowLatencyMode, "9c27891a-ed7a-40e1-88e8-b22727a024ee", 82 0x9c27891a,0xed7a,0x40e1,0x88,0xe8,0xb2,0x27,0x27,0xa0,0x24,0xee) 83 84 #define STATIC_CODECAPI_AVDecVideoH264ErrorConcealment 0xececace8,0x3436,0x462c,0x92,0x94,0xcd,0x7b,0xac,0xd7,0x58,0xa9 85 DEFINE_CODECAPI_GUID(AVDecVideoH264ErrorConcealment, "ececace8-3436-462c-9294-cd7bacd758a9", 86 0xececace8,0x3436,0x462c,0x92,0x94,0xcd,0x7b,0xac,0xd7,0x58,0xa9) 87 88 #define STATIC_CODECAPI_AVDecVideoMPEG2ErrorConcealment 0x9d2bfe18,0x728d,0x48d2,0xb3,0x58,0xbc,0x7e,0x43,0x6c,0x66,0x74 89 DEFINE_CODECAPI_GUID(AVDecVideoMPEG2ErrorConcealment, "9d2bfe18-728d-48d2-b358-bc7e436c6674", 90 0x9d2bfe18,0x728d,0x48d2,0xb3,0x58,0xbc,0x7e,0x43,0x6c,0x66,0x74) 91 92 #define STATIC_CODECAPI_AVDecVideoCodecType 0x434528e5,0x21f0,0x46b6,0xb6,0x2c,0x9b,0x1b,0x6b,0x65,0x8c,0xd1 93 DEFINE_CODECAPI_GUID(AVDecVideoCodecType, "434528e5-21f0-46b6-b62c-9b1b6b658cd1", 94 0x434528e5,0x21f0,0x46b6,0xb6,0x2c,0x9b,0x1b,0x6b,0x65,0x8c,0xd1); 95 96 #define STATIC_CODECAPI_AVDecVideoDXVAMode 0xf758f09e,0x7337,0x4ae7,0x83,0x87,0x73,0xdc,0x2d,0x54,0xe6,0x7d 97 DEFINE_CODECAPI_GUID(AVDecVideoDXVAMode, "f758f09e-7337-4ae7-8387-73dc2d54e67d", 98 0xf758f09e,0x7337,0x4ae7,0x83,0x87,0x73,0xdc,0x2d,0x54,0xe6,0x7d); 99 100 #define STATIC_CODECAPI_AVDecVideoDXVABusEncryption 0x42153c8b,0xfd0b,0x4765,0xa4,0x62,0xdd,0xd9,0xe8,0xbc,0xc3,0x88 101 DEFINE_CODECAPI_GUID(AVDecVideoDXVABusEncryption, "42153c8b-fd0b-4765-a462-ddd9e8bcc388", 102 0x42153c8b,0xfd0b,0x4765,0xa4,0x62,0xdd,0xd9,0xe8,0xbc,0xc3,0x88); 103 104 #define STATIC_CODECAPI_AVDecVideoSWPowerLevel 0xfb5d2347,0x4dd8,0x4509,0xae,0xd0,0xdb,0x5f,0xa9,0xaa,0x93,0xf4 105 DEFINE_CODECAPI_GUID(AVDecVideoSWPowerLevel, "fb5d2347-4dd8-4509-aed0-db5fa9aa93f4", 106 0xfb5d2347,0x4dd8,0x4509,0xae,0xd0,0xdb,0x5f,0xa9,0xaa,0x93,0xf4) 107 108 #define STATIC_CODECAPI_AVDecVideoMaxCodedWidth 0x5ae557b8,0x77af,0x41f5,0x9f,0xa6,0x4d,0xb2,0xfe,0x1d,0x4b,0xca 109 DEFINE_CODECAPI_GUID(AVDecVideoMaxCodedWidth, "5ae557b8-77af-41f5-9fa6-4db2fe1d4bca", 110 0x5ae557b8,0x77af,0x41f5,0x9f,0xa6,0x4d,0xb2,0xfe,0x1d,0x4b,0xca) 111 112 #define STATIC_CODECAPI_AVDecVideoMaxCodedHeight 0x7262a16a,0xd2dc,0x4e75,0x9b,0xa8,0x65,0xc0,0xc6,0xd3,0x2b,0x13 113 DEFINE_CODECAPI_GUID(AVDecVideoMaxCodedHeight, "7262a16a-d2dc-4e75-9ba8-65c0c6d32b13", 114 0x7262a16a,0xd2dc,0x4e75,0x9b,0xa8,0x65,0xc0,0xc6,0xd3,0x2b,0x13) 115 116 #define STATIC_CODECAPI_AVDecNumWorkerThreads 0x9561c3e8,0xea9e,0x4435,0x9b,0x1e,0xa9,0x3e,0x69,0x18,0x94,0xd8 117 DEFINE_CODECAPI_GUID(AVDecNumWorkerThreads, "9561c3e8-ea9e-4435-9b1e-a93e691894d8", 118 0x9561c3e8,0xea9e,0x4435,0x9b,0x1e,0xa9,0x3e,0x69,0x18,0x94,0xd8) 119 120 #define STATIC_CODECAPI_AVDecSoftwareDynamicFormatChange 0x862e2f0a,0x507b,0x47ff,0xaf,0x47,0x01,0xe2,0x62,0x42,0x98,0xb7 121 DEFINE_CODECAPI_GUID(AVDecSoftwareDynamicFormatChange, "862e2f0a-507b-47ff-af47-01e2624298b7", 122 0x862e2f0a,0x507b,0x47ff,0xaf,0x47,0x01,0xe2,0x62,0x42,0x98,0xb7) 123 124 #define STATIC_CODECAPI_AVDecDisableVideoPostProcessing 0xf8749193,0x667a,0x4f2c,0xa9,0xe8,0x5d,0x4a,0xf9,0x24,0xf0,0x8f 125 DEFINE_CODECAPI_GUID(AVDecDisableVideoPostProcessing, "f8749193-667a-4f2c-a9e8-5d4af924f08f", 126 0xf8749193,0x667a,0x4f2c,0xa9,0xe8,0x5d,0x4a,0xf9,0x24,0xf0,0x8f); 127 128 #ifndef UUID_GEN 129 130 #define CODECAPI_AVDecVideoThumbnailGenerationMode DEFINE_CODECAPI_GUIDNAMED(AVDecVideoThumbnailGenerationMode) 131 #define CODECAPI_AVDecVideoDropPicWithMissingRef DEFINE_CODECAPI_GUIDNAMED(AVDecVideoDropPicWithMissingRef) 132 #define CODECAPI_AVDecVideoSoftwareDeinterlaceMode DEFINE_CODECAPI_GUIDNAMED(AVDecVideoSoftwareDeinterlaceMode) 133 #define CODECAPI_AVDecVideoFastDecodeMode DEFINE_CODECAPI_GUIDNAMED(AVDecVideoFastDecodeMode) 134 #define CODECAPI_AVLowLatencyMode DEFINE_CODECAPI_GUIDNAMED(AVLowLatencyMode) 135 #define CODECAPI_AVDecVideoH264ErrorConcealment DEFINE_CODECAPI_GUIDNAMED(AVDecVideoH264ErrorConcealment) 136 #define CODECAPI_AVDecVideoMPEG2ErrorConcealment DEFINE_CODECAPI_GUIDNAMED(AVDecVideoMPEG2ErrorConcealment) 137 #define CODECAPI_AVDecVideoCodecType DEFINE_CODECAPI_GUIDNAMED(AVDecVideoCodecType) 138 #define CODECAPI_AVDecVideoDXVAMode DEFINE_CODECAPI_GUIDNAMED(AVDecVideoDXVAMode) 139 #define CODECAPI_AVDecVideoDXVABusEncryption DEFINE_CODECAPI_GUIDNAMED(AVDecVideoDXVABusEncryption) 140 #define CODECAPI_AVDecVideoSWPowerLevel DEFINE_CODECAPI_GUIDNAMED(AVDecVideoSWPowerLevel) 141 #define CODECAPI_AVDecVideoMaxCodedWidth DEFINE_CODECAPI_GUIDNAMED(AVDecVideoMaxCodedWidth) 142 #define CODECAPI_AVDecVideoMaxCodedHeight DEFINE_CODECAPI_GUIDNAMED(AVDecVideoMaxCodedHeight) 143 #define CODECAPI_AVDecNumWorkerThreads DEFINE_CODECAPI_GUIDNAMED(AVDecNumWorkerThreads) 144 #define CODECAPI_AVDecSoftwareDynamicFormatChange DEFINE_CODECAPI_GUIDNAMED(AVDecSoftwareDynamicFormatChange) 145 #define CODECAPI_AVDecDisableVideoPostProcessing DEFINE_CODECAPI_GUIDNAMED(AVDecDisableVideoPostProcessing) 146 147 #endif 148 149 #endif /*_INC_CODECAPI*/ 150