[FFmpeg-devel] [PATCH] avutil: merge avpriv_float_dsp_init into avpriv_float_dsp_alloc

James Almer jamrial at gmail.com
Wed Oct 14 02:04:38 CEST 2015


On 10/13/2015 8:48 PM, Andreas Cadhalpun wrote:
> Also replace the last two usages of avpriv_float_dsp_init with
> avpriv_float_dsp_alloc.
> 
> Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun at googlemail.com>
> ---
>  libavutil/float_dsp.c | 47 ++++++++++++++++++++++++++---------------------
>  libavutil/float_dsp.h |  9 ---------
>  2 files changed, 26 insertions(+), 30 deletions(-)
> 
> diff --git a/libavutil/float_dsp.c b/libavutil/float_dsp.c
> index 337708e..c1430f0 100644
> --- a/libavutil/float_dsp.c
> +++ b/libavutil/float_dsp.c
> @@ -116,8 +116,12 @@ float avpriv_scalarproduct_float_c(const float *v1, const float *v2, int len)
>      return p;
>  }
>  
> -av_cold void avpriv_float_dsp_init(AVFloatDSPContext *fdsp, int bit_exact)
> +av_cold AVFloatDSPContext *avpriv_float_dsp_alloc(int bit_exact)
>  {
> +    AVFloatDSPContext *fdsp = av_mallocz(sizeof(AVFloatDSPContext));
> +    if (!fdsp)
> +        return NULL;
> +
>      fdsp->vector_fmul = vector_fmul_c;
>      fdsp->vector_fmac_scalar = vector_fmac_scalar_c;
>      fdsp->vector_fmul_scalar = vector_fmul_scalar_c;
> @@ -138,14 +142,7 @@ av_cold void avpriv_float_dsp_init(AVFloatDSPContext *fdsp, int bit_exact)
>          ff_float_dsp_init_x86(fdsp);
>      if (ARCH_MIPS)
>          ff_float_dsp_init_mips(fdsp);
> -}
> -
> -av_cold AVFloatDSPContext *avpriv_float_dsp_alloc(int bit_exact)
> -{
> -    AVFloatDSPContext *ret = av_mallocz(sizeof(AVFloatDSPContext));
> -    if (ret)
> -        avpriv_float_dsp_init(ret, bit_exact);
> -    return ret;
> +    return fdsp;
>  }
>  
>  
> @@ -386,7 +383,7 @@ int main(int argc, char **argv)
>  {
>      int ret = 0, seeded = 0;
>      uint32_t seed;
> -    AVFloatDSPContext fdsp, cdsp;
> +    AVFloatDSPContext *fdsp, *cdsp;
>      AVLFG lfg;
>  
>      LOCAL_ALIGNED(32, float, src0, [LEN]);
> @@ -430,29 +427,37 @@ int main(int argc, char **argv)
>      fill_double_array(&lfg, dbl_src0, LEN);
>      fill_double_array(&lfg, dbl_src1, LEN);
>  
> -    avpriv_float_dsp_init(&fdsp, 1);
> +    fdsp = avpriv_float_dsp_alloc(1);
>      av_force_cpu_flags(0);
> -    avpriv_float_dsp_init(&cdsp, 1);
> +    cdsp = avpriv_float_dsp_alloc(1);
> +
> +    if (!fdsp || !cdsp) {
> +        ret = 1;
> +        goto end;
> +    }

This could go above the av_log or av_lfg_init lines, to avoid pointlessly
running all the array filling code when the test is going to fail anyway.

LGTM nonetheless.



More information about the ffmpeg-devel mailing list