[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