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; }