summaryrefslogtreecommitdiff
path: root/libavcodec/wma.c
diff options
context:
space:
mode:
authorDiego Biurrun <diego@biurrun.de>2012-03-06 19:07:10 +0100
committerDiego Biurrun <diego@biurrun.de>2012-03-07 09:36:05 +0100
commit8ca6e523a604db69c151b20627fb3bcc52118392 (patch)
treec0f0d2b9150762825e4f8143b234a7fb036d02a6 /libavcodec/wma.c
parent3c715383ea7012ac69507e6b9189c98675c77461 (diff)
downloadffmpeg-8ca6e523a604db69c151b20627fb3bcc52118392.tar.gz
wma: Refactor common code to fix standalone compilation of WMA lossless decoder.
Diffstat (limited to 'libavcodec/wma.c')
-rw-r--r--libavcodec/wma.c41
1 files changed, 1 insertions, 40 deletions
diff --git a/libavcodec/wma.c b/libavcodec/wma.c
index 371aad574d..007653ffec 100644
--- a/libavcodec/wma.c
+++ b/libavcodec/wma.c
@@ -22,6 +22,7 @@
#include "avcodec.h"
#include "sinewin.h"
#include "wma.h"
+#include "wma_common.h"
#include "wmadata.h"
#undef NDEBUG
@@ -67,46 +68,6 @@ static void init_coef_vlc(VLC *vlc, uint16_t **prun_table,
av_free(level_table);
}
-/**
- *@brief Get the samples per frame for this stream.
- *@param sample_rate output sample_rate
- *@param version wma version
- *@param decode_flags codec compression features
- *@return log2 of the number of output samples per frame
- */
-int av_cold ff_wma_get_frame_len_bits(int sample_rate, int version,
- unsigned int decode_flags)
-{
-
- int frame_len_bits;
-
- if (sample_rate <= 16000) {
- frame_len_bits = 9;
- } else if (sample_rate <= 22050 ||
- (sample_rate <= 32000 && version == 1)) {
- frame_len_bits = 10;
- } else if (sample_rate <= 48000 || version < 3) {
- frame_len_bits = 11;
- } else if (sample_rate <= 96000) {
- frame_len_bits = 12;
- } else {
- frame_len_bits = 13;
- }
-
- if (version == 3) {
- int tmp = decode_flags & 0x6;
- if (tmp == 0x2) {
- ++frame_len_bits;
- } else if (tmp == 0x4) {
- --frame_len_bits;
- } else if (tmp == 0x6) {
- frame_len_bits -= 2;
- }
- }
-
- return frame_len_bits;
-}
-
int ff_wma_init(AVCodecContext *avctx, int flags2)
{
WMACodecContext *s = avctx->priv_data;