move defines and enums out of cavsdata.h
authorAurelien Jacobs <aurel@gnuage.org>
Tue, 8 May 2007 23:58:35 +0000 (23:58 +0000)
committerAurelien Jacobs <aurel@gnuage.org>
Tue, 8 May 2007 23:58:35 +0000 (23:58 +0000)
Originally committed as revision 8944 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavcodec/cavs.c
libavcodec/cavs.h [new file with mode: 0644]
libavcodec/cavsdata.h

index eefacaf40390ace79f11c36e353cbcddb864f6c2..200668d2a1cdd1dfc0cce8693e442248857b7175 100644 (file)
 #include "bitstream.h"
 #include "golomb.h"
 #include "mpegvideo.h"
+#include "cavs.h"
+#ifdef CONFIG_CAVS_DECODER
 #include "cavsdata.h"
 
-#ifdef CONFIG_CAVS_DECODER
 typedef struct {
     MpegEncContext s;
     Picture picture; ///< currently decoded frame
diff --git a/libavcodec/cavs.h b/libavcodec/cavs.h
new file mode 100644 (file)
index 0000000..a259b7a
--- /dev/null
@@ -0,0 +1,154 @@
+/*
+ * Chinese AVS video (AVS1-P2, JiZhun profile) decoder.
+ * Copyright (c) 2006  Stefan Gehrer <stefan.gehrer@gmx.de>
+ *
+ * This file is part of FFmpeg.
+ *
+ * FFmpeg 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,
+ * 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
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ */
+
+#ifndef CAVS_H
+#define CAVS_H
+
+#include "dsputil.h"
+
+#define SLICE_MIN_START_CODE    0x00000101
+#define SLICE_MAX_START_CODE    0x000001af
+#define EXT_START_CODE          0x000001b5
+#define USER_START_CODE         0x000001b2
+#define CAVS_START_CODE         0x000001b0
+#define PIC_I_START_CODE        0x000001b3
+#define PIC_PB_START_CODE       0x000001b6
+
+#define A_AVAIL                          1
+#define B_AVAIL                          2
+#define C_AVAIL                          4
+#define D_AVAIL                          8
+#define NOT_AVAIL                       -1
+#define REF_INTRA                       -2
+#define REF_DIR                         -3
+
+#define ESCAPE_CODE                     59
+
+#define FWD0                          0x01
+#define FWD1                          0x02
+#define BWD0                          0x04
+#define BWD1                          0x08
+#define SYM0                          0x10
+#define SYM1                          0x20
+#define SPLITH                        0x40
+#define SPLITV                        0x80
+
+#define MV_BWD_OFFS                     12
+#define MV_STRIDE                        4
+
+enum mb_t {
+  I_8X8 = 0,
+  P_SKIP,
+  P_16X16,
+  P_16X8,
+  P_8X16,
+  P_8X8,
+  B_SKIP,
+  B_DIRECT,
+  B_FWD_16X16,
+  B_BWD_16X16,
+  B_SYM_16X16,
+  B_8X8 = 29
+};
+
+enum sub_mb_t {
+  B_SUB_DIRECT,
+  B_SUB_FWD,
+  B_SUB_BWD,
+  B_SUB_SYM
+};
+
+enum intra_luma_t {
+  INTRA_L_VERT,
+  INTRA_L_HORIZ,
+  INTRA_L_LP,
+  INTRA_L_DOWN_LEFT,
+  INTRA_L_DOWN_RIGHT,
+  INTRA_L_LP_LEFT,
+  INTRA_L_LP_TOP,
+  INTRA_L_DC_128
+};
+
+enum intra_chroma_t {
+  INTRA_C_LP,
+  INTRA_C_HORIZ,
+  INTRA_C_VERT,
+  INTRA_C_PLANE,
+  INTRA_C_LP_LEFT,
+  INTRA_C_LP_TOP,
+  INTRA_C_DC_128,
+};
+
+enum mv_pred_t {
+  MV_PRED_MEDIAN,
+  MV_PRED_LEFT,
+  MV_PRED_TOP,
+  MV_PRED_TOPRIGHT,
+  MV_PRED_PSKIP,
+  MV_PRED_BSKIP
+};
+
+enum block_t {
+  BLK_16X16,
+  BLK_16X8,
+  BLK_8X16,
+  BLK_8X8
+};
+
+enum mv_loc_t {
+  MV_FWD_D3 = 0,
+  MV_FWD_B2,
+  MV_FWD_B3,
+  MV_FWD_C2,
+  MV_FWD_A1,
+  MV_FWD_X0,
+  MV_FWD_X1,
+  MV_FWD_A3 = 8,
+  MV_FWD_X2,
+  MV_FWD_X3,
+  MV_BWD_D3 = MV_BWD_OFFS,
+  MV_BWD_B2,
+  MV_BWD_B3,
+  MV_BWD_C2,
+  MV_BWD_A1,
+  MV_BWD_X0,
+  MV_BWD_X1,
+  MV_BWD_A3 = MV_BWD_OFFS+8,
+  MV_BWD_X2,
+  MV_BWD_X3
+};
+
+DECLARE_ALIGNED_8(typedef, struct) {
+    int16_t x;
+    int16_t y;
+    int16_t dist;
+    int16_t ref;
+} vector_t;
+
+typedef struct residual_vlc_t {
+  int8_t rltab[59][3];
+  int8_t level_add[27];
+  int8_t golomb_order;
+  int inc_limit;
+  int8_t max_run;
+} residual_vlc_t;
+
+#endif /* CAVS_H */
index 6d61495e4bf355e7218535e47a0c5768ed976750..12bbfeede26c166666ae055dfd603cf635ab8f09 100644 (file)
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
  */
 
-#define SLICE_MIN_START_CODE    0x00000101
-#define SLICE_MAX_START_CODE    0x000001af
-#define EXT_START_CODE          0x000001b5
-#define USER_START_CODE         0x000001b2
-#define CAVS_START_CODE         0x000001b0
-#define PIC_I_START_CODE        0x000001b3
-#define PIC_PB_START_CODE       0x000001b6
+#include "cavs.h"
 
-#define A_AVAIL                          1
-#define B_AVAIL                          2
-#define C_AVAIL                          4
-#define D_AVAIL                          8
-#define NOT_AVAIL                       -1
-#define REF_INTRA                       -2
-#define REF_DIR                         -3
-
-#define ESCAPE_CODE                     59
-
-#define FWD0                          0x01
-#define FWD1                          0x02
-#define BWD0                          0x04
-#define BWD1                          0x08
-#define SYM0                          0x10
-#define SYM1                          0x20
-#define SPLITH                        0x40
-#define SPLITV                        0x80
-
-#define MV_BWD_OFFS                     12
-#define MV_STRIDE                        4
-
-enum mb_t {
-  I_8X8 = 0,
-  P_SKIP,
-  P_16X16,
-  P_16X8,
-  P_8X16,
-  P_8X8,
-  B_SKIP,
-  B_DIRECT,
-  B_FWD_16X16,
-  B_BWD_16X16,
-  B_SYM_16X16,
-  B_8X8 = 29
-};
-
-enum sub_mb_t {
-  B_SUB_DIRECT,
-  B_SUB_FWD,
-  B_SUB_BWD,
-  B_SUB_SYM
-};
-
-enum intra_luma_t {
-  INTRA_L_VERT,
-  INTRA_L_HORIZ,
-  INTRA_L_LP,
-  INTRA_L_DOWN_LEFT,
-  INTRA_L_DOWN_RIGHT,
-  INTRA_L_LP_LEFT,
-  INTRA_L_LP_TOP,
-  INTRA_L_DC_128
-};
-
-enum intra_chroma_t {
-  INTRA_C_LP,
-  INTRA_C_HORIZ,
-  INTRA_C_VERT,
-  INTRA_C_PLANE,
-  INTRA_C_LP_LEFT,
-  INTRA_C_LP_TOP,
-  INTRA_C_DC_128,
-};
-
-enum mv_pred_t {
-  MV_PRED_MEDIAN,
-  MV_PRED_LEFT,
-  MV_PRED_TOP,
-  MV_PRED_TOPRIGHT,
-  MV_PRED_PSKIP,
-  MV_PRED_BSKIP
-};
-
-enum block_t {
-  BLK_16X16,
-  BLK_16X8,
-  BLK_8X16,
-  BLK_8X8
-};
-
-enum mv_loc_t {
-  MV_FWD_D3 = 0,
-  MV_FWD_B2,
-  MV_FWD_B3,
-  MV_FWD_C2,
-  MV_FWD_A1,
-  MV_FWD_X0,
-  MV_FWD_X1,
-  MV_FWD_A3 = 8,
-  MV_FWD_X2,
-  MV_FWD_X3,
-  MV_BWD_D3 = MV_BWD_OFFS,
-  MV_BWD_B2,
-  MV_BWD_B3,
-  MV_BWD_C2,
-  MV_BWD_A1,
-  MV_BWD_X0,
-  MV_BWD_X1,
-  MV_BWD_A3 = MV_BWD_OFFS+8,
-  MV_BWD_X2,
-  MV_BWD_X3
-};
-
-#ifdef CONFIG_CAVS_DECODER
 static const uint8_t partition_flags[30] = {
   0,                                 //I_8X8
   0,                                 //P_SKIP
@@ -212,13 +101,6 @@ static const uint16_t dequant_mul[64] = {
   32771,35734,38965,42497,46341,50535,55109,60099
 };
 
-DECLARE_ALIGNED_8(typedef, struct) {
-    int16_t x;
-    int16_t y;
-    int16_t dist;
-    int16_t ref;
-} vector_t;
-
 /** marks block as unavailable, i.e. out of picture
     or not yet decoded */
 static const vector_t un_mv    = {0,0,1,NOT_AVAIL};
@@ -230,14 +112,6 @@ static const vector_t dir_mv   = {0,0,1,REF_DIR};
 /** marks block as using intra prediction */
 static const vector_t intra_mv = {0,0,1,REF_INTRA};
 
-typedef struct residual_vlc_t {
-  int8_t rltab[59][3];
-  int8_t level_add[27];
-  int8_t golomb_order;
-  int inc_limit;
-  int8_t max_run;
-} residual_vlc_t;
-
 #define EOB 0,0,0
 
 static const residual_vlc_t intra_2dvlc[7] = {
@@ -640,4 +514,3 @@ static const int_fast8_t left_modifier_l[8] = { 0,-1, 6,-1,-1, 7, 6, 7};
 static const int_fast8_t top_modifier_l[8]  = {-1, 1, 5,-1,-1, 5, 7, 7};
 static const int_fast8_t left_modifier_c[7] = { 5,-1, 2,-1, 6, 5, 6};
 static const int_fast8_t top_modifier_c[7]  = { 4, 1,-1,-1, 4, 6, 6};
-#endif /* CONFIG_CAVS_DECODER */