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 30 matching lines...) Expand all Loading... |
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 opus_int32 HarmBoost_smth_Q16; | 45 opus_int32 HarmBoost_smth_Q16; |
46 opus_int32 HarmShapeGain_smth_Q16; | 46 opus_int32 HarmShapeGain_smth_Q16; |
47 opus_int32 Tilt_smth_Q16; | 47 opus_int32 Tilt_smth_Q16; |
48 } silk_shape_state_FIX; | 48 } silk_shape_state_FIX; |
49 | 49 |
50 /********************************/ | 50 /********************************/ |
51 /* Prefilter state */ | |
52 /********************************/ | |
53 typedef struct { | |
54 opus_int16 sLTP_shp[ LTP_BUF_LENGTH ]; | |
55 opus_int32 sAR_shp[ MAX_SHAPE_LPC_ORDER + 1 ]; | |
56 opus_int sLTP_shp_buf_idx; | |
57 opus_int32 sLF_AR_shp_Q12; | |
58 opus_int32 sLF_MA_shp_Q12; | |
59 opus_int32 sHarmHP_Q2; | |
60 opus_int32 rand_seed; | |
61 opus_int lagPrev; | |
62 } silk_prefilter_state_FIX; | |
63 | |
64 /********************************/ | |
65 /* Encoder state FIX */ | 51 /* Encoder state FIX */ |
66 /********************************/ | 52 /********************************/ |
67 typedef struct { | 53 typedef struct { |
68 silk_encoder_state sCmn; /* Commo
n struct, shared with floating-point code */ | 54 silk_encoder_state sCmn; /* Commo
n struct, shared with floating-point code */ |
69 silk_shape_state_FIX sShape; /* Shape
state */ | 55 silk_shape_state_FIX sShape; /* Shape
state */ |
70 silk_prefilter_state_FIX sPrefilt; /* Prefi
lter State */ | |
71 | 56 |
72 /* Buffer for find pitch and noise shape analysis */ | 57 /* Buffer for find pitch and noise shape analysis */ |
73 silk_DWORD_ALIGN opus_int16 x_buf[ 2 * MAX_FRAME_LENGTH + LA_SHAPE_MAX ];/*
Buffer for find pitch and noise shape analysis */ | 58 silk_DWORD_ALIGN opus_int16 x_buf[ 2 * MAX_FRAME_LENGTH + LA_SHAPE_MAX ];/*
Buffer for find pitch and noise shape analysis */ |
74 opus_int LTPCorr_Q15; /* Norma
lized correlation from pitch lag estimator */ | 59 opus_int LTPCorr_Q15; /* Norma
lized correlation from pitch lag estimator */ |
| 60 opus_int32 resNrgSmth; |
75 } silk_encoder_state_FIX; | 61 } silk_encoder_state_FIX; |
76 | 62 |
77 /************************/ | 63 /************************/ |
78 /* Encoder control FIX */ | 64 /* Encoder control FIX */ |
79 /************************/ | 65 /************************/ |
80 typedef struct { | 66 typedef struct { |
81 /* Prediction and coding parameters */ | 67 /* Prediction and coding parameters */ |
82 opus_int32 Gains_Q16[ MAX_NB_SUBFR ]; | 68 opus_int32 Gains_Q16[ MAX_NB_SUBFR ]; |
83 silk_DWORD_ALIGN opus_int16 PredCoef_Q12[ 2 ][ MAX_LPC_ORDER ]; | 69 silk_DWORD_ALIGN opus_int16 PredCoef_Q12[ 2 ][ MAX_LPC_ORDER ]; |
84 opus_int16 LTPCoef_Q14[ LTP_ORDER * MAX_NB_SUBFR ]; | 70 opus_int16 LTPCoef_Q14[ LTP_ORDER * MAX_NB_SUBFR ]; |
85 opus_int LTP_scale_Q14; | 71 opus_int LTP_scale_Q14; |
86 opus_int pitchL[ MAX_NB_SUBFR ]; | 72 opus_int pitchL[ MAX_NB_SUBFR ]; |
87 | 73 |
88 /* Noise shaping parameters */ | 74 /* Noise shaping parameters */ |
89 /* Testing */ | 75 /* Testing */ |
90 silk_DWORD_ALIGN opus_int16 AR1_Q13[ MAX_NB_SUBFR * MAX_SHAPE_LPC_ORDER ]; | 76 silk_DWORD_ALIGN opus_int16 AR_Q13[ MAX_NB_SUBFR * MAX_SHAPE_LPC_ORDER ]; |
91 silk_DWORD_ALIGN opus_int16 AR2_Q13[ MAX_NB_SUBFR * MAX_SHAPE_LPC_ORDER ]; | |
92 opus_int32 LF_shp_Q14[ MAX_NB_SUBFR ]; /* Packs
two int16 coefficients per int32 value */ | 77 opus_int32 LF_shp_Q14[ MAX_NB_SUBFR ]; /* Packs
two int16 coefficients per int32 value */ |
93 opus_int GainsPre_Q14[ MAX_NB_SUBFR ]; | |
94 opus_int HarmBoost_Q14[ MAX_NB_SUBFR ]; | |
95 opus_int Tilt_Q14[ MAX_NB_SUBFR ]; | 78 opus_int Tilt_Q14[ MAX_NB_SUBFR ]; |
96 opus_int HarmShapeGain_Q14[ MAX_NB_SUBFR ]; | 79 opus_int HarmShapeGain_Q14[ MAX_NB_SUBFR ]; |
97 opus_int Lambda_Q10; | 80 opus_int Lambda_Q10; |
98 opus_int input_quality_Q14; | 81 opus_int input_quality_Q14; |
99 opus_int coding_quality_Q14; | 82 opus_int coding_quality_Q14; |
100 | 83 |
101 /* measures */ | 84 /* measures */ |
102 opus_int sparseness_Q8; | |
103 opus_int32 predGain_Q16; | 85 opus_int32 predGain_Q16; |
104 opus_int LTPredCodGain_Q7; | 86 opus_int LTPredCodGain_Q7; |
105 opus_int32 ResNrg[ MAX_NB_SUBFR ]; /* Resid
ual energy per subframe */ | 87 opus_int32 ResNrg[ MAX_NB_SUBFR ]; /* Resid
ual energy per subframe */ |
106 opus_int ResNrgQ[ MAX_NB_SUBFR ]; /* Q dom
ain for the residual energy > 0 */ | 88 opus_int ResNrgQ[ MAX_NB_SUBFR ]; /* Q dom
ain for the residual energy > 0 */ |
107 | 89 |
108 /* Parameters for CBR mode */ | 90 /* Parameters for CBR mode */ |
109 opus_int32 GainsUnq_Q16[ MAX_NB_SUBFR ]; | 91 opus_int32 GainsUnq_Q16[ MAX_NB_SUBFR ]; |
110 opus_int8 lastGainIndexPrev; | 92 opus_int8 lastGainIndexPrev; |
111 } silk_encoder_control_FIX; | 93 } silk_encoder_control_FIX; |
112 | 94 |
(...skipping 12 matching lines...) Expand all Loading... |
125 opus_int allowBandwidthSwitch; | 107 opus_int allowBandwidthSwitch; |
126 opus_int prev_decode_only_middle; | 108 opus_int prev_decode_only_middle; |
127 } silk_encoder; | 109 } silk_encoder; |
128 | 110 |
129 | 111 |
130 #ifdef __cplusplus | 112 #ifdef __cplusplus |
131 } | 113 } |
132 #endif | 114 #endif |
133 | 115 |
134 #endif | 116 #endif |
OLD | NEW |