OLD | NEW |
1 /*********************************************************************** | 1 /*********************************************************************** |
2 Copyright (c) 2006-2011, Skype Limited. All rights reserved. | 2 Copyright (c) 2006-2011, Skype Limited. All rights reserved. |
3 Redistribution and use in source and binary forms, with or without | 3 Redistribution and use in source and binary forms, with or without |
4 modification, are permitted provided that the following conditions | 4 modification, are permitted provided that the following conditions |
5 are met: | 5 are met: |
6 - Redistributions of source code must retain the above copyright notice, | 6 - Redistributions of source code must retain the above copyright notice, |
7 this list of conditions and the following disclaimer. | 7 this list of conditions and the following disclaimer. |
8 - Redistributions in binary form must reproduce the above copyright | 8 - Redistributions in binary form must reproduce the above copyright |
9 notice, this list of conditions and the following disclaimer in the | 9 notice, this list of conditions and the following disclaimer in the |
10 documentation and/or other materials provided with the distribution. | 10 documentation and/or other materials provided with the distribution. |
(...skipping 24 matching lines...) Expand all Loading... |
35 #ifdef __cplusplus | 35 #ifdef __cplusplus |
36 extern "C" | 36 extern "C" |
37 { | 37 { |
38 #endif | 38 #endif |
39 | 39 |
40 /********************************/ | 40 /********************************/ |
41 /* Noise shaping analysis state */ | 41 /* Noise shaping analysis state */ |
42 /********************************/ | 42 /********************************/ |
43 typedef struct { | 43 typedef struct { |
44 opus_int8 LastGainIndex; | 44 opus_int8 LastGainIndex; |
45 silk_float HarmBoost_smth; | |
46 silk_float HarmShapeGain_smth; | 45 silk_float HarmShapeGain_smth; |
47 silk_float Tilt_smth; | 46 silk_float Tilt_smth; |
48 } silk_shape_state_FLP; | 47 } silk_shape_state_FLP; |
49 | 48 |
50 /********************************/ | 49 /********************************/ |
51 /* Prefilter state */ | |
52 /********************************/ | |
53 typedef struct { | |
54 silk_float sLTP_shp[ LTP_BUF_LENGTH ]; | |
55 silk_float sAR_shp[ MAX_SHAPE_LPC_ORDER + 1 ]; | |
56 opus_int sLTP_shp_buf_idx; | |
57 silk_float sLF_AR_shp; | |
58 silk_float sLF_MA_shp; | |
59 silk_float sHarmHP; | |
60 opus_int32 rand_seed; | |
61 opus_int lagPrev; | |
62 } silk_prefilter_state_FLP; | |
63 | |
64 /********************************/ | |
65 /* Encoder state FLP */ | 50 /* Encoder state FLP */ |
66 /********************************/ | 51 /********************************/ |
67 typedef struct { | 52 typedef struct { |
68 silk_encoder_state sCmn; /* Common st
ruct, shared with fixed-point code */ | 53 silk_encoder_state sCmn; /* Common st
ruct, shared with fixed-point code */ |
69 silk_shape_state_FLP sShape; /* Noise sha
ping state */ | 54 silk_shape_state_FLP sShape; /* Noise sha
ping state */ |
70 silk_prefilter_state_FLP sPrefilt; /* Prefilter
State */ | |
71 | 55 |
72 /* Buffer for find pitch and noise shape analysis */ | 56 /* Buffer for find pitch and noise shape analysis */ |
73 silk_float x_buf[ 2 * MAX_FRAME_LENGTH + LA_SHAPE_MAX ];/*
Buffer for find pitch and noise shape analysis */ | 57 silk_float x_buf[ 2 * MAX_FRAME_LENGTH + LA_SHAPE_MAX ];/*
Buffer for find pitch and noise shape analysis */ |
74 silk_float LTPCorr; /* Normalize
d correlation from pitch lag estimator */ | 58 silk_float LTPCorr; /* Normalize
d correlation from pitch lag estimator */ |
75 } silk_encoder_state_FLP; | 59 } silk_encoder_state_FLP; |
76 | 60 |
77 /************************/ | 61 /************************/ |
78 /* Encoder control FLP */ | 62 /* Encoder control FLP */ |
79 /************************/ | 63 /************************/ |
80 typedef struct { | 64 typedef struct { |
81 /* Prediction and coding parameters */ | 65 /* Prediction and coding parameters */ |
82 silk_float Gains[ MAX_NB_SUBFR ]; | 66 silk_float Gains[ MAX_NB_SUBFR ]; |
83 silk_float PredCoef[ 2 ][ MAX_LPC_ORDER ]; /* holds int
erpolated and final coefficients */ | 67 silk_float PredCoef[ 2 ][ MAX_LPC_ORDER ]; /* holds int
erpolated and final coefficients */ |
84 silk_float LTPCoef[LTP_ORDER * MAX_NB_SUBFR]; | 68 silk_float LTPCoef[LTP_ORDER * MAX_NB_SUBFR]; |
85 silk_float LTP_scale; | 69 silk_float LTP_scale; |
86 opus_int pitchL[ MAX_NB_SUBFR ]; | 70 opus_int pitchL[ MAX_NB_SUBFR ]; |
87 | 71 |
88 /* Noise shaping parameters */ | 72 /* Noise shaping parameters */ |
89 silk_float AR1[ MAX_NB_SUBFR * MAX_SHAPE_LPC_ORDER ]; | 73 silk_float AR[ MAX_NB_SUBFR * MAX_SHAPE_LPC_ORDER ]; |
90 silk_float AR2[ MAX_NB_SUBFR * MAX_SHAPE_LPC_ORDER ]; | |
91 silk_float LF_MA_shp[ MAX_NB_SUBFR ]; | 74 silk_float LF_MA_shp[ MAX_NB_SUBFR ]; |
92 silk_float LF_AR_shp[ MAX_NB_SUBFR ]; | 75 silk_float LF_AR_shp[ MAX_NB_SUBFR ]; |
93 silk_float GainsPre[ MAX_NB_SUBFR ]; | |
94 silk_float HarmBoost[ MAX_NB_SUBFR ]; | |
95 silk_float Tilt[ MAX_NB_SUBFR ]; | 76 silk_float Tilt[ MAX_NB_SUBFR ]; |
96 silk_float HarmShapeGain[ MAX_NB_SUBFR ]; | 77 silk_float HarmShapeGain[ MAX_NB_SUBFR ]; |
97 silk_float Lambda; | 78 silk_float Lambda; |
98 silk_float input_quality; | 79 silk_float input_quality; |
99 silk_float coding_quality; | 80 silk_float coding_quality; |
100 | 81 |
101 /* Measures */ | 82 /* Measures */ |
102 silk_float sparseness; | |
103 silk_float predGain; | 83 silk_float predGain; |
104 silk_float LTPredCodGain; | 84 silk_float LTPredCodGain; |
105 silk_float ResNrg[ MAX_NB_SUBFR ]; /* Residual
energy per subframe */ | 85 silk_float ResNrg[ MAX_NB_SUBFR ]; /* Residual
energy per subframe */ |
106 | 86 |
107 /* Parameters for CBR mode */ | 87 /* Parameters for CBR mode */ |
108 opus_int32 GainsUnq_Q16[ MAX_NB_SUBFR ]; | 88 opus_int32 GainsUnq_Q16[ MAX_NB_SUBFR ]; |
109 opus_int8 lastGainIndexPrev; | 89 opus_int8 lastGainIndexPrev; |
110 } silk_encoder_control_FLP; | 90 } silk_encoder_control_FLP; |
111 | 91 |
112 /************************/ | 92 /************************/ |
(...skipping 10 matching lines...) Expand all Loading... |
123 opus_int timeSinceSwitchAllowed_ms; | 103 opus_int timeSinceSwitchAllowed_ms; |
124 opus_int allowBandwidthSwitch; | 104 opus_int allowBandwidthSwitch; |
125 opus_int prev_decode_only_middle; | 105 opus_int prev_decode_only_middle; |
126 } silk_encoder; | 106 } silk_encoder; |
127 | 107 |
128 #ifdef __cplusplus | 108 #ifdef __cplusplus |
129 } | 109 } |
130 #endif | 110 #endif |
131 | 111 |
132 #endif | 112 #endif |
OLD | NEW |