From patchwork Sun Mar 27 18:02:10 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: =?utf-8?q?Jan_Ekstr=C3=B6m?= X-Patchwork-Id: 35002 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:6d9d:b0:79:214c:b845 with SMTP id gl29csp3954486pzb; Sun, 27 Mar 2022 11:02:32 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxh3JgRQy0L1HtrnlZkDu1PhmoVYLg34SjYIdQqXFTtj2383Ehoc6QEvw4kenEJCF1qCwvB X-Received: by 2002:aa7:de93:0:b0:418:d700:662a with SMTP id j19-20020aa7de93000000b00418d700662amr11401205edv.107.1648404151893; Sun, 27 Mar 2022 11:02:31 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1648404151; cv=none; d=google.com; s=arc-20160816; b=vLuYqae/zSPfB5mYwwoBtKZ8psHno6h/vXowFQSLBmdRKTZZlhztuwFLRE1+dMG2BL FgdS9pGN9p0y56D4R7Byn3hj1ls3eBcZ1XmSqhpz71uW845ATeTjyVmpZZjFBnkQtJ4w MVQ5NktxUK0TWPMbf8PTRzMG7RV0KLhDCxwXQBr8HaE7ZQ9/8yvlg9DL4z/ObDX8Or5W TqYhl991EoK0bbWtnAfZdqgxVPXLauDSkRC11fFCQ7lqgVZpMfVIthXNRyETCTNRKl+Z zsIcCFvrE/kGToUaqNdhCqRo/ynSLJXOji2RBLWLgEdlRtQulNeLA9sZ9k/lmJHkf190 Epsg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:reply-to:list-subscribe :list-help:list-post:list-archive:list-unsubscribe:list-id :precedence:subject:mime-version:message-id:date:to:from :dkim-signature:delivered-to; bh=gGhzyTZ+5XIDleqUtbJHtlZlAFIDkbTXzsHxiKqiFvA=; b=XQs+K5Lf7FBg3FipYw0e+/h+3JUy/tmwUOoesUrJr46N9zI2KJ2oK2nNuA2BGCrDF/ 8aX52kFQX98VELBRNXmpYpl5d8DJF9jNu5L3IzYiS4WXHUmFTOzm2m3bgKuWog2S6BkX DqRgINCFDfo8ZZLFqKvZeDjH7WYpJA6B31R2Opo/IjkNxDwY5zB7g7B/LjPoZjxJ9GO7 Iqyn+PZ39ffphU7rGB+STYxUhzxlF6tUcFglXffAx5fkE6BrTtMVVMhM/m8+Z1qZjyUN eZN/E97yoWxsf3y95FJD1XLDMGc2EQTyACYDkYRXj0xJu3Il53nqeJ0JLbKJUnNrrCfp 48NA== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=GtF5nlIm; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id z5-20020a170906434500b006df76385e7asi10067563ejm.794.2022.03.27.11.02.30; Sun, 27 Mar 2022 11:02:31 -0700 (PDT) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=GtF5nlIm; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 536AB68B251; Sun, 27 Mar 2022 21:02:25 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-lj1-f178.google.com (mail-lj1-f178.google.com [209.85.208.178]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 0D56D68B148 for ; Sun, 27 Mar 2022 21:02:18 +0300 (EEST) Received: by mail-lj1-f178.google.com with SMTP id bn33so16420974ljb.6 for ; Sun, 27 Mar 2022 11:02:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:subject:date:message-id:mime-version :content-transfer-encoding; bh=RkPPAirslhtOAbc7NJXrkNG2q6oRMocPmATBwdBbiWg=; b=GtF5nlImY9xpESp9gazSobh6t0yrH73yW/MigfXabPYJvb3NEFAShFnlcZ6CC0TzlE j2zLrlyt4N9uC5uXluLDlRKjTlgPYB9buGVB4mHI3EknOl6qb/hyvUgMRLmCZ1ZsjJXU ohSswvQrofcK7UYvyydn2R+NrNsmcpAEMuRAlQKp/mdG9YYc/if39xWfRGZ7+PE4Mnk/ Oh92UA9d57v9wtCtYGKIi3qMJ3deCidMVhSxeSKXHnldM8NOxn+5+gZY4GaSziRtqjRR J8vhQaiEUK89XW4nxWKm1U1krZKIkYYdiKX1PFPAFKHF4hW9uMPU7wjvEgEUyNhKxlVj PTXg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:mime-version :content-transfer-encoding; bh=RkPPAirslhtOAbc7NJXrkNG2q6oRMocPmATBwdBbiWg=; b=U6Ea7W050z4nVtqcCCt/ApnXKmx53DuDa5Tv+DaJqBiCZCGjOMcalqwt9Xhr4me7Ml L8V038i1jNr3J63RHRi2rICZG5i542lsiibnn4ZPNXRZKHr/Y7BNnFgsfjqbuiG/23PD tpo5/k/+mnnqEv+hxEUHwryJq5mq2ApqAYO/hE3Dy+MvW+s8T70ewbW+qryMAxnFMCWO BkujYuV/vz9efu+rl7kLx6Mh6e/py8olTXXzINZzrvcHrOlxNlBqIbFG1RgtlJMh4ToH i0Q1bzoTBVuiUBsj1Z9aQPT6XpYy9Z+UmDGJbwUhkc78dh/qPA54DwZ/iyNeiDiRBQpt D60Q== X-Gm-Message-State: AOAM530tLE+17XETJ10cI6f5jhwHVYsdaoOFxBYMjwfmC+9AuwoZLvAW mGNSE5eIRewFMR6w3wO3MkH+QyTqKNY= X-Received: by 2002:a2e:b5b3:0:b0:249:80b6:f53e with SMTP id f19-20020a2eb5b3000000b0024980b6f53emr16859061ljn.82.1648404137124; Sun, 27 Mar 2022 11:02:17 -0700 (PDT) Received: from localhost.localdomain (91-153-198-187.elisa-laajakaista.fi. [91.153.198.187]) by smtp.gmail.com with ESMTPSA id w13-20020a2e998d000000b002496199495csm1477934lji.55.2022.03.27.11.02.16 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 27 Mar 2022 11:02:16 -0700 (PDT) From: =?utf-8?q?Jan_Ekstr=C3=B6m?= To: ffmpeg-devel@ffmpeg.org Date: Sun, 27 Mar 2022 21:02:10 +0300 Message-Id: <20220327180211.12038-1-jeebjp@gmail.com> X-Mailer: git-send-email 2.35.1 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 1/2] avcodec/libsvtav1: signal CPB properties through side data 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: gLRIr/YdDTGr This way values such as maxrate/bufsize can be utilized further down the chain. The libavcodec values are utilized instead of from the encoder configuration struct since: 1) both utilize bits per second, so no loss of precision occured. 2) the struct defaults various values to nonzero - even though it is documented to be unused outside of bit rate based rate control modes. --- libavcodec/libsvtav1.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/libavcodec/libsvtav1.c b/libavcodec/libsvtav1.c index 6cf280377e..d89fefdf4c 100644 --- a/libavcodec/libsvtav1.c +++ b/libavcodec/libsvtav1.c @@ -156,6 +156,9 @@ static int config_enc_params(EbSvtAv1EncConfiguration *param, SvtContext *svt_enc = avctx->priv_data; const AVPixFmtDescriptor *desc; AVDictionaryEntry *en = NULL; + AVCPBProperties *cpb_props = ff_add_cpb_side_data(avctx); + if (!cpb_props) + return AVERROR(ENOMEM); // Update param from options #if FF_API_SVTAV1_OPTS @@ -191,6 +194,10 @@ static int config_enc_params(EbSvtAv1EncConfiguration *param, param->enable_adaptive_quantization = 0; } + cpb_props->buffer_size = avctx->rc_buffer_size; + cpb_props->max_bitrate = avctx->rc_max_rate; + cpb_props->avg_bitrate = avctx->bit_rate;; + #if SVT_AV1_CHECK_VERSION(0, 9, 1) while ((en = av_dict_get(svt_enc->svtav1_opts, "", en, AV_DICT_IGNORE_SUFFIX))) { EbErrorType ret = svt_av1_enc_parse_parameter(param, en->key, en->value); From patchwork Sun Mar 27 18:02:11 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: =?utf-8?q?Jan_Ekstr=C3=B6m?= X-Patchwork-Id: 35003 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:6d9d:b0:79:214c:b845 with SMTP id gl29csp3954602pzb; Sun, 27 Mar 2022 11:02:42 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwi2yCZDL09D3FcfKiUBiLKpspW3a3OkBQBXpJd2CROl8X0RwAgd5LIOAQpGS+ob01kyfTj X-Received: by 2002:a05:6402:506:b0:419:46b2:2433 with SMTP id m6-20020a056402050600b0041946b22433mr11640548edv.21.1648404162418; Sun, 27 Mar 2022 11:02:42 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1648404162; cv=none; d=google.com; s=arc-20160816; b=Jcy0hQpoFrPh4aXs89Nbx/VYfjJFN5txqu29yFLR3dNaFnQE5t9LvGALoceIsc8Edw 4DAVuzjp5oD9wbq2Tot7KabHj9UIMDnAVvUBLnCQcFtpMHC1BaFTSNzKqlsX578DoY2L AatUo3tJ8ZJn9Ky2ays4T+u8mB2TVJWczWYk9aR1+LXkY90rzRx9h9epgefYDMH6pB0R eHFBMwwpmmNxSFaBQDIHewNP8Pt4eT13EdEr8jLAMrPr2F/rS6KTEjIcLCQIXiKk7jM+ 8v5I4Z3Z/kcyTjR9F3V8hdNY0ETyQ4mivfZlelQsEECQotPld5jzJwvGJ9uJ6fS0I0xK 8rRg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:reply-to:list-subscribe :list-help:list-post:list-archive:list-unsubscribe:list-id :precedence:subject:mime-version:references:in-reply-to:message-id :date:to:from:dkim-signature:delivered-to; bh=TEi+Uao3ytozQRZfaF0WYapnSZkX3uiQq/qddA6SlaE=; b=Sys8f2UEci5QEN4Pb/4X42aViWzFAoQb6nOR0xC5mTCuHM6gwc1nkMGTkHXKZYCW8O xXnKuZ6UZ1nE7rjQ8/g3JOA7d8hEAXu2dmTvTBXF3KO3Y4kYnJ9KeD09FBqvKG/hb2I+ 1hUQdnu3/PlH282HGEQbzDHqPBf95I3xcV/ILGdsUMMsPWXodiadmctHXzZ9D9U3ASHu d/bJGrTM+9EwqMWSU9YkainLy4Pheqjq8vmYzPTNIxlPjmHsOPKDzcirWBAxABZmWpd/ kwldIO7n++Ip4+gxk+e2vL9b6yhrObNM4NmKQWEatLn43Y+whW+AWVZQQApx2teK63JE 892A== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=DeGuoG6S; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id nb39-20020a1709071ca700b006e0da419082si8717553ejc.478.2022.03.27.11.02.41; Sun, 27 Mar 2022 11:02:42 -0700 (PDT) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=DeGuoG6S; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 7E0F268B255; Sun, 27 Mar 2022 21:02:26 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-lj1-f180.google.com (mail-lj1-f180.google.com [209.85.208.180]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 62CD568B148 for ; Sun, 27 Mar 2022 21:02:18 +0300 (EEST) Received: by mail-lj1-f180.google.com with SMTP id v12so3688496ljd.3 for ; Sun, 27 Mar 2022 11:02:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=kOETVqjPE8XieFUZ/zwFc1YOFD3ShPG8PxnC7A0mQUs=; b=DeGuoG6SDHsDxFubgLKLqs19xc4+0y+TbBA5O9ZfHI8xMUz454ArGz/4RdmvRZUaVt F9gqySxdTif3XZRJp70hatMZC/aErEL2NT+kbV2g3gzD/un29sSgayzTngUuCPVFcd+2 aY4jreQoWOefocq/70qDe+M0SGXNFKLCQbfbJPbiJ70GHnWnmOnyRvW9gwLiWoRWHhGD tg37Fb2+yAvvhKHIYdfThImFmmKaQ6b1Tzt+HxwQu1dkJWeDksDy/xm9xmbCKF4STUh5 VunlWlWqN+FpIwfR2otOOFr9w2R0wqx8JLH0CcVcVJymz0cfa8A3/sKmRBVv8b6FIpLG EIog== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=kOETVqjPE8XieFUZ/zwFc1YOFD3ShPG8PxnC7A0mQUs=; b=JooWss7v9UGc2adhNwX3oSauKyA+iOHHebeTch6pY6XTbwaQ5Vl85HIUTVHfNT0E07 Rvcuc9CV+ohfF8AKdc/Ba3y/Z1kFgKAv6udsxZxbG5YaZB/I2yh/OExMBRxJ8ulq+UIT Ju/tfu4U+NdQgSw6xWKHwWHoxJHLjbvXr1/s25hVrKASP6ZV9T7vBvHA6SV368rFZ2J/ pnM750LFJpEdCn6LfcV7/5RiSbP+CUc85xpTXmMFuP6XZ7CUIxGgGG/n9GTomsIa9oW3 ju8XWZtzDrs2ZPYqyBpKMm4DdIRzBOoxuTJfUnFk9Coj2bB9NsujnMvnNwajjpV701f6 KADQ== X-Gm-Message-State: AOAM5323sk9vESx3kJ0h8UNKyYQt4alcAdTWAM0S0uYzoTrHgpuk9H2F 5CO2AjuZxJeXKKabMJrzV8S77aaC0a8= X-Received: by 2002:a05:651c:19a8:b0:249:a7f3:25e7 with SMTP id bx40-20020a05651c19a800b00249a7f325e7mr16412629ljb.352.1648404137603; Sun, 27 Mar 2022 11:02:17 -0700 (PDT) Received: from localhost.localdomain (91-153-198-187.elisa-laajakaista.fi. [91.153.198.187]) by smtp.gmail.com with ESMTPSA id w13-20020a2e998d000000b002496199495csm1477934lji.55.2022.03.27.11.02.17 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 27 Mar 2022 11:02:17 -0700 (PDT) From: =?utf-8?q?Jan_Ekstr=C3=B6m?= To: ffmpeg-devel@ffmpeg.org Date: Sun, 27 Mar 2022 21:02:11 +0300 Message-Id: <20220327180211.12038-2-jeebjp@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220327180211.12038-1-jeebjp@gmail.com> References: <20220327180211.12038-1-jeebjp@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 2/2] avcodec/libsvtav1: clean up unconditional override of avctx bit rate 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: w9H/X8/ZddZB This value is only documented to be utilized if rate control is set to one of the bit rate based modes. These modes are not the default and thus the wrapper itself configures a bit rate according to the avctx if bit rate based encoding is requested, making the relevant value already be set when relevant. --- libavcodec/libsvtav1.c | 1 - 1 file changed, 1 deletion(-) diff --git a/libavcodec/libsvtav1.c b/libavcodec/libsvtav1.c index d89fefdf4c..fe0d100beb 100644 --- a/libavcodec/libsvtav1.c +++ b/libavcodec/libsvtav1.c @@ -271,7 +271,6 @@ static int config_enc_params(EbSvtAv1EncConfiguration *param, param->frame_rate_denominator = avctx->time_base.num * avctx->ticks_per_frame; } - avctx->bit_rate = param->target_bit_rate; if (avctx->bit_rate) { param->max_qp_allowed = avctx->qmax; param->min_qp_allowed = avctx->qmin;