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

Side by Side Diff: src/libFLAC/include/private/lpc.h

Issue 1961133002: Update FLAC to 1.3.1 (Closed) Base URL: https://chromium.googlesource.com/chromium/deps/flac.git@master
Patch Set: build config tweaks for Windows Created 4 years, 7 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 | « src/libFLAC/include/private/format.h ('k') | src/libFLAC/include/private/macros.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 /* libFLAC - Free Lossless Audio Codec library 1 /* libFLAC - Free Lossless Audio Codec library
2 * Copyright (C) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson 2 * Copyright (C) 2000-2009 Josh Coalson
3 * Copyright (C) 2011-2014 Xiph.Org Foundation
3 * 4 *
4 * Redistribution and use in source and binary forms, with or without 5 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions 6 * modification, are permitted provided that the following conditions
6 * are met: 7 * are met:
7 * 8 *
8 * - Redistributions of source code must retain the above copyright 9 * - Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 10 * notice, this list of conditions and the following disclaimer.
10 * 11 *
11 * - Redistributions in binary form must reproduce the above copyright 12 * - Redistributions in binary form must reproduce the above copyright
12 * notice, this list of conditions and the following disclaimer in the 13 * notice, this list of conditions and the following disclaimer in the
(...skipping 16 matching lines...) Expand all
29 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 30 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30 */ 31 */
31 32
32 #ifndef FLAC__PRIVATE__LPC_H 33 #ifndef FLAC__PRIVATE__LPC_H
33 #define FLAC__PRIVATE__LPC_H 34 #define FLAC__PRIVATE__LPC_H
34 35
35 #ifdef HAVE_CONFIG_H 36 #ifdef HAVE_CONFIG_H
36 #include <config.h> 37 #include <config.h>
37 #endif 38 #endif
38 39
40 #include "private/cpu.h"
39 #include "private/float.h" 41 #include "private/float.h"
40 #include "FLAC/format.h" 42 #include "FLAC/format.h"
41 43
42 #ifndef FLAC__INTEGER_ONLY_LIBRARY 44 #ifndef FLAC__INTEGER_ONLY_LIBRARY
43 45
44 /* 46 /*
45 * FLAC__lpc_window_data() 47 * FLAC__lpc_window_data()
46 * -------------------------------------------------------------------- 48 * --------------------------------------------------------------------
47 * Applies the given window to the data. 49 * Applies the given window to the data.
48 * OPT: asm implementation 50 * OPT: asm implementation
(...skipping 18 matching lines...) Expand all
67 * OUT autoc[0,lag-1] 69 * OUT autoc[0,lag-1]
68 */ 70 */
69 void FLAC__lpc_compute_autocorrelation(const FLAC__real data[], unsigned data_le n, unsigned lag, FLAC__real autoc[]); 71 void FLAC__lpc_compute_autocorrelation(const FLAC__real data[], unsigned data_le n, unsigned lag, FLAC__real autoc[]);
70 #ifndef FLAC__NO_ASM 72 #ifndef FLAC__NO_ASM
71 # ifdef FLAC__CPU_IA32 73 # ifdef FLAC__CPU_IA32
72 # ifdef FLAC__HAS_NASM 74 # ifdef FLAC__HAS_NASM
73 void FLAC__lpc_compute_autocorrelation_asm_ia32(const FLAC__real data[], unsigne d data_len, unsigned lag, FLAC__real autoc[]); 75 void FLAC__lpc_compute_autocorrelation_asm_ia32(const FLAC__real data[], unsigne d data_len, unsigned lag, FLAC__real autoc[]);
74 void FLAC__lpc_compute_autocorrelation_asm_ia32_sse_lag_4(const FLAC__real data[ ], unsigned data_len, unsigned lag, FLAC__real autoc[]); 76 void FLAC__lpc_compute_autocorrelation_asm_ia32_sse_lag_4(const FLAC__real data[ ], unsigned data_len, unsigned lag, FLAC__real autoc[]);
75 void FLAC__lpc_compute_autocorrelation_asm_ia32_sse_lag_8(const FLAC__real data[ ], unsigned data_len, unsigned lag, FLAC__real autoc[]); 77 void FLAC__lpc_compute_autocorrelation_asm_ia32_sse_lag_8(const FLAC__real data[ ], unsigned data_len, unsigned lag, FLAC__real autoc[]);
76 void FLAC__lpc_compute_autocorrelation_asm_ia32_sse_lag_12(const FLAC__real data [], unsigned data_len, unsigned lag, FLAC__real autoc[]); 78 void FLAC__lpc_compute_autocorrelation_asm_ia32_sse_lag_12(const FLAC__real data [], unsigned data_len, unsigned lag, FLAC__real autoc[]);
77 void FLAC__lpc_compute_autocorrelation_asm_ia32_3dnow(const FLAC__real data[], u nsigned data_len, unsigned lag, FLAC__real autoc[]); 79 void FLAC__lpc_compute_autocorrelation_asm_ia32_sse_lag_16(const FLAC__real data [], unsigned data_len, unsigned lag, FLAC__real autoc[]);
80 # endif
81 # endif
82 # if (defined FLAC__CPU_IA32 || defined FLAC__CPU_X86_64) && defined FLAC__HAS_ X86INTRIN
83 # ifdef FLAC__SSE_SUPPORTED
84 void FLAC__lpc_compute_autocorrelation_intrin_sse_lag_4(const FLAC__real data[], unsigned data_len, unsigned lag, FLAC__real autoc[]);
85 void FLAC__lpc_compute_autocorrelation_intrin_sse_lag_8(const FLAC__real data[], unsigned data_len, unsigned lag, FLAC__real autoc[]);
86 void FLAC__lpc_compute_autocorrelation_intrin_sse_lag_12(const FLAC__real data[] , unsigned data_len, unsigned lag, FLAC__real autoc[]);
87 void FLAC__lpc_compute_autocorrelation_intrin_sse_lag_16(const FLAC__real data[] , unsigned data_len, unsigned lag, FLAC__real autoc[]);
78 # endif 88 # endif
79 # endif 89 # endif
80 #endif 90 #endif
81 91
82 /* 92 /*
83 * FLAC__lpc_compute_lp_coefficients() 93 * FLAC__lpc_compute_lp_coefficients()
84 * -------------------------------------------------------------------- 94 * --------------------------------------------------------------------
85 * Computes LP coefficients for orders 1..max_order. 95 * Computes LP coefficients for orders 1..max_order.
86 * Do not call if autoc[0] == 0.0. This means the signal is zero 96 * Do not call if autoc[0] == 0.0. This means the signal is zero
87 * and there is no point in calculating a predictor. 97 * and there is no point in calculating a predictor.
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
137 * IN lp_quantization quantization of LP coefficients in bits 147 * IN lp_quantization quantization of LP coefficients in bits
138 * OUT residual[0,data_len-1] residual signal 148 * OUT residual[0,data_len-1] residual signal
139 */ 149 */
140 void FLAC__lpc_compute_residual_from_qlp_coefficients(const FLAC__int32 *data, u nsigned data_len, const FLAC__int32 qlp_coeff[], unsigned order, int lp_quantiza tion, FLAC__int32 residual[]); 150 void FLAC__lpc_compute_residual_from_qlp_coefficients(const FLAC__int32 *data, u nsigned data_len, const FLAC__int32 qlp_coeff[], unsigned order, int lp_quantiza tion, FLAC__int32 residual[]);
141 void FLAC__lpc_compute_residual_from_qlp_coefficients_wide(const FLAC__int32 *da ta, unsigned data_len, const FLAC__int32 qlp_coeff[], unsigned order, int lp_qua ntization, FLAC__int32 residual[]); 151 void FLAC__lpc_compute_residual_from_qlp_coefficients_wide(const FLAC__int32 *da ta, unsigned data_len, const FLAC__int32 qlp_coeff[], unsigned order, int lp_qua ntization, FLAC__int32 residual[]);
142 #ifndef FLAC__NO_ASM 152 #ifndef FLAC__NO_ASM
143 # ifdef FLAC__CPU_IA32 153 # ifdef FLAC__CPU_IA32
144 # ifdef FLAC__HAS_NASM 154 # ifdef FLAC__HAS_NASM
145 void FLAC__lpc_compute_residual_from_qlp_coefficients_asm_ia32(const FLAC__int32 *data, unsigned data_len, const FLAC__int32 qlp_coeff[], unsigned order, int lp _quantization, FLAC__int32 residual[]); 155 void FLAC__lpc_compute_residual_from_qlp_coefficients_asm_ia32(const FLAC__int32 *data, unsigned data_len, const FLAC__int32 qlp_coeff[], unsigned order, int lp _quantization, FLAC__int32 residual[]);
146 void FLAC__lpc_compute_residual_from_qlp_coefficients_asm_ia32_mmx(const FLAC__i nt32 *data, unsigned data_len, const FLAC__int32 qlp_coeff[], unsigned order, in t lp_quantization, FLAC__int32 residual[]); 156 void FLAC__lpc_compute_residual_from_qlp_coefficients_asm_ia32_mmx(const FLAC__i nt32 *data, unsigned data_len, const FLAC__int32 qlp_coeff[], unsigned order, in t lp_quantization, FLAC__int32 residual[]);
157 void FLAC__lpc_compute_residual_from_qlp_coefficients_wide_asm_ia32(const FLAC__ int32 *data, unsigned data_len, const FLAC__int32 qlp_coeff[], unsigned order, i nt lp_quantization, FLAC__int32 residual[]);
158 # endif
159 # endif
160 # if (defined FLAC__CPU_IA32 || defined FLAC__CPU_X86_64) && defined FLAC__HAS_ X86INTRIN
161 # ifdef FLAC__SSE2_SUPPORTED
162 void FLAC__lpc_compute_residual_from_qlp_coefficients_16_intrin_sse2(const FLAC_ _int32 *data, unsigned data_len, const FLAC__int32 qlp_coeff[], unsigned order, int lp_quantization, FLAC__int32 residual[]);
163 void FLAC__lpc_compute_residual_from_qlp_coefficients_intrin_sse2(const FLAC__in t32 *data, unsigned data_len, const FLAC__int32 qlp_coeff[], unsigned order, int lp_quantization, FLAC__int32 residual[]);
164 # endif
165 # ifdef FLAC__SSE4_1_SUPPORTED
166 void FLAC__lpc_compute_residual_from_qlp_coefficients_intrin_sse41(const FLAC__i nt32 *data, unsigned data_len, const FLAC__int32 qlp_coeff[], unsigned order, in t lp_quantization, FLAC__int32 residual[]);
167 void FLAC__lpc_compute_residual_from_qlp_coefficients_wide_intrin_sse41(const FL AC__int32 *data, unsigned data_len, const FLAC__int32 qlp_coeff[], unsigned orde r, int lp_quantization, FLAC__int32 residual[]);
168 # endif
169 # ifdef FLAC__AVX2_SUPPORTED
170 void FLAC__lpc_compute_residual_from_qlp_coefficients_16_intrin_avx2(const FLAC_ _int32 *data, unsigned data_len, const FLAC__int32 qlp_coeff[], unsigned order, int lp_quantization, FLAC__int32 residual[]);
171 void FLAC__lpc_compute_residual_from_qlp_coefficients_intrin_avx2(const FLAC__in t32 *data, unsigned data_len, const FLAC__int32 qlp_coeff[], unsigned order, int lp_quantization, FLAC__int32 residual[]);
172 void FLAC__lpc_compute_residual_from_qlp_coefficients_wide_intrin_avx2(const FLA C__int32 *data, unsigned data_len, const FLAC__int32 qlp_coeff[], unsigned order , int lp_quantization, FLAC__int32 residual[]);
147 # endif 173 # endif
148 # endif 174 # endif
149 #endif 175 #endif
150 176
151 #endif /* !defined FLAC__INTEGER_ONLY_LIBRARY */ 177 #endif /* !defined FLAC__INTEGER_ONLY_LIBRARY */
152 178
153 /* 179 /*
154 * FLAC__lpc_restore_signal() 180 * FLAC__lpc_restore_signal()
155 * -------------------------------------------------------------------- 181 * --------------------------------------------------------------------
156 * Restore the original signal by summing the residual and the 182 * Restore the original signal by summing the residual and the
157 * predictor. 183 * predictor.
158 * 184 *
159 * IN residual[0,data_len-1] residual signal 185 * IN residual[0,data_len-1] residual signal
160 * IN data_len length of original signal 186 * IN data_len length of original signal
161 * IN qlp_coeff[0,order-1] quantized LP coefficients 187 * IN qlp_coeff[0,order-1] quantized LP coefficients
162 * IN order > 0 LP order 188 * IN order > 0 LP order
163 * IN lp_quantization quantization of LP coefficients in bits 189 * IN lp_quantization quantization of LP coefficients in bits
164 * *** IMPORTANT: the caller must pass in the historical samples: 190 * *** IMPORTANT: the caller must pass in the historical samples:
165 * IN data[-order,-1] previously-reconstructed historical samples 191 * IN data[-order,-1] previously-reconstructed historical samples
166 * OUT data[0,data_len-1] original signal 192 * OUT data[0,data_len-1] original signal
167 */ 193 */
168 void FLAC__lpc_restore_signal(const FLAC__int32 residual[], unsigned data_len, c onst FLAC__int32 qlp_coeff[], unsigned order, int lp_quantization, FLAC__int32 d ata[]); 194 void FLAC__lpc_restore_signal(const FLAC__int32 residual[], unsigned data_len, c onst FLAC__int32 qlp_coeff[], unsigned order, int lp_quantization, FLAC__int32 d ata[]);
169 void FLAC__lpc_restore_signal_wide(const FLAC__int32 residual[], unsigned data_l en, const FLAC__int32 qlp_coeff[], unsigned order, int lp_quantization, FLAC__in t32 data[]); 195 void FLAC__lpc_restore_signal_wide(const FLAC__int32 residual[], unsigned data_l en, const FLAC__int32 qlp_coeff[], unsigned order, int lp_quantization, FLAC__in t32 data[]);
170 #ifndef FLAC__NO_ASM 196 #ifndef FLAC__NO_ASM
171 # ifdef FLAC__CPU_IA32 197 # ifdef FLAC__CPU_IA32
172 # ifdef FLAC__HAS_NASM 198 # ifdef FLAC__HAS_NASM
173 void FLAC__lpc_restore_signal_asm_ia32(const FLAC__int32 residual[], unsigned da ta_len, const FLAC__int32 qlp_coeff[], unsigned order, int lp_quantization, FLAC __int32 data[]); 199 void FLAC__lpc_restore_signal_asm_ia32(const FLAC__int32 residual[], unsigned da ta_len, const FLAC__int32 qlp_coeff[], unsigned order, int lp_quantization, FLAC __int32 data[]);
174 void FLAC__lpc_restore_signal_asm_ia32_mmx(const FLAC__int32 residual[], unsigne d data_len, const FLAC__int32 qlp_coeff[], unsigned order, int lp_quantization, FLAC__int32 data[]); 200 void FLAC__lpc_restore_signal_asm_ia32_mmx(const FLAC__int32 residual[], unsigne d data_len, const FLAC__int32 qlp_coeff[], unsigned order, int lp_quantization, FLAC__int32 data[]);
201 void FLAC__lpc_restore_signal_wide_asm_ia32(const FLAC__int32 residual[], unsign ed data_len, const FLAC__int32 qlp_coeff[], unsigned order, int lp_quantization, FLAC__int32 data[]);
175 # endif /* FLAC__HAS_NASM */ 202 # endif /* FLAC__HAS_NASM */
176 # elif defined FLAC__CPU_PPC 203 # endif /* FLAC__CPU_IA32 */
177 void FLAC__lpc_restore_signal_asm_ppc_altivec_16(const FLAC__int32 residual[], u nsigned data_len, const FLAC__int32 qlp_coeff[], unsigned order, int lp_quantiza tion, FLAC__int32 data[]); 204 # if (defined FLAC__CPU_IA32 || defined FLAC__CPU_X86_64) && defined FLAC__HAS_ X86INTRIN
178 void FLAC__lpc_restore_signal_asm_ppc_altivec_16_order8(const FLAC__int32 residu al[], unsigned data_len, const FLAC__int32 qlp_coeff[], unsigned order, int lp_q uantization, FLAC__int32 data[]); 205 # ifdef FLAC__SSE2_SUPPORTED
179 # endif/* FLAC__CPU_IA32 || FLAC__CPU_PPC */ 206 void FLAC__lpc_restore_signal_16_intrin_sse2(const FLAC__int32 residual[], unsig ned data_len, const FLAC__int32 qlp_coeff[], unsigned order, int lp_quantization , FLAC__int32 data[]);
207 # endif
208 # ifdef FLAC__SSE4_1_SUPPORTED
209 void FLAC__lpc_restore_signal_wide_intrin_sse41(const FLAC__int32 residual[], un signed data_len, const FLAC__int32 qlp_coeff[], unsigned order, int lp_quantizat ion, FLAC__int32 data[]);
210 # endif
211 # endif
180 #endif /* FLAC__NO_ASM */ 212 #endif /* FLAC__NO_ASM */
181 213
182 #ifndef FLAC__INTEGER_ONLY_LIBRARY 214 #ifndef FLAC__INTEGER_ONLY_LIBRARY
183 215
184 /* 216 /*
185 * FLAC__lpc_compute_expected_bits_per_residual_sample() 217 * FLAC__lpc_compute_expected_bits_per_residual_sample()
186 * -------------------------------------------------------------------- 218 * --------------------------------------------------------------------
187 * Compute the expected number of bits per residual signal sample 219 * Compute the expected number of bits per residual signal sample
188 * based on the LP error (which is related to the residual variance). 220 * based on the LP error (which is related to the residual variance).
189 * 221 *
(...skipping 15 matching lines...) Expand all
205 * IN total_samples > 0 # of samples in residual signal 237 * IN total_samples > 0 # of samples in residual signal
206 * IN overhead_bits_per_order # of bits overhead for each increase d LP order 238 * IN overhead_bits_per_order # of bits overhead for each increase d LP order
207 * (includes warmup sample size and qua ntized LP coefficient) 239 * (includes warmup sample size and qua ntized LP coefficient)
208 * RETURN [1,max_order] best order 240 * RETURN [1,max_order] best order
209 */ 241 */
210 unsigned FLAC__lpc_compute_best_order(const FLAC__double lpc_error[], unsigned m ax_order, unsigned total_samples, unsigned overhead_bits_per_order); 242 unsigned FLAC__lpc_compute_best_order(const FLAC__double lpc_error[], unsigned m ax_order, unsigned total_samples, unsigned overhead_bits_per_order);
211 243
212 #endif /* !defined FLAC__INTEGER_ONLY_LIBRARY */ 244 #endif /* !defined FLAC__INTEGER_ONLY_LIBRARY */
213 245
214 #endif 246 #endif
OLDNEW
« no previous file with comments | « src/libFLAC/include/private/format.h ('k') | src/libFLAC/include/private/macros.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698