]> git.sesse.net Git - ffmpeg/blobdiff - libavcodec/binkdata.h
vp9: split superframes in the filtering stage before actual decoding
[ffmpeg] / libavcodec / binkdata.h
index 47b00d21f745e0940a588176d7e5d44c713778d8..3da6b7e9874a0b50eda9dd7d701edf1874ed3567 100644 (file)
@@ -1,27 +1,29 @@
 /*
  * Bink video decoder
- * Copyright (C) 2009 Kostya Shishkov
+ * Copyright (C) 2009 Konstantin Shishkov
  *
- * This file is part of FFmpeg.
+ * This file is part of Libav.
  *
- * FFmpeg is free software; you can redistribute it and/or
+ * Libav is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
  * License as published by the Free Software Foundation; either
  * version 2.1 of the License, or (at your option) any later version.
  *
- * FFmpeg is distributed in the hope that it will be useful,
+ * Libav is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  * Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
- * License along with FFmpeg; if not, write to the Free Software
+ * License along with Libav; if not, write to the Free Software
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
 #ifndef AVCODEC_BINKDATA_H
 #define AVCODEC_BINKDATA_H
 
+#include <stdint.h>
+
 /** Bink DCT and residue 8x8 block scan order */
 static const uint8_t bink_scan[64] = {
      0,  1,  8,  9,  2,  3, 10, 11,
@@ -283,7 +285,7 @@ static const uint8_t bink_patterns[16][64] = {
     }
 };
 
-static const uint32_t bink_intra_quant[16][64] = {
+static const int32_t bink_intra_quant[16][64] = {
 {
  0x010000, 0x016315, 0x01E83D, 0x02A535, 0x014E7B, 0x016577, 0x02F1E6, 0x02724C,
  0x010000, 0x00EEDA, 0x024102, 0x017F9B, 0x00BE80, 0x00611E, 0x01083C, 0x00A552,
@@ -446,7 +448,7 @@ static const uint32_t bink_intra_quant[16][64] = {
 },
 };
 
-static const uint32_t bink_inter_quant[16][64] = {
+static const int32_t bink_inter_quant[16][64] = {
 {
  0x010000, 0x017946, 0x01A5A9, 0x0248DC, 0x016363, 0x0152A7, 0x0243EC, 0x0209EA,
  0x012000, 0x00E248, 0x01BBDA, 0x015CBC, 0x00A486, 0x0053E0, 0x00F036, 0x008095,
@@ -609,4 +611,45 @@ static const uint32_t bink_inter_quant[16][64] = {
 },
 };
 
+static const uint8_t binkb_runbits[64] = {
+    6, 6, 6, 6, 6, 6, 6, 6,
+    6, 6, 6, 6, 6, 6, 6, 6,
+    6, 6, 6, 6, 6, 6, 6, 6,
+    6, 6, 6, 6, 6, 6, 6, 6,
+    5, 5, 5, 5, 5, 5, 5, 5,
+    5, 5, 5, 5, 5, 5, 5, 5,
+    4, 4, 4, 4, 4, 4, 4, 4,
+    3, 3, 3, 3, 2, 2, 1, 0,
+};
+
+static const uint8_t binkb_intra_seed[64] = {
+    16, 16, 16, 19, 16, 19, 22, 22,
+    22, 22, 26, 24, 26, 22, 22, 27,
+    27, 27, 26, 26, 26, 29, 29, 29,
+    27, 27, 27, 26, 34, 34, 34, 29,
+    29, 29, 27, 27, 37, 34, 34, 32,
+    32, 29, 29, 38, 37, 35, 35, 34,
+    35, 40, 40, 40, 38, 38, 48, 48,
+    46, 46, 58, 56, 56, 69, 69, 83,
+};
+
+static const uint8_t binkb_inter_seed[64] = {
+    16, 17, 17, 18, 18, 18, 19, 19,
+    19, 19, 20, 20, 20, 20, 20, 21,
+    21, 21, 21, 21, 21, 22, 22, 22,
+    22, 22, 22, 22, 23, 23, 23, 23,
+    23, 23, 23, 23, 24, 24, 24, 25,
+    24, 24, 24, 25, 26, 26, 26, 26,
+    25, 27, 27, 27, 27, 27, 28, 28,
+    28, 28, 30, 30, 30, 31, 31, 33,
+};
+
+static const uint8_t binkb_num[16] = {
+    1, 4, 5, 2, 7, 8, 3, 7, 4, 9, 5, 6, 7, 8, 9, 10
+};
+
+static const uint8_t binkb_den[16] = {
+    1, 3, 3, 1, 3, 3, 1, 2, 1, 2, 1, 1, 1, 1, 1, 1
+};
+
 #endif /* AVCODEC_BINKDATA_H */