From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id E6F504521C for ; Tue, 16 May 2023 23:41:45 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id E471568BCE9; Wed, 17 May 2023 02:41:42 +0300 (EEST) Received: from mail-ot1-f45.google.com (mail-ot1-f45.google.com [209.85.210.45]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 1374068BA65 for ; Wed, 17 May 2023 02:41:37 +0300 (EEST) Received: by mail-ot1-f45.google.com with SMTP id 46e09a7af769-6ab13810d34so190019a34.0 for ; Tue, 16 May 2023 16:41:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1684280495; x=1686872495; h=content-transfer-encoding:mime-version:message-id:date:subject:to :from:from:to:cc:subject:date:message-id:reply-to; bh=vzehwjDD6EHxL+DolCLZoIg79+fyzDHJLyWQBdyd+o8=; b=H4SKU5xbDr3iH5Zwc1XE8tEIexRMrgRqWPvUQubZ8+PN/AvquBFc0U1SUzqVbGpQEh Y0ajPKbeg7RcA+oONy3piyCSR90an5RksS91TL50UtJ8JfaSqaIBiRW16I3vBGILXUSl +t5QTRHy8z0X31suwmA/JLtqPSgV2ffKQ3LLkCeShd1KlovSc0Awnl/ID0w968dtiLhh 6LEPpIKDMOKYldQKYrAftN3960sQ/W2u1lATb47vw8tBdoXUaTeNYKLgfF2L6/ptflVp bF2CalHoD+M1/dOqjcMknaSvRQVprLwppuySZf+cgPg/fBfnu6slzS5cmo8xRmeeUY3t QlkQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684280495; x=1686872495; h=content-transfer-encoding:mime-version:message-id:date:subject:to :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=vzehwjDD6EHxL+DolCLZoIg79+fyzDHJLyWQBdyd+o8=; b=g5JOEK47OF/0qTv7y9Ezs4NVVdeChP/+IuK4G16LjyX+HkH8x9ZhUULZ8osqhopzfo LKJrK2wrUouEGridqdz+ToxBGXz83Up30RQxYpTNvaycrUCwYpQ23ZOLwM0nGsefPpDN wNk3iGDvVmN1mtB2YyshhqJnRZMPWFWY+jGmNmPSAR5dJKKTPqMkbdHN2ErQu3WkjNUI vRO4R6poWMns9fXOkTz7vjBwuaM8C2CCkFGG06TRtH+JtE9k81z//7TBWYJRdRMHpwUk TdbpO9x9UbblRLgsEfyNpLNsBZf/pF5cYJZ+Bi5fPJAZUFj0n+28Do7jbdd1RPbU66ZK Fa0w== X-Gm-Message-State: AC+VfDweObgJeGrINBteFcsDxtIEcpfm5pWoL6JYoHU7RHC4ivQ2+P4p WtUoT6K/iPCmOYL7V6n+0pyZkqs0eI0= X-Google-Smtp-Source: ACHHUZ4h1xO5UYKz9hwe4qoUo9dzjLEvona0f74cZqqGY5qOc3UZsPhJk2umOEmOiA/Arn+nXQ8ZEg== X-Received: by 2002:a05:6871:40f:b0:187:e4cf:b6ca with SMTP id d15-20020a056871040f00b00187e4cfb6camr20091305oag.23.1684280494970; Tue, 16 May 2023 16:41:34 -0700 (PDT) Received: from localhost.localdomain (host197.190-225-105.telecom.net.ar. [190.225.105.197]) by smtp.gmail.com with ESMTPSA id ea20-20020a056870071400b001964dc3dadesm7470598oab.45.2023.05.16.16.41.34 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 16 May 2023 16:41:34 -0700 (PDT) From: James Almer To: ffmpeg-devel@ffmpeg.org Date: Tue, 16 May 2023 20:41:29 -0300 Message-Id: <20230516234129.1458-1-jamrial@gmail.com> X-Mailer: git-send-email 2.40.1 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH v2] avcodec/libdav1d: export decoder frame delay 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 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: As this is an AV_CODEC_CAP_OTHER_THREADS decoder, threading is handled by the underlying library. In this case, the frame delay is calculated by libdav1d based on the values from avctx->thread_count and the private max_frame_delay option. Export said delay reported by the library in AVCodecContext.delay Signed-off-by: James Almer --- Now using the existing AVCodecContext field for this purpose instead of a private field that needs to be accessed through the AVOption API. libavcodec/libdav1d.c | 9 +++++++++ libavcodec/version.h | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/libavcodec/libdav1d.c b/libavcodec/libdav1d.c index 4c48f0099a..c15e98cbd1 100644 --- a/libavcodec/libdav1d.c +++ b/libavcodec/libdav1d.c @@ -276,6 +276,15 @@ static av_cold int libdav1d_init(AVCodecContext *c) if (res < 0) return AVERROR(ENOMEM); +#if FF_DAV1D_VERSION_AT_LEAST(6,7) + res = dav1d_get_frame_delay(&s); + if (res < 0) // Should not happen + return AVERROR_EXTERNAL; + + // When dav1d_get_frame_delay() returns 1, there's no delay whatsoever + c->delay = res > 1 ? res : 0; +#endif + return 0; } diff --git a/libavcodec/version.h b/libavcodec/version.h index da2264a097..2e28c23410 100644 --- a/libavcodec/version.h +++ b/libavcodec/version.h @@ -30,7 +30,7 @@ #include "version_major.h" #define LIBAVCODEC_VERSION_MINOR 12 -#define LIBAVCODEC_VERSION_MICRO 100 +#define LIBAVCODEC_VERSION_MICRO 101 #define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \ LIBAVCODEC_VERSION_MINOR, \ -- 2.40.1 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".