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

James Almer jamrial at gmail.com
Mon Nov 3 17:20:20 CET 2014


On 03/11/14 1:11 PM, Clément Bœsch wrote:
> 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...

This is libwebp, not libvpx. And i think -quality or -q is better than something 
like -webp_quality.


More information about the ffmpeg-devel mailing list