Commit 3e589878 authored by Kostya Shishkov's avatar Kostya Shishkov

Voxware MetaSound decoder

parent 5afe1d27
......@@ -32,6 +32,7 @@ version 10:
the -noaccurate_seek option.
- avconv -t option can now be used for inputs, to limit the duration of
data read from an input file
- incomplete Voxware MetaSound decoder
version 9:
......
......@@ -1605,6 +1605,7 @@ lagarith_decoder_select="dsputil"
ljpeg_encoder_select="aandcttables mpegvideoenc"
loco_decoder_select="golomb"
mdec_decoder_select="dsputil error_resilience mpegvideo"
metasound_decoder_select="lsp mdct sinewin"
mimic_decoder_select="dsputil hpeldsp"
mjpeg_decoder_select="dsputil hpeldsp"
mjpegb_decoder_select="dsputil hpeldsp"
......
......@@ -818,6 +818,8 @@ following image formats are supported:
@item TwinVQ (VQF flavor) @tab @tab X
@item Vorbis @tab E @tab X
@tab A native but very primitive encoder exists.
@item Voxware MetaSound @tab @tab X
@tab imperfect and incomplete support
@item WavPack @tab E @tab X
@tab supported through external library libwavpack
@item Westwood Audio (SND1) @tab @tab X
......
......@@ -222,6 +222,8 @@ OBJS-$(CONFIG_LOCO_DECODER) += loco.o
OBJS-$(CONFIG_MACE3_DECODER) += mace.o
OBJS-$(CONFIG_MACE6_DECODER) += mace.o
OBJS-$(CONFIG_MDEC_DECODER) += mdec.o mpeg12.o mpeg12data.o
OBJS-$(CONFIG_METASOUND_DECODER) += metasound.o metasound_data.o \
twinvq.o
OBJS-$(CONFIG_MIMIC_DECODER) += mimic.o
OBJS-$(CONFIG_MJPEG_DECODER) += mjpegdec.o mjpeg.o
OBJS-$(CONFIG_MJPEG_ENCODER) += mjpegenc.o mjpeg.o
......
......@@ -295,6 +295,7 @@ void avcodec_register_all(void)
REGISTER_DECODER(IMC, imc);
REGISTER_DECODER(MACE3, mace3);
REGISTER_DECODER(MACE6, mace6);
REGISTER_DECODER(METASOUND, metasound);
REGISTER_DECODER(MLP, mlp);
REGISTER_DECODER(MP1, mp1);
REGISTER_DECODER(MP1FLOAT, mp1float);
......
This diff is collapsed.
This diff is collapsed.
/*
* MetaSound decoder
* Copyright (c) 2013 Konstantin Shishkov
*
* 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_METASOUND_DATA_H
#define AVCODEC_METASOUND_DATA_H
#include <stddef.h>
#include <stdint.h>
#include "twinvq.h"
extern const TwinVQModeTab ff_metasound_mode0806;
extern const TwinVQModeTab ff_metasound_mode0806s;
extern const TwinVQModeTab ff_metasound_mode0808;
extern const TwinVQModeTab ff_metasound_mode0808s;
extern const TwinVQModeTab ff_metasound_mode1110;
extern const TwinVQModeTab ff_metasound_mode1110s;
extern const TwinVQModeTab ff_metasound_mode1616;
extern const TwinVQModeTab ff_metasound_mode1616s;
extern const TwinVQModeTab ff_metasound_mode2224;
extern const TwinVQModeTab ff_metasound_mode2224s;
extern const TwinVQModeTab ff_metasound_mode2232;
extern const TwinVQModeTab ff_metasound_mode2232s;
extern const TwinVQModeTab ff_metasound_mode4432;
extern const TwinVQModeTab ff_metasound_mode4432s;
extern const TwinVQModeTab ff_metasound_mode4440;
extern const TwinVQModeTab ff_metasound_mode4440s;
extern const TwinVQModeTab ff_metasound_mode4448;
extern const TwinVQModeTab ff_metasound_mode4448s;
#endif /* AVCODEC_METASOUND_DATA_H */
......@@ -688,6 +688,11 @@ static av_cold void init_bitstream_params(TwinVQContext *tctx)
TWINVQ_WINDOW_TYPE_BITS +
mtab->fmode[i].sub * (bse_bits[i] + n_ch * TWINVQ_SUB_GAIN_BITS);
if (tctx->codec == TWINVQ_CODEC_METASOUND) {
bsize_no_main_cb[1] += 2;
bsize_no_main_cb[2] += 2;
}
// The remaining bits are all used for the main spectrum coefficients
for (i = 0; i < 4; i++) {
int bit_size, vect_size;
......
......@@ -27,7 +27,7 @@
*/
#define LIBAVCODEC_VERSION_MAJOR 55
#define LIBAVCODEC_VERSION_MINOR 14
#define LIBAVCODEC_VERSION_MINOR 15
#define LIBAVCODEC_VERSION_MICRO 0
#define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment