#pragma once typedef struct { int val, len; } VLCtab; typedef struct { char run, level, len; } DCTtab; static VLCtab TMNMVtab0[] = { {3,4}, {61,4}, {2,3}, {2,3}, {62,3}, {62,3}, {1,2}, {1,2}, {1,2}, {1,2}, {63,2}, {63,2}, {63,2}, {63,2} }; static VLCtab TMNMVtab1[] = { {12,10}, {52,10}, {11,10}, {53,10}, {10,9}, {10,9}, {54,9}, {54,9}, {9,9}, {9,9}, {55,9}, {55,9}, {8,9}, {8,9}, {56,9}, {56,9}, {7,7}, {7,7}, {7,7}, {7,7}, {7,7}, {7,7}, {7,7}, {7,7}, {57,7}, {57,7}, {57,7}, {57,7}, {57,7}, {57,7}, {57,7}, {57,7}, {6,7}, {6,7}, {6,7}, {6,7}, {6,7}, {6,7}, {6,7}, {6,7}, {58,7}, {58,7}, {58,7}, {58,7}, {58,7}, {58,7}, {58,7}, {58,7}, {5,7}, {5,7}, {5,7}, {5,7}, {5,7}, {5,7}, {5,7}, {5,7}, {59,7}, {59,7}, {59,7}, {59,7}, {59,7}, {59,7}, {59,7}, {59,7}, {4,6}, {4,6}, {4,6}, {4,6}, {4,6}, {4,6}, {4,6}, {4,6}, {4,6}, {4,6}, {4,6}, {4,6}, {4,6}, {4,6}, {4,6}, {4,6}, {60,6}, {60,6},{60,6},{60,6}, {60,6},{60,6},{60,6},{60,6},{60,6},{60,6}, {60,6},{60,6},{60,6},{60,6},{60,6},{60,6} }; static VLCtab TMNMVtab2[] = { {32,12}, {31,12}, {33,12}, {30,11}, {30,11}, {34,11}, {34,11}, {29,11}, {29,11}, {35,11}, {35,11}, {28,11}, {28,11}, {36,11}, {36,11}, {27,11}, {27,11}, {37,11}, {37,11}, {26,11}, {26,11}, {38,11}, {38,11}, {25,11}, {25,11}, {39,11}, {39,11}, {24,10}, {24,10}, {24,10}, {24,10}, {40,10}, {40,10}, {40,10}, {40,10}, {23,10}, {23,10}, {23,10}, {23,10}, {41,10}, {41,10}, {41,10}, {41,10}, {22,10}, {22,10}, {22,10}, {22,10}, {42,10}, {42,10}, {42,10}, {42,10}, {21,10}, {21,10}, {21,10}, {21,10}, {43,10}, {43,10}, {43,10}, {43,10}, {20,10}, {20,10}, {20,10}, {20,10}, {44,10}, {44,10}, {44,10}, {44,10}, {19,10}, {19,10}, {19,10}, {19,10}, {45,10}, {45,10}, {45,10}, {45,10}, {18,10}, {18,10}, {18,10}, {18,10}, {46,10}, {46,10}, {46,10}, {46,10}, {17,10}, {17,10}, {17,10}, {17,10}, {47,10}, {47,10}, {47,10}, {47,10}, {16,10}, {16,10}, {16,10}, {16,10}, {48,10}, {48,10}, {48,10}, {48,10}, {15,10}, {15,10}, {15,10}, {15,10}, {49,10}, {49,10}, {49,10}, {49,10}, {14,10}, {14,10}, {14,10}, {14,10}, {50,10}, {50,10}, {50,10}, {50,10}, {13,10}, {13,10}, {13,10}, {13,10}, {51,10}, {51,10}, {51,10}, {51,10} }; static VLCtab MCBPCtab[] = { {-1,0}, {255,9}, {52,9}, {36,9}, {20,9}, {49,9}, {35,8}, {35,8}, {19,8}, {19,8}, {50,8}, {50,8}, {51,7}, {51,7}, {51,7}, {51,7}, {34,7}, {34,7}, {34,7}, {34,7}, {18,7}, {18,7}, {18,7}, {18,7}, {33,7}, {33,7}, {33,7}, {33,7}, {17,7}, {17,7}, {17,7}, {17,7}, {4,6}, {4,6}, {4,6}, {4,6}, {4,6}, {4,6}, {4,6}, {4,6}, {48,6}, {48,6}, {48,6}, {48,6}, {48,6}, {48,6}, {48,6}, {48,6}, {3,5}, {3,5}, {3,5}, {3,5}, {3,5}, {3,5}, {3,5}, {3,5}, {3,5}, {3,5}, {3,5}, {3,5}, {3,5}, {3,5}, {3,5}, {3,5}, {32,4}, {32,4}, {32,4}, {32,4}, {32,4}, {32,4}, {32,4}, {32,4}, {32,4}, {32,4}, {32,4}, {32,4}, {32,4}, {32,4}, {32,4}, {32,4}, {32,4}, {32,4}, {32,4}, {32,4}, {32,4}, {32,4}, {32,4}, {32,4}, {32,4}, {32,4}, {32,4}, {32,4}, {32,4}, {32,4}, {32,4}, {32,4}, {16,4}, {16,4}, {16,4}, {16,4}, {16,4}, {16,4}, {16,4}, {16,4}, {16,4}, {16,4}, {16,4}, {16,4}, {16,4}, {16,4}, {16,4}, {16,4}, {16,4}, {16,4}, {16,4}, {16,4}, {16,4}, {16,4}, {16,4}, {16,4}, {16,4}, {16,4}, {16,4}, {16,4}, {16,4}, {16,4}, {16,4}, {16,4}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, }; static VLCtab MCBPCtabintra[] = { {-1,0}, {20,6}, {36,6}, {52,6}, {4,4}, {4,4}, {4,4}, {4,4}, {19,3}, {19,3}, {19,3}, {19,3}, {19,3}, {19,3}, {19,3}, {19,3}, {35,3}, {35,3}, {35,3}, {35,3}, {35,3}, {35,3}, {35,3}, {35,3}, {51,3}, {51,3}, {51,3}, {51,3}, {51,3}, {51,3}, {51,3}, {51,3}, }; static VLCtab CBPYtab[48] = { {-1,0}, {-1,0}, {9,6}, {6,6}, {7,5}, {7,5}, {11,5}, {11,5}, {13,5}, {13,5}, {14,5}, {14,5}, {15,4}, {15,4}, {15,4}, {15,4}, {3,4}, {3,4}, {3,4}, {3,4}, {5,4},{5,4},{5,4},{5,4}, {1,4}, {1,4}, {1,4}, {1,4}, {10,4}, {10,4}, {10,4}, {10,4}, {2,4}, {2,4}, {2,4}, {2,4}, {12,4}, {12,4}, {12,4}, {12,4}, {4,4}, {4,4}, {4,4}, {4,4}, {8,4}, {8,4}, {8,4}, {8,4}, }; extern VLCtab DCT3Dtab0[]; extern VLCtab DCT3Dtab1[]; extern VLCtab DCT3Dtab2[]; static VLCtab MCBPCtab0[] = { {-1,0}, {255,9}, {52,9}, {36,9}, {20,9}, {49,9}, {35,8}, {35,8}, {19,8}, {19,8}, {50,8}, {50,8}, {51,7}, {51,7}, {51,7}, {51,7}, {34,7}, {34,7}, {34,7}, {34,7}, {18,7}, {18,7}, {18,7}, {18,7}, {33,7}, {33,7}, {33,7}, {33,7}, {17,7}, {17,7}, {17,7}, {17,7}, {4,6}, {4,6}, {4,6}, {4,6}, {4,6}, {4,6}, {4,6}, {4,6}, {48,6}, {48,6}, {48,6}, {48,6}, {48,6}, {48,6}, {48,6}, {48,6}, {3,5}, {3,5}, {3,5}, {3,5}, {3,5}, {3,5}, {3,5}, {3,5}, {3,5}, {3,5}, {3,5}, {3,5}, {3,5}, {3,5}, {3,5}, {3,5}, {32,4}, {32,4}, {32,4}, {32,4}, {32,4}, {32,4}, {32,4}, {32,4}, {32,4}, {32,4}, {32,4}, {32,4}, {32,4}, {32,4}, {32,4}, {32,4}, {32,4}, {32,4}, {32,4}, {32,4}, {32,4}, {32,4}, {32,4}, {32,4}, {32,4}, {32,4}, {32,4}, {32,4}, {32,4}, {32,4}, {32,4}, {32,4}, {16,4}, {16,4}, {16,4}, {16,4}, {16,4}, {16,4}, {16,4}, {16,4}, {16,4}, {16,4}, {16,4}, {16,4}, {16,4}, {16,4}, {16,4}, {16,4}, {16,4}, {16,4}, {16,4}, {16,4}, {16,4}, {16,4}, {16,4}, {16,4}, {16,4}, {16,4}, {16,4}, {16,4}, {16,4}, {16,4}, {16,4}, {16,4}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, }; static VLCtab MCBPCtab1[] = { {5,11}, {5,11}, {5,11}, {5,11}, {21,13}, {21,13}, {37,13}, {53,13}, };