summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAurelien Jacobs <aurel@gnuage.org>2007-05-08 23:58:35 +0000
committerAurelien Jacobs <aurel@gnuage.org>2007-05-08 23:58:35 +0000
commitb88e2114269e56f9c3c9f7eedda0807a327358ea (patch)
treee71fca371d29ff7f218fc16d609ceefe1ff02577
parent1fddeecd1d8712aa7ac2dd445565ae1357abc78a (diff)
move defines and enums out of cavsdata.h
Originally committed as revision 8944 to svn://svn.ffmpeg.org/ffmpeg/trunk
-rw-r--r--libavcodec/cavs.c3
-rw-r--r--libavcodec/cavs.h154
-rw-r--r--libavcodec/cavsdata.h129
3 files changed, 157 insertions, 129 deletions
diff --git a/libavcodec/cavs.c b/libavcodec/cavs.c
index eefacaf403..200668d2a1 100644
--- a/libavcodec/cavs.c
+++ b/libavcodec/cavs.c
@@ -29,9 +29,10 @@
#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
index 0000000000..a259b7a055
--- /dev/null
+++ b/libavcodec/cavs.h
@@ -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 */
diff --git a/libavcodec/cavsdata.h b/libavcodec/cavsdata.h
index 6d61495e4b..12bbfeede2 100644
--- a/libavcodec/cavsdata.h
+++ b/libavcodec/cavsdata.h
@@ -19,119 +19,8 @@
* 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 */