diff --git a/libavcodec/libdcadec.c b/libavcodec/libdcadec.c index 3ac4bcbe92..9ea61fa872 100644 --- a/libavcodec/libdcadec.c +++ b/libavcodec/libdcadec.c @@ -167,8 +167,13 @@ static av_cold int dcadec_close(AVCodecContext *avctx) static av_cold int dcadec_init(AVCodecContext *avctx) { DCADecContext *s = avctx->priv_data; + int flags = 0; - s->ctx = dcadec_context_create(0); + /* Affects only lossy DTS profiles. DTS-HD MA is always bitexact */ + if (avctx->flags & CODEC_FLAG_BITEXACT) + flags |= DCADEC_FLAG_CORE_BIT_EXACT; + + s->ctx = dcadec_context_create(flags); if (!s->ctx) return AVERROR(ENOMEM);