| OLD | NEW |
| (Empty) |
| 1 // RegisterCodec.h | |
| 2 | |
| 3 #ifndef __REGISTERCODEC_H | |
| 4 #define __REGISTERCODEC_H | |
| 5 | |
| 6 #include "../Common/MethodId.h" | |
| 7 | |
| 8 typedef void * (*CreateCodecP)(); | |
| 9 struct CCodecInfo | |
| 10 { | |
| 11 CreateCodecP CreateDecoder; | |
| 12 CreateCodecP CreateEncoder; | |
| 13 CMethodId Id; | |
| 14 const wchar_t *Name; | |
| 15 UInt32 NumInStreams; | |
| 16 bool IsFilter; | |
| 17 }; | |
| 18 | |
| 19 void RegisterCodec(const CCodecInfo *codecInfo); | |
| 20 | |
| 21 #define REGISTER_CODEC_NAME(x) CRegisterCodec ## x | |
| 22 | |
| 23 #define REGISTER_CODEC(x) struct REGISTER_CODEC_NAME(x) { \ | |
| 24 REGISTER_CODEC_NAME(x)() { RegisterCodec(&g_CodecInfo); }}; \ | |
| 25 static REGISTER_CODEC_NAME(x) g_RegisterCodec; | |
| 26 | |
| 27 #define REGISTER_CODECS_NAME(x) CRegisterCodecs ## x | |
| 28 #define REGISTER_CODECS(x) struct REGISTER_CODECS_NAME(x) { \ | |
| 29 REGISTER_CODECS_NAME(x)() { for (int i = 0; i < sizeof(g_CodecsInfo) / sizeo
f(g_CodecsInfo[0]); i++) \ | |
| 30 RegisterCodec(&g_CodecsInfo[i]); }}; \ | |
| 31 static REGISTER_CODECS_NAME(x) g_RegisterCodecs; | |
| 32 | |
| 33 #endif | |
| OLD | NEW |