diff options
author | Rodeo <[email protected]> | 2013-09-24 23:49:44 +0000 |
---|---|---|
committer | Rodeo <[email protected]> | 2013-09-24 23:49:44 +0000 |
commit | d9897313ea70197e7c5fd8c247436839d013e087 (patch) | |
tree | e291608453349a959eb3962a269a4d7d1f13847a | |
parent | 12cceb5288f4f8179c5d18b3e97ba6eb01a01ffe (diff) |
QSV: miscellaneous option-related improvements.
All user-controlled settings except GOP-related ones now have an explicit default value (it's never "unknown").
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5812 b64f7644-9d1e-0410-96f1-a4d463321fa5
-rw-r--r-- | libhb/enc_qsv.c | 3 | ||||
-rw-r--r-- | libhb/qsv_common.c | 14 |
2 files changed, 11 insertions, 6 deletions
diff --git a/libhb/enc_qsv.c b/libhb/enc_qsv.c index 3b599e084..b04be1590 100644 --- a/libhb/enc_qsv.c +++ b/libhb/enc_qsv.c @@ -951,9 +951,10 @@ int encqsvInit(hb_work_object_t *w, hb_job_t *job) } switch (videoParam.mfx.FrameInfo.PicStruct) { + // quiet, most people don't care case MFX_PICSTRUCT_PROGRESSIVE: - hb_log("encqsvInit: PicStruct progressive"); break; + // interlaced encoding is intended for advanced users only, who do care case MFX_PICSTRUCT_FIELD_TFF: hb_log("encqsvInit: PicStruct top field first"); break; diff --git a/libhb/qsv_common.c b/libhb/qsv_common.c index 1683264dc..eade262d9 100644 --- a/libhb/qsv_common.c +++ b/libhb/qsv_common.c @@ -445,18 +445,22 @@ int hb_qsv_param_parse(hb_qsv_param_t *param, param->rc.vbv_max_bitrate = HB_QSV_CLIP3(0, UINT16_MAX, ivalue); } } - else if (!strcasecmp(key, "cabac")) + else if (!strcasecmp(key, "cavlc") || !strcasecmp(key, "cabac")) { switch (vcodec) { case HB_VCODEC_QSV_H264: - ivalue = !hb_qsv_atobool(value, &error); + ivalue = hb_qsv_atobool(value, &error); break; default: return HB_QSV_PARAM_UNSUPPORTED; } if (!error) { + if (!strcasecmp(key, "cabac")) + { + ivalue = !ivalue; + } param->codingOption.CAVLC = hb_qsv_codingoption_xlat(ivalue); } } @@ -577,7 +581,7 @@ int hb_qsv_param_parse(hb_qsv_param_t *param, { if (hb_qsv_info->capabilities & HB_QSV_CAP_OPTION2_MBBRC) { - ivalue = hb_qsv_atoi(value, &error); + ivalue = hb_qsv_atobool(value, &error); if (!error) { param->codingOption2.MBBRC = hb_qsv_codingoption_xlat(ivalue); @@ -592,7 +596,7 @@ int hb_qsv_param_parse(hb_qsv_param_t *param, { if (hb_qsv_info->capabilities & HB_QSV_CAP_OPTION2_EXTBRC) { - ivalue = hb_qsv_atoi(value, &error); + ivalue = hb_qsv_atobool(value, &error); if (!error) { param->codingOption2.ExtBRC = hb_qsv_codingoption_xlat(ivalue); @@ -785,7 +789,6 @@ int hb_qsv_param_default(hb_qsv_param_t *param, mfxVideoParam *videoParam) param->codingOption.MVPrecision = 0; // reserved, must be 0 param->codingOption.EndOfSequence = MFX_CODINGOPTION_UNKNOWN; param->codingOption.RateDistortionOpt = MFX_CODINGOPTION_UNKNOWN; - param->codingOption.CAVLC = MFX_CODINGOPTION_UNKNOWN; param->codingOption.ResetRefList = MFX_CODINGOPTION_UNKNOWN; param->codingOption.MaxDecFrameBuffering = 0; // unspecified param->codingOption.AUDelimiter = MFX_CODINGOPTION_OFF; @@ -793,6 +796,7 @@ int hb_qsv_param_default(hb_qsv_param_t *param, mfxVideoParam *videoParam) param->codingOption.PicTimingSEI = MFX_CODINGOPTION_OFF; param->codingOption.VuiNalHrdParameters = MFX_CODINGOPTION_UNKNOWN; param->codingOption.FramePicture = MFX_CODINGOPTION_UNKNOWN; + param->codingOption.CAVLC = MFX_CODINGOPTION_OFF; // introduced in API 1.3 param->codingOption.RefPicMarkRep = MFX_CODINGOPTION_UNKNOWN; param->codingOption.FieldOutput = MFX_CODINGOPTION_UNKNOWN; |