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);