+#define VAAPI_ENCODE_RC_MODE(name, desc) \
+ { #name, desc, 0, AV_OPT_TYPE_CONST, { .i64 = RC_MODE_ ## name }, \
+ 0, 0, FLAGS, "rc_mode" }
+#define VAAPI_ENCODE_RC_OPTIONS \
+ { "rc_mode",\
+ "Set rate control mode", \
+ OFFSET(common.explicit_rc_mode), AV_OPT_TYPE_INT, \
+ { .i64 = RC_MODE_AUTO }, RC_MODE_AUTO, RC_MODE_MAX, FLAGS, "rc_mode" }, \
+ { "auto", "Choose mode automatically based on other parameters", \
+ 0, AV_OPT_TYPE_CONST, { .i64 = RC_MODE_AUTO }, 0, 0, FLAGS, "rc_mode" }, \
+ VAAPI_ENCODE_RC_MODE(CQP, "Constant-quality"), \
+ VAAPI_ENCODE_RC_MODE(CBR, "Constant-bitrate"), \
+ VAAPI_ENCODE_RC_MODE(VBR, "Variable-bitrate"), \
+ VAAPI_ENCODE_RC_MODE(ICQ, "Intelligent constant-quality"), \
+ VAAPI_ENCODE_RC_MODE(QVBR, "Quality-defined variable-bitrate"), \
+ VAAPI_ENCODE_RC_MODE(AVBR, "Average variable-bitrate")
+