]> granicus.if.org Git - libvpx/commitdiff
Add 1D tx set that corresponds to reduced ext tx inter sets
authorSarah Parker <sarahparker@google.com>
Wed, 4 May 2016 18:34:45 +0000 (11:34 -0700)
committerSarah Parker <sarahparker@google.com>
Wed, 4 May 2016 18:42:32 +0000 (11:42 -0700)
This is the set of 1D transforms that are used in each
ext_tx_used_inter set. The 1D sets will help speed up
the ext tx pruning functions.

Change-Id: Ib46ad26be2df60b3bfcd2f22d96e7f38ae286df5

vp10/common/blockd.h
vp10/common/enums.h
vp10/encoder/rdopt.c

index bc2c417fb2a20ec3b3d16d36c335ee523411d1eb..25fb56937bda44d2f5ef0959d3084b7b6d3ed959 100644 (file)
@@ -484,6 +484,15 @@ static const int ext_tx_used_inter[EXT_TX_SETS_INTER][TX_TYPES] = {
   {1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
 };
 
+// 1D Transforms used in inter set, this needs to be changed if
+// ext_tx_used_inter is changed
+static const int ext_tx_used_inter_1D[EXT_TX_SETS_INTER][TX_TYPES_1D] = {
+  {1, 0, 0, 0},
+  {1, 1, 1, 1},
+  {1, 1, 1, 1},
+  {1, 0, 0, 1},
+};
+
 static INLINE int get_ext_tx_types(TX_SIZE tx_size, BLOCK_SIZE bs,
                                    int is_inter) {
   const int set = get_ext_tx_set(tx_size, bs, is_inter);
index ee9e22686e9b556a936c468bb30bd0e3891fb1db..3b2ef29736288d7d4a35be1deb6847df269ea6be 100644 (file)
@@ -156,6 +156,15 @@ typedef enum {
   TX_MODES            = 5,
 } TX_MODE;
 
+// 1D tx types
+typedef enum {
+  DCT_1D = 0,
+  ADST_1D = 1,
+  FLIPADST_1D = 2,
+  IDTX_1D = 3,
+  TX_TYPES_1D = 4,
+} TX_TYPE_1D;
+
 typedef enum {
   DCT_DCT   = 0,                      // DCT  in both horizontal and vertical
   ADST_DCT  = 1,                      // ADST in vertical, DCT in horizontal
index 532b3345fe5e457ab6ddb4539797fab86c1e1fae..dc9e690267e228298459dbd1900797e057ef4152 100644 (file)
@@ -363,14 +363,6 @@ static void swap_block_ptr(MACROBLOCK *x, PICK_MODE_CONTEXT *ctx,
 #define FAST_EXT_TX_CORR_MARGIN 0.3
 #define FAST_EXT_TX_EDST_MARGIN 0.5
 
-typedef enum {
-  DCT_1D = 0,
-  ADST_1D = 1,
-  FLIPADST_1D = 2,
-  IDTX_1D = 3,
-  TX_TYPES_1D = 4,
-} TX_TYPE_1D;
-
 static void get_energy_distribution_fine(const VP10_COMP *cpi,
                                          BLOCK_SIZE bsize,
                                          uint8_t *src, int src_stride,