From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id 471CE47E13 for ; Mon, 27 Nov 2023 13:36:35 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id A057668CD08; Mon, 27 Nov 2023 15:36:32 +0200 (EET) Received: from mail-wr1-f54.google.com (mail-wr1-f54.google.com [209.85.221.54]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id D134E68CC70 for ; Mon, 27 Nov 2023 15:36:25 +0200 (EET) Received: by mail-wr1-f54.google.com with SMTP id ffacd0b85a97d-332d2948170so2901015f8f.2 for ; Mon, 27 Nov 2023 05:36:25 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=jkqxz-net.20230601.gappssmtp.com; s=20230601; t=1701092185; x=1701696985; darn=ffmpeg.org; h=content-transfer-encoding:in-reply-to:from:references:to :content-language:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=g8WFzDqh0sqZgbxcDZUAj/iCPuEGTPtAhk3hADDCx1M=; b=c4rpyZgzwzArjbkKuIe5ATBAgvxAG6aeNmwWxcSFk+fb/tHzU31Vxvsfx4OZJ9KMau o9SWHoc4qxvRA5DZ/hsCezfmteJuKFjLwwZ4Zp/9P18WpMemHlvqinuT7MstZ41aiHiQ +Uu3J26EHHq9lm66n6i1Vd/OUqOn/jNZZu77D3VRCVunCnFmNRaEj865zjfq7hu6Vaug 6+JULz2/Ygg5xMPJKdM1/zwHtmxTekUaEdSimDBCKMBVimXLyyR26zENssb47NnVVWTB xlGY9pa4fKrtzXEFdTV5fazJO+cHPej5QBABjHvLmGGF8vb+0ZwIN7wuCR8EWAgoUa3O GLKA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1701092185; x=1701696985; h=content-transfer-encoding:in-reply-to:from:references:to :content-language:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=g8WFzDqh0sqZgbxcDZUAj/iCPuEGTPtAhk3hADDCx1M=; b=PLbXz7QTPIryxwuq/vKo8p+f5YLZI+6oAfnY+VOWPKuTD6fpSW+2qJUf4GQtriU7yq 3A42E/ZdCLK8dMvfkteBL4CIG0Sue8ZH1EEwADillZrVRkRCYCdKe7VjC0cxIFLAGQVd 3WcTrZz955BmWWM8EwqVX8XlqO+Qczw5LaftSzDiO/QcDLkzVHc5O8LqsyP9hQbQNUim YVWXReun9YtP7nNSY4hJvlBLXQa5atAYo7S5m0AgvAkI3Ep7psVBTUoVkC1OEtpU5rXI YdCFAW6ZDGaws4hyN4pTt2cwX+/N9SuNpvcFLEMaffY+H2xbg8ezdzOg3s9q230mm+wN oVQw== X-Gm-Message-State: AOJu0Ywm9KnGf5/+CuKCfwXIGOhyNB3hzF/e70icGo6Nn7/X8+IXKq1O TSDVTXUslnljqaZEkO/Q2MlqcfrT40fm3ahLuno= X-Google-Smtp-Source: AGHT+IEcf0sX0k1GL2Lptp2upk8ZehTLDxKrpFPRUsE5eaEUos64VT5BA0sH5LBEhksPxTMpQrx6TQ== X-Received: by 2002:a05:6000:b44:b0:331:6e10:e51d with SMTP id dk4-20020a0560000b4400b003316e10e51dmr8556153wrb.31.1701092185064; Mon, 27 Nov 2023 05:36:25 -0800 (PST) Received: from [192.168.0.15] (cpc92320-cmbg19-2-0-cust383.5-4.cable.virginm.net. [82.13.65.128]) by smtp.gmail.com with ESMTPSA id m5-20020a5d56c5000000b00332cbd59f8bsm12031110wrw.25.2023.11.27.05.36.24 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 27 Nov 2023 05:36:24 -0800 (PST) Message-ID: Date: Mon, 27 Nov 2023 13:36:44 +0000 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Content-Language: en-US To: ffmpeg-devel@ffmpeg.org References: <20231127005801.3440746-1-fei.w.wang@intel.com> From: Mark Thompson In-Reply-To: <20231127005801.3440746-1-fei.w.wang@intel.com> Subject: Re: [FFmpeg-devel] [PATCH v1] lavc/vaapi_encode_av1: Add qp option explicitly to set base q index X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="us-ascii"; Format="flowed" Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: On 27/11/2023 00:58, fei.w.wang-at-intel.com@ffmpeg.org wrote: > From: Fei Wang > > Keep same way with librav1e/libsvtav1/qsv_av1.. to make it more > acceptable instead of using global option "-global_quality". > > Fix #10615 > > Signed-off-by: Fei Wang > --- > doc/encoders.texi | 1 + > libavcodec/vaapi_encode_av1.c | 6 ++++++ > 2 files changed, 7 insertions(+) > > diff --git a/doc/encoders.texi b/doc/encoders.texi > index 27a9acf076..2cffc32daf 100644 > --- a/doc/encoders.texi > +++ b/doc/encoders.texi > @@ -4079,6 +4079,7 @@ Each encoder also has its own specific options: > @table @option > > @item av1_vaapi > +@option{qp} sets the value of @emph{base_q_index}. > @option{profile} sets the value of @emph{seq_profile}. > @option{tier} sets the value of @emph{seq_tier}. > @option{level} sets the value of @emph{seq_level_idx}. > diff --git a/libavcodec/vaapi_encode_av1.c b/libavcodec/vaapi_encode_av1.c > index 5a9ff0f798..2e327fec5a 100644 > --- a/libavcodec/vaapi_encode_av1.c > +++ b/libavcodec/vaapi_encode_av1.c > @@ -79,6 +79,7 @@ typedef struct VAAPIEncodeAV1Context { > int cdef_param_size; > > /** user options */ > + int qp; > int profile; > int level; > int tier; > @@ -786,6 +787,9 @@ static av_cold int vaapi_encode_av1_init(AVCodecContext *avctx) > return AVERROR(EINVAL); > } > > + if (priv->qp > 0) > + ctx->explicit_qp = priv->qp; > + > ret = ff_vaapi_encode_init(avctx); > if (ret < 0) > return ret; > @@ -864,6 +868,8 @@ static av_cold int vaapi_encode_av1_close(AVCodecContext *avctx) > static const AVOption vaapi_encode_av1_options[] = { > VAAPI_ENCODE_COMMON_OPTIONS, > VAAPI_ENCODE_RC_OPTIONS, > + { "qp", "Base q index (for P-frames; scaled by qfactor/qoffset for I/B)", > + OFFSET(qp), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, 255, FLAGS }, > { "profile", "Set profile (seq_profile)", > OFFSET(profile), AV_OPT_TYPE_INT, > { .i64 = AV_PROFILE_UNKNOWN }, AV_PROFILE_UNKNOWN, 0xff, FLAGS, "profile" }, Disagree; QP is not a concept in AV1. Further, your examples from other encoders do not have a consistent view of what it should mean. librav1e.c: { "qp", "use constant quantizer mode", OFFSET(quantizer), AV_OPT_TYPE_INT, { .i64 = -1 }, -1, 255, VE }, 0-255 is presumably the base_q_idx scale. libsvtav1.c: { "qp", "Initial Quantizer level value", OFFSET(qp), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, 63, VE }, 0-63 is presumably the H.26x-qp-ish scale used by some VP9/AV1 encoders which maps nonlinearly to the internal scale. qsv_av1 doesn't seem to have such an option. Thanks, - Mark _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".