============================================================ Table 1 / Macroblock address { 1, "1", 2, "011", 3, "010", 4, "0011", 5, "0010", 6, "00011", 7, "00010", 8, "0000111", 9, "0000110", 10, "00001011", 11, "00001010", 12, "00001001", 13, "00001000", 14, "00000111", 15, "00000110", 16, "0000010111", 17, "0000010110", 18, "0000010101", 19, "0000010100", 20, "0000010011", 21, "0000010010", 22, "00000100011", 23, "00000100010", 24, "00000100001", 25, "00000100000", 26, "00000011111", 27, "00000011110", 28, "00000011101", 29, "00000011100", 30, "00000011011", 31, "00000011010", 32, "00000011001", 33, "00000011000", -1, "00000001111", -2, "0000000000000001", 0,0 }; ============================================================ Table 2 / MTYPE #define MTYPE_INTRA 1 #define MTYPE_INTER 2 #define MTYPE_MODEMASK 3 #define MTYPE_MQUANT 4 #define MTYPE_MVD 8 #define MTYPE_CBP 16 #define MTYPE_TCOEFF 32 #define MTYPE_FIL 64 { MTYPE_INTRA | MTYPE_TCOEFF ,"0001", MTYPE_INTRA | MTYPE_MQUANT | MTYPE_TCOEFF ,"0000001", MTYPE_INTER | MTYPE_CBP | MTYPE_TCOEFF ,"1", MTYPE_INTER | MTYPE_MQUANT | MTYPE_CBP | MTYPE_TCOEFF ,"00001", MTYPE_INTER | MTYPE_MVD ,"000000001", MTYPE_INTER | MTYPE_MVD | MTYPE_CBP | MTYPE_TCOEFF ,"00000001", MTYPE_INTER | MTYPE_MQUANT | MTYPE_MVD | MTYPE_CBP | MTYPE_TCOEFF ,"0000000001", MTYPE_INTER | MTYPE_MVD | MTYPE_FIL ,"001", MTYPE_INTER | MTYPE_MVD | MTYPE_CBP | MTYPE_TCOEFF | MTYPE_FIL ,"01", MTYPE_INTER | MTYPE_MQUANT | MTYPE_MVD | MTYPE_CBP | MTYPE_TCOEFF | MTYPE_FIL ,"000001", 0,0 }; ============================================================ Table 3 / MVD { 0 ,"1", 1 ,"01", 2 ,"001", 3 ,"0001", 4 ,"000011", 5 ,"0000101", 6 ,"0000100", 7 ,"0000011", 8 ,"000001011", 9 ,"000001010", 10,"000001001", 11,"0000010001", 12,"0000010000", 13,"0000001111", 14,"0000001110", 15,"0000001101", 16,"0000001100", 0,0 }; ============================================================ Table 4 / CBP { 60,"111", 4 ,"1101", 8 ,"1100", 16,"1011", 32,"1010", 12,"10011", 48,"10010", 20,"10001", 40,"10000", 28,"01111", 44,"01110", 52,"01101", 56,"01100", 1 ,"01011", 61,"01010", 2 ,"01001", 62,"01000", 24,"001111", 36,"001110", 3 ,"001101", 63,"001100", 5 ,"0010111", 9 ,"0010110", 17,"0010101", 33,"0010100", 6 ,"0010011", 10,"0010010", 18,"0010001", 34,"0010000", 7 ,"00011111", 11,"00011110", 19,"00011101", 35,"00011100", 13,"00011011", 49,"00011010", 21,"00011001", 41,"00011000", 14,"00010111", 50,"00010110", 22,"00010101", 42,"00010100", 15,"00010011", 51,"00010010", 23,"00010001", 43,"00010000", 25,"00001111", 37,"00001110", 26,"00001101", 38,"00001100", 29,"00001011", 45,"00001010", 53,"00001001", 57,"00001000", 30,"00000111", 46,"00000110", 54,"00000101", 58,"00000100", 31,"000000111", 47,"000000110", 55,"000000101", 59,"000000100", 27,"000000011", 39,"000000010", 0,0 }; ============================================================ Table 5 / TCOEFF { -1 ,"10", // EOB -2 , "000001", // ESCAPE 0 + 1*32 ,"11", 0 + 2*32 ,"0100", 0 + 3*32 ,"00101", 0 + 4*32 ,"0000110", 0 + 5*32 ,"00100110", 0 + 6*32 ,"00100001", 0 + 7*32 ,"0000001010", 0 + 8*32 ,"000000011101", 0 + 9*32 ,"000000011000", 0 +10*32 ,"000000010011", 0 +11*32 ,"000000010000", 0 +12*32 ,"0000000011010", 0 +13*32 ,"0000000011001", 0 +14*32 ,"0000000011000", 0 +15*32 ,"0000000010111", 1 + 1*32 ,"011", 1 + 2*32 ,"000110", 1 + 3*32 ,"00100101", 1 + 4*32 ,"0000001100", 1 + 5*32 ,"000000011011", 1 + 6*32 ,"0000000010110", 1 + 7*32 ,"0000000010101", 2 + 1*32 ,"0101", 2 + 2*32 ,"0000100", 2 + 3*32 ,"0000001011", 2 + 4*32 ,"000000010100", 2 + 5*32 ,"0000000010100", 3 + 1*32 ,"00111", 3 + 2*32 ,"00100100", 3 + 3*32 ,"000000011100", 3 + 4*32 ,"0000000010011", 4 + 1*32 ,"00110", 4 + 2*32 ,"0000001111", 4 + 3*32 ,"000000010010", 5 + 1*32 ,"000111", 5 + 2*32 ,"0000001001", 5 + 3*32 ,"0000000010010", 6 + 1*32 ,"000101", 6 + 2*32 ,"000000011110", 7 + 1*32 ,"000100", 7 + 2*32 ,"000000010101", 8 + 1*32 ,"0000111", 8 + 2*32 ,"000000010001", 9 + 1*32 ,"0000101", 9 + 2*32 ,"0000000010001", 10+ 1*32 ,"00100111", 10+ 2*32 ,"0000000010000", 11+ 1*32 ,"00100011", 12+ 1*32 ,"00100010", 13+ 1*32 ,"00100000", 14+ 1*32 ,"0000001110", 15+ 1*32 ,"0000001101", 16+ 1*32 ,"0000001000", 17+ 1*32 ,"000000011111", 18+ 1*32 ,"000000011010", 19+ 1*32 ,"000000011001", 20+ 1*32 ,"000000010111", 21+ 1*32 ,"000000010110", 22+ 1*32 ,"0000000011111", 23+ 1*32 ,"0000000011110", 24+ 1*32 ,"0000000011101", 25+ 1*32 ,"0000000011100", 26+ 1*32 ,"0000000011011", 0,0 };