lavc/qsvenc: add encode support for screen content coding extension

Enables HEVC Screen Content Coding extension support on ICL+ platform

Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
This commit is contained in:
Haihao Xiang 2020-09-28 14:14:42 +08:00
parent a17c990265
commit c4ae6908f2
3 changed files with 9 additions and 0 deletions

View file

@ -3411,12 +3411,15 @@ an internal session.
Depth of look ahead in number frames, available when extbrc option is enabled. Depth of look ahead in number frames, available when extbrc option is enabled.
@item @var{profile} @item @var{profile}
Set the encoding profile (scc requires libmfx >= 1.32).
@table @samp @table @samp
@item unknown @item unknown
@item main @item main
@item main10 @item main10
@item mainsp @item mainsp
@item rext @item rext
@item scc
@end table @end table
@item @var{gpb} @item @var{gpb}

View file

@ -74,6 +74,9 @@ static const struct profile_names hevc_profiles[] = {
{ MFX_PROFILE_HEVC_MAINSP, "hevc mainsp" }, { MFX_PROFILE_HEVC_MAINSP, "hevc mainsp" },
{ MFX_PROFILE_HEVC_REXT, "hevc rext" }, { MFX_PROFILE_HEVC_REXT, "hevc rext" },
#endif #endif
#if QSV_VERSION_ATLEAST(1, 32)
{ MFX_PROFILE_HEVC_SCC, "hevc scc" },
#endif
}; };
static const struct profile_names vp9_profiles[] = { static const struct profile_names vp9_profiles[] = {

View file

@ -244,6 +244,9 @@ static const AVOption options[] = {
{ "main10", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = MFX_PROFILE_HEVC_MAIN10 }, INT_MIN, INT_MAX, VE, "profile" }, { "main10", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = MFX_PROFILE_HEVC_MAIN10 }, INT_MIN, INT_MAX, VE, "profile" },
{ "mainsp", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = MFX_PROFILE_HEVC_MAINSP }, INT_MIN, INT_MAX, VE, "profile" }, { "mainsp", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = MFX_PROFILE_HEVC_MAINSP }, INT_MIN, INT_MAX, VE, "profile" },
{ "rext", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = MFX_PROFILE_HEVC_REXT }, INT_MIN, INT_MAX, VE, "profile" }, { "rext", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = MFX_PROFILE_HEVC_REXT }, INT_MIN, INT_MAX, VE, "profile" },
#if QSV_VERSION_ATLEAST(1, 32)
{ "scc", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = MFX_PROFILE_HEVC_SCC }, INT_MIN, INT_MAX, VE, "profile" },
#endif
{ "gpb", "1: GPB (generalized P/B frame); 0: regular P frame", OFFSET(qsv.gpb), AV_OPT_TYPE_BOOL, { .i64 = 1 }, 0, 1, VE}, { "gpb", "1: GPB (generalized P/B frame); 0: regular P frame", OFFSET(qsv.gpb), AV_OPT_TYPE_BOOL, { .i64 = 1 }, 0, 1, VE},