|
|
@ -43,6 +43,7 @@ |
|
|
|
#include <string.h> |
|
|
|
#include <string.h> |
|
|
|
#include <math.h> |
|
|
|
#include <math.h> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#include "libavutil/audioconvert.h" |
|
|
|
#include "avcodec.h" |
|
|
|
#include "avcodec.h" |
|
|
|
#include "dsputil.h" |
|
|
|
#include "dsputil.h" |
|
|
|
#include "libavutil/common.h" |
|
|
|
#include "libavutil/common.h" |
|
|
@ -154,6 +155,14 @@ static av_cold int amrnb_decode_init(AVCodecContext *avctx) |
|
|
|
AMRContext *p = avctx->priv_data; |
|
|
|
AMRContext *p = avctx->priv_data; |
|
|
|
int i; |
|
|
|
int i; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (avctx->channels > 1) { |
|
|
|
|
|
|
|
av_log_missing_feature(avctx, "multi-channel AMR", 0); |
|
|
|
|
|
|
|
return AVERROR_PATCHWELCOME; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
avctx->channels = 1; |
|
|
|
|
|
|
|
avctx->channel_layout = AV_CH_LAYOUT_MONO; |
|
|
|
|
|
|
|
avctx->sample_rate = 8000; |
|
|
|
avctx->sample_fmt = AV_SAMPLE_FMT_FLT; |
|
|
|
avctx->sample_fmt = AV_SAMPLE_FMT_FLT; |
|
|
|
|
|
|
|
|
|
|
|
// p->excitation always points to the same position in p->excitation_buf
|
|
|
|
// p->excitation always points to the same position in p->excitation_buf
|
|
|
|