build: Split WMA frequencies into a separate object file

These are the only WMA bits shared with binkaudio. Splitting them off
reduces the binnkaudio dependency on general WMA code.
pull/88/head
Diego Biurrun 10 years ago
parent 803f8992f1
commit f20518568a
  1. 15
      configure
  2. 5
      libavcodec/Makefile
  3. 2
      libavcodec/binkaudio.c
  4. 1
      libavcodec/wma.c
  5. 1
      libavcodec/wma.h
  6. 28
      libavcodec/wma_freqs.c
  7. 26
      libavcodec/wma_freqs.h
  8. 7
      libavcodec/wmadata.h

15
configure vendored

@ -1584,6 +1584,7 @@ CONFIG_EXTRA="
tpeldsp tpeldsp
videodsp videodsp
vp3dsp vp3dsp
wma_freqs
" "
CMDLINE_SELECT=" CMDLINE_SELECT="
@ -1756,8 +1757,8 @@ atrac1_decoder_select="mdct sinewin"
atrac3_decoder_select="mdct" atrac3_decoder_select="mdct"
atrac3p_decoder_select="mdct sinewin" atrac3p_decoder_select="mdct sinewin"
bink_decoder_select="blockdsp hpeldsp" bink_decoder_select="blockdsp hpeldsp"
binkaudio_dct_decoder_select="mdct rdft dct sinewin" binkaudio_dct_decoder_select="mdct rdft dct sinewin wma_freqs"
binkaudio_rdft_decoder_select="mdct rdft sinewin" binkaudio_rdft_decoder_select="mdct rdft sinewin wma_freqs"
cavs_decoder_select="blockdsp golomb h264chroma idctdsp qpeldsp videodsp" cavs_decoder_select="blockdsp golomb h264chroma idctdsp qpeldsp videodsp"
cllc_decoder_select="bswapdsp" cllc_decoder_select="bswapdsp"
comfortnoise_encoder_select="lpc" comfortnoise_encoder_select="lpc"
@ -1901,11 +1902,11 @@ vp7_decoder_select="h264pred videodsp"
vp8_decoder_select="h264pred videodsp" vp8_decoder_select="h264pred videodsp"
vp9_decoder_select="videodsp" vp9_decoder_select="videodsp"
webp_decoder_select="vp8_decoder" webp_decoder_select="vp8_decoder"
wmapro_decoder_select="mdct sinewin" wmapro_decoder_select="mdct sinewin wma_freqs"
wmav1_decoder_select="mdct sinewin" wmav1_decoder_select="mdct sinewin wma_freqs"
wmav1_encoder_select="mdct sinewin" wmav1_encoder_select="mdct sinewin wma_freqs"
wmav2_decoder_select="mdct sinewin" wmav2_decoder_select="mdct sinewin wma_freqs"
wmav2_encoder_select="mdct sinewin" wmav2_encoder_select="mdct sinewin wma_freqs"
wmavoice_decoder_select="lsp rdft dct mdct sinewin" wmavoice_decoder_select="lsp rdft dct mdct sinewin"
wmv1_decoder_select="h263_decoder" wmv1_decoder_select="h263_decoder"
wmv1_encoder_select="h263_encoder" wmv1_encoder_select="h263_encoder"

