From patchwork Wed Dec 14 23:51:35 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Almer X-Patchwork-Id: 39710 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:bc95:b0:ad:ade2:bfd2 with SMTP id fx21csp74464pzb; Wed, 14 Dec 2022 15:51:57 -0800 (PST) X-Google-Smtp-Source: AA0mqf6GqWYOnjJgr6HevPcNRuJ3k3IH0R4pOfqqQ4jyapDt3hFsEMomvlW4dafJ24t6zsHvHENb X-Received: by 2002:a17:907:7704:b0:7c1:79ce:a431 with SMTP id kw4-20020a170907770400b007c179cea431mr11877450ejc.25.1671061916941; Wed, 14 Dec 2022 15:51:56 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1671061916; cv=none; d=google.com; s=arc-20160816; b=Fs8fqgfvE+QM6edK4HLITIHvBZAgH4QQbOh/dXvosQSl2g9Vh+r2C/QjC3nIeE7yg1 8mHvXMrU42hTSCi/AEXja9sfs4Y8rf6DPQzDPkvCvYMWaOUcpvBL7RFulOcwww/l5qHe BRh9yBdLa/nPiwuzcjyMVUu9nHcZQuB5p/az61d0vDhz6uEjztLilIxPO6Y2DvbNDAv8 FUQj1DH5jnT20/4jBE/ghAFaSjPDSR5cNOExd/TeEQt4w/LhVMhQT7dE7NpDjyA5kEvp 9fwzQzbHVpZjnjOyV36Da4SmJpcPFFrao1l7LbMK6W/6E5/WIuF26edZyneIixhJScXP +85w== 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=Q3Z4BcIDt6OZ3SKs4FdQ7jeACrZeWbXNa2isUTCud7k=; b=e6m0CtGSim61VKleY/WfhVnXJ7XpTnc+NSUnkBRPH28j3haDXcH6dLiscN9EhNb4e0 utmUebCcZXt9UNz84DXJp5AhsPljRXyq5hN7GF3X4vIAd7uZ/HrXQyl2k5ZtYFJkHXKF 6915mvdSal7xLUT+ZgDD7Ve8liPNRoiRM9IEJ+jqx804gJQ4pupHbmQ3SRm+XABftAJb McoOaJTc6t0Dq/vWpZYIGSAcLCXHZKles5MAcqfJUlR7whOotHzbdhjgBUd+yJAfqS3m LEdbmmGoAVN/t5KjfCJi2m/69vvgTcNuQZ8DretVumNziTJRuXw0EqLKUTFIyJBjbTcC A+Zg== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=UyAYW2Gu; 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 xb4-20020a170907070400b007acbac0871csi4403786ejb.420.2022.12.14.15.51.56; Wed, 14 Dec 2022 15:51:56 -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=@gmail.com header.s=20210112 header.b=UyAYW2Gu; 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 9276268BD0F; Thu, 15 Dec 2022 01:51:53 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-oi1-f176.google.com (mail-oi1-f176.google.com [209.85.167.176]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 143C568BCA9 for ; Thu, 15 Dec 2022 01:51:47 +0200 (EET) Received: by mail-oi1-f176.google.com with SMTP id q186so3983853oia.9 for ; Wed, 14 Dec 2022 15:51:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=OGZQaZY3oOrRdCAaAof/9plD6Fb2Fuh9TxsuoslbKu0=; b=UyAYW2Guca35jAcNEZQ3EBVyVgejd8u0V03762ATk7Tukf3MXDwqaJ71eqTX6WiVkS gObRANPZqv19Inlguz4lsB6FQuNvfRTig87zyFLO2rJghM4WPYX0RdruT7frvUc6YcGD Nghnf1MwiO7Xs2DdGyt1v6EUyCnwgofWC9hung9wGhcExMPQolgTpk96bZVMcGd0GkPo mujh2FjAoqjS6w5FDvLI+2xAqXTc/1zIYTE9L650SDQ5q6diGdQnsVHqD88x79BO6hxV cPPd9JFXs/iF8eduHbkjDYXU1oPbO/xAmpj6o5w1ryAwhhbUe9YOZHxQ6r7fK+lZIemW ERQQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=OGZQaZY3oOrRdCAaAof/9plD6Fb2Fuh9TxsuoslbKu0=; b=Vogv9rpg2Ej2ztpmqeOY32wmHLrziW78GvcZyKtWfAg5Kn8v2wJ0ansAJHb4NOcWgE qbSOUn5wF9BmiOEjwk6d9vkH/G+1yl5rSF2zD/arx068vwE8Xiv08EJYY+z8JdKAwlCs L/tNpbn6rQn0gtS6+mQzXJe0b2h5yxMmklpwhfA1H5Ceevqzibh7t4Nqciz9DvHj2meZ vqDbs9qwsORpmtn33/EpSTfQabCko3iLZpRaTyOa13VeVZOt80b8gyAK6vmICSpeviQ3 blISUPcF1zL3JTGWQPbtLQWxcEIlZPcRUuOBBd9Baf7iserFNn2mpkQJ5BZAbqN8bhjq zqnw== X-Gm-Message-State: ANoB5plycTp0Tz1A6HbsgWCnbcwzW4KXH21Q3oQVVqgsVhnDGR1DnJzL f8KqIG4Gs+mkm2qJSBb7o/zZi0/xIig= X-Received: by 2002:aca:bfd7:0:b0:355:91e3:52e3 with SMTP id p206-20020acabfd7000000b0035591e352e3mr11332718oif.22.1671061904647; Wed, 14 Dec 2022 15:51:44 -0800 (PST) Received: from localhost.localdomain (host197.190-225-105.telecom.net.ar. [190.225.105.197]) by smtp.gmail.com with ESMTPSA id az12-20020a056808164c00b00342eade43d4sm470764oib.13.2022.12.14.15.51.40 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 14 Dec 2022 15:51:43 -0800 (PST) From: James Almer To: ffmpeg-devel@ffmpeg.org Date: Wed, 14 Dec 2022 20:51:35 -0300 Message-Id: <20221214235135.1604-1-jamrial@gmail.com> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20221208163101.4139-1-jamrial@gmail.com> References: <20221208163101.4139-1-jamrial@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH v2] avcodec/libdav1d: honor the requested skip_frame level 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: /cjfpnFzDmlh This allows dropping non-reference, non-intra, or non-key frames on supported libdav1d versions. Signed-off-by: James Almer --- libavcodec/libdav1d.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/libavcodec/libdav1d.c b/libavcodec/libdav1d.c index 2f151d2d1b..5a4daa3e23 100644 --- a/libavcodec/libdav1d.c +++ b/libavcodec/libdav1d.c @@ -260,6 +260,20 @@ static av_cold int libdav1d_init(AVCodecContext *c) s.n_frame_threads, s.n_tile_threads); #endif +#if FF_DAV1D_VERSION_AT_LEAST(6,8) + switch (c->skip_frame) { + case AVDISCARD_NONREF: + s.decode_frame_type = DAV1D_DECODEFRAMETYPE_REFERENCE; + break; + case AVDISCARD_NONINTRA: + s.decode_frame_type = DAV1D_DECODEFRAMETYPE_INTRA; + break; + case AVDISCARD_NONKEY: + s.decode_frame_type = DAV1D_DECODEFRAMETYPE_KEY; + break; + } +#endif + res = libdav1d_parse_extradata(c); if (res < 0) return res;