diff --git a/libavcodec/mpegaudiodec.c b/libavcodec/mpegaudiodec.c index 43ec55daf2..51c8ef1305 100644 --- a/libavcodec/mpegaudiodec.c +++ b/libavcodec/mpegaudiodec.c @@ -2481,6 +2481,7 @@ static int decode_frame(AVCodecContext * avctx, avctx->sample_rate = s->sample_rate; avctx->channels = s->nb_channels; avctx->bit_rate = s->bit_rate; + avctx->sub_id = s->layer; switch(s->layer) { case 1: avctx->frame_size = 384; diff --git a/libavcodec/utils.c b/libavcodec/utils.c index 33ff0f4153..c2705889ba 100644 --- a/libavcodec/utils.c +++ b/libavcodec/utils.c @@ -470,6 +470,12 @@ void avcodec_string(char *buf, int buf_size, AVCodecContext *enc, int encode) if (p) { codec_name = p->name; + if (!encode && enc->codec_id == CODEC_ID_MP3) { + if (enc->sub_id == 2) + codec_name = "mp2"; + else if (enc->sub_id == 1) + codec_name = "mp1"; + } } else if (enc->codec_name[0] != '\0') { codec_name = enc->codec_name; } else {