From patchwork Wed Mar 9 13:27:50 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Danil Chapovalov X-Patchwork-Id: 34647 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6838:4285:0:0:0:0 with SMTP id wq5csp1529014nkb; Wed, 9 Mar 2022 05:28:22 -0800 (PST) X-Google-Smtp-Source: ABdhPJwWqVnM6ttEi0ztFhArEQQjFPZWyg6iaYWP7TlMj5d2Leutg7Ncl9QHZ6XCWkVxFiHXjjlr X-Received: by 2002:a17:907:7f8d:b0:6da:b3d6:a427 with SMTP id qk13-20020a1709077f8d00b006dab3d6a427mr17632787ejc.509.1646832502324; Wed, 09 Mar 2022 05:28:22 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1646832502; cv=none; d=google.com; s=arc-20160816; b=pNtNms0RO5xwsYs7GkfYdIWlyTU0zmN1tjeymGyG2FkxonXQrsbjwhLSsU38kpwRer 5cKb0JxeWgvWdMNxkceQuHYBWP0nsBtIgKOglU8b3gYzjNZlsAFQZ5rnQll3zROVqfoV UAubXpYJvmovKpnH8GJTkYLbXwVZ8W4kcTcoqkActFMnSBlrJ7/bZWBCEtZ8fLZiOrPH 5IbFgAc5aPjMoa+iZ1wj03sfNrmPMaJXqHz81VJMyo+nwI1e1swcVydhTTIna9282Gh1 /E8bjRfECLBtCR9WtpHIkPy/FTSZhr4SOa2SRzDhtDNzKK0jdeUFZO5FLCv+CPYR0Shp NGdg== 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:to:message-id:date:from:mime-version :dkim-signature:delivered-to; bh=Fu8MCollAB3VvLe4Rp9RaeOXIX47Hst3vM132qbJC+M=; b=bQFMj7preKPABmZkTTSurSRefs4ATz5kLlIvtLO5MxzECm4LFqjyuzPCQechEITlX9 Oruvbgn4mpQCrrnDTF7R41NENRiaR/Uru1YIAMJvTN1bfbtqK7Dw83O5B+BfYZ8+TMaJ kmZNJmeESaYn7y0sea6vpYLaR9mo/9ptHc93xhjP0U88hccYe8kqR5XO9BThbNrCcj/k qCSmlgL3FlfoajElkyLXPUtpNkudvrcQlhgPn+ZVB/Tu0p/hXrGVXHXTT9JKnehVxUui f5+QXQDusMEdb6A8EVi9eBd/YXuXkGIFbjjAup34l0hblKcauAycESqHjbf+NcfnYmWG nHfg== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@webrtc-org.20210112.gappssmtp.com header.s=20210112 header.b="v/EurUqo"; 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=NONE dis=NONE) header.from=webrtc.org Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id u9-20020a170906780900b006db756fae9dsi405701ejm.530.2022.03.09.05.28.16; Wed, 09 Mar 2022 05:28:22 -0800 (PST) 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=@webrtc-org.20210112.gappssmtp.com header.s=20210112 header.b="v/EurUqo"; 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=NONE dis=NONE) header.from=webrtc.org Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 0574568AF69; Wed, 9 Mar 2022 15:28:13 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-qt1-f174.google.com (mail-qt1-f174.google.com [209.85.160.174]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 6D8D7689DD9 for ; Wed, 9 Mar 2022 15:28:06 +0200 (EET) Received: by mail-qt1-f174.google.com with SMTP id c4so1840282qtx.1 for ; Wed, 09 Mar 2022 05:28:06 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=webrtc-org.20210112.gappssmtp.com; s=20210112; h=mime-version:from:date:message-id:subject:to; bh=79SauAFnvzXkOKHE+iU52b3AwWj1yCJoMerIE1hH7JI=; b=v/EurUqoDHSYJccEL8t5d35pziO34/DJmn583i3ANIJ5DZmYX07CQv+7X9mPIohYDa bQTUrhYZCPeQPTh1Sp8or5qL+dkMPYNVJO19mp6cVLGuSA3GQYDeeA9FPBV+4SwaEUpp pfL2MU4JFFQf1HcwsFf+xbwMqlRiiJTmyejAQB7Wu+O+WQwdC76z3jt/uZ7FoQ/Lz7IA wJZnFYKSu+Vml9ryjVanA7XgQVmx+tUDJbUpwmsgv+xy/D/oFQUpqjghF2q4xtIP5HdC l6st6v6JS8koHMoTw+F7bEyU8FMRanTZfpeUw2taJoo8HkO2dU6kyp36heD/g1K9Dxul 0pSw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=79SauAFnvzXkOKHE+iU52b3AwWj1yCJoMerIE1hH7JI=; b=r2uiz1cTy1HDo9OBH3Qve/r/ZM7irfVCuxX4GyTaZRaHNssR6ScRd4vuRVFXccL4kw OESzshjyBJICz1GuXmv4ZbrEY/QK05VVQgYmG/V5ioFCS7Zrjt76rQT7IbgzkaAzF92l T53C6NdwOqKMbQi9tvA09FG4gtbVpnUCH4kkXHGtFF9c876+bNaAVJvM+M1CXF5MkRxj vMi4pm8ya2TLRykBYNWmhcLGi9qWa1OuVR19LRiQOiiOexCMimjFEuf21ACI35ePx6B6 lixXgkE/gRXTEC/2GLfqzGwmwWIi8ZoBpv2K6NaWzH1veswnul82OC706fB3ynaA/a0O 1y3Q== X-Gm-Message-State: AOAM532iTzZ/eVyB9vVnjeJ00q8I8g8MdZIZ1YFG2vA/kedKnjpuMzPR WjbLH19cdOfmtrTby1z63hURIR683hqUeuBe+qk= X-Received: by 2002:ac8:5816:0:b0:2e0:6944:e5c2 with SMTP id g22-20020ac85816000000b002e06944e5c2mr10463106qtg.617.1646832483926; Wed, 09 Mar 2022 05:28:03 -0800 (PST) Received: from mail-yb1-f172.google.com (mail-yb1-f172.google.com. [209.85.219.172]) by smtp.gmail.com with ESMTPSA id k73-20020a37a14c000000b0067b316a4161sm941969qke.120.2022.03.09.05.28.03 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 09 Mar 2022 05:28:03 -0800 (PST) Received: by mail-yb1-f172.google.com with SMTP id u61so4284712ybi.11 for ; Wed, 09 Mar 2022 05:28:03 -0800 (PST) X-Received: by 2002:a5b:50b:0:b0:624:6977:2ce1 with SMTP id o11-20020a5b050b000000b0062469772ce1mr16228367ybp.117.1646832483220; Wed, 09 Mar 2022 05:28:03 -0800 (PST) MIME-Version: 1.0 From: Danil Chapovalov Date: Wed, 9 Mar 2022 14:27:50 +0100 X-Gmail-Original-Message-ID: Message-ID: To: ffmpeg-devel@ffmpeg.org Subject: [FFmpeg-devel] [PATCH] Allow to modify max qp configuration parameter in libvpx without reseting the encoder 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: 2qogoV56rL3L Signed-off-by: Danil Chapovalov --- libavcodec/libvpxenc.c | 7 +++++++ 1 file changed, 7 insertions(+) en = av_dict_get(frame->metadata, "temporal_id", NULL, 0); diff --git a/libavcodec/libvpxenc.c b/libavcodec/libvpxenc.c index 8f94ba15dc..45baeed435 100644 --- a/libavcodec/libvpxenc.c +++ b/libavcodec/libvpxenc.c @@ -1658,6 +1658,13 @@ static int vpx_encode(AVCodecContext *avctx, AVPacket *pkt, flags |= strtoul(en->value, NULL, 10); } + en = av_dict_get(frame->metadata, "max-quantizer", NULL, 0); + if (en) { + struct vpx_codec_enc_cfg cfg = *enccfg; + cfg.rc_max_quantizer = strtoul(en->value, NULL, 10); + vpx_codec_enc_config_set(&ctx->encoder, &cfg); + } + memset(&layer_id, 0, sizeof(layer_id));