[FFmpeg-devel] [PATCH] avcodec/vorbisdec: Move ff_vorbis_inverse_coupling() to vorbisdsp.c

James Almer jamrial at gmail.com
Mon Sep 19 20:18:11 EEST 2022


On 9/19/2022 2:16 PM, Andreas Rheinhardt wrote:
> Only used there. Also make it static.
> 
> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>
> ---
>   libavcodec/vorbis.h    |  1 -
>   libavcodec/vorbisdec.c | 23 -----------------------
>   libavcodec/vorbisdsp.c | 26 ++++++++++++++++++++++++--
>   3 files changed, 24 insertions(+), 26 deletions(-)
> 
> diff --git a/libavcodec/vorbis.h b/libavcodec/vorbis.h
> index 270855da04..0dd109dd2e 100644
> --- a/libavcodec/vorbis.h
> +++ b/libavcodec/vorbis.h
> @@ -45,7 +45,6 @@ int ff_vorbis_len2vlc(uint8_t *bits, uint32_t *codes, unsigned num);
>   void ff_vorbis_floor1_render_list(vorbis_floor1_entry * list, int values,
>                                     uint16_t *y_list, int *flag,
>                                     int multiplier, float * out, int samples);
> -void ff_vorbis_inverse_coupling(float *mag, float *ang, ptrdiff_t blocksize);
>   
>   #define ilog(i) av_log2(2*(i))
>   
> diff --git a/libavcodec/vorbisdec.c b/libavcodec/vorbisdec.c
> index 72b8e8e15b..0d04e7c2c4 100644
> --- a/libavcodec/vorbisdec.c
> +++ b/libavcodec/vorbisdec.c
> @@ -1579,29 +1579,6 @@ static inline int vorbis_residue_decode(vorbis_context *vc, vorbis_residue *vr,
>       }
>   }
>   
> -void ff_vorbis_inverse_coupling(float *mag, float *ang, ptrdiff_t blocksize)
> -{
> -    for (ptrdiff_t i = 0;  i < blocksize;  i++) {
> -        float angi = ang[i], magi = mag[i];
> -
> -        if (magi > 0.f) {
> -            if (angi > 0.f) {
> -                ang[i] = magi - angi;
> -            } else {
> -                ang[i] = magi;
> -                mag[i] = magi + angi;
> -            }
> -        } else {
> -            if (angi > 0.f) {
> -                ang[i] = magi + angi;
> -            } else {
> -                ang[i] = magi;
> -                mag[i] = magi - angi;
> -            }
> -        }
> -    }
> -}
> -
>   // Decode the audio packet using the functions above
>   
>   static int vorbis_parse_audio_packet(vorbis_context *vc, float **floor_ptr)
> diff --git a/libavcodec/vorbisdsp.c b/libavcodec/vorbisdsp.c
> index e94b65cb7b..693c44dfcb 100644
> --- a/libavcodec/vorbisdsp.c
> +++ b/libavcodec/vorbisdsp.c
> @@ -19,11 +19,33 @@
>   #include "config.h"
>   #include "libavutil/attributes.h"
>   #include "vorbisdsp.h"
> -#include "vorbis.h"
> +
> +static void vorbis_inverse_coupling_c(float *mag, float *ang, ptrdiff_t blocksize)
> +{
> +    for (ptrdiff_t i = 0;  i < blocksize;  i++) {
> +        float angi = ang[i], magi = mag[i];
> +
> +        if (magi > 0.f) {
> +            if (angi > 0.f) {
> +                ang[i] = magi - angi;
> +            } else {
> +                ang[i] = magi;
> +                mag[i] = magi + angi;
> +            }
> +        } else {
> +            if (angi > 0.f) {
> +                ang[i] = magi + angi;
> +            } else {
> +                ang[i] = magi;
> +                mag[i] = magi - angi;
> +            }
> +        }
> +    }
> +}
>   
>   av_cold void ff_vorbisdsp_init(VorbisDSPContext *dsp)
>   {
> -    dsp->vorbis_inverse_coupling = ff_vorbis_inverse_coupling;
> +    dsp->vorbis_inverse_coupling = vorbis_inverse_coupling_c;
>   
>   #if ARCH_AARCH64
>       ff_vorbisdsp_init_aarch64(dsp);

LGTM.


More information about the ffmpeg-devel mailing list