On 23/11/2016 08:14, Diego Biurrun wrote:
> ---
>  libavcodec/ac3enc_fixed.c    | 58 ++++++++++++++++++------------------
>  libavcodec/ac3enc_float.c    | 70 
> +++++++++++++++++++++++---------------------
>  libavcodec/ac3enc_template.c |  9 ------
>  3 files changed, 64 insertions(+), 73 deletions(-)
> 
> diff --git a/libavcodec/ac3enc_fixed.c b/libavcodec/ac3enc_fixed.c
> index c26f9c0..c1cf825 100644
> --- a/libavcodec/ac3enc_fixed.c
> +++ b/libavcodec/ac3enc_fixed.c
> @@ -38,36 +38,6 @@
>  static const AVClass ac3enc_class = { "Fixed-Point AC-3 Encoder", 
> av_default_item_name,
>                                        ac3_options, LIBAVUTIL_VERSION_INT };
>  
> -static int normalize_samples(AC3EncodeContext *s);
> -
> -#include "ac3enc_template.c"
> -
> -
> -/**
> - * Finalize MDCT and free allocated memory.
> - *
> - * @param s  AC-3 encoder private context
> - */
> -av_cold void AC3_NAME(mdct_end)(AC3EncodeContext *s)
> -{
> -    ff_mdct_end(&s->mdct);
> -}
> -
> -
> -/**
> - * Initialize MDCT tables.
> - *
> - * @param s  AC-3 encoder private context
> - * @return   0 on success, negative error code on failure
> - */
> -av_cold int AC3_NAME(mdct_init)(AC3EncodeContext *s)
> -{
> -    int ret = ff_mdct_init(&s->mdct, 9, 0, -1.0);
> -    s->mdct_window = ff_ac3_window;
> -    return ret;
> -}
> -
> -
>  /*
>   * Normalize the input samples to use the maximum available precision.
>   * This assumes signed 16-bit input samples.
> @@ -126,6 +96,34 @@ static CoefType calc_cpl_coord(CoefSumType energy_ch, 
> CoefSumType energy_cpl)
>  }
>  
>  
> +#include "ac3enc_template.c"
> +
> +
> +/**
> + * Finalize MDCT and free allocated memory.
> + *
> + * @param s  AC-3 encoder private context
> + */
> +av_cold void AC3_NAME(mdct_end)(AC3EncodeContext *s)
> +{
> +    ff_mdct_end(&s->mdct);
> +}
> +
> +
> +/**
> + * Initialize MDCT tables.
> + *
> + * @param s  AC-3 encoder private context
> + * @return   0 on success, negative error code on failure
> + */
> +av_cold int AC3_NAME(mdct_init)(AC3EncodeContext *s)
> +{
> +    int ret = ff_mdct_init(&s->mdct, 9, 0, -1.0);
> +    s->mdct_window = ff_ac3_window;
> +    return ret;
> +}
> +
> +
>  static av_cold int ac3_fixed_encode_init(AVCodecContext *avctx)
>  {
>      AC3EncodeContext *s = avctx->priv_data;
> diff --git a/libavcodec/ac3enc_float.c b/libavcodec/ac3enc_float.c
> index 5bae4bc..249f9ed 100644
> --- a/libavcodec/ac3enc_float.c
> +++ b/libavcodec/ac3enc_float.c
> @@ -39,6 +39,42 @@
>  static const AVClass ac3enc_class = { "AC-3 Encoder", av_default_item_name,
>                                        ac3_options, LIBAVUTIL_VERSION_INT };
>  
> +
> +/*
> + * Scale MDCT coefficients from float to 24-bit fixed-point.
> + */
> +static void scale_coefficients(AC3EncodeContext *s)
> +{
> +    int chan_size = AC3_MAX_COEFS * s->num_blocks;
> +    int cpl       = s->cpl_on;
> +    s->ac3dsp.float_to_fixed24(s->fixed_coef_buffer + (chan_size * !cpl),
> +                               s->mdct_coef_buffer  + (chan_size * !cpl),
> +                               chan_size * (s->channels + cpl));
> +}
> +
> +
> +/*
> + * Clip MDCT coefficients to allowable range.
> + */
> +static void clip_coefficients(AudioDSPContext *adsp, float *coef,
> +                              unsigned int len)
> +{
> +    adsp->vector_clipf(coef, coef, len, COEF_MIN, COEF_MAX);
> +}
> +
> +
> +/*
> + * Calculate a single coupling coordinate.
> + */
> +static CoefType calc_cpl_coord(CoefSumType energy_ch, CoefSumType energy_cpl)
> +{
> +    float coord = 0.125;
> +    if (energy_cpl > 0)
> +        coord *= sqrtf(energy_ch / energy_cpl);
> +    return FFMIN(coord, COEF_MAX);
> +}
> +
> +
>  #include "ac3enc_template.c"
>  
>  
> @@ -82,40 +118,6 @@ av_cold int ff_ac3_float_mdct_init(AC3EncodeContext *s)
>  }
>  
>  
> -/*
> - * Scale MDCT coefficients from float to 24-bit fixed-point.
> - */
> -static void scale_coefficients(AC3EncodeContext *s)
> -{
> -    int chan_size = AC3_MAX_COEFS * s->num_blocks;
> -    int cpl       = s->cpl_on;
> -    s->ac3dsp.float_to_fixed24(s->fixed_coef_buffer + (chan_size * !cpl),
> -                               s->mdct_coef_buffer  + (chan_size * !cpl),
> -                               chan_size * (s->channels + cpl));
> -}
> -
> -
> -/*
> - * Clip MDCT coefficients to allowable range.
> - */
> -static void clip_coefficients(AudioDSPContext *adsp, float *coef,
> -                              unsigned int len)
> -{
> -    adsp->vector_clipf(coef, coef, len, COEF_MIN, COEF_MAX);
> -}
> -
> -
> -/*
> - * Calculate a single coupling coordinate.
> - */
> -static CoefType calc_cpl_coord(CoefSumType energy_ch, CoefSumType energy_cpl)
> -{
> -    float coord = 0.125;
> -    if (energy_cpl > 0)
> -        coord *= sqrtf(energy_ch / energy_cpl);
> -    return FFMIN(coord, COEF_MAX);
> -}
> -
>  av_cold int ff_ac3_float_encode_init(AVCodecContext *avctx)
>  {
>      AC3EncodeContext *s = avctx->priv_data;
> diff --git a/libavcodec/ac3enc_template.c b/libavcodec/ac3enc_template.c
> index eefcef5..ef40b5a 100644
> --- a/libavcodec/ac3enc_template.c
> +++ b/libavcodec/ac3enc_template.c
> @@ -36,15 +36,6 @@
>  #include "ac3enc.h"
>  #include "eac3enc.h"
>  
> -/* prototypes for static functions in ac3enc_fixed.c and ac3enc_float.c */
> -
> -static void scale_coefficients(AC3EncodeContext *s);
> -
> -static void clip_coefficients(AudioDSPContext *adsp, CoefType *coef,
> -                              unsigned int len);
> -
> -static CoefType calc_cpl_coord(CoefSumType energy_ch, CoefSumType 
> energy_cpl);
> -
>  
>  int AC3_NAME(allocate_sample_buffers)(AC3EncodeContext *s)
>  {
> 

Ok.
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to