mirror of https://git.ffmpeg.org/ffmpeg.git
Merge commit '6ec688e1bc76dd93151cbca1c340162ae4b10d77'
* commit '6ec688e1bc76dd93151cbca1c340162ae4b10d77': mp3: enable packed main_data decoding in MP4 Conflicts: libavcodec/mpegaudiodec_template.c Only the parts needed to support the available sample are merged the remaining error checks are left in place Merged-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
commit
ae215e2b42
|
@ -1686,7 +1686,7 @@ static int decode_frame(AVCodecContext * avctx, void *data, int *got_frame_ptr,
|
||||||
if (!avctx->bit_rate)
|
if (!avctx->bit_rate)
|
||||||
avctx->bit_rate = s->bit_rate;
|
avctx->bit_rate = s->bit_rate;
|
||||||
|
|
||||||
if (s->frame_size <= 0 || s->frame_size > buf_size) {
|
if (s->frame_size <= 0) {
|
||||||
av_log(avctx, AV_LOG_ERROR, "incomplete frame\n");
|
av_log(avctx, AV_LOG_ERROR, "incomplete frame\n");
|
||||||
return AVERROR_INVALIDDATA;
|
return AVERROR_INVALIDDATA;
|
||||||
} else if (s->frame_size < buf_size) {
|
} else if (s->frame_size < buf_size) {
|
||||||
|
|
|
@ -1669,6 +1669,15 @@ static void mov_parse_stsd_audio(MOVContext *c, AVIOContext *pb,
|
||||||
ff_mov_get_lpcm_codec_id(st->codec->bits_per_coded_sample,
|
ff_mov_get_lpcm_codec_id(st->codec->bits_per_coded_sample,
|
||||||
flags);
|
flags);
|
||||||
}
|
}
|
||||||
|
if (version == 0 || (version == 1 && sc->audio_cid != -2)) {
|
||||||
|
/* can't correctly handle variable sized packet as audio unit */
|
||||||
|
switch (st->codec->codec_id) {
|
||||||
|
case AV_CODEC_ID_MP2:
|
||||||
|
case AV_CODEC_ID_MP3:
|
||||||
|
st->need_parsing = AVSTREAM_PARSE_FULL;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (st->codec->codec_id) {
|
switch (st->codec->codec_id) {
|
||||||
|
@ -1889,7 +1898,6 @@ static int mov_finalize_stsd_codec(MOVContext *c, AVIOContext *pb,
|
||||||
case AV_CODEC_ID_MP3:
|
case AV_CODEC_ID_MP3:
|
||||||
/* force type after stsd for m1a hdlr */
|
/* force type after stsd for m1a hdlr */
|
||||||
st->codec->codec_type = AVMEDIA_TYPE_AUDIO;
|
st->codec->codec_type = AVMEDIA_TYPE_AUDIO;
|
||||||
st->need_parsing = AVSTREAM_PARSE_FULL;
|
|
||||||
break;
|
break;
|
||||||
case AV_CODEC_ID_GSM:
|
case AV_CODEC_ID_GSM:
|
||||||
case AV_CODEC_ID_ADPCM_MS:
|
case AV_CODEC_ID_ADPCM_MS:
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
FATE_MP3 += fate-mp3-float-conf-compl
|
FATE_MP3 += fate-mp3-float-conf-compl
|
||||||
fate-mp3-float-conf-compl: CMD = pcm -acodec mp3float -i $(TARGET_SAMPLES)/mp3-conformance/compl.bit
|
fate-mp3-float-conf-compl: CMD = pcm -acodec mp3float -i $(TARGET_SAMPLES)/mp3-conformance/compl.bit
|
||||||
fate-mp3-float-conf-compl: REF = $(SAMPLES)/mp3-conformance/compl.pcm
|
fate-mp3-float-conf-compl: REF = $(SAMPLES)/mp3-conformance/compl_2.pcm
|
||||||
|
|
||||||
FATE_MP3 += fate-mp3-float-conf-he_32khz
|
FATE_MP3 += fate-mp3-float-conf-he_32khz
|
||||||
fate-mp3-float-conf-he_32khz: CMD = pcm -acodec mp3float -i $(TARGET_SAMPLES)/mp3-conformance/he_32khz.bit -fs 343296
|
fate-mp3-float-conf-he_32khz: CMD = pcm -acodec mp3float -i $(TARGET_SAMPLES)/mp3-conformance/he_32khz.bit -fs 343296
|
||||||
|
|
Loading…
Reference in New Issue