00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef AVCODEC_ACELP_PITCH_DELAY_H
00024 #define AVCODEC_ACELP_PITCH_DELAY_H
00025
00026 #include <stdint.h>
00027 #include "dsputil.h"
00028
00029 #define PITCH_DELAY_MIN 20
00030 #define PITCH_DELAY_MAX 143
00031
00043 int ff_acelp_decode_8bit_to_1st_delay3(int ac_index);
00044
00060 int ff_acelp_decode_5_6_bit_to_2nd_delay3(
00061 int ac_index,
00062 int pitch_delay_min);
00063
00080 int ff_acelp_decode_4bit_to_2nd_delay3(
00081 int ac_index,
00082 int pitch_delay_min);
00083
00097 int ff_acelp_decode_9bit_to_1st_delay6(int ac_index);
00098
00113 int ff_acelp_decode_6bit_to_2nd_delay6(
00114 int ac_index,
00115 int pitch_delay_min);
00116
00133 void ff_acelp_update_past_gain(
00134 int16_t* quant_energy,
00135 int gain_corr_factor,
00136 int log2_ma_pred_order,
00137 int erasure);
00138
00210 int16_t ff_acelp_decode_gain_code(
00211 DSPContext *dsp,
00212 int gain_corr_factor,
00213 const int16_t* fc_v,
00214 int mr_energy,
00215 const int16_t* quant_energy,
00216 const int16_t* ma_prediction_coeff,
00217 int subframe_size,
00218 int max_pred_order);
00219
00230 float ff_amr_set_fixed_gain(float fixed_gain_factor, float fixed_mean_energy,
00231 float *prediction_error, float energy_mean,
00232 const float *pred_table);
00233
00234
00248 void ff_decode_pitch_lag(int *lag_int, int *lag_frac, int pitch_index,
00249 const int prev_lag_int, const int subframe,
00250 int third_as_first, int resolution);
00251
00252 #endif