]> git.sesse.net Git - ffmpeg/blobdiff - libavcodec/celp_filters.h
mpeg12: do not fail on zero dimensions in the sequence header.
[ffmpeg] / libavcodec / celp_filters.h
index 6069a3fcff0ce6fdf32cc03ff36771e57d7f3b8c..c3282584603b193214ac0ecf4519a242a634d947 100644 (file)
@@ -3,20 +3,20 @@
  *
  * Copyright (c) 2008 Vladimir Voroshilov
  *
- * This file is part of FFmpeg.
+ * This file is part of Libav.
  *
- * FFmpeg is free software; you can redistribute it and/or
+ * Libav is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
  * License as published by the Free Software Foundation; either
  * version 2.1 of the License, or (at your option) any later version.
  *
- * FFmpeg is distributed in the hope that it will be useful,
+ * Libav is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  * Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
- * License along with FFmpeg; if not, write to the Free Software
+ * License along with Libav; if not, write to the Free Software
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
  *
  *  fc_out[n] = sum(i,0,len-1){ fc_in[i] * filter[(len + n - i)%len] }
  *
- * \note fc_in and fc_out should not overlap!
+ * @note fc_in and fc_out should not overlap!
  */
-void ff_celp_convolve_circ(int16_t* fc_out,
-                           const int16_t* fc_in,
-                           const int16_t* filter,
-                           int len);
+void ff_celp_convolve_circ(int16_t *fc_out, const int16_t *fc_in,
+                           const int16_t *filter, int len);
 
 /**
  * Add an array to a rotated array.
@@ -58,13 +56,14 @@ void ff_celp_circ_addf(float *out, const float *in,
 
 /**
  * LP synthesis filter.
- * @param out [out] pointer to output buffer
+ * @param[out] out pointer to output buffer
  * @param filter_coeffs filter coefficients (-0x8000 <= (3.12) < 0x8000)
  * @param in input signal
  * @param buffer_length amount of data to process
  * @param filter_length filter length (10 for 10th order LP filter)
  * @param stop_on_overflow   1 - return immediately if overflow occurs
  *                           0 - ignore overflows
+ * @param shift the result is shifted right by this value
  * @param rounder the amount to add for rounding (usually 0x800 or 0xfff)
  *
  * @return 1 if overflow occurred, 0 - otherwise
@@ -74,17 +73,14 @@ void ff_celp_circ_addf(float *out, const float *in,
  *
  * Routine applies 1/A(z) filter to given speech data.
  */
-int ff_celp_lp_synthesis_filter(int16_t *out,
-                                const int16_t* filter_coeffs,
-                                const int16_t* in,
-                                int buffer_length,
-                                int filter_length,
-                                int stop_on_overflow,
-                                int rounder);
+int ff_celp_lp_synthesis_filter(int16_t *out, const int16_t *filter_coeffs,
+                                const int16_t *in, int buffer_length,
+                                int filter_length, int stop_on_overflow,
+                                int shift, int rounder);
 
 /**
  * LP synthesis filter.
- * @param out [out] pointer to output buffer
+ * @param[out] out pointer to output buffer
  *        - the array out[-filter_length, -1] must
  *        contain the previous result of this filter
  * @param filter_coeffs filter coefficients.
@@ -98,15 +94,13 @@ int ff_celp_lp_synthesis_filter(int16_t *out,
  *
  * Routine applies 1/A(z) filter to given speech data.
  */
-void ff_celp_lp_synthesis_filterf(float *out,
-                                  const float* filter_coeffs,
-                                  const float* in,
-                                  int buffer_length,
+void ff_celp_lp_synthesis_filterf(float *out, const float *filter_coeffs,
+                                  const float *in, int buffer_length,
                                   int filter_length);
 
 /**
  * LP zero synthesis filter.
- * @param out [out] pointer to output buffer
+ * @param[out] out pointer to output buffer
  * @param filter_coeffs filter coefficients.
  * @param in input signal
  *        - the array in[-filter_length, -1] must
@@ -119,10 +113,8 @@ void ff_celp_lp_synthesis_filterf(float *out,
  *
  * Routine applies A(z) filter to given speech data.
  */
-void ff_celp_lp_zero_synthesis_filterf(float *out,
-                                       const float* filter_coeffs,
-                                       const float* in,
-                                       int buffer_length,
+void ff_celp_lp_zero_synthesis_filterf(float *out, const float *filter_coeffs,
+                                       const float *in, int buffer_length,
                                        int filter_length);
 
 #endif /* AVCODEC_CELP_FILTERS_H */