diff options
author | Tim Walker <tdskywalker@gmail.com> | 2014-04-12 22:11:52 +0200 |
---|---|---|
committer | Luca Barbato <lu_zero@gentoo.org> | 2014-04-12 23:05:07 +0200 |
commit | c8cf461c19e8e35df4b7364d9b90aa42f1ab4560 (patch) | |
tree | b21519ee7a162d93c182492f1c44406939f3e2ba | |
parent | e75ef2b7f48b96a9b6c8646058713899d5ea5731 (diff) | |
download | ffmpeg-c8cf461c19e8e35df4b7364d9b90aa42f1ab4560.tar.gz |
dcadec: Do not decode the XCh extension when downmixing to stereo
This is neither necessary nor currently supported.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
-rw-r--r-- | libavcodec/dcadec.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/libavcodec/dcadec.c b/libavcodec/dcadec.c index 92edce7e42..49d7aac532 100644 --- a/libavcodec/dcadec.c +++ b/libavcodec/dcadec.c @@ -1850,6 +1850,16 @@ static int dca_decode_frame(AVCodecContext *avctx, void *data, if (s->amode < 16) { avctx->channel_layout = dca_core_channel_layout[s->amode]; + if (s->prim_channels + !!s->lfe > 2 && + avctx->request_channel_layout == AV_CH_LAYOUT_STEREO) { + /* + * Neither the core's auxiliary data nor our default tables contain + * downmix coefficients for the additional channel coded in the XCh + * extension, so when we're doing a Stereo downmix, don't decode it. + */ + s->xch_disable = 1; + } + #if FF_API_REQUEST_CHANNELS FF_DISABLE_DEPRECATION_WARNINGS if (s->xch_present && !s->xch_disable && |