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

Side by Side Diff: celt/bands.h

Issue 28553003: Updating Opus to a pre-release of 1.1 (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/deps/third_party/opus
Patch Set: Removing failing file Created 7 years, 2 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 | Annotate | Revision Log
« no previous file with comments | « celt/arm/kiss_fft_armv5e.h ('k') | celt/bands.c » ('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) 2007-2008 CSIRO 1 /* Copyright (c) 2007-2008 CSIRO
2 Copyright (c) 2007-2009 Xiph.Org Foundation 2 Copyright (c) 2007-2009 Xiph.Org Foundation
3 Copyright (c) 2008-2009 Gregory Maxwell 3 Copyright (c) 2008-2009 Gregory Maxwell
4 Written by Jean-Marc Valin and Gregory Maxwell */ 4 Written by Jean-Marc Valin and Gregory Maxwell */
5 /* 5 /*
6 Redistribution and use in source and binary forms, with or without 6 Redistribution and use in source and binary forms, with or without
7 modification, are permitted provided that the following conditions 7 modification, are permitted provided that the following conditions
8 are met: 8 are met:
9 9
10 - Redistributions of source code must retain the above copyright 10 - Redistributions of source code must retain the above copyright
(...skipping 21 matching lines...) Expand all
32 32
33 #include "arch.h" 33 #include "arch.h"
34 #include "modes.h" 34 #include "modes.h"
35 #include "entenc.h" 35 #include "entenc.h"
36 #include "entdec.h" 36 #include "entdec.h"
37 #include "rate.h" 37 #include "rate.h"
38 38
39 /** Compute the amplitude (sqrt energy) in each of the bands 39 /** Compute the amplitude (sqrt energy) in each of the bands
40 * @param m Mode data 40 * @param m Mode data
41 * @param X Spectrum 41 * @param X Spectrum
42 * @param bands Square root of the energy for each band (returned) 42 * @param bandE Square root of the energy for each band (returned)
43 */ 43 */
44 void compute_band_energies(const CELTMode *m, const celt_sig *X, celt_ener *band E, int end, int C, int M); 44 void compute_band_energies(const CELTMode *m, const celt_sig *X, celt_ener *band E, int end, int C, int M);
45 45
46 /*void compute_noise_energies(const CELTMode *m, const celt_sig *X, const opus_v al16 *tonality, celt_ener *bandE);*/ 46 /*void compute_noise_energies(const CELTMode *m, const celt_sig *X, const opus_v al16 *tonality, celt_ener *bandE);*/
47 47
48 /** Normalise each band of X such that the energy in each band is 48 /** Normalise each band of X such that the energy in each band is
49 equal to 1 49 equal to 1
50 * @param m Mode data 50 * @param m Mode data
51 * @param X Spectrum (returned normalised) 51 * @param X Spectrum (returned normalised)
52 * @param bands Square root of the energy for each band 52 * @param bandE Square root of the energy for each band
53 */ 53 */
54 void normalise_bands(const CELTMode *m, const celt_sig * OPUS_RESTRICT freq, cel t_norm * OPUS_RESTRICT X, const celt_ener *bandE, int end, int C, int M); 54 void normalise_bands(const CELTMode *m, const celt_sig * OPUS_RESTRICT freq, cel t_norm * OPUS_RESTRICT X, const celt_ener *bandE, int end, int C, int M);
55 55
56 /** Denormalise each band of X to restore full amplitude 56 /** Denormalise each band of X to restore full amplitude
57 * @param m Mode data 57 * @param m Mode data
58 * @param X Spectrum (returned de-normalised) 58 * @param X Spectrum (returned de-normalised)
59 * @param bands Square root of the energy for each band 59 * @param bandE Square root of the energy for each band
60 */ 60 */
61 void denormalise_bands(const CELTMode *m, const celt_norm * OPUS_RESTRICT X, cel t_sig * OPUS_RESTRICT freq, const celt_ener *bandE, int end, int C, int M); 61 void denormalise_bands(const CELTMode *m, const celt_norm * OPUS_RESTRICT X,
62 celt_sig * OPUS_RESTRICT freq, const opus_val16 *bandE, int start, int end , int C, int M);
62 63
63 #define SPREAD_NONE (0) 64 #define SPREAD_NONE (0)
64 #define SPREAD_LIGHT (1) 65 #define SPREAD_LIGHT (1)
65 #define SPREAD_NORMAL (2) 66 #define SPREAD_NORMAL (2)
66 #define SPREAD_AGGRESSIVE (3) 67 #define SPREAD_AGGRESSIVE (3)
67 68
68 int spreading_decision(const CELTMode *m, celt_norm *X, int *average, 69 int spreading_decision(const CELTMode *m, celt_norm *X, int *average,
69 int last_decision, int *hf_average, int *tapset_decision, int update_hf, 70 int last_decision, int *hf_average, int *tapset_decision, int update_hf,
70 int end, int C, int M); 71 int end, int C, int M);
71 72
72 #ifdef MEASURE_NORM_MSE 73 #ifdef MEASURE_NORM_MSE
73 void measure_norm_mse(const CELTMode *m, float *X, float *X0, float *bandE, floa t *bandE0, int M, int N, int C); 74 void measure_norm_mse(const CELTMode *m, float *X, float *X0, float *bandE, floa t *bandE0, int M, int N, int C);
74 #endif 75 #endif
75 76
76 void haar1(celt_norm *X, int N0, int stride); 77 void haar1(celt_norm *X, int N0, int stride);
77 78
78 /** Quantisation/encoding of the residual spectrum 79 /** Quantisation/encoding of the residual spectrum
80 * @param encode flag that indicates whether we're encoding (1) or decoding (0)
79 * @param m Mode data 81 * @param m Mode data
82 * @param start First band to process
83 * @param end Last band to process + 1
80 * @param X Residual (normalised) 84 * @param X Residual (normalised)
85 * @param Y Residual (normalised) for second channel (or NULL for mono)
86 * @param collapse_masks Anti-collapse tracking mask
87 * @param bandE Square root of the energy for each band
88 * @param pulses Bit allocation (per band) for PVQ
89 * @param shortBlocks Zero for long blocks, non-zero for short blocks
90 * @param spread Amount of spreading to use
91 * @param dual_stereo Zero for MS stereo, non-zero for dual stereo
92 * @param intensity First band to use intensity stereo
93 * @param tf_res Time-frequency resolution change
81 * @param total_bits Total number of bits that can be used for the frame (includ ing the ones already spent) 94 * @param total_bits Total number of bits that can be used for the frame (includ ing the ones already spent)
82 * @param enc Entropy encoder 95 * @param balance Number of unallocated bits
96 * @param en Entropy coder state
97 * @param LM log2() of the number of 2.5 subframes in the frame
98 * @param codedBands Last band to receive bits + 1
99 * @param seed Random generator seed
83 */ 100 */
84 void quant_all_bands(int encode, const CELTMode *m, int start, int end, 101 void quant_all_bands(int encode, const CELTMode *m, int start, int end,
85 celt_norm * X, celt_norm * Y, unsigned char *collapse_masks, const celt_en er *bandE, int *pulses, 102 celt_norm * X, celt_norm * Y, unsigned char *collapse_masks, const celt_en er *bandE, int *pulses,
86 int time_domain, int fold, int dual_stereo, int intensity, int *tf_res, 103 int shortBlocks, int spread, int dual_stereo, int intensity, int *tf_res,
87 opus_int32 total_bits, opus_int32 balance, ec_ctx *ec, int M, int codedBan ds, opus_uint32 *seed); 104 opus_int32 total_bits, opus_int32 balance, ec_ctx *ec, int M, int codedBan ds, opus_uint32 *seed);
88 105
89 void anti_collapse(const CELTMode *m, celt_norm *X_, unsigned char *collapse_mas ks, int LM, int C, int size, 106 void anti_collapse(const CELTMode *m, celt_norm *X_, unsigned char *collapse_mas ks, int LM, int C, int size,
90 int start, int end, opus_val16 *logE, opus_val16 *prev1logE, 107 int start, int end, opus_val16 *logE, opus_val16 *prev1logE,
91 opus_val16 *prev2logE, int *pulses, opus_uint32 seed); 108 opus_val16 *prev2logE, int *pulses, opus_uint32 seed);
92 109
93 opus_uint32 celt_lcg_rand(opus_uint32 seed); 110 opus_uint32 celt_lcg_rand(opus_uint32 seed);
94 111
112 int hysteresis_decision(opus_val16 val, const opus_val16 *thresholds, const opus _val16 *hysteresis, int N, int prev);
113
95 #endif /* BANDS_H */ 114 #endif /* BANDS_H */
OLDNEW
« no previous file with comments | « celt/arm/kiss_fft_armv5e.h ('k') | celt/bands.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698