Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(7)

Side by Side Diff: third_party/opus/src/silk/x86/x86_silk_map.c

Issue 2962373002: [Opus] Update to v1.2.1 (Closed)
Patch Set: Pre-increment instead of post-increment Created 3 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « third_party/opus/src/silk/x86/main_sse.h ('k') | third_party/opus/src/src/analysis.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* Copyright (c) 2014, Cisco Systems, INC 1 /* Copyright (c) 2014, Cisco Systems, INC
2 Written by XiangMingZhu WeiZhou MinPeng YanWang 2 Written by XiangMingZhu WeiZhou MinPeng YanWang
3 3
4 Redistribution and use in source and binary forms, with or without 4 Redistribution and use in source and binary forms, with or without
5 modification, are permitted provided that the following conditions 5 modification, are permitted provided that the following conditions
6 are met: 6 are met:
7 7
8 - Redistributions of source code must retain the above copyright 8 - Redistributions of source code must retain the above copyright
9 notice, this list of conditions and the following disclaimer. 9 notice, this list of conditions and the following disclaimer.
10 10
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
59 silk_encoder_state *psEncC, 59 silk_encoder_state *psEncC,
60 const opus_int16 pIn[] 60 const opus_int16 pIn[]
61 ) = { 61 ) = {
62 silk_VAD_GetSA_Q8_c, /* non-sse */ 62 silk_VAD_GetSA_Q8_c, /* non-sse */
63 silk_VAD_GetSA_Q8_c, 63 silk_VAD_GetSA_Q8_c,
64 silk_VAD_GetSA_Q8_c, 64 silk_VAD_GetSA_Q8_c,
65 MAY_HAVE_SSE4_1( silk_VAD_GetSA_Q8 ), /* sse4.1 */ 65 MAY_HAVE_SSE4_1( silk_VAD_GetSA_Q8 ), /* sse4.1 */
66 MAY_HAVE_SSE4_1( silk_VAD_GetSA_Q8 ) /* avx */ 66 MAY_HAVE_SSE4_1( silk_VAD_GetSA_Q8 ) /* avx */
67 }; 67 };
68 68
69 #if 0 /* FIXME: SSE disabled until the NSQ code gets updated. */
69 void (*const SILK_NSQ_IMPL[ OPUS_ARCHMASK + 1 ] )( 70 void (*const SILK_NSQ_IMPL[ OPUS_ARCHMASK + 1 ] )(
70 const silk_encoder_state *psEncC, /* I /O Encoder State */ 71 const silk_encoder_state *psEncC, /* I Encoder State */
71 silk_nsq_state *NSQ, /* I /O NSQ state */ 72 silk_nsq_state *NSQ, /* I /O NSQ state */
72 SideInfoIndices *psIndices, /* I /O Quantization Indices */ 73 SideInfoIndices *psIndices, /* I /O Quantization Indices */
73 const opus_int32 x_Q3[], /* I Prefiltered input signal */ 74 const opus_int32 x_Q3[], /* I Prefiltered input signal */
74 opus_int8 pulses[], /* O Quantized pulse signal */ 75 opus_int8 pulses[], /* O Quantized pulse signal */
75 const opus_int16 PredCoef_Q12[ 2 * MAX_LPC_ORDER ], /* I Short term prediction coefs */ 76 const opus_int16 PredCoef_Q12[ 2 * MAX_LPC_ORDER ], /* I Short term prediction coefs */
76 const opus_int16 LTPCoef_Q14[ LTP_ORDER * MAX_NB_SUBFR ], /* I Long term prediction coefs */ 77 const opus_int16 LTPCoef_Q14[ LTP_ORDER * MAX_NB_SUBFR ], /* I Long term prediction coefs */
77 const opus_int16 AR2_Q13[ MAX_NB_SUBFR * MAX_SHAPE_LPC_ORDER ], / * I Noise shaping coefs */ 78 const opus_int16 AR2_Q13[ MAX_NB_SUBFR * MAX_SHAPE_LPC_ORDER ], / * I Noise shaping coefs */
78 const opus_int HarmShapeGain_Q14[ MAX_NB_SUBFR ], /* I Long term shaping coefs */ 79 const opus_int HarmShapeGain_Q14[ MAX_NB_SUBFR ], /* I Long term shaping coefs */
79 const opus_int Tilt_Q14[ MAX_NB_SUBFR ], /* I Spectral tilt */ 80 const opus_int Tilt_Q14[ MAX_NB_SUBFR ], /* I Spectral tilt */
80 const opus_int32 LF_shp_Q14[ MAX_NB_SUBFR ], /* I Low frequency shaping coefs */ 81 const opus_int32 LF_shp_Q14[ MAX_NB_SUBFR ], /* I Low frequency shaping coefs */
81 const opus_int32 Gains_Q16[ MAX_NB_SUBFR ], /* I Quantization step sizes */ 82 const opus_int32 Gains_Q16[ MAX_NB_SUBFR ], /* I Quantization step sizes */
82 const opus_int pitchL[ MAX_NB_SUBFR ], /* I Pitch lags */ 83 const opus_int pitchL[ MAX_NB_SUBFR ], /* I Pitch lags */
83 const opus_int Lambda_Q10, /* I Rate/distortion tradeoff */ 84 const opus_int Lambda_Q10, /* I Rate/distortion tradeoff */
84 const opus_int LTP_scale_Q14 /* I LTP state scaling */ 85 const opus_int LTP_scale_Q14 /* I LTP state scaling */
85 ) = { 86 ) = {
86 silk_NSQ_c, /* non-sse */ 87 silk_NSQ_c, /* non-sse */
87 silk_NSQ_c, 88 silk_NSQ_c,
88 silk_NSQ_c, 89 silk_NSQ_c,
89 MAY_HAVE_SSE4_1( silk_NSQ ), /* sse4.1 */ 90 MAY_HAVE_SSE4_1( silk_NSQ ), /* sse4.1 */
90 MAY_HAVE_SSE4_1( silk_NSQ ) /* avx */ 91 MAY_HAVE_SSE4_1( silk_NSQ ) /* avx */
91 }; 92 };
93 #endif
92 94
95 #if 0 /* FIXME: SSE disabled until silk_VQ_WMat_EC_sse4_1() gets updated. */
93 void (*const SILK_VQ_WMAT_EC_IMPL[ OPUS_ARCHMASK + 1 ] )( 96 void (*const SILK_VQ_WMAT_EC_IMPL[ OPUS_ARCHMASK + 1 ] )(
94 opus_int8 *ind, /* O index of best codebook vector */ 97 opus_int8 *ind, /* O index of best codebook vector */
95 opus_int32 *rate_dist_Q14, /* O best wei ghted quant error + mu * rate */ 98 opus_int32 *rate_dist_Q14, /* O best wei ghted quant error + mu * rate */
96 opus_int *gain_Q7, /* O sum of a bsolute LTP coefficients */ 99 opus_int *gain_Q7, /* O sum of a bsolute LTP coefficients */
97 const opus_int16 *in_Q14, /* I input ve ctor to be quantized */ 100 const opus_int16 *in_Q14, /* I input ve ctor to be quantized */
98 const opus_int32 *W_Q18, /* I weightin g matrix */ 101 const opus_int32 *W_Q18, /* I weightin g matrix */
99 const opus_int8 *cb_Q7, /* I codebook */ 102 const opus_int8 *cb_Q7, /* I codebook */
100 const opus_uint8 *cb_gain_Q7, /* I codebook effective gain */ 103 const opus_uint8 *cb_gain_Q7, /* I codebook effective gain */
101 const opus_uint8 *cl_Q5, /* I code len gth for each codebook vector */ 104 const opus_uint8 *cl_Q5, /* I code len gth for each codebook vector */
102 const opus_int mu_Q9, /* I tradeoff betw. weighted error and rate */ 105 const opus_int mu_Q9, /* I tradeoff betw. weighted error and rate */
103 const opus_int32 max_gain_Q7, /* I maximum sum of absolute LTP coefficients */ 106 const opus_int32 max_gain_Q7, /* I maximum sum of absolute LTP coefficients */
104 opus_int L /* I number o f vectors in codebook */ 107 opus_int L /* I number o f vectors in codebook */
105 ) = { 108 ) = {
106 silk_VQ_WMat_EC_c, /* non-sse */ 109 silk_VQ_WMat_EC_c, /* non-sse */
107 silk_VQ_WMat_EC_c, 110 silk_VQ_WMat_EC_c,
108 silk_VQ_WMat_EC_c, 111 silk_VQ_WMat_EC_c,
109 MAY_HAVE_SSE4_1( silk_VQ_WMat_EC ), /* sse4.1 */ 112 MAY_HAVE_SSE4_1( silk_VQ_WMat_EC ), /* sse4.1 */
110 MAY_HAVE_SSE4_1( silk_VQ_WMat_EC ) /* avx */ 113 MAY_HAVE_SSE4_1( silk_VQ_WMat_EC ) /* avx */
111 }; 114 };
115 #endif
112 116
117 #if 0 /* FIXME: SSE disabled until the NSQ code gets updated. */
113 void (*const SILK_NSQ_DEL_DEC_IMPL[ OPUS_ARCHMASK + 1 ] )( 118 void (*const SILK_NSQ_DEL_DEC_IMPL[ OPUS_ARCHMASK + 1 ] )(
114 const silk_encoder_state *psEncC, /* I /O Encoder State */ 119 const silk_encoder_state *psEncC, /* I Encoder State */
115 silk_nsq_state *NSQ, /* I /O NSQ state */ 120 silk_nsq_state *NSQ, /* I /O NSQ state */
116 SideInfoIndices *psIndices, /* I /O Quantization Indices */ 121 SideInfoIndices *psIndices, /* I /O Quantization Indices */
117 const opus_int32 x_Q3[], /* I Prefiltered input signal */ 122 const opus_int32 x_Q3[], /* I Prefiltered input signal */
118 opus_int8 pulses[], /* O Quantized pulse signal */ 123 opus_int8 pulses[], /* O Quantized pulse signal */
119 const opus_int16 PredCoef_Q12[ 2 * MAX_LPC_ORDER ], /* I Short term prediction coefs */ 124 const opus_int16 PredCoef_Q12[ 2 * MAX_LPC_ORDER ], /* I Short term prediction coefs */
120 const opus_int16 LTPCoef_Q14[ LTP_ORDER * MAX_NB_SUBFR ], /* I Long term prediction coefs */ 125 const opus_int16 LTPCoef_Q14[ LTP_ORDER * MAX_NB_SUBFR ], /* I Long term prediction coefs */
121 const opus_int16 AR2_Q13[ MAX_NB_SUBFR * MAX_SHAPE_LPC_ORDER ], / * I Noise shaping coefs */ 126 const opus_int16 AR2_Q13[ MAX_NB_SUBFR * MAX_SHAPE_LPC_ORDER ], / * I Noise shaping coefs */
122 const opus_int HarmShapeGain_Q14[ MAX_NB_SUBFR ], /* I Long term shaping coefs */ 127 const opus_int HarmShapeGain_Q14[ MAX_NB_SUBFR ], /* I Long term shaping coefs */
123 const opus_int Tilt_Q14[ MAX_NB_SUBFR ], /* I Spectral tilt */ 128 const opus_int Tilt_Q14[ MAX_NB_SUBFR ], /* I Spectral tilt */
124 const opus_int32 LF_shp_Q14[ MAX_NB_SUBFR ], /* I Low frequency shaping coefs */ 129 const opus_int32 LF_shp_Q14[ MAX_NB_SUBFR ], /* I Low frequency shaping coefs */
125 const opus_int32 Gains_Q16[ MAX_NB_SUBFR ], /* I Quantization step sizes */ 130 const opus_int32 Gains_Q16[ MAX_NB_SUBFR ], /* I Quantization step sizes */
126 const opus_int pitchL[ MAX_NB_SUBFR ], /* I Pitch lags */ 131 const opus_int pitchL[ MAX_NB_SUBFR ], /* I Pitch lags */
127 const opus_int Lambda_Q10, /* I Rate/distortion tradeoff */ 132 const opus_int Lambda_Q10, /* I Rate/distortion tradeoff */
128 const opus_int LTP_scale_Q14 /* I LTP state scaling */ 133 const opus_int LTP_scale_Q14 /* I LTP state scaling */
129 ) = { 134 ) = {
130 silk_NSQ_del_dec_c, /* non-sse */ 135 silk_NSQ_del_dec_c, /* non-sse */
131 silk_NSQ_del_dec_c, 136 silk_NSQ_del_dec_c,
132 silk_NSQ_del_dec_c, 137 silk_NSQ_del_dec_c,
133 MAY_HAVE_SSE4_1( silk_NSQ_del_dec ), /* sse4.1 */ 138 MAY_HAVE_SSE4_1( silk_NSQ_del_dec ), /* sse4.1 */
134 MAY_HAVE_SSE4_1( silk_NSQ_del_dec ) /* avx */ 139 MAY_HAVE_SSE4_1( silk_NSQ_del_dec ) /* avx */
135 }; 140 };
141 #endif
136 142
137 #if defined(FIXED_POINT) 143 #if defined(FIXED_POINT)
138 144
139 void (*const SILK_WARPED_LPC_ANALYSIS_FILTER_FIX_IMPL[ OPUS_ARCHMASK + 1 ] )(
140 opus_int32 state[], /* I/O State [order + 1] */
141 opus_int32 res_Q2[], /* O Residual sig nal [length] */
142 const opus_int16 coef_Q13[], /* I Coefficients [order] */
143 const opus_int16 input[], /* I Input signal [length] */
144 const opus_int16 lambda_Q16, /* I Warping fact or */
145 const opus_int length, /* I Length of in put signal */
146 const opus_int order /* I Filter order (even) */
147 ) = {
148 silk_warped_LPC_analysis_filter_FIX_c, /* non-sse */
149 silk_warped_LPC_analysis_filter_FIX_c,
150 silk_warped_LPC_analysis_filter_FIX_c,
151 MAY_HAVE_SSE4_1( silk_warped_LPC_analysis_filter_FIX ), /* sse4.1 */
152 MAY_HAVE_SSE4_1( silk_warped_LPC_analysis_filter_FIX ) /* avx */
153 };
154
155 void (*const SILK_BURG_MODIFIED_IMPL[ OPUS_ARCHMASK + 1 ] )( 145 void (*const SILK_BURG_MODIFIED_IMPL[ OPUS_ARCHMASK + 1 ] )(
156 opus_int32 *res_nrg, /* O Residual energy */ 146 opus_int32 *res_nrg, /* O Residual energy */
157 opus_int *res_nrg_Q, /* O Residual energy Q va lue */ 147 opus_int *res_nrg_Q, /* O Residual energy Q va lue */
158 opus_int32 A_Q16[], /* O Prediction coefficie nts (length order) */ 148 opus_int32 A_Q16[], /* O Prediction coefficie nts (length order) */
159 const opus_int16 x[], /* I Input signal, length : nb_subfr * ( D + subfr_length ) */ 149 const opus_int16 x[], /* I Input signal, length : nb_subfr * ( D + subfr_length ) */
160 const opus_int32 minInvGain_Q30, /* I Inverse of max predi ction gain */ 150 const opus_int32 minInvGain_Q30, /* I Inverse of max predi ction gain */
161 const opus_int subfr_length, /* I Input signal subfram e length (incl. D preceding samples) */ 151 const opus_int subfr_length, /* I Input signal subfram e length (incl. D preceding samples) */
162 const opus_int nb_subfr, /* I Number of subframes stacked in x */ 152 const opus_int nb_subfr, /* I Number of subframes stacked in x */
163 const opus_int D, /* I Order */ 153 const opus_int D, /* I Order */
164 int arch /* I Run-time architectur e */ 154 int arch /* I Run-time architectur e */
165 ) = { 155 ) = {
166 silk_burg_modified_c, /* non-sse */ 156 silk_burg_modified_c, /* non-sse */
167 silk_burg_modified_c, 157 silk_burg_modified_c,
168 silk_burg_modified_c, 158 silk_burg_modified_c,
169 MAY_HAVE_SSE4_1( silk_burg_modified ), /* sse4.1 */ 159 MAY_HAVE_SSE4_1( silk_burg_modified ), /* sse4.1 */
170 MAY_HAVE_SSE4_1( silk_burg_modified ) /* avx */ 160 MAY_HAVE_SSE4_1( silk_burg_modified ) /* avx */
171 }; 161 };
172 162
173 #endif 163 #endif
174 #endif 164 #endif
OLDNEW
« no previous file with comments | « third_party/opus/src/silk/x86/main_sse.h ('k') | third_party/opus/src/src/analysis.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698