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