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 A22874A08E for ; Tue, 19 Mar 2024 15:08:40 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id AA7DD68D3CF; Tue, 19 Mar 2024 17:08:38 +0200 (EET) Received: from mail-pf1-f169.google.com (mail-pf1-f169.google.com [209.85.210.169]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 9A4F268B659 for ; Tue, 19 Mar 2024 17:08:32 +0200 (EET) Received: by mail-pf1-f169.google.com with SMTP id d2e1a72fcca58-6e74bd85f26so351760b3a.1 for ; Tue, 19 Mar 2024 08:08:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1710860910; x=1711465710; darn=ffmpeg.org; h=content-transfer-encoding:in-reply-to:from:references:to :content-language:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=WG3bsPFYR69M1Ylst40r/PnH6q1lGdHGKOata6qOIWU=; b=PqzSOTT8SwzoEEbgwLPqTm68qJzp/va42KomKvEmUIWhQcmegmDOqF3LzPV5xMrI5Q SYsncXpaQeE5OPa4E1cL5/63b0d7546aRVGceNAj1RUr9tmMc3K/P/K7gW9MVV8BKUDt wPOXs0KBYiBXAYLpK4d0BVuKxC/mfisPJu48aVy8xcdExoIECD4TtwhVzvWiyb9EdI5A y6rD5c2bf6juu7GQkzmjtbpKmklMY5sCAeXu+RNKDl/hBjifglGLdnOP4fjwRCePkPul xlc7qBpFv+mETSbIiIaZbNQb603l4XdibCkQXKvkKR+4mvU+VIic9NSbC1k10qCI76LZ BWbg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1710860910; x=1711465710; h=content-transfer-encoding:in-reply-to:from:references:to :content-language:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=WG3bsPFYR69M1Ylst40r/PnH6q1lGdHGKOata6qOIWU=; b=N4of2fKXaQoru6MaLBv5G/TUkmX/pRazfDPLGFJnk/KWqZUn8LzGIpBIJqjL8wR/P1 HlBrqIQfPqgPk1nBVYlyy+ndBDEG9WHNeNiuh2oEJaRXG03el3lXwkDBAKgDxoLwwx4t bs2aD4xaECUqXszRGcCOmkb8/exRA8kh7/JH/7ijzzhsUIUrYMhjW8HrXS4NJpNsdiPl PVWZmA24YrcxBQkGoAvFVKF541VQFHXMiWKhF84k15xbZDSR8Wvr1DwzSvwyUb7gaE10 h6Mnjw3nJWnyYnZYJBf0cOcOEHK9XQHyucCvDs/e7VIY8+wV5c8E9VF5onH26VWMvhow SK8g== X-Gm-Message-State: AOJu0YyITFlVtKKcSmvZ0/oSXdVhgqzjtdYz+DIRTcCii6+qMbEXuiRd stQicZw7cb2iu2KG+BYA5oRkTuO3B5m2Davp+p7LSrVkK9cyPB7bp4url3hR X-Google-Smtp-Source: AGHT+IHiOjb6A+GVcb126syTiwkS/g61jIKJ6wEVU+5JdLfdZ3K+muNvBIu5aMNaeaifjt/eyQAZUA== X-Received: by 2002:a05:6a21:a5a3:b0:19e:ac58:7b0d with SMTP id gd35-20020a056a21a5a300b0019eac587b0dmr13713070pzc.5.1710860909296; Tue, 19 Mar 2024 08:08:29 -0700 (PDT) Received: from [192.168.0.10] ([190.194.167.233]) by smtp.gmail.com with ESMTPSA id g70-20020a636b49000000b005ceeeea1816sm9058876pgc.77.2024.03.19.08.08.28 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 19 Mar 2024 08:08:28 -0700 (PDT) Message-ID: Date: Tue, 19 Mar 2024 12:08:46 -0300 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Content-Language: en-US To: ffmpeg-devel@ffmpeg.org References: <20240319140636.4323-1-jamrial@gmail.com> <20240319140636.4323-3-jamrial@gmail.com> From: James Almer In-Reply-To: Subject: Re: [FFmpeg-devel] [PATCH 3/3] fftools/ffmpeg: auto insert enhancement filters when available 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-Transfer-Encoding: 7bit Content-Type: text/plain; charset="us-ascii"; Format="flowed" Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: On 3/19/2024 12:01 PM, Andreas Rheinhardt wrote: > James Almer: >> Signed-off-by: James Almer >> --- >> fftools/ffmpeg.h | 3 +++ >> fftools/ffmpeg_demux.c | 4 ++++ >> fftools/ffmpeg_filter.c | 28 +++++++++++++++++++++++++++- >> fftools/ffmpeg_opt.c | 3 +++ >> 4 files changed, 37 insertions(+), 1 deletion(-) >> >> diff --git a/fftools/ffmpeg.h b/fftools/ffmpeg.h >> index 7454089c2d..8d54affc0a 100644 >> --- a/fftools/ffmpeg.h >> +++ b/fftools/ffmpeg.h >> @@ -155,6 +155,7 @@ typedef struct OptionsContext { >> SpecifierOptList hwaccel_devices; >> SpecifierOptList hwaccel_output_formats; >> SpecifierOptList autorotate; >> + SpecifierOptList autoenhance; >> >> /* output options */ >> StreamMap *stream_maps; >> @@ -239,6 +240,7 @@ enum IFilterFlags { >> IFILTER_FLAG_AUTOROTATE = (1 << 0), >> IFILTER_FLAG_REINIT = (1 << 1), >> IFILTER_FLAG_CFR = (1 << 2), >> + IFILTER_FLAG_AUTOENHANCE = (1 << 3), >> }; >> >> typedef struct InputFilterOptions { >> @@ -369,6 +371,7 @@ typedef struct InputStream { >> #endif >> >> int autorotate; >> + int autoenhance; >> >> int fix_sub_duration; >> >> diff --git a/fftools/ffmpeg_demux.c b/fftools/ffmpeg_demux.c >> index 47312c9fe1..0b4ab3d7ec 100644 >> --- a/fftools/ffmpeg_demux.c >> +++ b/fftools/ffmpeg_demux.c >> @@ -1056,6 +1056,7 @@ int ist_filter_add(InputStream *ist, InputFilter *ifilter, int is_simple, >> return AVERROR(ENOMEM); >> >> opts->flags |= IFILTER_FLAG_AUTOROTATE * !!(ist->autorotate) | >> + IFILTER_FLAG_AUTOENHANCE * !!(ist->autoenhance) | >> IFILTER_FLAG_REINIT * !!(ds->reinit_filters); >> >> return ds->sch_idx_dec; >> @@ -1238,6 +1239,9 @@ static int ist_add(const OptionsContext *o, Demuxer *d, AVStream *st) >> ist->autorotate = 1; >> MATCH_PER_STREAM_OPT(autorotate, i, ist->autorotate, ic, st); >> >> + ist->autoenhance = 1; >> + MATCH_PER_STREAM_OPT(autoenhance, i, ist->autoenhance, ic, st); >> + >> MATCH_PER_STREAM_OPT(codec_tags, str, codec_tag, ic, st); >> if (codec_tag) { >> uint32_t tag = strtol(codec_tag, &next, 0); >> diff --git a/fftools/ffmpeg_filter.c b/fftools/ffmpeg_filter.c >> index 3d88482d07..c4d900d95b 100644 >> --- a/fftools/ffmpeg_filter.c >> +++ b/fftools/ffmpeg_filter.c >> @@ -18,6 +18,8 @@ >> * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA >> */ >> >> +#include "config_components.h" >> + >> #include >> >> #include "ffmpeg.h" >> @@ -145,6 +147,8 @@ typedef struct InputFilterPriv { >> int displaymatrix_present; >> int32_t displaymatrix[9]; >> >> + int enhancement_present; >> + >> // fallback parameters to use when no input is ever sent >> struct { >> AVRational time_base; >> @@ -1567,6 +1571,15 @@ static int configure_input_video_filter(FilterGraph *fg, AVFilterGraph *graph, >> desc = av_pix_fmt_desc_get(ifp->format); >> av_assert0(desc); >> >> +#if CONFIG_LCEVC_FILTER >> + if ((ifp->opts.flags & IFILTER_FLAG_AUTOENHANCE) && >> + !(desc->flags & AV_PIX_FMT_FLAG_HWACCEL)) { >> + ret = insert_filter(&last_filter, &pad_idx, "lcevc", NULL); >> + if (ret < 0) >> + return ret; >> + } > > If I see this correctly, this will add this filter automatically for all > videos when this filter is present, although it will be unneeded in the > vast majority of cases. I am against this. Yeah, good catch. Missed a ifp->enhancement_present check here. _______________________________________________ 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".