[FFmpeg-devel] [PATCH v2 06/11] vaapi_encode_vp9: Enable support for more RC modes
Mark Thompson
sw at jkqxz.net
Sun Feb 10 20:13:29 EET 2019
On 05/02/2019 13:25, Carl Eugen Hoyos wrote:
> 2019-01-28 0:47 GMT+01:00, Mark Thompson <sw at jkqxz.net>:
>> ---
>> libavcodec/vaapi_encode_vp9.c | 41 +++++++++++++++++++++--------------
>> 1 file changed, 25 insertions(+), 16 deletions(-)
>>
>> diff --git a/libavcodec/vaapi_encode_vp9.c b/libavcodec/vaapi_encode_vp9.c
>> index 97142dcc49..f89fd0d07a 100644
>> --- a/libavcodec/vaapi_encode_vp9.c
>> +++ b/libavcodec/vaapi_encode_vp9.c
>> @@ -178,23 +178,29 @@ static int
>> vaapi_encode_vp9_init_picture_params(AVCodecContext *avctx,
>>
>> static av_cold int vaapi_encode_vp9_configure(AVCodecContext *avctx)
>> {
>> + VAAPIEncodeContext *ctx = avctx->priv_data;
>> VAAPIEncodeVP9Context *priv = avctx->priv_data;
>>
>> - priv->q_idx_p = av_clip(avctx->global_quality, 0, VP9_MAX_QUANT);
>> - if (avctx->i_quant_factor > 0.0)
>> - priv->q_idx_idr = av_clip((avctx->global_quality *
>> - avctx->i_quant_factor +
>> - avctx->i_quant_offset) + 0.5,
>> - 0, VP9_MAX_QUANT);
>> - else
>> - priv->q_idx_idr = priv->q_idx_p;
>> - if (avctx->b_quant_factor > 0.0)
>> - priv->q_idx_b = av_clip((avctx->global_quality *
>> - avctx->b_quant_factor +
>> - avctx->b_quant_offset) + 0.5,
>> - 0, VP9_MAX_QUANT);
>> - else
>> - priv->q_idx_b = priv->q_idx_p;
>> + if (ctx->rc_mode->quality) {
>> + priv->q_idx_p = av_clip(ctx->rc_quality, 0, VP9_MAX_QUANT);
>> + if (avctx->i_quant_factor > 0.0)
>> + priv->q_idx_idr =
>> + av_clip((avctx->i_quant_factor * priv->q_idx_p +
>> + avctx->i_quant_offset) + 0.5,
>> + 0, VP9_MAX_QUANT);
>> + else
>> + priv->q_idx_idr = priv->q_idx_p;
>> + if (avctx->b_quant_factor > 0.0)
>> + priv->q_idx_b =
>> + av_clip((avctx->b_quant_factor * priv->q_idx_p +
>> + avctx->b_quant_offset) + 0.5,
>> + 0, VP9_MAX_QUANT);
>> + else
>> + priv->q_idx_b = priv->q_idx_p;
>
> I will not work on this code, so I shouldn't care but this
> is an exceptional example for an unreadable patch.
Yeah, that's probably fair. I've split this into functional and cosmetic parts in a new version.
Thanks,
- Mark
More information about the ffmpeg-devel
mailing list