Browse Source

mlp: support bit-depths greater than 16 by default.

Originally committed as revision 16026 to svn://svn.ffmpeg.org/ffmpeg/trunk
tags/v0.5
Ramiro Polla 16 years ago
parent
commit
ee1a8f6290
2 changed files with 5 additions and 5 deletions
  1. +2
    -2
      libavcodec/mlp_parser.c
  2. +3
    -3
      libavcodec/mlpdec.c

+ 2
- 2
libavcodec/mlp_parser.c View File

@@ -251,11 +251,11 @@ static int mlp_parse(AVCodecParserContext *s,
if (ff_mlp_read_major_sync(avctx, &mh, &gb) < 0) if (ff_mlp_read_major_sync(avctx, &mh, &gb) < 0)
goto lost_sync; goto lost_sync;


#ifdef CONFIG_AUDIO_NONSHORT
avctx->bits_per_raw_sample = mh.group1_bits; avctx->bits_per_raw_sample = mh.group1_bits;
if (avctx->bits_per_raw_sample > 16) if (avctx->bits_per_raw_sample > 16)
avctx->sample_fmt = SAMPLE_FMT_S32; avctx->sample_fmt = SAMPLE_FMT_S32;
#endif
else
avctx->sample_fmt = SAMPLE_FMT_S16;
avctx->sample_rate = mh.group1_samplerate; avctx->sample_rate = mh.group1_samplerate;
avctx->frame_size = mh.access_unit_size; avctx->frame_size = mh.access_unit_size;




+ 3
- 3
libavcodec/mlpdec.c View File

@@ -222,7 +222,7 @@ static av_cold int mlp_decode_init(AVCodecContext *avctx)
m->avctx = avctx; m->avctx = avctx;
for (substr = 0; substr < MAX_SUBSTREAMS; substr++) for (substr = 0; substr < MAX_SUBSTREAMS; substr++)
m->substream[substr].lossless_check_data = 0xffffffff; m->substream[substr].lossless_check_data = 0xffffffff;
avctx->sample_fmt = SAMPLE_FMT_S16;
return 0; return 0;
} }


@@ -296,12 +296,12 @@ static int read_major_sync(MLPDecodeContext *m, GetBitContext *gb)
m->avctx->sample_rate = mh.group1_samplerate; m->avctx->sample_rate = mh.group1_samplerate;
m->avctx->frame_size = mh.access_unit_size; m->avctx->frame_size = mh.access_unit_size;


#ifdef CONFIG_AUDIO_NONSHORT
m->avctx->bits_per_raw_sample = mh.group1_bits; m->avctx->bits_per_raw_sample = mh.group1_bits;
if (mh.group1_bits > 16) { if (mh.group1_bits > 16) {
m->avctx->sample_fmt = SAMPLE_FMT_S32; m->avctx->sample_fmt = SAMPLE_FMT_S32;
} }
#endif
else
m->avctx->sample_fmt = SAMPLE_FMT_S16;


m->params_valid = 1; m->params_valid = 1;
for (substr = 0; substr < MAX_SUBSTREAMS; substr++) for (substr = 0; substr < MAX_SUBSTREAMS; substr++)


Loading…
Cancel
Save