Move wmv1_scantable to .rodata section by making it an array of arrays.
authorDiego Pettenò <flameeyes@gmail.com>
Mon, 7 Jan 2008 12:47:14 +0000 (12:47 +0000)
committerBenoit Fouet <benoit.fouet@free.fr>
Mon, 7 Jan 2008 12:47:14 +0000 (12:47 +0000)
Patch by Diego 'Flameeyes' Pettenò flameeyes ¤ gmail ! com

Originally committed as revision 11446 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavcodec/msmpeg4data.c
libavcodec/msmpeg4data.h

index 727ff50..8ad462c 100644 (file)
@@ -1828,53 +1828,47 @@ const uint8_t old_ff_c_dc_scale_table[32]={
     0, 8, 8, 8, 8, 9, 9,10,10,11,11,12,12,13,13,14,14,15,15,16,16,17,17,18,18,19,19,20,20,21,21,22
 };
 
-
-static const uint8_t wmv1_scantable00[64]= {
-0x00, 0x08, 0x01, 0x02, 0x09, 0x10, 0x18, 0x11,
-0x0A, 0x03, 0x04, 0x0B, 0x12, 0x19, 0x20, 0x28,
-0x30, 0x38, 0x29, 0x21, 0x1A, 0x13, 0x0C, 0x05,
-0x06, 0x0D, 0x14, 0x1B, 0x22, 0x31, 0x39, 0x3A,
-0x32, 0x2A, 0x23, 0x1C, 0x15, 0x0E, 0x07, 0x0F,
-0x16, 0x1D, 0x24, 0x2B, 0x33, 0x3B, 0x3C, 0x34,
-0x2C, 0x25, 0x1E, 0x17, 0x1F, 0x26, 0x2D, 0x35,
-0x3D, 0x3E, 0x36, 0x2E, 0x27, 0x2F, 0x37, 0x3F,
-};
-static const uint8_t wmv1_scantable01[64]= {
-0x00, 0x08, 0x01, 0x02, 0x09, 0x10, 0x18, 0x11,
-0x0A, 0x03, 0x04, 0x0B, 0x12, 0x19, 0x20, 0x28,
-0x21, 0x30, 0x1A, 0x13, 0x0C, 0x05, 0x06, 0x0D,
-0x14, 0x1B, 0x22, 0x29, 0x38, 0x31, 0x39, 0x2A,
-0x23, 0x1C, 0x15, 0x0E, 0x07, 0x0F, 0x16, 0x1D,
-0x24, 0x2B, 0x32, 0x3A, 0x33, 0x3B, 0x2C, 0x25,
-0x1E, 0x17, 0x1F, 0x26, 0x2D, 0x34, 0x3C, 0x35,
-0x3D, 0x2E, 0x27, 0x2F, 0x36, 0x3E, 0x37, 0x3F,
-};
-static const uint8_t wmv1_scantable02[64]= {
-0x00, 0x01, 0x08, 0x02, 0x03, 0x09, 0x10, 0x18,
-0x11, 0x0A, 0x04, 0x05, 0x0B, 0x12, 0x19, 0x20,
-0x28, 0x30, 0x21, 0x1A, 0x13, 0x0C, 0x06, 0x07,
-0x0D, 0x14, 0x1B, 0x22, 0x29, 0x38, 0x31, 0x39,
-0x2A, 0x23, 0x1C, 0x15, 0x0E, 0x0F, 0x16, 0x1D,
-0x24, 0x2B, 0x32, 0x3A, 0x33, 0x2C, 0x25, 0x1E,
-0x17, 0x1F, 0x26, 0x2D, 0x34, 0x3B, 0x3C, 0x35,
-0x2E, 0x27, 0x2F, 0x36, 0x3D, 0x3E, 0x37, 0x3F,
-};
-static const uint8_t wmv1_scantable03[64]= {
-0x00, 0x08, 0x10, 0x01, 0x18, 0x20, 0x28, 0x09,
-0x02, 0x03, 0x0A, 0x11, 0x19, 0x30, 0x38, 0x29,
-0x21, 0x1A, 0x12, 0x0B, 0x04, 0x05, 0x0C, 0x13,
-0x1B, 0x22, 0x31, 0x39, 0x32, 0x2A, 0x23, 0x1C,
-0x14, 0x0D, 0x06, 0x07, 0x0E, 0x15, 0x1D, 0x24,
-0x2B, 0x33, 0x3A, 0x3B, 0x34, 0x2C, 0x25, 0x1E,
-0x16, 0x0F, 0x17, 0x1F, 0x26, 0x2D, 0x3C, 0x35,
-0x2E, 0x27, 0x2F, 0x36, 0x3D, 0x3E, 0x37, 0x3F,
-};
-
-const uint8_t *wmv1_scantable[WMV1_SCANTABLE_COUNT+1]={
-    wmv1_scantable00,
-    wmv1_scantable01,
-    wmv1_scantable02,
-    wmv1_scantable03,
+const uint8_t wmv1_scantable[WMV1_SCANTABLE_COUNT][64]={
+  {
+    0x00, 0x08, 0x01, 0x02, 0x09, 0x10, 0x18, 0x11,
+    0x0A, 0x03, 0x04, 0x0B, 0x12, 0x19, 0x20, 0x28,
+    0x30, 0x38, 0x29, 0x21, 0x1A, 0x13, 0x0C, 0x05,
+    0x06, 0x0D, 0x14, 0x1B, 0x22, 0x31, 0x39, 0x3A,
+    0x32, 0x2A, 0x23, 0x1C, 0x15, 0x0E, 0x07, 0x0F,
+    0x16, 0x1D, 0x24, 0x2B, 0x33, 0x3B, 0x3C, 0x34,
+    0x2C, 0x25, 0x1E, 0x17, 0x1F, 0x26, 0x2D, 0x35,
+    0x3D, 0x3E, 0x36, 0x2E, 0x27, 0x2F, 0x37, 0x3F,
+  },
+  {
+    0x00, 0x08, 0x01, 0x02, 0x09, 0x10, 0x18, 0x11,
+    0x0A, 0x03, 0x04, 0x0B, 0x12, 0x19, 0x20, 0x28,
+    0x21, 0x30, 0x1A, 0x13, 0x0C, 0x05, 0x06, 0x0D,
+    0x14, 0x1B, 0x22, 0x29, 0x38, 0x31, 0x39, 0x2A,
+    0x23, 0x1C, 0x15, 0x0E, 0x07, 0x0F, 0x16, 0x1D,
+    0x24, 0x2B, 0x32, 0x3A, 0x33, 0x3B, 0x2C, 0x25,
+    0x1E, 0x17, 0x1F, 0x26, 0x2D, 0x34, 0x3C, 0x35,
+    0x3D, 0x2E, 0x27, 0x2F, 0x36, 0x3E, 0x37, 0x3F,
+  },
+  {
+    0x00, 0x01, 0x08, 0x02, 0x03, 0x09, 0x10, 0x18,
+    0x11, 0x0A, 0x04, 0x05, 0x0B, 0x12, 0x19, 0x20,
+    0x28, 0x30, 0x21, 0x1A, 0x13, 0x0C, 0x06, 0x07,
+    0x0D, 0x14, 0x1B, 0x22, 0x29, 0x38, 0x31, 0x39,
+    0x2A, 0x23, 0x1C, 0x15, 0x0E, 0x0F, 0x16, 0x1D,
+    0x24, 0x2B, 0x32, 0x3A, 0x33, 0x2C, 0x25, 0x1E,
+    0x17, 0x1F, 0x26, 0x2D, 0x34, 0x3B, 0x3C, 0x35,
+    0x2E, 0x27, 0x2F, 0x36, 0x3D, 0x3E, 0x37, 0x3F,
+  },
+  {
+    0x00, 0x08, 0x10, 0x01, 0x18, 0x20, 0x28, 0x09,
+    0x02, 0x03, 0x0A, 0x11, 0x19, 0x30, 0x38, 0x29,
+    0x21, 0x1A, 0x12, 0x0B, 0x04, 0x05, 0x0C, 0x13,
+    0x1B, 0x22, 0x31, 0x39, 0x32, 0x2A, 0x23, 0x1C,
+    0x14, 0x0D, 0x06, 0x07, 0x0E, 0x15, 0x1D, 0x24,
+    0x2B, 0x33, 0x3A, 0x3B, 0x34, 0x2C, 0x25, 0x1E,
+    0x16, 0x0F, 0x17, 0x1F, 0x26, 0x2D, 0x3C, 0x35,
+    0x2E, 0x27, 0x2F, 0x36, 0x3D, 0x3E, 0x37, 0x3F,
+  }
 };
 
 const uint8_t table_inter_intra[4][2]={
index 23640e4..9bfb1ba 100644 (file)
@@ -67,7 +67,7 @@ extern const uint8_t inter_MCBPC_bits[28];
 
 #define WMV1_SCANTABLE_COUNT 4
 
-extern const uint8_t *wmv1_scantable[WMV1_SCANTABLE_COUNT+1];
+extern const uint8_t wmv1_scantable[WMV1_SCANTABLE_COUNT][64];
 
 #define NB_RL_TABLES  6