From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.ffmpeg.org (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTPS id 070CA4AE19 for ; Mon, 29 Sep 2025 02:54:55 +0000 (UTC) Authentication-Results: ffbox; dkim=fail (body hash mismatch (got b'sUij8Nc1qQ20egtMM8P3x7VbZjsG/Ea4kYhPfdyGMp0=', expected b'NCYADCKY+qdPsFDs6OTzEeDjt+9B4RLy7OEMTDXjxDE=')) header.d=ffmpeg.org header.i=@ffmpeg.org header.a=rsa-sha256 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ffmpeg.org; i=@ffmpeg.org; q=dns/txt; s=mail; t=1759114472; h=mime-version : to : date : message-id : reply-to : subject : list-id : list-archive : list-archive : list-help : list-owner : list-post : list-subscribe : list-unsubscribe : from : cc : content-type : content-transfer-encoding : from; bh=sUij8Nc1qQ20egtMM8P3x7VbZjsG/Ea4kYhPfdyGMp0=; b=xBk/ipcaHOccUTFH/ahp9JLmgUy5ujqt2Fa4VPy3uyxDk0QQuAcZ5J5hlvs4BJ2QzU3M8 9aAmLmrhQA1KIR0/KH6revxAq1qswlRDn2lrZDauTimVq5It7BTv9OEifg55yePD1Jzv0y1 dqr++Oc9a8Oty4pdeQ9rSts7Je/Vz80Use6lDFvCzSHeQKeKU2f2UynS/Sg7fyTOxCaonTY MUIjoruPtX2jFrOpJM7X0huo+eBIhys48guBbhcKbwQj3RpUq1ZOPP3n176BnbmbWtKgSHM s2Al/OoZcWlHoQTDG9yQmiX1eLDqst8SOs+2EMJVPQbBjMYEaHQLYc5GrnTw== Received: from [172.19.0.4] (unknown [172.19.0.4]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTP id 3B48B68ED46; Mon, 29 Sep 2025 05:54:32 +0300 (EEST) ARC-Seal: i=1; cv=none; a=rsa-sha256; d=ffmpeg.org; s=arc; t=1759114468; b=iQwZMOERTl5tTuHxfHq3yz0coRgbtsEIrNcy7I846RiToPFheX+N1TVwTr+exgSaU2ykk Is/K7BBu+g7Q0EaJv2dBnPYwVjdythksmrnTJPYqwd8DYfoZmuWAu6fsY2HGEw2gT+xLWb3 OVAZJPcUG8jt862Nolqmh5CDHm2SyA2sIl5OtPh1wQ3JACpOe5bUIPu6uqyRbP5A6JaoB36 kPSNoSicYUugzahwE3NwSX6LPpvKdTF1qHKWZVO2oa6SJeHh1wfVend86ic6iRYW6FqxA40 mjZBWYHy8rgeL2Rnh95m9l6CXhxqgZ+E9dd9fFuNH1Bk3U9fBUXPXOefsdZA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=ffmpeg.org; s=arc; t=1759114468; h=from : sender : reply-to : subject : date : message-id : to : cc : mime-version : content-type : content-transfer-encoding : content-id : content-description : resent-date : resent-from : resent-sender : resent-to : resent-cc : resent-message-id : in-reply-to : references : list-id : list-help : list-unsubscribe : list-subscribe : list-post : list-owner : list-archive; bh=XeM9g2+ckPP6lUA1LkgYxxGFI1Ej08NGKuKtyyc7/xA=; b=FBvYnAFgFv2gDsBm3zPDdzUY442rCEzLbvMJVn8zkBnXyCUFG28dZyOh3jJG3IMvqUKxs r8HNopbkPZPA2Gph7D+XqdQjn+f85w3Q4rReAcKRQi9PHwXp2ksZFUwe96LStx5QH/Hhtv8 LfmGBXKtCm8oEpFcJmcfipRPu6BK0YrP13Ssrz+XJFbBFrJQ8OlG0fA7ldgRSlyUM0aCf+P e1QXQa6FK+ZMcknSmVODyXygviGRbRbfQyNYXbg4UVLagLVqe+OfgJiNyauUXtnegCWGj1h Ny7YzT6apisKAEOiGt7NX2AF+FhSR6JUWZ9zgngNfOvBc31I0VHqIugW1JLw== ARC-Authentication-Results: i=1; ffmpeg.org; dkim=pass header.d=ffmpeg.org header.i=@ffmpeg.org; arc=none; dmarc=pass header.from=ffmpeg.org policy.dmarc=quarantine Authentication-Results: ffmpeg.org; dkim=pass header.d=ffmpeg.org header.i=@ffmpeg.org; arc=none (Message is not ARC signed); dmarc=pass (Used From Domain Record) header.from=ffmpeg.org policy.dmarc=quarantine DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ffmpeg.org; i=@ffmpeg.org; q=dns/txt; s=mail; t=1759114459; h=content-type : mime-version : content-transfer-encoding : from : to : reply-to : subject : date : from; bh=NCYADCKY+qdPsFDs6OTzEeDjt+9B4RLy7OEMTDXjxDE=; b=fZlowXwqLT4xE9HNGc/cIxF2N16os5Wt0dg7Ku0vHzgMswE/RODYSTGgQlNGljPFkeAfZ UXxn41mRsCA2fAqv86xc1TJ4wPjwGQGfzjZ6Hu/l8QfQIH72zdLnJgIyYUXa6Nnr4WnUr7N pGxuTmPUEP9xH+E08TTc8N1PP9VhNGjyUJrKCU9tohpQO11q4IWzaX3jzZiBHpM1kB+1Kb9 oXb1leTGkgVamfal4zjdMznn72FW4VfbOvV6CTGj6etysgrP2Mvrieabawd6JGF55/SE8tH U5Dc7zwVNdJAuxCp50VNjMQ2j3p9qT2qKUB210ROqwEMhK7Gt10zYDh5bJaQ== Received: from 13289e625de8 (code.ffmpeg.org [188.245.149.3]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTPS id B7FCB68EB9C for ; Mon, 29 Sep 2025 05:54:19 +0300 (EEST) MIME-Version: 1.0 To: ffmpeg-devel@ffmpeg.org Date: Mon, 29 Sep 2025 02:54:19 -0000 Message-ID: <175911445989.25.8771016893662053423@bf249f23a2c8> Message-ID-Hash: L3CGGNC7BNX26KVCD2LCEEP4SAZ7B7LQ X-Message-ID-Hash: L3CGGNC7BNX26KVCD2LCEEP4SAZ7B7LQ X-MailFrom: code@ffmpeg.org X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-ffmpeg-devel.ffmpeg.org-0; header-match-ffmpeg-devel.ffmpeg.org-1; header-match-ffmpeg-devel.ffmpeg.org-2; header-match-ffmpeg-devel.ffmpeg.org-3; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.10 Precedence: list Reply-To: FFmpeg development discussions and patches Subject: [FFmpeg-devel] [PATCH] avcodec/libdav1d: bump minimum supported version to 1.0.0 (PR #20625) List-Id: FFmpeg development discussions and patches Archived-At: Archived-At: List-Archive: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: From: James Almer via ffmpeg-devel Cc: James Almer Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Archived-At: List-Archive: List-Post: PR #20625 opened by James Almer (jamrial) URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20625 Patch URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20625.patch This allows us to remove old deprecated options. >>From d975dbd7b70e0b2f3f3b2950e5513c299b838810 Mon Sep 17 00:00:00 2001 From: James Almer Date: Sun, 28 Sep 2025 23:51:19 -0300 Subject: [PATCH] avcodec/libdav1d: bump minimum supported version to 1.0.0 This allows us to remove old deprecated options. Signed-off-by: James Almer --- configure | 2 +- doc/decoders.texi | 10 ---------- libavcodec/libdav1d.c | 38 ++++---------------------------------- 3 files changed, 5 insertions(+), 45 deletions(-) diff --git a/configure b/configure index 2cb39cbd57..aaa72c9f93 100755 --- a/configure +++ b/configure @@ -7116,7 +7116,7 @@ enabled libcelt && require libcelt celt/celt.h celt_decode -lcelt0 && die "ERROR: libcelt must be installed and version must be >= 0.11.0."; } enabled libcaca && require_pkg_config libcaca caca caca.h caca_create_canvas enabled libcodec2 && require libcodec2 codec2/codec2.h codec2_create -lcodec2 -enabled libdav1d && require_pkg_config libdav1d "dav1d >= 0.5.0" "dav1d/dav1d.h" dav1d_version +enabled libdav1d && require_pkg_config libdav1d "dav1d >= 1.0.0" "dav1d/dav1d.h" dav1d_version enabled libdavs2 && require_pkg_config libdavs2 "davs2 >= 1.6.0" davs2.h davs2_decoder_open enabled libdc1394 && require_pkg_config libdc1394 libdc1394-2 dc1394/dc1394.h dc1394_new enabled libdrm && check_pkg_config libdrm libdrm xf86drm.h drmGetVersion diff --git a/doc/decoders.texi b/doc/decoders.texi index b7d80ca3d7..9248e2283a 100644 --- a/doc/decoders.texi +++ b/doc/decoders.texi @@ -119,16 +119,6 @@ The following options are supported by the libdav1d wrapper. @table @option -@item framethreads -Set amount of frame threads to use during decoding. The default value is 0 (autodetect). -This option is deprecated for libdav1d >= 1.0 and will be removed in the future. Use the -option @code{max_frame_delay} and the global option @code{threads} instead. - -@item tilethreads -Set amount of tile threads to use during decoding. The default value is 0 (autodetect). -This option is deprecated for libdav1d >= 1.0 and will be removed in the future. Use the -global option @code{threads} instead. - @item max_frame_delay Set max amount of frames the decoder may buffer internally. The default value is 0 (autodetect). diff --git a/libavcodec/libdav1d.c b/libavcodec/libdav1d.c index bd3050b881..01fe2c415f 100644 --- a/libavcodec/libdav1d.c +++ b/libavcodec/libdav1d.c @@ -50,8 +50,6 @@ typedef struct Libdav1dContext { int pool_size; Dav1dData data; - int tile_threads; - int frame_threads; int max_frame_delay; int apply_grain; int operating_point; @@ -215,11 +213,7 @@ static av_cold int libdav1d_init(AVCodecContext *c) { Libdav1dContext *dav1d = c->priv_data; Dav1dSettings s; -#if FF_DAV1D_VERSION_AT_LEAST(6,0) int threads = c->thread_count; -#else - int threads = (c->thread_count ? c->thread_count : av_cpu_count()) * 3 / 2; -#endif const AVPacketSideData *sd; int res; @@ -240,32 +234,14 @@ static av_cold int libdav1d_init(AVCodecContext *c) s.all_layers = dav1d->all_layers; if (dav1d->operating_point >= 0) s.operating_point = dav1d->operating_point; -#if FF_DAV1D_VERSION_AT_LEAST(6,2) s.strict_std_compliance = c->strict_std_compliance > 0; -#endif -#if FF_DAV1D_VERSION_AT_LEAST(6,0) - if (dav1d->frame_threads || dav1d->tile_threads) - s.n_threads = FFMAX(dav1d->frame_threads, dav1d->tile_threads); - else - s.n_threads = FFMIN(threads, DAV1D_MAX_THREADS); + s.n_threads = FFMIN(threads, DAV1D_MAX_THREADS); if (dav1d->max_frame_delay > 0 && (c->flags & AV_CODEC_FLAG_LOW_DELAY)) av_log(c, AV_LOG_WARNING, "Low delay mode requested, forcing max_frame_delay 1\n"); s.max_frame_delay = (c->flags & AV_CODEC_FLAG_LOW_DELAY) ? 1 : dav1d->max_frame_delay; av_log(c, AV_LOG_DEBUG, "Using %d threads, %d max_frame_delay\n", s.n_threads, s.max_frame_delay); -#else - s.n_tile_threads = dav1d->tile_threads - ? dav1d->tile_threads - : FFMIN(floor(sqrt(threads)), DAV1D_MAX_TILE_THREADS); - s.n_frame_threads = dav1d->frame_threads - ? dav1d->frame_threads - : FFMIN(ceil(threads / s.n_tile_threads), DAV1D_MAX_FRAME_THREADS); - if (dav1d->max_frame_delay > 0) - s.n_frame_threads = FFMIN(s.n_frame_threads, dav1d->max_frame_delay); - av_log(c, AV_LOG_DEBUG, "Using %d frame threads, %d tile threads\n", - s.n_frame_threads, s.n_tile_threads); -#endif #if FF_DAV1D_VERSION_AT_LEAST(6,8) if (c->skip_frame >= AVDISCARD_NONKEY) @@ -465,9 +441,7 @@ static int libdav1d_receive_frame(AVCodecContext *c, AVFrame *frame) Libdav1dContext *dav1d = c->priv_data; Dav1dPicture pic = { 0 }, *p = &pic; const AVPacket *pkt; -#if FF_DAV1D_VERSION_AT_LEAST(5,1) enum Dav1dEventFlags event_flags = 0; -#endif int res; do { @@ -493,12 +467,10 @@ static int libdav1d_receive_frame(AVCodecContext *c, AVFrame *frame) frame->linesize[1] = p->stride[1]; frame->linesize[2] = p->stride[1]; -#if FF_DAV1D_VERSION_AT_LEAST(5,1) dav1d_get_event_flags(dav1d->c, &event_flags); - if (c->pix_fmt == AV_PIX_FMT_NONE || - event_flags & DAV1D_EVENT_FLAG_NEW_SEQUENCE) -#endif - libdav1d_init_params(c, p->seq_hdr); + if (c->pix_fmt == AV_PIX_FMT_NONE || event_flags & DAV1D_EVENT_FLAG_NEW_SEQUENCE) + libdav1d_init_params(c, p->seq_hdr); + res = ff_decode_frame_props(c, frame); if (res < 0) goto fail; @@ -677,8 +649,6 @@ static av_cold int libdav1d_close(AVCodecContext *c) #define OFFSET(x) offsetof(Libdav1dContext, x) #define VD AV_OPT_FLAG_VIDEO_PARAM | AV_OPT_FLAG_DECODING_PARAM static const AVOption libdav1d_options[] = { - { "tilethreads", "Tile threads", OFFSET(tile_threads), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, DAV1D_MAX_TILE_THREADS, VD | AV_OPT_FLAG_DEPRECATED }, - { "framethreads", "Frame threads", OFFSET(frame_threads), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, DAV1D_MAX_FRAME_THREADS, VD | AV_OPT_FLAG_DEPRECATED }, { "max_frame_delay", "Max frame delay", OFFSET(max_frame_delay), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, DAV1D_MAX_FRAME_DELAY, VD }, { "filmgrain", "Apply Film Grain", OFFSET(apply_grain), AV_OPT_TYPE_BOOL, { .i64 = -1 }, -1, 1, VD | AV_OPT_FLAG_DEPRECATED }, { "oppoint", "Select an operating point of the scalable bitstream", OFFSET(operating_point), AV_OPT_TYPE_INT, { .i64 = -1 }, -1, 31, VD }, -- 2.49.1 _______________________________________________ ffmpeg-devel mailing list -- ffmpeg-devel@ffmpeg.org To unsubscribe send an email to ffmpeg-devel-leave@ffmpeg.org