From patchwork Fri Jan 12 08:25:58 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Niklas Haas X-Patchwork-Id: 45575 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:bf2f:b0:199:de12:6fa6 with SMTP id gc47csp2204051pzb; Fri, 12 Jan 2024 00:30:20 -0800 (PST) X-Google-Smtp-Source: AGHT+IHwPKJBMVYOaIbgNd+fsG3RrBolE1c2NEA6wuXTE9YKAWIIhXxv0XWpq+KsgBGI3+tkSt6T X-Received: by 2002:aa7:c257:0:b0:551:41c6:695 with SMTP id y23-20020aa7c257000000b0055141c60695mr309564edo.13.1705048220566; Fri, 12 Jan 2024 00:30:20 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1705048220; cv=none; d=google.com; s=arc-20160816; b=btN/6tLccpHqAXFaVbaDTY4deS8+AJyprWt8r0eL8G9LjMb4qPLKAz5TZiAPoMPlZe LQvwG7Vw5i1rCGeAHAY9sHlzoiwBc8PmftkrB/QDJcptIxxl2V+aqg4yBlfw7vkMlidf jPrMX8dHfijYM3j75eN2Z92wlrlEfl/Udl+tBvnVG5fwgS+sspeY+LE8irs8ijQEVEoo A2XDOThh1QuFq9PCaeA0NHPx236FWEcVeZ+NRaO9v8OXna9IeRZ6rXJx68IDpdY/UQqW fwOz370UKZBHz1wRq5wPTFpDif2hcWBZnAeC4VPrwAPE5qJs1A9B7LvIXsxHjvPnlcSD v1hQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:cc: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=iM50B9U9Ja/ze45+5H1bmluK9ybCU3rdrse2nqvcg/M=; fh=xmAeKtysnShNOmkhiJmYkS30uw4Fu2hvBJ7qlIwukxQ=; b=lpaKKnzsIzbFBQPXxxE2SeEj7HTvMy7Xgeeo3q+Ti4y8AKBrMCY+mrfqnvOIcFQIUv Ngx0MDpCo8nW8O+jtkH3xhAAs0eklHIQzfMLb8iNUDLAaIwENMMvcf4wEQ+72D2BhDWI h4t6EqFyOwftx6i7StBKaw2jFcA2y5w3dZqhabOZ1efV8W6l8TZ1iQvYPMOVXYeRrMbx 07gsj89B893cvQGFm/c/IhEEd3yv1SUzZ1runLcRDGXk9HpTrhZIwGIc+crUa2ykb/o3 EGkkuRXJZMzqcc5rGYhZaUjyt1ao8EBPlsFBS+8AcGd9GNt7jKBn3cQUMbNt3J3ZJH54 DAMA== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@haasn.xyz header.s=mail header.b=O3Jca0Sd; 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 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id fe12-20020a056402390c00b0055822976d9dsi1245175edb.26.2024.01.12.00.30.20; Fri, 12 Jan 2024 00:30:20 -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=@haasn.xyz header.s=mail header.b=O3Jca0Sd; 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 Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id B4E6E68D06D; Fri, 12 Jan 2024 10:30:04 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from haasn.dev (haasn.dev [78.46.187.166]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id BA72A68CD4C for ; Fri, 12 Jan 2024 10:29:56 +0200 (EET) Received: from haasn.dev (unknown [10.30.0.2]) by haasn.dev (Postfix) with ESMTP id 47424414B5; Fri, 12 Jan 2024 09:29:56 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=haasn.xyz; s=mail; t=1705048196; bh=ChD+VxHxXTPMpgHvi1xBqe1vQtRXYZqpMfWMMcVa5h0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=O3Jca0SdsFgrFVJi/ulq0fQNfspykMk/SmMI+IJqifY5PPBYpWS1WZxPbhPVk0NWY n66MIoM99SzR/dIpn5jogtv8F7bhVVn66fz81eB2JSIi2fq8ynTDS4dbQsLZ3qihaK 1kjddQum+B4XVwrmUdSAMkIYQKwTmtu8ESxrAE94= From: Niklas Haas To: ffmpeg-devel@ffmpeg.org Date: Fri, 12 Jan 2024 09:25:58 +0100 Message-ID: <20240112082950.41637-2-ffmpeg@haasn.xyz> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240112082950.41637-1-ffmpeg@haasn.xyz> References: <20240112082950.41637-1-ffmpeg@haasn.xyz> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 01/11] avfilter/buffersrc: promote unspecified color metadata 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 Cc: Niklas Haas Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: ewrZKtqgMBt3 From: Niklas Haas Currently, this only affects untagged RGB/XYZ/Gray, which get forced to their corresponding metadata before entering the filter graph. The main justification for this change, however, is the planned ability to add automatic promotion of unspecified yuv to mpeg range yuv. Notably, this change will never allow accidentally cross-promoting unspecified to jpeg or to a specific YUV matrix, since that is still bound by the constraints of YUV range negotiation as set up by query_formats. --- libavfilter/buffersrc.c | 5 +++++ tests/ref/fate/rgb24-mkv | 4 ++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/libavfilter/buffersrc.c b/libavfilter/buffersrc.c index afe69433b2..e10653c866 100644 --- a/libavfilter/buffersrc.c +++ b/libavfilter/buffersrc.c @@ -277,6 +277,11 @@ FF_DISABLE_DEPRECATION_WARNINGS FF_ENABLE_DEPRECATION_WARNINGS #endif + if (copy->colorspace == AVCOL_SPC_UNSPECIFIED) + copy->colorspace = ctx->outputs[0]->colorspace; + if (copy->color_range == AVCOL_RANGE_UNSPECIFIED) + copy->color_range = ctx->outputs[0]->color_range; + ret = ff_filter_frame(ctx->outputs[0], copy); if (ret < 0) return ret; diff --git a/tests/ref/fate/rgb24-mkv b/tests/ref/fate/rgb24-mkv index 99234f1052..1cbed136dd 100644 --- a/tests/ref/fate/rgb24-mkv +++ b/tests/ref/fate/rgb24-mkv @@ -1,5 +1,5 @@ -e181dc84058c3584598333dabd110123 *tests/data/fate/rgb24-mkv.matroska -58225 tests/data/fate/rgb24-mkv.matroska +7d767e8238c674ecfa80458cb281c09e *tests/data/fate/rgb24-mkv.matroska +58236 tests/data/fate/rgb24-mkv.matroska #tb 0: 1/10 #media_type 0: video #codec_id 0: rawvideo From patchwork Fri Jan 12 08:25:59 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Niklas Haas X-Patchwork-Id: 45576 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:bf2f:b0:199:de12:6fa6 with SMTP id gc47csp2204109pzb; Fri, 12 Jan 2024 00:30:29 -0800 (PST) X-Google-Smtp-Source: AGHT+IFHnnWmyphhJOuP4nZehySV0LXN8wBYIud9L5kJekbzDnBZ8QFXXrChh9MqhHRgp/NdDsJK X-Received: by 2002:a05:6402:22b1:b0:554:dd0d:1955 with SMTP id cx17-20020a05640222b100b00554dd0d1955mr424339edb.62.1705048229424; Fri, 12 Jan 2024 00:30:29 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1705048229; cv=none; d=google.com; s=arc-20160816; b=boXeBjDSMuEbD0n6LzECynMgpxTodLDnQ2Xk2f7Iz8mO2aPp6LgXIdHU3mTf1tiLzg MgKdrk6KWNa3CZYtgrPNz1tlt8QBrt73uphKztjQ7pv6gEQM6ispH5oZ87XSXpIALw8A p2xOtIpAKY+DHP1Nr7EReVhg68ix2KuVwWCNG6EuuJ2PatB36im6kHSeBNheqbXX1BqL gCfaSkc79GzU/dyyl1jWI+LZgDVLeG9bZJWJzWDsr6S+T3IjqOqjaS59QlTBQZPF880t LGfAOVNKZivVUZRD8nnEwCfmyeCIWL+MubsePvQzlLVIEmIjd9kzrcbEbw7kpDUfpq8r Vybw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:cc: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=B1iasGV8c9RheU30qhriCmVDciq2EfC4PYK8M7RZMG0=; fh=xmAeKtysnShNOmkhiJmYkS30uw4Fu2hvBJ7qlIwukxQ=; b=Bv5cL+pPUDwsBJGm6b4zugvAj4HXIM2qY/MZFQv8EX/Jhj7b1rIcr1U67ybDq/7wz5 sqF0ukJUbuoLg727Idb8Nc3I4l5BfJnEFMtc5sWuGtf0qrUZrq/f+CGtoZbLPLfSCrfb Z5SmwwQ7DJ4TF3MA3FXrqyRywshIUzlJkiF/JKhPSWdAeTYgbJzhql2brTiOoiQflZ0j 31HOuFwTL5Wb8YSBMolN3Oa5sJzD4YvhiJnQGZ6n6kGVghjARvk6cbM+iVJhc2ODn9eV Qw9mq07FaQQVBxx2sxkF/gEE8CNlB+kEGEaIXAu0sHCFRZJhObcI9Vafg4dsADtv08uX 4yvg== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@haasn.xyz header.s=mail header.b=utlMh6B2; 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 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id i16-20020a05640242d000b00558bd08c756si566861edc.104.2024.01.12.00.30.29; Fri, 12 Jan 2024 00:30:29 -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=@haasn.xyz header.s=mail header.b=utlMh6B2; 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 Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id CB51F68D07D; Fri, 12 Jan 2024 10:30:05 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from haasn.dev (haasn.dev [78.46.187.166]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 831FE68CE49 for ; Fri, 12 Jan 2024 10:29:57 +0200 (EET) Received: from haasn.dev (unknown [10.30.0.2]) by haasn.dev (Postfix) with ESMTP id 1D1054A07A; Fri, 12 Jan 2024 09:29:57 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=haasn.xyz; s=mail; t=1705048197; bh=gZBD0Ew4soZTDjWfB7CJSZkNYgvfBkpvpCcIa/sXto0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=utlMh6B2+dOKvsPviSQ9PymUTz70v3gWj4QE1unfWgnvqMnU1Oe5A4UQme2kzXw3n 3cKXHeub3/232FClnlKtGjXwKfRv5HuSHE3yRx5ecNNhaTFlvssm4RCdlLkyDbvHwe xffE7TtM0MAoXUqei25uni52/XPytw+6H059oBuk= From: Niklas Haas To: ffmpeg-devel@ffmpeg.org Date: Fri, 12 Jan 2024 09:25:59 +0100 Message-ID: <20240112082950.41637-3-ffmpeg@haasn.xyz> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240112082950.41637-1-ffmpeg@haasn.xyz> References: <20240112082950.41637-1-ffmpeg@haasn.xyz> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 02/11] avfilter/buffersrc: allow promoting color range to MPEG 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 Cc: Niklas Haas Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: l4H70KOS5Emx From: Niklas Haas Otherwise, passing an UNSPECIFIED frame to am MPEG-only filter graph would trigger insertion of an unnecessary vf_scale filter, which would perform a memcpy to convert between the two. This is safe to do because unspecified YUV frames are already universally assumed to be MPEG range, in particular by swscale. --- libavfilter/buffersrc.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/libavfilter/buffersrc.c b/libavfilter/buffersrc.c index e10653c866..ee0c89ef05 100644 --- a/libavfilter/buffersrc.c +++ b/libavfilter/buffersrc.c @@ -492,8 +492,14 @@ static int query_formats(AVFilterContext *ctx) if ((ret = ff_add_format(&color_spaces, c->color_space)) < 0 || (ret = ff_set_common_color_spaces(ctx, color_spaces)) < 0) return ret; - if ((ret = ff_add_format(&color_ranges, c->color_range)) < 0 || - (ret = ff_set_common_color_ranges(ctx, color_ranges)) < 0) + if ((ret = ff_add_format(&color_ranges, c->color_range)) < 0) + return ret; + if (c->color_range == AVCOL_RANGE_UNSPECIFIED) { + /* allow implicitly promoting unspecified to mpeg */ + if ((ret = ff_add_format(&color_ranges, AVCOL_RANGE_MPEG)) < 0) + return ret; + } + if ((ret = ff_set_common_color_ranges(ctx, color_ranges)) < 0) return ret; } break; From patchwork Fri Jan 12 08:26:00 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Niklas Haas X-Patchwork-Id: 45577 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:bf2f:b0:199:de12:6fa6 with SMTP id gc47csp2204205pzb; Fri, 12 Jan 2024 00:30:38 -0800 (PST) X-Google-Smtp-Source: AGHT+IELbW4R8aNNbfYca87aeW2C3XJNBD/hvJziOI1YihRKWnXP48fpvWiAS5buS0VyqGC8gGe5 X-Received: by 2002:a05:6402:c1c:b0:558:db8f:d39 with SMTP id co28-20020a0564020c1c00b00558db8f0d39mr112539edb.28.1705048238412; Fri, 12 Jan 2024 00:30:38 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1705048238; cv=none; d=google.com; s=arc-20160816; b=kDs/xQte2GhTZuTylrL689dGxryME1gPsuBQ6/H2UqM/zX0iKkCMKNqXH5M2NiK3Ao bl26QPlAPv7A8/gEbguCSD/a8Vdek2Kq4uJP/+U9Vh45uFnbeGg56ZpSux+hSM7htRA6 qTlcc1K8Kn5+gGFCCGrY7oNLRRrYBikn6kVMEaajIEabuJSh1PxG1gBx+5tqr8rsOBGJ VVkv3OYJd825ABd5/kuRUN91Jgl/RsWDgjr3MZ7q62LgOyfRqqXXSQb9Bx2VMfRIpnv6 LccQr3b+Cp3XreJ9lLJWHOuq2T5CSq8ktVOmkWvcD22EwkUqXqVyqaDj1etdIlrWRgqb LCfg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:cc: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=HcBfecI27xs/kpukc7kG8Q1kunhfyP3xr+mWTG7sBS4=; fh=xmAeKtysnShNOmkhiJmYkS30uw4Fu2hvBJ7qlIwukxQ=; b=uRJiGTXJ/3Fcq6xNbvGUG51eRm9E7XFhDSPKbO5gJRU3Rl9hjXpYBndzTEJet6hg2r 0FQSyogyX/ZG1RHeKustVAL7bzx5jrBHhd81iyRsGpvWGl5UNFS1QufalBVU4HxacK9E oWuKRgv27liQhyZAZmvzbGRxHp5LTaD1QK5qT+gaKy7AyS2ZIOBTOuJ6yOEMz+lL9Ets zASOClz+rGyYUd5XBIrO7lpy8D5nYCVI5Kh+3RB4KM760kRnsTAYIgHZQd+qmn9dLl0z 9XHs/foqjRjOchkUsg9lUd8VONlLc1X+xo+urzz1xOwPQ3j4AtpF4afyrimVnE+6trRK kVMA== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@haasn.xyz header.s=mail header.b=YeWS3dqb; 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 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id g9-20020a0564021ec900b005549ec070cdsi1257058edg.327.2024.01.12.00.30.38; Fri, 12 Jan 2024 00:30:38 -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=@haasn.xyz header.s=mail header.b=YeWS3dqb; 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 Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id C98E468D05F; Fri, 12 Jan 2024 10:30:06 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from haasn.dev (haasn.dev [78.46.187.166]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 8843368C838 for ; Fri, 12 Jan 2024 10:29:58 +0200 (EET) Received: from haasn.dev (unknown [10.30.0.2]) by haasn.dev (Postfix) with ESMTP id 14CCD4B77A; Fri, 12 Jan 2024 09:29:57 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=haasn.xyz; s=mail; t=1705048198; bh=XDG/m8CNPVS5wQyqjf9I9hR3paksn+IGqtAdbwTgG6s=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=YeWS3dqbwVPXdKHCFGWIMSnuobj868syVaLnAPVQewpXgrcQcHHVOPZlRv+bEbUHg 08pKq5sQWSqh1L+jKSQWTbhkLKXFNysiFqa8xRRj78OEMAzdzKhGKm2SnWkfF/z10Y uVgmmpWae72iQlpft5OlFk3OP8iuRwVj32vbxtZY= From: Niklas Haas To: ffmpeg-devel@ffmpeg.org Date: Fri, 12 Jan 2024 09:26:00 +0100 Message-ID: <20240112082950.41637-4-ffmpeg@haasn.xyz> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240112082950.41637-1-ffmpeg@haasn.xyz> References: <20240112082950.41637-1-ffmpeg@haasn.xyz> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 03/11] avfilter/vf_tiltandshift: check outlink->color_range 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 Cc: Niklas Haas Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: Oikl68Z5/jnR From: Niklas Haas In addition to YUVJ pixfmts. --- libavfilter/vf_tiltandshift.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libavfilter/vf_tiltandshift.c b/libavfilter/vf_tiltandshift.c index 0b1a03e29e..dc30f4ff1b 100644 --- a/libavfilter/vf_tiltandshift.c +++ b/libavfilter/vf_tiltandshift.c @@ -140,7 +140,8 @@ static int config_props(AVFilterLink *outlink) if (outlink->format == AV_PIX_FMT_YUVJ420P || outlink->format == AV_PIX_FMT_YUVJ422P || outlink->format == AV_PIX_FMT_YUVJ444P || - outlink->format == AV_PIX_FMT_YUVJ440P) + outlink->format == AV_PIX_FMT_YUVJ440P || + outlink->color_range == AVCOL_RANGE_JPEG) black_data[0] = black_data[3] = 0; ret = av_image_alloc(s->black_buffers, s->black_linesizes, 1, From patchwork Fri Jan 12 08:26:01 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Niklas Haas X-Patchwork-Id: 45578 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:bf2f:b0:199:de12:6fa6 with SMTP id gc47csp2204246pzb; Fri, 12 Jan 2024 00:30:47 -0800 (PST) X-Google-Smtp-Source: AGHT+IFIl4ZdTF2T/6ZIgQ+dZG+Lwnkcps0Bpis84RVydijKgkKLDebQY3Dso/Gg0k8yj3nvLqux X-Received: by 2002:a17:907:8e93:b0:a2c:ab73:9311 with SMTP id tx19-20020a1709078e9300b00a2cab739311mr376453ejc.31.1705048247513; Fri, 12 Jan 2024 00:30:47 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1705048247; cv=none; d=google.com; s=arc-20160816; b=dsdGtYL/LeyHt+yMGlUVM3KwTYl6IDqJkRxQN5R7VlQgBJjFQKkZrxu6iQIqCpkgYo C2wzFp8I1epyLFYHTkzfIMSN9jNTF60BDQ+GRMoGPVAFNOKMZwvR//W77M9a7ZF21cjS qps0CJ20H7XKbUsco6ix/SIaJTE66vlX7IeW4KHE9Pxjb3rTJB+ndsIcuXJSyr0qeMlO Tj+6xT69Ik0ZTs2l2PeIrdQoNjzqxI4vmRGVOP9+jj369XXzAVxDKLDze1Ixk3DJkUi3 Blwx+E1J44fEWZUUKWuyZeQXlW6O0F5MnkpVCQS5mI4tJnnWZtLaCUCn2jlED35NKmvY oZrw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:cc: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=b40WiKXA7swq1EIWYyRviKGZ+xjCW9MtS2/dics5spc=; fh=xmAeKtysnShNOmkhiJmYkS30uw4Fu2hvBJ7qlIwukxQ=; b=HTPJ9/4IqW3b4QlXRK0D0sv2CpV1sQnxs8D+3sAaxNf2wT61CYosh+ngI7/rM4npD3 1QZwGfStKVi8kHegCybGyzArHEe3MnjuyTXfjd16oRSZRFsbxnH0v/9BEhHSapfhEaJo UJzgikrnm5hQOtmx4mQ5I6mqvf9TeloFNMkNtDMv1ac/1Pa9ZyonzK6ap2Log8Prx+Qw OnZRGeod+Id1P4NXohljSGlVkBGdNnHvaBH/meaZbIY6ysttS9/dBBwQqvB9c+BvDPN6 u0QrPUp4SEasEGFgvM4k9BJfF2kEHahzQHcnQib5/Xde1Ym30FKWgZOS+GegURdR30Yr eOnw== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@haasn.xyz header.s=mail header.b=sOprgXpM; 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 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id m22-20020a170906259600b00a26aaf93de6si1191776ejb.108.2024.01.12.00.30.47; Fri, 12 Jan 2024 00:30:47 -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=@haasn.xyz header.s=mail header.b=sOprgXpM; 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 Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id D0F3D68D08F; Fri, 12 Jan 2024 10:30:07 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from haasn.dev (haasn.dev [78.46.187.166]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 6BE7368D068 for ; Fri, 12 Jan 2024 10:29:59 +0200 (EET) Received: from haasn.dev (unknown [10.30.0.2]) by haasn.dev (Postfix) with ESMTP id E7DCF4B78B; Fri, 12 Jan 2024 09:29:58 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=haasn.xyz; s=mail; t=1705048199; bh=piqyGAbZJokKNtm//g8SNBMv8xisqOrcm4RBXAeEmqw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=sOprgXpMJ3h2NVzi5b70Ea+Gg7YD3ViDGkbtSpNWfqLWyGlPqD+5RlyKUCdlmFo7y fpK8B+RAxjnCNtJ+vw5pxFCTPigckb4a4sOJnIxbcygMzviaFFOnug3ce37jr7rGru llKpMC1gKtaNxpPQcLW0BGaAuKUBeXI8+d3xLqQE= From: Niklas Haas To: ffmpeg-devel@ffmpeg.org Date: Fri, 12 Jan 2024 09:26:01 +0100 Message-ID: <20240112082950.41637-5-ffmpeg@haasn.xyz> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240112082950.41637-1-ffmpeg@haasn.xyz> References: <20240112082950.41637-1-ffmpeg@haasn.xyz> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 04/11] avcodec: add YUV color space metadata to AVCodec 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 Cc: Niklas Haas Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: rvKl+zwRKLCd From: Niklas Haas This is motivated primarily by a desire for YUVJ removal, which will require signalling the supported color ranges as part of the codec capabilities. But since we're adding YUV range, we might as well add the YUV color matrix as well - since some codecs (e.g. VP8, JPEG) only support certain values. I decided to preserve the ambiguous and misleading "color_spaces" name, for symmetry with AVFrame.colorspace. (Though this would IMO be better called "color_matrix" or "color_system") I also decided to omit the other AVColor* fields for now, because vf_scale cannot handle auto-conversion between primaries/transfer/etc. There is little value in adding metadata we cannot do anything with, and no harm in extending the API again in the future. In theory, vf_scale can handle conversion between chroma locations, but also the signalling for this is annoying, so I'll defer it to a future commit. --- doc/APIchanges | 3 +++ libavcodec/codec.h | 6 ++++++ 2 files changed, 9 insertions(+) diff --git a/doc/APIchanges b/doc/APIchanges index e477ed78e0..99eeda1779 100644 --- a/doc/APIchanges +++ b/doc/APIchanges @@ -2,6 +2,9 @@ The last version increases of all libraries were on 2023-02-09 API changes, most recent first: +2023-11-xx - xxxxxxxxxx - lavc 60.37.100 - avcodec.h + Add AVCodec.color_ranges and AVCodec.color_spaces. + 2023-11-xx - xxxxxxxxxx - lavfi 9.16.100 - buffersink.h buffersrc.h Add av_buffersink_get_colorspace and av_buffersink_get_color_range. Add AVBufferSrcParameters.color_space and AVBufferSrcParameters.color_range. diff --git a/libavcodec/codec.h b/libavcodec/codec.h index 8034f1a53c..8bd678de7a 100644 --- a/libavcodec/codec.h +++ b/libavcodec/codec.h @@ -235,6 +235,12 @@ typedef struct AVCodec { * Array of supported channel layouts, terminated with a zeroed layout. */ const AVChannelLayout *ch_layouts; + + /** + * Array of supported YUV color formats. Ignored for RGB/Gray formats. + */ + const enum AVColorRange *color_ranges; ///< terminated by AVCOL_RANGE_UNSPECIFIED + const enum AVColorSpace *color_spaces; ///< terminated by AVCOL_SPC_UNSPECIFIED } AVCodec; /** From patchwork Fri Jan 12 08:26:02 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Niklas Haas X-Patchwork-Id: 45581 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:bf2f:b0:199:de12:6fa6 with SMTP id gc47csp2204445pzb; Fri, 12 Jan 2024 00:31:15 -0800 (PST) X-Google-Smtp-Source: AGHT+IGof6XNppXp8RT4lcV9k/QFSIZJuFaVlVJabREa4JI1Y1efeKESvbBf7TxbPmwIqkRsYEfk X-Received: by 2002:a17:907:8b98:b0:a2c:bb59:6ea6 with SMTP id tb24-20020a1709078b9800b00a2cbb596ea6mr353568ejc.129.1705048275509; Fri, 12 Jan 2024 00:31:15 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1705048275; cv=none; d=google.com; s=arc-20160816; b=kS69sN/a5m14XsM5f5ta5eH1ENKHci9LGux24uM0EcuPs5IbxtODwoJeP8QQOzJmfj B7KaNg9iD6e134763Q2hyP/NQuYSmdN6+CP8j0YReARsKap5PycothwTkyPbcGl1cZKi O8OZLrI9nGqNX6vr1a1+DxnIqNWg5WTPxhV2RL5eTVDb9ZB3ae0xvZO85s5++/JAMA4O S2JsEAcl38AJnKlWr5jVL0t37ve8e0dsF7mKf1Z9j8sRfU0miHTeKcUdiqfTXn69IS6O 5dk04MKFEXdhDSg1lK3V2gNkHjquoErorulNwMvg7mfWJ2+q1KfcQEXxWGBlANRi1Ve7 3o5w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:cc: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=tUNeVV/q3qXvKYmfN4+DqDkp0MpO9AnxV92BVXfUAWk=; fh=xmAeKtysnShNOmkhiJmYkS30uw4Fu2hvBJ7qlIwukxQ=; b=f74+t8nWU+TBxeMHS58HNQ2KCDor4j3x6bM3EtQCf2L86gg9dgAKRYlaBwqpQ/3lC2 Cpud9IPO9qOtqYUifZy/8/p6b+UE/wjQW8KqLKmA4Fy/LFjMm0DhGaxwLHPfQBWGbE1A 3d64wdtgT9bXoiew3HpfORaYl0h26TS/SyIXec0HFRDBKa4Qqk+P0o/pSoauJhGwHdk8 35UFND85nvLP9XidXffGjxwnQlq4+LBDuIuKX3rSZ4UW933PEyl6M7L/3wCz//9Svbu4 tXd46u5XzR4BYyx6UATMb4NNAQIZfD/9SOplCAIxcu5toEtGH+pKVQCGo3LObiLoZ9aS fFVg== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@haasn.xyz header.s=mail header.b=eoDjzBG1; 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 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id x24-20020a170906b09800b00a2a35fdb071si1205761ejy.828.2024.01.12.00.31.15; Fri, 12 Jan 2024 00:31:15 -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=@haasn.xyz header.s=mail header.b=eoDjzBG1; 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 Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 55D0E68D0BD; Fri, 12 Jan 2024 10:30:11 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from haasn.dev (haasn.dev [78.46.187.166]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 6A46E68D085 for ; Fri, 12 Jan 2024 10:30:01 +0200 (EET) Received: from haasn.dev (unknown [10.30.0.2]) by haasn.dev (Postfix) with ESMTP id 2E3A14B9A0; Fri, 12 Jan 2024 09:30:00 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=haasn.xyz; s=mail; t=1705048200; bh=vAZAPlHw74VmtEFfmQQf/KLPtIyEAtAWX+X479Om148=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=eoDjzBG1n6djkf2SM6poQUCbEbNLjO1skeVtzDH8i0Or77eBJMbja+rFodtAcfu4t 35rwqcTDCOXWXQ9a3KlXCUc0JalbEMAWOojsbYiwDdRXXHDzeqTsf7m+PG/ntaYZvf Pisz+fmCP3dTj2yWMx0PPQIvA8DymWEA3G1Zawso= From: Niklas Haas To: ffmpeg-devel@ffmpeg.org Date: Fri, 12 Jan 2024 09:26:02 +0100 Message-ID: <20240112082950.41637-6-ffmpeg@haasn.xyz> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240112082950.41637-1-ffmpeg@haasn.xyz> References: <20240112082950.41637-1-ffmpeg@haasn.xyz> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 05/11] avcodec: set color_ranges for all video encoders 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 Cc: Niklas Haas Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: Z9utmYOAD00T From: Niklas Haas I went through all codecs and put them into five basic categories: 1. JPEG range only 2. MPEG range only 3. Explicitly tagged 4. Broken (codec supports both but encoder ignores tags) 5. N/A (headerless or pseudo-formats) Filters in category 5 remain untouched. The rest gain an explicit assignment of their supported color ranges, with codecs in category 4 being set to MPEG-only for safety. It might be considered redundant to assign a list of all possible color ranges to codecs in category 3, but in doing so we effectively communicate that we can guarantee that these tags will be encoded, which is distinct from the situation where there are some codecs that simply don't have tagging or implied semantics (e.g. rawvideo). A full list of codecs follows: JPEG range only: - amv - roqvideo MPEG range only: - asv1, asv2 - avui - cfhd - cljr - dnxhd - dvvideo - ffv1 - flv - h261, h263, h263p - {h263,vp8}_v4l2m2m - huffyuv, ffvhuff - jpeg2000 - libopenjpeg - libtheora - libwebp, libwebp_anim - libx262 - libxavs, libxavs2 - libxvid - mpeg1video, mpeg2video - mpeg2_qsv - mpeg2_vaapi - mpeg4, msmpeg4, msmpeg4v2, wmv1, wmv2 - mpeg4_omx - rv10, rv20 - snow - speedhq - svq1 - tiff - utvideo Explicitly tagged (MPEG/JPEG): - {av1,h264,hevc}_nvenc - {av1,h264,hevc}_vaapi - {av1,h264,hevc,vp8,vp9,mpeg4}_mediacodec - {av1,h264,hevc,vp9}_qsv - h264_amf - {h264,hevc,prores}_videotoolbox - libaom-av1 - libkvazaar - libopenh264 - librav1e - libsvtav1 - libvpx, libvpx-vp9 - libx264 - libx265 - ljpeg - mjpeg - vc2 Broken (encoder ignores tags): - {av1,hevc}_amf - {h264,hevc,mpeg4}_v4l2m2m - h264_omx - libxeve - magicyuv - {vp8,vp9,mjpeg}_vaapi N/A: - ayuv, yuv4, y41p, v308, v210, v410, v408 (headerless) - pgmyuv (headerless) - prores, prores_aw, prores_ks (?) - rawvideo, bitpacked (headerless) - vnull, wrapped_avframe (pseudocodecs) --- libavcodec/amfenc_av1.c | 1 + libavcodec/amfenc_h264.c | 1 + libavcodec/amfenc_hevc.c | 1 + libavcodec/asvenc.c | 2 ++ libavcodec/avuienc.c | 1 + libavcodec/cfhdenc.c | 1 + libavcodec/cljrenc.c | 1 + libavcodec/codec_internal.h | 4 ++++ libavcodec/dnxhdenc.c | 1 + libavcodec/dvenc.c | 1 + libavcodec/ffv1enc.c | 1 + libavcodec/flvenc.c | 1 + libavcodec/h261enc.c | 1 + libavcodec/huffyuvenc.c | 2 ++ libavcodec/ituh263enc.c | 2 ++ libavcodec/j2kenc.c | 1 + libavcodec/libaomenc.c | 1 + libavcodec/libkvazaar.c | 1 + libavcodec/libopenh264enc.c | 1 + libavcodec/libopenjpegenc.c | 1 + libavcodec/librav1e.c | 1 + libavcodec/libsvtav1.c | 1 + libavcodec/libtheoraenc.c | 1 + libavcodec/libvpxenc.c | 2 ++ libavcodec/libwebpenc.c | 1 + libavcodec/libwebpenc_animencoder.c | 1 + libavcodec/libx264.c | 2 ++ libavcodec/libx265.c | 1 + libavcodec/libxavs.c | 1 + libavcodec/libxavs2.c | 1 + libavcodec/libxeve.c | 1 + libavcodec/libxvid.c | 1 + libavcodec/ljpegenc.c | 1 + libavcodec/magicyuvenc.c | 1 + libavcodec/mediacodecenc.c | 1 + libavcodec/mjpegenc.c | 2 ++ libavcodec/mpeg12enc.c | 2 ++ libavcodec/mpeg4videoenc.c | 1 + libavcodec/msmpeg4enc.c | 3 +++ libavcodec/nvenc_av1.c | 1 + libavcodec/nvenc_h264.c | 1 + libavcodec/nvenc_hevc.c | 1 + libavcodec/omx.c | 2 ++ libavcodec/qsvenc_av1.c | 1 + libavcodec/qsvenc_h264.c | 1 + libavcodec/qsvenc_hevc.c | 1 + libavcodec/qsvenc_jpeg.c | 1 + libavcodec/qsvenc_mpeg2.c | 1 + libavcodec/qsvenc_vp9.c | 1 + libavcodec/roqvideoenc.c | 1 + libavcodec/rv10enc.c | 1 + libavcodec/rv20enc.c | 1 + libavcodec/snowenc.c | 1 + libavcodec/speedhqenc.c | 1 + libavcodec/svq1enc.c | 1 + libavcodec/tiffenc.c | 1 + libavcodec/utils.c | 12 ++++++++++++ libavcodec/utvideoenc.c | 1 + libavcodec/v4l2_m2m_enc.c | 1 + libavcodec/vaapi_encode_av1.c | 1 + libavcodec/vaapi_encode_h264.c | 1 + libavcodec/vaapi_encode_h265.c | 1 + libavcodec/vaapi_encode_mjpeg.c | 1 + libavcodec/vaapi_encode_mpeg2.c | 1 + libavcodec/vaapi_encode_vp8.c | 1 + libavcodec/vaapi_encode_vp9.c | 1 + libavcodec/vc2enc.c | 3 ++- libavcodec/videotoolboxenc.c | 2 ++ libavcodec/wmv2enc.c | 1 + 69 files changed, 95 insertions(+), 1 deletion(-) diff --git a/libavcodec/amfenc_av1.c b/libavcodec/amfenc_av1.c index 949251d4e8..15c86a6ec6 100644 --- a/libavcodec/amfenc_av1.c +++ b/libavcodec/amfenc_av1.c @@ -484,6 +484,7 @@ const FFCodec ff_av1_amf_encoder = { AV_CODEC_CAP_DR1, .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, .p.pix_fmts = ff_amf_pix_fmts, + .p.color_ranges = ff_color_range_mpeg, /* FIXME: implement tagging */ .p.wrapper_name = "amf", .hw_configs = ff_amfenc_hw_configs, }; diff --git a/libavcodec/amfenc_h264.c b/libavcodec/amfenc_h264.c index a6b82365ad..ea1a6d32e5 100644 --- a/libavcodec/amfenc_h264.c +++ b/libavcodec/amfenc_h264.c @@ -538,6 +538,7 @@ const FFCodec ff_h264_amf_encoder = { .caps_internal = FF_CODEC_CAP_NOT_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP, .p.pix_fmts = ff_amf_pix_fmts, + .p.color_ranges = ff_color_range_all, .p.wrapper_name = "amf", .hw_configs = ff_amfenc_hw_configs, }; diff --git a/libavcodec/amfenc_hevc.c b/libavcodec/amfenc_hevc.c index 9db01db28d..ecde4792d4 100644 --- a/libavcodec/amfenc_hevc.c +++ b/libavcodec/amfenc_hevc.c @@ -453,6 +453,7 @@ const FFCodec ff_hevc_amf_encoder = { .caps_internal = FF_CODEC_CAP_NOT_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP, .p.pix_fmts = ff_amf_pix_fmts, + .p.color_ranges = ff_color_range_mpeg, /* FIXME: implement tagging */ .p.wrapper_name = "amf", .hw_configs = ff_amfenc_hw_configs, }; diff --git a/libavcodec/asvenc.c b/libavcodec/asvenc.c index 50da46738c..a1f331782d 100644 --- a/libavcodec/asvenc.c +++ b/libavcodec/asvenc.c @@ -367,6 +367,7 @@ const FFCodec ff_asv1_encoder = { FF_CODEC_ENCODE_CB(encode_frame), .p.pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUV420P, AV_PIX_FMT_NONE }, + .p.color_ranges = ff_color_range_mpeg, }; #endif @@ -382,5 +383,6 @@ const FFCodec ff_asv2_encoder = { FF_CODEC_ENCODE_CB(encode_frame), .p.pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUV420P, AV_PIX_FMT_NONE }, + .p.color_ranges = ff_color_range_mpeg, }; #endif diff --git a/libavcodec/avuienc.c b/libavcodec/avuienc.c index 8a093d3d19..b917caa226 100644 --- a/libavcodec/avuienc.c +++ b/libavcodec/avuienc.c @@ -99,6 +99,7 @@ const FFCodec ff_avui_encoder = { .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_EXPERIMENTAL | AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE, .p.pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_UYVY422, AV_PIX_FMT_NONE }, + .p.color_ranges = ff_color_range_mpeg, .init = avui_encode_init, FF_CODEC_ENCODE_CB(avui_encode_frame), }; diff --git a/libavcodec/cfhdenc.c b/libavcodec/cfhdenc.c index 75f41e701b..5dd33a6fc9 100644 --- a/libavcodec/cfhdenc.c +++ b/libavcodec/cfhdenc.c @@ -871,5 +871,6 @@ const FFCodec ff_cfhd_encoder = { AV_PIX_FMT_GBRAP12, AV_PIX_FMT_NONE }, + .p.color_ranges = ff_color_range_mpeg, .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, }; diff --git a/libavcodec/cljrenc.c b/libavcodec/cljrenc.c index ee03dd3e2e..2bdd8a15d9 100644 --- a/libavcodec/cljrenc.c +++ b/libavcodec/cljrenc.c @@ -117,5 +117,6 @@ const FFCodec ff_cljr_encoder = { FF_CODEC_ENCODE_CB(encode_frame), .p.pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUV411P, AV_PIX_FMT_NONE }, + .p.color_ranges = ff_color_range_mpeg, .p.priv_class = &cljr_class, }; diff --git a/libavcodec/codec_internal.h b/libavcodec/codec_internal.h index 130a7dc3cd..f2fc8feb08 100644 --- a/libavcodec/codec_internal.h +++ b/libavcodec/codec_internal.h @@ -327,4 +327,8 @@ static av_always_inline const FFCodec *ffcodec(const AVCodec *codec) return (const FFCodec*)codec; } +extern const enum AVColorRange ff_color_range_jpeg[]; +extern const enum AVColorRange ff_color_range_mpeg[]; +extern const enum AVColorRange ff_color_range_all[]; + #endif /* AVCODEC_CODEC_INTERNAL_H */ diff --git a/libavcodec/dnxhdenc.c b/libavcodec/dnxhdenc.c index aa273b5c60..a920f8a2a8 100644 --- a/libavcodec/dnxhdenc.c +++ b/libavcodec/dnxhdenc.c @@ -1371,6 +1371,7 @@ const FFCodec ff_dnxhd_encoder = { AV_PIX_FMT_GBRP10, AV_PIX_FMT_NONE }, + .p.color_ranges = ff_color_range_mpeg, .p.priv_class = &dnxhd_class, .defaults = dnxhd_defaults, .p.profiles = NULL_IF_CONFIG_SMALL(ff_dnxhd_profiles), diff --git a/libavcodec/dvenc.c b/libavcodec/dvenc.c index f0820bb2ee..e675a5d9fe 100644 --- a/libavcodec/dvenc.c +++ b/libavcodec/dvenc.c @@ -1250,5 +1250,6 @@ const FFCodec ff_dvvideo_encoder = { AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV420P, AV_PIX_FMT_NONE }, + .p.color_ranges = ff_color_range_mpeg, .p.priv_class = &dvvideo_encode_class, }; diff --git a/libavcodec/ffv1enc.c b/libavcodec/ffv1enc.c index 5bd00f5d9e..eb61c6a9b2 100644 --- a/libavcodec/ffv1enc.c +++ b/libavcodec/ffv1enc.c @@ -1303,6 +1303,7 @@ const FFCodec ff_ffv1_encoder = { AV_PIX_FMT_NONE }, + .p.color_ranges = ff_color_range_mpeg, .p.priv_class = &ffv1_class, .caps_internal = FF_CODEC_CAP_INIT_CLEANUP | FF_CODEC_CAP_EOF_FLUSH, }; diff --git a/libavcodec/flvenc.c b/libavcodec/flvenc.c index 6a96cb0f2f..77a6edffa8 100644 --- a/libavcodec/flvenc.c +++ b/libavcodec/flvenc.c @@ -105,5 +105,6 @@ const FFCodec ff_flv_encoder = { .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, .p.pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUV420P, AV_PIX_FMT_NONE}, + .p.color_ranges = ff_color_range_mpeg, .p.capabilities = AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE, }; diff --git a/libavcodec/h261enc.c b/libavcodec/h261enc.c index 438ebb63d9..e8cccd6d05 100644 --- a/libavcodec/h261enc.c +++ b/libavcodec/h261enc.c @@ -413,5 +413,6 @@ const FFCodec ff_h261_encoder = { .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, .p.pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUV420P, AV_PIX_FMT_NONE }, + .p.color_ranges = ff_color_range_mpeg, .p.capabilities = AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE, }; diff --git a/libavcodec/huffyuvenc.c b/libavcodec/huffyuvenc.c index 73f543ac24..17c27ce1d0 100644 --- a/libavcodec/huffyuvenc.c +++ b/libavcodec/huffyuvenc.c @@ -1092,6 +1092,7 @@ const FFCodec ff_huffyuv_encoder = { AV_PIX_FMT_YUV422P, AV_PIX_FMT_RGB24, AV_PIX_FMT_RGB32, AV_PIX_FMT_NONE }, + .p.color_ranges = ff_color_range_mpeg, .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, }; @@ -1125,6 +1126,7 @@ const FFCodec ff_ffvhuff_encoder = { AV_PIX_FMT_RGB24, AV_PIX_FMT_RGB32, AV_PIX_FMT_NONE }, + .p.color_ranges = ff_color_range_mpeg, .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, }; #endif diff --git a/libavcodec/ituh263enc.c b/libavcodec/ituh263enc.c index 6acb13299a..43375ab065 100644 --- a/libavcodec/ituh263enc.c +++ b/libavcodec/ituh263enc.c @@ -906,6 +906,7 @@ const FFCodec ff_h263_encoder = { .p.type = AVMEDIA_TYPE_VIDEO, .p.id = AV_CODEC_ID_H263, .p.pix_fmts = (const enum AVPixelFormat[]){AV_PIX_FMT_YUV420P, AV_PIX_FMT_NONE}, + .p.color_ranges = ff_color_range_mpeg, .p.priv_class = &h263_class, .p.capabilities = AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE, .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, @@ -936,6 +937,7 @@ const FFCodec ff_h263p_encoder = { .p.type = AVMEDIA_TYPE_VIDEO, .p.id = AV_CODEC_ID_H263P, .p.pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_YUV420P, AV_PIX_FMT_NONE }, + .p.color_ranges = ff_color_range_mpeg, .p.priv_class = &h263p_class, .p.capabilities = AV_CODEC_CAP_SLICE_THREADS | AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE, .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, diff --git a/libavcodec/j2kenc.c b/libavcodec/j2kenc.c index e0eb73281a..2f19594066 100644 --- a/libavcodec/j2kenc.c +++ b/libavcodec/j2kenc.c @@ -1862,6 +1862,7 @@ const FFCodec ff_jpeg2000_encoder = { AV_PIX_FMT_PAL8, AV_PIX_FMT_NONE }, + .p.color_ranges = ff_color_range_mpeg, .p.priv_class = &j2k_class, .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, }; diff --git a/libavcodec/libaomenc.c b/libavcodec/libaomenc.c index 5d286fc98b..830c26f11f 100644 --- a/libavcodec/libaomenc.c +++ b/libavcodec/libaomenc.c @@ -1558,6 +1558,7 @@ FFCodec ff_libaom_av1_encoder = { .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY | AV_CODEC_CAP_ENCODER_RECON_FRAME | AV_CODEC_CAP_OTHER_THREADS, + .p.color_ranges = ff_color_range_all, .p.profiles = NULL_IF_CONFIG_SMALL(ff_av1_profiles), .p.priv_class = &class_aom, .p.wrapper_name = "libaom", diff --git a/libavcodec/libkvazaar.c b/libavcodec/libkvazaar.c index 8d52df142d..8aea99685f 100644 --- a/libavcodec/libkvazaar.c +++ b/libavcodec/libkvazaar.c @@ -333,6 +333,7 @@ const FFCodec ff_libkvazaar_encoder = { .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY | AV_CODEC_CAP_OTHER_THREADS, .p.pix_fmts = pix_fmts, + .p.color_ranges = ff_color_range_all, .p.priv_class = &class, .priv_data_size = sizeof(LibkvazaarContext), diff --git a/libavcodec/libopenh264enc.c b/libavcodec/libopenh264enc.c index 4d303cd9e7..18ae37e9ef 100644 --- a/libavcodec/libopenh264enc.c +++ b/libavcodec/libopenh264enc.c @@ -444,6 +444,7 @@ const FFCodec ff_libopenh264_encoder = { .p.pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_NONE }, + .p.color_ranges = ff_color_range_all, .defaults = svc_enc_defaults, .p.priv_class = &class, .p.wrapper_name = "libopenh264", diff --git a/libavcodec/libopenjpegenc.c b/libavcodec/libopenjpegenc.c index e9aa5b9649..a9a1adf215 100644 --- a/libavcodec/libopenjpegenc.c +++ b/libavcodec/libopenjpegenc.c @@ -784,6 +784,7 @@ const FFCodec ff_libopenjpeg_encoder = { AV_PIX_FMT_XYZ12, AV_PIX_FMT_NONE }, + .p.color_ranges = ff_color_range_mpeg, .p.priv_class = &openjpeg_class, .p.wrapper_name = "libopenjpeg", }; diff --git a/libavcodec/librav1e.c b/libavcodec/librav1e.c index 68bf16232a..c47147ffd5 100644 --- a/libavcodec/librav1e.c +++ b/libavcodec/librav1e.c @@ -683,6 +683,7 @@ const FFCodec ff_librav1e_encoder = { .p.priv_class = &class, .defaults = librav1e_defaults, .p.pix_fmts = librav1e_pix_fmts, + .p.color_ranges = ff_color_range_all, .p.capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_OTHER_THREADS | AV_CODEC_CAP_DR1 | AV_CODEC_CAP_ENCODER_RECON_FRAME | AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE, diff --git a/libavcodec/libsvtav1.c b/libavcodec/libsvtav1.c index 0679daad37..6276fb1474 100644 --- a/libavcodec/libsvtav1.c +++ b/libavcodec/libsvtav1.c @@ -699,6 +699,7 @@ const FFCodec ff_libsvtav1_encoder = { .p.pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV420P10, AV_PIX_FMT_NONE }, + .p.color_ranges = ff_color_range_all, .p.priv_class = &class, .defaults = eb_enc_defaults, .p.wrapper_name = "libsvtav1", diff --git a/libavcodec/libtheoraenc.c b/libavcodec/libtheoraenc.c index 06eeaae006..cb14287bb0 100644 --- a/libavcodec/libtheoraenc.c +++ b/libavcodec/libtheoraenc.c @@ -390,5 +390,6 @@ const FFCodec ff_libtheora_encoder = { .p.pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_NONE }, + .p.color_ranges = ff_color_range_mpeg, .p.wrapper_name = "libtheora", }; diff --git a/libavcodec/libvpxenc.c b/libavcodec/libvpxenc.c index 7ad399eb9c..d63c8877f4 100644 --- a/libavcodec/libvpxenc.c +++ b/libavcodec/libvpxenc.c @@ -2042,6 +2042,7 @@ const FFCodec ff_libvpx_vp8_encoder = { .caps_internal = FF_CODEC_CAP_NOT_INIT_THREADSAFE | FF_CODEC_CAP_AUTO_THREADS, .p.pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUVA420P, AV_PIX_FMT_NONE }, + .p.color_ranges = ff_color_range_all, .p.priv_class = &class_vp8, .defaults = defaults, .p.wrapper_name = "libvpx", @@ -2112,6 +2113,7 @@ FFCodec ff_libvpx_vp9_encoder = { .p.wrapper_name = "libvpx", .priv_data_size = sizeof(VPxContext), .init = vp9_init, + .p.color_ranges = ff_color_range_all, FF_CODEC_ENCODE_CB(vpx_encode), .close = vpx_free, .caps_internal = FF_CODEC_CAP_NOT_INIT_THREADSAFE | diff --git a/libavcodec/libwebpenc.c b/libavcodec/libwebpenc.c index d6edd86603..bd758d6d4c 100644 --- a/libavcodec/libwebpenc.c +++ b/libavcodec/libwebpenc.c @@ -94,6 +94,7 @@ const FFCodec ff_libwebp_encoder = { .p.id = AV_CODEC_ID_WEBP, .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE, .p.pix_fmts = ff_libwebpenc_pix_fmts, + .p.color_ranges = ff_color_range_mpeg, .p.priv_class = &ff_libwebpenc_class, .p.wrapper_name = "libwebp", .caps_internal = FF_CODEC_CAP_NOT_INIT_THREADSAFE, diff --git a/libavcodec/libwebpenc_animencoder.c b/libavcodec/libwebpenc_animencoder.c index 8756231f23..e90d03e733 100644 --- a/libavcodec/libwebpenc_animencoder.c +++ b/libavcodec/libwebpenc_animencoder.c @@ -181,6 +181,7 @@ const FFCodec ff_libwebp_anim_encoder = { .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY | AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE, .p.pix_fmts = ff_libwebpenc_pix_fmts, + .p.color_ranges = ff_color_range_mpeg, .p.priv_class = &ff_libwebpenc_class, .p.wrapper_name = "libwebp", .caps_internal = FF_CODEC_CAP_NOT_INIT_THREADSAFE, diff --git a/libavcodec/libx264.c b/libavcodec/libx264.c index 5ea9540d30..00090f4334 100644 --- a/libavcodec/libx264.c +++ b/libavcodec/libx264.c @@ -1492,6 +1492,7 @@ FFCodec ff_libx264_encoder = { #else .p.pix_fmts = pix_fmts_all, #endif + .p.color_ranges = ff_color_range_all, .caps_internal = FF_CODEC_CAP_INIT_CLEANUP | FF_CODEC_CAP_AUTO_THREADS #if X264_BUILD < 158 | FF_CODEC_CAP_NOT_INIT_THREADSAFE @@ -1547,6 +1548,7 @@ const FFCodec ff_libx262_encoder = { AV_CODEC_CAP_OTHER_THREADS | AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE, .p.pix_fmts = pix_fmts_8bit, + .p.color_ranges = ff_color_range_mpeg, .p.priv_class = &X262_class, .p.wrapper_name = "libx264", .priv_data_size = sizeof(X264Context), diff --git a/libavcodec/libx265.c b/libavcodec/libx265.c index 7f4552f685..7c8c907f4d 100644 --- a/libavcodec/libx265.c +++ b/libavcodec/libx265.c @@ -901,6 +901,7 @@ FFCodec ff_libx265_encoder = { .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY | AV_CODEC_CAP_OTHER_THREADS | AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE, + .p.color_ranges = ff_color_range_all, .p.priv_class = &class, .p.wrapper_name = "libx265", .init = libx265_encode_init, diff --git a/libavcodec/libxavs.c b/libavcodec/libxavs.c index 0e0ec32b8c..596191ebdc 100644 --- a/libavcodec/libxavs.c +++ b/libavcodec/libxavs.c @@ -434,6 +434,7 @@ const FFCodec ff_libxavs_encoder = { .caps_internal = FF_CODEC_CAP_NOT_INIT_THREADSAFE | FF_CODEC_CAP_AUTO_THREADS, .p.pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUV420P, AV_PIX_FMT_NONE }, + .p.color_ranges = ff_color_range_mpeg, .p.priv_class = &xavs_class, .defaults = xavs_defaults, .p.wrapper_name = "libxavs", diff --git a/libavcodec/libxavs2.c b/libavcodec/libxavs2.c index bf2b08a60c..cea52eff8d 100644 --- a/libavcodec/libxavs2.c +++ b/libavcodec/libxavs2.c @@ -300,6 +300,7 @@ const FFCodec ff_libxavs2_encoder = { FF_CODEC_CAP_AUTO_THREADS, .p.pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUV420P, AV_PIX_FMT_NONE }, + .p.color_ranges = ff_color_range_mpeg, .p.priv_class = &libxavs2, .defaults = xavs2_defaults, .p.wrapper_name = "libxavs2", diff --git a/libavcodec/libxeve.c b/libavcodec/libxeve.c index b71d14f1df..5faffdaae8 100644 --- a/libavcodec/libxeve.c +++ b/libavcodec/libxeve.c @@ -611,5 +611,6 @@ const FFCodec ff_libxeve_encoder = { .p.profiles = NULL_IF_CONFIG_SMALL(ff_evc_profiles), .p.wrapper_name = "libxeve", .p.pix_fmts = supported_pixel_formats, + .p.color_ranges = ff_color_range_mpeg, /* FIXME: implement tagging */ .caps_internal = FF_CODEC_CAP_INIT_CLEANUP | FF_CODEC_CAP_NOT_INIT_THREADSAFE, }; diff --git a/libavcodec/libxvid.c b/libavcodec/libxvid.c index 72577f5b6a..e1858aeea2 100644 --- a/libavcodec/libxvid.c +++ b/libavcodec/libxvid.c @@ -907,6 +907,7 @@ const FFCodec ff_libxvid_encoder = { FF_CODEC_ENCODE_CB(xvid_encode_frame), .close = xvid_encode_close, .p.pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUV420P, AV_PIX_FMT_NONE }, + .p.color_ranges = ff_color_range_mpeg, .p.priv_class = &xvid_class, .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, .p.wrapper_name = "libxvid", diff --git a/libavcodec/ljpegenc.c b/libavcodec/ljpegenc.c index c3031631a2..d50dec8978 100644 --- a/libavcodec/ljpegenc.c +++ b/libavcodec/ljpegenc.c @@ -327,4 +327,5 @@ const FFCodec ff_ljpeg_encoder = { AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUV420P , AV_PIX_FMT_YUV444P , AV_PIX_FMT_YUV422P, AV_PIX_FMT_NONE}, + .p.color_ranges = ff_color_range_all, }; diff --git a/libavcodec/magicyuvenc.c b/libavcodec/magicyuvenc.c index a74212086b..d538f6b477 100644 --- a/libavcodec/magicyuvenc.c +++ b/libavcodec/magicyuvenc.c @@ -688,5 +688,6 @@ const FFCodec ff_magicyuv_encoder = { AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUVA444P, AV_PIX_FMT_GRAY8, AV_PIX_FMT_NONE }, + .p.color_ranges = ff_color_range_mpeg, /* FIXME: implement tagging */ .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, }; diff --git a/libavcodec/mediacodecenc.c b/libavcodec/mediacodecenc.c index cab0189a9f..d4f6751399 100644 --- a/libavcodec/mediacodecenc.c +++ b/libavcodec/mediacodecenc.c @@ -622,6 +622,7 @@ const FFCodec ff_ ## short_name ## _mediacodec_encoder = { \ | AV_CODEC_CAP_HARDWARE, \ .priv_data_size = sizeof(MediaCodecEncContext), \ .p.pix_fmts = avc_pix_fmts, \ + .p.color_ranges = ff_color_range_all, \ .init = mediacodec_init, \ FF_CODEC_RECEIVE_PACKET_CB(mediacodec_encode), \ .close = mediacodec_close, \ diff --git a/libavcodec/mjpegenc.c b/libavcodec/mjpegenc.c index c3b4723391..77d26b2940 100644 --- a/libavcodec/mjpegenc.c +++ b/libavcodec/mjpegenc.c @@ -658,6 +658,7 @@ const FFCodec ff_mjpeg_encoder = { AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_NONE }, + .p.color_ranges = ff_color_range_all, .p.priv_class = &mjpeg_class, .p.profiles = NULL_IF_CONFIG_SMALL(ff_mjpeg_profiles), }; @@ -683,6 +684,7 @@ const FFCodec ff_amv_encoder = { .p.pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_NONE }, + .p.color_ranges = ff_color_range_jpeg, .p.priv_class = &amv_class, .p.capabilities = AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE, }; diff --git a/libavcodec/mpeg12enc.c b/libavcodec/mpeg12enc.c index 01d00a8147..1b667806b8 100644 --- a/libavcodec/mpeg12enc.c +++ b/libavcodec/mpeg12enc.c @@ -1244,6 +1244,7 @@ const FFCodec ff_mpeg1video_encoder = { .p.supported_framerates = ff_mpeg12_frame_rate_tab + 1, .p.pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUV420P, AV_PIX_FMT_NONE }, + .p.color_ranges = ff_color_range_mpeg, .p.capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_SLICE_THREADS | AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE, .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, @@ -1263,6 +1264,7 @@ const FFCodec ff_mpeg2video_encoder = { .p.pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_NONE }, + .p.color_ranges = ff_color_range_mpeg, .p.capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_SLICE_THREADS | AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE, .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, diff --git a/libavcodec/mpeg4videoenc.c b/libavcodec/mpeg4videoenc.c index 5f5b9aebc4..37df1db16c 100644 --- a/libavcodec/mpeg4videoenc.c +++ b/libavcodec/mpeg4videoenc.c @@ -1402,6 +1402,7 @@ const FFCodec ff_mpeg4_encoder = { FF_CODEC_ENCODE_CB(ff_mpv_encode_picture), .close = ff_mpv_encode_end, .p.pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUV420P, AV_PIX_FMT_NONE }, + .p.color_ranges = ff_color_range_mpeg, .p.capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_SLICE_THREADS | AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE, .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, diff --git a/libavcodec/msmpeg4enc.c b/libavcodec/msmpeg4enc.c index 119ea8f15e..47292fbba1 100644 --- a/libavcodec/msmpeg4enc.c +++ b/libavcodec/msmpeg4enc.c @@ -685,6 +685,7 @@ const FFCodec ff_msmpeg4v2_encoder = { .p.type = AVMEDIA_TYPE_VIDEO, .p.id = AV_CODEC_ID_MSMPEG4V2, .p.pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_YUV420P, AV_PIX_FMT_NONE }, + .p.color_ranges = ff_color_range_mpeg, .p.priv_class = &ff_mpv_enc_class, .p.capabilities = AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE, .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, @@ -700,6 +701,7 @@ const FFCodec ff_msmpeg4v3_encoder = { .p.type = AVMEDIA_TYPE_VIDEO, .p.id = AV_CODEC_ID_MSMPEG4V3, .p.pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_YUV420P, AV_PIX_FMT_NONE }, + .p.color_ranges = ff_color_range_mpeg, .p.priv_class = &ff_mpv_enc_class, .p.capabilities = AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE, .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, @@ -715,6 +717,7 @@ const FFCodec ff_wmv1_encoder = { .p.type = AVMEDIA_TYPE_VIDEO, .p.id = AV_CODEC_ID_WMV1, .p.pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_YUV420P, AV_PIX_FMT_NONE }, + .p.color_ranges = ff_color_range_mpeg, .p.priv_class = &ff_mpv_enc_class, .p.capabilities = AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE, .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, diff --git a/libavcodec/nvenc_av1.c b/libavcodec/nvenc_av1.c index 4be29b0273..5aff6daa2a 100644 --- a/libavcodec/nvenc_av1.c +++ b/libavcodec/nvenc_av1.c @@ -184,6 +184,7 @@ const FFCodec ff_av1_nvenc_encoder = { .p.priv_class = &av1_nvenc_class, .defaults = defaults, .p.pix_fmts = ff_nvenc_pix_fmts, + .p.color_ranges = ff_color_range_all, .p.capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_HARDWARE | AV_CODEC_CAP_ENCODER_FLUSH | AV_CODEC_CAP_DR1 | AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE, diff --git a/libavcodec/nvenc_h264.c b/libavcodec/nvenc_h264.c index 8cad2cca99..49f112fbe0 100644 --- a/libavcodec/nvenc_h264.c +++ b/libavcodec/nvenc_h264.c @@ -255,6 +255,7 @@ const FFCodec ff_h264_nvenc_encoder = { .caps_internal = FF_CODEC_CAP_NOT_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP, .p.pix_fmts = ff_nvenc_pix_fmts, + .p.color_ranges = ff_color_range_all, .p.wrapper_name = "nvenc", .hw_configs = ff_nvenc_hw_configs, }; diff --git a/libavcodec/nvenc_hevc.c b/libavcodec/nvenc_hevc.c index 388e5dd0cd..40a7cb430d 100644 --- a/libavcodec/nvenc_hevc.c +++ b/libavcodec/nvenc_hevc.c @@ -231,6 +231,7 @@ const FFCodec ff_hevc_nvenc_encoder = { .p.priv_class = &hevc_nvenc_class, .defaults = defaults, .p.pix_fmts = ff_nvenc_pix_fmts, + .p.color_ranges = ff_color_range_all, .p.capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_HARDWARE | AV_CODEC_CAP_ENCODER_FLUSH | AV_CODEC_CAP_DR1 | AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE, diff --git a/libavcodec/omx.c b/libavcodec/omx.c index a4c873120a..d2343df444 100644 --- a/libavcodec/omx.c +++ b/libavcodec/omx.c @@ -946,6 +946,7 @@ const FFCodec ff_mpeg4_omx_encoder = { FF_CODEC_ENCODE_CB(omx_encode_frame), .close = omx_encode_end, .p.pix_fmts = omx_encoder_pix_fmts, + .p.color_ranges = ff_color_range_mpeg, .p.capabilities = AV_CODEC_CAP_DELAY, .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, .p.priv_class = &omx_mpeg4enc_class, @@ -966,6 +967,7 @@ const FFCodec ff_h264_omx_encoder = { FF_CODEC_ENCODE_CB(omx_encode_frame), .close = omx_encode_end, .p.pix_fmts = omx_encoder_pix_fmts, + .p.color_ranges = ff_color_range_mpeg, /* FIXME: implement tagging */ .p.capabilities = AV_CODEC_CAP_DELAY, .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, .p.priv_class = &omx_h264enc_class, diff --git a/libavcodec/qsvenc_av1.c b/libavcodec/qsvenc_av1.c index 92433dc2f8..de97416d87 100644 --- a/libavcodec/qsvenc_av1.c +++ b/libavcodec/qsvenc_av1.c @@ -149,6 +149,7 @@ FFCodec ff_av1_qsv_encoder = { AV_PIX_FMT_P010, AV_PIX_FMT_QSV, AV_PIX_FMT_NONE }, + .p.color_ranges = ff_color_range_all, .p.priv_class = &class, .defaults = qsv_enc_defaults, .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, diff --git a/libavcodec/qsvenc_h264.c b/libavcodec/qsvenc_h264.c index 5627ca2c25..4d04cf6484 100644 --- a/libavcodec/qsvenc_h264.c +++ b/libavcodec/qsvenc_h264.c @@ -201,6 +201,7 @@ const FFCodec ff_h264_qsv_encoder = { .p.pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_NV12, AV_PIX_FMT_QSV, AV_PIX_FMT_NONE }, + .p.color_ranges = ff_color_range_all, .p.priv_class = &class, .defaults = qsv_enc_defaults, .caps_internal = FF_CODEC_CAP_NOT_INIT_THREADSAFE | diff --git a/libavcodec/qsvenc_hevc.c b/libavcodec/qsvenc_hevc.c index b3717022b9..7fc729663e 100644 --- a/libavcodec/qsvenc_hevc.c +++ b/libavcodec/qsvenc_hevc.c @@ -404,6 +404,7 @@ const FFCodec ff_hevc_qsv_encoder = { AV_PIX_FMT_VUYX, AV_PIX_FMT_XV30, AV_PIX_FMT_NONE }, + .p.color_ranges = ff_color_range_all, .p.priv_class = &class, .defaults = qsv_enc_defaults, .caps_internal = FF_CODEC_CAP_NOT_INIT_THREADSAFE | diff --git a/libavcodec/qsvenc_jpeg.c b/libavcodec/qsvenc_jpeg.c index dc00942d4f..069a862359 100644 --- a/libavcodec/qsvenc_jpeg.c +++ b/libavcodec/qsvenc_jpeg.c @@ -92,6 +92,7 @@ const FFCodec ff_mjpeg_qsv_encoder = { AV_PIX_FMT_BGRA, AV_PIX_FMT_QSV, AV_PIX_FMT_NONE }, + .p.color_ranges = ff_color_range_all, .p.priv_class = &class, .defaults = qsv_enc_defaults, .p.wrapper_name = "qsv", diff --git a/libavcodec/qsvenc_mpeg2.c b/libavcodec/qsvenc_mpeg2.c index bbeac53ea4..b272004609 100644 --- a/libavcodec/qsvenc_mpeg2.c +++ b/libavcodec/qsvenc_mpeg2.c @@ -104,6 +104,7 @@ const FFCodec ff_mpeg2_qsv_encoder = { .p.pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_NV12, AV_PIX_FMT_QSV, AV_PIX_FMT_NONE }, + .p.color_ranges = ff_color_range_mpeg, .p.priv_class = &class, .defaults = qsv_enc_defaults, .caps_internal = FF_CODEC_CAP_NOT_INIT_THREADSAFE | diff --git a/libavcodec/qsvenc_vp9.c b/libavcodec/qsvenc_vp9.c index b7a596b4ce..a60f49edef 100644 --- a/libavcodec/qsvenc_vp9.c +++ b/libavcodec/qsvenc_vp9.c @@ -116,6 +116,7 @@ const FFCodec ff_vp9_qsv_encoder = { AV_PIX_FMT_QSV, AV_PIX_FMT_XV30, AV_PIX_FMT_NONE }, + .p.color_ranges = ff_color_range_all, .p.priv_class = &class, .defaults = qsv_enc_defaults, .caps_internal = FF_CODEC_CAP_NOT_INIT_THREADSAFE | diff --git a/libavcodec/roqvideoenc.c b/libavcodec/roqvideoenc.c index 0d02d1c101..35a6f889e0 100644 --- a/libavcodec/roqvideoenc.c +++ b/libavcodec/roqvideoenc.c @@ -1126,6 +1126,7 @@ const FFCodec ff_roq_encoder = { .close = roq_encode_end, .p.pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_NONE }, + .p.color_ranges = ff_color_range_jpeg, .p.priv_class = &roq_class, .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, }; diff --git a/libavcodec/rv10enc.c b/libavcodec/rv10enc.c index 8a405b8686..105f7a9f08 100644 --- a/libavcodec/rv10enc.c +++ b/libavcodec/rv10enc.c @@ -78,4 +78,5 @@ const FFCodec ff_rv10_encoder = { .close = ff_mpv_encode_end, .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, .p.pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_YUV420P, AV_PIX_FMT_NONE }, + .p.color_ranges = ff_color_range_mpeg, }; diff --git a/libavcodec/rv20enc.c b/libavcodec/rv20enc.c index dc26877d5e..ebb209a763 100644 --- a/libavcodec/rv20enc.c +++ b/libavcodec/rv20enc.c @@ -75,4 +75,5 @@ const FFCodec ff_rv20_encoder = { .close = ff_mpv_encode_end, .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, .p.pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_YUV420P, AV_PIX_FMT_NONE }, + .p.color_ranges = ff_color_range_mpeg, }; diff --git a/libavcodec/snowenc.c b/libavcodec/snowenc.c index e4fd95390f..8da305434f 100644 --- a/libavcodec/snowenc.c +++ b/libavcodec/snowenc.c @@ -2141,6 +2141,7 @@ const FFCodec ff_snow_encoder = { AV_PIX_FMT_GRAY8, AV_PIX_FMT_NONE }, + .p.color_ranges = ff_color_range_mpeg, .p.priv_class = &snowenc_class, .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, }; diff --git a/libavcodec/speedhqenc.c b/libavcodec/speedhqenc.c index 5b4ff4c139..0d0fa04d0c 100644 --- a/libavcodec/speedhqenc.c +++ b/libavcodec/speedhqenc.c @@ -294,6 +294,7 @@ const FFCodec ff_speedhq_encoder = { FF_CODEC_ENCODE_CB(ff_mpv_encode_picture), .close = ff_mpv_encode_end, .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, + .p.color_ranges = ff_color_range_mpeg, .p.pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_NONE diff --git a/libavcodec/svq1enc.c b/libavcodec/svq1enc.c index 764d047799..afd0864d6a 100644 --- a/libavcodec/svq1enc.c +++ b/libavcodec/svq1enc.c @@ -762,5 +762,6 @@ const FFCodec ff_svq1_encoder = { .close = svq1_encode_end, .p.pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUV410P, AV_PIX_FMT_NONE }, + .p.color_ranges = ff_color_range_mpeg, .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, }; diff --git a/libavcodec/tiffenc.c b/libavcodec/tiffenc.c index a83657a219..e0b645470b 100644 --- a/libavcodec/tiffenc.c +++ b/libavcodec/tiffenc.c @@ -588,5 +588,6 @@ const FFCodec ff_tiff_encoder = { AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_NONE }, + .p.color_ranges = ff_color_range_mpeg, .p.priv_class = &tiffenc_class, }; diff --git a/libavcodec/utils.c b/libavcodec/utils.c index 39b83c7791..4ed3a4291b 100644 --- a/libavcodec/utils.c +++ b/libavcodec/utils.c @@ -1100,3 +1100,15 @@ int64_t ff_guess_coded_bitrate(AVCodecContext *avctx) return bitrate; } + +const enum AVColorRange ff_color_range_jpeg[] = { + AVCOL_RANGE_JPEG, AVCOL_RANGE_UNSPECIFIED +}; + +const enum AVColorRange ff_color_range_mpeg[] = { + AVCOL_RANGE_MPEG, AVCOL_RANGE_UNSPECIFIED +}; + +const enum AVColorRange ff_color_range_all[] = { + AVCOL_RANGE_MPEG, AVCOL_RANGE_JPEG, AVCOL_RANGE_UNSPECIFIED +}; diff --git a/libavcodec/utvideoenc.c b/libavcodec/utvideoenc.c index e9c28e5704..2df50d5102 100644 --- a/libavcodec/utvideoenc.c +++ b/libavcodec/utvideoenc.c @@ -674,5 +674,6 @@ const FFCodec ff_utvideo_encoder = { AV_PIX_FMT_GBRP, AV_PIX_FMT_GBRAP, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_NONE }, + .p.color_ranges = ff_color_range_mpeg, .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, }; diff --git a/libavcodec/v4l2_m2m_enc.c b/libavcodec/v4l2_m2m_enc.c index 2a90098eab..4962c3934e 100644 --- a/libavcodec/v4l2_m2m_enc.c +++ b/libavcodec/v4l2_m2m_enc.c @@ -432,6 +432,7 @@ static const FFCodecDefault v4l2_m2m_defaults[] = { .close = v4l2_encode_close, \ .defaults = v4l2_m2m_defaults, \ .p.capabilities = AV_CODEC_CAP_HARDWARE | AV_CODEC_CAP_DELAY, \ + .p.color_ranges = ff_color_range_mpeg, \ .caps_internal = FF_CODEC_CAP_NOT_INIT_THREADSAFE | \ FF_CODEC_CAP_INIT_CLEANUP, \ .p.wrapper_name = "v4l2m2m", \ diff --git a/libavcodec/vaapi_encode_av1.c b/libavcodec/vaapi_encode_av1.c index a773a2cb0b..9c57e40073 100644 --- a/libavcodec/vaapi_encode_av1.c +++ b/libavcodec/vaapi_encode_av1.c @@ -945,6 +945,7 @@ const FFCodec ff_av1_vaapi_encoder = { AV_PIX_FMT_VAAPI, AV_PIX_FMT_NONE, }, + .p.color_ranges = ff_color_range_all, .hw_configs = ff_vaapi_encode_hw_configs, .p.wrapper_name = "vaapi", }; diff --git a/libavcodec/vaapi_encode_h264.c b/libavcodec/vaapi_encode_h264.c index 74fbdacf74..2fcd16c97e 100644 --- a/libavcodec/vaapi_encode_h264.c +++ b/libavcodec/vaapi_encode_h264.c @@ -1391,6 +1391,7 @@ const FFCodec ff_h264_vaapi_encoder = { AV_PIX_FMT_VAAPI, AV_PIX_FMT_NONE, }, + .p.color_ranges = ff_color_range_all, .hw_configs = ff_vaapi_encode_hw_configs, .p.wrapper_name = "vaapi", }; diff --git a/libavcodec/vaapi_encode_h265.c b/libavcodec/vaapi_encode_h265.c index 3ebb8afa9b..fd5c34604e 100644 --- a/libavcodec/vaapi_encode_h265.c +++ b/libavcodec/vaapi_encode_h265.c @@ -1508,6 +1508,7 @@ const FFCodec ff_hevc_vaapi_encoder = { AV_PIX_FMT_VAAPI, AV_PIX_FMT_NONE, }, + .p.color_ranges = ff_color_range_all, .hw_configs = ff_vaapi_encode_hw_configs, .p.wrapper_name = "vaapi", }; diff --git a/libavcodec/vaapi_encode_mjpeg.c b/libavcodec/vaapi_encode_mjpeg.c index e67e940c47..29b6ad6463 100644 --- a/libavcodec/vaapi_encode_mjpeg.c +++ b/libavcodec/vaapi_encode_mjpeg.c @@ -582,6 +582,7 @@ const FFCodec ff_mjpeg_vaapi_encoder = { AV_PIX_FMT_VAAPI, AV_PIX_FMT_NONE, }, + .p.color_ranges = ff_color_range_mpeg, /* FIXME: implement tagging */ .hw_configs = ff_vaapi_encode_hw_configs, .p.wrapper_name = "vaapi", }; diff --git a/libavcodec/vaapi_encode_mpeg2.c b/libavcodec/vaapi_encode_mpeg2.c index f9a3ecc8d1..c5be730e97 100644 --- a/libavcodec/vaapi_encode_mpeg2.c +++ b/libavcodec/vaapi_encode_mpeg2.c @@ -705,6 +705,7 @@ const FFCodec ff_mpeg2_vaapi_encoder = { AV_PIX_FMT_VAAPI, AV_PIX_FMT_NONE, }, + .p.color_ranges = ff_color_range_mpeg, .hw_configs = ff_vaapi_encode_hw_configs, .p.wrapper_name = "vaapi", }; diff --git a/libavcodec/vaapi_encode_vp8.c b/libavcodec/vaapi_encode_vp8.c index ddcf200085..80574b9770 100644 --- a/libavcodec/vaapi_encode_vp8.c +++ b/libavcodec/vaapi_encode_vp8.c @@ -260,6 +260,7 @@ const FFCodec ff_vp8_vaapi_encoder = { AV_PIX_FMT_VAAPI, AV_PIX_FMT_NONE, }, + .p.color_ranges = ff_color_range_mpeg, /* FIXME: implement tagging */ .hw_configs = ff_vaapi_encode_hw_configs, .p.wrapper_name = "vaapi", }; diff --git a/libavcodec/vaapi_encode_vp9.c b/libavcodec/vaapi_encode_vp9.c index d00e73e945..a162fddf16 100644 --- a/libavcodec/vaapi_encode_vp9.c +++ b/libavcodec/vaapi_encode_vp9.c @@ -313,6 +313,7 @@ const FFCodec ff_vp9_vaapi_encoder = { .caps_internal = FF_CODEC_CAP_NOT_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP, .defaults = vaapi_encode_vp9_defaults, + .p.color_ranges = ff_color_range_mpeg, /* FIXME: implement tagging */ .p.pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_VAAPI, AV_PIX_FMT_NONE, diff --git a/libavcodec/vc2enc.c b/libavcodec/vc2enc.c index 87856a95fc..9960849eef 100644 --- a/libavcodec/vc2enc.c +++ b/libavcodec/vc2enc.c @@ -1236,5 +1236,6 @@ const FFCodec ff_vc2_encoder = { FF_CODEC_ENCODE_CB(vc2_encode_frame), .p.priv_class = &vc2enc_class, .defaults = vc2enc_defaults, - .p.pix_fmts = allowed_pix_fmts + .p.pix_fmts = allowed_pix_fmts, + .p.color_ranges = ff_color_range_all, }; diff --git a/libavcodec/videotoolboxenc.c b/libavcodec/videotoolboxenc.c index b2106a39f4..66b2f0caaf 100644 --- a/libavcodec/videotoolboxenc.c +++ b/libavcodec/videotoolboxenc.c @@ -2955,6 +2955,7 @@ const FFCodec ff_hevc_videotoolbox_encoder = { AV_CODEC_CAP_HARDWARE, .priv_data_size = sizeof(VTEncContext), .p.pix_fmts = hevc_pix_fmts, + .p.color_ranges = ff_color_range_all, .init = vtenc_init, FF_CODEC_ENCODE_CB(vtenc_frame), .close = vtenc_close, @@ -2993,6 +2994,7 @@ const FFCodec ff_prores_videotoolbox_encoder = { AV_CODEC_CAP_HARDWARE, .priv_data_size = sizeof(VTEncContext), .p.pix_fmts = prores_pix_fmts, + .p.color_ranges = ff_color_range_all, .init = vtenc_init, FF_CODEC_ENCODE_CB(vtenc_frame), .close = vtenc_close, diff --git a/libavcodec/wmv2enc.c b/libavcodec/wmv2enc.c index 8eb56444a3..6fc748548b 100644 --- a/libavcodec/wmv2enc.c +++ b/libavcodec/wmv2enc.c @@ -248,6 +248,7 @@ const FFCodec ff_wmv2_encoder = { FF_CODEC_ENCODE_CB(ff_mpv_encode_picture), .close = ff_mpv_encode_end, .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, + .p.color_ranges = ff_color_range_mpeg, .p.pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUV420P, AV_PIX_FMT_NONE }, }; From patchwork Fri Jan 12 08:26:03 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Niklas Haas X-Patchwork-Id: 45580 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:bf2f:b0:199:de12:6fa6 with SMTP id gc47csp2204386pzb; Fri, 12 Jan 2024 00:31:05 -0800 (PST) X-Google-Smtp-Source: AGHT+IHMhnDdakt6rXsKu8PFWHi5ucSjqBy6GBc6jguxD/OvDwXathT9LBIwn/0CWig1NtO05QEj X-Received: by 2002:a05:6512:33cd:b0:50b:f03c:1ea2 with SMTP id d13-20020a05651233cd00b0050bf03c1ea2mr628617lfg.84.1705048265651; Fri, 12 Jan 2024 00:31:05 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1705048265; cv=none; d=google.com; s=arc-20160816; b=eK0hhPAQgsOCaDt+IPLsseJr1y49vBDoLyEyyXmH/vcGWaJlrtaH5/oSI7DBNAAFKv fCovVP25bk6oHRqC10tf496YcINf5LcvnM6ZKp6d/NqA7YGJYVx/alS7ABOTur34d1VL h4HigUOVvxW4DsmjDwhxcrKdVTOqfUWTCdF3Qo0r5QhPuTzs/F8KwIKZbYcFFaBlh1ho KOUzrb5vefTqcORJ5yk36XpghMD8uAOStXyvTosyVppc9Np+6I2R6mvW2RmvKhwQbS5+ a/ybus8mqVP13eYaCJ8kiCRgN8f57QDyR4XkqMUUd2Z6oUK+T94FklTROVooZYZFcuvP Chmg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:cc: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=olRFnnD/l6STEV/ee5Ky9F8k3Sa63yAN8BCLrqGw9uU=; fh=xmAeKtysnShNOmkhiJmYkS30uw4Fu2hvBJ7qlIwukxQ=; b=LLjoqQgvj8HulY+WkA8GZ1VKgrhVVlzWkeEG9fU8Th3/BmONSg06RVjLRqsgb+/sdn BnGOmWacHlmNcUaHmqnvOxnM+13sjljy8TUbBbjsZLtwSfIGKmhup0uTYVURnHFP2VHu E24lvPGDTSb9cSNpT2C0I1l1Oin4rbB8UQp/VRWnQXA43dg2AKOWjWBl7xSpnkE9+ey1 N4K3zDMERvPO2t10pKhLsP5IrpGxcTW1d8QoZEhE/urplJragU+KZFi1qgLNNyYhCNC7 1BVACR6tZTfw3zj3AEhD+t1pXHUbff0TmPe700IX3m98QaKr1LEAXXjKPL/RjLnIqtdl 0eEA== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@haasn.xyz header.s=mail header.b=vLsMEla1; 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 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id z7-20020a170906074700b00a2caaa51a0asi476625ejb.58.2024.01.12.00.31.05; Fri, 12 Jan 2024 00:31:05 -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=@haasn.xyz header.s=mail header.b=vLsMEla1; 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 Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 401F468D0B4; Fri, 12 Jan 2024 10:30:10 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from haasn.dev (haasn.dev [78.46.187.166]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 59CC068D084 for ; Fri, 12 Jan 2024 10:30:01 +0200 (EET) Received: from haasn.dev (unknown [10.30.0.2]) by haasn.dev (Postfix) with ESMTP id A39534B9A9; Fri, 12 Jan 2024 09:30:00 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=haasn.xyz; s=mail; t=1705048200; bh=a5tJ2nyDcVLdaPihNYX0DW9qaSsmyacxGGpfnsODsKQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=vLsMEla1cZQSM8ENOOWMo91AwWfxci/DgKugTLKDsqS9tzu2iWRK7Kc/CYGglDy4/ UaaXV5plTYaCQ06byof4o0u4vRgr3d9/j8XsiIhu+coqrSnwD+2xanuGZRjVhdMOMt mwUDNLL7qu6fqUCaWBcNsFC+h3bSH5iQuO2eBaQM= From: Niklas Haas To: ffmpeg-devel@ffmpeg.org Date: Fri, 12 Jan 2024 09:26:03 +0100 Message-ID: <20240112082950.41637-7-ffmpeg@haasn.xyz> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240112082950.41637-1-ffmpeg@haasn.xyz> References: <20240112082950.41637-1-ffmpeg@haasn.xyz> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 06/11] fftools/ffmpeg_filter: simplify choose_pix_fmts 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 Cc: Niklas Haas Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: hi8/PyuB4Ets From: Niklas Haas The only meaningful difference between choose_pix_fmts and the default code was the inclusion of an extra branch for `keep_pix_fmt` being true. However, in this case, we either: 1. Force the specific `ofp->format` that we inherited from ofilter_bind_ost, or if no format was set: 2. Print an empty format list Both of these goals can be accomplished by simply moving the decision logic to ofilter_bind_ost, to avoid setting any format list when keep_pix_fmt is enabled. This is arguably cleaner as it moves format selection logic to a single function. In the case of branch 1, nothing else needs to be done as we already force the format provided in ofp->format, if any is set. Add an assertion to verify this assumption just in case. (Side note: The "choose_*" family of functions are arguably misnomers, as they should really be called "print_*" - their current behavior is to print the relevant format lists to the `vf/af_format` filter arguments) --- fftools/ffmpeg_filter.c | 49 ++++++++--------------------------------- 1 file changed, 9 insertions(+), 40 deletions(-) diff --git a/fftools/ffmpeg_filter.c b/fftools/ffmpeg_filter.c index 82ee4fae7d..39f5cde514 100644 --- a/fftools/ffmpeg_filter.c +++ b/fftools/ffmpeg_filter.c @@ -361,36 +361,6 @@ static void sub2video_update(InputFilterPriv *ifp, int64_t heartbeat_pts, ifp->sub2video.initialize = 0; } -/* *dst may return be set to NULL (no pixel format found), a static string or a - * string backed by the bprint. Nothing has been written to the AVBPrint in case - * NULL is returned. The AVBPrint provided should be clean. */ -static int choose_pix_fmts(OutputFilter *ofilter, AVBPrint *bprint, - const char **dst) -{ - OutputFilterPriv *ofp = ofp_from_ofilter(ofilter); - OutputStream *ost = ofilter->ost; - - *dst = NULL; - - if (ost->keep_pix_fmt || ofp->format != AV_PIX_FMT_NONE) { - *dst = ofp->format == AV_PIX_FMT_NONE ? NULL : - av_get_pix_fmt_name(ofp->format); - } else if (ofp->formats) { - const enum AVPixelFormat *p = ofp->formats; - - for (; *p != AV_PIX_FMT_NONE; p++) { - const char *name = av_get_pix_fmt_name(*p); - av_bprintf(bprint, "%s%c", name, p[1] == AV_PIX_FMT_NONE ? '\0' : '|'); - } - if (!av_bprint_is_complete(bprint)) - return AVERROR(ENOMEM); - - *dst = bprint->str; - } - - return 0; -} - /* Define a function for appending a list of allowed formats * to an AVBPrint. If nonempty, the list will have a header. */ #define DEF_CHOOSE_FORMAT(name, type, var, supported_list, none, printf_format, get_name) \ @@ -413,8 +383,8 @@ static void choose_ ## name (OutputFilterPriv *ofp, AVBPrint *bprint) \ av_bprint_chars(bprint, ':', 1); \ } -//DEF_CHOOSE_FORMAT(pix_fmts, enum AVPixelFormat, format, formats, AV_PIX_FMT_NONE, -// GET_PIX_FMT_NAME) +DEF_CHOOSE_FORMAT(pix_fmts, enum AVPixelFormat, format, formats, + AV_PIX_FMT_NONE, "%s", av_get_pix_fmt_name) DEF_CHOOSE_FORMAT(sample_fmts, enum AVSampleFormat, format, formats, AV_SAMPLE_FMT_NONE, "%s", av_get_sample_fmt_name) @@ -748,7 +718,7 @@ int ofilter_bind_ost(OutputFilter *ofilter, OutputStream *ost, ofp->height = ost->enc_ctx->height; if (ost->enc_ctx->pix_fmt != AV_PIX_FMT_NONE) { ofp->format = ost->enc_ctx->pix_fmt; - } else { + } else if (!ost->keep_pix_fmt) { ofp->formats = c->pix_fmts; // MJPEG encoder exports a full list of supported pixel formats, @@ -1233,7 +1203,6 @@ static int configure_output_video_filter(FilterGraph *fg, AVFilterGraph *graph, AVBPrint bprint; int pad_idx = out->pad_idx; int ret; - const char *pix_fmts; char name[255]; snprintf(name, sizeof(name), "out_%d_%d", ost->file->index, ost->index); @@ -1268,17 +1237,17 @@ static int configure_output_video_filter(FilterGraph *fg, AVFilterGraph *graph, pad_idx = 0; } + av_assert0(!ost->keep_pix_fmt || (!ofp->format && !ofp->formats)); av_bprint_init(&bprint, 0, AV_BPRINT_SIZE_UNLIMITED); - ret = choose_pix_fmts(ofilter, &bprint, &pix_fmts); - if (ret < 0) - return ret; - - if (pix_fmts) { + choose_pix_fmts(ofp, &bprint); + if (!av_bprint_is_complete(&bprint)) + return AVERROR(ENOMEM); + if (bprint.len) { AVFilterContext *filter; ret = avfilter_graph_create_filter(&filter, avfilter_get_by_name("format"), - "format", pix_fmts, NULL, graph); + "format", bprint.str, NULL, graph); av_bprint_finalize(&bprint, NULL); if (ret < 0) return ret; From patchwork Fri Jan 12 08:26:04 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Niklas Haas X-Patchwork-Id: 45582 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:bf2f:b0:199:de12:6fa6 with SMTP id gc47csp2204533pzb; Fri, 12 Jan 2024 00:31:28 -0800 (PST) X-Google-Smtp-Source: AGHT+IH0bOZcDLiwuHNjdDC6EskFShtnvuUHBi3dikHjWrW5gtXUGsCTHiZ9TNupsnDAbtmygcnc X-Received: by 2002:a05:6512:304c:b0:50e:690f:ee47 with SMTP id b12-20020a056512304c00b0050e690fee47mr503393lfb.46.1705048287693; Fri, 12 Jan 2024 00:31:27 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1705048287; cv=none; d=google.com; s=arc-20160816; b=ZqsuqpCcFrkwYNyPioP29KC5PNcl3m/lRCFOXMauk0HgRm5hYwtyHWLVhV1faYD8x2 WipvCatt1HK9RRuiCVV1FhfzVS2MeOiDiNF3jbjquKIR/JEeQKhWRnnRjTo/CNrDUls3 IhYvvQe5OEylltw028G4IuzB4nt76JLorv4hCkFh5YYZtwJbF7i/dNFKcmC4Q+AJgrNX /6vqgu/aE8bhOrH4HMcPObO0w3DROTtOGrxsUIi2wTof+EkBDa2JexEMATaE79o19Rfl MJu56xpxMdYfG/bhWl2nKg1YkU4IUIGbABewajxWuBg2YJ4RSDpzzmYXPnSOeQIeVcLi LHhA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:cc: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=/OR+8fYQMY+iCqXnnnyyraVQCyqiiNe/seK3k8k5ni4=; fh=xmAeKtysnShNOmkhiJmYkS30uw4Fu2hvBJ7qlIwukxQ=; b=aOB/+B8TwSlIHSmPeCiebe6zY7ydl5ddSsONxWLqjY+9wm2YK62a5oLSSO/YBGFMFb 253vJi7AaJaa5AujAMjy/CICSBsCu7f3uh7TjEI0tYe1eUeOiD3hw1b8VA78CJHM0jDH RDcdqEo+8lW5LS0eyteIMEHrvp0J4DozwEeUfmj4b2px9HGOjaz5F7Xo8HHRnOIyQmjL ZGdbKfbdot7LY5Z5WKgTDu1zreqSo7c5wkZCrY0QoYHJ82cf3YxLNpzKSXrpgxTC/orP pVT+USmU1i+eMM7UuF89kRHh+vboRY3eSqdtZpDyMUd7/coLlVlZgsxcvnjKv+6gJHzk ErhQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@haasn.xyz header.s=mail header.b=ulpDqrWL; 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 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id p3-20020a056402500300b005564f353c64si1230987eda.687.2024.01.12.00.31.24; Fri, 12 Jan 2024 00:31:27 -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=@haasn.xyz header.s=mail header.b=ulpDqrWL; 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 Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 74CD068D0A0; Fri, 12 Jan 2024 10:30:12 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from haasn.dev (haasn.dev [78.46.187.166]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id E80B168D079 for ; Fri, 12 Jan 2024 10:30:01 +0200 (EET) Received: from haasn.dev (unknown [10.30.0.2]) by haasn.dev (Postfix) with ESMTP id 571C44065B; Fri, 12 Jan 2024 09:30:01 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=haasn.xyz; s=mail; t=1705048201; bh=SIY7PPT02jI0rnP7p/Nh6/y4wN6nZ4m3w/XXwjlSn3E=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ulpDqrWLIbs4lpHWd7peZ5CJ2gsV6aA2l3ccgHMNWLfY5K8K//DKM7e4KEnqsni9h TCwxPtY1e5gWqbdChFYUxmCcK41Ar6pSuzDsaPWZZcCoPiF5XUic1ljNV+7j/AYulk 08qbn/wlrcUzYKlXEtu/SfvKbcbIe7PRquII15MI= From: Niklas Haas To: ffmpeg-devel@ffmpeg.org Date: Fri, 12 Jan 2024 09:26:04 +0100 Message-ID: <20240112082950.41637-8-ffmpeg@haasn.xyz> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240112082950.41637-1-ffmpeg@haasn.xyz> References: <20240112082950.41637-1-ffmpeg@haasn.xyz> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 07/11] fftools/ffmpeg_filter: propagate codec yuv metadata to filters 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 Cc: Niklas Haas Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: rvitx0oRjJ4k From: Niklas Haas To convert between color spaces/ranges, if needed by the codec properties. We momentarily duplicate the mjpeg strictness logic to also enfoce full range. This duplication will be cleaned up in an upcoming commit. Due to avcodec_open2 being called after ofilter_bind_ost, we need to look up the eventual encoder options from the options dictionary directly, following the same design as the "strict" option. --- fftools/ffmpeg_filter.c | 55 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) diff --git a/fftools/ffmpeg_filter.c b/fftools/ffmpeg_filter.c index 39f5cde514..280d80f905 100644 --- a/fftools/ffmpeg_filter.c +++ b/fftools/ffmpeg_filter.c @@ -206,6 +206,8 @@ typedef struct OutputFilterPriv { int width, height; int sample_rate; AVChannelLayout ch_layout; + enum AVColorSpace color_space; + enum AVColorRange color_range; // time base in which the output is sent to our downstream // does not need to match the filtersink's timebase @@ -221,6 +223,8 @@ typedef struct OutputFilterPriv { const int *formats; const AVChannelLayout *ch_layouts; const int *sample_rates; + const enum AVColorSpace *color_spaces; + const enum AVColorRange *color_ranges; AVRational enc_timebase; // offset for output timestamps, in AV_TIME_BASE_Q @@ -392,6 +396,12 @@ DEF_CHOOSE_FORMAT(sample_fmts, enum AVSampleFormat, format, formats, DEF_CHOOSE_FORMAT(sample_rates, int, sample_rate, sample_rates, 0, "%d", ) +DEF_CHOOSE_FORMAT(color_spaces, enum AVColorSpace, color_space, color_spaces, + AVCOL_SPC_UNSPECIFIED, "%s", av_color_space_name); + +DEF_CHOOSE_FORMAT(color_ranges, enum AVColorRange, color_range, color_ranges, + AVCOL_RANGE_UNSPECIFIED, "%s", av_color_range_name); + static void choose_channel_layouts(OutputFilterPriv *ofp, AVBPrint *bprint) { if (av_channel_layout_check(&ofp->ch_layout)) { @@ -621,6 +631,8 @@ static OutputFilter *ofilter_alloc(FilterGraph *fg) ofilter->graph = fg; ofp->format = -1; ofp->index = fg->nb_outputs - 1; + ofp->color_space = AVCOL_SPC_UNSPECIFIED; + ofp->color_range = AVCOL_RANGE_UNSPECIFIED; return ofilter; } @@ -694,6 +706,17 @@ static int set_channel_layout(OutputFilterPriv *f, OutputStream *ost) return 0; } +static int ost_opt_int(OutputStream *ost, const char *name, int defval) +{ + const AVDictionaryEntry *e = av_dict_get(ost->encoder_opts, name, NULL, 0); + if (e) { + const AVOption *o = av_opt_find(ost->enc_ctx, e->key, NULL, 0, 0); + av_assert0(o); + av_opt_eval_int(ost->enc_ctx, o, e->value, &defval); + } + return defval; +} + int ofilter_bind_ost(OutputFilter *ofilter, OutputStream *ost, unsigned sched_idx_enc) { @@ -702,6 +725,8 @@ int ofilter_bind_ost(OutputFilter *ofilter, OutputStream *ost, FilterGraph *fg = ofilter->graph; FilterGraphPriv *fgp = fgp_from_fg(fg); const AVCodec *c = ost->enc_ctx->codec; + enum AVColorSpace color_space; + enum AVColorRange color_range; int ret; av_assert0(!ofilter->ost); @@ -716,6 +741,8 @@ int ofilter_bind_ost(OutputFilter *ofilter, OutputStream *ost, case AVMEDIA_TYPE_VIDEO: ofp->width = ost->enc_ctx->width; ofp->height = ost->enc_ctx->height; + color_space = ost_opt_int(ost, "color_space", ost->enc_ctx->colorspace); + color_range = ost_opt_int(ost, "color_range", ost->enc_ctx->color_range); if (ost->enc_ctx->pix_fmt != AV_PIX_FMT_NONE) { ofp->format = ost->enc_ctx->pix_fmt; } else if (!ost->keep_pix_fmt) { @@ -745,6 +772,30 @@ int ofilter_bind_ost(OutputFilter *ofilter, OutputStream *ost, ofp->formats = mjpeg_formats; } } + if (color_space != AVCOL_SPC_UNSPECIFIED) { + ofp->color_space = color_space; + } else { + ofp->color_spaces = c->color_spaces; + } + if (color_range != AVCOL_RANGE_UNSPECIFIED) { + ofp->color_range = color_range; + } else { + ofp->color_ranges = c->color_ranges; + + // MJPEG encoder exports a full list of supported pixel formats, + // but the full-range ones are experimental-only. + // Restrict the auto-conversion list unless -strict experimental + // has been specified. + if (!strcmp(c->name, "mjpeg")) { + static const enum AVColorRange mjpeg_ranges[] = + { AVCOL_RANGE_JPEG, AVCOL_RANGE_UNSPECIFIED }; + + int strict_val = ost->enc_ctx->strict_std_compliance; + strict_val = ost_opt_int(ost, "strict", strict_val); + if (strict_val > FF_COMPLIANCE_UNOFFICIAL) + ofp->color_ranges = mjpeg_ranges; + } + } fgp->disable_conversions |= ost->keep_pix_fmt; @@ -1240,6 +1291,8 @@ static int configure_output_video_filter(FilterGraph *fg, AVFilterGraph *graph, av_assert0(!ost->keep_pix_fmt || (!ofp->format && !ofp->formats)); av_bprint_init(&bprint, 0, AV_BPRINT_SIZE_UNLIMITED); choose_pix_fmts(ofp, &bprint); + choose_color_spaces(ofp, &bprint); + choose_color_ranges(ofp, &bprint); if (!av_bprint_is_complete(&bprint)) return AVERROR(ENOMEM); if (bprint.len) { @@ -1747,6 +1800,8 @@ static int configure_filtergraph(FilterGraph *fg, FilterGraphThread *fgt) ofp->width = av_buffersink_get_w(sink); ofp->height = av_buffersink_get_h(sink); + ofp->color_space = av_buffersink_get_colorspace(sink); + ofp->color_range = av_buffersink_get_color_range(sink); // If the timing parameters are not locked yet, get the tentative values // here but don't lock them. They will only be used if no output frames From patchwork Fri Jan 12 08:26:05 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Niklas Haas X-Patchwork-Id: 45583 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:bf2f:b0:199:de12:6fa6 with SMTP id gc47csp2204586pzb; Fri, 12 Jan 2024 00:31:34 -0800 (PST) X-Google-Smtp-Source: AGHT+IEFcdBUWJagONp1s9WEXWRSDObHgvfUTgZUKMt5xKqyqms+hsI8JsV77Vs2hcSCEDNpce6q X-Received: by 2002:a05:6402:698:b0:557:8cb9:909a with SMTP id f24-20020a056402069800b005578cb9909amr423365edy.60.1705048293954; Fri, 12 Jan 2024 00:31:33 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1705048293; cv=none; d=google.com; s=arc-20160816; b=yaWcfpiiyl1zQfr5UtneyavKU31D33WDmccq8Kx6HrrOq8hg2WH+u1yUMjbsJkEgaM Qu7+kEDO4KFdLW0nqq111lKoCdXVjZzD99a2LyiYnoF5yj3Znl0Xxurcw2ssm0lbpLug r6egXFeVuMDPQWA05Edg/ek1qXIGFbtXnrT+1iron/EpdAqSOMJD1AVabJv9nmy2mTBY LvN1czYUs0XDzumZWUvUdYdJcuLg63BkkMoGL/26/Sh7cnHLqwLOtXfzSAsi7zqC4jhI 1dHs3eKf1UmsSPYT79PYKonkGN/LXtRtlTrI3b7ZbY2fsTiSMcDwXtZZuqCHOmx+N1VP eg6w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:cc: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=0xTHRu1ANxJ6vqqBuKDBtA9aNBiOKmtg0NVi3j8Q9tk=; fh=xmAeKtysnShNOmkhiJmYkS30uw4Fu2hvBJ7qlIwukxQ=; b=XZw5KeOSW+4pUiKtyuVmmVeDkzYrher1CMYs5BzQYF/2ZbPphyoUhbL21bdpHn7YP6 EaaeOMBnDSach/qRuAu8sUjCFBPF1nxK/T6yUPjfMN5vkwtxqNWd37O1yg3A7+1Vufak OKBJQrxFk/cdZPtCtlAA0xjB3pfD4W5dPZuR48RZjpGYwvIc9K5Z3nETL1QMP8r1ev2Z MlSn1OQX+X7s+E+616fs8lRLIO0K4PCueUTtEt5Crp3w6t2d9F6dn9iokpJgkbxG+v48 BBhxxmim0S29/cyakLQDpscFvIhiSJLWkBvoZ5XDemlmFleP5Cg5sOlyfowvbHMIv2Lx wT7Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@haasn.xyz header.s=mail header.b=flW6mAgJ; 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 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id c14-20020a0564021f8e00b005582371376bsi1230735edc.301.2024.01.12.00.31.33; Fri, 12 Jan 2024 00:31:33 -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=@haasn.xyz header.s=mail header.b=flW6mAgJ; 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 Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 7B69168D0AF; Fri, 12 Jan 2024 10:30:13 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from haasn.dev (haasn.dev [78.46.187.166]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 883ED68D098 for ; Fri, 12 Jan 2024 10:30:02 +0200 (EET) Received: from haasn.dev (unknown [10.30.0.2]) by haasn.dev (Postfix) with ESMTP id 2522B414B5; Fri, 12 Jan 2024 09:30:02 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=haasn.xyz; s=mail; t=1705048202; bh=VFp9DZ48s8UzNGxzM7TPCc4onZB0zpqTybPlX+iCQh4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=flW6mAgJS/nJBPepTFNMkcybZxoq8DOrYa3JBX4m6XPk4qKSHTbMAaIuNmNcEbtv7 QS7Tsbk2ofdty0V9r0F8I/wkLd1ROn+Nwi+y+QQV5n5Yn9q6Wcd3ZfAKNMIpjjsGDh q7AhOHMYygHGazYO6qbGM75oiXeJ5ITj6rxJg4Q8= From: Niklas Haas To: ffmpeg-devel@ffmpeg.org Date: Fri, 12 Jan 2024 09:26:05 +0100 Message-ID: <20240112082950.41637-9-ffmpeg@haasn.xyz> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240112082950.41637-1-ffmpeg@haasn.xyz> References: <20240112082950.41637-1-ffmpeg@haasn.xyz> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 08/11] tests/fate: force MPEG range for rawvideo tests 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 Cc: Niklas Haas Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: E4qydGS06GP2 From: Niklas Haas The input file is MPEG range, so we should also encode to MPEG range before comparing against it. This bug was avoided in the past because JPEG range YUV inputs were tagged as YUVJ, which resulted in an automatic conversion to PC range by default. After YUVJ removal, we will need to explicitly specify that we want MPEG range, since rawvideo does not care (or signal) if the output is JPEG or MPEG range. Affects both vsynth and owdenoise. --- tests/fate/filter-video.mak | 2 +- tests/fate/vcodec.mak | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/fate/filter-video.mak b/tests/fate/filter-video.mak index c8bd8c2e1f..7e46175a4f 100644 --- a/tests/fate/filter-video.mak +++ b/tests/fate/filter-video.mak @@ -2,7 +2,7 @@ VIDEO_FILTER = $(call ALLYES, $(1:%=%_FILTER) $(2) FILE_PROTOCOL IMAGE2_DEMUXER PGMYUV_DECODER RAWVIDEO_ENCODER NUT_MUXER MD5_PROTOCOL) FATE_FILTER_SAMPLES-$(call FILTERDEMDECENCMUX, PERMS OWDENOISE TRIM SCALE, SMJPEG, MJPEG, RAWVIDEO, RAWVIDEO, PIPE_PROTOCOL) += fate-filter-owdenoise-sample -fate-filter-owdenoise-sample: CMD = ffmpeg -auto_conversion_filters -idct simple -i $(TARGET_SAMPLES)/smjpeg/scenwin.mjpg -vf "trim=duration=0.5,perms=random,owdenoise=10:20:20:enable=not(between(t\,0.2\,1.2))" -an -f rawvideo - +fate-filter-owdenoise-sample: CMD = ffmpeg -auto_conversion_filters -idct simple -i $(TARGET_SAMPLES)/smjpeg/scenwin.mjpg -vf "trim=duration=0.5,perms=random,owdenoise=10:20:20:enable=not(between(t\,0.2\,1.2))" -an -f rawvideo -color_range mpeg - fate-filter-owdenoise-sample: REF = $(SAMPLES)/filter-reference/owdenoise-scenwin.raw fate-filter-owdenoise-sample: CMP_TARGET = 1 fate-filter-owdenoise-sample: FUZZ = 3539 diff --git a/tests/fate/vcodec.mak b/tests/fate/vcodec.mak index abdc481f8a..86ef05855f 100644 --- a/tests/fate/vcodec.mak +++ b/tests/fate/vcodec.mak @@ -6,7 +6,7 @@ fate-vsynth%: CODEC = $(word 3, $(subst -, ,$(@))) fate-vsynth%: FMT = avi fate-vsynth%: DEFAULT_SIZE = -s 352x288 fate-vsynth3-%: DEFAULT_SIZE = -s $(FATEW)x$(FATEH) -fate-vsynth%: CMD = enc_dec "rawvideo $(DEFAULT_SIZE) -pix_fmt yuv420p $(RAWDECOPTS)" $(SRC) $(FMT) "-c $(CODEC) $(ENCOPTS)" rawvideo "-pix_fmt yuv420p -fps_mode passthrough $(DECOPTS)" "" "" ${TWOPASS} +fate-vsynth%: CMD = enc_dec "rawvideo $(DEFAULT_SIZE) -color_range mpeg -pix_fmt yuv420p $(RAWDECOPTS)" $(SRC) $(FMT) "-c $(CODEC) $(ENCOPTS)" rawvideo "-pix_fmt yuv420p -color_range mpeg -fps_mode passthrough $(DECOPTS)" "" "" ${TWOPASS} fate-vsynth%: CMP_UNIT = 1 fate-vsynth%: REF = $(SRC_PATH)/tests/ref/vsynth/$(@:fate-%=%) From patchwork Fri Jan 12 08:26:06 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Niklas Haas X-Patchwork-Id: 45584 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:bf2f:b0:199:de12:6fa6 with SMTP id gc47csp2204653pzb; Fri, 12 Jan 2024 00:31:44 -0800 (PST) X-Google-Smtp-Source: AGHT+IHHEck0k1Zg65KpTdB9dqosauyRIeriydBGzBtdydoH5cR4b5gx4jisGW6z/dZFp9/jmjhR X-Received: by 2002:a17:906:2402:b0:a26:4625:eeb4 with SMTP id z2-20020a170906240200b00a264625eeb4mr490032eja.51.1705048304281; Fri, 12 Jan 2024 00:31:44 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1705048304; cv=none; d=google.com; s=arc-20160816; b=muqVklDN11y/DsY1o8Yt72tA+6s9UQEVbURdKORjjht0UzJxt35RmwGOJZczQjGU+L ZcY+csfrASCi4PgHi7BIjo+8eXJHEI/+RU6eduMqaGcwFuqnzIpHP1tEBlMnRF1BQ/tv B8jsl/Mx9z9y2/8qKrm8t59S/51di5rjtnWPLJ9Y2Wulc+BUTVItifdIQNeEg8Z5tuMW G6XGZkk4n20mXMDL4aQgpoEtQ51wRaYkSqeajruTfRZziT+Jo3MtVIqK6C/27uQuM4o6 zpJK4APf2KkjTxq9pORj6ts8/xaizjWN4P1jv9nYtf9Cjd3NfudjLkK3ZNM6HSKSWA4A ZlXg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:cc: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=CqDSwypt4lu93H5AbOIxXFnahZYi+ECL3ESjyYhzKDA=; fh=xmAeKtysnShNOmkhiJmYkS30uw4Fu2hvBJ7qlIwukxQ=; b=IQaIDP3KcXUAEW5O3iMZJBIryy1JtQbYeAJC87rPxjMgZqjLg0dE5ctG/i4LbEaEUW RY0PyREaXA5YDJ8iocT0WeuuOpRkSpSN14V98h0BOanL31fwIJ+epu2iM4h3pKRyAM/G fRh9lP4WvzKBbb6yrNvUz5pce4uVn3wU96L4ydtg8Q5UGtJCW7xTHY7eap3+hfxJrawB gZlh52ByjbTpL/fOW6opdvcP+6LQZMicIosoMEWKCU0vlNC1WK755/4+yeJxxCAHat0e 3DValSjJgyWCb0B5nCvsLl+Lm84q4uQCy0cEV7b4Zkzxu7Nz2kuIIUR7Kk136AvxbfD7 OaeQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@haasn.xyz header.s=mail header.b=QW2q0MKl; 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 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id m26-20020a1709062ada00b00a28cef9f321si1177549eje.580.2024.01.12.00.31.43; Fri, 12 Jan 2024 00:31:44 -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=@haasn.xyz header.s=mail header.b=QW2q0MKl; 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 Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 8685E68D0CF; Fri, 12 Jan 2024 10:30:14 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from haasn.dev (haasn.dev [78.46.187.166]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 6069168D0A6 for ; Fri, 12 Jan 2024 10:30:03 +0200 (EET) Received: from haasn.dev (unknown [10.30.0.2]) by haasn.dev (Postfix) with ESMTP id A6D964A07A; Fri, 12 Jan 2024 09:30:02 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=haasn.xyz; s=mail; t=1705048203; bh=zCgrG+f7mEl9Db0UwD8rJZQZspm2X4TROG9NmZ1Lp00=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=QW2q0MKl7RkTzFGKiuCniPKFtDF9yx1hnpzLA+jXvpRAlammEHkhEu53zSdFgw/5s kcIlHzpKFed7PMUu+n17SVzU3qUJdagxqRAy5hBF8ya0neZEr/qdCrogvI1+ts6bxh M5akI2c8L8Sl3K7uq4f5MycFkLIOZYqN5nbr2Ve4= From: Niklas Haas To: ffmpeg-devel@ffmpeg.org Date: Fri, 12 Jan 2024 09:26:06 +0100 Message-ID: <20240112082950.41637-10-ffmpeg@haasn.xyz> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240112082950.41637-1-ffmpeg@haasn.xyz> References: <20240112082950.41637-1-ffmpeg@haasn.xyz> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 09/11] lavfi/lavu/lavc: remove YUVJ pixel formats 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 Cc: Niklas Haas Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: 2+zpjvxdH6R6 From: Niklas Haas To avoid regressing any particular filter or codec, and to ensure every commit still passes FATE while bisecting, removal of the YUVJ pixel format and removal of YUVJ pixel format handling code was done in a single, atomic commit. Because this is a broad, sweeping change, the commit touches very many places in the code. However, while this commit is very large, all of the changes can be described as either: - Setting the pixel format to YUV instead of YUVJ (for decoders which already correctly set range metadata) - Removing YUVJ from pixel format lists (for filters/encoders that already natively handle color range metadata correctly) - Replacing `pix_fmt = YUVJ` by `pix_fmt = YUV, color_ranges = JPEG` (for encoders which only supported YUVJ) - Replacing a check of type (range == JPEG || pixfmt == YUVJ) by just (range == JPEG). The only non-trivial exception to this is the change to ffmpeg_filter.c, in which case the special handling of mjpeg was simply removed entirely, since the new logic of setting c->color_ranges replaces it. --- doc/APIchanges | 4 ++ fftools/ffmpeg_filter.c | 24 -------- libavcodec/encode.c | 6 -- libavcodec/fraps.c | 2 +- libavcodec/h264_slice.c | 26 +------- libavcodec/hevc_ps.c | 2 - libavcodec/hevcdec.c | 1 - libavcodec/libopenh264enc.c | 5 +- libavcodec/librav1e.c | 17 +----- libavcodec/libx264.c | 14 ----- libavcodec/libx265.c | 14 +---- libavcodec/ljpegenc.c | 1 - libavcodec/mdec.c | 2 +- libavcodec/mjpegdec.c | 28 ++++----- libavcodec/mjpegenc.c | 3 +- libavcodec/mjpegenc_common.c | 2 +- libavcodec/mpegvideo_enc.c | 3 - libavcodec/nvenc.c | 9 +-- libavcodec/qsv.c | 1 - libavcodec/raw.c | 14 ----- libavcodec/roqvideodec.c | 2 +- libavcodec/roqvideoenc.c | 2 +- libavcodec/svq3.c | 4 +- libavcodec/tdsc.c | 2 +- libavcodec/utils.c | 5 -- libavcodec/vdpau.c | 3 - libavfilter/avf_showcwt.c | 2 +- libavfilter/avf_showspectrum.c | 2 +- libavfilter/avfiltergraph.c | 12 +--- libavfilter/drawutils.c | 5 +- libavfilter/f_select.c | 4 +- libavfilter/vaf_spectrumsynth.c | 6 +- libavfilter/vf_amplify.c | 3 - libavfilter/vf_atadenoise.c | 3 - libavfilter/vf_avgblur.c | 4 +- libavfilter/vf_bbox.c | 3 - libavfilter/vf_bilateral.c | 4 +- libavfilter/vf_bitplanenoise.c | 2 - libavfilter/vf_blackdetect.c | 11 +--- libavfilter/vf_blend.c | 1 - libavfilter/vf_blockdetect.c | 2 - libavfilter/vf_blurdetect.c | 2 - libavfilter/vf_bm3d.c | 3 - libavfilter/vf_bwdif.c | 2 - libavfilter/vf_cas.c | 3 - libavfilter/vf_chromanr.c | 1 - libavfilter/vf_chromashift.c | 1 - libavfilter/vf_colorcorrect.c | 1 - libavfilter/vf_colorize.c | 3 - libavfilter/vf_colorspace.c | 1 - libavfilter/vf_convolution.c | 4 +- libavfilter/vf_convolve.c | 4 +- libavfilter/vf_corr.c | 2 - libavfilter/vf_cover_rect.c | 4 +- libavfilter/vf_cropdetect.c | 6 +- libavfilter/vf_dblur.c | 4 +- libavfilter/vf_deband.c | 4 +- libavfilter/vf_deblock.c | 4 +- libavfilter/vf_decimate.c | 2 - libavfilter/vf_dedot.c | 4 +- libavfilter/vf_deflicker.c | 3 - libavfilter/vf_deshake.c | 3 +- libavfilter/vf_displace.c | 4 +- libavfilter/vf_drawbox.c | 4 +- libavfilter/vf_entropy.c | 2 - libavfilter/vf_estdif.c | 3 - libavfilter/vf_extractplanes.c | 3 - libavfilter/vf_fade.c | 4 +- libavfilter/vf_fftdnoiz.c | 3 - libavfilter/vf_fftfilt.c | 4 +- libavfilter/vf_fieldmatch.c | 3 - libavfilter/vf_fillborders.c | 4 +- libavfilter/vf_find_rect.c | 2 +- libavfilter/vf_framepack.c | 3 - libavfilter/vf_framerate.c | 10 ++-- libavfilter/vf_freezedetect.c | 5 +- libavfilter/vf_fspp.c | 2 - libavfilter/vf_gblur.c | 4 +- libavfilter/vf_guided.c | 4 +- libavfilter/vf_histogram.c | 8 +-- libavfilter/vf_hqdn3d.c | 1 - libavfilter/vf_hysteresis.c | 4 +- libavfilter/vf_identity.c | 2 - libavfilter/vf_idet.c | 4 -- libavfilter/vf_lagfun.c | 3 - libavfilter/vf_lenscorrection.c | 3 - libavfilter/vf_limitdiff.c | 4 +- libavfilter/vf_limiter.c | 4 +- libavfilter/vf_lut.c | 2 - libavfilter/vf_lut2.c | 4 +- libavfilter/vf_maskedclamp.c | 4 +- libavfilter/vf_maskedmerge.c | 4 +- libavfilter/vf_maskedminmax.c | 4 +- libavfilter/vf_maskedthreshold.c | 4 +- libavfilter/vf_maskfun.c | 4 +- libavfilter/vf_median.c | 4 +- libavfilter/vf_mestimate.c | 3 - libavfilter/vf_midequalizer.c | 4 +- libavfilter/vf_minterpolate.c | 3 - libavfilter/vf_monochrome.c | 3 - libavfilter/vf_morpho.c | 4 +- libavfilter/vf_mpdecimate.c | 2 - libavfilter/vf_negate.c | 2 - libavfilter/vf_neighbor.c | 4 +- libavfilter/vf_nlmeans.c | 3 - libavfilter/vf_nnedi.c | 3 - libavfilter/vf_ocr.c | 3 - libavfilter/vf_overlay.c | 6 +- libavfilter/vf_perspective.c | 1 - libavfilter/vf_phase.c | 3 - libavfilter/vf_pixelize.c | 3 - libavfilter/vf_pp.c | 12 ++-- libavfilter/vf_pp7.c | 2 - libavfilter/vf_premultiply.c | 10 +--- libavfilter/vf_psnr.c | 2 - libavfilter/vf_pullup.c | 4 +- libavfilter/vf_readeia608.c | 3 - libavfilter/vf_readvitc.c | 5 -- libavfilter/vf_remap.c | 1 - libavfilter/vf_removegrain.c | 2 - libavfilter/vf_rotate.c | 4 +- libavfilter/vf_scdet.c | 8 +-- libavfilter/vf_scroll.c | 4 +- libavfilter/vf_shear.c | 3 - libavfilter/vf_signalstats.c | 2 - libavfilter/vf_signature.c | 3 - libavfilter/vf_siti.c | 12 +--- libavfilter/vf_spp.c | 2 - libavfilter/vf_ssim.c | 2 - libavfilter/vf_ssim360.c | 2 - libavfilter/vf_stereo3d.c | 5 -- libavfilter/vf_threshold.c | 4 +- libavfilter/vf_thumbnail.c | 3 - libavfilter/vf_tiltandshift.c | 8 +-- libavfilter/vf_tinterlace.c | 25 +++----- libavfilter/vf_tmidequalizer.c | 4 +- libavfilter/vf_unsharp.c | 4 +- libavfilter/vf_uspp.c | 2 - libavfilter/vf_v360.c | 5 -- libavfilter/vf_vaguedenoiser.c | 3 - libavfilter/vf_varblur.c | 4 +- libavfilter/vf_vectorscope.c | 10 ++-- libavfilter/vf_vif.c | 2 - libavfilter/vf_w3fdif.c | 3 - libavfilter/vf_waveform.c | 8 +-- libavfilter/vf_xfade.c | 1 - libavfilter/vf_xmedian.c | 3 - libavfilter/vf_yadif.c | 2 - libavfilter/vf_yaepblur.c | 4 +- libavfilter/vf_zoompan.c | 3 - libavfilter/vf_zscale.c | 3 - libavfilter/vsrc_testsrc.c | 2 +- libavformat/yuv4mpegenc.c | 16 ----- libavutil/pixdesc.c | 60 ------------------- libavutil/pixfmt.h | 5 -- libavutil/version.h | 4 +- libswscale/utils.c | 32 +--------- tests/fate/lavf-image.mak | 2 +- tests/fate/pixfmt.mak | 4 -- tests/fate/vcodec.mak | 12 ++-- tests/ref/fate/exif-image-embedded | 2 +- tests/ref/fate/exif-image-jpg | 2 +- tests/ref/fate/filter-pixdesc-yuvj411p | 1 - tests/ref/fate/filter-pixdesc-yuvj420p | 1 - tests/ref/fate/filter-pixdesc-yuvj422p | 1 - tests/ref/fate/filter-pixdesc-yuvj440p | 1 - tests/ref/fate/filter-pixdesc-yuvj444p | 1 - tests/ref/fate/filter-pixfmts-copy | 5 -- tests/ref/fate/filter-pixfmts-crop | 5 -- tests/ref/fate/filter-pixfmts-field | 5 -- tests/ref/fate/filter-pixfmts-fieldorder | 3 - tests/ref/fate/filter-pixfmts-hflip | 5 -- tests/ref/fate/filter-pixfmts-il | 5 -- tests/ref/fate/filter-pixfmts-lut | 4 -- tests/ref/fate/filter-pixfmts-null | 5 -- tests/ref/fate/filter-pixfmts-pad | 5 -- tests/ref/fate/filter-pixfmts-pullup | 5 -- tests/ref/fate/filter-pixfmts-rotate | 2 - tests/ref/fate/filter-pixfmts-scale | 5 -- tests/ref/fate/filter-pixfmts-swapuv | 5 -- .../ref/fate/filter-pixfmts-tinterlace_cvlpf | 4 -- .../ref/fate/filter-pixfmts-tinterlace_merge | 4 -- tests/ref/fate/filter-pixfmts-tinterlace_pad | 4 -- tests/ref/fate/filter-pixfmts-tinterlace_vlpf | 4 -- tests/ref/fate/filter-pixfmts-transpose | 2 - tests/ref/fate/filter-pixfmts-vflip | 5 -- tests/ref/fate/imgutils | 10 ---- tests/ref/fate/jpg-icc | 2 +- tests/ref/fate/sws-pixdesc-query | 15 ----- tests/ref/pixfmt/yuvj420p | 2 - tests/ref/pixfmt/yuvj422p | 2 - tests/ref/pixfmt/yuvj440p | 2 - tests/ref/pixfmt/yuvj444p | 2 - 193 files changed, 141 insertions(+), 806 deletions(-) delete mode 100644 tests/ref/fate/filter-pixdesc-yuvj411p delete mode 100644 tests/ref/fate/filter-pixdesc-yuvj420p delete mode 100644 tests/ref/fate/filter-pixdesc-yuvj422p delete mode 100644 tests/ref/fate/filter-pixdesc-yuvj440p delete mode 100644 tests/ref/fate/filter-pixdesc-yuvj444p delete mode 100644 tests/ref/pixfmt/yuvj420p delete mode 100644 tests/ref/pixfmt/yuvj422p delete mode 100644 tests/ref/pixfmt/yuvj440p delete mode 100644 tests/ref/pixfmt/yuvj444p diff --git a/doc/APIchanges b/doc/APIchanges index 99eeda1779..2c6e25a2e6 100644 --- a/doc/APIchanges +++ b/doc/APIchanges @@ -2,6 +2,10 @@ The last version increases of all libraries were on 2023-02-09 API changes, most recent first: +2023-10-xx - xxxxxxxxxx - lavu 58.37.100 - pixfmt.h + Remove AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ444P, + AV_PIX_FMT_YUVJ440P and AV_PIX_FMT_YUVJ411P. + 2023-11-xx - xxxxxxxxxx - lavc 60.37.100 - avcodec.h Add AVCodec.color_ranges and AVCodec.color_spaces. diff --git a/fftools/ffmpeg_filter.c b/fftools/ffmpeg_filter.c index 280d80f905..a35510ce73 100644 --- a/fftools/ffmpeg_filter.c +++ b/fftools/ffmpeg_filter.c @@ -747,30 +747,6 @@ int ofilter_bind_ost(OutputFilter *ofilter, OutputStream *ost, ofp->format = ost->enc_ctx->pix_fmt; } else if (!ost->keep_pix_fmt) { ofp->formats = c->pix_fmts; - - // MJPEG encoder exports a full list of supported pixel formats, - // but the full-range ones are experimental-only. - // Restrict the auto-conversion list unless -strict experimental - // has been specified. - if (!strcmp(c->name, "mjpeg")) { - // FIXME: YUV420P etc. are actually supported with full color range, - // yet the latter information isn't available here. - static const enum AVPixelFormat mjpeg_formats[] = - { AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ444P, - AV_PIX_FMT_NONE }; - - const AVDictionaryEntry *strict = av_dict_get(ost->encoder_opts, "strict", NULL, 0); - int strict_val = ost->enc_ctx->strict_std_compliance; - - if (strict) { - const AVOption *o = av_opt_find(ost->enc_ctx, strict->key, NULL, 0, 0); - av_assert0(o); - av_opt_eval_int(ost->enc_ctx, o, strict->value, &strict_val); - } - - if (strict_val > FF_COMPLIANCE_UNOFFICIAL) - ofp->formats = mjpeg_formats; - } } if (color_space != AVCOL_SPC_UNSPECIFIED) { ofp->color_space = color_space; diff --git a/libavcodec/encode.c b/libavcodec/encode.c index a436be2657..31565638fa 100644 --- a/libavcodec/encode.c +++ b/libavcodec/encode.c @@ -603,12 +603,6 @@ static int encode_preinit_video(AVCodecContext *avctx) return AVERROR(EINVAL); } - if (c->pix_fmts[i] == AV_PIX_FMT_YUVJ420P || - c->pix_fmts[i] == AV_PIX_FMT_YUVJ411P || - c->pix_fmts[i] == AV_PIX_FMT_YUVJ422P || - c->pix_fmts[i] == AV_PIX_FMT_YUVJ440P || - c->pix_fmts[i] == AV_PIX_FMT_YUVJ444P) - avctx->color_range = AVCOL_RANGE_JPEG; } if ( avctx->bits_per_raw_sample < 0 diff --git a/libavcodec/fraps.c b/libavcodec/fraps.c index bed244e4e9..77f6e68e34 100644 --- a/libavcodec/fraps.c +++ b/libavcodec/fraps.c @@ -217,7 +217,7 @@ static int decode_frame(AVCodecContext *avctx, AVFrame *f, f->pict_type = AV_PICTURE_TYPE_I; f->flags |= AV_FRAME_FLAG_KEY; - avctx->pix_fmt = version & 1 ? is_pal ? AV_PIX_FMT_PAL8 : AV_PIX_FMT_BGR24 : AV_PIX_FMT_YUVJ420P; + avctx->pix_fmt = version & 1 ? is_pal ? AV_PIX_FMT_PAL8 : AV_PIX_FMT_BGR24 : AV_PIX_FMT_YUV420P; avctx->color_range = version & 1 ? AVCOL_RANGE_UNSPECIFIED : AVCOL_RANGE_JPEG; avctx->colorspace = version & 1 ? AVCOL_SPC_UNSPECIFIED : AVCOL_SPC_BT709; diff --git a/libavcodec/h264_slice.c b/libavcodec/h264_slice.c index 8464a0b34c..d896db4a85 100644 --- a/libavcodec/h264_slice.c +++ b/libavcodec/h264_slice.c @@ -871,15 +871,10 @@ static enum AVPixelFormat get_pixel_format(H264Context *h, int force_callback) if (CHROMA444(h)) { if (h->avctx->colorspace == AVCOL_SPC_RGB) *fmt++ = AV_PIX_FMT_GBRP; - else if (h->avctx->color_range == AVCOL_RANGE_JPEG) - *fmt++ = AV_PIX_FMT_YUVJ444P; else *fmt++ = AV_PIX_FMT_YUV444P; } else if (CHROMA422(h)) { - if (h->avctx->color_range == AVCOL_RANGE_JPEG) - *fmt++ = AV_PIX_FMT_YUVJ422P; - else - *fmt++ = AV_PIX_FMT_YUV422P; + *fmt++ = AV_PIX_FMT_YUV422P; } else { #if CONFIG_H264_DXVA2_HWACCEL *fmt++ = AV_PIX_FMT_DXVA2_VLD; @@ -894,10 +889,7 @@ static enum AVPixelFormat get_pixel_format(H264Context *h, int force_callback) #if CONFIG_H264_VAAPI_HWACCEL *fmt++ = AV_PIX_FMT_VAAPI; #endif - if (h->avctx->color_range == AVCOL_RANGE_JPEG) - *fmt++ = AV_PIX_FMT_YUVJ420P; - else - *fmt++ = AV_PIX_FMT_YUV420P; + *fmt++ = AV_PIX_FMT_YUV420P; } break; default: @@ -1037,17 +1029,6 @@ fail: return ret; } -static enum AVPixelFormat non_j_pixfmt(enum AVPixelFormat a) -{ - switch (a) { - case AV_PIX_FMT_YUVJ420P: return AV_PIX_FMT_YUV420P; - case AV_PIX_FMT_YUVJ422P: return AV_PIX_FMT_YUV422P; - case AV_PIX_FMT_YUVJ444P: return AV_PIX_FMT_YUV444P; - default: - return a; - } -} - static int h264_init_ps(H264Context *h, const H264SliceContext *sl, int first_slice) { const SPS *sps; @@ -1080,8 +1061,7 @@ static int h264_init_ps(H264Context *h, const H264SliceContext *sl, int first_sl || h->mb_width != sps->mb_width || h->mb_height != sps->mb_height )); - if (h->avctx->pix_fmt == AV_PIX_FMT_NONE - || (non_j_pixfmt(h->avctx->pix_fmt) != non_j_pixfmt(get_pixel_format(h, 0)))) + if (h->avctx->pix_fmt == AV_PIX_FMT_NONE || (h->avctx->pix_fmt != get_pixel_format(h, 0))) must_reinit = 1; if (first_slice && av_cmp_q(sps->vui.sar, h->avctx->sample_aspect_ratio)) diff --git a/libavcodec/hevc_ps.c b/libavcodec/hevc_ps.c index fb997066d9..e69fa60ba1 100644 --- a/libavcodec/hevc_ps.c +++ b/libavcodec/hevc_ps.c @@ -577,8 +577,6 @@ static void decode_vui(GetBitContext *gb, AVCodecContext *avctx, ff_h2645_decode_common_vui_params(gb, &sps->vui.common, avctx); if (vui->common.video_signal_type_present_flag) { - if (vui->common.video_full_range_flag && sps->pix_fmt == AV_PIX_FMT_YUV420P) - sps->pix_fmt = AV_PIX_FMT_YUVJ420P; if (vui->common.colour_description_present_flag) { if (vui->common.matrix_coeffs == AVCOL_SPC_RGB) { switch (sps->pix_fmt) { diff --git a/libavcodec/hevcdec.c b/libavcodec/hevcdec.c index f21d15fe72..fa647b80ab 100644 --- a/libavcodec/hevcdec.c +++ b/libavcodec/hevcdec.c @@ -408,7 +408,6 @@ static enum AVPixelFormat get_format(HEVCContext *s, const HEVCSPS *sps) switch (sps->pix_fmt) { case AV_PIX_FMT_YUV420P: - case AV_PIX_FMT_YUVJ420P: #if CONFIG_HEVC_DXVA2_HWACCEL *fmt++ = AV_PIX_FMT_DXVA2_VLD; #endif diff --git a/libavcodec/libopenh264enc.c b/libavcodec/libopenh264enc.c index 18ae37e9ef..73bc4c2111 100644 --- a/libavcodec/libopenh264enc.c +++ b/libavcodec/libopenh264enc.c @@ -308,10 +308,8 @@ FF_ENABLE_DEPRECATION_WARNINGS #if OPENH264_VER_AT_LEAST(1, 6) param.sSpatialLayers[0].uiVideoFormat = VF_UNDEF; - if (avctx->color_range != AVCOL_RANGE_UNSPECIFIED) { + if (avctx->color_range != AVCOL_RANGE_UNSPECIFIED) param.sSpatialLayers[0].bFullRange = (avctx->color_range == AVCOL_RANGE_JPEG); - } else if (avctx->pix_fmt == AV_PIX_FMT_YUVJ420P) - param.sSpatialLayers[0].bFullRange = 1; if (avctx->colorspace != AVCOL_SPC_UNSPECIFIED || avctx->color_primaries != AVCOL_PRI_UNSPECIFIED || @@ -442,7 +440,6 @@ const FFCodec ff_libopenh264_encoder = { .caps_internal = FF_CODEC_CAP_INIT_CLEANUP | FF_CODEC_CAP_AUTO_THREADS, .p.pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_YUV420P, - AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_NONE }, .p.color_ranges = ff_color_range_all, .defaults = svc_enc_defaults, diff --git a/libavcodec/librav1e.c b/libavcodec/librav1e.c index c47147ffd5..f6e9d8c61e 100644 --- a/libavcodec/librav1e.c +++ b/libavcodec/librav1e.c @@ -65,15 +65,8 @@ typedef struct FrameData { AVBufferRef *frame_opaque_ref; } FrameData; -static inline RaPixelRange range_map(enum AVPixelFormat pix_fmt, enum AVColorRange range) +static inline RaPixelRange range_map(enum AVColorRange range) { - switch (pix_fmt) { - case AV_PIX_FMT_YUVJ420P: - case AV_PIX_FMT_YUVJ422P: - case AV_PIX_FMT_YUVJ444P: - return RA_PIXEL_RANGE_FULL; - } - switch (range) { case AVCOL_RANGE_JPEG: return RA_PIXEL_RANGE_FULL; @@ -87,17 +80,14 @@ static inline RaChromaSampling pix_fmt_map(enum AVPixelFormat pix_fmt) { switch (pix_fmt) { case AV_PIX_FMT_YUV420P: - case AV_PIX_FMT_YUVJ420P: case AV_PIX_FMT_YUV420P10: case AV_PIX_FMT_YUV420P12: return RA_CHROMA_SAMPLING_CS420; case AV_PIX_FMT_YUV422P: - case AV_PIX_FMT_YUVJ422P: case AV_PIX_FMT_YUV422P10: case AV_PIX_FMT_YUV422P12: return RA_CHROMA_SAMPLING_CS422; case AV_PIX_FMT_YUV444P: - case AV_PIX_FMT_YUVJ444P: case AV_PIX_FMT_YUV444P10: case AV_PIX_FMT_YUV444P12: return RA_CHROMA_SAMPLING_CS444; @@ -384,7 +374,7 @@ FF_ENABLE_DEPRECATION_WARNINGS rret = rav1e_config_set_pixel_format(cfg, desc->comp[0].depth, pix_fmt_map(avctx->pix_fmt), chroma_loc_map(avctx->chroma_sample_location), - range_map(avctx->pix_fmt, avctx->color_range)); + range_map(avctx->color_range)); if (rret < 0) { av_log(avctx, AV_LOG_ERROR, "Failed to set pixel format properties.\n"); ret = AVERROR_INVALIDDATA; @@ -651,15 +641,12 @@ static const FFCodecDefault librav1e_defaults[] = { const enum AVPixelFormat librav1e_pix_fmts[] = { AV_PIX_FMT_YUV420P, - AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUV420P10, AV_PIX_FMT_YUV420P12, AV_PIX_FMT_YUV422P, - AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUV422P10, AV_PIX_FMT_YUV422P12, AV_PIX_FMT_YUV444P, - AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUV444P10, AV_PIX_FMT_YUV444P12, AV_PIX_FMT_NONE diff --git a/libavcodec/libx264.c b/libavcodec/libx264.c index 00090f4334..c91acff2ca 100644 --- a/libavcodec/libx264.c +++ b/libavcodec/libx264.c @@ -834,14 +834,11 @@ static int convert_pix_fmt(enum AVPixelFormat pix_fmt) { switch (pix_fmt) { case AV_PIX_FMT_YUV420P: - case AV_PIX_FMT_YUVJ420P: case AV_PIX_FMT_YUV420P9: case AV_PIX_FMT_YUV420P10: return X264_CSP_I420; case AV_PIX_FMT_YUV422P: - case AV_PIX_FMT_YUVJ422P: case AV_PIX_FMT_YUV422P10: return X264_CSP_I422; case AV_PIX_FMT_YUV444P: - case AV_PIX_FMT_YUVJ444P: case AV_PIX_FMT_YUV444P9: case AV_PIX_FMT_YUV444P10: return X264_CSP_I444; case AV_PIX_FMT_BGR0: @@ -1157,11 +1154,6 @@ FF_ENABLE_DEPRECATION_WARNINGS if (avctx->color_range != AVCOL_RANGE_UNSPECIFIED) x4->params.vui.b_fullrange = avctx->color_range == AVCOL_RANGE_JPEG; - else if (avctx->pix_fmt == AV_PIX_FMT_YUVJ420P || - avctx->pix_fmt == AV_PIX_FMT_YUVJ422P || - avctx->pix_fmt == AV_PIX_FMT_YUVJ444P) - x4->params.vui.b_fullrange = 1; - if (avctx->colorspace != AVCOL_SPC_UNSPECIFIED) x4->params.vui.i_colmatrix = avctx->colorspace; if (avctx->color_primaries != AVCOL_PRI_UNSPECIFIED) @@ -1281,11 +1273,8 @@ FF_ENABLE_DEPRECATION_WARNINGS static const enum AVPixelFormat pix_fmts_8bit[] = { AV_PIX_FMT_YUV420P, - AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUV422P, - AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUV444P, - AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_NV12, AV_PIX_FMT_NV16, #ifdef X264_CSP_NV21 @@ -1307,11 +1296,8 @@ static const enum AVPixelFormat pix_fmts_10bit[] = { }; static const enum AVPixelFormat pix_fmts_all[] = { AV_PIX_FMT_YUV420P, - AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUV422P, - AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUV444P, - AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_NV12, AV_PIX_FMT_NV16, #ifdef X264_CSP_NV21 diff --git a/libavcodec/libx265.c b/libavcodec/libx265.c index 7c8c907f4d..3fcdb1984c 100644 --- a/libavcodec/libx265.c +++ b/libavcodec/libx265.c @@ -252,10 +252,7 @@ FF_ENABLE_DEPRECATION_WARNINGS avctx->color_range == AVCOL_RANGE_JPEG; else ctx->params->vui.bEnableVideoFullRangeFlag = - (desc->flags & AV_PIX_FMT_FLAG_RGB) || - avctx->pix_fmt == AV_PIX_FMT_YUVJ420P || - avctx->pix_fmt == AV_PIX_FMT_YUVJ422P || - avctx->pix_fmt == AV_PIX_FMT_YUVJ444P; + desc->flags & AV_PIX_FMT_FLAG_RGB; if ((avctx->color_primaries <= AVCOL_PRI_SMPTE432 && avctx->color_primaries != AVCOL_PRI_UNSPECIFIED) || @@ -797,11 +794,8 @@ FF_ENABLE_DEPRECATION_WARNINGS static const enum AVPixelFormat x265_csp_eight[] = { AV_PIX_FMT_YUV420P, - AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUV422P, - AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUV444P, - AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_GBRP, AV_PIX_FMT_GRAY8, AV_PIX_FMT_NONE @@ -809,11 +803,8 @@ static const enum AVPixelFormat x265_csp_eight[] = { static const enum AVPixelFormat x265_csp_ten[] = { AV_PIX_FMT_YUV420P, - AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUV422P, - AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUV444P, - AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_GBRP, AV_PIX_FMT_YUV420P10, AV_PIX_FMT_YUV422P10, @@ -826,11 +817,8 @@ static const enum AVPixelFormat x265_csp_ten[] = { static const enum AVPixelFormat x265_csp_twelve[] = { AV_PIX_FMT_YUV420P, - AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUV422P, - AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUV444P, - AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_GBRP, AV_PIX_FMT_YUV420P10, AV_PIX_FMT_YUV422P10, diff --git a/libavcodec/ljpegenc.c b/libavcodec/ljpegenc.c index d50dec8978..402bb1a683 100644 --- a/libavcodec/ljpegenc.c +++ b/libavcodec/ljpegenc.c @@ -324,7 +324,6 @@ const FFCodec ff_ljpeg_encoder = { .close = ljpeg_encode_close, .p.pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_BGR24 , AV_PIX_FMT_BGRA , AV_PIX_FMT_BGR0, - AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUV420P , AV_PIX_FMT_YUV444P , AV_PIX_FMT_YUV422P, AV_PIX_FMT_NONE}, .p.color_ranges = ff_color_range_all, diff --git a/libavcodec/mdec.c b/libavcodec/mdec.c index 44b12471a9..96b5c55ba3 100644 --- a/libavcodec/mdec.c +++ b/libavcodec/mdec.c @@ -225,7 +225,7 @@ static av_cold int decode_init(AVCodecContext *avctx) ff_permute_scantable(a->permutated_scantable, ff_zigzag_direct, a->idsp.idct_permutation); - avctx->pix_fmt = AV_PIX_FMT_YUVJ420P; + avctx->pix_fmt = AV_PIX_FMT_YUV420P; avctx->color_range = AVCOL_RANGE_JPEG; /* init q matrix */ diff --git a/libavcodec/mjpegdec.c b/libavcodec/mjpegdec.c index 0eb7dd988e..5b1196bf1b 100644 --- a/libavcodec/mjpegdec.c +++ b/libavcodec/mjpegdec.c @@ -527,7 +527,7 @@ int ff_mjpeg_decode_sof(MJpegDecodeContext *s) || s->component_id[0] == 'R' && s->component_id[1] == 'G' && s->component_id[2] == 'B') { s->avctx->pix_fmt = s->bits <= 8 ? AV_PIX_FMT_GBRP : AV_PIX_FMT_GBRP16; } else { - if (s->bits <= 8) s->avctx->pix_fmt = s->cs_itu601 ? AV_PIX_FMT_YUV444P : AV_PIX_FMT_YUVJ444P; + if (s->bits <= 8) s->avctx->pix_fmt = AV_PIX_FMT_YUV444P; else s->avctx->pix_fmt = AV_PIX_FMT_YUV444P16; s->avctx->color_range = s->cs_itu601 ? AVCOL_RANGE_MPEG : AVCOL_RANGE_JPEG; } @@ -591,7 +591,7 @@ int ff_mjpeg_decode_sof(MJpegDecodeContext *s) s->component_id[1] == 'G' && s->component_id[2] == 'B') { s->avctx->pix_fmt = AV_PIX_FMT_GBRP; } else { - s->avctx->pix_fmt = s->cs_itu601 ? AV_PIX_FMT_YUV444P : AV_PIX_FMT_YUVJ444P; + s->avctx->pix_fmt = AV_PIX_FMT_YUV444P; s->avctx->color_range = s->cs_itu601 ? AVCOL_RANGE_MPEG : AVCOL_RANGE_JPEG; } break; @@ -622,7 +622,7 @@ int ff_mjpeg_decode_sof(MJpegDecodeContext *s) } else { if (pix_fmt_id == 0x14111100) s->upscale_v[1] = s->upscale_v[2] = 1; - if (s->bits <= 8) s->avctx->pix_fmt = s->cs_itu601 ? AV_PIX_FMT_YUV440P : AV_PIX_FMT_YUVJ440P; + if (s->bits <= 8) s->avctx->pix_fmt = AV_PIX_FMT_YUV440P; else goto unk_pixfmt; s->avctx->color_range = s->cs_itu601 ? AVCOL_RANGE_MPEG : AVCOL_RANGE_JPEG; @@ -635,7 +635,7 @@ int ff_mjpeg_decode_sof(MJpegDecodeContext *s) goto unk_pixfmt; s->upscale_h[1] = s->upscale_h[2] = 1; } else { - if (s->bits <= 8) s->avctx->pix_fmt = s->cs_itu601 ? AV_PIX_FMT_YUV422P : AV_PIX_FMT_YUVJ422P; + if (s->bits <= 8) s->avctx->pix_fmt = AV_PIX_FMT_YUV422P; else s->avctx->pix_fmt = AV_PIX_FMT_YUV422P16; s->avctx->color_range = s->cs_itu601 ? AVCOL_RANGE_MPEG : AVCOL_RANGE_JPEG; } @@ -652,14 +652,14 @@ int ff_mjpeg_decode_sof(MJpegDecodeContext *s) case 0x31111100: if (s->bits > 8) goto unk_pixfmt; - s->avctx->pix_fmt = s->cs_itu601 ? AV_PIX_FMT_YUV444P : AV_PIX_FMT_YUVJ444P; + s->avctx->pix_fmt = AV_PIX_FMT_YUV444P; s->avctx->color_range = s->cs_itu601 ? AVCOL_RANGE_MPEG : AVCOL_RANGE_JPEG; s->upscale_h[1] = s->upscale_h[2] = 2; break; case 0x22121100: case 0x22111200: case 0x41211100: - if (s->bits <= 8) s->avctx->pix_fmt = s->cs_itu601 ? AV_PIX_FMT_YUV422P : AV_PIX_FMT_YUVJ422P; + if (s->bits <= 8) s->avctx->pix_fmt = AV_PIX_FMT_YUV422P; else goto unk_pixfmt; s->avctx->color_range = s->cs_itu601 ? AVCOL_RANGE_MPEG : AVCOL_RANGE_JPEG; @@ -668,7 +668,7 @@ int ff_mjpeg_decode_sof(MJpegDecodeContext *s) case 0x23111100: case 0x42111100: case 0x24111100: - if (s->bits <= 8) s->avctx->pix_fmt = s->cs_itu601 ? AV_PIX_FMT_YUV420P : AV_PIX_FMT_YUVJ420P; + if (s->bits <= 8) s->avctx->pix_fmt = AV_PIX_FMT_YUV420P; else s->avctx->pix_fmt = AV_PIX_FMT_YUV420P16; s->avctx->color_range = s->cs_itu601 ? AVCOL_RANGE_MPEG : AVCOL_RANGE_JPEG; if (pix_fmt_id == 0x42111100) { @@ -686,7 +686,7 @@ int ff_mjpeg_decode_sof(MJpegDecodeContext *s) } break; case 0x41111100: - if (s->bits <= 8) s->avctx->pix_fmt = s->cs_itu601 ? AV_PIX_FMT_YUV411P : AV_PIX_FMT_YUVJ411P; + if (s->bits <= 8) s->avctx->pix_fmt = AV_PIX_FMT_YUV411P; else goto unk_pixfmt; s->avctx->color_range = s->cs_itu601 ? AVCOL_RANGE_MPEG : AVCOL_RANGE_JPEG; @@ -2625,14 +2625,10 @@ the_end: if (AV_RB32(s->upscale_h)) { int p; - av_assert0(avctx->pix_fmt == AV_PIX_FMT_YUVJ444P || - avctx->pix_fmt == AV_PIX_FMT_YUV444P || - avctx->pix_fmt == AV_PIX_FMT_YUVJ440P || + av_assert0(avctx->pix_fmt == AV_PIX_FMT_YUV444P || avctx->pix_fmt == AV_PIX_FMT_YUV440P || avctx->pix_fmt == AV_PIX_FMT_YUVA444P || - avctx->pix_fmt == AV_PIX_FMT_YUVJ422P || avctx->pix_fmt == AV_PIX_FMT_YUV422P || - avctx->pix_fmt == AV_PIX_FMT_YUVJ420P || avctx->pix_fmt == AV_PIX_FMT_YUV420P || avctx->pix_fmt == AV_PIX_FMT_YUV420P16|| avctx->pix_fmt == AV_PIX_FMT_YUVA420P || @@ -2706,14 +2702,10 @@ the_end: } if (AV_RB32(s->upscale_v)) { int p; - av_assert0(avctx->pix_fmt == AV_PIX_FMT_YUVJ444P || - avctx->pix_fmt == AV_PIX_FMT_YUV444P || - avctx->pix_fmt == AV_PIX_FMT_YUVJ422P || + av_assert0(avctx->pix_fmt == AV_PIX_FMT_YUV444P || avctx->pix_fmt == AV_PIX_FMT_YUV422P || - avctx->pix_fmt == AV_PIX_FMT_YUVJ420P || avctx->pix_fmt == AV_PIX_FMT_YUV420P || avctx->pix_fmt == AV_PIX_FMT_YUV440P || - avctx->pix_fmt == AV_PIX_FMT_YUVJ440P || avctx->pix_fmt == AV_PIX_FMT_YUVA444P || avctx->pix_fmt == AV_PIX_FMT_YUVA420P || avctx->pix_fmt == AV_PIX_FMT_YUVA420P16|| diff --git a/libavcodec/mjpegenc.c b/libavcodec/mjpegenc.c index 77d26b2940..ec204313ee 100644 --- a/libavcodec/mjpegenc.c +++ b/libavcodec/mjpegenc.c @@ -654,7 +654,6 @@ const FFCodec ff_mjpeg_encoder = { AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE, .caps_internal = FF_CODEC_CAP_INIT_CLEANUP | FF_CODEC_CAP_ICC_PROFILES, .p.pix_fmts = (const enum AVPixelFormat[]) { - AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_NONE }, @@ -682,7 +681,7 @@ const FFCodec ff_amv_encoder = { .close = mjpeg_encode_close, .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, .p.pix_fmts = (const enum AVPixelFormat[]) { - AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_NONE + AV_PIX_FMT_YUV420P, AV_PIX_FMT_NONE }, .p.color_ranges = ff_color_range_jpeg, .p.priv_class = &amv_class, diff --git a/libavcodec/mjpegenc_common.c b/libavcodec/mjpegenc_common.c index 049ae3d929..7b5ca29b34 100644 --- a/libavcodec/mjpegenc_common.c +++ b/libavcodec/mjpegenc_common.c @@ -257,7 +257,7 @@ void ff_mjpeg_init_hvsample(AVCodecContext *avctx, int hsample[4], int vsample[4 vsample[1] = hsample[1] = vsample[2] = hsample[2] = vsample[3] = hsample[3] = 1; - } else if (avctx->pix_fmt == AV_PIX_FMT_YUV444P || avctx->pix_fmt == AV_PIX_FMT_YUVJ444P) { + } else if (avctx->pix_fmt == AV_PIX_FMT_YUV444P) { vsample[0] = vsample[1] = vsample[2] = 2; hsample[0] = hsample[1] = hsample[2] = 1; } else { diff --git a/libavcodec/mpegvideo_enc.c b/libavcodec/mpegvideo_enc.c index c192be6ca4..d632f5fed0 100644 --- a/libavcodec/mpegvideo_enc.c +++ b/libavcodec/mpegvideo_enc.c @@ -316,15 +316,12 @@ av_cold int ff_mpv_encode_init(AVCodecContext *avctx) mpv_encode_defaults(s); switch (avctx->pix_fmt) { - case AV_PIX_FMT_YUVJ444P: case AV_PIX_FMT_YUV444P: s->chroma_format = CHROMA_444; break; - case AV_PIX_FMT_YUVJ422P: case AV_PIX_FMT_YUV422P: s->chroma_format = CHROMA_422; break; - case AV_PIX_FMT_YUVJ420P: case AV_PIX_FMT_YUV420P: default: s->chroma_format = CHROMA_420; diff --git a/libavcodec/nvenc.c b/libavcodec/nvenc.c index 626f10d20a..498e9e06fe 100644 --- a/libavcodec/nvenc.c +++ b/libavcodec/nvenc.c @@ -1163,8 +1163,7 @@ static av_cold int nvenc_setup_h264_config(AVCodecContext *avctx) vui->colourMatrix = IS_GBRP(ctx->data_pix_fmt) ? AVCOL_SPC_RGB : avctx->colorspace; vui->colourPrimaries = avctx->color_primaries; vui->transferCharacteristics = avctx->color_trc; - vui->videoFullRangeFlag = (avctx->color_range == AVCOL_RANGE_JPEG - || ctx->data_pix_fmt == AV_PIX_FMT_YUVJ420P || ctx->data_pix_fmt == AV_PIX_FMT_YUVJ422P || ctx->data_pix_fmt == AV_PIX_FMT_YUVJ444P); + vui->videoFullRangeFlag = avctx->color_range == AVCOL_RANGE_JPEG; } vui->colourDescriptionPresentFlag = @@ -1289,8 +1288,7 @@ static av_cold int nvenc_setup_hevc_config(AVCodecContext *avctx) vui->colourMatrix = IS_GBRP(ctx->data_pix_fmt) ? AVCOL_SPC_RGB : avctx->colorspace; vui->colourPrimaries = avctx->color_primaries; vui->transferCharacteristics = avctx->color_trc; - vui->videoFullRangeFlag = (avctx->color_range == AVCOL_RANGE_JPEG - || ctx->data_pix_fmt == AV_PIX_FMT_YUVJ420P || ctx->data_pix_fmt == AV_PIX_FMT_YUVJ422P || ctx->data_pix_fmt == AV_PIX_FMT_YUVJ444P); + vui->videoFullRangeFlag = avctx->color_range == AVCOL_RANGE_JPEG; } vui->colourDescriptionPresentFlag = @@ -1407,8 +1405,7 @@ static av_cold int nvenc_setup_av1_config(AVCodecContext *avctx) av1->matrixCoefficients = IS_GBRP(ctx->data_pix_fmt) ? AVCOL_SPC_RGB : avctx->colorspace; av1->colorPrimaries = avctx->color_primaries; av1->transferCharacteristics = avctx->color_trc; - av1->colorRange = (avctx->color_range == AVCOL_RANGE_JPEG - || ctx->data_pix_fmt == AV_PIX_FMT_YUVJ420P || ctx->data_pix_fmt == AV_PIX_FMT_YUVJ422P || ctx->data_pix_fmt == AV_PIX_FMT_YUVJ444P); + av1->colorRange = avctx->color_range == AVCOL_RANGE_JPEG; } if (IS_YUV444(ctx->data_pix_fmt)) { diff --git a/libavcodec/qsv.c b/libavcodec/qsv.c index 7563625627..540c766db5 100644 --- a/libavcodec/qsv.c +++ b/libavcodec/qsv.c @@ -225,7 +225,6 @@ int ff_qsv_map_pixfmt(enum AVPixelFormat format, uint32_t *fourcc, uint16_t *shi { switch (format) { case AV_PIX_FMT_YUV420P: - case AV_PIX_FMT_YUVJ420P: case AV_PIX_FMT_NV12: *fourcc = MFX_FOURCC_NV12; *shift = 0; diff --git a/libavcodec/raw.c b/libavcodec/raw.c index b73b80e5fd..478b4e38b7 100644 --- a/libavcodec/raw.c +++ b/libavcodec/raw.c @@ -39,13 +39,6 @@ static const PixelFormatTag raw_pix_fmt_tags[] = { { AV_PIX_FMT_YUV422P, MKTAG('Y', '4', '2', 'B') }, { AV_PIX_FMT_YUV422P, MKTAG('P', '4', '2', '2') }, { AV_PIX_FMT_YUV422P, MKTAG('Y', 'V', '1', '6') }, - /* yuvjXXX formats are deprecated hacks specific to libav*, - they are identical to yuvXXX */ - { AV_PIX_FMT_YUVJ420P, MKTAG('I', '4', '2', '0') }, /* Planar formats */ - { AV_PIX_FMT_YUVJ420P, MKTAG('I', 'Y', 'U', 'V') }, - { AV_PIX_FMT_YUVJ420P, MKTAG('Y', 'V', '1', '2') }, - { AV_PIX_FMT_YUVJ422P, MKTAG('Y', '4', '2', 'B') }, - { AV_PIX_FMT_YUVJ422P, MKTAG('P', '4', '2', '2') }, { AV_PIX_FMT_GRAY8, MKTAG('Y', '8', '0', '0') }, { AV_PIX_FMT_GRAY8, MKTAG('Y', '8', ' ', ' ') }, @@ -103,11 +96,8 @@ static const PixelFormatTag raw_pix_fmt_tags[] = { { AV_PIX_FMT_BGR24, MKTAG('B', 'G', 'R', 24 ) }, { AV_PIX_FMT_YUV411P, MKTAG('4', '1', '1', 'P') }, { AV_PIX_FMT_YUV422P, MKTAG('4', '2', '2', 'P') }, - { AV_PIX_FMT_YUVJ422P, MKTAG('4', '2', '2', 'P') }, { AV_PIX_FMT_YUV440P, MKTAG('4', '4', '0', 'P') }, - { AV_PIX_FMT_YUVJ440P, MKTAG('4', '4', '0', 'P') }, { AV_PIX_FMT_YUV444P, MKTAG('4', '4', '4', 'P') }, - { AV_PIX_FMT_YUVJ444P, MKTAG('4', '4', '4', 'P') }, { AV_PIX_FMT_MONOWHITE,MKTAG('B', '1', 'W', '0') }, { AV_PIX_FMT_MONOBLACK,MKTAG('B', '0', 'W', '1') }, { AV_PIX_FMT_BGR8, MKTAG('B', 'G', 'R', 8 ) }, @@ -257,10 +247,6 @@ static const PixelFormatTag raw_pix_fmt_tags[] = { { AV_PIX_FMT_YUV422P, MKTAG('I', '4', '2', '2') }, { AV_PIX_FMT_YUV440P, MKTAG('I', '4', '4', '0') }, { AV_PIX_FMT_YUV444P, MKTAG('I', '4', '4', '4') }, - { AV_PIX_FMT_YUVJ420P, MKTAG('J', '4', '2', '0') }, - { AV_PIX_FMT_YUVJ422P, MKTAG('J', '4', '2', '2') }, - { AV_PIX_FMT_YUVJ440P, MKTAG('J', '4', '4', '0') }, - { AV_PIX_FMT_YUVJ444P, MKTAG('J', '4', '4', '4') }, { AV_PIX_FMT_YUVA444P, MKTAG('Y', 'U', 'V', 'A') }, { AV_PIX_FMT_YUVA420P, MKTAG('I', '4', '0', 'A') }, { AV_PIX_FMT_YUVA422P, MKTAG('I', '4', '2', 'A') }, diff --git a/libavcodec/roqvideodec.c b/libavcodec/roqvideodec.c index bfc69a65c9..50e14934b6 100644 --- a/libavcodec/roqvideodec.c +++ b/libavcodec/roqvideodec.c @@ -184,7 +184,7 @@ static av_cold int roq_decode_init(AVCodecContext *avctx) if (!s->current_frame || !s->last_frame) return AVERROR(ENOMEM); - avctx->pix_fmt = AV_PIX_FMT_YUVJ444P; + avctx->pix_fmt = AV_PIX_FMT_YUV444P; avctx->color_range = AVCOL_RANGE_JPEG; return 0; diff --git a/libavcodec/roqvideoenc.c b/libavcodec/roqvideoenc.c index 35a6f889e0..6ad0c3f359 100644 --- a/libavcodec/roqvideoenc.c +++ b/libavcodec/roqvideoenc.c @@ -1124,7 +1124,7 @@ const FFCodec ff_roq_encoder = { .init = roq_encode_init, FF_CODEC_ENCODE_CB(roq_encode_frame), .close = roq_encode_end, - .p.pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_YUVJ444P, + .p.pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_YUV444P, AV_PIX_FMT_NONE }, .p.color_ranges = ff_color_range_jpeg, .p.priv_class = &roq_class, diff --git a/libavcodec/svq3.c b/libavcodec/svq3.c index 2d03dbc457..9217c60182 100644 --- a/libavcodec/svq3.c +++ b/libavcodec/svq3.c @@ -1143,7 +1143,7 @@ static av_cold int svq3_decode_init(AVCodecContext *avctx) ff_hpeldsp_init(&s->hdsp, avctx->flags); ff_tpeldsp_init(&s->tdsp); - avctx->pix_fmt = AV_PIX_FMT_YUVJ420P; + avctx->pix_fmt = AV_PIX_FMT_YUV420P; avctx->color_range = AVCOL_RANGE_JPEG; s->avctx = avctx; @@ -1602,7 +1602,7 @@ const FFCodec ff_svq3_decoder = { .p.capabilities = AV_CODEC_CAP_DRAW_HORIZ_BAND | AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY, - .p.pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUVJ420P, + .p.pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUV420P, AV_PIX_FMT_NONE}, .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, }; diff --git a/libavcodec/tdsc.c b/libavcodec/tdsc.c index 739738d9b1..d4f5953524 100644 --- a/libavcodec/tdsc.c +++ b/libavcodec/tdsc.c @@ -360,7 +360,7 @@ static int tdsc_decode_jpeg_tile(AVCodecContext *avctx, int tile_size, } ret = avcodec_receive_frame(ctx->jpeg_avctx, ctx->jpgframe); - if (ret < 0 || ctx->jpgframe->format != AV_PIX_FMT_YUVJ420P) { + if (ret < 0 || ctx->jpgframe->format != AV_PIX_FMT_YUV420P) { av_log(avctx, AV_LOG_ERROR, "JPEG decoding error (%d).\n", ret); diff --git a/libavcodec/utils.c b/libavcodec/utils.c index 4ed3a4291b..0cd2c8de55 100644 --- a/libavcodec/utils.c +++ b/libavcodec/utils.c @@ -167,10 +167,6 @@ void avcodec_align_dimensions2(AVCodecContext *s, int *width, int *height, case AV_PIX_FMT_GRAY8: case AV_PIX_FMT_GRAY16BE: case AV_PIX_FMT_GRAY16LE: - case AV_PIX_FMT_YUVJ420P: - case AV_PIX_FMT_YUVJ422P: - case AV_PIX_FMT_YUVJ440P: - case AV_PIX_FMT_YUVJ444P: case AV_PIX_FMT_YUVA420P: case AV_PIX_FMT_YUVA422P: case AV_PIX_FMT_YUVA444P: @@ -250,7 +246,6 @@ void avcodec_align_dimensions2(AVCodecContext *s, int *width, int *height, w_align = 16*2; break; case AV_PIX_FMT_YUV411P: - case AV_PIX_FMT_YUVJ411P: case AV_PIX_FMT_UYYVYY411: w_align = 32; h_align = 16 * 2; diff --git a/libavcodec/vdpau.c b/libavcodec/vdpau.c index 2b9b78d8d0..680e0784cc 100644 --- a/libavcodec/vdpau.c +++ b/libavcodec/vdpau.c @@ -88,7 +88,6 @@ int av_vdpau_get_surface_parameters(AVCodecContext *avctx, /* See for per-type alignment constraints. */ switch (avctx->sw_pix_fmt) { case AV_PIX_FMT_YUV420P: - case AV_PIX_FMT_YUVJ420P: case AV_PIX_FMT_YUV420P10: case AV_PIX_FMT_YUV420P12: t = VDP_CHROMA_TYPE_420; @@ -96,13 +95,11 @@ int av_vdpau_get_surface_parameters(AVCodecContext *avctx, h = (h + 3) & ~3; break; case AV_PIX_FMT_YUV422P: - case AV_PIX_FMT_YUVJ422P: t = VDP_CHROMA_TYPE_422; w = (w + 1) & ~1; h = (h + 1) & ~1; break; case AV_PIX_FMT_YUV444P: - case AV_PIX_FMT_YUVJ444P: case AV_PIX_FMT_YUV444P10: case AV_PIX_FMT_YUV444P12: t = VDP_CHROMA_TYPE_444; diff --git a/libavfilter/avf_showcwt.c b/libavfilter/avf_showcwt.c index ef6efd973a..38cc11fa8b 100644 --- a/libavfilter/avf_showcwt.c +++ b/libavfilter/avf_showcwt.c @@ -231,7 +231,7 @@ static int query_formats(AVFilterContext *ctx) AVFilterLink *inlink = ctx->inputs[0]; AVFilterLink *outlink = ctx->outputs[0]; static const enum AVSampleFormat sample_fmts[] = { AV_SAMPLE_FMT_FLTP, AV_SAMPLE_FMT_NONE }; - static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVA444P, AV_PIX_FMT_NONE }; + static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUVA444P, AV_PIX_FMT_NONE }; int ret; formats = ff_make_format_list(sample_fmts); diff --git a/libavfilter/avf_showspectrum.c b/libavfilter/avf_showspectrum.c index 99a5c33d09..64924a81dc 100644 --- a/libavfilter/avf_showspectrum.c +++ b/libavfilter/avf_showspectrum.c @@ -365,7 +365,7 @@ static int query_formats(AVFilterContext *ctx) AVFilterLink *inlink = ctx->inputs[0]; AVFilterLink *outlink = ctx->outputs[0]; static const enum AVSampleFormat sample_fmts[] = { AV_SAMPLE_FMT_FLTP, AV_SAMPLE_FMT_NONE }; - static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVA444P, AV_PIX_FMT_NONE }; + static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUVA444P, AV_PIX_FMT_NONE }; int ret; /* set input audio formats */ diff --git a/libavfilter/avfiltergraph.c b/libavfilter/avfiltergraph.c index 96aa137e6d..b820151a4d 100644 --- a/libavfilter/avfiltergraph.c +++ b/libavfilter/avfiltergraph.c @@ -613,17 +613,7 @@ int ff_fmt_is_regular_yuv(enum AVPixelFormat fmt) if (desc->flags & (AV_PIX_FMT_FLAG_RGB | AV_PIX_FMT_FLAG_PAL | AV_PIX_FMT_FLAG_XYZ | AV_PIX_FMT_FLAG_FLOAT)) return 0; - - switch (fmt) { - case AV_PIX_FMT_YUVJ420P: - case AV_PIX_FMT_YUVJ422P: - case AV_PIX_FMT_YUVJ444P: - case AV_PIX_FMT_YUVJ440P: - case AV_PIX_FMT_YUVJ411P: - return 0; - default: - return 1; - } + return 1; } static int pick_format(AVFilterLink *link, AVFilterLink *ref) diff --git a/libavfilter/drawutils.c b/libavfilter/drawutils.c index 1081938d86..d5ee122c1f 100644 --- a/libavfilter/drawutils.c +++ b/libavfilter/drawutils.c @@ -98,10 +98,7 @@ int ff_draw_init2(FFDrawContext *draw, enum AVPixelFormat format, enum AVColorSp if (!(desc->flags & AV_PIX_FMT_FLAG_RGB) && !(luma = av_csp_luma_coeffs_from_avcsp(csp))) return AVERROR(EINVAL); if (range == AVCOL_RANGE_UNSPECIFIED) - range = (format == AV_PIX_FMT_YUVJ420P || format == AV_PIX_FMT_YUVJ422P || - format == AV_PIX_FMT_YUVJ444P || format == AV_PIX_FMT_YUVJ411P || - format == AV_PIX_FMT_YUVJ440P || csp == AVCOL_SPC_RGB) - ? AVCOL_RANGE_JPEG : AVCOL_RANGE_MPEG; + range = csp == AVCOL_SPC_RGB ? AVCOL_RANGE_JPEG : AVCOL_RANGE_MPEG; if (range != AVCOL_RANGE_JPEG && range != AVCOL_RANGE_MPEG) return AVERROR(EINVAL); for (i = 0; i < desc->nb_components; i++) { diff --git a/libavfilter/f_select.c b/libavfilter/f_select.c index 9b330a0673..6b2239b408 100644 --- a/libavfilter/f_select.c +++ b/libavfilter/f_select.c @@ -503,9 +503,7 @@ static int query_formats(AVFilterContext *ctx) static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_RGB24, AV_PIX_FMT_BGR24, AV_PIX_FMT_RGBA, AV_PIX_FMT_ABGR, AV_PIX_FMT_BGRA, AV_PIX_FMT_GRAY8, - AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUVJ420P, - AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUVJ422P, - AV_PIX_FMT_YUV420P10, + AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV420P10, AV_PIX_FMT_NONE }; return ff_set_common_formats_from_list(ctx, pix_fmts); diff --git a/libavfilter/vaf_spectrumsynth.c b/libavfilter/vaf_spectrumsynth.c index 896eba558e..2b0f277f5c 100644 --- a/libavfilter/vaf_spectrumsynth.c +++ b/libavfilter/vaf_spectrumsynth.c @@ -106,8 +106,8 @@ static int query_formats(AVFilterContext *ctx) AVFilterLink *outlink = ctx->outputs[0]; static const enum AVSampleFormat sample_fmts[] = { AV_SAMPLE_FMT_FLTP, AV_SAMPLE_FMT_NONE }; static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_GRAY8, AV_PIX_FMT_GRAY16, - AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUVJ444P, - AV_PIX_FMT_YUV444P16, AV_PIX_FMT_NONE }; + AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV444P16, + AV_PIX_FMT_NONE }; int ret, sample_rates[] = { 48000, -1 }; formats = ff_make_format_list(sample_fmts); @@ -293,7 +293,6 @@ static void read_fft_data(AVFilterContext *ctx, int x, int h, int ch) read16_fft_bin(s, x, y, f, ch); } break; - case AV_PIX_FMT_YUVJ444P: case AV_PIX_FMT_YUV444P: case AV_PIX_FMT_GRAY8: for (y = start, f = 0; y >= end; y--, f++) { @@ -310,7 +309,6 @@ static void read_fft_data(AVFilterContext *ctx, int x, int h, int ch) read16_fft_bin(s, y, x, f, ch); } break; - case AV_PIX_FMT_YUVJ444P: case AV_PIX_FMT_YUV444P: case AV_PIX_FMT_GRAY8: for (y = end, f = 0; y <= start; y++, f++) { diff --git a/libavfilter/vf_amplify.c b/libavfilter/vf_amplify.c index 0ebca60ea2..9e1910951b 100644 --- a/libavfilter/vf_amplify.c +++ b/libavfilter/vf_amplify.c @@ -55,9 +55,6 @@ static const enum AVPixelFormat pixel_fmts[] = { AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUV444P, - AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ422P, - AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVJ444P, - AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUV420P9, AV_PIX_FMT_YUV422P9, AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUV420P10, AV_PIX_FMT_YUV422P10, AV_PIX_FMT_YUV444P10, AV_PIX_FMT_YUV440P10, diff --git a/libavfilter/vf_atadenoise.c b/libavfilter/vf_atadenoise.c index eed12acfa4..36a9dcefda 100644 --- a/libavfilter/vf_atadenoise.c +++ b/libavfilter/vf_atadenoise.c @@ -99,9 +99,6 @@ static const enum AVPixelFormat pixel_fmts[] = { AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUV444P, - AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ422P, - AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVJ444P, - AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUV420P9, AV_PIX_FMT_YUV422P9, AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUV420P10, AV_PIX_FMT_YUV422P10, AV_PIX_FMT_YUV444P10, AV_PIX_FMT_YUV440P10, diff --git a/libavfilter/vf_avgblur.c b/libavfilter/vf_avgblur.c index 8ff6111bcc..ce7dd5a306 100644 --- a/libavfilter/vf_avgblur.c +++ b/libavfilter/vf_avgblur.c @@ -247,10 +247,8 @@ static void averageiir2d(AVFilterContext *ctx, AVFrame *in, AVFrame *out, int pl static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_YUVA444P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV440P, - AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUVA420P, AV_PIX_FMT_YUV420P, - AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ420P, - AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, + AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV420P9, AV_PIX_FMT_YUV422P9, AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUV420P10, AV_PIX_FMT_YUV422P10, AV_PIX_FMT_YUV444P10, AV_PIX_FMT_YUV420P12, AV_PIX_FMT_YUV422P12, AV_PIX_FMT_YUV444P12, AV_PIX_FMT_YUV440P12, diff --git a/libavfilter/vf_bbox.c b/libavfilter/vf_bbox.c index 02893d500d..b382d1ccf5 100644 --- a/libavfilter/vf_bbox.c +++ b/libavfilter/vf_bbox.c @@ -53,9 +53,6 @@ static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUV444P, - AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ422P, - AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVJ444P, - AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUV420P9, AV_PIX_FMT_YUV422P9, AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUV420P10, AV_PIX_FMT_YUV422P10, AV_PIX_FMT_YUV444P10, AV_PIX_FMT_YUV440P10, diff --git a/libavfilter/vf_bilateral.c b/libavfilter/vf_bilateral.c index fe16419026..2291501291 100644 --- a/libavfilter/vf_bilateral.c +++ b/libavfilter/vf_bilateral.c @@ -68,10 +68,8 @@ AVFILTER_DEFINE_CLASS(bilateral); static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_YUVA444P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV440P, - AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUVA420P, AV_PIX_FMT_YUV420P, - AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ420P, - AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, + AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV420P9, AV_PIX_FMT_YUV422P9, AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUV420P10, AV_PIX_FMT_YUV422P10, AV_PIX_FMT_YUV444P10, AV_PIX_FMT_YUV420P12, AV_PIX_FMT_YUV422P12, AV_PIX_FMT_YUV444P12, AV_PIX_FMT_YUV440P12, diff --git a/libavfilter/vf_bitplanenoise.c b/libavfilter/vf_bitplanenoise.c index 32235ff230..e1388d3e99 100644 --- a/libavfilter/vf_bitplanenoise.c +++ b/libavfilter/vf_bitplanenoise.c @@ -49,8 +49,6 @@ AVFILTER_DEFINE_CLASS(bitplanenoise); static const enum AVPixelFormat pixfmts[] = { AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV440P, - AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ411P, - AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUV422P9, AV_PIX_FMT_YUV420P9, AV_PIX_FMT_YUV444P10, AV_PIX_FMT_YUV422P10, AV_PIX_FMT_YUV420P10, AV_PIX_FMT_YUV440P10, diff --git a/libavfilter/vf_blackdetect.c b/libavfilter/vf_blackdetect.c index 55033ba5ea..98c0e2a107 100644 --- a/libavfilter/vf_blackdetect.c +++ b/libavfilter/vf_blackdetect.c @@ -67,20 +67,12 @@ static const AVOption blackdetect_options[] = { AVFILTER_DEFINE_CLASS(blackdetect); -#define YUVJ_FORMATS \ - AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ440P - -static const enum AVPixelFormat yuvj_formats[] = { - YUVJ_FORMATS, AV_PIX_FMT_NONE -}; - static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_GRAY8, AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_NV12, AV_PIX_FMT_NV21, - YUVJ_FORMATS, AV_PIX_FMT_GRAY10, AV_PIX_FMT_GRAY12, AV_PIX_FMT_GRAY14, AV_PIX_FMT_GRAY16, AV_PIX_FMT_YUV420P9, AV_PIX_FMT_YUV422P9, AV_PIX_FMT_YUV444P9, @@ -177,8 +169,7 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *picref) double picture_black_ratio = 0; const int max = (1 << s->depth) - 1; const int factor = (1 << (s->depth - 8)); - const int full = picref->color_range == AVCOL_RANGE_JPEG || - ff_fmt_is_in(picref->format, yuvj_formats); + const int full = picref->color_range == AVCOL_RANGE_JPEG; s->pixel_black_th_i = full ? s->pixel_black_th * max : // luminance_minimum_value + pixel_black_th * luminance_range_size diff --git a/libavfilter/vf_blend.c b/libavfilter/vf_blend.c index ecabb78e61..e14786e255 100644 --- a/libavfilter/vf_blend.c +++ b/libavfilter/vf_blend.c @@ -253,7 +253,6 @@ static av_cold int init(AVFilterContext *ctx) static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_YUVA444P, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUVA420P, - AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVJ422P,AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, AV_PIX_FMT_GBRP, AV_PIX_FMT_GBRAP, AV_PIX_FMT_GRAY8, AV_PIX_FMT_YUV420P9, AV_PIX_FMT_YUV422P9, AV_PIX_FMT_YUV444P9, diff --git a/libavfilter/vf_blockdetect.c b/libavfilter/vf_blockdetect.c index d787aff5e4..a7b8902b1a 100644 --- a/libavfilter/vf_blockdetect.c +++ b/libavfilter/vf_blockdetect.c @@ -258,8 +258,6 @@ static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, - AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUVJ420P, - AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVA444P, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUVA420P, AV_PIX_FMT_NONE }; diff --git a/libavfilter/vf_blurdetect.c b/libavfilter/vf_blurdetect.c index 354a6b6100..5f7b1f89eb 100644 --- a/libavfilter/vf_blurdetect.c +++ b/libavfilter/vf_blurdetect.c @@ -342,8 +342,6 @@ static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, - AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUVJ420P, - AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVA444P, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUVA420P, AV_PIX_FMT_NONE }; diff --git a/libavfilter/vf_bm3d.c b/libavfilter/vf_bm3d.c index cdced50ba3..9be1faba8e 100644 --- a/libavfilter/vf_bm3d.c +++ b/libavfilter/vf_bm3d.c @@ -169,9 +169,6 @@ static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUV444P, - AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ422P, - AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVJ444P, - AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUV420P9, AV_PIX_FMT_YUV422P9, AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUV420P10, AV_PIX_FMT_YUV422P10, AV_PIX_FMT_YUV444P10, AV_PIX_FMT_YUV440P10, diff --git a/libavfilter/vf_bwdif.c b/libavfilter/vf_bwdif.c index 353cd0b61a..4730884059 100644 --- a/libavfilter/vf_bwdif.c +++ b/libavfilter/vf_bwdif.c @@ -151,8 +151,6 @@ static av_cold void uninit(AVFilterContext *ctx) static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUV444P, - AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUVJ420P, - AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUV420P9, AV_PIX_FMT_YUV422P9, AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUV420P10, AV_PIX_FMT_YUV422P10, AV_PIX_FMT_YUV444P10, AV_PIX_FMT_YUV420P12, AV_PIX_FMT_YUV422P12, AV_PIX_FMT_YUV444P12, diff --git a/libavfilter/vf_cas.c b/libavfilter/vf_cas.c index 5fa5055d76..b99250d797 100644 --- a/libavfilter/vf_cas.c +++ b/libavfilter/vf_cas.c @@ -207,9 +207,6 @@ static const enum AVPixelFormat pixel_fmts[] = { AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUV444P, - AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ422P, - AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVJ444P, - AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUV420P9, AV_PIX_FMT_YUV422P9, AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUV420P10, AV_PIX_FMT_YUV422P10, AV_PIX_FMT_YUV444P10, AV_PIX_FMT_YUV440P10, diff --git a/libavfilter/vf_chromanr.c b/libavfilter/vf_chromanr.c index 6f969f981c..b41b634ede 100644 --- a/libavfilter/vf_chromanr.c +++ b/libavfilter/vf_chromanr.c @@ -57,7 +57,6 @@ typedef struct ChromaNRContext { static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUVA420P, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUVA444P, - AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUV420P9, AV_PIX_FMT_YUV422P9, AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUV420P10, AV_PIX_FMT_YUV422P10, AV_PIX_FMT_YUV440P10, AV_PIX_FMT_YUV444P10, AV_PIX_FMT_YUV444P12, AV_PIX_FMT_YUV422P12, AV_PIX_FMT_YUV440P12, AV_PIX_FMT_YUV420P12, diff --git a/libavfilter/vf_chromashift.c b/libavfilter/vf_chromashift.c index 39b96a749e..06e3053ccc 100644 --- a/libavfilter/vf_chromashift.c +++ b/libavfilter/vf_chromashift.c @@ -380,7 +380,6 @@ static const AVFilterPad inputs[] = { static const enum AVPixelFormat yuv_pix_fmts[] = { AV_PIX_FMT_YUVA444P, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUVA420P, - AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVJ422P,AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV420P9, AV_PIX_FMT_YUV422P9, AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUV420P10, AV_PIX_FMT_YUV422P10, AV_PIX_FMT_YUV444P10, AV_PIX_FMT_YUV440P10, diff --git a/libavfilter/vf_colorcorrect.c b/libavfilter/vf_colorcorrect.c index 6bdec2c9d8..1e7c944bb8 100644 --- a/libavfilter/vf_colorcorrect.c +++ b/libavfilter/vf_colorcorrect.c @@ -430,7 +430,6 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *frame) static const enum AVPixelFormat pixel_fmts[] = { AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUVA420P, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUVA444P, - AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUV420P9, AV_PIX_FMT_YUV422P9, AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUV420P10, AV_PIX_FMT_YUV422P10, AV_PIX_FMT_YUV440P10, AV_PIX_FMT_YUV444P10, AV_PIX_FMT_YUV444P12, AV_PIX_FMT_YUV422P12, AV_PIX_FMT_YUV440P12, AV_PIX_FMT_YUV420P12, diff --git a/libavfilter/vf_colorize.c b/libavfilter/vf_colorize.c index e6c563e3e2..236b53a6c5 100644 --- a/libavfilter/vf_colorize.c +++ b/libavfilter/vf_colorize.c @@ -212,9 +212,6 @@ static const enum AVPixelFormat pixel_fmts[] = { AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUV444P, - AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ422P, - AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVJ444P, - AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUV420P9, AV_PIX_FMT_YUV422P9, AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUV420P10, AV_PIX_FMT_YUV422P10, AV_PIX_FMT_YUV444P10, AV_PIX_FMT_YUV440P10, diff --git a/libavfilter/vf_colorspace.c b/libavfilter/vf_colorspace.c index 2a30434401..d51f4e2d0c 100644 --- a/libavfilter/vf_colorspace.c +++ b/libavfilter/vf_colorspace.c @@ -835,7 +835,6 @@ static int query_formats(AVFilterContext *ctx) AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV420P10, AV_PIX_FMT_YUV422P10, AV_PIX_FMT_YUV444P10, AV_PIX_FMT_YUV420P12, AV_PIX_FMT_YUV422P12, AV_PIX_FMT_YUV444P12, - AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_NONE }; int res; diff --git a/libavfilter/vf_convolution.c b/libavfilter/vf_convolution.c index c1a63c9aa9..ee46b42099 100644 --- a/libavfilter/vf_convolution.c +++ b/libavfilter/vf_convolution.c @@ -80,10 +80,8 @@ static const int same7x7[49] = {0, 0, 0, 0, 0, 0, 0, static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_YUVA444P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV440P, - AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUVA420P, AV_PIX_FMT_YUV420P, - AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ420P, - AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, + AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV420P9, AV_PIX_FMT_YUV422P9, AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUV420P10, AV_PIX_FMT_YUV422P10, AV_PIX_FMT_YUV444P10, AV_PIX_FMT_YUV420P12, AV_PIX_FMT_YUV422P12, AV_PIX_FMT_YUV444P12, AV_PIX_FMT_YUV440P12, diff --git a/libavfilter/vf_convolve.c b/libavfilter/vf_convolve.c index 25dc92e988..cbe1a3262c 100644 --- a/libavfilter/vf_convolve.c +++ b/libavfilter/vf_convolve.c @@ -92,10 +92,8 @@ static const AVOption convolve_options[] = { static const enum AVPixelFormat pixel_fmts_fftfilt[] = { AV_PIX_FMT_YUVA444P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV440P, - AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUVA420P, AV_PIX_FMT_YUV420P, - AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ420P, - AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, + AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV420P9, AV_PIX_FMT_YUV422P9, AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUV420P10, AV_PIX_FMT_YUV422P10, AV_PIX_FMT_YUV444P10, AV_PIX_FMT_YUV420P12, AV_PIX_FMT_YUV422P12, AV_PIX_FMT_YUV444P12, AV_PIX_FMT_YUV440P12, diff --git a/libavfilter/vf_corr.c b/libavfilter/vf_corr.c index 7e0f81921f..9599bf1353 100644 --- a/libavfilter/vf_corr.c +++ b/libavfilter/vf_corr.c @@ -275,8 +275,6 @@ static const enum AVPixelFormat pix_fmts[] = { #define PF(suf) PF_NOALPHA(suf), PF_ALPHA(suf) PF(P), PF(P9), PF(P10), PF_NOALPHA(P12), PF_NOALPHA(P14), PF(P16), AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, - AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ422P, - AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_GBRP, AV_PIX_FMT_GBRP9, AV_PIX_FMT_GBRP10, AV_PIX_FMT_GBRP12, AV_PIX_FMT_GBRP14, AV_PIX_FMT_GBRP16, AV_PIX_FMT_GBRAP, AV_PIX_FMT_GBRAP10, AV_PIX_FMT_GBRAP12, AV_PIX_FMT_GBRAP16, diff --git a/libavfilter/vf_cover_rect.c b/libavfilter/vf_cover_rect.c index 7f34311589..12b821b9a4 100644 --- a/libavfilter/vf_cover_rect.c +++ b/libavfilter/vf_cover_rect.c @@ -215,7 +215,7 @@ static av_cold int init(AVFilterContext *ctx) &cover->cover_frame->format, cover->cover_filename, ctx)) < 0) return ret; - if (cover->cover_frame->format != AV_PIX_FMT_YUV420P && cover->cover_frame->format != AV_PIX_FMT_YUVJ420P) { + if (cover->cover_frame->format != AV_PIX_FMT_YUV420P) { av_log(ctx, AV_LOG_ERROR, "cover image is not a YUV420 image\n"); return AVERROR(EINVAL); } @@ -241,6 +241,6 @@ const AVFilter ff_vf_cover_rect = { .uninit = uninit, FILTER_INPUTS(cover_rect_inputs), FILTER_OUTPUTS(ff_video_default_filterpad), - FILTER_PIXFMTS(AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUVJ420P), + FILTER_PIXFMTS(AV_PIX_FMT_YUV420P), .priv_class = &cover_rect_class, }; diff --git a/libavfilter/vf_cropdetect.c b/libavfilter/vf_cropdetect.c index 58755fc356..08740e50a7 100644 --- a/libavfilter/vf_cropdetect.c +++ b/libavfilter/vf_cropdetect.c @@ -59,9 +59,9 @@ typedef struct CropDetectContext { } CropDetectContext; static const enum AVPixelFormat pix_fmts[] = { - AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUVJ420P, - AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUVJ422P, - AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUVJ444P, + AV_PIX_FMT_YUV420P, + AV_PIX_FMT_YUV422P, + AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_GRAY8, AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV420P9 , AV_PIX_FMT_YUV422P9 , AV_PIX_FMT_YUV444P9, diff --git a/libavfilter/vf_dblur.c b/libavfilter/vf_dblur.c index 3110d19271..6ee6ece03c 100644 --- a/libavfilter/vf_dblur.c +++ b/libavfilter/vf_dblur.c @@ -113,10 +113,8 @@ static void diriir2d(AVFilterContext *ctx, int plane) static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_YUVA444P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV440P, - AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUVA420P, AV_PIX_FMT_YUV420P, - AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ420P, - AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, + AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV420P9, AV_PIX_FMT_YUV422P9, AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUV420P10, AV_PIX_FMT_YUV422P10, AV_PIX_FMT_YUV444P10, AV_PIX_FMT_YUV420P12, AV_PIX_FMT_YUV422P12, AV_PIX_FMT_YUV444P12, AV_PIX_FMT_YUV440P12, diff --git a/libavfilter/vf_deband.c b/libavfilter/vf_deband.c index 177d888bed..befc7df2da 100644 --- a/libavfilter/vf_deband.c +++ b/libavfilter/vf_deband.c @@ -79,8 +79,6 @@ static int query_formats(AVFilterContext *ctx) AV_PIX_FMT_GRAY12, AV_PIX_FMT_GRAY14, AV_PIX_FMT_GRAY16, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV440P, - AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ420P, - AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVA420P, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUVA444P, AV_PIX_FMT_YUV420P9, AV_PIX_FMT_YUV422P9, AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUVA420P9, AV_PIX_FMT_YUVA422P9, AV_PIX_FMT_YUVA444P9, @@ -97,7 +95,7 @@ static int query_formats(AVFilterContext *ctx) }; static const enum AVPixelFormat cpix_fmts[] = { - AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUVJ444P, + AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUVA444P, AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUVA444P9, AV_PIX_FMT_YUVA444P10, AV_PIX_FMT_YUV444P12, AV_PIX_FMT_YUV444P14, diff --git a/libavfilter/vf_deblock.c b/libavfilter/vf_deblock.c index d35b22e3be..3bdd3ec075 100644 --- a/libavfilter/vf_deblock.c +++ b/libavfilter/vf_deblock.c @@ -62,10 +62,8 @@ typedef struct DeblockContext { static const enum AVPixelFormat pixel_fmts[] = { AV_PIX_FMT_YUVA444P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV440P, - AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUVA420P, AV_PIX_FMT_YUV420P, - AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ420P, - AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, + AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV420P9, AV_PIX_FMT_YUV422P9, AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUV420P10, AV_PIX_FMT_YUV422P10, AV_PIX_FMT_YUV444P10, AV_PIX_FMT_YUV420P12, AV_PIX_FMT_YUV422P12, AV_PIX_FMT_YUV444P12, AV_PIX_FMT_YUV440P12, diff --git a/libavfilter/vf_decimate.c b/libavfilter/vf_decimate.c index dbeca427f1..8651f976cb 100644 --- a/libavfilter/vf_decimate.c +++ b/libavfilter/vf_decimate.c @@ -372,8 +372,6 @@ static const enum AVPixelFormat pix_fmts[] = { PF(P), PF(P9), PF(P10), PF_NOALPHA(P12), PF_NOALPHA(P14), PF(P16), AV_PIX_FMT_YUV440P10, AV_PIX_FMT_YUV440P12, AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, - AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ420P, - AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_GRAY8, AV_PIX_FMT_GRAY9, AV_PIX_FMT_GRAY10, AV_PIX_FMT_GRAY12, AV_PIX_FMT_GRAY14, AV_PIX_FMT_GRAY16, AV_PIX_FMT_NONE diff --git a/libavfilter/vf_dedot.c b/libavfilter/vf_dedot.c index 56679bc602..f1abbabf82 100644 --- a/libavfilter/vf_dedot.c +++ b/libavfilter/vf_dedot.c @@ -56,10 +56,8 @@ typedef struct DedotContext { static const enum AVPixelFormat pixel_fmts[] = { AV_PIX_FMT_YUVA444P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV440P, - AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUVA420P, AV_PIX_FMT_YUV420P, - AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ420P, - AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, + AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV420P9, AV_PIX_FMT_YUV422P9, AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUV420P10, AV_PIX_FMT_YUV422P10, AV_PIX_FMT_YUV444P10, AV_PIX_FMT_YUV420P12, AV_PIX_FMT_YUV422P12, AV_PIX_FMT_YUV444P12, AV_PIX_FMT_YUV440P12, diff --git a/libavfilter/vf_deflicker.c b/libavfilter/vf_deflicker.c index 25172135ed..4146385b33 100644 --- a/libavfilter/vf_deflicker.c +++ b/libavfilter/vf_deflicker.c @@ -96,9 +96,6 @@ static const enum AVPixelFormat pixel_fmts[] = { AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUV444P, - AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ422P, - AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVJ444P, - AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUV420P9, AV_PIX_FMT_YUV422P9, AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUV420P10, AV_PIX_FMT_YUV422P10, AV_PIX_FMT_YUV444P10, AV_PIX_FMT_YUV440P10, diff --git a/libavfilter/vf_deshake.c b/libavfilter/vf_deshake.c index 299814fd65..b3650bf9e3 100644 --- a/libavfilter/vf_deshake.c +++ b/libavfilter/vf_deshake.c @@ -426,8 +426,7 @@ static av_cold int init(AVFilterContext *ctx) static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV410P, - AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ422P, - AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_NONE + AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV440P, AV_PIX_FMT_NONE }; static int config_props(AVFilterLink *link) diff --git a/libavfilter/vf_displace.c b/libavfilter/vf_displace.c index 8cc11f07ba..3890b6bc27 100644 --- a/libavfilter/vf_displace.c +++ b/libavfilter/vf_displace.c @@ -62,10 +62,8 @@ AVFILTER_DEFINE_CLASS(displace); static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_YUVA444P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV440P, - AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUVA420P, AV_PIX_FMT_YUV420P, - AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ420P, - AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, + AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, AV_PIX_FMT_RGB24, AV_PIX_FMT_BGR24, AV_PIX_FMT_ARGB, AV_PIX_FMT_ABGR, AV_PIX_FMT_RGBA, AV_PIX_FMT_BGRA, AV_PIX_FMT_0RGB, AV_PIX_FMT_0BGR, AV_PIX_FMT_RGB0, AV_PIX_FMT_BGR0, diff --git a/libavfilter/vf_drawbox.c b/libavfilter/vf_drawbox.c index 27739dc89f..1d0dfb4cb9 100644 --- a/libavfilter/vf_drawbox.c +++ b/libavfilter/vf_drawbox.c @@ -256,9 +256,7 @@ static av_cold int init(AVFilterContext *ctx) static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV420P, - AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, - AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ420P, - AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUVJ440P, + AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUVA420P, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUVA444P, AV_PIX_FMT_RGB24, AV_PIX_FMT_BGR24, AV_PIX_FMT_RGBA, AV_PIX_FMT_BGRA, diff --git a/libavfilter/vf_entropy.c b/libavfilter/vf_entropy.c index 694a3ee872..84ca584e43 100644 --- a/libavfilter/vf_entropy.c +++ b/libavfilter/vf_entropy.c @@ -54,8 +54,6 @@ AVFILTER_DEFINE_CLASS(entropy); static const enum AVPixelFormat pixfmts[] = { AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV440P, - AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ411P, - AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUV422P9, AV_PIX_FMT_YUV420P9, AV_PIX_FMT_YUV444P10, AV_PIX_FMT_YUV422P10, AV_PIX_FMT_YUV420P10, AV_PIX_FMT_YUV440P10, diff --git a/libavfilter/vf_estdif.c b/libavfilter/vf_estdif.c index 471def9fa7..dd0c347fc0 100644 --- a/libavfilter/vf_estdif.c +++ b/libavfilter/vf_estdif.c @@ -109,9 +109,6 @@ static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUV444P, - AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ440P, - AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ420P, - AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUVA420P, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUVA444P, AV_PIX_FMT_GBRP, AV_PIX_FMT_GBRAP, AV_PIX_FMT_GRAY8, diff --git a/libavfilter/vf_extractplanes.c b/libavfilter/vf_extractplanes.c index ca406ff323..855735c9bd 100644 --- a/libavfilter/vf_extractplanes.c +++ b/libavfilter/vf_extractplanes.c @@ -72,9 +72,6 @@ AVFILTER_DEFINE_CLASS(extractplanes); AV_PIX_FMT_YUV440P, \ AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUVA420P, \ AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUVA422P, \ - AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ422P, \ - AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVJ444P, \ - AV_PIX_FMT_YUVJ411P, \ AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUVA444P, \ AV_PIX_FMT_GRAY8, AV_PIX_FMT_GRAY8A, \ AV_PIX_FMT_RGB24, AV_PIX_FMT_BGR24, \ diff --git a/libavfilter/vf_fade.c b/libavfilter/vf_fade.c index f903db0415..17367af3d6 100644 --- a/libavfilter/vf_fade.c +++ b/libavfilter/vf_fade.c @@ -106,9 +106,7 @@ static int query_formats(AVFilterContext *ctx) const FadeContext *s = ctx->priv; static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV420P, - AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, - AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ420P, - AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUVJ440P, + AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUVA420P, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUVA444P, AV_PIX_FMT_RGB24, AV_PIX_FMT_BGR24, AV_PIX_FMT_ARGB, AV_PIX_FMT_ABGR, diff --git a/libavfilter/vf_fftdnoiz.c b/libavfilter/vf_fftdnoiz.c index 1489f3282b..f0a17d4e7f 100644 --- a/libavfilter/vf_fftdnoiz.c +++ b/libavfilter/vf_fftdnoiz.c @@ -119,9 +119,6 @@ static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUV444P, - AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ422P, - AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVJ444P, - AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUV420P9, AV_PIX_FMT_YUV422P9, AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUV420P10, AV_PIX_FMT_YUV422P10, AV_PIX_FMT_YUV444P10, AV_PIX_FMT_YUV440P10, diff --git a/libavfilter/vf_fftfilt.c b/libavfilter/vf_fftfilt.c index aea83dc19c..0b13511025 100644 --- a/libavfilter/vf_fftfilt.c +++ b/libavfilter/vf_fftfilt.c @@ -569,9 +569,7 @@ static const enum AVPixelFormat pixel_fmts_fftfilt[] = { AV_PIX_FMT_GRAY8, AV_PIX_FMT_GRAY9, AV_PIX_FMT_GRAY10, AV_PIX_FMT_GRAY12, AV_PIX_FMT_GRAY14, AV_PIX_FMT_GRAY16, - AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUVJ444P, - AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUVJ420P, - AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUVJ422P, + AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV420P9, AV_PIX_FMT_YUV420P10, AV_PIX_FMT_YUV420P12, AV_PIX_FMT_YUV420P14, AV_PIX_FMT_YUV420P16, diff --git a/libavfilter/vf_fieldmatch.c b/libavfilter/vf_fieldmatch.c index 55671d8517..8b49e2093a 100644 --- a/libavfilter/vf_fieldmatch.c +++ b/libavfilter/vf_fieldmatch.c @@ -920,9 +920,6 @@ static int query_formats(AVFilterContext *ctx) AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUV444P, - AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ422P, - AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVJ444P, - AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUV420P9, AV_PIX_FMT_YUV422P9, AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUV420P10, AV_PIX_FMT_YUV422P10, AV_PIX_FMT_YUV444P10, AV_PIX_FMT_YUV440P10, diff --git a/libavfilter/vf_fillborders.c b/libavfilter/vf_fillborders.c index 34e7b5f637..831c6b5dc8 100644 --- a/libavfilter/vf_fillborders.c +++ b/libavfilter/vf_fillborders.c @@ -56,10 +56,8 @@ typedef struct FillBordersContext { static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_YUVA444P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV440P, - AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUVA420P, AV_PIX_FMT_YUV420P, - AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ420P, - AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, + AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV420P9, AV_PIX_FMT_YUV422P9, AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUV420P10, AV_PIX_FMT_YUV422P10, AV_PIX_FMT_YUV444P10, AV_PIX_FMT_YUV420P12, AV_PIX_FMT_YUV422P12, AV_PIX_FMT_YUV444P12, AV_PIX_FMT_YUV440P12, diff --git a/libavfilter/vf_find_rect.c b/libavfilter/vf_find_rect.c index 9f4ee1e32f..d524c74978 100644 --- a/libavfilter/vf_find_rect.c +++ b/libavfilter/vf_find_rect.c @@ -291,6 +291,6 @@ const AVFilter ff_vf_find_rect = { .flags = AVFILTER_FLAG_METADATA_ONLY, FILTER_INPUTS(foc_inputs), FILTER_OUTPUTS(ff_video_default_filterpad), - FILTER_PIXFMTS(AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUVJ420P), + FILTER_PIXFMTS(AV_PIX_FMT_YUV420P), .priv_class = &find_rect_class, }; diff --git a/libavfilter/vf_framepack.c b/libavfilter/vf_framepack.c index 3b915ddddf..4541ac0397 100644 --- a/libavfilter/vf_framepack.c +++ b/libavfilter/vf_framepack.c @@ -58,9 +58,6 @@ static const enum AVPixelFormat formats_supported[] = { AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUV444P, - AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ422P, - AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVJ444P, - AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUV420P9, AV_PIX_FMT_YUV422P9, AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUV420P10, AV_PIX_FMT_YUV422P10, AV_PIX_FMT_YUV444P10, AV_PIX_FMT_YUV440P10, diff --git a/libavfilter/vf_framerate.c b/libavfilter/vf_framerate.c index 6d448be74c..366809e358 100644 --- a/libavfilter/vf_framerate.c +++ b/libavfilter/vf_framerate.c @@ -218,11 +218,11 @@ static av_cold void uninit(AVFilterContext *ctx) static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_YUV410P, - AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUVJ411P, - AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUVJ420P, - AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUVJ422P, - AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUVJ440P, - AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUVJ444P, + AV_PIX_FMT_YUV411P, + AV_PIX_FMT_YUV420P, + AV_PIX_FMT_YUV422P, + AV_PIX_FMT_YUV440P, + AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV420P9, AV_PIX_FMT_YUV420P10, AV_PIX_FMT_YUV420P12, AV_PIX_FMT_YUV422P9, AV_PIX_FMT_YUV422P10, AV_PIX_FMT_YUV422P12, AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUV444P10, AV_PIX_FMT_YUV444P12, diff --git a/libavfilter/vf_freezedetect.c b/libavfilter/vf_freezedetect.c index 18d392d9ae..8deb5383b4 100644 --- a/libavfilter/vf_freezedetect.c +++ b/libavfilter/vf_freezedetect.c @@ -66,10 +66,9 @@ static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUYV422, AV_PIX_FMT_RGB24, AV_PIX_FMT_BGR24, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_GRAY8, - AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_UYVY422, AV_PIX_FMT_NV12, AV_PIX_FMT_NV21, AV_PIX_FMT_ARGB, AV_PIX_FMT_RGBA, AV_PIX_FMT_ABGR, AV_PIX_FMT_BGRA, AV_PIX_FMT_GRAY16, - AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVA420P, + AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUVA420P, AV_PIX_FMT_YUV420P16, AV_PIX_FMT_YUV422P16, AV_PIX_FMT_YUV444P16, AV_PIX_FMT_YA8, AV_PIX_FMT_YUV420P9, AV_PIX_FMT_YUV420P10, AV_PIX_FMT_YUV422P10, AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUV444P10, @@ -82,7 +81,7 @@ static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_GBRAP, AV_PIX_FMT_GBRAP16, AV_PIX_FMT_YUV420P12, AV_PIX_FMT_YUV420P14, AV_PIX_FMT_YUV422P12, AV_PIX_FMT_YUV422P14, AV_PIX_FMT_YUV444P12, AV_PIX_FMT_YUV444P14, AV_PIX_FMT_GBRP12, - AV_PIX_FMT_GBRP14, AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUV440P10, + AV_PIX_FMT_GBRP14, AV_PIX_FMT_YUV440P10, AV_PIX_FMT_YUV440P12, AV_PIX_FMT_GBRAP12, AV_PIX_FMT_GBRAP10, AV_PIX_FMT_GRAY12, AV_PIX_FMT_GRAY10, AV_PIX_FMT_GRAY9, AV_PIX_FMT_GRAY14, diff --git a/libavfilter/vf_fspp.c b/libavfilter/vf_fspp.c index 8f44390117..6babebccdd 100644 --- a/libavfilter/vf_fspp.c +++ b/libavfilter/vf_fspp.c @@ -497,8 +497,6 @@ static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV440P, - AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ422P, - AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_GBRP, AV_PIX_FMT_GRAY8, AV_PIX_FMT_NONE }; diff --git a/libavfilter/vf_gblur.c b/libavfilter/vf_gblur.c index 6ce2c84736..5e20b7a1a6 100644 --- a/libavfilter/vf_gblur.c +++ b/libavfilter/vf_gblur.c @@ -138,10 +138,8 @@ static void gaussianiir2d(AVFilterContext *ctx, int plane) static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_YUVA444P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV440P, - AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUVA420P, AV_PIX_FMT_YUV420P, - AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ420P, - AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, + AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV420P9, AV_PIX_FMT_YUV422P9, AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUV420P10, AV_PIX_FMT_YUV422P10, AV_PIX_FMT_YUV444P10, AV_PIX_FMT_YUV420P12, AV_PIX_FMT_YUV422P12, AV_PIX_FMT_YUV444P12, AV_PIX_FMT_YUV440P12, diff --git a/libavfilter/vf_guided.c b/libavfilter/vf_guided.c index 8c0e5e454e..ea070cea76 100644 --- a/libavfilter/vf_guided.c +++ b/libavfilter/vf_guided.c @@ -143,10 +143,8 @@ static int box_slice(AVFilterContext *ctx, void *arg, int jobnr, int nb_jobs) static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_YUVA444P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV440P, - AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUVA420P, AV_PIX_FMT_YUV420P, - AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ420P, - AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, + AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV420P9, AV_PIX_FMT_YUV422P9, AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUV420P10, AV_PIX_FMT_YUV422P10, AV_PIX_FMT_YUV444P10, AV_PIX_FMT_YUV420P12, AV_PIX_FMT_YUV422P12, AV_PIX_FMT_YUV444P12, AV_PIX_FMT_YUV440P12, diff --git a/libavfilter/vf_histogram.c b/libavfilter/vf_histogram.c index 83477692cd..9926a65963 100644 --- a/libavfilter/vf_histogram.c +++ b/libavfilter/vf_histogram.c @@ -105,11 +105,11 @@ static const AVOption histogram_options[] = { AVFILTER_DEFINE_CLASS(histogram); static const enum AVPixelFormat levels_in_pix_fmts[] = { - AV_PIX_FMT_YUVA420P, AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUVJ420P, - AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUVJ422P, - AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUVJ411P, + AV_PIX_FMT_YUVA420P, AV_PIX_FMT_YUV420P, + AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUV422P, + AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUV410P, - AV_PIX_FMT_YUVA444P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUVJ444P, + AV_PIX_FMT_YUVA444P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV420P9, AV_PIX_FMT_YUV422P9, AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUVA420P9, AV_PIX_FMT_YUVA422P9, AV_PIX_FMT_YUVA444P9, AV_PIX_FMT_YUV420P10, AV_PIX_FMT_YUV422P10, AV_PIX_FMT_YUV444P10, diff --git a/libavfilter/vf_hqdn3d.c b/libavfilter/vf_hqdn3d.c index d95ae8f898..16c1f88137 100644 --- a/libavfilter/vf_hqdn3d.c +++ b/libavfilter/vf_hqdn3d.c @@ -232,7 +232,6 @@ static av_cold void uninit(AVFilterContext *ctx) static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV440P, - AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUV420P9, AV_PIX_FMT_YUV422P9, AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUV420P10, AV_PIX_FMT_YUV422P10, AV_PIX_FMT_YUV444P10, AV_PIX_FMT_YUV440P10, diff --git a/libavfilter/vf_hysteresis.c b/libavfilter/vf_hysteresis.c index d2fd3011b8..d1ef30e932 100644 --- a/libavfilter/vf_hysteresis.c +++ b/libavfilter/vf_hysteresis.c @@ -59,10 +59,8 @@ static const AVOption hysteresis_options[] = { static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_YUVA444P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV440P, - AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUVA420P, AV_PIX_FMT_YUV420P, - AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ420P, - AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, + AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV420P9, AV_PIX_FMT_YUV422P9, AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUV420P10, AV_PIX_FMT_YUV422P10, AV_PIX_FMT_YUV444P10, AV_PIX_FMT_YUV420P12, AV_PIX_FMT_YUV422P12, AV_PIX_FMT_YUV444P12, AV_PIX_FMT_YUV440P12, diff --git a/libavfilter/vf_identity.c b/libavfilter/vf_identity.c index d3a5ec14f6..68e86235cc 100644 --- a/libavfilter/vf_identity.c +++ b/libavfilter/vf_identity.c @@ -248,8 +248,6 @@ static const enum AVPixelFormat pix_fmts[] = { #define PF(suf) PF_NOALPHA(suf), PF_ALPHA(suf) PF(P), PF(P9), PF(P10), PF_NOALPHA(P12), PF_NOALPHA(P14), PF(P16), AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, - AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ422P, - AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_GBRP, AV_PIX_FMT_GBRP9, AV_PIX_FMT_GBRP10, AV_PIX_FMT_GBRP12, AV_PIX_FMT_GBRP14, AV_PIX_FMT_GBRP16, AV_PIX_FMT_GBRAP, AV_PIX_FMT_GBRAP10, AV_PIX_FMT_GBRAP12, AV_PIX_FMT_GBRAP16, diff --git a/libavfilter/vf_idet.c b/libavfilter/vf_idet.c index abd375230a..9bb3ab83a3 100644 --- a/libavfilter/vf_idet.c +++ b/libavfilter/vf_idet.c @@ -400,12 +400,8 @@ static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_GRAY8, - AV_PIX_FMT_YUVJ420P, - AV_PIX_FMT_YUVJ422P, - AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_GRAY16, AV_PIX_FMT_YUV440P, - AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUV420P9, AV_PIX_FMT_YUV422P9, AV_PIX_FMT_YUV444P9, diff --git a/libavfilter/vf_lagfun.c b/libavfilter/vf_lagfun.c index 20cdd9fa65..de2c0dd602 100644 --- a/libavfilter/vf_lagfun.c +++ b/libavfilter/vf_lagfun.c @@ -49,9 +49,6 @@ static const enum AVPixelFormat pixel_fmts[] = { AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUV444P, - AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ422P, - AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVJ444P, - AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUV420P9, AV_PIX_FMT_YUV422P9, AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUV420P10, AV_PIX_FMT_YUV422P10, AV_PIX_FMT_YUV444P10, AV_PIX_FMT_YUV440P10, diff --git a/libavfilter/vf_lenscorrection.c b/libavfilter/vf_lenscorrection.c index 413eabefba..e9224b277b 100644 --- a/libavfilter/vf_lenscorrection.c +++ b/libavfilter/vf_lenscorrection.c @@ -182,9 +182,6 @@ static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUV444P, - AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ422P, - AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVJ444P, - AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUV420P9, AV_PIX_FMT_YUV422P9, AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUV420P10, AV_PIX_FMT_YUV422P10, AV_PIX_FMT_YUV444P10, AV_PIX_FMT_YUV440P10, diff --git a/libavfilter/vf_limitdiff.c b/libavfilter/vf_limitdiff.c index 1e903d45a8..5b78a40faf 100644 --- a/libavfilter/vf_limitdiff.c +++ b/libavfilter/vf_limitdiff.c @@ -65,10 +65,8 @@ static const AVOption limitdiff_options[] = { static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_YUVA444P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV440P, - AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUVA420P, AV_PIX_FMT_YUV420P, - AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ420P, - AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, + AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV420P9, AV_PIX_FMT_YUV422P9, AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUV420P10, AV_PIX_FMT_YUV422P10, AV_PIX_FMT_YUV444P10, AV_PIX_FMT_YUV420P12, AV_PIX_FMT_YUV422P12, AV_PIX_FMT_YUV444P12, AV_PIX_FMT_YUV440P12, diff --git a/libavfilter/vf_limiter.c b/libavfilter/vf_limiter.c index f67f590d60..b41926eae6 100644 --- a/libavfilter/vf_limiter.c +++ b/libavfilter/vf_limiter.c @@ -67,10 +67,8 @@ static av_cold int init(AVFilterContext *ctx) static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_YUVA444P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV440P, - AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUVA420P, AV_PIX_FMT_YUV420P, - AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ420P, - AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, + AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV420P9, AV_PIX_FMT_YUV422P9, AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUV420P10, AV_PIX_FMT_YUV422P10, AV_PIX_FMT_YUV444P10, AV_PIX_FMT_YUV420P12, AV_PIX_FMT_YUV422P12, AV_PIX_FMT_YUV444P12, AV_PIX_FMT_YUV440P12, diff --git a/libavfilter/vf_lut.c b/libavfilter/vf_lut.c index 1a6ca06546..375a1d25d3 100644 --- a/libavfilter/vf_lut.c +++ b/libavfilter/vf_lut.c @@ -115,8 +115,6 @@ static av_cold void uninit(AVFilterContext *ctx) AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV420P, \ AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV440P, \ AV_PIX_FMT_YUVA420P, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUVA444P, \ - AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ420P, \ - AV_PIX_FMT_YUVJ440P, \ AV_PIX_FMT_YUV444P9LE, AV_PIX_FMT_YUV422P9LE, AV_PIX_FMT_YUV420P9LE, \ AV_PIX_FMT_YUV444P10LE, AV_PIX_FMT_YUV422P10LE, AV_PIX_FMT_YUV420P10LE, AV_PIX_FMT_YUV440P10LE, \ AV_PIX_FMT_YUV444P12LE, AV_PIX_FMT_YUV422P12LE, AV_PIX_FMT_YUV420P12LE, AV_PIX_FMT_YUV440P12LE, \ diff --git a/libavfilter/vf_lut2.c b/libavfilter/vf_lut2.c index 49755544b0..a4818b08ba 100644 --- a/libavfilter/vf_lut2.c +++ b/libavfilter/vf_lut2.c @@ -110,10 +110,8 @@ static av_cold void uninit(AVFilterContext *ctx) #define BIT8_FMTS \ AV_PIX_FMT_YUVA444P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV440P, \ - AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ440P, \ AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUVA420P, AV_PIX_FMT_YUV420P, \ - AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ420P, \ - AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, \ + AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, \ AV_PIX_FMT_GRAY8, AV_PIX_FMT_GBRP, AV_PIX_FMT_GBRAP, #define BIT9_FMTS \ diff --git a/libavfilter/vf_maskedclamp.c b/libavfilter/vf_maskedclamp.c index e6fbb1a6d5..021c5d84bd 100644 --- a/libavfilter/vf_maskedclamp.c +++ b/libavfilter/vf_maskedclamp.c @@ -61,10 +61,8 @@ AVFILTER_DEFINE_CLASS(maskedclamp); static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_YUVA444P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV440P, - AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUVA420P, AV_PIX_FMT_YUV420P, - AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ420P, - AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, + AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV420P9, AV_PIX_FMT_YUV422P9, AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUV420P10, AV_PIX_FMT_YUV422P10, AV_PIX_FMT_YUV444P10, AV_PIX_FMT_YUV420P12, AV_PIX_FMT_YUV422P12, AV_PIX_FMT_YUV444P12, AV_PIX_FMT_YUV440P12, diff --git a/libavfilter/vf_maskedmerge.c b/libavfilter/vf_maskedmerge.c index 4ca0c571c8..2717e6b76a 100644 --- a/libavfilter/vf_maskedmerge.c +++ b/libavfilter/vf_maskedmerge.c @@ -38,10 +38,8 @@ AVFILTER_DEFINE_CLASS(maskedmerge); static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_YUVA444P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV440P, - AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUVA420P, AV_PIX_FMT_YUV420P, - AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ420P, - AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, + AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV420P9, AV_PIX_FMT_YUV422P9, AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUV420P10, AV_PIX_FMT_YUV422P10, AV_PIX_FMT_YUV444P10, AV_PIX_FMT_YUV440P10, AV_PIX_FMT_YUV420P12, AV_PIX_FMT_YUV422P12, AV_PIX_FMT_YUV444P12, AV_PIX_FMT_YUV440P12, diff --git a/libavfilter/vf_maskedminmax.c b/libavfilter/vf_maskedminmax.c index b1c309cc7d..80221bdd96 100644 --- a/libavfilter/vf_maskedminmax.c +++ b/libavfilter/vf_maskedminmax.c @@ -64,10 +64,8 @@ static av_cold int maskedmin_init(AVFilterContext *ctx) static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_YUVA444P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV440P, - AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUVA420P, AV_PIX_FMT_YUV420P, - AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ420P, - AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, + AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV420P9, AV_PIX_FMT_YUV422P9, AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUV420P10, AV_PIX_FMT_YUV422P10, AV_PIX_FMT_YUV444P10, AV_PIX_FMT_YUV420P12, AV_PIX_FMT_YUV422P12, AV_PIX_FMT_YUV444P12, AV_PIX_FMT_YUV440P12, diff --git a/libavfilter/vf_maskedthreshold.c b/libavfilter/vf_maskedthreshold.c index 36c4050b98..54f17f6e75 100644 --- a/libavfilter/vf_maskedthreshold.c +++ b/libavfilter/vf_maskedthreshold.c @@ -61,10 +61,8 @@ static const AVOption maskedthreshold_options[] = { static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_YUVA444P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV440P, - AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUVA420P, AV_PIX_FMT_YUV420P, - AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ420P, - AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, + AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV420P9, AV_PIX_FMT_YUV422P9, AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUV420P10, AV_PIX_FMT_YUV422P10, AV_PIX_FMT_YUV444P10, AV_PIX_FMT_YUV420P12, AV_PIX_FMT_YUV422P12, AV_PIX_FMT_YUV444P12, AV_PIX_FMT_YUV440P12, diff --git a/libavfilter/vf_maskfun.c b/libavfilter/vf_maskfun.c index 1ac152fc8b..d6dca71a67 100644 --- a/libavfilter/vf_maskfun.c +++ b/libavfilter/vf_maskfun.c @@ -63,10 +63,8 @@ AVFILTER_DEFINE_CLASS(maskfun); static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_YUVA444P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV440P, - AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUVA420P, AV_PIX_FMT_YUV420P, - AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ420P, - AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, + AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV420P9, AV_PIX_FMT_YUV422P9, AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUV420P10, AV_PIX_FMT_YUV422P10, AV_PIX_FMT_YUV444P10, AV_PIX_FMT_YUV420P12, AV_PIX_FMT_YUV422P12, AV_PIX_FMT_YUV444P12, AV_PIX_FMT_YUV440P12, diff --git a/libavfilter/vf_median.c b/libavfilter/vf_median.c index 57514f9289..975738513a 100644 --- a/libavfilter/vf_median.c +++ b/libavfilter/vf_median.c @@ -84,10 +84,8 @@ static void hmuladd(htype *dst, const htype *src, int f, int bins) static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_YUVA444P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV440P, - AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUVA420P, AV_PIX_FMT_YUV420P, - AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ420P, - AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, + AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, AV_PIX_FMT_GBRP, AV_PIX_FMT_GBRAP, AV_PIX_FMT_GRAY8, AV_PIX_FMT_GRAY9, AV_PIX_FMT_YUV420P9, AV_PIX_FMT_YUV422P9, AV_PIX_FMT_YUV444P9, AV_PIX_FMT_GBRP9, AV_PIX_FMT_YUVA420P9, AV_PIX_FMT_YUVA422P9, AV_PIX_FMT_YUVA444P9, diff --git a/libavfilter/vf_mestimate.c b/libavfilter/vf_mestimate.c index 4ec34cd7fb..d533d4d7d3 100644 --- a/libavfilter/vf_mestimate.c +++ b/libavfilter/vf_mestimate.c @@ -68,9 +68,6 @@ static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUV444P, - AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ440P, - AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ420P, - AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUVA420P, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUVA444P, AV_PIX_FMT_GRAY8, AV_PIX_FMT_NONE diff --git a/libavfilter/vf_midequalizer.c b/libavfilter/vf_midequalizer.c index fae2b7ef19..0c2749d271 100644 --- a/libavfilter/vf_midequalizer.c +++ b/libavfilter/vf_midequalizer.c @@ -58,10 +58,8 @@ AVFILTER_DEFINE_CLASS(midequalizer); static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_YUVA444P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV440P, - AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUVA420P, AV_PIX_FMT_YUV420P, - AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ420P, - AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, + AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, AV_PIX_FMT_GBRP, AV_PIX_FMT_GBRAP, AV_PIX_FMT_GRAY8, AV_PIX_FMT_GRAY9, AV_PIX_FMT_GRAY10, AV_PIX_FMT_GRAY12, AV_PIX_FMT_GRAY14, AV_PIX_FMT_YUV420P9, AV_PIX_FMT_YUV422P9, AV_PIX_FMT_YUV444P9, diff --git a/libavfilter/vf_minterpolate.c b/libavfilter/vf_minterpolate.c index b2242a15ee..55d1b87ba6 100644 --- a/libavfilter/vf_minterpolate.c +++ b/libavfilter/vf_minterpolate.c @@ -237,9 +237,6 @@ static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUV444P, - AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ440P, - AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ420P, - AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUVA420P, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUVA444P, AV_PIX_FMT_GRAY8, AV_PIX_FMT_NONE diff --git a/libavfilter/vf_monochrome.c b/libavfilter/vf_monochrome.c index 05c001707a..09b0a30005 100644 --- a/libavfilter/vf_monochrome.c +++ b/libavfilter/vf_monochrome.c @@ -225,9 +225,6 @@ static const enum AVPixelFormat pixel_fmts[] = { AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUV444P, - AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ422P, - AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVJ444P, - AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUV420P9, AV_PIX_FMT_YUV422P9, AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUV420P10, AV_PIX_FMT_YUV422P10, AV_PIX_FMT_YUV444P10, AV_PIX_FMT_YUV440P10, diff --git a/libavfilter/vf_morpho.c b/libavfilter/vf_morpho.c index bd1d6b230f..09a126326a 100644 --- a/libavfilter/vf_morpho.c +++ b/libavfilter/vf_morpho.c @@ -147,10 +147,8 @@ FRAMESYNC_DEFINE_CLASS(morpho, MorphoContext, fs); static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_YUVA444P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV440P, - AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUVA420P, AV_PIX_FMT_YUV420P, - AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ420P, - AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, + AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, AV_PIX_FMT_GBRP, AV_PIX_FMT_GBRAP, AV_PIX_FMT_GRAY8, AV_PIX_FMT_GRAY9, AV_PIX_FMT_YUV420P9, AV_PIX_FMT_YUV422P9, AV_PIX_FMT_YUV444P9, AV_PIX_FMT_GBRP9, AV_PIX_FMT_YUVA420P9, AV_PIX_FMT_YUVA422P9, AV_PIX_FMT_YUVA444P9, diff --git a/libavfilter/vf_mpdecimate.c b/libavfilter/vf_mpdecimate.c index dab8941e46..200d5aa256 100644 --- a/libavfilter/vf_mpdecimate.c +++ b/libavfilter/vf_mpdecimate.c @@ -172,8 +172,6 @@ static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV440P, - AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ422P, - AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVA420P, AV_PIX_FMT_GBRP, diff --git a/libavfilter/vf_negate.c b/libavfilter/vf_negate.c index 58be43a44b..b04c875663 100644 --- a/libavfilter/vf_negate.c +++ b/libavfilter/vf_negate.c @@ -80,8 +80,6 @@ static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUVA420P, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUVA444P, - AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ420P, - AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUV422P9, AV_PIX_FMT_YUV420P9, AV_PIX_FMT_YUV444P10, AV_PIX_FMT_YUV422P10, AV_PIX_FMT_YUV420P10, AV_PIX_FMT_YUV440P10, AV_PIX_FMT_YUV444P12, AV_PIX_FMT_YUV422P12, AV_PIX_FMT_YUV420P12, AV_PIX_FMT_YUV440P12, diff --git a/libavfilter/vf_neighbor.c b/libavfilter/vf_neighbor.c index 915347d6ba..86f7e35cad 100644 --- a/libavfilter/vf_neighbor.c +++ b/libavfilter/vf_neighbor.c @@ -52,10 +52,8 @@ typedef struct NContext { static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_YUVA444P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV440P, - AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUVA420P, AV_PIX_FMT_YUV420P, - AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ420P, - AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, + AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV420P9, AV_PIX_FMT_YUV422P9, AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUV420P10, AV_PIX_FMT_YUV422P10, AV_PIX_FMT_YUV444P10, AV_PIX_FMT_YUV420P12, AV_PIX_FMT_YUV422P12, AV_PIX_FMT_YUV444P12, AV_PIX_FMT_YUV440P12, diff --git a/libavfilter/vf_nlmeans.c b/libavfilter/vf_nlmeans.c index dc935538f0..42c5c2f2f1 100644 --- a/libavfilter/vf_nlmeans.c +++ b/libavfilter/vf_nlmeans.c @@ -77,9 +77,6 @@ static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUV444P, - AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ440P, - AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ420P, - AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_GRAY8, AV_PIX_FMT_GBRP, AV_PIX_FMT_NONE }; diff --git a/libavfilter/vf_nnedi.c b/libavfilter/vf_nnedi.c index 1bb8c21e10..3face927b9 100644 --- a/libavfilter/vf_nnedi.c +++ b/libavfilter/vf_nnedi.c @@ -185,9 +185,6 @@ static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUV444P, - AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ440P, - AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ420P, - AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUVA420P, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUVA444P, AV_PIX_FMT_GBRP, AV_PIX_FMT_GBRAP, AV_PIX_FMT_YUV420P9, AV_PIX_FMT_YUV422P9, AV_PIX_FMT_YUV444P9, diff --git a/libavfilter/vf_ocr.c b/libavfilter/vf_ocr.c index 3cece91edf..678da4ecaf 100644 --- a/libavfilter/vf_ocr.c +++ b/libavfilter/vf_ocr.c @@ -77,9 +77,6 @@ static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUV444P, - AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ422P, - AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVJ444P, - AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUVA444P, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUVA420P, AV_PIX_FMT_NONE }; diff --git a/libavfilter/vf_overlay.c b/libavfilter/vf_overlay.c index fb645f2b58..98d5fcc2a3 100644 --- a/libavfilter/vf_overlay.c +++ b/libavfilter/vf_overlay.c @@ -167,7 +167,7 @@ static int query_formats(AVFilterContext *ctx) /* overlay formats contains alpha, for avoiding conversion with alpha information loss */ static const enum AVPixelFormat main_pix_fmts_yuv420[] = { - AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVA420P, + AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUVA420P, AV_PIX_FMT_NV12, AV_PIX_FMT_NV21, AV_PIX_FMT_NONE }; @@ -184,7 +184,7 @@ static int query_formats(AVFilterContext *ctx) }; static const enum AVPixelFormat main_pix_fmts_yuv422[] = { - AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_NONE + AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_NONE }; static const enum AVPixelFormat overlay_pix_fmts_yuv422[] = { AV_PIX_FMT_YUVA422P, AV_PIX_FMT_NONE @@ -198,7 +198,7 @@ static int query_formats(AVFilterContext *ctx) }; static const enum AVPixelFormat main_pix_fmts_yuv444[] = { - AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVA444P, AV_PIX_FMT_NONE + AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUVA444P, AV_PIX_FMT_NONE }; static const enum AVPixelFormat overlay_pix_fmts_yuv444[] = { AV_PIX_FMT_YUVA444P, AV_PIX_FMT_NONE diff --git a/libavfilter/vf_perspective.c b/libavfilter/vf_perspective.c index f06c44b33a..fc9879baa1 100644 --- a/libavfilter/vf_perspective.c +++ b/libavfilter/vf_perspective.c @@ -95,7 +95,6 @@ AVFILTER_DEFINE_CLASS(perspective); static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_YUVA444P, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUVA420P, - AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVJ422P,AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, AV_PIX_FMT_GBRP, AV_PIX_FMT_GBRAP, AV_PIX_FMT_GRAY8, AV_PIX_FMT_NONE }; diff --git a/libavfilter/vf_phase.c b/libavfilter/vf_phase.c index 02dd08e002..090ad13111 100644 --- a/libavfilter/vf_phase.c +++ b/libavfilter/vf_phase.c @@ -102,9 +102,6 @@ static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUV444P, - AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ422P, - AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVJ444P, - AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUV420P9, AV_PIX_FMT_YUV422P9, AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUV420P10, AV_PIX_FMT_YUV422P10, AV_PIX_FMT_YUV444P10, AV_PIX_FMT_YUV440P10, diff --git a/libavfilter/vf_pixelize.c b/libavfilter/vf_pixelize.c index a436515986..06204f47cd 100644 --- a/libavfilter/vf_pixelize.c +++ b/libavfilter/vf_pixelize.c @@ -66,9 +66,6 @@ static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUV444P, - AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ422P, - AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVJ444P, - AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUV420P9, AV_PIX_FMT_YUV422P9, AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUV420P10, AV_PIX_FMT_YUV422P10, AV_PIX_FMT_YUV444P10, AV_PIX_FMT_YUV440P10, diff --git a/libavfilter/vf_pp.c b/libavfilter/vf_pp.c index aa37325a24..774e006172 100644 --- a/libavfilter/vf_pp.c +++ b/libavfilter/vf_pp.c @@ -77,12 +77,12 @@ static int pp_process_command(AVFilterContext *ctx, const char *cmd, const char } static const enum AVPixelFormat pix_fmts[] = { - AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUVJ420P, - AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUVJ422P, + AV_PIX_FMT_YUV420P, + AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_GBRP, - AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUVJ444P, - AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUVJ440P, + AV_PIX_FMT_YUV444P, + AV_PIX_FMT_YUV440P, AV_PIX_FMT_GRAY8, AV_PIX_FMT_NONE }; @@ -94,15 +94,11 @@ static int pp_config_props(AVFilterLink *inlink) switch (inlink->format) { case AV_PIX_FMT_GRAY8: - case AV_PIX_FMT_YUVJ420P: case AV_PIX_FMT_YUV420P: flags |= PP_FORMAT_420; break; - case AV_PIX_FMT_YUVJ422P: case AV_PIX_FMT_YUV422P: flags |= PP_FORMAT_422; break; case AV_PIX_FMT_YUV411P: flags |= PP_FORMAT_411; break; case AV_PIX_FMT_GBRP: - case AV_PIX_FMT_YUVJ444P: case AV_PIX_FMT_YUV444P: flags |= PP_FORMAT_444; break; - case AV_PIX_FMT_YUVJ440P: case AV_PIX_FMT_YUV440P: flags |= PP_FORMAT_440; break; default: av_assert0(0); } diff --git a/libavfilter/vf_pp7.c b/libavfilter/vf_pp7.c index 24a094f00c..0db4b94b5d 100644 --- a/libavfilter/vf_pp7.c +++ b/libavfilter/vf_pp7.c @@ -270,8 +270,6 @@ static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV440P, - AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ422P, - AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_GBRP, AV_PIX_FMT_GRAY8, AV_PIX_FMT_NONE }; diff --git a/libavfilter/vf_premultiply.c b/libavfilter/vf_premultiply.c index e077d46a9a..0ebb94058c 100644 --- a/libavfilter/vf_premultiply.c +++ b/libavfilter/vf_premultiply.c @@ -69,7 +69,7 @@ static int query_formats(AVFilterContext *ctx) PreMultiplyContext *s = ctx->priv; static const enum AVPixelFormat no_alpha_pix_fmts[] = { - AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUVJ444P, + AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUV444P10, AV_PIX_FMT_YUV444P12, AV_PIX_FMT_YUV444P14, AV_PIX_FMT_YUV444P16, @@ -534,10 +534,6 @@ static int filter_frame(AVFilterContext *ctx, s->premultiply[0] = full ? unpremultiply8 : unpremultiply8offset; s->premultiply[1] = s->premultiply[2] = unpremultiply8yuv; break; - case AV_PIX_FMT_YUVJ444P: - s->premultiply[0] = unpremultiply8; - s->premultiply[1] = s->premultiply[2] = unpremultiply8yuv; - break; case AV_PIX_FMT_GBRP: case AV_PIX_FMT_GBRAP: s->premultiply[0] = s->premultiply[1] = s->premultiply[2] = limited ? unpremultiply8offset : unpremultiply8; @@ -586,10 +582,6 @@ static int filter_frame(AVFilterContext *ctx, s->premultiply[0] = full ? premultiply8 : premultiply8offset; s->premultiply[1] = s->premultiply[2] = premultiply8yuv; break; - case AV_PIX_FMT_YUVJ444P: - s->premultiply[0] = premultiply8; - s->premultiply[1] = s->premultiply[2] = premultiply8yuv; - break; case AV_PIX_FMT_GBRP: case AV_PIX_FMT_GBRAP: s->premultiply[0] = s->premultiply[1] = s->premultiply[2] = limited ? premultiply8offset : premultiply8; diff --git a/libavfilter/vf_psnr.c b/libavfilter/vf_psnr.c index 058a8932f4..dd05e61059 100644 --- a/libavfilter/vf_psnr.c +++ b/libavfilter/vf_psnr.c @@ -309,8 +309,6 @@ static const enum AVPixelFormat pix_fmts[] = { #define PF(suf) PF_NOALPHA(suf), PF_ALPHA(suf) PF(P), PF(P9), PF(P10), PF_NOALPHA(P12), PF_NOALPHA(P14), PF(P16), AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, - AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ422P, - AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_GBRP, AV_PIX_FMT_GBRP9, AV_PIX_FMT_GBRP10, AV_PIX_FMT_GBRP12, AV_PIX_FMT_GBRP14, AV_PIX_FMT_GBRP16, AV_PIX_FMT_GBRAP, AV_PIX_FMT_GBRAP10, AV_PIX_FMT_GBRAP12, AV_PIX_FMT_GBRAP16, diff --git a/libavfilter/vf_pullup.c b/libavfilter/vf_pullup.c index 14beb972c5..ce4052abb0 100644 --- a/libavfilter/vf_pullup.c +++ b/libavfilter/vf_pullup.c @@ -53,12 +53,10 @@ static const AVOption pullup_options[] = { AVFILTER_DEFINE_CLASS(pullup); static const enum AVPixelFormat pix_fmts[] = { - AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ440P, - AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, - AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_GRAY8, + AV_PIX_FMT_GRAY8, AV_PIX_FMT_NONE }; diff --git a/libavfilter/vf_readeia608.c b/libavfilter/vf_readeia608.c index 50bf915765..49ac554176 100644 --- a/libavfilter/vf_readeia608.c +++ b/libavfilter/vf_readeia608.c @@ -105,9 +105,6 @@ static const enum AVPixelFormat pixel_fmts[] = { AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUV444P, - AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ422P, - AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVJ444P, - AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUV420P9, AV_PIX_FMT_YUV422P9, AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUV420P10, AV_PIX_FMT_YUV422P10, AV_PIX_FMT_YUV444P10, AV_PIX_FMT_YUV440P10, diff --git a/libavfilter/vf_readvitc.c b/libavfilter/vf_readvitc.c index cb63a4d127..9055507ca6 100644 --- a/libavfilter/vf_readvitc.c +++ b/libavfilter/vf_readvitc.c @@ -197,11 +197,6 @@ static const enum AVPixelFormat pixel_fmts[] = { AV_PIX_FMT_YUVA420P, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUVA444P, - AV_PIX_FMT_YUVJ411P, - AV_PIX_FMT_YUVJ420P, - AV_PIX_FMT_YUVJ422P, - AV_PIX_FMT_YUVJ440P, - AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_NONE }; diff --git a/libavfilter/vf_remap.c b/libavfilter/vf_remap.c index f536580a90..4f53c1e14a 100644 --- a/libavfilter/vf_remap.c +++ b/libavfilter/vf_remap.c @@ -88,7 +88,6 @@ static int query_formats(AVFilterContext *ctx) static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_YUVA444P, AV_PIX_FMT_YUV444P, - AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_RGB24, AV_PIX_FMT_BGR24, AV_PIX_FMT_ARGB, AV_PIX_FMT_ABGR, AV_PIX_FMT_RGBA, AV_PIX_FMT_BGRA, AV_PIX_FMT_GBRP, AV_PIX_FMT_GBRAP, diff --git a/libavfilter/vf_removegrain.c b/libavfilter/vf_removegrain.c index 6e6e99198c..25f5a18882 100644 --- a/libavfilter/vf_removegrain.c +++ b/libavfilter/vf_removegrain.c @@ -48,8 +48,6 @@ static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUVA420P, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUVA444P, AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, - AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ422P, - AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_GBRP, AV_PIX_FMT_GBRAP, AV_PIX_FMT_NONE }; diff --git a/libavfilter/vf_rotate.c b/libavfilter/vf_rotate.c index 96c250a459..38f98d75ab 100644 --- a/libavfilter/vf_rotate.c +++ b/libavfilter/vf_rotate.c @@ -141,8 +141,8 @@ static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_RGB24, AV_PIX_FMT_BGR24, AV_PIX_FMT_GRAY8, AV_PIX_FMT_YUV410P, - AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUVJ444P, - AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUVJ420P, + AV_PIX_FMT_YUV444P, + AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUVA444P, AV_PIX_FMT_YUVA420P, AV_PIX_FMT_YUV420P10LE, AV_PIX_FMT_YUVA420P10LE, AV_PIX_FMT_YUV444P10LE, AV_PIX_FMT_YUVA444P10LE, diff --git a/libavfilter/vf_scdet.c b/libavfilter/vf_scdet.c index 15399cfebf..ac7e1314d9 100644 --- a/libavfilter/vf_scdet.c +++ b/libavfilter/vf_scdet.c @@ -63,10 +63,10 @@ AVFILTER_DEFINE_CLASS(scdet); static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_RGB24, AV_PIX_FMT_BGR24, AV_PIX_FMT_RGBA, AV_PIX_FMT_ABGR, AV_PIX_FMT_BGRA, AV_PIX_FMT_GRAY8, - AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUVJ420P, - AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUVJ422P, - AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUVJ440P, - AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUVJ444P, + AV_PIX_FMT_YUV420P, + AV_PIX_FMT_YUV422P, + AV_PIX_FMT_YUV440P, + AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV420P9, AV_PIX_FMT_YUV420P10, AV_PIX_FMT_YUV420P12, AV_PIX_FMT_YUV422P9, AV_PIX_FMT_YUV422P10, AV_PIX_FMT_YUV422P12, AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUV444P10, AV_PIX_FMT_YUV444P12, diff --git a/libavfilter/vf_scroll.c b/libavfilter/vf_scroll.c index eebf12e902..f1e1bd61f2 100644 --- a/libavfilter/vf_scroll.c +++ b/libavfilter/vf_scroll.c @@ -44,10 +44,8 @@ typedef struct ScrollContext { static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_YUVA444P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV440P, - AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUVA420P, AV_PIX_FMT_YUV420P, - AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ420P, - AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, + AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV420P9, AV_PIX_FMT_YUV422P9, AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUV420P10, AV_PIX_FMT_YUV422P10, AV_PIX_FMT_YUV444P10, AV_PIX_FMT_YUV420P12, AV_PIX_FMT_YUV422P12, AV_PIX_FMT_YUV444P12, AV_PIX_FMT_YUV440P12, diff --git a/libavfilter/vf_shear.c b/libavfilter/vf_shear.c index 760caa5011..58b84e0975 100644 --- a/libavfilter/vf_shear.c +++ b/libavfilter/vf_shear.c @@ -92,9 +92,6 @@ static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUV444P, - AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ422P, - AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVJ444P, - AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUV420P9, AV_PIX_FMT_YUV422P9, AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUV420P10, AV_PIX_FMT_YUV422P10, AV_PIX_FMT_YUV444P10, AV_PIX_FMT_YUV440P10, diff --git a/libavfilter/vf_signalstats.c b/libavfilter/vf_signalstats.c index b4d1029296..3112baa69f 100644 --- a/libavfilter/vf_signalstats.c +++ b/libavfilter/vf_signalstats.c @@ -121,8 +121,6 @@ static av_cold void uninit(AVFilterContext *ctx) static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV440P, - AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ411P, - AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUV422P9, AV_PIX_FMT_YUV420P9, AV_PIX_FMT_YUV444P10, AV_PIX_FMT_YUV422P10, AV_PIX_FMT_YUV420P10, AV_PIX_FMT_YUV440P10, diff --git a/libavfilter/vf_signature.c b/libavfilter/vf_signature.c index 4896e8f2c1..1a3d1b2bc1 100644 --- a/libavfilter/vf_signature.c +++ b/libavfilter/vf_signature.c @@ -73,9 +73,6 @@ static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUV444P, - AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUVJ420P, - AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ444P, - AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_NV12, AV_PIX_FMT_NV21, AV_PIX_FMT_NONE }; diff --git a/libavfilter/vf_siti.c b/libavfilter/vf_siti.c index 1b6ff32d6e..ad8d90d9ec 100644 --- a/libavfilter/vf_siti.c +++ b/libavfilter/vf_siti.c @@ -66,7 +66,6 @@ typedef struct SiTiContext { static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P, - AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUV420P10, AV_PIX_FMT_YUV422P10, AV_PIX_FMT_NONE }; @@ -140,15 +139,6 @@ static int config_input(AVFilterLink *inlink) return 0; } -// Determine whether the video is in full or limited range. If not defined, assume limited. -static int is_full_range(AVFrame* frame) -{ - // If color range not specified, fallback to pixel format - if (frame->color_range == AVCOL_RANGE_UNSPECIFIED || frame->color_range == AVCOL_RANGE_NB) - return frame->format == AV_PIX_FMT_YUVJ420P || frame->format == AV_PIX_FMT_YUVJ422P; - return frame->color_range == AVCOL_RANGE_JPEG; -} - // Check frame's color range and convert to full range if needed static uint16_t convert_full_range(int factor, uint16_t y) { @@ -284,7 +274,7 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *frame) float si; float ti; - s->full_range = is_full_range(frame); + s->full_range = frame->color_range == AVCOL_RANGE_JPEG; s->nb_frames++; // Calculate si and ti diff --git a/libavfilter/vf_spp.c b/libavfilter/vf_spp.c index eca429e03a..90539fc17f 100644 --- a/libavfilter/vf_spp.c +++ b/libavfilter/vf_spp.c @@ -315,8 +315,6 @@ static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV440P, - AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ422P, - AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUV444P10, AV_PIX_FMT_YUV422P10, AV_PIX_FMT_YUV420P10, AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUV422P9, diff --git a/libavfilter/vf_ssim.c b/libavfilter/vf_ssim.c index 53eb72fe6a..5168ac387b 100644 --- a/libavfilter/vf_ssim.c +++ b/libavfilter/vf_ssim.c @@ -431,8 +431,6 @@ static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_GRAY12, AV_PIX_FMT_GRAY14, AV_PIX_FMT_GRAY16, AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, - AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ422P, - AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_GBRP, #define PF(suf) AV_PIX_FMT_YUV420##suf, AV_PIX_FMT_YUV422##suf, AV_PIX_FMT_YUV444##suf, AV_PIX_FMT_GBR##suf PF(P9), PF(P10), PF(P12), PF(P14), PF(P16), diff --git a/libavfilter/vf_ssim360.c b/libavfilter/vf_ssim360.c index 3dec430bff..1dc08e12b6 100644 --- a/libavfilter/vf_ssim360.c +++ b/libavfilter/vf_ssim360.c @@ -1716,8 +1716,6 @@ static const enum AVPixelFormat ssim360_pixfmts[] = { AV_PIX_FMT_GRAY8, AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, - AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ422P, - AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_GBRP, PF(P9), PF(P10), PF(P12), PF(P14), PF(P16), AV_PIX_FMT_NONE diff --git a/libavfilter/vf_stereo3d.c b/libavfilter/vf_stereo3d.c index 71041d2fee..3ffecea448 100644 --- a/libavfilter/vf_stereo3d.c +++ b/libavfilter/vf_stereo3d.c @@ -247,11 +247,6 @@ static const enum AVPixelFormat other_pix_fmts[] = { AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUVA444P, - AV_PIX_FMT_YUVJ411P, - AV_PIX_FMT_YUVJ420P, - AV_PIX_FMT_YUVJ422P, - AV_PIX_FMT_YUVJ440P, - AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUV420P9LE, AV_PIX_FMT_YUVA420P9LE, AV_PIX_FMT_YUV420P9BE, AV_PIX_FMT_YUVA420P9BE, AV_PIX_FMT_YUV422P9LE, AV_PIX_FMT_YUVA422P9LE, diff --git a/libavfilter/vf_threshold.c b/libavfilter/vf_threshold.c index dc73c277d3..36e392fff5 100644 --- a/libavfilter/vf_threshold.c +++ b/libavfilter/vf_threshold.c @@ -46,10 +46,8 @@ AVFILTER_DEFINE_CLASS(threshold); static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_YUVA444P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV440P, - AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUVA420P, AV_PIX_FMT_YUV420P, - AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ420P, - AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, + AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV420P9, AV_PIX_FMT_YUV422P9, AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUV420P10, AV_PIX_FMT_YUV422P10, AV_PIX_FMT_YUV440P10, AV_PIX_FMT_YUV444P10, AV_PIX_FMT_YUV420P12, AV_PIX_FMT_YUV422P12, AV_PIX_FMT_YUV440P12, AV_PIX_FMT_YUV444P12, diff --git a/libavfilter/vf_thumbnail.c b/libavfilter/vf_thumbnail.c index 4d6b0aef04..6f2ba813a1 100644 --- a/libavfilter/vf_thumbnail.c +++ b/libavfilter/vf_thumbnail.c @@ -298,9 +298,6 @@ static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUV444P, - AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ422P, - AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVJ444P, - AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUVA420P, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUVA444P, AV_PIX_FMT_GBRP, AV_PIX_FMT_GBRAP, AV_PIX_FMT_NONE diff --git a/libavfilter/vf_tiltandshift.c b/libavfilter/vf_tiltandshift.c index dc30f4ff1b..e0b65f867c 100644 --- a/libavfilter/vf_tiltandshift.c +++ b/libavfilter/vf_tiltandshift.c @@ -100,8 +100,6 @@ static void list_remove_head(TiltandshiftContext *s) static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV410P, - AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ444P, - AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_NONE }; @@ -137,11 +135,7 @@ static int config_props(AVFilterLink *outlink) if (!desc) return AVERROR_BUG; - if (outlink->format == AV_PIX_FMT_YUVJ420P || - outlink->format == AV_PIX_FMT_YUVJ422P || - outlink->format == AV_PIX_FMT_YUVJ444P || - outlink->format == AV_PIX_FMT_YUVJ440P || - outlink->color_range == AVCOL_RANGE_JPEG) + if (outlink->color_range == AVCOL_RANGE_JPEG) black_data[0] = black_data[3] = 0; ret = av_image_alloc(s->black_buffers, s->black_linesizes, 1, diff --git a/libavfilter/vf_tinterlace.c b/libavfilter/vf_tinterlace.c index e221a6f941..96a4b6c567 100644 --- a/libavfilter/vf_tinterlace.c +++ b/libavfilter/vf_tinterlace.c @@ -75,13 +75,6 @@ static const AVOption interlace_options[] = { AVFILTER_DEFINE_CLASS(interlace); -#define FULL_SCALE_YUVJ_FORMATS \ - AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ440P - -static const enum AVPixelFormat full_scale_yuvj_pix_fmts[] = { - FULL_SCALE_YUVJ_FORMATS, AV_PIX_FMT_NONE -}; - static const AVRational standard_tbs[] = { {1, 25}, {1, 30}, @@ -98,7 +91,7 @@ static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_YUV440P12LE, AV_PIX_FMT_YUV444P12LE, AV_PIX_FMT_YUVA420P, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUVA444P, AV_PIX_FMT_YUVA420P10LE, AV_PIX_FMT_YUVA422P10LE, AV_PIX_FMT_YUVA444P10LE, - AV_PIX_FMT_GRAY8, FULL_SCALE_YUVJ_FORMATS, + AV_PIX_FMT_GRAY8, AV_PIX_FMT_NONE }; @@ -228,14 +221,12 @@ static int config_out_props(AVFilterLink *outlink) ff_draw_init(&tinterlace->draw, outlink->format, 0); ff_draw_color(&tinterlace->draw, &tinterlace->color, black); /* limited range */ - if (!ff_fmt_is_in(outlink->format, full_scale_yuvj_pix_fmts)) { - ret = av_image_alloc(tinterlace->black_data[0], tinterlace->black_linesize, - outlink->w, outlink->h, outlink->format, 16); - if (ret < 0) - return ret; - ff_fill_rectangle(&tinterlace->draw, &tinterlace->color, tinterlace->black_data[0], - tinterlace->black_linesize, 0, 0, outlink->w, outlink->h); - } + ret = av_image_alloc(tinterlace->black_data[0], tinterlace->black_linesize, + outlink->w, outlink->h, outlink->format, 16); + if (ret < 0) + return ret; + ff_fill_rectangle(&tinterlace->draw, &tinterlace->color, tinterlace->black_data[0], + tinterlace->black_linesize, 0, 0, outlink->w, outlink->h); /* full range */ tinterlace->color.comp[0].u8[0] = 0; ret = av_image_alloc(tinterlace->black_data[1], tinterlace->black_linesize, @@ -441,7 +432,7 @@ FF_ENABLE_DEPRECATION_WARNINGS out->sample_aspect_ratio = av_mul_q(cur->sample_aspect_ratio, av_make_q(2, 1)); field = (1 + outlink->frame_count_in) & 1 ? FIELD_UPPER : FIELD_LOWER; - full = out->color_range == AVCOL_RANGE_JPEG || ff_fmt_is_in(out->format, full_scale_yuvj_pix_fmts); + full = out->color_range == AVCOL_RANGE_JPEG; /* copy upper and lower fields */ copy_picture_field(tinterlace, out->data, out->linesize, (const uint8_t **)cur->data, cur->linesize, diff --git a/libavfilter/vf_tmidequalizer.c b/libavfilter/vf_tmidequalizer.c index 650aa36636..13ab5b5aac 100644 --- a/libavfilter/vf_tmidequalizer.c +++ b/libavfilter/vf_tmidequalizer.c @@ -68,10 +68,8 @@ AVFILTER_DEFINE_CLASS(tmidequalizer); static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_YUVA444P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV440P, - AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUVA420P, AV_PIX_FMT_YUV420P, - AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ420P, - AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, + AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, AV_PIX_FMT_GBRP, AV_PIX_FMT_GBRAP, AV_PIX_FMT_GRAY8, AV_PIX_FMT_GRAY9, AV_PIX_FMT_GRAY10, AV_PIX_FMT_GRAY12, AV_PIX_FMT_GRAY14, AV_PIX_FMT_YUV420P9, AV_PIX_FMT_YUV422P9, AV_PIX_FMT_YUV444P9, diff --git a/libavfilter/vf_unsharp.c b/libavfilter/vf_unsharp.c index 2705ac5270..8c75dce3b2 100644 --- a/libavfilter/vf_unsharp.c +++ b/libavfilter/vf_unsharp.c @@ -218,12 +218,12 @@ static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_YUVA422P9, AV_PIX_FMT_YUVA422P10, AV_PIX_FMT_YUVA422P12, AV_PIX_FMT_YUVA422P16, AV_PIX_FMT_YUVA420P9, AV_PIX_FMT_YUVA420P10, AV_PIX_FMT_YUVA420P16, AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV410P, - AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ422P, + AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUV420P9, AV_PIX_FMT_YUV422P9, AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUV420P10, AV_PIX_FMT_YUV422P10, AV_PIX_FMT_YUV444P10, AV_PIX_FMT_YUV440P10, AV_PIX_FMT_YUV420P12, AV_PIX_FMT_YUV422P12, AV_PIX_FMT_YUV444P12, AV_PIX_FMT_YUV440P12, AV_PIX_FMT_YUV420P16, AV_PIX_FMT_YUV422P16, AV_PIX_FMT_YUV444P16, - AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_NONE + AV_PIX_FMT_NONE }; static int init_filter_param(AVFilterContext *ctx, UnsharpFilterParam *fp, const char *effect_type, int width) diff --git a/libavfilter/vf_uspp.c b/libavfilter/vf_uspp.c index 10c8aaeb6c..444bad5add 100644 --- a/libavfilter/vf_uspp.c +++ b/libavfilter/vf_uspp.c @@ -339,8 +339,6 @@ static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV410P, - AV_PIX_FMT_YUVJ444P, - AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_GRAY8, AV_PIX_FMT_NONE }; diff --git a/libavfilter/vf_v360.c b/libavfilter/vf_v360.c index 2ac9b688dc..ede5bb04a0 100644 --- a/libavfilter/vf_v360.c +++ b/libavfilter/vf_v360.c @@ -190,11 +190,6 @@ static int query_formats(AVFilterContext *ctx) AV_PIX_FMT_YUVA420P, AV_PIX_FMT_YUVA420P9, AV_PIX_FMT_YUVA420P10, AV_PIX_FMT_YUVA420P16, - // YUVJ - AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ440P, - AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ420P, - AV_PIX_FMT_YUVJ411P, - // YUV444 AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUV444P10, AV_PIX_FMT_YUV444P12, diff --git a/libavfilter/vf_vaguedenoiser.c b/libavfilter/vf_vaguedenoiser.c index bfb6e9e262..3cf4afa945 100644 --- a/libavfilter/vf_vaguedenoiser.c +++ b/libavfilter/vf_vaguedenoiser.c @@ -109,9 +109,6 @@ static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUV444P, - AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ422P, - AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVJ444P, - AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUV420P9, AV_PIX_FMT_YUV422P9, AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUV420P10, AV_PIX_FMT_YUV422P10, AV_PIX_FMT_YUV444P10, AV_PIX_FMT_YUV440P10, diff --git a/libavfilter/vf_varblur.c b/libavfilter/vf_varblur.c index 6ebb9c0663..8912a9581a 100644 --- a/libavfilter/vf_varblur.c +++ b/libavfilter/vf_varblur.c @@ -73,10 +73,8 @@ FRAMESYNC_DEFINE_CLASS(varblur, VarBlurContext, fs); static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_YUVA444P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV440P, - AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUVA420P, AV_PIX_FMT_YUV420P, - AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ420P, - AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, + AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV420P9, AV_PIX_FMT_YUV422P9, AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUV420P10, AV_PIX_FMT_YUV422P10, AV_PIX_FMT_YUV444P10, AV_PIX_FMT_YUV420P12, AV_PIX_FMT_YUV422P12, AV_PIX_FMT_YUV444P12, AV_PIX_FMT_YUV440P12, diff --git a/libavfilter/vf_vectorscope.c b/libavfilter/vf_vectorscope.c index 6a45b11463..6e04226ac5 100644 --- a/libavfilter/vf_vectorscope.c +++ b/libavfilter/vf_vectorscope.c @@ -181,7 +181,7 @@ static const enum AVPixelFormat out_rgb12_pix_fmts[] = { }; static const enum AVPixelFormat in1_pix_fmts[] = { - AV_PIX_FMT_YUVA444P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUVJ444P, + AV_PIX_FMT_YUVA444P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUV444P10, AV_PIX_FMT_YUVA444P9, AV_PIX_FMT_YUVA444P10, AV_PIX_FMT_YUVA444P12, AV_PIX_FMT_YUV444P12, @@ -192,10 +192,10 @@ static const enum AVPixelFormat in1_pix_fmts[] = { }; static const enum AVPixelFormat in2_pix_fmts[] = { - AV_PIX_FMT_YUVA420P, AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUVJ420P, - AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUVJ422P, - AV_PIX_FMT_YUVA444P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUVJ444P, - AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUVJ411P, + AV_PIX_FMT_YUVA420P, AV_PIX_FMT_YUV420P, + AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUV422P, + AV_PIX_FMT_YUVA444P, AV_PIX_FMT_YUV444P, + AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUV410P, AV_PIX_FMT_GBRAP, AV_PIX_FMT_GBRP, AV_PIX_FMT_GBRP9, AV_PIX_FMT_GBRP10, AV_PIX_FMT_GBRAP10, diff --git a/libavfilter/vf_vif.c b/libavfilter/vf_vif.c index a927abaf6f..3af32d5b9f 100644 --- a/libavfilter/vf_vif.c +++ b/libavfilter/vf_vif.c @@ -470,8 +470,6 @@ static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_GRAY12, AV_PIX_FMT_GRAY14, AV_PIX_FMT_GRAY16, AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, - AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ422P, - AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVJ444P, #define PF(suf) AV_PIX_FMT_YUV420##suf, AV_PIX_FMT_YUV422##suf, AV_PIX_FMT_YUV444##suf PF(P9), PF(P10), PF(P12), PF(P14), PF(P16), AV_PIX_FMT_NONE diff --git a/libavfilter/vf_w3fdif.c b/libavfilter/vf_w3fdif.c index f2264efe2b..44a7d8047a 100644 --- a/libavfilter/vf_w3fdif.c +++ b/libavfilter/vf_w3fdif.c @@ -76,9 +76,6 @@ static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUV444P, - AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ440P, - AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ420P, - AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUVA420P, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUVA444P, AV_PIX_FMT_GBRP, AV_PIX_FMT_GBRAP, AV_PIX_FMT_GRAY8, diff --git a/libavfilter/vf_waveform.c b/libavfilter/vf_waveform.c index a6a8ec78e7..7a765e7e14 100644 --- a/libavfilter/vf_waveform.c +++ b/libavfilter/vf_waveform.c @@ -211,8 +211,6 @@ static const enum AVPixelFormat in_lowpass_pix_fmts[] = { AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, - AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUVJ420P, - AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVA444P, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUVA420P, AV_PIX_FMT_GRAY8, AV_PIX_FMT_GRAY9, AV_PIX_FMT_GRAY10, AV_PIX_FMT_GRAY12, AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUV422P9, AV_PIX_FMT_YUV420P9, @@ -230,8 +228,6 @@ static const enum AVPixelFormat in_color_pix_fmts[] = { AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUV411P, - AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUVJ420P, - AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVA444P, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUVA420P, AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUV422P9, AV_PIX_FMT_YUV420P9, AV_PIX_FMT_YUVA444P9, AV_PIX_FMT_YUVA422P9, AV_PIX_FMT_YUVA420P9, @@ -246,8 +242,6 @@ static const enum AVPixelFormat in_flat_pix_fmts[] = { AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUV411P, - AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUVJ420P, - AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVA444P, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUVA420P, AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUV422P9, AV_PIX_FMT_YUV420P9, AV_PIX_FMT_YUVA444P9, AV_PIX_FMT_YUVA422P9, AV_PIX_FMT_YUVA420P9, @@ -279,7 +273,7 @@ static const enum AVPixelFormat out_rgb12_lowpass_pix_fmts[] = { }; static const enum AVPixelFormat out_yuv8_lowpass_pix_fmts[] = { - AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVA444P, + AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUVA444P, AV_PIX_FMT_NONE }; diff --git a/libavfilter/vf_xfade.c b/libavfilter/vf_xfade.c index 890995a608..bc320aeef6 100644 --- a/libavfilter/vf_xfade.c +++ b/libavfilter/vf_xfade.c @@ -141,7 +141,6 @@ typedef struct ThreadData { static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_YUVA444P, - AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_GBRP, AV_PIX_FMT_GBRAP, AV_PIX_FMT_GRAY8, AV_PIX_FMT_YUVA444P9, AV_PIX_FMT_GBRP9, diff --git a/libavfilter/vf_xmedian.c b/libavfilter/vf_xmedian.c index ebcbea97ed..56017a57d0 100644 --- a/libavfilter/vf_xmedian.c +++ b/libavfilter/vf_xmedian.c @@ -69,9 +69,6 @@ static const enum AVPixelFormat pixel_fmts[] = { AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUV444P, - AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ422P, - AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVJ444P, - AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUV420P9, AV_PIX_FMT_YUV422P9, AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUV420P10, AV_PIX_FMT_YUV422P10, AV_PIX_FMT_YUV444P10, AV_PIX_FMT_YUV440P10, diff --git a/libavfilter/vf_yadif.c b/libavfilter/vf_yadif.c index 863a1d6ffb..629d9e2a64 100644 --- a/libavfilter/vf_yadif.c +++ b/libavfilter/vf_yadif.c @@ -265,8 +265,6 @@ static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV440P, AV_PIX_FMT_GRAY8, AV_PIX_FMT_GRAY16, - AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ444P, - AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUV420P9, AV_PIX_FMT_YUV422P9, AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUV420P10, AV_PIX_FMT_YUV422P10, AV_PIX_FMT_YUV444P10, AV_PIX_FMT_YUV420P12, AV_PIX_FMT_YUV422P12, AV_PIX_FMT_YUV444P12, diff --git a/libavfilter/vf_yaepblur.c b/libavfilter/vf_yaepblur.c index b39738b577..fd67fa3cbf 100644 --- a/libavfilter/vf_yaepblur.c +++ b/libavfilter/vf_yaepblur.c @@ -62,10 +62,8 @@ static av_cold void uninit(AVFilterContext *ctx) static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_YUVA444P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV440P, - AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUVA420P, AV_PIX_FMT_YUV420P, - AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ420P, - AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, + AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV420P9, AV_PIX_FMT_YUV422P9, AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUV420P10, AV_PIX_FMT_YUV422P10, AV_PIX_FMT_YUV444P10, AV_PIX_FMT_YUV420P12, AV_PIX_FMT_YUV422P12, AV_PIX_FMT_YUV444P12, AV_PIX_FMT_YUV440P12, diff --git a/libavfilter/vf_zoompan.c b/libavfilter/vf_zoompan.c index e729bda56d..873b73788b 100644 --- a/libavfilter/vf_zoompan.c +++ b/libavfilter/vf_zoompan.c @@ -330,9 +330,6 @@ static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUVA444P, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUVA420P, - AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ440P, - AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ420P, - AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_GBRP, AV_PIX_FMT_GBRAP, AV_PIX_FMT_GRAY8, AV_PIX_FMT_NONE diff --git a/libavfilter/vf_zscale.c b/libavfilter/vf_zscale.c index 3b14ce4f33..4932b32901 100644 --- a/libavfilter/vf_zscale.c +++ b/libavfilter/vf_zscale.c @@ -197,9 +197,6 @@ static int query_formats(AVFilterContext *ctx) AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUV444P, - AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ422P, - AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVJ444P, - AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUV420P9, AV_PIX_FMT_YUV422P9, AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUV420P10, AV_PIX_FMT_YUV422P10, AV_PIX_FMT_YUV444P10, AV_PIX_FMT_YUV420P12, AV_PIX_FMT_YUV422P12, AV_PIX_FMT_YUV444P12, diff --git a/libavfilter/vsrc_testsrc.c b/libavfilter/vsrc_testsrc.c index da17e950d8..d3ba9f7514 100644 --- a/libavfilter/vsrc_testsrc.c +++ b/libavfilter/vsrc_testsrc.c @@ -1266,7 +1266,7 @@ static av_cold int yuvtest_init(AVFilterContext *ctx) } static const enum AVPixelFormat yuvtest_pix_fmts[] = { - AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUVJ444P, + AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUV444P10, AV_PIX_FMT_YUV444P12, AV_PIX_FMT_YUV444P14, AV_PIX_FMT_YUV444P16, diff --git a/libavformat/yuv4mpegenc.c b/libavformat/yuv4mpegenc.c index 1d641eb9e4..34acb0820a 100644 --- a/libavformat/yuv4mpegenc.c +++ b/libavformat/yuv4mpegenc.c @@ -90,18 +90,6 @@ static int yuv4_write_header(AVFormatContext *s) case AV_PIX_FMT_YUV411P: colorspace = " C411 XYSCSS=411"; break; - case AV_PIX_FMT_YUVJ420P: - colorspace = " C420jpeg XYSCSS=420JPEG"; - colorrange = " XCOLORRANGE=FULL"; - break; - case AV_PIX_FMT_YUVJ422P: - colorspace = " C422 XYSCSS=422"; - colorrange = " XCOLORRANGE=FULL"; - break; - case AV_PIX_FMT_YUVJ444P: - colorspace = " C444 XYSCSS=444"; - colorrange = " XCOLORRANGE=FULL"; - break; case AV_PIX_FMT_YUV420P: switch (st->codecpar->chroma_location) { case AVCHROMA_LOC_TOPLEFT: colorspace = " C420paldv XYSCSS=420PALDV"; break; @@ -239,10 +227,6 @@ static int yuv4_init(AVFormatContext *s) case AV_PIX_FMT_YUV420P: case AV_PIX_FMT_YUV422P: case AV_PIX_FMT_YUV444P: - // TODO: remove YUVJ pixel formats when they are completely removed from the codebase. - case AV_PIX_FMT_YUVJ420P: - case AV_PIX_FMT_YUVJ422P: - case AV_PIX_FMT_YUVJ444P: break; case AV_PIX_FMT_GRAY9: case AV_PIX_FMT_GRAY10: diff --git a/libavutil/pixdesc.c b/libavutil/pixdesc.c index 0db4167934..cf15d3d953 100644 --- a/libavutil/pixdesc.c +++ b/libavutil/pixdesc.c @@ -372,18 +372,6 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = { }, .flags = AV_PIX_FMT_FLAG_PLANAR, }, - [AV_PIX_FMT_YUVJ411P] = { - .name = "yuvj411p", - .nb_components = 3, - .log2_chroma_w = 2, - .log2_chroma_h = 0, - .comp = { - { 0, 1, 0, 0, 8 }, /* Y */ - { 1, 1, 0, 0, 8 }, /* U */ - { 2, 1, 0, 0, 8 }, /* V */ - }, - .flags = AV_PIX_FMT_FLAG_PLANAR, - }, [AV_PIX_FMT_GRAY8] = { .name = "gray", .nb_components = 1, @@ -424,42 +412,6 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = { }, .flags = AV_PIX_FMT_FLAG_PAL | AV_PIX_FMT_FLAG_ALPHA, }, - [AV_PIX_FMT_YUVJ420P] = { - .name = "yuvj420p", - .nb_components = 3, - .log2_chroma_w = 1, - .log2_chroma_h = 1, - .comp = { - { 0, 1, 0, 0, 8 }, /* Y */ - { 1, 1, 0, 0, 8 }, /* U */ - { 2, 1, 0, 0, 8 }, /* V */ - }, - .flags = AV_PIX_FMT_FLAG_PLANAR, - }, - [AV_PIX_FMT_YUVJ422P] = { - .name = "yuvj422p", - .nb_components = 3, - .log2_chroma_w = 1, - .log2_chroma_h = 0, - .comp = { - { 0, 1, 0, 0, 8 }, /* Y */ - { 1, 1, 0, 0, 8 }, /* U */ - { 2, 1, 0, 0, 8 }, /* V */ - }, - .flags = AV_PIX_FMT_FLAG_PLANAR, - }, - [AV_PIX_FMT_YUVJ444P] = { - .name = "yuvj444p", - .nb_components = 3, - .log2_chroma_w = 0, - .log2_chroma_h = 0, - .comp = { - { 0, 1, 0, 0, 8 }, /* Y */ - { 1, 1, 0, 0, 8 }, /* U */ - { 2, 1, 0, 0, 8 }, /* V */ - }, - .flags = AV_PIX_FMT_FLAG_PLANAR, - }, #if FF_API_XVMC [AV_PIX_FMT_XVMC] = { .name = "xvmc", @@ -801,18 +753,6 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = { }, .flags = AV_PIX_FMT_FLAG_PLANAR, }, - [AV_PIX_FMT_YUVJ440P] = { - .name = "yuvj440p", - .nb_components = 3, - .log2_chroma_w = 0, - .log2_chroma_h = 1, - .comp = { - { 0, 1, 0, 0, 8 }, /* Y */ - { 1, 1, 0, 0, 8 }, /* U */ - { 2, 1, 0, 0, 8 }, /* V */ - }, - .flags = AV_PIX_FMT_FLAG_PLANAR, - }, [AV_PIX_FMT_YUV440P10LE] = { .name = "yuv440p10le", .nb_components = 3, diff --git a/libavutil/pixfmt.h b/libavutil/pixfmt.h index 58f9ad28bd..7e9520e2e1 100644 --- a/libavutil/pixfmt.h +++ b/libavutil/pixfmt.h @@ -75,9 +75,6 @@ enum AVPixelFormat { AV_PIX_FMT_MONOWHITE, ///< Y , 1bpp, 0 is white, 1 is black, in each byte pixels are ordered from the msb to the lsb AV_PIX_FMT_MONOBLACK, ///< Y , 1bpp, 0 is black, 1 is white, in each byte pixels are ordered from the msb to the lsb AV_PIX_FMT_PAL8, ///< 8 bits with AV_PIX_FMT_RGB32 palette - AV_PIX_FMT_YUVJ420P, ///< planar YUV 4:2:0, 12bpp, full scale (JPEG), deprecated in favor of AV_PIX_FMT_YUV420P and setting color_range - AV_PIX_FMT_YUVJ422P, ///< planar YUV 4:2:2, 16bpp, full scale (JPEG), deprecated in favor of AV_PIX_FMT_YUV422P and setting color_range - AV_PIX_FMT_YUVJ444P, ///< planar YUV 4:4:4, 24bpp, full scale (JPEG), deprecated in favor of AV_PIX_FMT_YUV444P and setting color_range AV_PIX_FMT_UYVY422, ///< packed YUV 4:2:2, 16bpp, Cb Y0 Cr Y1 AV_PIX_FMT_UYYVYY411, ///< packed YUV 4:1:1, 12bpp, Cb Y0 Y1 Cr Y2 Y3 AV_PIX_FMT_BGR8, ///< packed RGB 3:3:2, 8bpp, (msb)2B 3G 3R(lsb) @@ -97,7 +94,6 @@ enum AVPixelFormat { AV_PIX_FMT_GRAY16BE, ///< Y , 16bpp, big-endian AV_PIX_FMT_GRAY16LE, ///< Y , 16bpp, little-endian AV_PIX_FMT_YUV440P, ///< planar YUV 4:4:0 (1 Cr & Cb sample per 1x2 Y samples) - AV_PIX_FMT_YUVJ440P, ///< planar YUV 4:4:0 full scale (JPEG), deprecated in favor of AV_PIX_FMT_YUV440P and setting color_range AV_PIX_FMT_YUVA420P, ///< planar YUV 4:2:0, 20bpp, (1 Cr & Cb sample per 2x2 Y & A samples) AV_PIX_FMT_RGB48BE, ///< packed RGB 16:16:16, 48bpp, 16R, 16G, 16B, the 2-byte value for each R/G/B component is stored as big-endian AV_PIX_FMT_RGB48LE, ///< packed RGB 16:16:16, 48bpp, 16R, 16G, 16B, the 2-byte value for each R/G/B component is stored as little-endian @@ -273,7 +269,6 @@ enum AVPixelFormat { AV_PIX_FMT_GBRP12LE, ///< planar GBR 4:4:4 36bpp, little-endian AV_PIX_FMT_GBRP14BE, ///< planar GBR 4:4:4 42bpp, big-endian AV_PIX_FMT_GBRP14LE, ///< planar GBR 4:4:4 42bpp, little-endian - AV_PIX_FMT_YUVJ411P, ///< planar YUV 4:1:1, 12bpp, (1 Cr & Cb sample per 4x1 Y samples) full scale (JPEG), deprecated in favor of AV_PIX_FMT_YUV411P and setting color_range AV_PIX_FMT_BAYER_BGGR8, ///< bayer, BGBG..(odd line), GRGR..(even line), 8-bit samples AV_PIX_FMT_BAYER_RGGB8, ///< bayer, RGRG..(odd line), GBGB..(even line), 8-bit samples diff --git a/libavutil/version.h b/libavutil/version.h index 772c4e209c..3b38f8f5da 100644 --- a/libavutil/version.h +++ b/libavutil/version.h @@ -79,8 +79,8 @@ */ #define LIBAVUTIL_VERSION_MAJOR 58 -#define LIBAVUTIL_VERSION_MINOR 36 -#define LIBAVUTIL_VERSION_MICRO 101 +#define LIBAVUTIL_VERSION_MINOR 37 +#define LIBAVUTIL_VERSION_MICRO 100 #define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \ LIBAVUTIL_VERSION_MINOR, \ diff --git a/libswscale/utils.c b/libswscale/utils.c index ec822ff5d9..debf26e92e 100644 --- a/libswscale/utils.c +++ b/libswscale/utils.c @@ -78,10 +78,6 @@ static const FormatEntry format_entries[] = { [AV_PIX_FMT_MONOWHITE] = { 1, 1 }, [AV_PIX_FMT_MONOBLACK] = { 1, 1 }, [AV_PIX_FMT_PAL8] = { 1, 0 }, - [AV_PIX_FMT_YUVJ420P] = { 1, 1 }, - [AV_PIX_FMT_YUVJ411P] = { 1, 1 }, - [AV_PIX_FMT_YUVJ422P] = { 1, 1 }, - [AV_PIX_FMT_YUVJ444P] = { 1, 1 }, [AV_PIX_FMT_YVYU422] = { 1, 1 }, [AV_PIX_FMT_UYVY422] = { 1, 1 }, [AV_PIX_FMT_UYYVYY411] = { 0, 0 }, @@ -112,7 +108,6 @@ static const FormatEntry format_entries[] = { [AV_PIX_FMT_GRAY16BE] = { 1, 1 }, [AV_PIX_FMT_GRAY16LE] = { 1, 1 }, [AV_PIX_FMT_YUV440P] = { 1, 1 }, - [AV_PIX_FMT_YUVJ440P] = { 1, 1 }, [AV_PIX_FMT_YUV440P10LE] = { 1, 1 }, [AV_PIX_FMT_YUV440P10BE] = { 1, 1 }, [AV_PIX_FMT_YUV440P12LE] = { 1, 1 }, @@ -925,24 +920,9 @@ static void fill_xyztables(struct SwsContext *c) } } -static int handle_jpeg(enum AVPixelFormat *format) +static int is_luma_only(enum AVPixelFormat *format) { switch (*format) { - case AV_PIX_FMT_YUVJ420P: - *format = AV_PIX_FMT_YUV420P; - return 1; - case AV_PIX_FMT_YUVJ411P: - *format = AV_PIX_FMT_YUV411P; - return 1; - case AV_PIX_FMT_YUVJ422P: - *format = AV_PIX_FMT_YUV422P; - return 1; - case AV_PIX_FMT_YUVJ444P: - *format = AV_PIX_FMT_YUV444P; - return 1; - case AV_PIX_FMT_YUVJ440P: - *format = AV_PIX_FMT_YUV440P; - return 1; case AV_PIX_FMT_GRAY8: case AV_PIX_FMT_YA8: case AV_PIX_FMT_GRAY9LE: @@ -2032,7 +2012,6 @@ av_cold int sws_init_context(SwsContext *c, SwsFilter *srcFilter, SwsFilter *dstFilter) { static AVOnce rgb2rgb_once = AV_ONCE_INIT; - enum AVPixelFormat src_format, dst_format; int ret; c->frame_src = av_frame_alloc(); @@ -2043,13 +2022,8 @@ av_cold int sws_init_context(SwsContext *c, SwsFilter *srcFilter, if (ff_thread_once(&rgb2rgb_once, ff_sws_rgb2rgb_init) != 0) return AVERROR_UNKNOWN; - src_format = c->srcFormat; - dst_format = c->dstFormat; - c->srcRange |= handle_jpeg(&c->srcFormat); - c->dstRange |= handle_jpeg(&c->dstFormat); - - if (src_format != c->srcFormat || dst_format != c->dstFormat) - av_log(c, AV_LOG_WARNING, "deprecated pixel format used, make sure you did set range correctly\n"); + c->srcRange |= is_luma_only(&c->srcFormat); + c->dstRange |= is_luma_only(&c->dstFormat); if (c->nb_threads != 1) { ret = context_init_threaded(c, srcFilter, dstFilter); diff --git a/tests/fate/lavf-image.mak b/tests/fate/lavf-image.mak index 4177e091b3..d6113f9071 100644 --- a/tests/fate/lavf-image.mak +++ b/tests/fate/lavf-image.mak @@ -72,7 +72,7 @@ fate-lavf-none.gbrapf32le.exr: CMD = lavf_image "-compression none -pix_fmt gb fate-lavf-rle.gbrapf32le.exr: CMD = lavf_image "-compression rle -pix_fmt gbrapf32le" "" "no_file_checksums" fate-lavf-zip1.gbrapf32le.exr: CMD = lavf_image "-compression zip1 -pix_fmt gbrapf32le" "" "no_file_checksums" fate-lavf-zip16.gbrapf32le.exr: CMD = lavf_image "-compression zip16 -pix_fmt gbrapf32le" "" "no_file_checksums" -fate-lavf-jpg: CMD = lavf_image "-pix_fmt yuvj420p" +fate-lavf-jpg: CMD = lavf_image "-pix_fmt yuv420p" fate-lavf-tiff: CMD = lavf_image "-pix_fmt rgb24" fate-lavf-gbrp10le.dpx: CMD = lavf_image "-pix_fmt gbrp10le" "-pix_fmt gbrp10le" fate-lavf-gbrp12le.dpx: CMD = lavf_image "-pix_fmt gbrp12le" "-pix_fmt gbrp12le" diff --git a/tests/fate/pixfmt.mak b/tests/fate/pixfmt.mak index 715a4763d4..a637f27059 100644 --- a/tests/fate/pixfmt.mak +++ b/tests/fate/pixfmt.mak @@ -13,10 +13,6 @@ FATE_PIXFMT-$(CONFIG_SCALE_FILTER) = bgr24 \ yuv422p \ yuv440p \ yuv444p \ - yuvj420p \ - yuvj422p \ - yuvj440p \ - yuvj444p \ yuyv422 \ FATE_PIXFMT := $(FATE_PIXFMT-yes:%=fate-pixfmt-%) diff --git a/tests/fate/vcodec.mak b/tests/fate/vcodec.mak index 86ef05855f..323d0069bf 100644 --- a/tests/fate/vcodec.mak +++ b/tests/fate/vcodec.mak @@ -229,12 +229,12 @@ FATE_VCODEC-$(call ENCDEC, LJPEG MJPEG, AVI) += ljpeg fate-vsynth%-ljpeg: ENCOPTS = -strict -1 FATE_VCODEC_SCALE-$(call ENCDEC, MJPEG, AVI) += mjpeg mjpeg-422 mjpeg-444 mjpeg-trell mjpeg-huffman mjpeg-trell-huffman -fate-vsynth%-mjpeg: ENCOPTS = -qscale 9 -pix_fmt yuvj420p -fate-vsynth%-mjpeg-422: ENCOPTS = -qscale 9 -pix_fmt yuvj422p -fate-vsynth%-mjpeg-444: ENCOPTS = -qscale 9 -pix_fmt yuvj444p -fate-vsynth%-mjpeg-trell: ENCOPTS = -qscale 9 -pix_fmt yuvj420p -trellis 1 -fate-vsynth%-mjpeg-huffman: ENCOPTS = -qscale 9 -pix_fmt yuvj420p -huffman optimal -fate-vsynth%-mjpeg-trell-huffman: ENCOPTS = -qscale 9 -pix_fmt yuvj420p -trellis 1 -huffman optimal +fate-vsynth%-mjpeg: ENCOPTS = -qscale 9 -pix_fmt yuv420p +fate-vsynth%-mjpeg-422: ENCOPTS = -qscale 9 -pix_fmt yuv422p +fate-vsynth%-mjpeg-444: ENCOPTS = -qscale 9 -pix_fmt yuv444p +fate-vsynth%-mjpeg-trell: ENCOPTS = -qscale 9 -pix_fmt yuv420p -trellis 1 +fate-vsynth%-mjpeg-huffman: ENCOPTS = -qscale 9 -pix_fmt yuv420p -huffman optimal +fate-vsynth%-mjpeg-trell-huffman: ENCOPTS = -qscale 9 -pix_fmt yuv420p -trellis 1 -huffman optimal FATE_VCODEC-$(call ENCDEC, MPEG1VIDEO, MPEG1VIDEO MPEGVIDEO) += mpeg1 mpeg1b fate-vsynth%-mpeg1: FMT = mpeg1video diff --git a/tests/ref/fate/exif-image-embedded b/tests/ref/fate/exif-image-embedded index d5937e9f86..3311d90132 100644 --- a/tests/ref/fate/exif-image-embedded +++ b/tests/ref/fate/exif-image-embedded @@ -20,7 +20,7 @@ crop_top=0 crop_bottom=0 crop_left=0 crop_right=0 -pix_fmt=yuvj420p +pix_fmt=yuv420p sample_aspect_ratio=1:1 pict_type=I coded_picture_number=0 diff --git a/tests/ref/fate/exif-image-jpg b/tests/ref/fate/exif-image-jpg index bed265b717..8d1bbe42e7 100644 --- a/tests/ref/fate/exif-image-jpg +++ b/tests/ref/fate/exif-image-jpg @@ -20,7 +20,7 @@ crop_top=0 crop_bottom=0 crop_left=0 crop_right=0 -pix_fmt=yuvj422p +pix_fmt=yuv422p sample_aspect_ratio=1:1 pict_type=I coded_picture_number=0 diff --git a/tests/ref/fate/filter-pixdesc-yuvj411p b/tests/ref/fate/filter-pixdesc-yuvj411p deleted file mode 100644 index 5dfc0dc4cd..0000000000 --- a/tests/ref/fate/filter-pixdesc-yuvj411p +++ /dev/null @@ -1 +0,0 @@ -pixdesc-yuvj411p cac93399031ad86e8de0796b60b5bb8a diff --git a/tests/ref/fate/filter-pixdesc-yuvj420p b/tests/ref/fate/filter-pixdesc-yuvj420p deleted file mode 100644 index ad2f968a1f..0000000000 --- a/tests/ref/fate/filter-pixdesc-yuvj420p +++ /dev/null @@ -1 +0,0 @@ -pixdesc-yuvj420p 5244374882cf07c3cbcde71940caf8e5 diff --git a/tests/ref/fate/filter-pixdesc-yuvj422p b/tests/ref/fate/filter-pixdesc-yuvj422p deleted file mode 100644 index 5f80d585d6..0000000000 --- a/tests/ref/fate/filter-pixdesc-yuvj422p +++ /dev/null @@ -1 +0,0 @@ -pixdesc-yuvj422p 6c9722aa9e0c1b8f9d953efeb93dc318 diff --git a/tests/ref/fate/filter-pixdesc-yuvj440p b/tests/ref/fate/filter-pixdesc-yuvj440p deleted file mode 100644 index c98669285b..0000000000 --- a/tests/ref/fate/filter-pixdesc-yuvj440p +++ /dev/null @@ -1 +0,0 @@ -pixdesc-yuvj440p 34e6e86ca3ec4e6ef62d533aa2290e8f diff --git a/tests/ref/fate/filter-pixdesc-yuvj444p b/tests/ref/fate/filter-pixdesc-yuvj444p deleted file mode 100644 index 3e182fa6e2..0000000000 --- a/tests/ref/fate/filter-pixdesc-yuvj444p +++ /dev/null @@ -1 +0,0 @@ -pixdesc-yuvj444p f67694103bb42d74742918adf9ea31c5 diff --git a/tests/ref/fate/filter-pixfmts-copy b/tests/ref/fate/filter-pixfmts-copy index eb3e61b4f2..e4864dfc7a 100644 --- a/tests/ref/fate/filter-pixfmts-copy +++ b/tests/ref/fate/filter-pixfmts-copy @@ -175,10 +175,5 @@ yuva444p16be c80c1899789a6411d0025730efc8f01c yuva444p16le 2ed56ea50fafda4d226c9b133755dad8 yuva444p9be 4903fde22b15d28da90761ac1cfcb1c5 yuva444p9le 4eeb5988df0740fea720da1e31bbb829 -yuvj411p e003eefa7e2a20f20d33767775417216 -yuvj420p 8f3d8f1b4577d11082d5ab8a901e048d -yuvj422p 79d480e99e610112f266c833c6cb3d35 -yuvj440p f4b18310c7174868fc92579f87460876 -yuvj444p b161e6d5a941e2a4bb7bc56ef8af623f yuyv422 435c92283b538aa3d8fa2a020b0afd49 yvyu422 8436c2a760291cc979e0dd62ab8cede0 diff --git a/tests/ref/fate/filter-pixfmts-crop b/tests/ref/fate/filter-pixfmts-crop index 01cb88bc54..9a2f8aa920 100644 --- a/tests/ref/fate/filter-pixfmts-crop +++ b/tests/ref/fate/filter-pixfmts-crop @@ -170,8 +170,3 @@ yuva444p16be f817caf234aaf5848b2bc9679582ed56 yuva444p16le b32ad623fc423f897ff31c4073ea2a6f yuva444p9be 48498d994c3c9070f31773e39da306dd yuva444p9le 431b0ac211a8f81c15f38fb57a73530c -yuvj411p 241d393eeaa1517f6b4b23034222994b -yuvj420p 35583968261c636b9c57ff03fd60eb54 -yuvj422p c29a94439e96cd5dab7f65eb6dfc2f5c -yuvj440p 8899d4ce717e32937d58a76df473ba7a -yuvj444p 6c0d0ad629baaa96fe4dcb00f0f5d9de diff --git a/tests/ref/fate/filter-pixfmts-field b/tests/ref/fate/filter-pixfmts-field index c7d9b8f133..3cb9480b0f 100644 --- a/tests/ref/fate/filter-pixfmts-field +++ b/tests/ref/fate/filter-pixfmts-field @@ -175,10 +175,5 @@ yuva444p16be b10fd7c1b61ac22bdb285f0d91a390f1 yuva444p16le cac82ffc36b7052747407663fc5ed510 yuva444p9be a6f66d08b3370fdd90987a6143b7b91c yuva444p9le 8d0f0b0840096127613920984078ce53 -yuvj411p 0c7caab687fbd33cba04702366b6c401 -yuvj420p c9bef7e5c1dba1024be992167806ef07 -yuvj422p ac900a0f9854dc2a0ec2e016ff5487dc -yuvj440p 6f0d66982a3b96efb341a512314317ca -yuvj444p d559f8cf2e68b0cd3abadbb2f3642dd7 yuyv422 449ca8d4b5a28ccaaa342860b24aeb3c yvyu422 6b226a0d4fce5478294d3bd4ecfb46a5 diff --git a/tests/ref/fate/filter-pixfmts-fieldorder b/tests/ref/fate/filter-pixfmts-fieldorder index 2f64bd3b14..b9a9ef6dfe 100644 --- a/tests/ref/fate/filter-pixfmts-fieldorder +++ b/tests/ref/fate/filter-pixfmts-fieldorder @@ -140,8 +140,5 @@ yuva444p16be 2f80d411847856e1364659dee8b23485 yuva444p16le 5796be8d66371b60037fc8053c27e900 yuva444p9be a83599c0e9fca08f6b7c6e02c2413fcf yuva444p9le 390fcd8f72ee407a8c338667944e3f72 -yuvj411p 73fa99cb96d2f7171bff15bc2e43d963 -yuvj422p d5e67ce1db5347cf3416069286359f57 -yuvj444p e915da6b5aa0ee5298771ba0ca187cad yuyv422 a923c5bd4889bec92d872237f6a578ec yvyu422 d7a8697f1f5e6a2a27b0df17811b2613 diff --git a/tests/ref/fate/filter-pixfmts-hflip b/tests/ref/fate/filter-pixfmts-hflip index 66274890a7..77c127ea54 100644 --- a/tests/ref/fate/filter-pixfmts-hflip +++ b/tests/ref/fate/filter-pixfmts-hflip @@ -170,8 +170,3 @@ yuva444p16be 635fb2720470e0042a7c9b70bf908a2c yuva444p16le 6d5bd13f8bb804bd1158c1af732a24e1 yuva444p9be 3d3e7491192aa4e396015bf8e3755a24 yuva444p9le 31727b34bc3d5ce726681e90557d39e4 -yuvj411p 70a0abb56a538376aff33c275584b61e -yuvj420p 83af439c504d41f986adc17059b7fda8 -yuvj422p daf02a72b26d17d1855b977aa04609fb -yuvj440p a4af7a9e3cff6cfc1c8924590ae69807 -yuvj444p f5937e0183439411673d2ebf8df62e2b diff --git a/tests/ref/fate/filter-pixfmts-il b/tests/ref/fate/filter-pixfmts-il index 03519f2a9d..415ccc7307 100644 --- a/tests/ref/fate/filter-pixfmts-il +++ b/tests/ref/fate/filter-pixfmts-il @@ -174,10 +174,5 @@ yuva444p16be 97f8cb6ed835c7c5cd2fb112b1e135c7 yuva444p16le 47170401a8c348d3f05f6530607d066b yuva444p9be d5c0170b41221a9607e6ae586880a383 yuva444p9le 4948983313f46180666dec85ef30130c -yuvj411p 91e137f54b2cbbb1c1423c36f031d5f2 -yuvj420p 2b6d8e3b527af5de94963d1bdefe20a9 -yuvj422p 4ce16aa04a5e785b29fd9cdf54bc9ca1 -yuvj440p 36a248ec6f1dc67555ee590651388b15 -yuvj444p 279790fe3c83b07f0a09085d36849c30 yuyv422 09af5b85deecfeaef2e00e00fbc12a49 yvyu422 62c62a80939c34fb7890c0e7791a0321 diff --git a/tests/ref/fate/filter-pixfmts-lut b/tests/ref/fate/filter-pixfmts-lut index 41c66e2bfc..fd4d1bc4b3 100644 --- a/tests/ref/fate/filter-pixfmts-lut +++ b/tests/ref/fate/filter-pixfmts-lut @@ -51,7 +51,3 @@ yuva422p 5938a7c7588febb069bd0cd4c447305e yuva422p16le c5ccfdc1a0dc6cb130c07ea61df6f727 yuva444p fbcbdc3521d17c702ee521b0893098e4 yuva444p16le b7142d28d4d069d7eb019dcaf8b323b1 -yuvj420p 65bc88887c7f06a6221155ca7f9cfca4 -yuvj422p ff5baffefc8ffe4547653092fd7da200 -yuvj440p ef3f27270e60ac06582e3ac7c2f3e6fa -yuvj444p 29378d3fd132c760522c51c3378067b8 diff --git a/tests/ref/fate/filter-pixfmts-null b/tests/ref/fate/filter-pixfmts-null index eb3e61b4f2..e4864dfc7a 100644 --- a/tests/ref/fate/filter-pixfmts-null +++ b/tests/ref/fate/filter-pixfmts-null @@ -175,10 +175,5 @@ yuva444p16be c80c1899789a6411d0025730efc8f01c yuva444p16le 2ed56ea50fafda4d226c9b133755dad8 yuva444p9be 4903fde22b15d28da90761ac1cfcb1c5 yuva444p9le 4eeb5988df0740fea720da1e31bbb829 -yuvj411p e003eefa7e2a20f20d33767775417216 -yuvj420p 8f3d8f1b4577d11082d5ab8a901e048d -yuvj422p 79d480e99e610112f266c833c6cb3d35 -yuvj440p f4b18310c7174868fc92579f87460876 -yuvj444p b161e6d5a941e2a4bb7bc56ef8af623f yuyv422 435c92283b538aa3d8fa2a020b0afd49 yvyu422 8436c2a760291cc979e0dd62ab8cede0 diff --git a/tests/ref/fate/filter-pixfmts-pad b/tests/ref/fate/filter-pixfmts-pad index b4d236d408..b22442bd13 100644 --- a/tests/ref/fate/filter-pixfmts-pad +++ b/tests/ref/fate/filter-pixfmts-pad @@ -82,8 +82,3 @@ yuva444p10le 89491ef450706faf23341e401750d907 yuva444p12le 06c47dba21328165dbb7ebb3da0a2fde yuva444p16le d089b119c8dc964de9af12bfb38f89a0 yuva444p9le b824d34ac49a1dc483c772e15310afcd -yuvj411p 87dbac57b211ab4823c1abbd702f1516 -yuvj420p 1abef62bce65131ca4913eb2006fd860 -yuvj422p 198c57b519e2be14b150889bd7f94898 -yuvj440p e6533260d197ad15e39319117c57473e -yuvj444p 26a44748960513783ea676eff409d89a diff --git a/tests/ref/fate/filter-pixfmts-pullup b/tests/ref/fate/filter-pixfmts-pullup index c6ddb3489a..d2f927a0c9 100644 --- a/tests/ref/fate/filter-pixfmts-pullup +++ b/tests/ref/fate/filter-pixfmts-pullup @@ -5,8 +5,3 @@ yuv420p dba6303cd02cc39cb0db7b546793d565 yuv422p d7d3224dd900bb1b96608a28a704360d yuv440p d4c5f20701cfceb4bbf7d75cfcc13514 yuv444p 7e405274037e7f2ab845d7413a71e16d -yuvj411p dc602e7bd3449d16e17e695815616b1e -yuvj420p b98ec86eeef2d512aeb2fc4d32ffa656 -yuvj422p f09c3240bb662477b76ce4da34b4feed -yuvj440p 8d3ab69e2bbbbbd2f9be323c18922533 -yuvj444p 2dc27560eed5d685354796dcccce853c diff --git a/tests/ref/fate/filter-pixfmts-rotate b/tests/ref/fate/filter-pixfmts-rotate index e4ed81e71a..3aa21aff77 100644 --- a/tests/ref/fate/filter-pixfmts-rotate +++ b/tests/ref/fate/filter-pixfmts-rotate @@ -30,5 +30,3 @@ yuva444p 459fad5abfd16db9bb6a52761dc74cc1 yuva444p10le 92f820d3481b7ebcb48b98a73e7b4c90 yuva444p16le 2ed56ea50fafda4d226c9b133755dad8 yuva444p9le 4eeb5988df0740fea720da1e31bbb829 -yuvj420p 8f3d8f1b4577d11082d5ab8a901e048d -yuvj444p b161e6d5a941e2a4bb7bc56ef8af623f diff --git a/tests/ref/fate/filter-pixfmts-scale b/tests/ref/fate/filter-pixfmts-scale index b11384068b..13f885a6a6 100644 --- a/tests/ref/fate/filter-pixfmts-scale +++ b/tests/ref/fate/filter-pixfmts-scale @@ -175,10 +175,5 @@ yuva444p16be 39ca2e32aa61b210b6c528855d24a16b yuva444p16le cd2e0a001d8175f2204b2eb411c6a801 yuva444p9be 58add24afbf43ff0ff7079cc1948fb56 yuva444p9le 077c8cec2c374163d7f7eae27e797bdb -yuvj411p d1076331c75ca66bf62497edbd8384f9 -yuvj420p 10390e6dda9cbb4c61fb88bcbb49fc3c -yuvj422p 996f6672566a4dcd8d272f48f058d49e -yuvj440p 3d80c9f67f8ef9b2d8a9ae2d37b464a2 -yuvj444p 9f858b9ca3fe949611147414573a904f yuyv422 1704675eff94ad0a03a9a6a3ddf5e0df yvyu422 516705a40f43d00e9c41ff47f4f7b802 diff --git a/tests/ref/fate/filter-pixfmts-swapuv b/tests/ref/fate/filter-pixfmts-swapuv index 676a440699..bf6e5c08c3 100644 --- a/tests/ref/fate/filter-pixfmts-swapuv +++ b/tests/ref/fate/filter-pixfmts-swapuv @@ -63,8 +63,3 @@ yuva444p16be 356d72791dfd91861b21630e315d40cb yuva444p16le 176591ce074ba8befc5fb279446ca1be yuva444p9be 675f0ed3e6572b05f06d9e44611bdff5 yuva444p9le bf3ea2bf123a3a1ceedf587682b85cb9 -yuvj411p 361c32e086bd27cf3ded194dc00dc9c5 -yuvj420p 553ac1af571391271d9715e2e8a4a5cc -yuvj422p 39b613d01cacfcdd9eecf9e0d379a393 -yuvj440p afed4ad98d6accf5811d439f3a687aa1 -yuvj444p 8de64aff4b7b3895d8cedd67cc10722b diff --git a/tests/ref/fate/filter-pixfmts-tinterlace_cvlpf b/tests/ref/fate/filter-pixfmts-tinterlace_cvlpf index 99703fa1af..df269b9a7c 100644 --- a/tests/ref/fate/filter-pixfmts-tinterlace_cvlpf +++ b/tests/ref/fate/filter-pixfmts-tinterlace_cvlpf @@ -19,7 +19,3 @@ yuva422p a8da2806e21a88449079faa7f4303ffa yuva422p10le d2965b5b5a43a7165badaff0718a17d8 yuva444p a3f57734d6f72bdf37f8f612ea7cce63 yuva444p10le e020512901fd9ac7088898a4e3a8c7c1 -yuvj420p 9f358e311b694bcd01e1a07d1120ade5 -yuvj422p 9a7628a9f1630d35c7176951ddc1b2f6 -yuvj440p 112fe35292c687746ec0c622a42c611b -yuvj444p f894438f40950229baa02545daa8812a diff --git a/tests/ref/fate/filter-pixfmts-tinterlace_merge b/tests/ref/fate/filter-pixfmts-tinterlace_merge index fa6151c272..7b0026faee 100644 --- a/tests/ref/fate/filter-pixfmts-tinterlace_merge +++ b/tests/ref/fate/filter-pixfmts-tinterlace_merge @@ -19,7 +19,3 @@ yuva422p ca200be80e5bfdb159e1aea57129ed3a yuva422p10le 06d4f79ee2ddf31d9fe15af8ca573f46 yuva444p 9f39c35d6899dcb8b9a9b07c339ca365 yuva444p10le b0c54fc3efad73f252d86127407aa1fd -yuvj420p 844359293bb6ff81549f3fc0090cc587 -yuvj422p 526af049d43974822baa7b48aa1e1098 -yuvj440p af9285194da8efbc40d93bf8109f9dc5 -yuvj444p 2a3f18b02c17a0c39c6245b8b3639b91 diff --git a/tests/ref/fate/filter-pixfmts-tinterlace_pad b/tests/ref/fate/filter-pixfmts-tinterlace_pad index 29321e542b..5cf2bc95dd 100644 --- a/tests/ref/fate/filter-pixfmts-tinterlace_pad +++ b/tests/ref/fate/filter-pixfmts-tinterlace_pad @@ -19,7 +19,3 @@ yuva422p 3426ed1ac9429202d8c29fa62a04d4c3 yuva422p10le 5c62eaf71afec3f7bc7ae5a327431434 yuva444p 1b9fc791c7d774b4ba8c9dc836f78cf5 yuva444p10le b6161c0f6f5548ba4346a9fda20ea8a8 -yuvj420p 9a872e0c1b3c0b6fe856415696b758bd -yuvj422p da3c9ef25528a2ee96746ce44e6969f3 -yuvj440p a9a5495c6b0e2bf6e561998ea1c356a7 -yuvj444p 085214844e83ad47b4f33303db0ebee6 diff --git a/tests/ref/fate/filter-pixfmts-tinterlace_vlpf b/tests/ref/fate/filter-pixfmts-tinterlace_vlpf index 5a5f80b115..0f64dd882c 100644 --- a/tests/ref/fate/filter-pixfmts-tinterlace_vlpf +++ b/tests/ref/fate/filter-pixfmts-tinterlace_vlpf @@ -19,7 +19,3 @@ yuva422p ef8fdbe910d68e88e98227b0e99fb5a6 yuva422p10le 257a4aec41f9b5412179272d8a7fb6f7 yuva444p 3662eadd5f61a6edbc9d715ea8591415 yuva444p10le 0905cf5b7f42c11be3f0486a66533c71 -yuvj420p 14c4390b319c5d679184503309060ac3 -yuvj422p bbe00a26526931b72a024febe1cd6b90 -yuvj440p f654cf28b7879c6a6c950c3cb9612580 -yuvj444p c162a4fe7a665f4abf257443703f0d72 diff --git a/tests/ref/fate/filter-pixfmts-transpose b/tests/ref/fate/filter-pixfmts-transpose index ec157dee0c..9d0d9df86d 100644 --- a/tests/ref/fate/filter-pixfmts-transpose +++ b/tests/ref/fate/filter-pixfmts-transpose @@ -136,5 +136,3 @@ yuva444p16be 9fd2f00ea9bef8e488228bc0b47b28cb yuva444p16le ae9fd8d1baea0f8626b963816d667d2d yuva444p9be 4ce11ae57780f74c78cdd5c06be4bded yuva444p9le 1b9cc85fd6ab0c7e240915a99e98d1c1 -yuvj420p 9603b8dd64daec41f0514197989c2b19 -yuvj444p 66ec9b3219df9eb2c1315d293602ab42 diff --git a/tests/ref/fate/filter-pixfmts-vflip b/tests/ref/fate/filter-pixfmts-vflip index 9a7972d6cf..53f6b76f66 100644 --- a/tests/ref/fate/filter-pixfmts-vflip +++ b/tests/ref/fate/filter-pixfmts-vflip @@ -175,10 +175,5 @@ yuva444p16be b8801dccf64b3eadc2a5b5db67ae0b0f yuva444p16le 8e72ae66754badf5d1eeb094e6bf0ddc yuva444p9be bcd845394351ca6d15e947342802957d yuva444p9le 7727a93765ed38dfd25e3d6b7a38fa63 -yuvj411p 260f51b360dc00b2222f4cb39fa05e36 -yuvj420p fab4394239b08bdb7638215a42d56eaf -yuvj422p 0309c2b34aa4d74f58048fe320a02b83 -yuvj440p f5e3a92fa46e57e2c613fc9aaad18e9d -yuvj444p ca4b3662259ba15a6297a44ef64414b7 yuyv422 8f02b2332fe9bb782f88627c99f32ee8 yvyu422 bd8cb985c2e1f9c32dc6b865bdf20637 diff --git a/tests/ref/fate/imgutils b/tests/ref/fate/imgutils index fb2ed6d158..01f6b3a688 100644 --- a/tests/ref/fate/imgutils +++ b/tests/ref/fate/imgutils @@ -67,9 +67,6 @@ gray planes: 1, linesizes: 64 0 0 0, plane_sizes: 3072 0 monow planes: 1, linesizes: 8 0 0 0, plane_sizes: 384 0 0 0, plane_offsets: 0 0 0, total_size: 384 monob planes: 1, linesizes: 8 0 0 0, plane_sizes: 384 0 0 0, plane_offsets: 0 0 0, total_size: 384 pal8 planes: 2, linesizes: 64 0 0 0, plane_sizes: 3072 1024 0 0, plane_offsets: 3072 0 0, total_size: 4096 -yuvj420p planes: 3, linesizes: 64 32 32 0, plane_sizes: 3072 768 768 0, plane_offsets: 3072 768 0, total_size: 4608 -yuvj422p planes: 3, linesizes: 64 32 32 0, plane_sizes: 3072 1536 1536 0, plane_offsets: 3072 1536 0, total_size: 6144 -yuvj444p planes: 3, linesizes: 64 64 64 0, plane_sizes: 3072 3072 3072 0, plane_offsets: 3072 3072 0, total_size: 9216 uyvy422 planes: 1, linesizes: 128 0 0 0, plane_sizes: 6144 0 0 0, plane_offsets: 0 0 0, total_size: 6144 uyyvyy411 planes: 1, linesizes: 96 0 0 0, plane_sizes: 4608 0 0 0, plane_offsets: 0 0 0, total_size: 4608 bgr8 planes: 1, linesizes: 64 0 0 0, plane_sizes: 3072 0 0 0, plane_offsets: 0 0 0, total_size: 3072 @@ -87,7 +84,6 @@ bgra planes: 1, linesizes: 256 0 0 0, plane_sizes: 12288 0 gray16be planes: 1, linesizes: 128 0 0 0, plane_sizes: 6144 0 0 0, plane_offsets: 0 0 0, total_size: 6144 gray16le planes: 1, linesizes: 128 0 0 0, plane_sizes: 6144 0 0 0, plane_offsets: 0 0 0, total_size: 6144 yuv440p planes: 3, linesizes: 64 64 64 0, plane_sizes: 3072 1536 1536 0, plane_offsets: 3072 1536 0, total_size: 6144 -yuvj440p planes: 3, linesizes: 64 64 64 0, plane_sizes: 3072 1536 1536 0, plane_offsets: 3072 1536 0, total_size: 6144 yuva420p planes: 4, linesizes: 64 32 32 64, plane_sizes: 3072 768 768 3072, plane_offsets: 3072 768 768, total_size: 7680 rgb48be planes: 1, linesizes: 384 0 0 0, plane_sizes: 18432 0 0 0, plane_offsets: 0 0 0, total_size: 18432 rgb48le planes: 1, linesizes: 384 0 0 0, plane_sizes: 18432 0 0 0, plane_offsets: 0 0 0, total_size: 18432 @@ -186,7 +182,6 @@ gbrp12be planes: 3, linesizes: 128 128 128 0, plane_sizes: 6144 6144 gbrp12le planes: 3, linesizes: 128 128 128 0, plane_sizes: 6144 6144 6144 0, plane_offsets: 6144 6144 0, total_size: 18432 gbrp14be planes: 3, linesizes: 128 128 128 0, plane_sizes: 6144 6144 6144 0, plane_offsets: 6144 6144 0, total_size: 18432 gbrp14le planes: 3, linesizes: 128 128 128 0, plane_sizes: 6144 6144 6144 0, plane_offsets: 6144 6144 0, total_size: 18432 -yuvj411p planes: 3, linesizes: 64 16 16 0, plane_sizes: 3072 768 768 0, plane_offsets: 3072 768 0, total_size: 4608 bayer_bggr8 planes: 1, linesizes: 64 0 0 0, plane_sizes: 3072 0 0 0, plane_offsets: 0 0 0, total_size: 3072 bayer_rggb8 planes: 1, linesizes: 64 0 0 0, plane_sizes: 3072 0 0 0, plane_offsets: 0 0 0, total_size: 3072 bayer_gbrg8 planes: 1, linesizes: 64 0 0 0, plane_sizes: 3072 0 0 0, plane_offsets: 0 0 0, total_size: 3072 @@ -283,9 +278,6 @@ gray total_size: 3072, black_unknown_crc: 0x63e301a2, black_tv_cr monow total_size: 384, black_unknown_crc: 0x1ba3e150, black_tv_crc: 0x1ba3e150, black_pc_crc: 0x1ba3e150 monob total_size: 384, black_unknown_crc: 0x00000000, black_tv_crc: 0x00000000, black_pc_crc: 0x00000000 pal8 total_size: 4096, black_unknown_crc: 0x00000000, black_tv_crc: 0x00000000, black_pc_crc: 0x00000000 -yuvj420p total_size: 4608, black_unknown_crc: 0xd00f6cc6, black_tv_crc: 0xd00f6cc6, black_pc_crc: 0x234969af -yuvj422p total_size: 6144, black_unknown_crc: 0x71fcc79c, black_tv_crc: 0x71fcc79c, black_pc_crc: 0xa9fa0192 -yuvj444p total_size: 9216, black_unknown_crc: 0x1c302b58, black_tv_crc: 0x1c302b58, black_pc_crc: 0xdf792ea7 uyvy422 total_size: 6144, black_unknown_crc: 0xaf9476bb, black_tv_crc: 0xaf9476bb, black_pc_crc: 0x16a51378 uyyvyy411 total_size: 4608, black_unknown_crc: 0x6f8b7288, black_tv_crc: 0x6f8b7288, black_pc_crc: 0x9f9c5552 bgr8 total_size: 3072, black_unknown_crc: 0x00000000, black_tv_crc: 0x00000000, black_pc_crc: 0x00000000 @@ -303,7 +295,6 @@ bgra total_size: 12288, black_unknown_crc: 0xf15ae524, black_tv_cr gray16be total_size: 6144, black_unknown_crc: 0x02d4a26f, black_tv_crc: 0x02d4a26f, black_pc_crc: 0x00000000 gray16le total_size: 6144, black_unknown_crc: 0xb93165c3, black_tv_crc: 0xb93165c3, black_pc_crc: 0x00000000 yuv440p total_size: 6144, black_unknown_crc: 0x71fcc79c, black_tv_crc: 0x71fcc79c, black_pc_crc: 0xa9fa0192 -yuvj440p total_size: 6144, black_unknown_crc: 0x71fcc79c, black_tv_crc: 0x71fcc79c, black_pc_crc: 0xa9fa0192 yuva420p total_size: 7680, black_unknown_crc: 0x0bcc140f, black_tv_crc: 0x0bcc140f, black_pc_crc: 0xa724ab23 rgb48be total_size: 18432, black_unknown_crc: 0x00000000, black_tv_crc: 0x00000000, black_pc_crc: 0x00000000 rgb48le total_size: 18432, black_unknown_crc: 0x00000000, black_tv_crc: 0x00000000, black_pc_crc: 0x00000000 @@ -402,7 +393,6 @@ gbrp12be total_size: 18432, black_unknown_crc: 0x00000000, black_tv_cr gbrp12le total_size: 18432, black_unknown_crc: 0x00000000, black_tv_crc: 0x00000000, black_pc_crc: 0x00000000 gbrp14be total_size: 18432, black_unknown_crc: 0x00000000, black_tv_crc: 0x00000000, black_pc_crc: 0x00000000 gbrp14le total_size: 18432, black_unknown_crc: 0x00000000, black_tv_crc: 0x00000000, black_pc_crc: 0x00000000 -yuvj411p total_size: 4608, black_unknown_crc: 0xd00f6cc6, black_tv_crc: 0xd00f6cc6, black_pc_crc: 0x234969af bayer_bggr8 total_size: 3072, black_unknown_crc: 0x00000000, black_tv_crc: 0x00000000, black_pc_crc: 0x00000000 bayer_rggb8 total_size: 3072, black_unknown_crc: 0x00000000, black_tv_crc: 0x00000000, black_pc_crc: 0x00000000 bayer_gbrg8 total_size: 3072, black_unknown_crc: 0x00000000, black_tv_crc: 0x00000000, black_pc_crc: 0x00000000 diff --git a/tests/ref/fate/jpg-icc b/tests/ref/fate/jpg-icc index cc7ab604e1..41494e3383 100644 --- a/tests/ref/fate/jpg-icc +++ b/tests/ref/fate/jpg-icc @@ -28,7 +28,7 @@ crop_top=0 crop_bottom=0 crop_left=0 crop_right=0 -pix_fmt=yuvj444p +pix_fmt=yuv444p sample_aspect_ratio=1:1 pict_type=I coded_picture_number=0 diff --git a/tests/ref/fate/sws-pixdesc-query b/tests/ref/fate/sws-pixdesc-query index fff93bbf0e..58283b4430 100644 --- a/tests/ref/fate/sws-pixdesc-query +++ b/tests/ref/fate/sws-pixdesc-query @@ -327,11 +327,6 @@ isYUV: yuva444p16le yuva444p9be yuva444p9le - yuvj411p - yuvj420p - yuvj422p - yuvj440p - yuvj444p yuyv422 yvyu422 @@ -426,11 +421,6 @@ isPlanarYUV: yuva444p16le yuva444p9be yuva444p9le - yuvj411p - yuvj420p - yuvj422p - yuvj440p - yuvj444p isSemiPlanarYUV: nv12 @@ -957,11 +947,6 @@ Planar: yuva444p16le yuva444p9be yuva444p9le - yuvj411p - yuvj420p - yuvj422p - yuvj440p - yuvj444p PackedRGB: 0bgr diff --git a/tests/ref/pixfmt/yuvj420p b/tests/ref/pixfmt/yuvj420p deleted file mode 100644 index 47a729ed45..0000000000 --- a/tests/ref/pixfmt/yuvj420p +++ /dev/null @@ -1,2 +0,0 @@ -e176bd14185788110e055f945de7f95f *tests/data/pixfmt/yuvj420p.yuv -304128 tests/data/pixfmt/yuvj420p.yuv diff --git a/tests/ref/pixfmt/yuvj422p b/tests/ref/pixfmt/yuvj422p deleted file mode 100644 index 6ab97d59db..0000000000 --- a/tests/ref/pixfmt/yuvj422p +++ /dev/null @@ -1,2 +0,0 @@ -472028e46a81c98d9b2477507def4723 *tests/data/pixfmt/yuvj422p.yuv -304128 tests/data/pixfmt/yuvj422p.yuv diff --git a/tests/ref/pixfmt/yuvj440p b/tests/ref/pixfmt/yuvj440p deleted file mode 100644 index 2beeae52c1..0000000000 --- a/tests/ref/pixfmt/yuvj440p +++ /dev/null @@ -1,2 +0,0 @@ -4d8d402c45d913038d4b725396719111 *tests/data/pixfmt/yuvj440p.yuv -304128 tests/data/pixfmt/yuvj440p.yuv diff --git a/tests/ref/pixfmt/yuvj444p b/tests/ref/pixfmt/yuvj444p deleted file mode 100644 index 63fb813d4b..0000000000 --- a/tests/ref/pixfmt/yuvj444p +++ /dev/null @@ -1,2 +0,0 @@ -c10442da177c9f1d12be3c53be6fa12c *tests/data/pixfmt/yuvj444p.yuv -304128 tests/data/pixfmt/yuvj444p.yuv From patchwork Fri Jan 12 08:26:07 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Niklas Haas X-Patchwork-Id: 45585 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:bf2f:b0:199:de12:6fa6 with SMTP id gc47csp2204706pzb; Fri, 12 Jan 2024 00:31:55 -0800 (PST) X-Google-Smtp-Source: AGHT+IH6IM2rVHzvT6hJ7qIbOP/93ATvg6lneekD57h21CXw/hUWkgwXvHiP1gTygqHoLpPTNwU1 X-Received: by 2002:a05:6402:1606:b0:557:7d3:84f9 with SMTP id f6-20020a056402160600b0055707d384f9mr443906edv.37.1705048314940; Fri, 12 Jan 2024 00:31:54 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1705048314; cv=none; d=google.com; s=arc-20160816; b=uxr1w/vhNCUU4rxGoiSJ/tMQElL990w5UVOS+6hvZDozozY20Z5sndLY7RwS1dZRXN skZnzA5rqwDYI89SlAuhK0KlfJ67/5H1QhW3QKw2ASvdFi8BtMrMCYvT18ju9ID1An71 R8cWObGlnSZMUdeWG/EE6ETqvmfrA8kTMCiVXlxgna5T9qr9Pb8XujM0V/LSWdwTFoUD EP0wMl7lrmBM6J+mfEUrNMvzx0bE6TfzMgVa3zkwgPdRqiCg76qTlAmR5wQxCjIBrIDM JLHPEb42OYnHtEmwrWsgj/dY3tcTOCcJLlwXWsMw0B0zb49afDJmRGQxehlBYsHFH6WV 4Qig== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:cc: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=kxK97hWC8VrV0S1lCctUxdEWlj3CsNtQ7YcfECS8EM4=; fh=xmAeKtysnShNOmkhiJmYkS30uw4Fu2hvBJ7qlIwukxQ=; b=AfmahBnpCbMuUzgZmqB6KO2ztpNj7TxQWnx54iAFTBvzDxQ+V6stvai3LFJCe5WOVe yBj83awTWvopbZlnYdJZgdp6ZGYwfNjH7i7sITNoryqlKhP6f86YyVqrbJz2tuVIkJcI YCqizwgmN769bBRAdDDvYp32ZSK4M+RgaHdHkWrxhtZN0btp6nw3zkMhDElKDuanOfYR xCKHT7qKVFItx96KIiLLOx1Um5QPgrXeF37e8nkAWz1Q4NgbkswAqoaPWQDm92i5tler Zz/sqAY6P/857WQorvQDGu1kjm7JaeY/4GDZJGntVnYmFWopZ0ccVPCVuiJ/4yc5ZoJa SYjw== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@haasn.xyz header.s=mail header.b=l0geKFtu; 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 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id h11-20020aa7de0b000000b0055593fe28e7si1227792edv.498.2024.01.12.00.31.54; Fri, 12 Jan 2024 00:31:54 -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=@haasn.xyz header.s=mail header.b=l0geKFtu; 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 Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 980A668D0D6; Fri, 12 Jan 2024 10:30:15 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from haasn.dev (haasn.dev [78.46.187.166]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 20F9368D08E for ; Fri, 12 Jan 2024 10:30:04 +0200 (EET) Received: from haasn.dev (unknown [10.30.0.2]) by haasn.dev (Postfix) with ESMTP id C32C04B77A; Fri, 12 Jan 2024 09:30:03 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=haasn.xyz; s=mail; t=1705048204; bh=eHDIPp5N5uk/DyqAGcKuid9NOKVIU5QpuaSy5+r0MDQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=l0geKFtu1DQn3jdc6xS+Da4+fXKfQ7a3PkHpLpMp2Y9PNMr5vnVfpM0Q/lbLpjUbk KcTjt9ay/Xjba07Y4CBsFXRchUYYo8bQWhwdNnpxTJUjQHX9LlFBB/POoDa9R1Mu/o 2YucR/Gj3Y/rx4W3PyG3Svq5zBs9MseDwJbrcl84= From: Niklas Haas To: ffmpeg-devel@ffmpeg.org Date: Fri, 12 Jan 2024 09:26:07 +0100 Message-ID: <20240112082950.41637-11-ffmpeg@haasn.xyz> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240112082950.41637-1-ffmpeg@haasn.xyz> References: <20240112082950.41637-1-ffmpeg@haasn.xyz> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 10/11] avutil/pixdesc: remove old yuvj pixel format check 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 Cc: Niklas Haas Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: tz48lwbpat3y From: Niklas Haas These no longer exist. --- libavutil/pixdesc.c | 14 +------------- 1 file changed, 1 insertion(+), 13 deletions(-) diff --git a/libavutil/pixdesc.c b/libavutil/pixdesc.c index cf15d3d953..024aa2924d 100644 --- a/libavutil/pixdesc.c +++ b/libavutil/pixdesc.c @@ -2981,8 +2981,7 @@ enum AVPixelFormat av_pix_fmt_swap_endianness(enum AVPixelFormat pix_fmt) #define FF_COLOR_NA -1 #define FF_COLOR_RGB 0 /**< RGB color space */ #define FF_COLOR_GRAY 1 /**< gray color space */ -#define FF_COLOR_YUV 2 /**< YUV color space. 16 <= Y <= 235, 16 <= U, V <= 240 */ -#define FF_COLOR_YUV_JPEG 3 /**< YUV color space. 0 <= Y <= 255, 0 <= U, V <= 255 */ +#define FF_COLOR_YUV 2 /**< YUV color space */ #define FF_COLOR_XYZ 4 #define pixdesc_has_alpha(pixdesc) \ @@ -2996,11 +2995,6 @@ static int get_color_type(const AVPixFmtDescriptor *desc) { if(desc->nb_components == 1 || desc->nb_components == 2) return FF_COLOR_GRAY; - if (desc->name) { - if (av_strstart(desc->name, "yuvj", NULL)) - return FF_COLOR_YUV_JPEG; - } - if(desc->flags & AV_PIX_FMT_FLAG_RGB) return FF_COLOR_RGB; @@ -3139,12 +3133,6 @@ static int get_pix_fmt_score(enum AVPixelFormat dst_pix_fmt, if (src_color != FF_COLOR_YUV) loss |= FF_LOSS_COLORSPACE; break; - case FF_COLOR_YUV_JPEG: - if (src_color != FF_COLOR_YUV_JPEG && - src_color != FF_COLOR_YUV && - src_color != FF_COLOR_GRAY) - loss |= FF_LOSS_COLORSPACE; - break; default: /* fail safe test */ if (src_color != dst_color) From patchwork Fri Jan 12 08:26:08 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Niklas Haas X-Patchwork-Id: 45579 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:bf2f:b0:199:de12:6fa6 with SMTP id gc47csp2204315pzb; Fri, 12 Jan 2024 00:30:57 -0800 (PST) X-Google-Smtp-Source: AGHT+IF5oGOK3vREsrSWD6V3Rd5grqFBjtS13Vt7H+Gp5bA/+VFh0X9PLJtA/8QCwhbOTc13HcYV X-Received: by 2002:a17:906:aece:b0:a2c:b0e7:2ad4 with SMTP id me14-20020a170906aece00b00a2cb0e72ad4mr532134ejb.1.1705048256880; Fri, 12 Jan 2024 00:30:56 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1705048256; cv=none; d=google.com; s=arc-20160816; b=NAoZhrP/rgvVbGKAjpkpg6HIvGZm2KVRKIjTftNlUtpUPVsaeQ1SIZ6qS9ypGcp+aY F62kbiQbnpJhGhcf90UMVOp9CkPm+vLaacpXdWksXcJoH5SGGR0gH1omLwCeE/Kr6+Do /eq+7B27tG327eTv/f9zPUr4bmbb9GADM+eTkd9tTi+kRMo+arLjULZn7cVaCrlWXAOd +mPiYNaxcQKbKW3M6ise356imzWy1OrYmPpBi1z9ujPWEQ7peOqk1LGkR/rVBaH9O5v9 p9aYt1aDfkVHxZ1p/kcFDI5vcOsmNZ+8CMEpJcF7o5DGzMjk8Rsw9GnLu/VH6XKmI2Mw BDtw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:cc: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=pOnTN6vqiabQYmcAGSx9dNYVjRHZN2R8NooYWH43TBs=; fh=xmAeKtysnShNOmkhiJmYkS30uw4Fu2hvBJ7qlIwukxQ=; b=kb8drR2r59ZeyWLTis23cxaW6vg2Zx/oMF0Jqe1Blk6azac8DdLw6aNtlQCSCMbBbg TG8MYymVnjeXAlQNHo/0+7reuQrDLycYnYho7iRzYdG5wDz3PRdJ2NMQWgTvr6qsObwB WAeLmkebs4FiXBzBrFXdsFFEqh+2jpmRlj4mh8QOCFNz70XtBZkZv/vofM0j7SNF7WNN bm8yNTvG8ID4u5XJcXAKAM9skZ+2uTjjW4CsOIJUx3XtCKJiRj/zS8F1m1kDd66vGFe/ M2ffMg+hDtosEGb0Bql+4Du7f/U3ESTujMZsKNfjzwqhSxIMqHgussJka0FXzyyXv0hf EJVw== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@haasn.xyz header.s=mail header.b=oeqDGXUl; 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 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id k16-20020a17090627d000b00a26a4ab3582si1209148ejc.322.2024.01.12.00.30.56; Fri, 12 Jan 2024 00:30: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=@haasn.xyz header.s=mail header.b=oeqDGXUl; 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 Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 0C04768D0A5; Fri, 12 Jan 2024 10:30:09 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from haasn.dev (haasn.dev [78.46.187.166]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id ABAB868D068 for ; Fri, 12 Jan 2024 10:30:04 +0200 (EET) Received: from haasn.dev (unknown [10.30.0.2]) by haasn.dev (Postfix) with ESMTP id 5C57D4BA15; Fri, 12 Jan 2024 09:30:04 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=haasn.xyz; s=mail; t=1705048204; bh=7O/z/0sG355q7oHxepGR/BtQogCliVZj6WjOTqS28Wg=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=oeqDGXUl+Cbws5zkN/p3P0HnHfQ2Fcv7SN7pG3MjvU9OitVk8hC9sY16zVKNSxHPI TxbLOZWVdru+OjrumSbpQURlM8SGC8qLZaBAnE8ESO2gLcaCclkvAJliSm1V1Jk9XS eOPvsM+xtW/PbjJEj2dGS1ipJYcZd7TntiDjPGqY= From: Niklas Haas To: ffmpeg-devel@ffmpeg.org Date: Fri, 12 Jan 2024 09:26:08 +0100 Message-ID: <20240112082950.41637-12-ffmpeg@haasn.xyz> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240112082950.41637-1-ffmpeg@haasn.xyz> References: <20240112082950.41637-1-ffmpeg@haasn.xyz> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 11/11] avcodec/encode: enforce AVCodec capabilities at encode time 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 Cc: Niklas Haas Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: VKBZkh9fjyqm From: Niklas Haas In general, the logic is always the same: if the codec supports only a single format, enforce it if possible. Otherwise, throw an error when an incompatible format is passed. To preserve backwards compatibility and make this check less pedantic than it needs to be, always consider 'AVCOL_*_UNSPECIFIED' a valid value. That way, we will only throw an error if the user explicitly set a color value that we explicitly know is unsupported. --- libavcodec/encode.c | 59 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) diff --git a/libavcodec/encode.c b/libavcodec/encode.c index 31565638fa..32eb7dd9eb 100644 --- a/libavcodec/encode.c +++ b/libavcodec/encode.c @@ -574,10 +574,23 @@ int attribute_align_arg avcodec_receive_packet(AVCodecContext *avctx, AVPacket * return 0; } +static int fmt_is_regular_yuv(enum AVPixelFormat fmt) +{ + const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(fmt); + if (!desc || desc->nb_components < 3) + return 0; + if (desc->flags & (AV_PIX_FMT_FLAG_RGB | AV_PIX_FMT_FLAG_PAL | + AV_PIX_FMT_FLAG_XYZ | AV_PIX_FMT_FLAG_FLOAT)) + return 0; + return 1; +} + + static int encode_preinit_video(AVCodecContext *avctx) { const AVCodec *c = avctx->codec; const AVPixFmtDescriptor *pixdesc = av_pix_fmt_desc_get(avctx->pix_fmt); + enum AVPixelFormat swfmt = avctx->pix_fmt; int i; if (!av_get_pix_fmt_name(avctx->pix_fmt)) { @@ -605,6 +618,52 @@ static int encode_preinit_video(AVCodecContext *avctx) } } + if (pixdesc->flags & AV_PIX_FMT_FLAG_HWACCEL) { + const AVHWFramesContext *hwfc = (void *) avctx->hw_frames_ctx->data; + swfmt = hwfc->sw_format; + } + + if (fmt_is_regular_yuv(swfmt)) { + if (avctx->colorspace != AVCOL_SPC_UNSPECIFIED && c->color_spaces) { + for (i = 0; c->color_spaces[i] != AVCOL_SPC_UNSPECIFIED; i++) + if (avctx->colorspace == c->color_spaces[i]) + break; + if (c->color_spaces[i] == AVCOL_SPC_UNSPECIFIED) { + av_log(avctx, AV_LOG_ERROR, + "Specified color space %s is not supported by the %s encoder.\n", + av_color_space_name(avctx->colorspace), c->name); + av_log(avctx, AV_LOG_ERROR, "Supported color spaces:\n"); + for (int p = 0; c->color_spaces[p] != AVCOL_SPC_UNSPECIFIED; p++) { + av_log(avctx, AV_LOG_ERROR, " %s\n", + av_color_space_name(c->color_spaces[p])); + } + return AVERROR(EINVAL); + } + } + + if (avctx->color_range != AVCOL_RANGE_UNSPECIFIED && c->color_ranges) { + for (i = 0; c->color_ranges[i] != AVCOL_RANGE_UNSPECIFIED; i++) { + if (avctx->color_range == c->color_ranges[i]) + break; + } + if (c->color_ranges[i] == AVCOL_RANGE_UNSPECIFIED) { + if (i == 1 && !avctx->color_range) { + avctx->color_range = c->color_ranges[0]; + } else if (avctx->color_range) { + av_log(avctx, AV_LOG_ERROR, + "Specified color range %s is not supported by the %s encoder.\n", + av_color_range_name(avctx->color_range), c->name); + av_log(avctx, AV_LOG_ERROR, "Supported color ranges:\n"); + for (int p = 0; c->color_ranges[p] != AVCOL_RANGE_UNSPECIFIED; p++) { + av_log(avctx, AV_LOG_ERROR, " %s\n", + av_color_range_name(c->color_ranges[p])); + } + return AVERROR(EINVAL); + } + } + } + } + if ( avctx->bits_per_raw_sample < 0 || (avctx->bits_per_raw_sample > 8 && pixdesc->comp[0].depth <= 8)) { av_log(avctx, AV_LOG_WARNING, "Specified bit depth %d not possible with the specified pixel formats depth %d\n",