|
|
@@ -200,8 +200,7 @@ static av_cold int decode_init(AVCodecContext *avctx) |
|
|
|
avctx->sample_fmt = AV_SAMPLE_FMT_S16P; |
|
|
|
else if (s->bits_per_sample == 24) { |
|
|
|
avctx->sample_fmt = AV_SAMPLE_FMT_S32P; |
|
|
|
avpriv_report_missing_feature(avctx, "Bit-depth higher than 16"); |
|
|
|
return AVERROR_PATCHWELCOME; |
|
|
|
avctx->bits_per_raw_sample = 24; |
|
|
|
} else { |
|
|
|
av_log(avctx, AV_LOG_ERROR, "Unknown bit-depth: %"PRIu8"\n", |
|
|
|
s->bits_per_sample); |
|
|
@@ -997,7 +996,7 @@ static int decode_subframe(WmallDecodeCtx *s) |
|
|
|
if (s->bits_per_sample == 16) { |
|
|
|
*s->samples_16[c]++ = (int16_t) s->channel_residues[c][j] << padding_zeroes; |
|
|
|
} else { |
|
|
|
*s->samples_32[c]++ = s->channel_residues[c][j] << padding_zeroes; |
|
|
|
*s->samples_32[c]++ = s->channel_residues[c][j] << (padding_zeroes + 8); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|