mirror of
https://github.com/obsproject/obs-studio.git
synced 2026-01-26 23:29:23 -05:00
obs-qsv11: Add all TargetUsage values
Using terminology from FFmpeg reference, implement: https://www.intel.com/content/dam/www/public/us/en/documents/white-papers/cloud-computing-quicksync-video-ffmpeg-white-paper.pdf
This commit is contained in:
@@ -74,7 +74,16 @@ static const struct qsv_rate_control_info qsv_ratecontrols[] = {
|
|||||||
{"AVBR", false}, {"ICQ", true}, {"LA_ICQ", true}, {"LA_CBR", true},
|
{"AVBR", false}, {"ICQ", true}, {"LA_ICQ", true}, {"LA_CBR", true},
|
||||||
{"LA_VBR", true}, {0, false}};
|
{"LA_VBR", true}, {0, false}};
|
||||||
static const char *const qsv_profile_names[] = {"high", "main", "baseline", 0};
|
static const char *const qsv_profile_names[] = {"high", "main", "baseline", 0};
|
||||||
static const char *const qsv_usage_names[] = {"quality", "balanced", "speed",
|
static const char *const qsv_usage_names[] = {"quality",
|
||||||
|
"balanced",
|
||||||
|
"speed",
|
||||||
|
"veryslow",
|
||||||
|
"slower",
|
||||||
|
"slow",
|
||||||
|
"medium",
|
||||||
|
"fast",
|
||||||
|
"faster"
|
||||||
|
"veryfast",
|
||||||
0};
|
0};
|
||||||
|
|
||||||
typedef struct qsv_t qsv_t;
|
typedef struct qsv_t qsv_t;
|
||||||
|
|||||||
@@ -359,6 +359,20 @@ static void update_params(struct obs_qsv *obsqsv, obs_data_t *settings)
|
|||||||
obsqsv->params.nTargetUsage = MFX_TARGETUSAGE_BALANCED;
|
obsqsv->params.nTargetUsage = MFX_TARGETUSAGE_BALANCED;
|
||||||
else if (astrcmpi(target_usage, "speed") == 0)
|
else if (astrcmpi(target_usage, "speed") == 0)
|
||||||
obsqsv->params.nTargetUsage = MFX_TARGETUSAGE_BEST_SPEED;
|
obsqsv->params.nTargetUsage = MFX_TARGETUSAGE_BEST_SPEED;
|
||||||
|
else if (astrcmpi(target_usage, "veryslow") == 0)
|
||||||
|
obsqsv->params.nTargetUsage = MFX_TARGETUSAGE_1;
|
||||||
|
else if (astrcmpi(target_usage, "slower") == 0)
|
||||||
|
obsqsv->params.nTargetUsage = MFX_TARGETUSAGE_2;
|
||||||
|
else if (astrcmpi(target_usage, "slow") == 0)
|
||||||
|
obsqsv->params.nTargetUsage = MFX_TARGETUSAGE_3;
|
||||||
|
else if (astrcmpi(target_usage, "medium") == 0)
|
||||||
|
obsqsv->params.nTargetUsage = MFX_TARGETUSAGE_4;
|
||||||
|
else if (astrcmpi(target_usage, "fast") == 0)
|
||||||
|
obsqsv->params.nTargetUsage = MFX_TARGETUSAGE_5;
|
||||||
|
else if (astrcmpi(target_usage, "faster") == 0)
|
||||||
|
obsqsv->params.nTargetUsage = MFX_TARGETUSAGE_6;
|
||||||
|
else if (astrcmpi(target_usage, "veryfast") == 0)
|
||||||
|
obsqsv->params.nTargetUsage = MFX_TARGETUSAGE_7;
|
||||||
|
|
||||||
if (astrcmpi(profile, "baseline") == 0)
|
if (astrcmpi(profile, "baseline") == 0)
|
||||||
obsqsv->params.nCodecProfile = MFX_PROFILE_AVC_BASELINE;
|
obsqsv->params.nCodecProfile = MFX_PROFILE_AVC_BASELINE;
|
||||||
|
|||||||
Reference in New Issue
Block a user