1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2025-11-23 21:54:53 +02:00

avcodec/videotoolboxenc: support global_quality without qscale

This commit is contained in:
Zhao Zhili
2025-09-01 01:36:25 +08:00
committed by Zhao Zhili
parent 73750489a6
commit fc45127bcc

View File

@@ -1245,8 +1245,10 @@ static int vtenc_create_encoder(AVCodecContext *avctx,
return AVERROR_EXTERNAL;
}
if (avctx->flags & AV_CODEC_FLAG_QSCALE) {
Float32 quality = fminf(avctx->global_quality / 100.0f / FF_QP2LAMBDA, 1.0f);
if (avctx->flags & AV_CODEC_FLAG_QSCALE || avctx->global_quality > 0) {
float factor = (avctx->flags & AV_CODEC_FLAG_QSCALE) ?
FF_QP2LAMBDA * 100.0f : 100.0f;
Float32 quality = fminf(avctx->global_quality / factor, 1.0f);
CFNumberRef quality_num = CFNumberCreate(kCFAllocatorDefault,
kCFNumberFloat32Type,
&quality);