1baa3858d3f5d128a5c8466b700098109edcad5f2repo sync// BranchRegister.cpp
2baa3858d3f5d128a5c8466b700098109edcad5f2repo sync
3baa3858d3f5d128a5c8466b700098109edcad5f2repo sync#include "StdAfx.h"
4baa3858d3f5d128a5c8466b700098109edcad5f2repo sync
5baa3858d3f5d128a5c8466b700098109edcad5f2repo sync#include "../Common/RegisterCodec.h"
6baa3858d3f5d128a5c8466b700098109edcad5f2repo sync
7baa3858d3f5d128a5c8466b700098109edcad5f2repo sync#include "BranchMisc.h"
8baa3858d3f5d128a5c8466b700098109edcad5f2repo sync
9baa3858d3f5d128a5c8466b700098109edcad5f2repo sync#define CREATE_CODEC(x) \
10baa3858d3f5d128a5c8466b700098109edcad5f2repo sync  static void *CreateCodec ## x() { return (void *)(ICompressFilter *)(new C ## x ## _Decoder); } \
11baa3858d3f5d128a5c8466b700098109edcad5f2repo sync  static void *CreateCodec ## x ## Out() { return (void *)(ICompressFilter *)(new C ## x ## _Encoder); }
12baa3858d3f5d128a5c8466b700098109edcad5f2repo sync
13baa3858d3f5d128a5c8466b700098109edcad5f2repo syncCREATE_CODEC(BC_PPC)
14baa3858d3f5d128a5c8466b700098109edcad5f2repo syncCREATE_CODEC(BC_IA64)
15baa3858d3f5d128a5c8466b700098109edcad5f2repo syncCREATE_CODEC(BC_ARM)
16baa3858d3f5d128a5c8466b700098109edcad5f2repo syncCREATE_CODEC(BC_ARMT)
17baa3858d3f5d128a5c8466b700098109edcad5f2repo syncCREATE_CODEC(BC_SPARC)
18baa3858d3f5d128a5c8466b700098109edcad5f2repo sync
19baa3858d3f5d128a5c8466b700098109edcad5f2repo sync#define METHOD_ITEM(x, id1, id2, name) { CreateCodec ## x, CreateCodec ## x ## Out, 0x03030000 + (id1 * 256) + id2, name, 1, true  }
20baa3858d3f5d128a5c8466b700098109edcad5f2repo sync
21baa3858d3f5d128a5c8466b700098109edcad5f2repo syncstatic CCodecInfo g_CodecsInfo[] =
22baa3858d3f5d128a5c8466b700098109edcad5f2repo sync{
23baa3858d3f5d128a5c8466b700098109edcad5f2repo sync  METHOD_ITEM(BC_PPC,   0x02, 0x05, L"PPC"),
24baa3858d3f5d128a5c8466b700098109edcad5f2repo sync  METHOD_ITEM(BC_IA64,  0x04, 1, L"IA64"),
25baa3858d3f5d128a5c8466b700098109edcad5f2repo sync  METHOD_ITEM(BC_ARM,   0x05, 1, L"ARM"),
26baa3858d3f5d128a5c8466b700098109edcad5f2repo sync  METHOD_ITEM(BC_ARMT,  0x07, 1, L"ARMT"),
27baa3858d3f5d128a5c8466b700098109edcad5f2repo sync  METHOD_ITEM(BC_SPARC, 0x08, 0x05, L"SPARC")
28baa3858d3f5d128a5c8466b700098109edcad5f2repo sync};
29baa3858d3f5d128a5c8466b700098109edcad5f2repo sync
30baa3858d3f5d128a5c8466b700098109edcad5f2repo syncREGISTER_CODECS(Branch)
31