Move txfm enums into txfm_common.h in aom_dsp/
BUG=aomedia:2734
Change-Id: Id17df4d1d3566899578e34cef86bb1dd956225e0
diff --git a/aom_dsp/txfm_common.h b/aom_dsp/txfm_common.h
index f13d690..c768db9 100644
--- a/aom_dsp/txfm_common.h
+++ b/aom_dsp/txfm_common.h
@@ -13,7 +13,6 @@
#define AOM_AOM_DSP_TXFM_COMMON_H_
#include "aom_dsp/aom_dsp_common.h"
-#include "av1/common/enums.h"
// Constants and Macros used by all idct/dct functions
#define DCT_CONST_BITS 14
@@ -22,6 +21,70 @@
#define UNIT_QUANT_SHIFT 2
#define UNIT_QUANT_FACTOR (1 << UNIT_QUANT_SHIFT)
+// block transform size
+enum {
+ TX_4X4, // 4x4 transform
+ TX_8X8, // 8x8 transform
+ TX_16X16, // 16x16 transform
+ TX_32X32, // 32x32 transform
+ TX_64X64, // 64x64 transform
+ TX_4X8, // 4x8 transform
+ TX_8X4, // 8x4 transform
+ TX_8X16, // 8x16 transform
+ TX_16X8, // 16x8 transform
+ TX_16X32, // 16x32 transform
+ TX_32X16, // 32x16 transform
+ TX_32X64, // 32x64 transform
+ TX_64X32, // 64x32 transform
+ TX_4X16, // 4x16 transform
+ TX_16X4, // 16x4 transform
+ TX_8X32, // 8x32 transform
+ TX_32X8, // 32x8 transform
+ TX_16X64, // 16x64 transform
+ TX_64X16, // 64x16 transform
+ TX_SIZES_ALL, // Includes rectangular transforms
+ TX_SIZES = TX_4X8, // Does NOT include rectangular transforms
+ TX_SIZES_LARGEST = TX_64X64,
+ TX_INVALID = 255 // Invalid transform size
+} UENUM1BYTE(TX_SIZE);
+
+enum {
+ DCT_DCT, // DCT in both horizontal and vertical
+ ADST_DCT, // ADST in vertical, DCT in horizontal
+ DCT_ADST, // DCT in vertical, ADST in horizontal
+ ADST_ADST, // ADST in both directions
+ FLIPADST_DCT, // FLIPADST in vertical, DCT in horizontal
+ DCT_FLIPADST, // DCT in vertical, FLIPADST in horizontal
+ FLIPADST_FLIPADST, // FLIPADST in both directions
+ ADST_FLIPADST, // ADST in vertical, FLIPADST in horizontal
+ FLIPADST_ADST, // FLIPADST in vertical, ADST in horizontal
+ IDTX, // Identity in both directions
+ V_DCT, // DCT in vertical, identity in horizontal
+ H_DCT, // Identity in vertical, DCT in horizontal
+ V_ADST, // ADST in vertical, identity in horizontal
+ H_ADST, // Identity in vertical, ADST in horizontal
+ V_FLIPADST, // FLIPADST in vertical, identity in horizontal
+ H_FLIPADST, // Identity in vertical, FLIPADST in horizontal
+ TX_TYPES,
+ DCT_ADST_TX_MASK = 0x000F, // Either DCT or ADST in each direction
+} UENUM1BYTE(TX_TYPE);
+
+enum {
+ // DCT only
+ EXT_TX_SET_DCTONLY,
+ // DCT + Identity only
+ EXT_TX_SET_DCT_IDTX,
+ // Discrete Trig transforms w/o flip (4) + Identity (1)
+ EXT_TX_SET_DTT4_IDTX,
+ // Discrete Trig transforms w/o flip (4) + Identity (1) + 1D Hor/vert DCT (2)
+ EXT_TX_SET_DTT4_IDTX_1DDCT,
+ // Discrete Trig transforms w/ flip (9) + Identity (1) + 1D Hor/Ver DCT (2)
+ EXT_TX_SET_DTT9_IDTX_1DDCT,
+ // Discrete Trig transforms w/ flip (9) + Identity (1) + 1D Hor/Ver (6)
+ EXT_TX_SET_ALL16,
+ EXT_TX_SET_TYPES
+} UENUM1BYTE(TxSetType);
+
typedef struct txfm_param {
// for both forward and inverse transforms
TX_TYPE tx_type;
diff --git a/av1/common/enums.h b/av1/common/enums.h
index 0a198cf..4dae9e0 100644
--- a/av1/common/enums.h
+++ b/av1/common/enums.h
@@ -16,6 +16,7 @@
#include "aom/aom_codec.h"
#include "aom/aom_integer.h"
+#include "aom_dsp/txfm_common.h"
#include "aom_ports/mem.h"
#ifdef __cplusplus
@@ -171,33 +172,6 @@
#define PARTITION_BLOCK_SIZES 5
#define PARTITION_CONTEXTS (PARTITION_BLOCK_SIZES * PARTITION_PLOFFSET)
-// block transform size
-enum {
- TX_4X4, // 4x4 transform
- TX_8X8, // 8x8 transform
- TX_16X16, // 16x16 transform
- TX_32X32, // 32x32 transform
- TX_64X64, // 64x64 transform
- TX_4X8, // 4x8 transform
- TX_8X4, // 8x4 transform
- TX_8X16, // 8x16 transform
- TX_16X8, // 16x8 transform
- TX_16X32, // 16x32 transform
- TX_32X16, // 32x16 transform
- TX_32X64, // 32x64 transform
- TX_64X32, // 64x32 transform
- TX_4X16, // 4x16 transform
- TX_16X4, // 16x4 transform
- TX_8X32, // 8x32 transform
- TX_32X8, // 32x8 transform
- TX_16X64, // 16x64 transform
- TX_64X16, // 64x16 transform
- TX_SIZES_ALL, // Includes rectangular transforms
- TX_SIZES = TX_4X8, // Does NOT include rectangular transforms
- TX_SIZES_LARGEST = TX_64X64,
- TX_INVALID = 255 // Invalid transform size
-} UENUM1BYTE(TX_SIZE);
-
#define TX_SIZE_LUMA_MIN (TX_4X4)
/* We don't need to code a transform size unless the allowed size is at least
one more than the minimum. */
@@ -247,27 +221,6 @@
} UENUM1BYTE(TX_TYPE_1D);
enum {
- DCT_DCT, // DCT in both horizontal and vertical
- ADST_DCT, // ADST in vertical, DCT in horizontal
- DCT_ADST, // DCT in vertical, ADST in horizontal
- ADST_ADST, // ADST in both directions
- FLIPADST_DCT, // FLIPADST in vertical, DCT in horizontal
- DCT_FLIPADST, // DCT in vertical, FLIPADST in horizontal
- FLIPADST_FLIPADST, // FLIPADST in both directions
- ADST_FLIPADST, // ADST in vertical, FLIPADST in horizontal
- FLIPADST_ADST, // FLIPADST in vertical, ADST in horizontal
- IDTX, // Identity in both directions
- V_DCT, // DCT in vertical, identity in horizontal
- H_DCT, // Identity in vertical, DCT in horizontal
- V_ADST, // ADST in vertical, identity in horizontal
- H_ADST, // Identity in vertical, ADST in horizontal
- V_FLIPADST, // FLIPADST in vertical, identity in horizontal
- H_FLIPADST, // Identity in vertical, FLIPADST in horizontal
- TX_TYPES,
- DCT_ADST_TX_MASK = 0x000F, // Either DCT or ADST in each direction
-} UENUM1BYTE(TX_TYPE);
-
-enum {
REG_REG,
REG_SMOOTH,
REG_SHARP,
@@ -279,22 +232,6 @@
SHARP_SHARP,
} UENUM1BYTE(DUAL_FILTER_TYPE);
-enum {
- // DCT only
- EXT_TX_SET_DCTONLY,
- // DCT + Identity only
- EXT_TX_SET_DCT_IDTX,
- // Discrete Trig transforms w/o flip (4) + Identity (1)
- EXT_TX_SET_DTT4_IDTX,
- // Discrete Trig transforms w/o flip (4) + Identity (1) + 1D Hor/vert DCT (2)
- EXT_TX_SET_DTT4_IDTX_1DDCT,
- // Discrete Trig transforms w/ flip (9) + Identity (1) + 1D Hor/Ver DCT (2)
- EXT_TX_SET_DTT9_IDTX_1DDCT,
- // Discrete Trig transforms w/ flip (9) + Identity (1) + 1D Hor/Ver (6)
- EXT_TX_SET_ALL16,
- EXT_TX_SET_TYPES
-} UENUM1BYTE(TxSetType);
-
#define EXT_TX_SIZES 4 // number of sizes that use extended transforms
#define EXT_TX_SETS_INTER 4 // Sets of transform selections for INTER
#define EXT_TX_SETS_INTRA 3 // Sets of transform selections for INTRA