diff --git a/source/Lib/CommonLib/Rom.cpp b/source/Lib/CommonLib/Rom.cpp index 04bd24ce6c6a0524ad95a698b78fbac59defc845..aadd7d88d95c41a86fef393ac7acfbbc5b7fdd99 100644 --- a/source/Lib/CommonLib/Rom.cpp +++ b/source/Lib/CommonLib/Rom.cpp @@ -597,7 +597,11 @@ const int g_invQuantScales[SCALING_LIST_REM_NUM] = //structures //EMT transform sets const int g_aiTrSubsetIntra[3][2] = { { DST7, DCT8 }, { DST7, DCT8 }, { DST7, DCT8 } }; +#if JVET_L0118_ALIGN_MTS_INDEX +const int g_aiTrSubsetInter[2] = { DST7, DCT8 }; +#else const int g_aiTrSubsetInter[4] = { DCT8, DST7 }; +#endif const uint8_t g_aucTrSetVert[NUM_INTRA_MODE - 1] = {//0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 diff --git a/source/Lib/CommonLib/Rom.h b/source/Lib/CommonLib/Rom.h index ce3a6554ad7c93d5befd599a71527d1126e47e9e..ba99b1608285405bd837b834e17481f9adc61fc5 100644 --- a/source/Lib/CommonLib/Rom.h +++ b/source/Lib/CommonLib/Rom.h @@ -118,7 +118,11 @@ extern const TMatrixCoeff g_as_DST_MAT_4 [TRANSFORM_NUMBER_OF_DIRECTIONS][4][4]; #endif extern const int g_aiTrSubsetIntra[3][2]; +#if JVET_L0118_ALIGN_MTS_INDEX +extern const int g_aiTrSubsetInter[2]; +#else extern const int g_aiTrSubsetInter[4]; +#endif extern const uint8_t g_aucTrSetVert[NUM_INTRA_MODE - 1]; extern const uint8_t g_aucTrSetHorz[NUM_INTRA_MODE - 1]; diff --git a/source/Lib/CommonLib/TypeDef.h b/source/Lib/CommonLib/TypeDef.h index eede39cb4307f248d5e1546fd3f8495236503f78..61f67ef29d25ce1c5ee3b17a31e736b9ce3fd852 100644 --- a/source/Lib/CommonLib/TypeDef.h +++ b/source/Lib/CommonLib/TypeDef.h @@ -50,6 +50,8 @@ #include <assert.h> #include <cassert> +#define JVET_L0118_ALIGN_MTS_INDEX 1 // Align mts_index on intra and inter + #define JVET_L0377_AMVR_ROUNDING_ALIGN 1 // Align AMVR rounding for AMVP candidate #define JVET_L0285_8BIT_TRANSFORM_CORE 1 // Primary transform using 8-bit cores