[FFmpeg-devel] [PATCH] avcodec/libwebpenc: add quality option

Clément Bœsch u at pkh.me
Mon Nov 3 17:11:16 CET 2014


On Sat, Nov 01, 2014 at 08:44:30PM +0100, Michael Niedermayer wrote:
> previously quality could only be set through qscale/global_quality but the scale
> was inverted. Using a separate option avoids the confusion from qscale working
> backward.
> 
> Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
> ---
>  libavcodec/libwebpenc.c |    8 ++++----
>  libavcodec/version.h    |    2 +-
>  2 files changed, 5 insertions(+), 5 deletions(-)
> 
> diff --git a/libavcodec/libwebpenc.c b/libavcodec/libwebpenc.c
> index c4c880f..95d56ac 100644
> --- a/libavcodec/libwebpenc.c
> +++ b/libavcodec/libwebpenc.c
> @@ -65,10 +65,9 @@ static av_cold int libwebp_encode_init(AVCodecContext *avctx)
>      LibWebPContext *s = avctx->priv_data;
>      int ret;
>  
> -    if (avctx->global_quality < 0)
> -        avctx->global_quality = 75 * FF_QP2LAMBDA;
> -    s->quality = av_clipf(avctx->global_quality / (float)FF_QP2LAMBDA,
> -                          0.0f, 100.0f);
> +    if (avctx->global_quality >= 0)
> +        s->quality = av_clipf(avctx->global_quality / (float)FF_QP2LAMBDA,
> +                              0.0f, 100.0f);
>  
>      if (avctx->compression_level < 0 || avctx->compression_level > 6) {
>          av_log(avctx, AV_LOG_WARNING, "invalid compression level: %d\n",
> @@ -327,6 +326,7 @@ static const AVOption options[] = {
>      { "text",       "text-like",                                        0, AV_OPT_TYPE_CONST, { .i64 = WEBP_PRESET_TEXT    }, 0, 0, VE, "preset" },
>      { "cr_threshold","Conditional replenishment threshold",     OFFSET(cr_threshold), AV_OPT_TYPE_INT, { .i64 =  0  },  0, INT_MAX, VE           },
>      { "cr_size"     ,"Conditional replenishment block size",    OFFSET(cr_size)     , AV_OPT_TYPE_INT, { .i64 =  16 },  0, 256,     VE           },
> +    { "quality"     ,"Quality",                OFFSET(quality),  AV_OPT_TYPE_FLOAT, { .dbl =  75 }, 0, 100,                         VE           },

Can't we use "vpx_quality" or something? it sounds like a very generic
option name...

[...]

-- 
Clément B.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 473 bytes
Desc: not available
URL: <https://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20141103/b6bf001a/attachment.asc>


More information about the ffmpeg-devel mailing list