avcodec/qsvenc: clip global_quality for ICQ modes.

Allowed range is 1 to 51.

Ref: https://software.intel.com/content/www/us/en/develop/articles/advanced-bitrate-control-methods-in-intel-media-sdk.html
pull/359/head
Gyan Doshi 4 years ago
parent 6f9570a633
commit 1aa9dcd091
  1. 3
      doc/encoders.texi
  2. 2
      libavcodec/qsvenc.c

@ -3119,7 +3119,8 @@ also set (the @option{-qscale} ffmpeg option).
@option{look_ahead} option is also set. @option{look_ahead} option is also set.
@item @item
@var{ICQ} -- intelligent constant quality otherwise. @var{ICQ} -- intelligent constant quality otherwise. For the ICQ modes, global
quality range is 1 to 51, with 1 being the best quality.
@end itemize @end itemize
@item @item

@ -650,7 +650,7 @@ static int init_video_param(AVCodecContext *avctx, QSVEncContext *q)
case MFX_RATECONTROL_LA_ICQ: case MFX_RATECONTROL_LA_ICQ:
q->extco2.LookAheadDepth = q->look_ahead_depth; q->extco2.LookAheadDepth = q->look_ahead_depth;
case MFX_RATECONTROL_ICQ: case MFX_RATECONTROL_ICQ:
q->param.mfx.ICQQuality = avctx->global_quality; q->param.mfx.ICQQuality = av_clip(avctx->global_quality, 1, 51);
break; break;
#endif #endif
#endif #endif

Loading…
Cancel
Save