1 // BranchRegister.cpp 2 3 #include "StdAfx.h" 4 5 #include "../Common/RegisterCodec.h" 6 7 #include "BranchMisc.h" 8 9 namespace NCompress { 10 namespace NBranch { 11 12 #ifdef Z7_EXTRACT_ONLY 13 #define GET_CREATE_FUNC(x) NULL 14 #define CREATE_BRA_E(n) 15 #else 16 #define GET_CREATE_FUNC(x) x 17 #define CREATE_BRA_E(n) \ 18 REGISTER_FILTER_CREATE(CreateBra_Encoder_ ## n, CCoder(Z7_BRANCH_CONV_ENC(n))) 19 #endif 20 21 #define CREATE_BRA(n) \ 22 REGISTER_FILTER_CREATE(CreateBra_Decoder_ ## n, CCoder(Z7_BRANCH_CONV_DEC(n))) \ 23 CREATE_BRA_E(n) 24 25 CREATE_BRA(PPC) 26 CREATE_BRA(IA64) 27 CREATE_BRA(ARM) 28 CREATE_BRA(ARMT) 29 CREATE_BRA(SPARC) 30 31 #define METHOD_ITEM(n, id, name) \ 32 REGISTER_FILTER_ITEM( \ 33 CreateBra_Decoder_ ## n, GET_CREATE_FUNC( \ 34 CreateBra_Encoder_ ## n), \ 35 0x3030000 + id, name) 36 37 REGISTER_CODECS_VAR 38 { 39 METHOD_ITEM(PPC, 0x205, "PPC"), 40 METHOD_ITEM(IA64, 0x401, "IA64"), 41 METHOD_ITEM(ARM, 0x501, "ARM"), 42 METHOD_ITEM(ARMT, 0x701, "ARMT"), 43 METHOD_ITEM(SPARC, 0x805, "SPARC") 44 }; 45 46 REGISTER_CODECS(Branch) 47 48 namespace NArm64 { 49 REGISTER_FILTER_E(ARM64, 50 CDecoder(), 51 CEncoder(), 52 0xa, "ARM64") 53 } 54 55 }} 56