* AMR wideband decoder
*/
+#include "config.h"
+
#include "libavutil/channel_layout.h"
#include "libavutil/common.h"
-#include "libavutil/float_dsp.h"
#include "libavutil/lfg.h"
#include "avcodec.h"
#include "acelp_vectors.h"
#include "acelp_pitch_delay.h"
#include "codec_internal.h"
-#include "internal.h"
+#include "decode.h"
#define AMR_USE_16BIT_TABLES
#include "amr.h"
#include "amrwbdata.h"
+#if ARCH_MIPS
#include "mips/amrwbdec_mips.h"
+#endif /* ARCH_MIPS */
typedef struct AMRWBContext {
AMRWBFrame frame; ///< AMRWB parameters decoded from bitstream
*got_frame_ptr = 1;
- return avpkt->size;
+ return buf - avpkt->data;
}
const FFCodec ff_amrwb_decoder = {
.p.name = "amrwb",
- .p.long_name = NULL_IF_CONFIG_SMALL("AMR-WB (Adaptive Multi-Rate WideBand)"),
+ CODEC_LONG_NAME("AMR-WB (Adaptive Multi-Rate WideBand)"),
.p.type = AVMEDIA_TYPE_AUDIO,
.p.id = AV_CODEC_ID_AMR_WB,
.priv_data_size = sizeof(AMRWBChannelsContext),
.init = amrwb_decode_init,
FF_CODEC_DECODE_CB(amrwb_decode_frame),
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,
- .p.sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_FLT,
+ .p.sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_FLTP,
AV_SAMPLE_FMT_NONE },
- .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
};