From patchwork Tue Apr 12 20:43:12 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: 35297 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:671c:b0:7c:62c8:b2d1 with SMTP id q28csp1778680pzh; Tue, 12 Apr 2022 13:43:31 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyqHOWFR84Gvs4vIThqVLsxAzbjZTDlXvmP63yF91jt0qpvdNlmklCKSeCLLE3iMNF1b/Xo X-Received: by 2002:a17:906:a08b:b0:6cf:65bc:e7de with SMTP id q11-20020a170906a08b00b006cf65bce7demr36927834ejy.220.1649796210961; Tue, 12 Apr 2022 13:43:30 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1649796210; cv=none; d=google.com; s=arc-20160816; b=X0XmNEOxJ7zKX7QlnMQ4slTIRx6z+qr/pTUam/3fe9Li5am5Sk+MNdx9RlrNsTHaln 7RkgDpKE8sB5136d0AcU3Z5LWvF+3jieJNZUrCDouw3/feXq3J/Zq1Dr1DxrbHFvg7TH nzl3NMGFeoNL4nencx1jkCMtk8gEqSudArFRC9vy4YAfCb1+ouWlP37vo0OHmdR0elnD XoxKf52/DM1kdZcWG5Y3a5YibaxodhNul20tgGnYS9dHGlucwCT5U8VtNTew68QSIDan 5lbqwis5gdroj6ruF0nOlK+k9KLUQAgQy9SAGMBryxlLWMIDAWwJVvrDTqLCOaxlDezw d0Hw== 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=GGgRO+QkPSSCsWbZP8nCrE4FF7tOSmX7N6ckTs/AjPw=; b=M+MgIHIuNuLZFK3zB5emb69D6HFxo3lwQrJuOsFfM/4nAAbgdqY5eXgYJyjlZtnUja Iw3CX6nfk0ynMicPtt5hla+Shj2hFyjWU1UD+OXikGGeueEQDKP1b4X6Xil8ZLAvmr8X +EG7K9T3yp2YiCWPC7FM1fEDSasRPU9QRuGE942TYUei6tLaVNIpjjLdFMTuTJtRP9fa TK9bSpGZK0bVlNimdQs/1533hnFt2atB7V5H0epDcgd+Y/NU1AIkg1tK8J8kGuYWjMWa Sw5tymEEXYovo1teHmqKDCPVDzcHaYewpA37JQdMeIg3/Enmg4MoeCnPCz9W8gRtLABc yNBw== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=IDFMmO4e; 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 l14-20020a056402254e00b0041d7958aec0si262672edb.260.2022.04.12.13.43.30; Tue, 12 Apr 2022 13:43:30 -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=IDFMmO4e; 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 4F0A468B0D3; Tue, 12 Apr 2022 23:43:26 +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 D607568B0D3 for ; Tue, 12 Apr 2022 23:43:19 +0300 (EEST) Received: by mail-lj1-f178.google.com with SMTP id m8so8102559ljc.7 for ; Tue, 12 Apr 2022 13:43:19 -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=VrrcRFojst+K/RhFNfUOn7GL58k9XNP9KPYi70BlXCU=; b=IDFMmO4exOH34f5SYCu3xFd4av0nd8QilaBr/8EzzOMqQRBasFLjDlg3RHpRH58wSg aiNJ6u6NtHuQ5w3wk28X+KBvXcN5j0LeLaB1N8aMSwRf7dH7tbv3NJRqmQAQlGpvJ6iG GolF/au1O+/cZqYDj6FdDmsQC3+hv4mbUKYwNw5KwVRlx2hPhuY4ZNRli+Y4E3ifV9b6 RMr9S2dR2vIqWGDwYNiHhYRM28JCvSPZcTbA9tlk5gUrO9djaRifpbLX9HIbU7/l7hId 1dVtGn6NGDebTi0qQpKpVOBVeTahjbF16FFUk3oAcmfkEl330EtrwpLBZGSVaGq9Iizb xC2w== 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=VrrcRFojst+K/RhFNfUOn7GL58k9XNP9KPYi70BlXCU=; b=QLpunV65Jh60XVckZQgS2Tid2GpJzBSAsYOtE7EwpN3nRoydPRR6M5eJ0UqEl/4B/U qcn5ZEkaD8APpA9o+g2V9G7GE3jOzvQ0ZCcyzO5PtNwdjiOmKkN/548pqFM0ytzCC8kW VaXs5idiWtUTZu55/GkpFt46/CB80/oXUlJFrMZYfLl0pPhfVcjgO6SIiMuaH4+jrhn1 xblj9n3J5PvfJT5UkbB7CkR/cfGjSDYoLwt3KTAaHilnU2pVOu5w05WmFXnwOnMxRi3h Dmd63Er6hXXT4Foq7O7ygh4QN0qYI40uMxmqc5ofqywW6TrpoUc8P7Z10L5UnrwluLP/ x/Kg== X-Gm-Message-State: AOAM5323IDMEo3jcmMCiy4EifFaIk50u2xgDR6ibAz01T/z+BEQkDE70 Ro4PjuNp/5ZigXynhByuDdrqnOVJ3Ks= X-Received: by 2002:a2e:b895:0:b0:24b:6c87:722c with SMTP id r21-20020a2eb895000000b0024b6c87722cmr4443676ljp.48.1649796199087; Tue, 12 Apr 2022 13:43:19 -0700 (PDT) Received: from localhost.localdomain (91-153-198-187.elisa-laajakaista.fi. [91.153.198.187]) by smtp.gmail.com with ESMTPSA id l25-20020ac25559000000b0044825a2539csm3782881lfk.59.2022.04.12.13.43.18 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 12 Apr 2022 13:43:18 -0700 (PDT) From: =?utf-8?q?Jan_Ekstr=C3=B6m?= To: ffmpeg-devel@ffmpeg.org Date: Tue, 12 Apr 2022 23:43:12 +0300 Message-Id: <20220412204313.16672-1-jeebjp@gmail.com> X-Mailer: git-send-email 2.35.1 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH v2 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: ffvFS/ATXCmx This way values such as maxrate/bufsize can be utilized further down the chain. Only sets the average bit rate if the rate control mode is nonzero, which marks bit rate based rate control instead of constant quantizer or CRF. --- libavcodec/libsvtav1.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/libavcodec/libsvtav1.c b/libavcodec/libsvtav1.c index 2e3d96ce37..9271d3d9fe 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 @@ -272,6 +275,11 @@ static int config_enc_params(EbSvtAv1EncConfiguration *param, avctx->bit_rate = param->target_bit_rate; + cpb_props->buffer_size = param->vbv_bufsize; + cpb_props->max_bitrate = param->max_bit_rate; + cpb_props->avg_bitrate = param->rate_control_mode > 0 ? + param->target_bit_rate : 0; + return 0; } From patchwork Tue Apr 12 20:43:13 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: 35298 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:671c:b0:7c:62c8:b2d1 with SMTP id q28csp1778727pzh; Tue, 12 Apr 2022 13:43:40 -0700 (PDT) X-Google-Smtp-Source: ABdhPJz6ac6OMOFv5UOmslyNPN6R1fexsjNLKkl4q9/GHa09qHwr7I3eXVtEtQcvxfwodxGO4oE5 X-Received: by 2002:a17:906:4fc8:b0:6d8:5059:f998 with SMTP id i8-20020a1709064fc800b006d85059f998mr37455060ejw.487.1649796220812; Tue, 12 Apr 2022 13:43:40 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1649796220; cv=none; d=google.com; s=arc-20160816; b=R2ApVM4SMBHGU/LR2r9SA9w0zDifWQ/8My060Djf7lqXt903fvNsgFOHpC5N5SSEtW jRCY0EJ9eIe9gLzFldGYlnEk6SirOSSeVDfs6oJVMgSKsS8GLKn83NnQ1VUNJHCNYRGU FqE1FxzMbllAbLWH01g44naTXb10e+vvb1nFNH3CyqXSL+RNCuGcU61gCJ3zenIHPZpE ldIhKGp6GslgV9txOSeGW4lofd4mbULgUc/1e3M43FZjfTVgDfJyrWdgOA5+N7x/hYcO TVSIfBUwzOEsf+IFA2niSkZDQ9r51bffCLgDj+2Ta08i8b6COs9LlSMwBzPr6M0f2ykP 9TAQ== 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=Bgmw3u+KUwGyAEHjJGhVfi6VUxUf8/Bm0TxFGmvlzb0=; b=bR1m0Qq8cP/JlHj+BqxfKwvq2G72Jp/51RzACa5Y7IeNxkAruyBl93Ym7msqegN7Vu D6IW0XTFgzMeOXNsdahbTJV57x8W/W+ROAlGUnmcbm5mE3PjtzIZ+KrfarM+9Pf8vY2W zThisE+Xcm29DKl1FCK45E5tYT/Lz44Xt0RqLnoU+dmYF7P4Sy0VcJuKLHwZ6uwn1IhM 6dBgcgs5fHIlduOmTg++m5/YNInNU5az7CvbqJSF1VEpgLX51Yw7Z1cbvMEeJ+q6XA88 yGxLYPfT9FbGDGUa1qtXXRjrnolkvDD39e9lZQv2y0aVIyTD8p6isY5+/SD7lsbKNDpH MfMQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=EflQ5QGe; 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 u25-20020a170906069900b006e6ccac1988si6719716ejb.573.2022.04.12.13.43.40; Tue, 12 Apr 2022 13:43:40 -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=EflQ5QGe; 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 5C61768B33E; Tue, 12 Apr 2022 23:43:27 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-lf1-f54.google.com (mail-lf1-f54.google.com [209.85.167.54]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 3F2E168B251 for ; Tue, 12 Apr 2022 23:43:20 +0300 (EEST) Received: by mail-lf1-f54.google.com with SMTP id x33so3064lfu.1 for ; Tue, 12 Apr 2022 13:43:20 -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=pIkdHF3DBHTX5A6ybPqJp6hSMN71bOcj1fLH7KsZ3HI=; b=EflQ5QGeULrY5nv3dkAIcmpl1OXw4tTeWIB4pkkOBXIua1MDhO3FOJaU97LedUP3tM EVq1BJkrYh0LyYppTcpl7DIbB5HPTBKuk7P2YC+RRffOw+gxABnN3CTqlar8FW2E8q99 evVIEPe6FqIzadDyJsCBq1Bem710/kxJnzHbyIgdk8XJb9ybkD0aqYCJssqJc9wa465v Q3mm6c+Aeed3x8dN4ts88vxF59gJiTdT3IIHEPeOJBhvQ+kInI3cHhIu9MFE14E7CxGy HrwvgIZx2vFBdZtGu0e47u9qhKOXO/nB5hi0369649DPRpJWqbldKvxyPZkTg7lKQRkv gMWg== 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=pIkdHF3DBHTX5A6ybPqJp6hSMN71bOcj1fLH7KsZ3HI=; b=zwohFvwt9yqamqg5Sffozt2dRd1kB1MIXCofYr/IlB/dyzw5W/lo15Mb3R3AI4K58A leDMWhb2bBPEAvOWxmbwJYdcDRBWofkUDXZ/oQ1JPDFJdKrmXVmpDpMqUOgpyz1zRFRJ zy5g6raPebrW1wGY15SNoxd4Rjpk+U/so10+MLsWp4G28macPyt4BkmUHFwfx4jEyTjf Lln27ZcqH/kt/SbBexWEe7WZITEY3PU5d0FV/TJUzSvauisNplMANNZYZMlLQiZHjWiM 667f2TYrXsmxcZSbKIMYaOnkSHuKWKJgKUuxKh6i+SGHpIBZh6Z87qxs76K/7VbDCycC LteQ== X-Gm-Message-State: AOAM532F/QO/klgPHkXlBLVRwrBhAT0LXbJvCqvTCSlloniHZURWK/6b 8+iGoen6s0fsip6VfK85GFFChCxBO74= X-Received: by 2002:a05:6512:e88:b0:46b:a05b:4125 with SMTP id bi8-20020a0565120e8800b0046ba05b4125mr10487628lfb.169.1649796199498; Tue, 12 Apr 2022 13:43:19 -0700 (PDT) Received: from localhost.localdomain (91-153-198-187.elisa-laajakaista.fi. [91.153.198.187]) by smtp.gmail.com with ESMTPSA id l25-20020ac25559000000b0044825a2539csm3782881lfk.59.2022.04.12.13.43.19 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 12 Apr 2022 13:43:19 -0700 (PDT) From: =?utf-8?q?Jan_Ekstr=C3=B6m?= To: ffmpeg-devel@ffmpeg.org Date: Tue, 12 Apr 2022 23:43:13 +0300 Message-Id: <20220412204313.16672-2-jeebjp@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220412204313.16672-1-jeebjp@gmail.com> References: <20220412204313.16672-1-jeebjp@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH v2 2/2] avcodec/libsvtav1: only pass bit rate back to avctx if it'll get used 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: md0P6mFXMeg5 SVT-AV1 has bit rate based rate control modes as non-zero. This way we can filter out the default value for this value - which is nonzero. --- libavcodec/libsvtav1.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libavcodec/libsvtav1.c b/libavcodec/libsvtav1.c index 9271d3d9fe..dc82d94de8 100644 --- a/libavcodec/libsvtav1.c +++ b/libavcodec/libsvtav1.c @@ -273,7 +273,8 @@ static int config_enc_params(EbSvtAv1EncConfiguration *param, param->profile = FF_PROFILE_AV1_HIGH; } - avctx->bit_rate = param->target_bit_rate; + avctx->bit_rate = param->rate_control_mode > 0 ? + param->target_bit_rate : 0; cpb_props->buffer_size = param->vbv_bufsize; cpb_props->max_bitrate = param->max_bit_rate;