mlp: support bit-depths greater than 16 by default.
Originally committed as revision 16026 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
dc50773dc5
commit
ee1a8f6290
@ -251,11 +251,11 @@ static int mlp_parse(AVCodecParserContext *s,
|
||||
if (ff_mlp_read_major_sync(avctx, &mh, &gb) < 0)
|
||||
goto lost_sync;
|
||||
|
||||
#ifdef CONFIG_AUDIO_NONSHORT
|
||||
avctx->bits_per_raw_sample = mh.group1_bits;
|
||||
if (avctx->bits_per_raw_sample > 16)
|
||||
avctx->sample_fmt = SAMPLE_FMT_S32;
|
||||
#endif
|
||||
else
|
||||
avctx->sample_fmt = SAMPLE_FMT_S16;
|
||||
avctx->sample_rate = mh.group1_samplerate;
|
||||
avctx->frame_size = mh.access_unit_size;
|
||||
|
||||
|
@ -222,7 +222,7 @@ static av_cold int mlp_decode_init(AVCodecContext *avctx)
|
||||
m->avctx = avctx;
|
||||
for (substr = 0; substr < MAX_SUBSTREAMS; substr++)
|
||||
m->substream[substr].lossless_check_data = 0xffffffff;
|
||||
avctx->sample_fmt = SAMPLE_FMT_S16;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -296,12 +296,12 @@ static int read_major_sync(MLPDecodeContext *m, GetBitContext *gb)
|
||||
m->avctx->sample_rate = mh.group1_samplerate;
|
||||
m->avctx->frame_size = mh.access_unit_size;
|
||||
|
||||
#ifdef CONFIG_AUDIO_NONSHORT
|
||||
m->avctx->bits_per_raw_sample = mh.group1_bits;
|
||||
if (mh.group1_bits > 16) {
|
||||
m->avctx->sample_fmt = SAMPLE_FMT_S32;
|
||||
}
|
||||
#endif
|
||||
else
|
||||
m->avctx->sample_fmt = SAMPLE_FMT_S16;
|
||||
|
||||
m->params_valid = 1;
|
||||
for (substr = 0; substr < MAX_SUBSTREAMS; substr++)
|
||||
|
Loading…
Reference in New Issue
Block a user