mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-01-29 22:00:58 +02:00
lavc/qsvenc_hevc: add qmax/qmin support for HEVC encoding
Add qmax/qmin support for HEVC software bitrate control(SWBRC). Limitations: - RateControlMethod != MFX_RATECONTROL_CQP - with EXTBRC ON Signed-off-by: Dmitry Rogozhkin <dmitry.v.rogozhkin@intel.com> Signed-off-by: Linjie Fu <linjie.fu@intel.com> Signed-off-by: Zhong Li <zhongli_dev@126.com>
This commit is contained in:
parent
04e06beb0a
commit
c2d000ec27
@ -735,6 +735,11 @@ FF_ENABLE_DEPRECATION_WARNINGS
|
||||
if (q->adaptive_b >= 0)
|
||||
q->extco2.AdaptiveB = q->adaptive_b ? MFX_CODINGOPTION_ON : MFX_CODINGOPTION_OFF;
|
||||
#endif
|
||||
}
|
||||
|
||||
if (avctx->codec_id == AV_CODEC_ID_H264 || avctx->codec_id == AV_CODEC_ID_HEVC) {
|
||||
if (q->extbrc >= 0)
|
||||
q->extco2.ExtBRC = q->extbrc ? MFX_CODINGOPTION_ON : MFX_CODINGOPTION_OFF;
|
||||
|
||||
#if QSV_VERSION_ATLEAST(1, 9)
|
||||
if (avctx->qmin >= 0 && avctx->qmax >= 0 && avctx->qmin > avctx->qmax) {
|
||||
@ -750,12 +755,6 @@ FF_ENABLE_DEPRECATION_WARNINGS
|
||||
q->extco2.MaxQPP = q->extco2.MaxQPB = q->extco2.MaxQPI;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
if (avctx->codec_id == AV_CODEC_ID_H264 || avctx->codec_id == AV_CODEC_ID_HEVC) {
|
||||
if (q->extbrc >= 0)
|
||||
q->extco2.ExtBRC = q->extbrc ? MFX_CODINGOPTION_ON : MFX_CODINGOPTION_OFF;
|
||||
|
||||
q->extco2.Header.BufferId = MFX_EXTBUFF_CODING_OPTION2;
|
||||
q->extco2.Header.BufferSz = sizeof(q->extco2);
|
||||
|
||||
|
@ -263,6 +263,8 @@ static const AVCodecDefault qsv_enc_defaults[] = {
|
||||
// same as the x264 default
|
||||
{ "g", "248" },
|
||||
{ "bf", "8" },
|
||||
{ "qmin", "-1" },
|
||||
{ "qmax", "-1" },
|
||||
{ "trellis", "-1" },
|
||||
{ "flags", "+cgop" },
|
||||
#if FF_API_PRIVATE_OPT
|
||||
|
Loading…
x
Reference in New Issue
Block a user