From patchwork Fri Mar 31 15:49:56 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chema Gonzalez X-Patchwork-Id: 40949 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:4645:b0:e3:3194:9d20 with SMTP id eb5csp827483pzb; Fri, 31 Mar 2023 08:50:20 -0700 (PDT) X-Google-Smtp-Source: AKy350YyNFJmnEirhJ/aKqNJXAYaHNi9yLxf7n3g6GVGb5g3SHdygstyurUYBhXfZY06dZoCDZt1 X-Received: by 2002:a17:906:7f1a:b0:8b1:29ed:e206 with SMTP id d26-20020a1709067f1a00b008b129ede206mr23586080ejr.28.1680277820700; Fri, 31 Mar 2023 08:50:20 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1680277820; cv=none; d=google.com; s=arc-20160816; b=O/cMN3gdk9Efr4PH1DM6HzXCNlYFvRMRT1+OGhqfJOwaD1LiXIaJaLeBHM+PFkkpnj mTz8iFZGtHgClyVVpaRiwM7umULNWzoyKbb/slTvSKjZp0G2HrfVSFr2KzspRHg5twnE i2XCVPgbaVLKejbkXM8hM30ECc/BYzziA5ka76k1L3DGMgzgUZI2S4rg8AoyOpjT1est VqDA9/nVxxf0Hra2g1QMBZOTfcRLkjJOLKHyHO0GbOZ9XF6fjYfQAFQrhTfzH2wPH/l0 MYtwH/HSuhypjyM/JrpGfIl2EXIhd9BkpUGid/hz5te6sMt8dtuMp3aUFp6iPgspjuh9 w1ZQ== 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=zg6qdQz5UGLMYmlq4IEvQ+NaKJ/Ux80x97McXc+u1I0=; b=uv10N+IEeUxM3VaSKg3t6uFDNhRRMLE4A+UyzklbmhjPmZ2EAIoBnRMTNAZIyzhFhO YsZfjIEV0cIDqNeo1QZXK/cA/Uv7udZHqLvebygkCIEst35JK852qKFekmL8yX5DLb5+ 1bVaxyU2N255xVUEboXGdO1SwKgkinpk4YtbcFK3aRNNPbFT8LIYKaHgA/gEDAh9ETmU PH54QYMm3wGg3fuPapnVuH4D29vxmybLTcQA6wbLFVRv9jlJ207+Q1zXQ9EbQIBki1Et JVEMFBCFIVEqdTVvmlME/DpiWO9Wh8/vDu+o3RLSf5dWwEppavc5MuOuKJHhgCcTkMIJ sR7A== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=G2NJ8EDv; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id qx4-20020a170906fcc400b0093debd8676csi2141232ejb.164.2023.03.31.08.50.20; Fri, 31 Mar 2023 08:50:20 -0700 (PDT) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=G2NJ8EDv; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 07A9868C292; Fri, 31 Mar 2023 18:50:14 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pl1-f172.google.com (mail-pl1-f172.google.com [209.85.214.172]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id DB03268C1AE for ; Fri, 31 Mar 2023 18:50:07 +0300 (EEST) Received: by mail-pl1-f172.google.com with SMTP id o11so21642522ple.1 for ; Fri, 31 Mar 2023 08:50:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1680277805; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=FOyCQIsTObX+5SEx7sH4RsKUJ9uLQx2WqrnFCp3cgu4=; b=G2NJ8EDvmGBzlLBg65usanUP7cYLMhfxqZGbAnfYuyjBSKCzcErrtNFKJvHIOUpabj H2jTwTXsrCI161NjTSvbi5pSLUgQ2pMUQvkJ1TdbHMp7qMT5I23GL7b3bRO/4+RxxJzt C5Wtt807kGhGbguPX2wBRK2dgQBKUMPpG2pG0dFiDoL0mrLQv+AaDLvmlTJMTNgQ4WVQ rNde4Hh4pScBHSSw0552jlRLjCI34pWUZuCcMy2+Kcnvh9eQMfm5Pe7lDoCZbFznRN/I tppLJgNCOIT3UHzdwK0n5uT6onOA8fRk3k8bNPozTgykOWjPBboD+dmDuhmrlv9400se 2rvg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1680277805; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=FOyCQIsTObX+5SEx7sH4RsKUJ9uLQx2WqrnFCp3cgu4=; b=n8Aa+b+XP3oNMe2wsV1a1eCUnYTPAbQ1pRJ2iCEHoVvFc7Z9U/zHx19hgqGKNSgjs/ MHi3A3OVSgTMGKVSV0gPWiOkToR0ap9REN9uGv3L7pl4xrWIi4PY8Zxu6VgAh0hYiJ+4 Zhc4l73d8QeGU5fjKh3BVJU3QCwm0fOSHDyjoPCd6I6/L8/RalZyhJ/tv75PvzlyGDR4 ljcAHXvIqtc8B1We9IKebB4shTXtPANxio4KeGHhZMhPPr1filzfwbZxq6QSAs/vBNF6 0Uo7GKIGekPRX38jYqzYbe3Rh7O62TrAGd/BHrmHJOqjoM18t7Ig5nbYseUyAN5VOuia z1TQ== X-Gm-Message-State: AAQBX9eBGDEZPM/QBqlgbN+qA+Rl7atIF6UkAhbtgKviLb4Lgo+bFt8T tfTUx/Y8M1tBr6QYx1scSqTU9k6IvKw= X-Received: by 2002:a17:90b:1d8f:b0:23f:7d05:8765 with SMTP id pf15-20020a17090b1d8f00b0023f7d058765mr31107437pjb.10.1680277805576; Fri, 31 Mar 2023 08:50:05 -0700 (PDT) Received: from wilferico.thefacebook.com ([2620:10d:c090:400::5:b0e]) by smtp.gmail.com with ESMTPSA id c3-20020a17090ad90300b002405499b729sm5133725pjv.38.2023.03.31.08.50.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 31 Mar 2023 08:50:05 -0700 (PDT) From: Chema Gonzalez To: ffmpeg-devel@ffmpeg.org Date: Fri, 31 Mar 2023 08:49:56 -0700 Message-Id: <20230331154956.3675424-2-chemag@gmail.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230331154956.3675424-1-chemag@gmail.com> References: <20230331154956.3675424-1-chemag@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 1/1] pixdesc: add limited|full aliases for -color_range parameter 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: Chema Gonzalez Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: owbZYaJ8Vtk0 Aliases are also used in scale and zscale filters. Tested: ``` $ ./ffmpeg -hide_banner -y -i ~/src/media/images/y4m/lena.490x490.y4m -pix_fmt yuv420p -color_range unknown /tmp/unknown.y4m ... $ md5sum /tmp/unknown.y4m 69aa7bf52bbd72444268a544c81d7643 /tmp/unknown.y4m $ ./ffmpeg -hide_banner -y -i ~/src/media/images/y4m/lena.490x490.y4m -pix_fmt yuv420p -color_range tv /tmp/tv.y4m ... $ md5sum /tmp/tv.y4m 5c1c8759708ff6b25dd8a660da5200e7 /tmp/tv.y4m $ ./ffmpeg -hide_banner -y -i ~/src/media/images/y4m/lena.490x490.y4m -pix_fmt yuv420p -color_range pc /tmp/pc.y4m ... $ md5sum /tmp/pc.y4m 1ccb85d14a3dfecb22e625711587ba97 /tmp/pc.y4m $ ./ffmpeg -hide_banner -y -i ~/src/media/images/y4m/lena.490x490.y4m -pix_fmt yuv420p -color_range limited /tmp/limited.y4m ... $ md5sum /tmp/limited.y4m 5c1c8759708ff6b25dd8a660da5200e7 /tmp/limited.y4m $ ./ffmpeg -hide_banner -y -i ~/src/media/images/y4m/lena.490x490.y4m -pix_fmt yuv420p -color_range full /tmp/full.y4m ... $ md5sum /tmp/full.y4m 1ccb85d14a3dfecb22e625711587ba97 /tmp/full.y4m ``` Also ran fate. ``` $ make fate -j ... TEST ffprobe_xsd TEST flv-add_keyframe_index ``` --- doc/codecs.texi | 2 ++ libavcodec/options_table.h | 2 ++ 2 files changed, 4 insertions(+) diff --git a/doc/codecs.texi b/doc/codecs.texi index 1adacd2b59..bd04e134e1 100644 --- a/doc/codecs.texi +++ b/doc/codecs.texi @@ -890,9 +890,11 @@ Possible values: @table @samp @item tv @item mpeg +@item limited MPEG (219*2^(n-8)) @item pc @item jpeg +@item full JPEG (2^n-1) @end table diff --git a/libavcodec/options_table.h b/libavcodec/options_table.h index f331ce2861..979904daae 100644 --- a/libavcodec/options_table.h +++ b/libavcodec/options_table.h @@ -346,6 +346,8 @@ static const AVOption avcodec_options[] = { {"unspecified", "Unspecified", 0, AV_OPT_TYPE_CONST, {.i64 = AVCOL_RANGE_UNSPECIFIED }, INT_MIN, INT_MAX, V|E|D, "color_range_type"}, {"mpeg", "MPEG (219*2^(n-8))", 0, AV_OPT_TYPE_CONST, {.i64 = AVCOL_RANGE_MPEG }, INT_MIN, INT_MAX, V|E|D, "color_range_type"}, {"jpeg", "JPEG (2^n-1)", 0, AV_OPT_TYPE_CONST, {.i64 = AVCOL_RANGE_JPEG }, INT_MIN, INT_MAX, V|E|D, "color_range_type"}, +{"limited", "MPEG (219*2^(n-8))", 0, AV_OPT_TYPE_CONST, {.i64 = AVCOL_RANGE_MPEG }, INT_MIN, INT_MAX, V|E|D, "color_range_type"}, +{"full", "JPEG (2^n-1)", 0, AV_OPT_TYPE_CONST, {.i64 = AVCOL_RANGE_JPEG }, INT_MIN, INT_MAX, V|E|D, "color_range_type"}, {"chroma_sample_location", "chroma sample location", OFFSET(chroma_sample_location), AV_OPT_TYPE_INT, {.i64 = AVCHROMA_LOC_UNSPECIFIED }, 0, INT_MAX, V|E|D, "chroma_sample_location_type"}, {"unknown", "Unspecified", 0, AV_OPT_TYPE_CONST, {.i64 = AVCHROMA_LOC_UNSPECIFIED }, INT_MIN, INT_MAX, V|E|D, "chroma_sample_location_type"}, {"left", "Left", 0, AV_OPT_TYPE_CONST, {.i64 = AVCHROMA_LOC_LEFT }, INT_MIN, INT_MAX, V|E|D, "chroma_sample_location_type"},