summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libavcodec/libdcadec.c7
1 files changed, 6 insertions, 1 deletions
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);