summaryrefslogtreecommitdiff
path: root/libavformat/mxfdec.c
diff options
context:
space:
mode:
authorTomas Härdin <tomas.hardin@codemill.se>2011-09-27 11:14:59 +0200
committerMichael Niedermayer <michaelni@gmx.at>2011-09-27 15:15:54 +0200
commit3e48dceac0311d8fb408077e0ba48aaf917a360e (patch)
tree224585cf7530bf9fcce552160d4be94d5d388888 /libavformat/mxfdec.c
parent254af56dd101bc756194dd080bb99e8f123500dd (diff)
mxfdec: Consider QuantizationBits between 17 and 24 to be pcm_s24*
This fixes playback of BRD38772509.mxf Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavformat/mxfdec.c')
-rw-r--r--libavformat/mxfdec.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/libavformat/mxfdec.c b/libavformat/mxfdec.c
index 9adeb1feee..92d93f3b37 100644
--- a/libavformat/mxfdec.c
+++ b/libavformat/mxfdec.c
@@ -916,12 +916,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;