]> git.sesse.net Git - ffmpeg/blobdiff - libavcodec/truemotion1data.h
flacdec: allow mid-stream channel layout change
[ffmpeg] / libavcodec / truemotion1data.h
index 63d307c6529d20b7d11b56a33e0278ba809c5d67..e950450fcdf26e7a708d2bce0297733398d2008e 100644 (file)
@@ -2,28 +2,31 @@
  * Duck Truemotion v1 Decoding Tables
  *
  * Data in this file was originally part of VpVision from On2 which is
- * distributed under the GNU GPL. It is redistributed with ffmpeg under the
- * GNU LGPL using the common understanding that data tables necessary for
- * decoding algorithms are not necessarily licensable.
+ * distributed under the GNU GPL. It is redistributed with libavcodec under
+ * the GNU LGPL using the common understanding that data tables necessary
+ * for decoding algorithms are not necessarily copyrightable.
  *
- * 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 TRUEMOTION1DATA_H
-#define TRUEMOTION1DATA_H
+#ifndef AVCODEC_TRUEMOTION1DATA_H
+#define AVCODEC_TRUEMOTION1DATA_H
+
+#include <stdint.h>
+#include <stdlib.h>
 
 /* Y delta tables, skinny and fat */
 static const int16_t ydt1[8] = { 0, -2, 2, -6, 6, -12, 12, -12 };
@@ -31,6 +34,8 @@ static const int16_t ydt2[8] = { 0, -2, 4, -6, 8, -12, 12, -12 };
 static const int16_t ydt3[8] = { 4, -6, 20, -20, 46, -46, 94, -94 };
 static const int16_t fat_ydt3[8] = { 0, -15, 50, -50, 115, -115, 235, -235 };
 static const int16_t ydt4[8] = { 0, -4, 4, -16, 16, -36, 36, -80 };
+/* NOTE: This table breaks the [+,-] pattern that the rest of the
+ * tables maintain. Is this intentional? */
 static const int16_t fat_ydt4[8] = { 0, 40, 80, -76, 160, -154, 236, -236 };
 
 /* C delta tables, skinny and fat */
@@ -38,15 +43,12 @@ static const int16_t cdt1[8] = { 0, -1, 1, -2, 3, -4, 5, -4 };
 static const int16_t cdt2[8] = { 0, -4, 3, -16, 20, -32, 36, -32 };
 static const int16_t fat_cdt2[8] = { 0, -20, 15, -80, 100, -160, 180, -160 };
 static const int16_t cdt3[8] = { 0, -2, 2, -8, 8, -18, 18, -40 };
-/* NOTE: This table breaks the [+,-] pattern that the rest of the
- * tables maintain. Is this intentional? */
-static const int16_t fat_cdt3[8] = { 0, 40, 80, -76, 160, -154, 236, -236 };
 
 /* all the delta tables to choose from, at all 4 delta levels */
-static const int16_t *ydts[] = { ydt1, ydt2, ydt3, ydt4, NULL };
-static const int16_t *fat_ydts[] = { fat_ydt3, fat_ydt3, fat_ydt3, fat_ydt4, NULL };
-static const int16_t *cdts[] = { cdt1, cdt1, cdt2, cdt3, NULL };
-static const int16_t *fat_cdts[] = { fat_cdt2, fat_cdt2, fat_cdt2, fat_cdt3, NULL };
+static const int16_t * const ydts[] = { ydt1, ydt2, ydt3, ydt4, NULL };
+static const int16_t * const fat_ydts[] = { fat_ydt3, fat_ydt3, fat_ydt3, fat_ydt4, NULL };
+static const int16_t * const cdts[] = { cdt1, cdt1, cdt2, cdt3, NULL };
+static const int16_t * const fat_cdts[] = { fat_cdt2, fat_cdt2, fat_cdt2, fat_ydt4, NULL };
 
 static const uint8_t pc_tbl2[] = {
 0x8,0x00,0x00,0x00,0x00,
@@ -825,5 +827,6 @@ static const uint8_t pc_tbl4[] = {
 0x2,0x77
 };
 
-static const uint8_t *tables[] = { pc_tbl2, pc_tbl3, pc_tbl4 };
-#endif
+static const uint8_t * const tables[] = { pc_tbl2, pc_tbl3, pc_tbl4 };
+
+#endif /* AVCODEC_TRUEMOTION1DATA_H */