/* * Copyright(c) 2019 Intel Corporation * Copyright (c) 2016, Alliance for Open Media. All rights reserved * * This source code is subject to the terms of the BSD 2 Clause License and * the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License * was not distributed with this source code in the LICENSE file, you can * obtain it at https://www.aomedia.org/license/software-license. If the Alliance for Open * Media Patent License 1.0 was not distributed with this source code in the * PATENTS file, you can obtain it at https://www.aomedia.org/license/patent-license. */ #ifndef EbSvtAv1Formats_h #define EbSvtAv1Formats_h #ifdef __cplusplus extern "C" { #endif // __cplusplus /*!\brief List of supported color primaries */ typedef enum EbColorPrimaries { EB_CICP_CP_RESERVED_0 = 0, /**< For future use */ EB_CICP_CP_BT_709 = 1, /**< BT.709 */ EB_CICP_CP_UNSPECIFIED = 2, /**< Unspecified */ EB_CICP_CP_RESERVED_3 = 3, /**< For future use */ EB_CICP_CP_BT_470_M = 4, /**< BT.470 System M (historical) */ EB_CICP_CP_BT_470_B_G = 5, /**< BT.470 System B, G (historical) */ EB_CICP_CP_BT_601 = 6, /**< BT.601 */ EB_CICP_CP_SMPTE_240 = 7, /**< SMPTE 240 */ EB_CICP_CP_GENERIC_FILM = 8, /**< Generic film (color filters using illuminant C) */ EB_CICP_CP_BT_2020 = 9, /**< BT.2020, BT.2100 */ EB_CICP_CP_XYZ = 10, /**< SMPTE 428 (CIE 1921 XYZ) */ EB_CICP_CP_SMPTE_431 = 11, /**< SMPTE RP 431-2 */ EB_CICP_CP_SMPTE_432 = 12, /**< SMPTE EG 432-1 */ EB_CICP_CP_RESERVED_13 = 13, /**< For future use (values 13 - 21) */ EB_CICP_CP_EBU_3213 = 22, /**< EBU Tech. 3213-E */ EB_CICP_CP_RESERVED_23 = 23, /**< For future use (values 23 - 255) */ EB_CICP_CP_RESERVED_24 = 24, /**< For future use (values 24 - 255) */ EB_CICP_CP_RESERVED_25 = 25, /**< For future use (values 25 - 255) */ EB_CICP_CP_RESERVED_26 = 26 /**< For future use (values 26 - 255) */ } EbColorPrimaries; /**< alias for enum aom_color_primaries */ /*!\brief List of supported transfer functions */ typedef enum EbTransferCharacteristics { EB_CICP_TC_RESERVED_0 = 0, /**< For future use */ EB_CICP_TC_BT_709 = 1, /**< BT.709 */ EB_CICP_TC_UNSPECIFIED = 2, /**< Unspecified */ EB_CICP_TC_RESERVED_3 = 3, /**< For future use */ EB_CICP_TC_BT_470_M = 4, /**< BT.470 System M (historical) */ EB_CICP_TC_BT_470_B_G = 5, /**< BT.470 System B, G (historical) */ EB_CICP_TC_BT_601 = 6, /**< BT.601 */ EB_CICP_TC_SMPTE_240 = 7, /**< SMPTE 240 M */ EB_CICP_TC_LINEAR = 8, /**< Linear */ EB_CICP_TC_LOG_100 = 9, /**< Logarithmic (100 : 1 range) */ EB_CICP_TC_LOG_100_SQRT10 = 10, /**< Logarithmic (100 * Sqrt(10) : 1 range) */ EB_CICP_TC_IEC_61966 = 11, /**< IEC 61966-2-4 */ EB_CICP_TC_BT_1361 = 12, /**< BT.1361 */ EB_CICP_TC_SRGB = 13, /**< sRGB or sYCC*/ EB_CICP_TC_BT_2020_10_BIT = 14, /**< BT.2020 10-bit systems */ EB_CICP_TC_BT_2020_12_BIT = 15, /**< BT.2020 12-bit systems */ EB_CICP_TC_SMPTE_2084 = 16, /**< SMPTE ST 2084, ITU BT.2100 PQ */ EB_CICP_TC_SMPTE_428 = 17, /**< SMPTE ST 428 */ EB_CICP_TC_HLG = 18, /**< BT.2100 HLG, ARIB STD-B67 */ EB_CICP_TC_RESERVED_19 = 19, /**< For future use (values 19-255) */ EB_CICP_TC_RESERVED_20 = 20, /**< For future use (values 20-255) */ EB_CICP_TC_RESERVED_21 = 21, /**< For future use (values 21-255) */ EB_CICP_TC_RESERVED_22 = 22, /**< For future use (values 22-255) */ EB_CICP_TC_RESERVED_23 = 23 /**< For future use (values 23-255) */ } EbTransferCharacteristics; /**< alias for enum aom_transfer_function */ /*!\brief List of supported matrix coefficients */ typedef enum EbMatrixCoefficients { EB_CICP_MC_IDENTITY = 0, /**< Identity matrix */ EB_CICP_MC_BT_709 = 1, /**< BT.709 */ EB_CICP_MC_UNSPECIFIED = 2, /**< Unspecified */ EB_CICP_MC_RESERVED_3 = 3, /**< For future use */ EB_CICP_MC_FCC = 4, /**< US FCC 73.628 */ EB_CICP_MC_BT_470_B_G = 5, /**< BT.470 System B, G (historical) */ EB_CICP_MC_BT_601 = 6, /**< BT.601 */ EB_CICP_MC_SMPTE_240 = 7, /**< SMPTE 240 M */ EB_CICP_MC_SMPTE_YCGCO = 8, /**< YCgCo */ EB_CICP_MC_BT_2020_NCL = 9, /**< BT.2020 non-constant luminance, BT.2100 YCbCr */ EB_CICP_MC_BT_2020_CL = 10, /**< BT.2020 constant luminance */ EB_CICP_MC_SMPTE_2085 = 11, /**< SMPTE ST 2085 YDzDx */ EB_CICP_MC_CHROMAT_NCL = 12, /**< Chromaticity-derived non-constant luminance */ EB_CICP_MC_CHROMAT_CL = 13, /**< Chromaticity-derived constant luminance */ EB_CICP_MC_ICTCP = 14, /**< BT.2100 ICtCp */ EB_CICP_MC_RESERVED_15 = 15, /**< For future use (values 15-255) */ EB_CICP_MC_RESERVED_16 = 16, /**< For future use (values 16-255) */ EB_CICP_MC_RESERVED_17 = 17, /**< For future use (values 17-255) */ EB_CICP_MC_RESERVED_18 = 18 /**< For future use (values 18-255) */ } EbMatrixCoefficients; /*!\brief List of supported color range */ typedef enum EbColorRange { EB_CR_STUDIO_RANGE = 0, /**< Y [16..235], UV [16..240] */ EB_CR_FULL_RANGE = 1 /**< YUV/RGB [0..255] */ } EbColorRange; /**< alias for enum aom_color_range */ /* AV1 bit depth */ typedef enum EbBitDepth { EB_EIGHT_BIT = 8, EB_TEN_BIT = 10, EB_TWELVE_BIT = 12, EB_FOURTEEN_BIT = 14, // Not supported EB_SIXTEEN_BIT = 16, // Not supported EB_THIRTYTWO_BIT = 32, // Not supported } EbBitDepth; /* AV1 Chroma Format */ typedef enum EbColorFormat { EB_YUV400, EB_YUV420, EB_YUV422, EB_YUV444 } EbColorFormat; /*!\brief List of chroma sample positions */ typedef enum EbChromaSamplePosition { EB_CSP_UNKNOWN = 0, /**< Unknown */ EB_CSP_VERTICAL = 1, /**< Horizontally co-located with luma(0, 0)*/ /**< sample, between two vertical samples */ EB_CSP_COLOCATED = 2, /**< Co-located with luma(0, 0) sample */ EB_CSP_RESERVED = 3 /**< Reserved value */ } EbChromaSamplePosition; /**< alias for enum aom_transfer_function */ #ifdef __cplusplus } #endif // __cplusplus #endif // EbSvtAv1Formats_h