mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2026-08-09 17:39:08 +00:00
avcodec/nvenc: remove old and long deprecated rc modes
This commit is contained in:
committed by
James Almer
parent
6495133363
commit
dcf339c413
@@ -48,13 +48,7 @@
|
||||
|
||||
#define NVENC_CAP 0x30
|
||||
|
||||
#ifndef NVENC_NO_DEPRECATED_RC
|
||||
#define IS_CBR(rc) (rc == NV_ENC_PARAMS_RC_CBR || \
|
||||
rc == NV_ENC_PARAMS_RC_CBR_LOWDELAY_HQ || \
|
||||
rc == NV_ENC_PARAMS_RC_CBR_HQ)
|
||||
#else
|
||||
#define IS_CBR(rc) (rc == NV_ENC_PARAMS_RC_CBR)
|
||||
#endif
|
||||
|
||||
const enum AVPixelFormat ff_nvenc_pix_fmts[] = {
|
||||
AV_PIX_FMT_YUV420P,
|
||||
@@ -951,26 +945,10 @@ static void nvenc_override_rate_control(AVCodecContext *avctx)
|
||||
case NV_ENC_PARAMS_RC_CONSTQP:
|
||||
set_constqp(avctx);
|
||||
return;
|
||||
#ifndef NVENC_NO_DEPRECATED_RC
|
||||
case NV_ENC_PARAMS_RC_VBR_MINQP:
|
||||
if (avctx->qmin < 0 && ctx->qmin < 0) {
|
||||
av_log(avctx, AV_LOG_WARNING,
|
||||
"The variable bitrate rate-control requires "
|
||||
"the 'qmin' option set.\n");
|
||||
set_vbr(avctx);
|
||||
return;
|
||||
}
|
||||
/* fall through */
|
||||
case NV_ENC_PARAMS_RC_VBR_HQ:
|
||||
#endif
|
||||
case NV_ENC_PARAMS_RC_VBR:
|
||||
set_vbr(avctx);
|
||||
break;
|
||||
case NV_ENC_PARAMS_RC_CBR:
|
||||
#ifndef NVENC_NO_DEPRECATED_RC
|
||||
case NV_ENC_PARAMS_RC_CBR_HQ:
|
||||
case NV_ENC_PARAMS_RC_CBR_LOWDELAY_HQ:
|
||||
#endif
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -1056,13 +1034,6 @@ static av_cold int nvenc_setup_rate_control(AVCodecContext *avctx)
|
||||
}
|
||||
}
|
||||
|
||||
if (ctx->rc >= 0 && ctx->rc & RC_MODE_DEPRECATED) {
|
||||
av_log(avctx, AV_LOG_WARNING, "Specified rc mode is deprecated.\n");
|
||||
av_log(avctx, AV_LOG_WARNING, "Use -rc constqp/cbr/vbr, -tune and -multipass instead.\n");
|
||||
|
||||
ctx->rc &= ~RC_MODE_DEPRECATED;
|
||||
}
|
||||
|
||||
ctx->encode_config.rcParams.cbQPIndexOffset = ctx->qp_cb_offset;
|
||||
ctx->encode_config.rcParams.crQPIndexOffset = ctx->qp_cr_offset;
|
||||
|
||||
@@ -1242,15 +1213,6 @@ static av_cold int nvenc_setup_h264_config(AVCodecContext *avctx)
|
||||
|
||||
h264->outputPictureTimingSEI = 1;
|
||||
|
||||
#ifndef NVENC_NO_DEPRECATED_RC
|
||||
if (cc->rcParams.rateControlMode == NV_ENC_PARAMS_RC_CBR_LOWDELAY_HQ ||
|
||||
cc->rcParams.rateControlMode == NV_ENC_PARAMS_RC_CBR_HQ ||
|
||||
cc->rcParams.rateControlMode == NV_ENC_PARAMS_RC_VBR_HQ) {
|
||||
h264->adaptiveTransformMode = NV_ENC_H264_ADAPTIVE_TRANSFORM_ENABLE;
|
||||
h264->fmoMode = NV_ENC_H264_FMO_DISABLE;
|
||||
}
|
||||
#endif
|
||||
|
||||
if (ctx->flags & NVENC_LOSSLESS) {
|
||||
h264->qpPrimeYZeroTransformBypassFlag = 1;
|
||||
} else {
|
||||
|
||||
@@ -39,8 +39,6 @@ typedef void ID3D11Device;
|
||||
#include "avcodec.h"
|
||||
|
||||
#define MAX_REGISTERED_FRAMES 64
|
||||
#define RC_MODE_DEPRECATED 0x800000
|
||||
#define RCD(rc_mode) ((rc_mode) | RC_MODE_DEPRECATED)
|
||||
|
||||
#define NVENCAPI_CHECK_VERSION(major, minor) \
|
||||
((major) < NVENCAPI_MAJOR_VERSION || ((major) == NVENCAPI_MAJOR_VERSION && (minor) <= NVENCAPI_MINOR_VERSION))
|
||||
@@ -52,7 +50,6 @@ typedef void ID3D11Device;
|
||||
|
||||
// SDK 12.1 compile time feature checks
|
||||
#if NVENCAPI_CHECK_VERSION(12, 1)
|
||||
#define NVENC_NO_DEPRECATED_RC
|
||||
#define NVENC_HAVE_SPLIT_FRAME_ENCODING
|
||||
#endif
|
||||
|
||||
|
||||
@@ -94,27 +94,6 @@ static const AVOption options[] = {
|
||||
{ "constqp", "Constant QP mode", 0, AV_OPT_TYPE_CONST, { .i64 = NV_ENC_PARAMS_RC_CONSTQP }, 0, 0, VE, .unit = "rc" },
|
||||
{ "vbr", "Variable bitrate mode", 0, AV_OPT_TYPE_CONST, { .i64 = NV_ENC_PARAMS_RC_VBR }, 0, 0, VE, .unit = "rc" },
|
||||
{ "cbr", "Constant bitrate mode", 0, AV_OPT_TYPE_CONST, { .i64 = NV_ENC_PARAMS_RC_CBR }, 0, 0, VE, .unit = "rc" },
|
||||
#ifndef NVENC_NO_DEPRECATED_RC
|
||||
{ "vbr_minqp", "Variable bitrate mode with MinQP (deprecated)", 0, AV_OPT_TYPE_CONST, { .i64 = RCD(NV_ENC_PARAMS_RC_VBR_MINQP) }, 0, 0, VE, .unit = "rc" },
|
||||
{ "ll_2pass_quality", "Multi-pass optimized for image quality (deprecated)",
|
||||
0, AV_OPT_TYPE_CONST, { .i64 = RCD(NV_ENC_PARAMS_RC_2_PASS_QUALITY) }, 0, 0, VE, .unit = "rc" },
|
||||
{ "ll_2pass_size", "Multi-pass optimized for constant frame size (deprecated)",
|
||||
0, AV_OPT_TYPE_CONST, { .i64 = RCD(NV_ENC_PARAMS_RC_2_PASS_FRAMESIZE_CAP) }, 0, 0, VE, .unit = "rc" },
|
||||
{ "vbr_2pass", "Multi-pass variable bitrate mode (deprecated)", 0, AV_OPT_TYPE_CONST, { .i64 = RCD(NV_ENC_PARAMS_RC_2_PASS_VBR) }, 0, 0, VE, .unit = "rc" },
|
||||
{ "cbr_ld_hq", "Constant bitrate low delay high quality mode", 0, AV_OPT_TYPE_CONST, { .i64 = RCD(NV_ENC_PARAMS_RC_CBR_LOWDELAY_HQ) }, 0, 0, VE, .unit = "rc" },
|
||||
{ "cbr_hq", "Constant bitrate high quality mode", 0, AV_OPT_TYPE_CONST, { .i64 = RCD(NV_ENC_PARAMS_RC_CBR_HQ) }, 0, 0, VE, .unit = "rc" },
|
||||
{ "vbr_hq", "Variable bitrate high quality mode", 0, AV_OPT_TYPE_CONST, { .i64 = RCD(NV_ENC_PARAMS_RC_VBR_HQ) }, 0, 0, VE, .unit = "rc" },
|
||||
#else
|
||||
{ "vbr_minqp", "Variable bitrate mode with MinQP (deprecated)", 0, AV_OPT_TYPE_CONST, { .i64 = RCD(NV_ENC_PARAMS_RC_VBR) }, 0, 0, VE, .unit = "rc" },
|
||||
{ "ll_2pass_quality", "Multi-pass optimized for image quality (deprecated)",
|
||||
0, AV_OPT_TYPE_CONST, { .i64 = RCD(NV_ENC_PARAMS_RC_VBR) }, 0, 0, VE, .unit = "rc" },
|
||||
{ "ll_2pass_size", "Multi-pass optimized for constant frame size (deprecated)",
|
||||
0, AV_OPT_TYPE_CONST, { .i64 = RCD(NV_ENC_PARAMS_RC_CBR) }, 0, 0, VE, .unit = "rc" },
|
||||
{ "vbr_2pass", "Multi-pass variable bitrate mode (deprecated)", 0, AV_OPT_TYPE_CONST, { .i64 = RCD(NV_ENC_PARAMS_RC_VBR) }, 0, 0, VE, .unit = "rc" },
|
||||
{ "cbr_ld_hq", "Constant bitrate low delay high quality mode", 0, AV_OPT_TYPE_CONST, { .i64 = RCD(NV_ENC_PARAMS_RC_CBR) }, 0, 0, VE, .unit = "rc" },
|
||||
{ "cbr_hq", "Constant bitrate high quality mode", 0, AV_OPT_TYPE_CONST, { .i64 = RCD(NV_ENC_PARAMS_RC_CBR) }, 0, 0, VE, .unit = "rc" },
|
||||
{ "vbr_hq", "Variable bitrate high quality mode", 0, AV_OPT_TYPE_CONST, { .i64 = RCD(NV_ENC_PARAMS_RC_VBR) }, 0, 0, VE, .unit = "rc" },
|
||||
#endif
|
||||
{ "rc-lookahead", "Number of frames to look ahead for rate-control",
|
||||
OFFSET(rc_lookahead), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, INT_MAX, VE },
|
||||
{ "surfaces", "Number of concurrent surfaces", OFFSET(nb_surfaces), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, MAX_REGISTERED_FRAMES, VE },
|
||||
|
||||
@@ -89,27 +89,6 @@ static const AVOption options[] = {
|
||||
{ "constqp", "Constant QP mode", 0, AV_OPT_TYPE_CONST, { .i64 = NV_ENC_PARAMS_RC_CONSTQP }, 0, 0, VE, .unit = "rc" },
|
||||
{ "vbr", "Variable bitrate mode", 0, AV_OPT_TYPE_CONST, { .i64 = NV_ENC_PARAMS_RC_VBR }, 0, 0, VE, .unit = "rc" },
|
||||
{ "cbr", "Constant bitrate mode", 0, AV_OPT_TYPE_CONST, { .i64 = NV_ENC_PARAMS_RC_CBR }, 0, 0, VE, .unit = "rc" },
|
||||
#ifndef NVENC_NO_DEPRECATED_RC
|
||||
{ "vbr_minqp", "Variable bitrate mode with MinQP (deprecated)", 0, AV_OPT_TYPE_CONST, { .i64 = RCD(NV_ENC_PARAMS_RC_VBR_MINQP) }, 0, 0, VE, .unit = "rc" },
|
||||
{ "ll_2pass_quality", "Multi-pass optimized for image quality (deprecated)",
|
||||
0, AV_OPT_TYPE_CONST, { .i64 = RCD(NV_ENC_PARAMS_RC_2_PASS_QUALITY) }, 0, 0, VE, .unit = "rc" },
|
||||
{ "ll_2pass_size", "Multi-pass optimized for constant frame size (deprecated)",
|
||||
0, AV_OPT_TYPE_CONST, { .i64 = RCD(NV_ENC_PARAMS_RC_2_PASS_FRAMESIZE_CAP) }, 0, 0, VE, .unit = "rc" },
|
||||
{ "vbr_2pass", "Multi-pass variable bitrate mode (deprecated)", 0, AV_OPT_TYPE_CONST, { .i64 = RCD(NV_ENC_PARAMS_RC_2_PASS_VBR) }, 0, 0, VE, .unit = "rc" },
|
||||
{ "cbr_ld_hq", "Constant bitrate low delay high quality mode", 0, AV_OPT_TYPE_CONST, { .i64 = RCD(NV_ENC_PARAMS_RC_CBR_LOWDELAY_HQ) }, 0, 0, VE, .unit = "rc" },
|
||||
{ "cbr_hq", "Constant bitrate high quality mode", 0, AV_OPT_TYPE_CONST, { .i64 = RCD(NV_ENC_PARAMS_RC_CBR_HQ) }, 0, 0, VE, .unit = "rc" },
|
||||
{ "vbr_hq", "Variable bitrate high quality mode", 0, AV_OPT_TYPE_CONST, { .i64 = RCD(NV_ENC_PARAMS_RC_VBR_HQ) }, 0, 0, VE, .unit = "rc" },
|
||||
#else
|
||||
{ "vbr_minqp", "Variable bitrate mode with MinQP (deprecated)", 0, AV_OPT_TYPE_CONST, { .i64 = RCD(NV_ENC_PARAMS_RC_VBR) }, 0, 0, VE, .unit = "rc" },
|
||||
{ "ll_2pass_quality", "Multi-pass optimized for image quality (deprecated)",
|
||||
0, AV_OPT_TYPE_CONST, { .i64 = RCD(NV_ENC_PARAMS_RC_VBR) }, 0, 0, VE, .unit = "rc" },
|
||||
{ "ll_2pass_size", "Multi-pass optimized for constant frame size (deprecated)",
|
||||
0, AV_OPT_TYPE_CONST, { .i64 = RCD(NV_ENC_PARAMS_RC_CBR) }, 0, 0, VE, .unit = "rc" },
|
||||
{ "vbr_2pass", "Multi-pass variable bitrate mode (deprecated)", 0, AV_OPT_TYPE_CONST, { .i64 = RCD(NV_ENC_PARAMS_RC_VBR) }, 0, 0, VE, .unit = "rc" },
|
||||
{ "cbr_ld_hq", "Constant bitrate low delay high quality mode", 0, AV_OPT_TYPE_CONST, { .i64 = RCD(NV_ENC_PARAMS_RC_CBR) }, 0, 0, VE, .unit = "rc" },
|
||||
{ "cbr_hq", "Constant bitrate high quality mode", 0, AV_OPT_TYPE_CONST, { .i64 = RCD(NV_ENC_PARAMS_RC_CBR) }, 0, 0, VE, .unit = "rc" },
|
||||
{ "vbr_hq", "Variable bitrate high quality mode", 0, AV_OPT_TYPE_CONST, { .i64 = RCD(NV_ENC_PARAMS_RC_VBR) }, 0, 0, VE, .unit = "rc" },
|
||||
#endif
|
||||
{ "rc-lookahead", "Number of frames to look ahead for rate-control",
|
||||
OFFSET(rc_lookahead), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, INT_MAX, VE },
|
||||
{ "surfaces", "Number of concurrent surfaces", OFFSET(nb_surfaces), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, MAX_REGISTERED_FRAMES, VE },
|
||||
|
||||
Reference in New Issue
Block a user