summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTomas Härdin <tomas.hardin@codemill.se>2011-09-27 11:14:59 +0200
committerJanne Grunau <janne-libav@jannau.net>2011-12-21 16:28:42 +0100
commit6547fd92647119c0ce526d4e0a2d3d4a7dcfd3bc (patch)
tree5fb9cbdcf7d3d5f1897ca612bd0652be50de8c54
parentadff77f28cebfce6eedad17a6ab046bfbc0b99f7 (diff)
downloadffmpeg-6547fd92647119c0ce526d4e0a2d3d4a7dcfd3bc.tar.gz
mxfdec: consider QuantizationBits between 17 and 24 to be pcm_s24*
This fixes playback of BRD38772509.mxf. Signed-off-by: Janne Grunau <janne-libav@jannau.net>
-rw-r--r--libavformat/mxfdec.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/libavformat/mxfdec.c b/libavformat/mxfdec.c
index 2a455d7d51..c4c3f59287 100644
--- a/libavformat/mxfdec.c
+++ b/libavformat/mxfdec.c
@@ -831,12 +831,12 @@ static int mxf_parse_structural_metadata(MXFContext *mxf)
st->codec->sample_rate = descriptor->sample_rate.num / descriptor->sample_rate.den;
/* TODO: implement CODEC_ID_RAWAUDIO */
if (st->codec->codec_id == CODEC_ID_PCM_S16LE) {
- if (descriptor->bits_per_sample == 24)
+ if (descriptor->bits_per_sample > 16 && descriptor->bits_per_sample <= 24)
st->codec->codec_id = CODEC_ID_PCM_S24LE;
else if (descriptor->bits_per_sample == 32)
st->codec->codec_id = CODEC_ID_PCM_S32LE;
} else if (st->codec->codec_id == CODEC_ID_PCM_S16BE) {
- if (descriptor->bits_per_sample == 24)
+ if (descriptor->bits_per_sample > 16 && descriptor->bits_per_sample <= 24)
st->codec->codec_id = CODEC_ID_PCM_S24BE;
else if (descriptor->bits_per_sample == 32)
st->codec->codec_id = CODEC_ID_PCM_S32BE;