Add VLCs for doing inter
authorPhillip Blucas <pblucas@gmail.com>
Wed, 17 Nov 2010 04:12:56 +0000 (22:12 -0600)
committerPhillip Blucas <pblucas@gmail.com>
Wed, 17 Nov 2010 04:12:56 +0000 (22:12 -0600)
This should be the last of them

common/bitstream.h
common/mpeg2vlc.c

index 5ae9a55..75aead5 100755 (executable)
@@ -75,6 +75,8 @@ extern const vlc_t x262_p_mb_type[2][2][2];
 extern const vlc_t x262_b_mb_type[3][2][2];
 extern const vlc_large_t x262_dc_luma_code[12];
 extern const vlc_large_t x262_dc_chroma_code[12];
+extern const vlc_t x262_dmvector[3];
+extern const vlc_large_t x262_motion_code[33];
 extern const vlc_large_t dct_vlcs[2][41][32];
 extern const uint8_t dct_vlc_largest_run[41];
 
index 9a9b3e0..e1e8ce1 100755 (executable)
@@ -236,6 +236,52 @@ const vlc_large_t x262_dc_chroma_code[12] =
     { 0x3ff, 10 }, /* str=1111111111 */
 };
 
+/* [motion_code+16] */
+const vlc_large_t x262_motion_code[33] =
+{
+    { 0x19, 11 }, /* str=00000011001 */
+    { 0x1b, 11 }, /* str=00000011011 */
+    { 0x1d, 11 }, /* str=00000011101 */
+    { 0x1f, 11 }, /* str=00000011111 */
+    { 0x21, 11 }, /* str=00000100001 */
+    { 0x23, 11 }, /* str=00000100011 */
+    { 0x13, 10 }, /* str=0000010011 */
+    { 0x15, 10 }, /* str=0000010101 */
+    { 0x17, 10 }, /* str=0000010111 */
+    { 0x7, 8 }, /* str=00000111 */
+    { 0x9, 8 }, /* str=00001001 */
+    { 0xb, 8 }, /* str=00001011 */
+    { 0x7, 7 }, /* str=0000111 */
+    { 0x3, 5 }, /* str=00011 */
+    { 0x3, 4 }, /* str=0011 */
+    { 0x3, 3 }, /* str=011 */
+    { 0x1, 1 }, /* str=1 */
+    { 0x2, 3 }, /* str=010 */
+    { 0x2, 4 }, /* str=0010 */
+    { 0x2, 5 }, /* str=00010 */
+    { 0x6, 7 }, /* str=0000110 */
+    { 0xa, 8 }, /* str=00001010 */
+    { 0x8, 8 }, /* str=00001000 */
+    { 0x6, 8 }, /* str=00000110 */
+    { 0x16, 10 }, /* str=0000010110 */
+    { 0x14, 10 }, /* str=0000010100 */
+    { 0x12, 10 }, /* str=0000010010 */
+    { 0x22, 11 }, /* str=00000100010 */
+    { 0x20, 11 }, /* str=00000100000 */
+    { 0x1e, 11 }, /* str=00000011110 */
+    { 0x1c, 11 }, /* str=00000011100 */
+    { 0x1a, 11 }, /* str=00000011010 */
+    { 0x18, 11 }, /* str=00000011000 */
+};
+
+/* [dmvector+1] */
+const vlc_t x262_dmvector[3] =
+{
+    { 0x3, 2 }, /* str=11 */
+    { 0x0, 1 }, /* str=0 */
+    { 0x2, 2 }, /* str=10 */
+};
+
 /* [table][level][run]*/
 const vlc_large_t dct_vlcs[2][41][32] =
 {