@ -82,6 +82,7 @@ OBJS-$(CONFIG_STARTCODE) += startcode.o
OBJS-$(CONFIG_TPELDSP) += tpeldsp.o OBJS-$(CONFIG_TPELDSP) += tpeldsp.o
OBJS-$(CONFIG_VIDEODSP) += videodsp.o OBJS-$(CONFIG_VIDEODSP) += videodsp.o
OBJS-$(CONFIG_VP3DSP) += vp3dsp.o OBJS-$(CONFIG_VP3DSP) += vp3dsp.o
OBJS-$(CONFIG_WMA_FREQS) += wma_freqs.o
# decoders/encoders # decoders/encoders
OBJS-$(CONFIG_A64MULTI_ENCODER) += a64multienc.o elbg.o OBJS-$(CONFIG_A64MULTI_ENCODER) += a64multienc.o elbg.o
@ -130,8 +131,8 @@ OBJS-$(CONFIG_AVS_DECODER) += avs.o
OBJS-$(CONFIG_BETHSOFTVID_DECODER) += bethsoftvideo.o OBJS-$(CONFIG_BETHSOFTVID_DECODER) += bethsoftvideo.o
OBJS-$(CONFIG_BFI_DECODER) += bfi.o OBJS-$(CONFIG_BFI_DECODER) += bfi.o
OBJS-$(CONFIG_BINK_DECODER) += bink.o binkdsp.o OBJS-$(CONFIG_BINK_DECODER) += bink.o binkdsp.o
OBJS-$(CONFIG_BINKAUDIO_DCT_DECODER) += binkaudio.o wma.o wma_common.o OBJS-$(CONFIG_BINKAUDIO_DCT_DECODER) += binkaudio.o
OBJS-$(CONFIG_BINKAUDIO_RDFT_DECODER) += binkaudio.o wma.o wma_common.o OBJS-$(CONFIG_BINKAUDIO_RDFT_DECODER) += binkaudio.o
OBJS-$(CONFIG_BMP_DECODER) += bmp.o msrledec.o OBJS-$(CONFIG_BMP_DECODER) += bmp.o msrledec.o
OBJS-$(CONFIG_BMP_ENCODER) += bmpenc.o OBJS-$(CONFIG_BMP_ENCODER) += bmpenc.o
OBJS-$(CONFIG_BMV_AUDIO_DECODER) += bmvaudio.o OBJS-$(CONFIG_BMV_AUDIO_DECODER) += bmvaudio.o

@ -36,7 +36,7 @@
#include "rdft.h" #include "rdft.h"
#include "fmtconvert.h" #include "fmtconvert.h"
#include "internal.h" #include "internal.h"
#include "wma.h" #include "wma_freqs.h"
#include "libavutil/intfloat.h" #include "libavutil/intfloat.h"
static float quant_table[96]; static float quant_table[96];

@ -25,6 +25,7 @@
#include "sinewin.h" #include "sinewin.h"
#include "wma.h" #include "wma.h"
#include "wma_common.h" #include "wma_common.h"
#include "wma_freqs.h"
#include "wmadata.h" #include "wmadata.h"
#undef NDEBUG #undef NDEBUG

@ -139,7 +139,6 @@ typedef struct WMACodecContext {
#endif /* TRACE */ #endif /* TRACE */
} WMACodecContext; } WMACodecContext;
extern const uint16_t ff_wma_critical_freqs[25];
extern const uint16_t ff_wma_hgain_huffcodes[37]; extern const uint16_t ff_wma_hgain_huffcodes[37];
extern const uint8_t ff_wma_hgain_huffbits[37]; extern const uint8_t ff_wma_hgain_huffbits[37];
extern const float ff_wma_lsp_codebook[NB_LSP_COEFS][16]; extern const float ff_wma_lsp_codebook[NB_LSP_COEFS][16];

@ -0,0 +1,28 @@
/*
* This file is part of Libav.
*
* Libav is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* Libav is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with Libav; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#include <stdint.h>
#include "wma_freqs.h"
const uint16_t ff_wma_critical_freqs[25] = {
100, 200, 300, 400, 510, 630, 770, 920,
1080, 1270, 1480, 1720, 2000, 2320, 2700, 3150,
3700, 4400, 5300, 6400, 7700, 9500, 12000, 15500,
24500,
};

@ -0,0 +1,26 @@
/*
* This file is part of Libav.
*
* Libav is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* Libav is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with Libav; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#ifndef AVCODEC_WMA_FREQS_H
#define AVCODEC_WMA_FREQS_H
#include <stdint.h>
extern const uint16_t ff_wma_critical_freqs[25];
#endif /* AVCODEC_WMA_FREQS */

@ -31,13 +31,6 @@
#include "wma.h" #include "wma.h"
const uint16_t ff_wma_critical_freqs[25] = {
100, 200, 300, 400, 510, 630, 770, 920,
1080, 1270, 1480, 1720, 2000, 2320, 2700, 3150,
3700, 4400, 5300, 6400, 7700, 9500, 12000, 15500,
24500,
};
/* first value is number of bands */ /* first value is number of bands */
static const uint8_t exponent_band_22050[3][25] = { static const uint8_t exponent_band_22050[3][25] = {
{ 10, 4, 8, 4, 8, 8, 12, 20, 24, 24, 16, }, { 10, 4, 8, 4, 8, 8, 12, 20, 24, 24, 16, },

Loading…
Cancel
Save