From patchwork Mon May 31 13:00:16 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Valerii Zapodovnikov X-Patchwork-Id: 28022 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:b214:0:0:0:0:0 with SMTP id b20csp2857983iof; Mon, 31 May 2021 06:00:31 -0700 (PDT) X-Google-Smtp-Source: ABdhPJw0UloY/yzhztA2VIjGYg/aBoVAjNOLLJ5kOqRe/yZgfiJ2xmlqaV0FOvcTEKDGweORf432 X-Received: by 2002:a25:b6c6:: with SMTP id f6mr33796784ybm.16.1622466031357; Mon, 31 May 2021 06:00:31 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1622466031; cv=none; d=google.com; s=arc-20160816; b=GLojNSTC8jfbs5yOB/1dZLaFBoCFmqVNqJc6rQPaL0YWzDInXpideykJTGZDnOuFhS N96IBaUZoZhJcf+4RFXqQjVH2XeF2Ue2agtPHrNLuKVdJJMNh6S/AUjY1RNQ4ufIjGcR atF1SsdLL05YcrZnes/zS9jmsjaJfZERqAI1EUw1aSI/vyyCTxkoU5LUz7NfpdlXvi+b kG7Txt1RMf7U3hVC05RMZ4LSzOhkQAe+sDPNifNH6vLejZM7kpID0ZfBUebq5/5jvAeV SUn40qIHf1hG2E4ac/OdXNeoTPfWoaVySGg3MMdsldY6TlJfqj4oA2GzlL8XxZQdeW+X iD5w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:reply-to:list-subscribe :list-help:list-post:list-archive:list-unsubscribe:list-id :precedence:subject:mime-version:message-id:date:to:from :dkim-signature:delivered-to; bh=cP4WFq80of6gPbSrVQLQGSdv+5nMMQNWnvMBAFrHzMk=; b=jVLYiPFDhftMN1If7+rPNETfVuRvVnN+DNkwOANksWSYBO5tDdbXZatpPAlsIwlIlD Yqa0cnm4uP+BJgp5QG4xvzKFV1rvJGqRvRoHyc0uYbA991CG0exE5WoWClnrMyZMzMww zN7xE9uzadCngemOhgB2e6NOEJuR0I3Yzgvuhuorjj7xWoKHUrv3jQpkgC7e5MlhwbjR zxx+xjo4W9Qx9p+V1gBGuRi05meZZtgL2tmICoNx+ctkLJrCg/NKvQpK8hk61ci2TI8z wjbXOexFJZjLE0WjGOGrJ9/8Jh6m5Q12wchLezT6oWkmjQ2ZJMLX/hj2BNNYTPkstfIm +VNg== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=TK29ctF7; 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 rh9si14403045ejb.139.2021.05.31.06.00.30; Mon, 31 May 2021 06:00:31 -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=20161025 header.b=TK29ctF7; 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 6FE5D68054B; Mon, 31 May 2021 16:00:24 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-lf1-f42.google.com (mail-lf1-f42.google.com [209.85.167.42]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id B4B826806F7 for ; Mon, 31 May 2021 16:00:17 +0300 (EEST) Received: by mail-lf1-f42.google.com with SMTP id a5so16782328lfm.0 for ; Mon, 31 May 2021 06:00:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:mime-version :content-transfer-encoding; bh=RlH6Iq9XBv8CafGDgSGxllA6r1zG6IKm9MtNyYEBLAA=; b=TK29ctF7ZN7U5/b2y8LpkprhlxhC/qr/oG6R8LG6d4vYfegnNcn8EH7yeXegb6vn4B iKI7OS9JJHUV3UjcRXVSBNEBK9Y2sfEhNomtWfGJ8QYNquFDEkq1CqTle+OS/KjEJ8kT efiUvD342jeSKn9f3UNnP619jlj6fjRYJo7ZiNv3W70LGDLAvJJxaDy6Xn4NxUIYE7Gm E4nNXcnsPZJ1OeiyY8OjA0xsbMZLFTwmKFr78VPjpLZAGBPhMteYKR90lDmi8JYHmMaK pxlCe1I0Tt3ugG+DHC+FSib7Dt3E0JrHmtMSKQ2HmMWrxZL/YTaMTauUfWr3SRHZWXhc wvYg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:mime-version :content-transfer-encoding; bh=RlH6Iq9XBv8CafGDgSGxllA6r1zG6IKm9MtNyYEBLAA=; b=nZO0+OYAt6KpgNOeKgKcUofkZ8ET+TNe0xvnZLNhRE6p9bdYieXXF8rA4Cx5Yit7RA iKmt0IBZWIJxAiaYmQy3NZZcD78KdQqKBZiPMNfPvGGq+tSRSizFrRYYEtnRe3ftTPkV wrBYHhVkrQwrIZMT38z9sH+gCxSADK+m1TKV7QNPKop++n336P/YRztNlUgAg0VFQBsf e0K6EcaHyMO0r+cHvn8IY4tJeCitFzL/FGrOwDWJNURwRVXOB2CqYagZ9LiglP8coDkm 9N2bPi4M5kMazi4+qANeGi9i8eL1XbF6Y3U4GoOpZHieZ6lMCL1sWdmDLk7WXtmrVKks fKLw== X-Gm-Message-State: AOAM533JZdRj/yqHXc5BxCbDNXelYUvtk2J+0JrHyAZctVaaky+9u08P CskVnUh1AqkUDBqOVoZ2a8okkl8nd2d4bg== X-Received: by 2002:a05:6512:3f2a:: with SMTP id y42mr14279332lfa.234.1622466016583; Mon, 31 May 2021 06:00:16 -0700 (PDT) Received: from localhost ([2a00:1370:812d:8d4d:8d84:163e:25b3:1177]) by smtp.gmail.com with ESMTPSA id c9sm1340193lfh.146.2021.05.31.06.00.15 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 31 May 2021 06:00:15 -0700 (PDT) From: Valerii Zapodovnikov To: ffmpeg-devel@ffmpeg.org Date: Mon, 31 May 2021 16:00:16 +0300 Message-Id: <20210531130016.358780-1-val.zapod.vz@gmail.com> X-Mailer: git-send-email 2.30.2 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH v3] pixfmt: fixed wrong fix of comment 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: R5LvYSag0pm+ This mostly reverts 785bfb1d7bb8de567c3aac1d9cc369b55ac9fb7b. But I also added some clarifications so that nobody mixes primaries with matrix again. SMPTE 240 and 170 primaires are the same, while matrix coeff. are different, because 240 is derived from 170's new primaries and white point while 170 uses BT.601 derived from BT.470 System M (yes, with Illuminant C) a.k.a. NTSC 1953. Some nits too. --- libavutil/pixfmt.h | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/libavutil/pixfmt.h b/libavutil/pixfmt.h index 30591133a4..5814f3f3da 100644 --- a/libavutil/pixfmt.h +++ b/libavutil/pixfmt.h @@ -443,32 +443,32 @@ enum AVPixelFormat { /** * Chromaticity coordinates of the source primaries. - * These values match the ones defined by ISO/IEC 23001-8_2013 § 7.1. + * These values match the ones defined by ISO/IEC 23091-2_2019 subclause 8.1 and ITU-T H.273. */ enum AVColorPrimaries { AVCOL_PRI_RESERVED0 = 0, - AVCOL_PRI_BT709 = 1, ///< also ITU-R BT1361 / IEC 61966-2-4 / SMPTE RP177 Annex B + AVCOL_PRI_BT709 = 1, ///< also ITU-R BT1361 / IEC 61966-2-4 / SMPTE RP 177 Annex B AVCOL_PRI_UNSPECIFIED = 2, AVCOL_PRI_RESERVED = 3, AVCOL_PRI_BT470M = 4, ///< also FCC Title 47 Code of Federal Regulations 73.682 (a)(20) AVCOL_PRI_BT470BG = 5, ///< also ITU-R BT601-6 625 / ITU-R BT1358 625 / ITU-R BT1700 625 PAL & SECAM AVCOL_PRI_SMPTE170M = 6, ///< also ITU-R BT601-6 525 / ITU-R BT1358 525 / ITU-R BT1700 NTSC - AVCOL_PRI_SMPTE240M = 7, ///< functionally identical to above + AVCOL_PRI_SMPTE240M = 7, ///< identical to above, also called "SMPTE C" even though it uses D65 AVCOL_PRI_FILM = 8, ///< colour filters using Illuminant C AVCOL_PRI_BT2020 = 9, ///< ITU-R BT2020 AVCOL_PRI_SMPTE428 = 10, ///< SMPTE ST 428-1 (CIE 1931 XYZ) AVCOL_PRI_SMPTEST428_1 = AVCOL_PRI_SMPTE428, AVCOL_PRI_SMPTE431 = 11, ///< SMPTE ST 431-2 (2011) / DCI P3 AVCOL_PRI_SMPTE432 = 12, ///< SMPTE ST 432-1 (2010) / P3 D65 / Display P3 - AVCOL_PRI_EBU3213 = 22, ///< EBU Tech. 3213-E / JEDEC P22 phosphors + AVCOL_PRI_EBU3213 = 22, ///< EBU Tech. 3213-E (nothing there) / one of JEDEC P22 group phosphors AVCOL_PRI_JEDEC_P22 = AVCOL_PRI_EBU3213, AVCOL_PRI_NB ///< Not part of ABI }; /** * Color Transfer Characteristic. - * These values match the ones defined by ISO/IEC 23001-8_2013 § 7.2. + * These values match the ones defined by ISO/IEC 23091-2_2019 subclause 8.2. */ enum AVColorTransferCharacteristic { AVCOL_TRC_RESERVED0 = 0, @@ -497,18 +497,18 @@ enum AVColorTransferCharacteristic { /** * YUV colorspace type. - * These values match the ones defined by ISO/IEC 23001-8_2013 § 7.3. + * These values match the ones defined by ISO/IEC 23091-2_2019 subclause 8.3. */ enum AVColorSpace { - AVCOL_SPC_RGB = 0, ///< order of coefficients is actually GBR, also IEC 61966-2-1 (sRGB) - AVCOL_SPC_BT709 = 1, ///< also ITU-R BT1361 / IEC 61966-2-4 xvYCC709 / SMPTE RP177 Annex B + AVCOL_SPC_RGB = 0, ///< order of coefficients is actually GBR, also IEC 61966-2-1 (sRGB), YZX and ST 428-1 + AVCOL_SPC_BT709 = 1, ///< also ITU-R BT1361 / IEC 61966-2-4 xvYCC709 / derived in SMPTE RP 177 Annex B AVCOL_SPC_UNSPECIFIED = 2, - AVCOL_SPC_RESERVED = 3, + AVCOL_SPC_RESERVED = 3, ///< reserved for future use by ITU-T and ISO/IEC just like 15-255 are AVCOL_SPC_FCC = 4, ///< FCC Title 47 Code of Federal Regulations 73.682 (a)(20) AVCOL_SPC_BT470BG = 5, ///< also ITU-R BT601-6 625 / ITU-R BT1358 625 / ITU-R BT1700 625 PAL & SECAM / IEC 61966-2-4 xvYCC601 - AVCOL_SPC_SMPTE170M = 6, ///< also ITU-R BT601-6 525 / ITU-R BT1358 525 / ITU-R BT1700 NTSC - AVCOL_SPC_SMPTE240M = 7, ///< functionally identical to above - AVCOL_SPC_YCGCO = 8, ///< Used by Dirac / VC-2 and H.264 FRext, see ITU-T SG16 + AVCOL_SPC_SMPTE170M = 6, ///< also ITU-R BT601-6 525 / ITU-R BT1358 525 / ITU-R BT1700 NTSC / functionally identical to above + AVCOL_SPC_SMPTE240M = 7, ///< derived from 170M primaries and D65 white point, 170M is derived from BT470 System M's primaries + AVCOL_SPC_YCGCO = 8, ///< used by Dirac / VC-2 and H.264 FRext, see ITU-T SG16 AVCOL_SPC_YCOCG = AVCOL_SPC_YCGCO, AVCOL_SPC_BT2020_NCL = 9, ///< ITU-R BT2020 non-constant luminance system AVCOL_SPC_BT2020_CL = 10, ///< ITU-R BT2020 constant luminance system @@ -530,9 +530,9 @@ enum AVColorSpace { * recommended, as it also defines the full range representation. * * Common definitions: - * - For RGB and luminance planes such as Y in YCbCr and I in ICtCp, + * - For RGB and luma planes such as Y in YCbCr and I in ICtCp, * 'E' is the original value in range of 0.0 to 1.0. - * - For chrominance planes such as Cb,Cr and Ct,Cp, 'E' is the original + * - For chroma planes such as Cb,Cr and Ct,Cp, 'E' is the original * value in range of -0.5 to 0.5. * - 'n' is the output bit depth. * - For additional definitions such as rounding and clipping to valid n @@ -544,13 +544,13 @@ enum AVColorRange { /** * Narrow or limited range content. * - * - For luminance planes: + * - For luma planes: * * (219 * E + 16) * 2^(n-8) * * F.ex. the range of 16-235 for 8 bits * - * - For chrominance planes: + * - For chroma planes: * * (224 * E + 128) * 2^(n-8) * @@ -561,13 +561,13 @@ enum AVColorRange { /** * Full range content. * - * - For RGB and luminance planes: + * - For RGB and luma planes: * * (2^n - 1) * E * * F.ex. the range of 0-255 for 8 bits * - * - For chrominance planes: + * - For chroma planes: * * (2^n - 1) * E + 2^(n - 1) *