From deefca02c275ce4bc5ccbee690463ffef81a18b8 Mon Sep 17 00:00:00 2001 From: Zhong Li Date: Thu, 15 Mar 2018 18:02:12 +0800 Subject: [PATCH] qsvenc: add the Access Unit Delimiter NAL Unit support Signed-off-by: Zhong Li Signed-off-by: Luca Barbato --- libavcodec/qsvenc.c | 1 + libavcodec/qsvenc.h | 2 ++ libavcodec/qsvenc_h264.c | 2 ++ 3 files changed, 5 insertions(+) diff --git a/libavcodec/qsvenc.c b/libavcodec/qsvenc.c index baa2c6307f..f6b1a0d676 100644 --- a/libavcodec/qsvenc.c +++ b/libavcodec/qsvenc.c @@ -600,6 +600,7 @@ FF_ENABLE_DEPRECATION_WARNINGS if (q->recovery_point_sei >= 0) q->extco.RecoveryPointSEI = q->recovery_point_sei ? MFX_CODINGOPTION_ON : MFX_CODINGOPTION_OFF; q->extco.MaxDecFrameBuffering = q->max_dec_frame_buffering; + q->extco.AUDelimiter = q->aud ? MFX_CODINGOPTION_ON : MFX_CODINGOPTION_OFF; } q->extparam_internal[q->nb_extparam_internal++] = (mfxExtBuffer *)&q->extco; diff --git a/libavcodec/qsvenc.h b/libavcodec/qsvenc.h index 31537b2663..ab55795950 100644 --- a/libavcodec/qsvenc.h +++ b/libavcodec/qsvenc.h @@ -137,6 +137,8 @@ typedef struct QSVEncContext { int max_frame_size; int max_slice_size; + int aud; + int single_sei_nal_unit; int max_dec_frame_buffering; int trellis; diff --git a/libavcodec/qsvenc_h264.c b/libavcodec/qsvenc_h264.c index 1552d7691d..634a7d3f91 100644 --- a/libavcodec/qsvenc_h264.c +++ b/libavcodec/qsvenc_h264.c @@ -91,6 +91,8 @@ static const AVOption options[] = { { "main" , NULL, 0, AV_OPT_TYPE_CONST, { .i64 = MFX_PROFILE_AVC_MAIN }, INT_MIN, INT_MAX, VE, "profile" }, { "high" , NULL, 0, AV_OPT_TYPE_CONST, { .i64 = MFX_PROFILE_AVC_HIGH }, INT_MIN, INT_MAX, VE, "profile" }, + { "aud", "Insert the Access Unit Delimiter NAL", OFFSET(qsv.aud), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, 1, VE}, + { NULL }, };