VP8: idct_mb optimizations
[ffmpeg.git] / libavcodec / vp6data.h
index 5a387cc..1cfdbe7 100644 (file)
@@ -1,5 +1,5 @@
 /**
- * @file vp6data.h
+ * @file
  * VP6 compatible video decoder
  *
  * Copyright (C) 2006  Aurelien Jacobs <aurel@gnuage.org>
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with FFmpeg; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
-#ifndef VP6DATA_H
-#define VP6DATA_H
+#ifndef AVCODEC_VP6DATA_H
+#define AVCODEC_VP6DATA_H
 
 #include "vp56data.h"
 
@@ -144,7 +144,7 @@ static const uint8_t vp6_coeff_groups[] = {
     5, 5, 5, 5, 5, 5, 5, 5,
 };
 
-static const int16_t vp6_block_copy_filter[16][8][4] = {
+static const int16_t vp6_block_copy_filter[17][8][4] = {
   { {   0, 128,   0,   0  },  /* 0 */
     {  -3, 122,   9,   0  },
     {  -4, 109,  24,  -1  },
@@ -273,9 +273,17 @@ static const int16_t vp6_block_copy_filter[16][8][4] = {
     { -11,  59,  99, -19  },
     {  -6,  38, 114, -18  },
     {  -2,  18, 124, -12  } },
+  { {   0, 128,   0,   0  },  /* 16 */
+    {  -4, 118,  16,  -2  },
+    {  -7, 106,  34,  -5  },
+    {  -8,  90,  53,  -7  },
+    {  -8,  72,  72,  -8  },
+    {  -7,  53,  90,  -8  },
+    {  -5,  34, 106,  -7  },
+    {  -2,  16, 118,  -4  } },
 };
 
-const vp56_tree_t vp6_pcr_tree[] = {
+static const VP56Tree vp6_pcr_tree[] = {
     { 8, 0},
     { 4, 1},
     { 2, 2}, {-1}, {-2},
@@ -289,4 +297,12 @@ const vp56_tree_t vp6_pcr_tree[] = {
 
 static const uint8_t vp6_coord_div[] = { 4, 4, 4, 4, 8, 8 };
 
-#endif /* VP6DATA_H */
+static const uint8_t vp6_huff_coeff_map[] = {
+    13, 14, 11, 0, 1, 15, 16, 18, 2, 17, 3, 4, 19, 20, 5, 6, 21, 22, 7, 8, 9, 10
+};
+
+static const uint8_t vp6_huff_run_map[] = {
+    10, 13, 11, 12, 0, 1, 2, 3, 14, 8, 15, 16, 4, 5, 6, 7
+};
+
+#endif /* AVCODEC_VP6DATA_H */