Loading lib_com/ivas_rom_com.c +204 −21 Original line number Diff line number Diff line Loading @@ -6090,37 +6090,34 @@ const float snsSt1_tr_midQ_truncQ_tcx20[M] = /* Q13 */ { -3.063964843750000e-02f, -1.065673828125000e-01f, +4.514160156250000e-01f, +2.604980468750000e-01f, +3.583984375000000e-01f, +6.871337890625000e-01f, +8.574218750000000e-01f, +1.024780273437500e+00f }; const float snsSt1_tr_midQ_truncQ_tcx10[M]={ }; const float snsSt1_tr_midQ_truncQ_tcx10[M]={ /* Q14 */ -1.926879882812500e-01f, -8.222045898437500e-01f, -1.214416503906250e+00f, -5.881347656250000e-01f, +2.371215820312500e-01f, +6.344604492187500e-01f, +1.252441406250000e-01f, -3.415527343750000e-01f, -2.136230468750000e-03f, +4.404907226562500e-01f, +5.527343750000000e-01f, +5.050659179687500e-01f, +3.703613281250000e-01f, +3.050537109375000e-01f, -5.877685546875000e-02f, +4.943847656250000e-02f }; const float *const snsSt1_tr_midQ_truncQ[2]= {snsSt1_tr_midQ_truncQ_tcx20, snsSt1_tr_midQ_truncQ_tcx10}; /* const float fdcng_dct_scaleF[3] = { 0.420288085937500f , (0.420288085937500f / 16.0f) , (0.420288085937500f * 0.420288085937500f) / (16.0f*16.0f) }; const float fdcng_dct_invScaleF[2] = { 2.379272460937500f ,2.379272460937500f*16.0f }; */ const float snsSt1_dct_invScaleF_tcx20[2] = { 31977.0/2048.0, 31977.0/128.0, (31977.0/128.0)*(31977.0/128.0) }; /* Q11 invScale*/ const float snsSt1_dct_invScaleF_tcx10[2] = { }; const float snsSt1_dct_invScaleF_tcx20[3] = { (float)(31977.0/2048.0), (float)(31977.0/128.0), (float)((31977.0/128.0)*(31977.0/128.0)) }; /* Q11 invScale*/ const float snsSt1_dct_invScaleF_tcx10[3] = { (float)(30052.0/2048.0), (float)(30052.0/128.0), (float)((30052.0/128.0)*(30052.0/128.0)) }; /* Q11 invScale*/ const float *const snsSt1_dct_invScaleF[2]= { snsSt1_dct_invScaleF_tcx20, snsSt1_dct_invScaleF_tcx10}; const float snsSt1_dct_scaleF_tcx20[3] = { 16789.0/262144.0, (16789.0*16.0)/262144.0 }; /* Q18 */ const float snsSt1_dct_scaleF_tcx10[3] = { }; const float snsSt1_dct_scaleF_tcx20[2] = { (float)(16789.0/262144.0), (float)((16789.0*16.0)/262144.0) }; /* Q18 for dctFscale */ const float snsSt1_dct_scaleF_tcx10[2] = { (float)(17865.0/262144.0), (float)((17865.0*16.0)/262144.0) }; /* Q18 for dctFscale */ const float *const snsSt1_dct_scaleF[2] = { snsSt1_dct_scaleF_tcx20, snsSt1_dct_scaleF_tcx10}; const int16_t snsSt1_dct_n_segm[2] = { 4, 4 }; const int16_t snsSt1_dct_cols_per_segment_tcx20[4]= { 12, 14, 16, 16 }; const int16_t snsSt1_dct_cols_per_segment_tcx10[4]= { }; const int16_t snsSt1_dct_cols_per_segment_tcx10[4]= { 8 , 10 , 12 , 16 }; const int16_t *const snsSt1_dct_cols_per_segment[2]= { snsSt1_dct_cols_per_segment_tcx20, snsSt1_dct_cols_per_segment_tcx10}; const int16_t snsSt1_trunc_dct_cols_per_segment_tcx20[4]= { 0 }; const int16_t snsSt1_trunc_dct_cols_per_segment_tcx10[4]= { 0 }; const int16_t snsSt1_trunc_dct_cols_per_segment_tcx20[4]= { 4, 2, 0, 0 }; const int16_t snsSt1_trunc_dct_cols_per_segment_tcx10[4]= { 8, 6, 4, 0 }; const int16_t *const snsSt1_trunc_dct_cols_per_segment[2]= { snsSt1_trunc_dct_cols_per_segment_tcx20, snsSt1_trunc_dct_cols_per_segment_tcx10}; const int16_t snsSt1_cum_entries_per_segment_tcx20[5]={ 0, 14, 30, 30+98/2, 128 }; const int16_t snsSt1_cum_entries_per_segment_tcx10[5]={0}; const int16_t snsSt1_cum_entries_per_segment_tcx10[5]={ 0, 13, 47, 88, 128 }; const int16_t *const snsSt1_cum_entries_per_segment[2]={ snsSt1_cum_entries_per_segment_tcx20 ,snsSt1_cum_entries_per_segment_tcx10}; const int16_t snsSt1_entries_per_segment_tcx20[4]={ 14, 16, 98/2, 98/2 }; Loading Loading @@ -6265,8 +6262,143 @@ const Word8 /*seg 2, 98 x 16 */ sns_tcx20_dct_s2_W8Qx[1568]={ }; const Word8 *const snsSt1_stage1_W8Qx_dct_sections_tcx20[4]={ sns_tcx20_dct_s0_W8Qx, sns_tcx20_dct_s1_W8Qx, sns_tcx20_dct_s2_W8Qx, &(sns_tcx20_dct_s2_W8Qx[1568/2]) }; const Word8 *const snsSt1_stage1_W8Qx_dct_sections_tcx10[4]={0}; const Word8 /*seg 0, 13 x 8 */ sns_tcx10_dct_s0_W8Qx[104]={ 0, -85, -29, 33, 29, -57, -79, -67, 0, 36, 48, 42, 49, -37, -51, -88, 0, 47, 67, -2, -35, -56, -112, -81, 0, 76, 1, -8, 35, 6, -30, -50, 0, 81, 35, -9, 26, -42, -66, -55, 0, 84, -46, -33, -2, -61, -53, -86, 0, 91, 60, 38, 56, -10, -27, -64, 0, 100, 57, 6, -22, -82, -81, -119, 0, 103, 3, -76, -21, -70, -101, -74, 0, 104, 26, -2, 86, 7, -52, -80, 0, 106, -2, -22, 42, -70, -83, -90, 0, 122, 46, -23, -31, -24, -7, -39, 0, 127, 12, -57, 4, -10, -36, -75 }; const Word8 /*seg 1, 34 x 10 */ sns_tcx10_dct_s1_W8Qx[340]={ 0, -127, -1, 22, 9, -18, -52, -24, -49, 100, 0, -91, 36, 55, 16, -19, -50, -15, -61, 66, 0, -81, -4, -19, 19, -23, -68, -20, -48, 65, 0, -56, 13, -8, -3, -31, -66, -30, -37, 45, 0, -55, 45, 24, 10, -16, -57, -35, -40, 77, 0, -55, -14, 34, -28, -63, -46, -36, -3, 94, 0, -52, -22, -41, 26, -36, -103, -42, -42, 63, 0, -47, 64, 68, 32, -32, -29, -49, 2, 111, 0, -41, -32, 18, 28, -84, -79, -39, -69, -7, 0, -29, 14, -30, -51, -75, -69, -60, -8, 80, 0, -17, 15, 92, -15, -34, -46, -36, -39, 39, 0, -15, -39, -65, -84, -78, -55, -37, 0, 73, 0, -13, 0, 59, 75, -24, -64, -30, 16, 43, 0, 2, 48, 19, 55, 11, -46, -25, -38, 57, 0, 2, 51, 60, 20, -32, -64, -30, -1, 65, 0, 5, -7, -32, -42, -98, -85, -50, -37, 55, 0, 8, -53, -19, 85, 22, -13, -28, 5, 59, 0, 14, -26, -77, -49, -50, -45, -38, -24, 55, 0, 28, -5, 49, 16, -9, -36, -29, 31, 91, 0, 31, 47, -21, 19, -30, -50, -43, -22, 5, 0, 34, -31, -29, 19, 5, -27, -33, 26, 53, 0, 35, -14, -20, -2, -53, -72, -43, -24, 28, 0, 42, 18, 12, 21, -13, -35, -33, 23, 79, 0, 42, 18, 13, 109, 8, -83, -38, 30, 29, 0, 45, -52, -67, -69, -62, -52, 2, 89, 123, 0, 50, 7, -14, 9, -45, -52, -8, 50, 94, 0, 55, -16, 20, 80, -10, -51, -48, -30, 18, 0, 57, 38, 16, 60, 9, -21, -14, 43, 75, 0, 66, -12, -27, -35, -105, -82, -35, 12, 105, 0, 69, 15, 38, 103, 3, -52, -20, 64, 84, 0, 79, 26, 40, 48, -13, -59, -66, -12, 70, 0, 90, 17, -32, 93, 50, -74, -98, -49, 2, 0, 96, -29, 2, 119, -50, -63, -52, -65, -42, 0, 105, 24, -33, 15, -54, -116, -61, 54, 117 }; const Word8 /*seg 2, 41 x 12 */ sns_tcx10_dct_s2_W8Qx[492]={ 0, -73, 72, -43, 41, -16, -1, -40, 79, -26, 81, -47, 0, -56, -76, -27, 23, 107, -30, -17, -25, 35, 7, 108, 0, -49, 6, 71, 41, -39, -47, 1, -1, 37, -68, -1, 0, -48, 2, 34, 35, 7, -11, -34, 10, 70, 11, 26, 0, -41, -11, -1, 25, -40, -59, -41, -4, 47, -33, -12, 0, -33, 18, 25, 6, -49, -29, -51, -18, 10, -36, -18, 0, -32, 36, 36, 25, -2, -14, -11, 14, 95, 13, 14, 0, -27, -5, -35, -8, -72, -38, -57, -20, 16, -37, -21, 0, -24, -29, 19, 40, -11, -26, -17, -9, 46, -20, -19, 0, -23, 17, 2, 32, 4, -34, -33, -22, 73, -16, -8, 0, -20, 47, 25, 1, -26, -37, -40, -20, 59, -17, -47, 0, -10, 43, -37, 5, -26, -40, -35, -12, 52, -31, 17, 0, -9, -36, -38, 19, -50, -56, -50, -2, 29, -44, -6, 0, -8, 20, 9, 72, -9, -38, -43, 22, 39, 24, -3, 0, 3, 29, 19, 12, -41, -31, -49, -19, 2, -42, -50, 0, 6, 21, -30, -6, -69, -39, -53, -7, 69, -6, 37, 0, 13, -24, -38, -23, -46, -24, -28, -6, -17, -29, 25, 0, 14, -15, 30, 71, 36, -42, -68, 7, 18, -29, 1, 0, 15, 20, -19, 27, 27, -42, -71, -69, -65, -60, 11, 0, 17, -2, -70, 12, -37, -50, -42, -21, 41, 4, 57, 0, 18, 33, 19, 65, -3, -38, -16, 28, 40, 17, -29, 0, 19, 32, 15, -25, -67, -48, -41, -20, 49, -21, -35, 0, 20, -19, -23, 35, -56, -55, -39, -13, -19, -32, 19, 0, 21, 5, 3, 43, -32, -44, -43, 16, 59, 24, 18, 0, 24, 33, 22, 18, -39, -25, -24, 15, 73, -19, -19, 0, 25, 76, 40, 17, -7, -30, -46, 12, -16, 11, -58, 0, 27, -8, -58, -32, -27, -16, -33, 0, 10, -13, 10, 0, 35, 11, 19, 15, -31, -42, -56, -20, -48, -64, -31, 0, 37, 33, 30, 40, 11, -38, -60, -42, -23, -43, -16, 0, 40, 22, -42, 32, -30, -57, -37, -58, -9, -44, 43, 0, 50, -22, -68, 25, -98, -65, -8, -13, 22, 2, 68, 0, 53, 28, 18, 11, -47, -41, -42, 0, 24, -29, -21, 0, 55, 51, 65, 45, 16, -10, -15, 27, 97, 15, 41, 0, 61, 55, 30, 31, -35, -44, -62, -22, -17, -49, -29, 0, 62, -2, -7, 54, 57, -53, -94, -36, -108, -83, 42, 0, 67, 27, -5, 28, -12, -46, -67, -42, -93, -45, 29, 0, 68, 30, -29, -14, -64, -50, -60, -5, 13, -47, -5, 0, 70, 7, -45, 2, -80, -78, -45, 24, 119, -62, -7, 0, 71, -2, 0, 13, -61, -50, -79, -7, -49, -80, 36, 0, 77, 7, -49, 53, -24, -77, -45, -52, -47, -35, 122, 0, 93, -27, -88, 17, -101, -66, -12, 19, -46, -65, 65 }; const Word8 /*seg 3, 40 x 16 */ sns_tcx10_dct_s3_W8Qx[640]={ 0, -69, -22, -85, -72, -77, 0, 73, -12, -73, 83, -5, -123, 81, -1, -63, 0, -67, -42, -88, -66, -71, -23, 69, 16, -36, 83, -9, -26, 49, 15, -65, 0, -46, -45, -56, -64, -48, -7, 101, 32, -44, 58, -17, -44, 68, 36, -49, 0, -45, -18, -64, -53, -41, -15, 64, 9, -52, 49, 7, -14, 78, 47, -13, 0, -29, 1, -3, 8, -30, -11, -9, 16, 50, 16, 1, 14, 19, -2, 14, 0, -27, 21, 62, 34, 32, 2, -59, 52, -14, 8, 10, -18, 55, 48, -24, 0, -20, -22, -21, -5, -16, -26, -30, 18, 30, -24, 16, 19, 24, -10, -4, 0, -17, 17, -17, 62, 58, 44, -38, -16, 58, 49, 16, 0, 46, 7, 86, 0, -15, -61, -71, -68, -47, 89, -22, 9, 30, 39, 70, 123, -81, -101, -100, 0, -15, 0, -42, 14, -25, -50, -49, -36, 21, 19, -10, -41, 2, -2, 30, 0, -15, 10, 9, -9, -48, -37, -31, -17, 40, -16, 2, 5, 20, -9, 19, 0, -14, 52, -86, 29, -52, 50, 36, 85, 43, 4, -70, -38, 41, 101, 100, 0, -12, 66, 42, 43, -9, -14, -18, 20, 33, 31, -12, 34, 41, -9, 42, 0, -9, 7, -65, -2, -4, -35, -17, -31, -51, -53, 42, -10, 33, -17, 14, 0, -9, -18, 9, 12, -88, -42, -26, -29, -8, 2, 11, -6, 26, -3, -2, 0, -8, 29, 11, 9, -39, -17, -42, 19, 35, 3, 5, -2, 26, 2, 14, 0, -4, 0, 23, -1, -6, -21, -43, 8, 28, -21, 5, 1, 22, 13, 5, 0, -1, 1, 9, 47, -13, -69, -58, -60, 6, 24, -18, -41, 13, 21, 37, 0, 0, -1, -10, 19, -18, -25, -24, 1, 42, -10, -8, -17, 11, -21, 3, 0, 0, 21, 42, 38, 3, -13, -14, 11, 50, 3, 12, 22, 28, 14, 18, 0, 2, -35, -34, -57, -30, -1, 94, 44, -37, 49, -1, -49, 78, 23, -42, 0, 10, -20, 15, -11, -45, -28, -23, 30, 41, -14, -2, -13, 16, -21, -8, 0, 12, 9, 14, -7, -53, -34, -55, 2, 20, -33, -8, -30, 16, 0, 9, 0, 14, 22, -4, 13, -20, -19, -19, 21, 49, 10, 9, 6, 18, -10, 7, 0, 14, 43, 47, 44, -3, -10, -34, 29, 27, 22, 7, 6, 31, 19, 22, 0, 17, 20, 55, 20, -27, -18, -64, 17, -38, -12, -27, -63, 23, -9, -13, 0, 17, 0, 38, 51, -51, -40, -35, -40, -17, -43, -25, -46, 2, -7, 23, 0, 23, -4, -6, 3, -10, -23, -22, 4, 25, -9, 12, 15, 21, -3, 8, 0, 24, 16, -54, -23, -96, -48, 20, 17, -10, -13, 1, -75, 21, 43, 19, 0, 34, 17, -15, -5, -71, -44, -58, -13, 0, -29, 17, 13, 24, 18, 26, 0, 34, 16, 47, 35, 4, -11, -7, 25, 58, 4, 19, 28, 38, 9, 16, 0, 36, 6, 1, 62, 44, -89, -67, -37, -22, -22, 33, -67, -15, 41, 36, 0, 47, 14, -29, -14, 29, -11, -75, -47, -14, -61, 13, -11, 39, -1, -25, 0, 53, 17, -79, -13, -10, -61, -55, 34, -50, -5, 38, -120, 5, -62, -28, 0, 54, 19, -12, -55, -105, -44, -52, -39, 60, 1, -24, -48, 4, 62, 99, 0, 55, -7, -53, 16, 3, -64, -67, -33, -29, -65, 47, 48, -2, 27, 62, 0, 61, 25, 36, 36, -81, -12, -38, -85, 8, 6, -51, -79, 14, -33, 48, 0, 72, -4, -92, -47, -32, -24, -57, 48, -10, -34, 2, -80, 25, -56, -32, 0, 77, 18, -88, 2, -107, -51, -14, -20, 73, -42, 19, -119, 21, 5, 30, 0, 85, 46, 5, 13, -18, -39, -101, -40, 15, -30, 8, -104, -16, 0, 69 }; const Word8 *const snsSt1_stage1_W8Qx_dct_sections_tcx10[4]={ sns_tcx10_dct_s0_W8Qx, sns_tcx10_dct_s1_W8Qx, sns_tcx10_dct_s2_W8Qx, sns_tcx10_dct_s3_W8Qx }; const Word8 *const* snsSt1_stage1_W8Qx_dct_sections[2]={snsSt1_stage1_W8Qx_dct_sections_tcx20, snsSt1_stage1_W8Qx_dct_sections_tcx10 }; const Word16 snsSt1_tcx20_stage1_col_syn_shift_segm0[12]={ Loading @@ -6283,7 +6415,24 @@ const Word16 snsSt1_tcx20_stage1_col_syn_shift_segm2[16]={ }; const Word16 *const snsSt1_dct_col_syn_shift_tcx20[4]={snsSt1_tcx20_stage1_col_syn_shift_segm0,snsSt1_tcx20_stage1_col_syn_shift_segm1,snsSt1_tcx20_stage1_col_syn_shift_segm2, snsSt1_tcx20_stage1_col_syn_shift_segm2}; const Word16 *const snsSt1_dct_col_syn_shift_tcx10[4]={0}; const Word16 snsSt1_tcx10_stage1_col_syn_shift_segm0[8]={ 0, 4, 4, 3, 2, 2, 2, 1 }; const Word16 snsSt1_tcx10_stage1_col_syn_shift_segm1[10]={ 0, 4, 4, 3, 2, 2, 2, 2, 1, 0 }; const Word16 snsSt1_tcx10_stage1_col_syn_shift_segm2[12]={ 0, 4, 4, 3, 3, 2, 3, 2, 2, 0, 1, 0 }; const Word16 snsSt1_tcx10_stage1_col_syn_shift_segm3[16]={ 0, 4, 4, 3, 3, 2, 3, 2, 2, 1, 1, 1, 0, 1, 0, 0 }; const Word16 *const snsSt1_dct_col_syn_shift_tcx10[4]={ snsSt1_tcx10_stage1_col_syn_shift_segm0, snsSt1_tcx10_stage1_col_syn_shift_segm1, snsSt1_tcx10_stage1_col_syn_shift_segm2, snsSt1_tcx10_stage1_col_syn_shift_segm3 }; const Word16 *const* snsSt1_dct_col_syn_shift[2]={snsSt1_dct_col_syn_shift_tcx20, snsSt1_dct_col_syn_shift_tcx10 }; Loading @@ -6305,7 +6454,24 @@ const Word8 snsSt1_segm_neighbour_fwd_tcx20[128]= { 7, 119, 11, 89, 96, 9, 0, 118, 127, 109, 13, 27, 105, 12, 124, 123 }; const Word8 snsSt1_segm_neighbour_fwd_tcx10[128]={0}; const Word8 snsSt1_segm_neighbour_fwd_tcx10[128]={ 21, 78, 72, 44, 6, 87, 7, 11, 10, 46, 86, 12, 9, 0, 13, 19, 15, 14, 50, 91, 47, 55, 54, 49, 30, 23, 27, 112, 101, 33, 63, 110, 75, 34, 69, 38, 67, 96, 120, 45, 79, 125, 40, 124, 82, 5, 126, 99, 29, 93, 16, 18, 17, 57, 51, 102, 52, 58, 103, 39, 107, 71, 116, 28, 31, 66, 77, 26, 62, 105, 114, 68, 100, 115, 70, 36, 32, 37, 83, 1, 2, 119, 43, 122, 85, 3, 81, 8, 89, 90, 108, 88, 98, 53, 24, 59, 48, 92, 22, 95, 20, 97, 94, 61, 106, 60, 56, 25, 127, 104, 111, 65, 113, 118, 64, 109, 73, 74, 35, 42, 117, 123, 41, 76, 80, 121, 84, 4 }; const Word8 *const snsSt1_segm_neighbour_fwd[2]={snsSt1_segm_neighbour_fwd_tcx20 , snsSt1_segm_neighbour_fwd_tcx10}; Loading @@ -6328,7 +6494,24 @@ const Word8 snsSt1_segm_neighbour_rev_tcx20[128]= { 7, 12, 102, 127, 126, 29, 26, 120 }; const Word8 snsSt1_segm_neighbour_rev_tcx10[128]={0}; const Word8 snsSt1_segm_neighbour_rev_tcx10[128]={ 13, 79, 80, 85, 127, 45, 4, 6, 87, 12, 8, 7, 11, 14, 17, 16, 50, 52, 51, 15, 100, 0, 98, 25, 94, 107, 67, 26, 63, 48, 24, 64, 76, 29, 33, 118, 75, 77, 35, 59, 42, 122, 119, 82, 3, 39, 9, 20, 96, 23, 18, 54, 56, 93, 22, 21, 106, 53, 57, 95, 105, 103, 68, 30, 114, 111, 65, 36, 71, 34, 74, 61, 2, 116, 117, 32, 123, 66, 1, 40, 124, 86, 44, 78, 126, 84, 10, 5, 91, 88, 89, 19, 97, 49, 102, 99, 37, 101, 92, 47, 72, 28, 55, 58, 109, 69, 104, 60, 90, 115, 31, 110, 27, 112, 70, 73, 62, 120, 113, 81, 38, 125, 83, 121, 43, 41, 46, 108 }; const Word8 *const snsSt1_segm_neighbour_rev[2]={snsSt1_segm_neighbour_rev_tcx20 , snsSt1_segm_neighbour_rev_tcx10}; const int16_t snsSt1_npost[2]={8, 4}; /*number of circ. neigbours to postcheck */ lib_com/options.h +1 −1 Original line number Diff line number Diff line Loading @@ -174,7 +174,7 @@ #define HR_METADATA /* Nok: encode directional MASA metadata with more bits at 384k and 512k */ //#define ERI_SNSVQ_ROMOPT /* BASOP ROM OPT store added SNS VQ stage 1 tables in DCT16 domain, as for FDCNGVQ stage 1 */ #define ERI_SNSVQ_ROMOPT /* BASOP ROM OPT store added SNS VQ stage 1 tables in DCT16 domain, as for FDCNGVQ stage 1 */ #define SNS_MSVQ_DEBUG /* measure SD */ /* ################## End DEVELOPMENT switches ######################### */ Loading Loading
lib_com/ivas_rom_com.c +204 −21 Original line number Diff line number Diff line Loading @@ -6090,37 +6090,34 @@ const float snsSt1_tr_midQ_truncQ_tcx20[M] = /* Q13 */ { -3.063964843750000e-02f, -1.065673828125000e-01f, +4.514160156250000e-01f, +2.604980468750000e-01f, +3.583984375000000e-01f, +6.871337890625000e-01f, +8.574218750000000e-01f, +1.024780273437500e+00f }; const float snsSt1_tr_midQ_truncQ_tcx10[M]={ }; const float snsSt1_tr_midQ_truncQ_tcx10[M]={ /* Q14 */ -1.926879882812500e-01f, -8.222045898437500e-01f, -1.214416503906250e+00f, -5.881347656250000e-01f, +2.371215820312500e-01f, +6.344604492187500e-01f, +1.252441406250000e-01f, -3.415527343750000e-01f, -2.136230468750000e-03f, +4.404907226562500e-01f, +5.527343750000000e-01f, +5.050659179687500e-01f, +3.703613281250000e-01f, +3.050537109375000e-01f, -5.877685546875000e-02f, +4.943847656250000e-02f }; const float *const snsSt1_tr_midQ_truncQ[2]= {snsSt1_tr_midQ_truncQ_tcx20, snsSt1_tr_midQ_truncQ_tcx10}; /* const float fdcng_dct_scaleF[3] = { 0.420288085937500f , (0.420288085937500f / 16.0f) , (0.420288085937500f * 0.420288085937500f) / (16.0f*16.0f) }; const float fdcng_dct_invScaleF[2] = { 2.379272460937500f ,2.379272460937500f*16.0f }; */ const float snsSt1_dct_invScaleF_tcx20[2] = { 31977.0/2048.0, 31977.0/128.0, (31977.0/128.0)*(31977.0/128.0) }; /* Q11 invScale*/ const float snsSt1_dct_invScaleF_tcx10[2] = { }; const float snsSt1_dct_invScaleF_tcx20[3] = { (float)(31977.0/2048.0), (float)(31977.0/128.0), (float)((31977.0/128.0)*(31977.0/128.0)) }; /* Q11 invScale*/ const float snsSt1_dct_invScaleF_tcx10[3] = { (float)(30052.0/2048.0), (float)(30052.0/128.0), (float)((30052.0/128.0)*(30052.0/128.0)) }; /* Q11 invScale*/ const float *const snsSt1_dct_invScaleF[2]= { snsSt1_dct_invScaleF_tcx20, snsSt1_dct_invScaleF_tcx10}; const float snsSt1_dct_scaleF_tcx20[3] = { 16789.0/262144.0, (16789.0*16.0)/262144.0 }; /* Q18 */ const float snsSt1_dct_scaleF_tcx10[3] = { }; const float snsSt1_dct_scaleF_tcx20[2] = { (float)(16789.0/262144.0), (float)((16789.0*16.0)/262144.0) }; /* Q18 for dctFscale */ const float snsSt1_dct_scaleF_tcx10[2] = { (float)(17865.0/262144.0), (float)((17865.0*16.0)/262144.0) }; /* Q18 for dctFscale */ const float *const snsSt1_dct_scaleF[2] = { snsSt1_dct_scaleF_tcx20, snsSt1_dct_scaleF_tcx10}; const int16_t snsSt1_dct_n_segm[2] = { 4, 4 }; const int16_t snsSt1_dct_cols_per_segment_tcx20[4]= { 12, 14, 16, 16 }; const int16_t snsSt1_dct_cols_per_segment_tcx10[4]= { }; const int16_t snsSt1_dct_cols_per_segment_tcx10[4]= { 8 , 10 , 12 , 16 }; const int16_t *const snsSt1_dct_cols_per_segment[2]= { snsSt1_dct_cols_per_segment_tcx20, snsSt1_dct_cols_per_segment_tcx10}; const int16_t snsSt1_trunc_dct_cols_per_segment_tcx20[4]= { 0 }; const int16_t snsSt1_trunc_dct_cols_per_segment_tcx10[4]= { 0 }; const int16_t snsSt1_trunc_dct_cols_per_segment_tcx20[4]= { 4, 2, 0, 0 }; const int16_t snsSt1_trunc_dct_cols_per_segment_tcx10[4]= { 8, 6, 4, 0 }; const int16_t *const snsSt1_trunc_dct_cols_per_segment[2]= { snsSt1_trunc_dct_cols_per_segment_tcx20, snsSt1_trunc_dct_cols_per_segment_tcx10}; const int16_t snsSt1_cum_entries_per_segment_tcx20[5]={ 0, 14, 30, 30+98/2, 128 }; const int16_t snsSt1_cum_entries_per_segment_tcx10[5]={0}; const int16_t snsSt1_cum_entries_per_segment_tcx10[5]={ 0, 13, 47, 88, 128 }; const int16_t *const snsSt1_cum_entries_per_segment[2]={ snsSt1_cum_entries_per_segment_tcx20 ,snsSt1_cum_entries_per_segment_tcx10}; const int16_t snsSt1_entries_per_segment_tcx20[4]={ 14, 16, 98/2, 98/2 }; Loading Loading @@ -6265,8 +6262,143 @@ const Word8 /*seg 2, 98 x 16 */ sns_tcx20_dct_s2_W8Qx[1568]={ }; const Word8 *const snsSt1_stage1_W8Qx_dct_sections_tcx20[4]={ sns_tcx20_dct_s0_W8Qx, sns_tcx20_dct_s1_W8Qx, sns_tcx20_dct_s2_W8Qx, &(sns_tcx20_dct_s2_W8Qx[1568/2]) }; const Word8 *const snsSt1_stage1_W8Qx_dct_sections_tcx10[4]={0}; const Word8 /*seg 0, 13 x 8 */ sns_tcx10_dct_s0_W8Qx[104]={ 0, -85, -29, 33, 29, -57, -79, -67, 0, 36, 48, 42, 49, -37, -51, -88, 0, 47, 67, -2, -35, -56, -112, -81, 0, 76, 1, -8, 35, 6, -30, -50, 0, 81, 35, -9, 26, -42, -66, -55, 0, 84, -46, -33, -2, -61, -53, -86, 0, 91, 60, 38, 56, -10, -27, -64, 0, 100, 57, 6, -22, -82, -81, -119, 0, 103, 3, -76, -21, -70, -101, -74, 0, 104, 26, -2, 86, 7, -52, -80, 0, 106, -2, -22, 42, -70, -83, -90, 0, 122, 46, -23, -31, -24, -7, -39, 0, 127, 12, -57, 4, -10, -36, -75 }; const Word8 /*seg 1, 34 x 10 */ sns_tcx10_dct_s1_W8Qx[340]={ 0, -127, -1, 22, 9, -18, -52, -24, -49, 100, 0, -91, 36, 55, 16, -19, -50, -15, -61, 66, 0, -81, -4, -19, 19, -23, -68, -20, -48, 65, 0, -56, 13, -8, -3, -31, -66, -30, -37, 45, 0, -55, 45, 24, 10, -16, -57, -35, -40, 77, 0, -55, -14, 34, -28, -63, -46, -36, -3, 94, 0, -52, -22, -41, 26, -36, -103, -42, -42, 63, 0, -47, 64, 68, 32, -32, -29, -49, 2, 111, 0, -41, -32, 18, 28, -84, -79, -39, -69, -7, 0, -29, 14, -30, -51, -75, -69, -60, -8, 80, 0, -17, 15, 92, -15, -34, -46, -36, -39, 39, 0, -15, -39, -65, -84, -78, -55, -37, 0, 73, 0, -13, 0, 59, 75, -24, -64, -30, 16, 43, 0, 2, 48, 19, 55, 11, -46, -25, -38, 57, 0, 2, 51, 60, 20, -32, -64, -30, -1, 65, 0, 5, -7, -32, -42, -98, -85, -50, -37, 55, 0, 8, -53, -19, 85, 22, -13, -28, 5, 59, 0, 14, -26, -77, -49, -50, -45, -38, -24, 55, 0, 28, -5, 49, 16, -9, -36, -29, 31, 91, 0, 31, 47, -21, 19, -30, -50, -43, -22, 5, 0, 34, -31, -29, 19, 5, -27, -33, 26, 53, 0, 35, -14, -20, -2, -53, -72, -43, -24, 28, 0, 42, 18, 12, 21, -13, -35, -33, 23, 79, 0, 42, 18, 13, 109, 8, -83, -38, 30, 29, 0, 45, -52, -67, -69, -62, -52, 2, 89, 123, 0, 50, 7, -14, 9, -45, -52, -8, 50, 94, 0, 55, -16, 20, 80, -10, -51, -48, -30, 18, 0, 57, 38, 16, 60, 9, -21, -14, 43, 75, 0, 66, -12, -27, -35, -105, -82, -35, 12, 105, 0, 69, 15, 38, 103, 3, -52, -20, 64, 84, 0, 79, 26, 40, 48, -13, -59, -66, -12, 70, 0, 90, 17, -32, 93, 50, -74, -98, -49, 2, 0, 96, -29, 2, 119, -50, -63, -52, -65, -42, 0, 105, 24, -33, 15, -54, -116, -61, 54, 117 }; const Word8 /*seg 2, 41 x 12 */ sns_tcx10_dct_s2_W8Qx[492]={ 0, -73, 72, -43, 41, -16, -1, -40, 79, -26, 81, -47, 0, -56, -76, -27, 23, 107, -30, -17, -25, 35, 7, 108, 0, -49, 6, 71, 41, -39, -47, 1, -1, 37, -68, -1, 0, -48, 2, 34, 35, 7, -11, -34, 10, 70, 11, 26, 0, -41, -11, -1, 25, -40, -59, -41, -4, 47, -33, -12, 0, -33, 18, 25, 6, -49, -29, -51, -18, 10, -36, -18, 0, -32, 36, 36, 25, -2, -14, -11, 14, 95, 13, 14, 0, -27, -5, -35, -8, -72, -38, -57, -20, 16, -37, -21, 0, -24, -29, 19, 40, -11, -26, -17, -9, 46, -20, -19, 0, -23, 17, 2, 32, 4, -34, -33, -22, 73, -16, -8, 0, -20, 47, 25, 1, -26, -37, -40, -20, 59, -17, -47, 0, -10, 43, -37, 5, -26, -40, -35, -12, 52, -31, 17, 0, -9, -36, -38, 19, -50, -56, -50, -2, 29, -44, -6, 0, -8, 20, 9, 72, -9, -38, -43, 22, 39, 24, -3, 0, 3, 29, 19, 12, -41, -31, -49, -19, 2, -42, -50, 0, 6, 21, -30, -6, -69, -39, -53, -7, 69, -6, 37, 0, 13, -24, -38, -23, -46, -24, -28, -6, -17, -29, 25, 0, 14, -15, 30, 71, 36, -42, -68, 7, 18, -29, 1, 0, 15, 20, -19, 27, 27, -42, -71, -69, -65, -60, 11, 0, 17, -2, -70, 12, -37, -50, -42, -21, 41, 4, 57, 0, 18, 33, 19, 65, -3, -38, -16, 28, 40, 17, -29, 0, 19, 32, 15, -25, -67, -48, -41, -20, 49, -21, -35, 0, 20, -19, -23, 35, -56, -55, -39, -13, -19, -32, 19, 0, 21, 5, 3, 43, -32, -44, -43, 16, 59, 24, 18, 0, 24, 33, 22, 18, -39, -25, -24, 15, 73, -19, -19, 0, 25, 76, 40, 17, -7, -30, -46, 12, -16, 11, -58, 0, 27, -8, -58, -32, -27, -16, -33, 0, 10, -13, 10, 0, 35, 11, 19, 15, -31, -42, -56, -20, -48, -64, -31, 0, 37, 33, 30, 40, 11, -38, -60, -42, -23, -43, -16, 0, 40, 22, -42, 32, -30, -57, -37, -58, -9, -44, 43, 0, 50, -22, -68, 25, -98, -65, -8, -13, 22, 2, 68, 0, 53, 28, 18, 11, -47, -41, -42, 0, 24, -29, -21, 0, 55, 51, 65, 45, 16, -10, -15, 27, 97, 15, 41, 0, 61, 55, 30, 31, -35, -44, -62, -22, -17, -49, -29, 0, 62, -2, -7, 54, 57, -53, -94, -36, -108, -83, 42, 0, 67, 27, -5, 28, -12, -46, -67, -42, -93, -45, 29, 0, 68, 30, -29, -14, -64, -50, -60, -5, 13, -47, -5, 0, 70, 7, -45, 2, -80, -78, -45, 24, 119, -62, -7, 0, 71, -2, 0, 13, -61, -50, -79, -7, -49, -80, 36, 0, 77, 7, -49, 53, -24, -77, -45, -52, -47, -35, 122, 0, 93, -27, -88, 17, -101, -66, -12, 19, -46, -65, 65 }; const Word8 /*seg 3, 40 x 16 */ sns_tcx10_dct_s3_W8Qx[640]={ 0, -69, -22, -85, -72, -77, 0, 73, -12, -73, 83, -5, -123, 81, -1, -63, 0, -67, -42, -88, -66, -71, -23, 69, 16, -36, 83, -9, -26, 49, 15, -65, 0, -46, -45, -56, -64, -48, -7, 101, 32, -44, 58, -17, -44, 68, 36, -49, 0, -45, -18, -64, -53, -41, -15, 64, 9, -52, 49, 7, -14, 78, 47, -13, 0, -29, 1, -3, 8, -30, -11, -9, 16, 50, 16, 1, 14, 19, -2, 14, 0, -27, 21, 62, 34, 32, 2, -59, 52, -14, 8, 10, -18, 55, 48, -24, 0, -20, -22, -21, -5, -16, -26, -30, 18, 30, -24, 16, 19, 24, -10, -4, 0, -17, 17, -17, 62, 58, 44, -38, -16, 58, 49, 16, 0, 46, 7, 86, 0, -15, -61, -71, -68, -47, 89, -22, 9, 30, 39, 70, 123, -81, -101, -100, 0, -15, 0, -42, 14, -25, -50, -49, -36, 21, 19, -10, -41, 2, -2, 30, 0, -15, 10, 9, -9, -48, -37, -31, -17, 40, -16, 2, 5, 20, -9, 19, 0, -14, 52, -86, 29, -52, 50, 36, 85, 43, 4, -70, -38, 41, 101, 100, 0, -12, 66, 42, 43, -9, -14, -18, 20, 33, 31, -12, 34, 41, -9, 42, 0, -9, 7, -65, -2, -4, -35, -17, -31, -51, -53, 42, -10, 33, -17, 14, 0, -9, -18, 9, 12, -88, -42, -26, -29, -8, 2, 11, -6, 26, -3, -2, 0, -8, 29, 11, 9, -39, -17, -42, 19, 35, 3, 5, -2, 26, 2, 14, 0, -4, 0, 23, -1, -6, -21, -43, 8, 28, -21, 5, 1, 22, 13, 5, 0, -1, 1, 9, 47, -13, -69, -58, -60, 6, 24, -18, -41, 13, 21, 37, 0, 0, -1, -10, 19, -18, -25, -24, 1, 42, -10, -8, -17, 11, -21, 3, 0, 0, 21, 42, 38, 3, -13, -14, 11, 50, 3, 12, 22, 28, 14, 18, 0, 2, -35, -34, -57, -30, -1, 94, 44, -37, 49, -1, -49, 78, 23, -42, 0, 10, -20, 15, -11, -45, -28, -23, 30, 41, -14, -2, -13, 16, -21, -8, 0, 12, 9, 14, -7, -53, -34, -55, 2, 20, -33, -8, -30, 16, 0, 9, 0, 14, 22, -4, 13, -20, -19, -19, 21, 49, 10, 9, 6, 18, -10, 7, 0, 14, 43, 47, 44, -3, -10, -34, 29, 27, 22, 7, 6, 31, 19, 22, 0, 17, 20, 55, 20, -27, -18, -64, 17, -38, -12, -27, -63, 23, -9, -13, 0, 17, 0, 38, 51, -51, -40, -35, -40, -17, -43, -25, -46, 2, -7, 23, 0, 23, -4, -6, 3, -10, -23, -22, 4, 25, -9, 12, 15, 21, -3, 8, 0, 24, 16, -54, -23, -96, -48, 20, 17, -10, -13, 1, -75, 21, 43, 19, 0, 34, 17, -15, -5, -71, -44, -58, -13, 0, -29, 17, 13, 24, 18, 26, 0, 34, 16, 47, 35, 4, -11, -7, 25, 58, 4, 19, 28, 38, 9, 16, 0, 36, 6, 1, 62, 44, -89, -67, -37, -22, -22, 33, -67, -15, 41, 36, 0, 47, 14, -29, -14, 29, -11, -75, -47, -14, -61, 13, -11, 39, -1, -25, 0, 53, 17, -79, -13, -10, -61, -55, 34, -50, -5, 38, -120, 5, -62, -28, 0, 54, 19, -12, -55, -105, -44, -52, -39, 60, 1, -24, -48, 4, 62, 99, 0, 55, -7, -53, 16, 3, -64, -67, -33, -29, -65, 47, 48, -2, 27, 62, 0, 61, 25, 36, 36, -81, -12, -38, -85, 8, 6, -51, -79, 14, -33, 48, 0, 72, -4, -92, -47, -32, -24, -57, 48, -10, -34, 2, -80, 25, -56, -32, 0, 77, 18, -88, 2, -107, -51, -14, -20, 73, -42, 19, -119, 21, 5, 30, 0, 85, 46, 5, 13, -18, -39, -101, -40, 15, -30, 8, -104, -16, 0, 69 }; const Word8 *const snsSt1_stage1_W8Qx_dct_sections_tcx10[4]={ sns_tcx10_dct_s0_W8Qx, sns_tcx10_dct_s1_W8Qx, sns_tcx10_dct_s2_W8Qx, sns_tcx10_dct_s3_W8Qx }; const Word8 *const* snsSt1_stage1_W8Qx_dct_sections[2]={snsSt1_stage1_W8Qx_dct_sections_tcx20, snsSt1_stage1_W8Qx_dct_sections_tcx10 }; const Word16 snsSt1_tcx20_stage1_col_syn_shift_segm0[12]={ Loading @@ -6283,7 +6415,24 @@ const Word16 snsSt1_tcx20_stage1_col_syn_shift_segm2[16]={ }; const Word16 *const snsSt1_dct_col_syn_shift_tcx20[4]={snsSt1_tcx20_stage1_col_syn_shift_segm0,snsSt1_tcx20_stage1_col_syn_shift_segm1,snsSt1_tcx20_stage1_col_syn_shift_segm2, snsSt1_tcx20_stage1_col_syn_shift_segm2}; const Word16 *const snsSt1_dct_col_syn_shift_tcx10[4]={0}; const Word16 snsSt1_tcx10_stage1_col_syn_shift_segm0[8]={ 0, 4, 4, 3, 2, 2, 2, 1 }; const Word16 snsSt1_tcx10_stage1_col_syn_shift_segm1[10]={ 0, 4, 4, 3, 2, 2, 2, 2, 1, 0 }; const Word16 snsSt1_tcx10_stage1_col_syn_shift_segm2[12]={ 0, 4, 4, 3, 3, 2, 3, 2, 2, 0, 1, 0 }; const Word16 snsSt1_tcx10_stage1_col_syn_shift_segm3[16]={ 0, 4, 4, 3, 3, 2, 3, 2, 2, 1, 1, 1, 0, 1, 0, 0 }; const Word16 *const snsSt1_dct_col_syn_shift_tcx10[4]={ snsSt1_tcx10_stage1_col_syn_shift_segm0, snsSt1_tcx10_stage1_col_syn_shift_segm1, snsSt1_tcx10_stage1_col_syn_shift_segm2, snsSt1_tcx10_stage1_col_syn_shift_segm3 }; const Word16 *const* snsSt1_dct_col_syn_shift[2]={snsSt1_dct_col_syn_shift_tcx20, snsSt1_dct_col_syn_shift_tcx10 }; Loading @@ -6305,7 +6454,24 @@ const Word8 snsSt1_segm_neighbour_fwd_tcx20[128]= { 7, 119, 11, 89, 96, 9, 0, 118, 127, 109, 13, 27, 105, 12, 124, 123 }; const Word8 snsSt1_segm_neighbour_fwd_tcx10[128]={0}; const Word8 snsSt1_segm_neighbour_fwd_tcx10[128]={ 21, 78, 72, 44, 6, 87, 7, 11, 10, 46, 86, 12, 9, 0, 13, 19, 15, 14, 50, 91, 47, 55, 54, 49, 30, 23, 27, 112, 101, 33, 63, 110, 75, 34, 69, 38, 67, 96, 120, 45, 79, 125, 40, 124, 82, 5, 126, 99, 29, 93, 16, 18, 17, 57, 51, 102, 52, 58, 103, 39, 107, 71, 116, 28, 31, 66, 77, 26, 62, 105, 114, 68, 100, 115, 70, 36, 32, 37, 83, 1, 2, 119, 43, 122, 85, 3, 81, 8, 89, 90, 108, 88, 98, 53, 24, 59, 48, 92, 22, 95, 20, 97, 94, 61, 106, 60, 56, 25, 127, 104, 111, 65, 113, 118, 64, 109, 73, 74, 35, 42, 117, 123, 41, 76, 80, 121, 84, 4 }; const Word8 *const snsSt1_segm_neighbour_fwd[2]={snsSt1_segm_neighbour_fwd_tcx20 , snsSt1_segm_neighbour_fwd_tcx10}; Loading @@ -6328,7 +6494,24 @@ const Word8 snsSt1_segm_neighbour_rev_tcx20[128]= { 7, 12, 102, 127, 126, 29, 26, 120 }; const Word8 snsSt1_segm_neighbour_rev_tcx10[128]={0}; const Word8 snsSt1_segm_neighbour_rev_tcx10[128]={ 13, 79, 80, 85, 127, 45, 4, 6, 87, 12, 8, 7, 11, 14, 17, 16, 50, 52, 51, 15, 100, 0, 98, 25, 94, 107, 67, 26, 63, 48, 24, 64, 76, 29, 33, 118, 75, 77, 35, 59, 42, 122, 119, 82, 3, 39, 9, 20, 96, 23, 18, 54, 56, 93, 22, 21, 106, 53, 57, 95, 105, 103, 68, 30, 114, 111, 65, 36, 71, 34, 74, 61, 2, 116, 117, 32, 123, 66, 1, 40, 124, 86, 44, 78, 126, 84, 10, 5, 91, 88, 89, 19, 97, 49, 102, 99, 37, 101, 92, 47, 72, 28, 55, 58, 109, 69, 104, 60, 90, 115, 31, 110, 27, 112, 70, 73, 62, 120, 113, 81, 38, 125, 83, 121, 43, 41, 46, 108 }; const Word8 *const snsSt1_segm_neighbour_rev[2]={snsSt1_segm_neighbour_rev_tcx20 , snsSt1_segm_neighbour_rev_tcx10}; const int16_t snsSt1_npost[2]={8, 4}; /*number of circ. neigbours to postcheck */
lib_com/options.h +1 −1 Original line number Diff line number Diff line Loading @@ -174,7 +174,7 @@ #define HR_METADATA /* Nok: encode directional MASA metadata with more bits at 384k and 512k */ //#define ERI_SNSVQ_ROMOPT /* BASOP ROM OPT store added SNS VQ stage 1 tables in DCT16 domain, as for FDCNGVQ stage 1 */ #define ERI_SNSVQ_ROMOPT /* BASOP ROM OPT store added SNS VQ stage 1 tables in DCT16 domain, as for FDCNGVQ stage 1 */ #define SNS_MSVQ_DEBUG /* measure SD */ /* ################## End DEVELOPMENT switches ######################### */ Loading