OSDN Git Service

mlp: support bit-depths greater than 16 by default.
authorRamiro Polla <ramiro.polla@gmail.com>
Sun, 7 Dec 2008 00:57:26 +0000 (00:57 +0000)
committerRamiro Polla <ramiro.polla@gmail.com>
Sun, 7 Dec 2008 00:57:26 +0000 (00:57 +0000)
Originally committed as revision 16026 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavcodec/mlp_parser.c
libavcodec/mlpdec.c

index 792f84e..925ed86 100644 (file)
@@ -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;
 
index 72f213c..8ce0983 100644 (file)
@@ -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++)