From 1841eda6796671cc761e446bbca0f73d629ade4e Mon Sep 17 00:00:00 2001 From: Miroslav Slugen Date: Fri, 30 Dec 2016 22:02:42 +0100 Subject: [PATCH] avcodec/nvenc: Make AUD optional for h264_nvenc and hevc_nvenc Signed-off-by: Timo Rothenpieler --- libavcodec/nvenc.c | 4 ++-- libavcodec/nvenc.h | 1 + libavcodec/nvenc_h264.c | 1 + libavcodec/nvenc_hevc.c | 1 + 4 files changed, 5 insertions(+), 2 deletions(-) diff --git a/libavcodec/nvenc.c b/libavcodec/nvenc.c index 3fd8482a5c..93979f3dd9 100644 --- a/libavcodec/nvenc.c +++ b/libavcodec/nvenc.c @@ -756,7 +756,7 @@ static av_cold int nvenc_setup_h264_config(AVCodecContext *avctx) h264->disableSPSPPS = (avctx->flags & AV_CODEC_FLAG_GLOBAL_HEADER) ? 1 : 0; h264->repeatSPSPPS = (avctx->flags & AV_CODEC_FLAG_GLOBAL_HEADER) ? 0 : 1; - h264->outputAUD = 1; + h264->outputAUD = ctx->aud; if (avctx->refs >= 0) { /* 0 means "let the hardware decide" */ @@ -840,7 +840,7 @@ static av_cold int nvenc_setup_hevc_config(AVCodecContext *avctx) hevc->disableSPSPPS = (avctx->flags & AV_CODEC_FLAG_GLOBAL_HEADER) ? 1 : 0; hevc->repeatSPSPPS = (avctx->flags & AV_CODEC_FLAG_GLOBAL_HEADER) ? 0 : 1; - hevc->outputAUD = 1; + hevc->outputAUD = ctx->aud; if (avctx->refs >= 0) { /* 0 means "let the hardware decide" */ diff --git a/libavcodec/nvenc.h b/libavcodec/nvenc.h index 5bc0cba84c..c435e057b9 100644 --- a/libavcodec/nvenc.h +++ b/libavcodec/nvenc.h @@ -153,6 +153,7 @@ typedef struct NvencContext int strict_gop; int aq_strength; int quality; + int aud; } NvencContext; int ff_nvenc_encode_init(AVCodecContext *avctx); diff --git a/libavcodec/nvenc_h264.c b/libavcodec/nvenc_h264.c index 71e27fd110..cae27aaf58 100644 --- a/libavcodec/nvenc_h264.c +++ b/libavcodec/nvenc_h264.c @@ -107,6 +107,7 @@ static const AVOption options[] = { OFFSET(aq_strength), AV_OPT_TYPE_INT, { .i64 = 8 }, 1, 15, VE }, { "cq", "Set target quality level (0 to 51, 0 means automatic) for constant quality mode in VBR rate control", OFFSET(quality), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, 51, VE }, + { "aud", "Use access unit delimiters", OFFSET(aud), AV_OPT_TYPE_BOOL, { .i64 = 0 }, 0, 1, VE }, { NULL } }; diff --git a/libavcodec/nvenc_hevc.c b/libavcodec/nvenc_hevc.c index ef739b636e..e44ca7e8ea 100644 --- a/libavcodec/nvenc_hevc.c +++ b/libavcodec/nvenc_hevc.c @@ -104,6 +104,7 @@ static const AVOption options[] = { OFFSET(aq_strength), AV_OPT_TYPE_INT, { .i64 = 8 }, 1, 15, VE }, { "cq", "Set target quality level (0 to 51, 0 means automatic) for constant quality mode in VBR rate control", OFFSET(quality), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, 51, VE }, + { "aud", "Use access unit delimiters", OFFSET(aud), AV_OPT_TYPE_BOOL, { .i64 = 0 }, 0, 1, VE }, { NULL } };