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

Side by Side Diff: patched-ffmpeg-mt/libavcodec/acelp_pitch_delay.c

Issue 789004: ffmpeg roll of source to mar 9 version... (Closed) Base URL: svn://chrome-svn/chrome/trunk/deps/third_party/ffmpeg/
Patch Set: '' Created 10 years, 9 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
OLDNEW
1 /* 1 /*
2 * gain code, gain pitch and pitch delay decoding 2 * gain code, gain pitch and pitch delay decoding
3 * 3 *
4 * Copyright (c) 2008 Vladimir Voroshilov 4 * Copyright (c) 2008 Vladimir Voroshilov
5 * 5 *
6 * This file is part of FFmpeg. 6 * This file is part of FFmpeg.
7 * 7 *
8 * FFmpeg is free software; you can redistribute it and/or 8 * FFmpeg is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Lesser General Public 9 * modify it under the terms of the GNU Lesser General Public
10 * License as published by the Free Software Foundation; either 10 * License as published by the Free Software Foundation; either
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after
121 } 121 }
122 122
123 float ff_amr_set_fixed_gain(float fixed_gain_factor, float fixed_mean_energy, 123 float ff_amr_set_fixed_gain(float fixed_gain_factor, float fixed_mean_energy,
124 float *prediction_error, float energy_mean, 124 float *prediction_error, float energy_mean,
125 const float *pred_table) 125 const float *pred_table)
126 { 126 {
127 // Equations 66-69: 127 // Equations 66-69:
128 // ^g_c = ^gamma_gc * 100.05 (predicted dB + mean dB - dB of fixed vector) 128 // ^g_c = ^gamma_gc * 100.05 (predicted dB + mean dB - dB of fixed vector)
129 // Note 10^(0.05 * -10log(average x2)) = 1/sqrt((average x2)). 129 // Note 10^(0.05 * -10log(average x2)) = 1/sqrt((average x2)).
130 float val = fixed_gain_factor * 130 float val = fixed_gain_factor *
131 exp2f(log2f(10.0) * 0.05 * 131 exp2f(M_LOG2_10 * 0.05 *
132 (ff_dot_productf(pred_table, prediction_error, 4) + 132 (ff_dot_productf(pred_table, prediction_error, 4) +
133 energy_mean)) / 133 energy_mean)) /
134 sqrtf(fixed_mean_energy); 134 sqrtf(fixed_mean_energy);
135 135
136 // update quantified prediction error energy history 136 // update quantified prediction error energy history
137 memmove(&prediction_error[0], &prediction_error[1], 137 memmove(&prediction_error[0], &prediction_error[1],
138 3 * sizeof(prediction_error[0])); 138 3 * sizeof(prediction_error[0]));
139 prediction_error[3] = 20.0 * log10f(fixed_gain_factor); 139 prediction_error[3] = 20.0 * log10f(fixed_gain_factor);
140 140
141 return val; 141 return val;
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
177 pitch_index += 3 * av_clip(prev_lag_int - 10, PITCH_DELAY_MIN, 177 pitch_index += 3 * av_clip(prev_lag_int - 10, PITCH_DELAY_MIN,
178 PITCH_DELAY_MAX - 19); 178 PITCH_DELAY_MAX - 19);
179 } else 179 } else
180 pitch_index += 3 * av_clip(prev_lag_int - 5, PITCH_DELAY_MIN, 180 pitch_index += 3 * av_clip(prev_lag_int - 5, PITCH_DELAY_MIN,
181 PITCH_DELAY_MAX - 9); 181 PITCH_DELAY_MAX - 9);
182 } 182 }
183 } 183 }
184 *lag_int = pitch_index * 10923 >> 15; 184 *lag_int = pitch_index * 10923 >> 15;
185 *lag_frac = pitch_index - 3 * *lag_int - 1; 185 *lag_frac = pitch_index - 3 * *lag_int - 1;
186 } 186 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698