Libav 0.7.1
|
00001 /* 00002 * LSP computing for ACELP-based codecs 00003 * 00004 * Copyright (c) 2008 Vladimir Voroshilov 00005 * 00006 * This file is part of Libav. 00007 * 00008 * Libav is free software; you can redistribute it and/or 00009 * modify it under the terms of the GNU Lesser General Public 00010 * License as published by the Free Software Foundation; either 00011 * version 2.1 of the License, or (at your option) any later version. 00012 * 00013 * Libav is distributed in the hope that it will be useful, 00014 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00015 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00016 * Lesser General Public License for more details. 00017 * 00018 * You should have received a copy of the GNU Lesser General Public 00019 * License along with Libav; if not, write to the Free Software 00020 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 00021 */ 00022 00023 #ifndef AVCODEC_LSP_H 00024 #define AVCODEC_LSP_H 00025 00026 #include <stdint.h> 00027 00040 void ff_acelp_reorder_lsf(int16_t* lsfq, int lsfq_min_distance, int lsfq_min, int lsfq_max, int lp_order); 00041 00053 void ff_set_min_dist_lsf(float *lsf, double min_spacing, int size); 00054 00063 void ff_acelp_lsf2lsp(int16_t *lsp, const int16_t *lsf, int lp_order); 00064 00068 void ff_acelp_lsf2lspd(double *lsp, const float *lsf, int lp_order); 00069 00076 void ff_acelp_lsp2lpc(int16_t* lp, const int16_t* lsp, int lp_half_order); 00077 00081 void ff_amrwb_lsp2lpc(const double *lsp, float *lp, int lp_order); 00082 00091 void ff_acelp_lp_decode(int16_t* lp_1st, int16_t* lp_2nd, const int16_t* lsp_2nd, const int16_t* lsp_prev, int lp_order); 00092 00093 00094 #define MAX_LP_HALF_ORDER 8 00095 #define MAX_LP_ORDER (2*MAX_LP_HALF_ORDER) 00096 00109 void ff_acelp_lspd2lpc(const double *lsp, float *lpc, int lp_half_order); 00110 00116 void ff_sort_nearly_sorted_floats(float *vals, int len); 00117 00128 void ff_lsp2polyf(const double *lsp, double *f, int lp_half_order); 00129 00130 #endif /* AVCODEC_LSP_H */