]> granicus.if.org Git - libvpx/commitdiff
Making the forward transform consistent with high bit depth
authorJulia Robson <juliamrobson@gmail.com>
Wed, 20 Jan 2016 12:03:16 +0000 (12:03 +0000)
committerJulia Robson <juliamrobson@gmail.com>
Wed, 20 Jan 2016 12:03:16 +0000 (12:03 +0000)
This patch changes the code for 16bit buffers to use the same
optimisation as is used for 8bit buffers. (See change-Id:
I0452da1786d59bc8bcbe0a35fdae9f623d1d44e1 for more information
about the optimisation)

Change-Id: I5f327a13a7b01fc356114a2aa9d1261bf76d8d69

vp10/encoder/hybrid_fwd_txfm.c

index 8b482764eda41c475777b302faf1beada6f68a6a..0f59259e7ab2e72499aa29a4eb0e895d47fe4162 100644 (file)
@@ -252,7 +252,10 @@ static void highbd_fwd_txfm_8x8(const int16_t *src_diff, tran_low_t *coeff,
     case ADST_DCT:
     case DCT_ADST:
     case ADST_ADST:
-      vp10_highbd_fht8x8(src_diff, coeff, diff_stride, tx_type);
+      if (fwd_txfm_opt == FWD_TXFM_OPT_NORMAL)
+        vp10_highbd_fht8x8(src_diff, coeff, diff_stride, tx_type);
+      else  // FWD_TXFM_OPT_DC
+        vpx_highbd_fdct8x8_1(src_diff, coeff, diff_stride);
       break;
 #if CONFIG_EXT_TX
     case FLIPADST_DCT:
@@ -291,7 +294,10 @@ static void highbd_fwd_txfm_16x16(const int16_t *src_diff, tran_low_t *coeff,
     case ADST_DCT:
     case DCT_ADST:
     case ADST_ADST:
-      vp10_highbd_fht16x16(src_diff, coeff, diff_stride, tx_type);
+      if (fwd_txfm_opt == FWD_TXFM_OPT_NORMAL)
+        vp10_highbd_fht16x16(src_diff, coeff, diff_stride, tx_type);
+      else  // FWD_TXFM_OPT_DC
+        vpx_highbd_fdct16x16_1(src_diff, coeff, diff_stride);
       break;
 #if CONFIG_EXT_TX
     case FLIPADST_DCT: