On 22.02.2023 17:46, Gyan Doshi wrote:


On 2023-02-22 10:12 pm, Timo Rothenpieler wrote:
On 22.02.2023 17:33, Gyan Doshi wrote:
From

fftools\ffmpeg_mux_init.c
619:        ost->enc_ctx->global_quality = FF_QP2LAMBDA * qscale

Regards,
Gyan

But that's only if you set the old qscale CLI options.
If you set the global_quality option directly, there is no factor applied.

By dividing by FF_QP2LAMBDA you break setting this value via global_quality, and instead add support for setting it via the old and pretty much abandoned qscale interface.

FWIW, that's what LAME does.

libavcodec\libmp3lame.c
119:        lame_set_VBR_quality(s->gfp, avctx->global_quality / (float)FF_QP2LAMBDA);

global_quality semantics seem overloaded. Maybe we should just redirect user to priv vbr  and error out in fdk init.

Regards,
Gyan

It's pretty much a matter of "what did this code always do in the past".
It then got to stick to it, cause otherwise we break downstream API and CLI consumers.

The mp3lame code is probably old enough that qscale was still the default at the time.
Nowadays it's global_quality.

Both of those options mapping to the same field in avctx, one with a magic factor applies, is definitely and oddity.
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to