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