From c4e8a2e40de3cda5d2d9eb92cd671ae2f9e414d7 Mon Sep 17 00:00:00 2001 From: Sally Qi Date: Mon, 27 Sep 2021 13:11:35 -0700 Subject: ADataSpace should be aligned with the AIDL Dataspace. Bug: 200309580 Test: build pass Change-Id: Ibe184ca6edcbd61677d2cdf5d45e0ad24161ee30 --- libs/nativewindow/ANativeWindow.cpp | 31 ++++++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) (limited to 'libs/nativewindow/ANativeWindow.cpp') diff --git a/libs/nativewindow/ANativeWindow.cpp b/libs/nativewindow/ANativeWindow.cpp index 75f2385174..2db99923ff 100644 --- a/libs/nativewindow/ANativeWindow.cpp +++ b/libs/nativewindow/ANativeWindow.cpp @@ -133,12 +133,41 @@ int32_t ANativeWindow_setBuffersTransform(ANativeWindow* window, int32_t transfo int32_t ANativeWindow_setBuffersDataSpace(ANativeWindow* window, int32_t dataSpace) { static_assert(static_cast(ADATASPACE_UNKNOWN) == static_cast(HAL_DATASPACE_UNKNOWN)); - static_assert(static_cast(ADATASPACE_SCRGB_LINEAR) == static_cast(HAL_DATASPACE_V0_SCRGB_LINEAR)); + static_assert(static_cast(STANDARD_SHIFT) == static_cast(HAL_DATASPACE_STANDARD_SHIFT)); + static_assert(static_cast(STANDARD_MASK) == static_cast(HAL_DATASPACE_STANDARD_MASK)); + static_assert(static_cast(STANDARD_UNSPECIFIED) == static_cast(HAL_DATASPACE_STANDARD_UNSPECIFIED)); + static_assert(static_cast(STANDARD_BT709) == static_cast(HAL_DATASPACE_STANDARD_BT709)); + static_assert(static_cast(STANDARD_BT601_625) == static_cast(HAL_DATASPACE_STANDARD_BT601_625)); + static_assert(static_cast(STANDARD_BT601_625_UNADJUSTED) == static_cast(HAL_DATASPACE_STANDARD_BT601_625_UNADJUSTED)); + static_assert(static_cast(STANDARD_BT601_525) == static_cast(HAL_DATASPACE_STANDARD_BT601_525)); + static_assert(static_cast(STANDARD_BT601_525_UNADJUSTED) == static_cast(HAL_DATASPACE_STANDARD_BT601_525_UNADJUSTED)); + static_assert(static_cast(STANDARD_BT470M) == static_cast(HAL_DATASPACE_STANDARD_BT470M)); + static_assert(static_cast(STANDARD_FILM) == static_cast(HAL_DATASPACE_STANDARD_FILM)); + static_assert(static_cast(STANDARD_DCI_P3) == static_cast(HAL_DATASPACE_STANDARD_DCI_P3)); + static_assert(static_cast(STANDARD_ADOBE_RGB) == static_cast(HAL_DATASPACE_STANDARD_ADOBE_RGB)); + static_assert(static_cast(TRANSFER_SHIFT) == static_cast(HAL_DATASPACE_TRANSFER_SHIFT)); + static_assert(static_cast(TRANSFER_MASK) == static_cast(HAL_DATASPACE_TRANSFER_MASK)); + static_assert(static_cast(TRANSFER_UNSPECIFIED) == static_cast(HAL_DATASPACE_TRANSFER_UNSPECIFIED)); + static_assert(static_cast(TRANSFER_LINEAR) == static_cast(HAL_DATASPACE_TRANSFER_LINEAR)); + static_assert(static_cast(TRANSFER_SMPTE_170M) == static_cast(HAL_DATASPACE_TRANSFER_SMPTE_170M)); + static_assert(static_cast(TRANSFER_GAMMA2_2) == static_cast(HAL_DATASPACE_TRANSFER_GAMMA2_2)); + static_assert(static_cast(TRANSFER_GAMMA2_6) == static_cast(HAL_DATASPACE_TRANSFER_GAMMA2_6)); + static_assert(static_cast(TRANSFER_GAMMA2_8) == static_cast(HAL_DATASPACE_TRANSFER_GAMMA2_8)); + static_assert(static_cast(TRANSFER_ST2084) == static_cast(HAL_DATASPACE_TRANSFER_ST2084)); + static_assert(static_cast(TRANSFER_HLG) == static_cast(HAL_DATASPACE_TRANSFER_HLG)); + static_assert(static_cast(RANGE_MASK) == static_cast(HAL_DATASPACE_RANGE_MASK)); + static_assert(static_cast(RANGE_UNSPECIFIED) == static_cast(HAL_DATASPACE_RANGE_UNSPECIFIED)); + static_assert(static_cast(RANGE_FULL) == static_cast(HAL_DATASPACE_RANGE_FULL)); + static_assert(static_cast(RANGE_LIMITED) == static_cast(HAL_DATASPACE_RANGE_LIMITED)); + static_assert(static_cast(RANGE_EXTENDED) == static_cast(HAL_DATASPACE_RANGE_EXTENDED)); static_assert(static_cast(ADATASPACE_SRGB) == static_cast(HAL_DATASPACE_V0_SRGB)); static_assert(static_cast(ADATASPACE_SCRGB) == static_cast(HAL_DATASPACE_V0_SCRGB)); static_assert(static_cast(ADATASPACE_DISPLAY_P3) == static_cast(HAL_DATASPACE_DISPLAY_P3)); static_assert(static_cast(ADATASPACE_BT2020_PQ) == static_cast(HAL_DATASPACE_BT2020_PQ)); static_assert(static_cast(ADATASPACE_ADOBE_RGB) == static_cast(HAL_DATASPACE_ADOBE_RGB)); + static_assert(static_cast(ADATASPACE_JFIF) == static_cast(HAL_DATASPACE_V0_JFIF)); + static_assert(static_cast(ADATASPACE_BT601_625) == static_cast(HAL_DATASPACE_V0_BT601_625)); + static_assert(static_cast(ADATASPACE_BT601_525) == static_cast(HAL_DATASPACE_V0_BT601_525)); static_assert(static_cast(ADATASPACE_BT2020) == static_cast(HAL_DATASPACE_BT2020)); static_assert(static_cast(ADATASPACE_BT709) == static_cast(HAL_DATASPACE_V0_BT709)); static_assert(static_cast(ADATASPACE_DCI_P3) == static_cast(HAL_DATASPACE_DCI_P3)); -- cgit v1.2.3-59-g8ed1b From 2d7f1137f36bf93a81f761bcd6a609dd65d3cd57 Mon Sep 17 00:00:00 2001 From: Sally Qi Date: Tue, 12 Oct 2021 15:13:08 -0700 Subject: Remove primary SHIFT variables from ADataSpace Bug: 201539996 Test: build pass Change-Id: I91b65470567d243213cf7e1dbabec5ff41130371 --- libs/nativewindow/ANativeWindow.cpp | 2 - libs/nativewindow/include/android/data_space.h | 62 ++++++++++++-------------- 2 files changed, 28 insertions(+), 36 deletions(-) (limited to 'libs/nativewindow/ANativeWindow.cpp') diff --git a/libs/nativewindow/ANativeWindow.cpp b/libs/nativewindow/ANativeWindow.cpp index 2db99923ff..93e7239783 100644 --- a/libs/nativewindow/ANativeWindow.cpp +++ b/libs/nativewindow/ANativeWindow.cpp @@ -133,7 +133,6 @@ int32_t ANativeWindow_setBuffersTransform(ANativeWindow* window, int32_t transfo int32_t ANativeWindow_setBuffersDataSpace(ANativeWindow* window, int32_t dataSpace) { static_assert(static_cast(ADATASPACE_UNKNOWN) == static_cast(HAL_DATASPACE_UNKNOWN)); - static_assert(static_cast(STANDARD_SHIFT) == static_cast(HAL_DATASPACE_STANDARD_SHIFT)); static_assert(static_cast(STANDARD_MASK) == static_cast(HAL_DATASPACE_STANDARD_MASK)); static_assert(static_cast(STANDARD_UNSPECIFIED) == static_cast(HAL_DATASPACE_STANDARD_UNSPECIFIED)); static_assert(static_cast(STANDARD_BT709) == static_cast(HAL_DATASPACE_STANDARD_BT709)); @@ -145,7 +144,6 @@ int32_t ANativeWindow_setBuffersDataSpace(ANativeWindow* window, int32_t dataSpa static_assert(static_cast(STANDARD_FILM) == static_cast(HAL_DATASPACE_STANDARD_FILM)); static_assert(static_cast(STANDARD_DCI_P3) == static_cast(HAL_DATASPACE_STANDARD_DCI_P3)); static_assert(static_cast(STANDARD_ADOBE_RGB) == static_cast(HAL_DATASPACE_STANDARD_ADOBE_RGB)); - static_assert(static_cast(TRANSFER_SHIFT) == static_cast(HAL_DATASPACE_TRANSFER_SHIFT)); static_assert(static_cast(TRANSFER_MASK) == static_cast(HAL_DATASPACE_TRANSFER_MASK)); static_assert(static_cast(TRANSFER_UNSPECIFIED) == static_cast(HAL_DATASPACE_TRANSFER_UNSPECIFIED)); static_assert(static_cast(TRANSFER_LINEAR) == static_cast(HAL_DATASPACE_TRANSFER_LINEAR)); diff --git a/libs/nativewindow/include/android/data_space.h b/libs/nativewindow/include/android/data_space.h index 612fb3937b..a299488120 100644 --- a/libs/nativewindow/include/android/data_space.h +++ b/libs/nativewindow/include/android/data_space.h @@ -56,9 +56,7 @@ enum ADataSpace { * Defines the chromaticity coordinates of the source primaries in terms of * the CIE 1931 definition of x and y specified in ISO 11664-1. */ - STANDARD_SHIFT = 16, - - STANDARD_MASK = 63 << 16, // 63 << STANDARD_SHIFT = 0x3F + STANDARD_MASK = 63 << 16, /** * Chromacity coordinates are unknown or are determined by the application. @@ -73,7 +71,7 @@ enum ADataSpace { * For all other formats standard is undefined, and implementations should use * an appropriate standard for the data represented. */ - STANDARD_UNSPECIFIED = 0 << 16, // STANDARD_SHIFT + STANDARD_UNSPECIFIED = 0 << 16, /** * Primaries: x y @@ -85,7 +83,7 @@ enum ADataSpace { * Use the unadjusted KR = 0.2126, KB = 0.0722 luminance interpretation * for RGB conversion. */ - STANDARD_BT709 = 1 << 16, // 1 << STANDARD_SHIFT + STANDARD_BT709 = 1 << 16, /** * Primaries: x y @@ -99,7 +97,7 @@ enum ADataSpace { * to minimize the color shift into RGB space that uses BT.709 * primaries. */ - STANDARD_BT601_625 = 2 << 16, // 2 << STANDARD_SHIFT, + STANDARD_BT601_625 = 2 << 16, /** * Primaries: x y @@ -111,7 +109,7 @@ enum ADataSpace { * Use the unadjusted KR = 0.222, KB = 0.071 luminance interpretation * for RGB conversion. */ - STANDARD_BT601_625_UNADJUSTED = 3 << 16, // 3 << STANDARD_SHIFT + STANDARD_BT601_625_UNADJUSTED = 3 << 16, /** * Primaries: x y @@ -125,7 +123,7 @@ enum ADataSpace { * to minimize the color shift into RGB space that uses BT.709 * primaries. */ - STANDARD_BT601_525 = 4 << 16, // 4 << STANDARD_SHIFT + STANDARD_BT601_525 = 4 << 16, /** * Primaries: x y @@ -137,7 +135,7 @@ enum ADataSpace { * Use the unadjusted KR = 0.212, KB = 0.087 luminance interpretation * for RGB conversion (as in SMPTE 240M). */ - STANDARD_BT601_525_UNADJUSTED = 5 << 16, // 5 << STANDARD_SHIFT + STANDARD_BT601_525_UNADJUSTED = 5 << 16, /** * Primaries: x y @@ -149,7 +147,7 @@ enum ADataSpace { * Use the unadjusted KR = 0.2627, KB = 0.0593 luminance interpretation * for RGB conversion. */ - STANDARD_BT2020 = 6 << 16, // 6 << STANDARD_SHIFT + STANDARD_BT2020 = 6 << 16, /** * Primaries: x y @@ -161,7 +159,7 @@ enum ADataSpace { * Use the unadjusted KR = 0.2627, KB = 0.0593 luminance interpretation * for RGB conversion using the linear domain. */ - STANDARD_BT2020_CONSTANT_LUMINANCE = 7 << 16, // 7 << STANDARD_SHIFT + STANDARD_BT2020_CONSTANT_LUMINANCE = 7 << 16, /** * Primaries: x y @@ -173,7 +171,7 @@ enum ADataSpace { * Use the unadjusted KR = 0.30, KB = 0.11 luminance interpretation * for RGB conversion. */ - STANDARD_BT470M = 8 << 16, // 8 << STANDARD_SHIFT + STANDARD_BT470M = 8 << 16, /** * Primaries: x y @@ -185,7 +183,7 @@ enum ADataSpace { * Use the unadjusted KR = 0.254, KB = 0.068 luminance interpretation * for RGB conversion. */ - STANDARD_FILM = 9 << 16, // 9 << STANDARD_SHIFT + STANDARD_FILM = 9 << 16, /** * SMPTE EG 432-1 and SMPTE RP 431-2. (DCI-P3) @@ -195,7 +193,7 @@ enum ADataSpace { * red 0.680 0.320 * white (D65) 0.3127 0.3290 */ - STANDARD_DCI_P3 = 10 << 16, // 10 << STANDARD_SHIFT + STANDARD_DCI_P3 = 10 << 16, /** * Adobe RGB @@ -205,7 +203,7 @@ enum ADataSpace { * red 0.640 0.330 * white (D65) 0.3127 0.3290 */ - STANDARD_ADOBE_RGB = 11 << 16, // 11 << STANDARD_SHIFT + STANDARD_ADOBE_RGB = 11 << 16, /** * Transfer aspect @@ -220,9 +218,7 @@ enum ADataSpace { * component. Implementation may apply the transfer function in RGB space * for all pixel formats if desired. */ - TRANSFER_SHIFT = 22, - - TRANSFER_MASK = 31 << 22, // 31 << TRANSFER_SHIFT = 0x1F + TRANSFER_MASK = 31 << 22, /** * Transfer characteristics are unknown or are determined by the @@ -236,7 +232,7 @@ enum ADataSpace { * For all other formats transfer function is undefined, and implementations * should use an appropriate standard for the data represented. */ - TRANSFER_UNSPECIFIED = 0 << 22, // 0 << TRANSFER_SHIFT + TRANSFER_UNSPECIFIED = 0 << 22, /** * Transfer characteristic curve: @@ -244,7 +240,7 @@ enum ADataSpace { * L - luminance of image 0 <= L <= 1 for conventional colorimetry * E - corresponding electrical signal */ - TRANSFER_LINEAR = 1 << 22, // 1 << TRANSFER_SHIFT + TRANSFER_LINEAR = 1 << 22, /** * Transfer characteristic curve: @@ -254,7 +250,7 @@ enum ADataSpace { * L - luminance of image 0 <= L <= 1 for conventional colorimetry * E - corresponding electrical signal */ - TRANSFER_SRGB = 2 << 22, // 2 << TRANSFER_SHIFT + TRANSFER_SRGB = 2 << 22, /** * BT.601 525, BT.601 625, BT.709, BT.2020 @@ -265,7 +261,7 @@ enum ADataSpace { * L - luminance of image 0 <= L <= 1 for conventional colorimetry * E - corresponding electrical signal */ - TRANSFER_SMPTE_170M = 3 << 22, // 3 << TRANSFER_SHIFT + TRANSFER_SMPTE_170M = 3 << 22, /** * Assumed display gamma 2.2. @@ -275,7 +271,7 @@ enum ADataSpace { * L - luminance of image 0 <= L <= 1 for conventional colorimetry * E - corresponding electrical signal */ - TRANSFER_GAMMA2_2 = 4 << 22, // 4 << TRANSFER_SHIFT + TRANSFER_GAMMA2_2 = 4 << 22, /** * display gamma 2.6. @@ -285,7 +281,7 @@ enum ADataSpace { * L - luminance of image 0 <= L <= 1 for conventional colorimetry * E - corresponding electrical signal */ - TRANSFER_GAMMA2_6 = 5 << 22, // 5 << TRANSFER_SHIFT + TRANSFER_GAMMA2_6 = 5 << 22, /** * display gamma 2.8. @@ -295,7 +291,7 @@ enum ADataSpace { * L - luminance of image 0 <= L <= 1 for conventional colorimetry * E - corresponding electrical signal */ - TRANSFER_GAMMA2_8 = 6 << 22, // 6 << TRANSFER_SHIFT + TRANSFER_GAMMA2_8 = 6 << 22, /** * SMPTE ST 2084 (Dolby Perceptual Quantizer) @@ -311,7 +307,7 @@ enum ADataSpace { * L = 1 corresponds to 10000 cd/m2 * E - corresponding electrical signal */ - TRANSFER_ST2084 = 7 << 22, // 7 << TRANSFER_SHIFT + TRANSFER_ST2084 = 7 << 22, /** * ARIB STD-B67 Hybrid Log Gamma @@ -327,7 +323,7 @@ enum ADataSpace { * to reference white level of 100 cd/m2 * E - corresponding electrical signal */ - TRANSFER_HLG = 8 << 22, // 8 << TRANSFER_SHIFT + TRANSFER_HLG = 8 << 22, /** * Range aspect @@ -335,9 +331,7 @@ enum ADataSpace { * Defines the range of values corresponding to the unit range of 0-1. * This is defined for YCbCr only, but can be expanded to RGB space. */ - RANGE_SHIFT = 27, - - RANGE_MASK = 7 << 27, // 7 << RANGE_SHIFT = 0x7 + RANGE_MASK = 7 << 27, /** * Range is unknown or are determined by the application. Implementations @@ -350,13 +344,13 @@ enum ADataSpace { * For all other formats range is undefined, and implementations should use * an appropriate range for the data represented. */ - RANGE_UNSPECIFIED = 0 << 27, // 0 << RANGE_SHIFT = 0x0 + RANGE_UNSPECIFIED = 0 << 27, /** * Full range uses all values for Y, Cb and Cr from * 0 to 2^b-1, where b is the bit depth of the color format. */ - RANGE_FULL = 1 << 27, // 1 << RANGE_SHIFT = 0x8000000 + RANGE_FULL = 1 << 27, /** * Limited range uses values 16/256*2^b to 235/256*2^b for Y, and @@ -371,7 +365,7 @@ enum ADataSpace { * Luma (Y) samples should range from 64 to 940, inclusive * Chroma (Cb, Cr) samples should range from 64 to 960, inclusive */ - RANGE_LIMITED = 2 << 27, // 2 << RANGE_SHIFT = 0x10000000 + RANGE_LIMITED = 2 << 27, /** * Extended range is used for scRGB. Intended for use with @@ -380,7 +374,7 @@ enum ADataSpace { * color outside the sRGB gamut. * Used to blend / merge multiple dataspaces on a single display. */ - RANGE_EXTENDED = 3 << 27, // 3 << RANGE_SHIFT = 0x18000000 + RANGE_EXTENDED = 3 << 27, /** * scRGB linear encoding: -- cgit v1.2.3-59-g8ed1b From 957706030117d1dabdf57ee794c23f1df77089f6 Mon Sep 17 00:00:00 2001 From: Sally Qi Date: Mon, 15 Nov 2021 11:16:26 -0800 Subject: Add BT2020 HLG and variant into ADataSpace Bug: 201535612 Test: build pass Change-Id: Iecde54a4ba554f16bcb381ab65c8d9d8f22222bb --- libs/nativewindow/ANativeWindow.cpp | 4 ++++ libs/nativewindow/include/android/data_space.h | 14 ++++++++++++++ 2 files changed, 18 insertions(+) (limited to 'libs/nativewindow/ANativeWindow.cpp') diff --git a/libs/nativewindow/ANativeWindow.cpp b/libs/nativewindow/ANativeWindow.cpp index 93e7239783..988d2a0876 100644 --- a/libs/nativewindow/ANativeWindow.cpp +++ b/libs/nativewindow/ANativeWindow.cpp @@ -170,6 +170,10 @@ int32_t ANativeWindow_setBuffersDataSpace(ANativeWindow* window, int32_t dataSpa static_assert(static_cast(ADATASPACE_BT709) == static_cast(HAL_DATASPACE_V0_BT709)); static_assert(static_cast(ADATASPACE_DCI_P3) == static_cast(HAL_DATASPACE_DCI_P3)); static_assert(static_cast(ADATASPACE_SRGB_LINEAR) == static_cast(HAL_DATASPACE_V0_SRGB_LINEAR)); + static_assert(static_cast(ADATASPACE_BT2020_HLG) == + static_cast(HAL_DATASPACE_BT2020_HLG)); + static_assert(static_cast(ADATASPACE_BT2020_ITU_HLG) == + static_cast(HAL_DATASPACE_BT2020_ITU_HLG)); if (!window || !query(window, NATIVE_WINDOW_IS_VALID) || !isDataSpaceValid(window, dataSpace)) { diff --git a/libs/nativewindow/include/android/data_space.h b/libs/nativewindow/include/android/data_space.h index 0565f424f2..bc4a91409c 100644 --- a/libs/nativewindow/include/android/data_space.h +++ b/libs/nativewindow/include/android/data_space.h @@ -519,6 +519,20 @@ enum ADataSpace { * components. */ ADATASPACE_SRGB_LINEAR = 138477568, // STANDARD_BT709 | TRANSFER_LINEAR | RANGE_FULL + + /** + * Hybrid Log Gamma encoding: + * + * Use full range, hybrid log gamma transfer and BT2020 standard. + */ + ADATASPACE_BT2020_HLG = 168165376, // STANDARD_BT2020 | TRANSFER_HLG | RANGE_FULL + + /** + * ITU Hybrid Log Gamma encoding: + * + * Use limited range, hybrid log gamma transfer and BT2020 standard. + */ + ADATASPACE_BT2020_ITU_HLG = 302383104 // STANDARD_BT2020 | TRANSFER_HLG | RANGE_LIMITED }; __END_DECLS -- cgit v1.2.3-59-g8ed1b From 31c3f57fdce7b73f3ad8f14be404b97299f23f6d Mon Sep 17 00:00:00 2001 From: Sally Qi Date: Tue, 16 Nov 2021 10:14:50 -0800 Subject: Add BT2020 PQ variant to ADataSpace Bug: 201535612 Test: builds Change-Id: I0851a5fcf8afaa8cf9f9f8a6d15da3f60e601fd5 --- libs/nativewindow/ANativeWindow.cpp | 2 ++ libs/nativewindow/include/android/data_space.h | 9 +++++++++ 2 files changed, 11 insertions(+) (limited to 'libs/nativewindow/ANativeWindow.cpp') diff --git a/libs/nativewindow/ANativeWindow.cpp b/libs/nativewindow/ANativeWindow.cpp index 93e7239783..5823207517 100644 --- a/libs/nativewindow/ANativeWindow.cpp +++ b/libs/nativewindow/ANativeWindow.cpp @@ -162,6 +162,8 @@ int32_t ANativeWindow_setBuffersDataSpace(ANativeWindow* window, int32_t dataSpa static_assert(static_cast(ADATASPACE_SCRGB) == static_cast(HAL_DATASPACE_V0_SCRGB)); static_assert(static_cast(ADATASPACE_DISPLAY_P3) == static_cast(HAL_DATASPACE_DISPLAY_P3)); static_assert(static_cast(ADATASPACE_BT2020_PQ) == static_cast(HAL_DATASPACE_BT2020_PQ)); + static_assert(static_cast(ADATASPACE_BT2020_ITU_PQ) == + static_cast(HAL_DATASPACE_BT2020_ITU_PQ)); static_assert(static_cast(ADATASPACE_ADOBE_RGB) == static_cast(HAL_DATASPACE_ADOBE_RGB)); static_assert(static_cast(ADATASPACE_JFIF) == static_cast(HAL_DATASPACE_V0_JFIF)); static_assert(static_cast(ADATASPACE_BT601_625) == static_cast(HAL_DATASPACE_V0_BT601_625)); diff --git a/libs/nativewindow/include/android/data_space.h b/libs/nativewindow/include/android/data_space.h index 0565f424f2..66f0e96873 100644 --- a/libs/nativewindow/include/android/data_space.h +++ b/libs/nativewindow/include/android/data_space.h @@ -443,6 +443,15 @@ enum ADataSpace { */ ADATASPACE_BT2020_PQ = 163971072, // STANDARD_BT2020 | TRANSFER_ST2084 | RANGE_FULL + /** + * ITU-R Recommendation 2020 (BT.2020) + * + * Ultra High-definition television + * + * Use limited range, SMPTE 2084 (PQ) transfer and BT2020 standard + */ + ADATASPACE_BT2020_ITU_PQ = 298188800, // STANDARD_BT2020 | TRANSFER_ST2084 | RANGE_LIMITED + /** * Adobe RGB * -- cgit v1.2.3-59-g8ed1b From f83160f3f022ee04a68f1293631e0898ba5bb52f Mon Sep 17 00:00:00 2001 From: Sally Qi Date: Tue, 7 Dec 2021 11:41:05 -0800 Subject: Add DEPTH variables into ADataSpace Bug: 205034862 Test: builds Change-Id: I1ac30853a873744027c2ea0aac731ecb76ca3b34 --- libs/nativewindow/ANativeWindow.cpp | 2 ++ libs/nativewindow/include/android/data_space.h | 16 +++++++++++++++- 2 files changed, 17 insertions(+), 1 deletion(-) (limited to 'libs/nativewindow/ANativeWindow.cpp') diff --git a/libs/nativewindow/ANativeWindow.cpp b/libs/nativewindow/ANativeWindow.cpp index c447d31606..18a4b2d3e8 100644 --- a/libs/nativewindow/ANativeWindow.cpp +++ b/libs/nativewindow/ANativeWindow.cpp @@ -176,6 +176,8 @@ int32_t ANativeWindow_setBuffersDataSpace(ANativeWindow* window, int32_t dataSpa static_cast(HAL_DATASPACE_BT2020_HLG)); static_assert(static_cast(ADATASPACE_BT2020_ITU_HLG) == static_cast(HAL_DATASPACE_BT2020_ITU_HLG)); + static_assert(static_cast(DEPTH) == static_cast(HAL_DATASPACE_DEPTH)); + static_assert(static_cast(DYNAMIC_DEPTH) == static_cast(HAL_DATASPACE_DYNAMIC_DEPTH)); if (!window || !query(window, NATIVE_WINDOW_IS_VALID) || !isDataSpaceValid(window, dataSpace)) { diff --git a/libs/nativewindow/include/android/data_space.h b/libs/nativewindow/include/android/data_space.h index 30ac220052..771844f4fe 100644 --- a/libs/nativewindow/include/android/data_space.h +++ b/libs/nativewindow/include/android/data_space.h @@ -541,7 +541,21 @@ enum ADataSpace { * * Use limited range, hybrid log gamma transfer and BT2020 standard. */ - ADATASPACE_BT2020_ITU_HLG = 302383104 // STANDARD_BT2020 | TRANSFER_HLG | RANGE_LIMITED + ADATASPACE_BT2020_ITU_HLG = 302383104, // STANDARD_BT2020 | TRANSFER_HLG | RANGE_LIMITED + + /** + * Depth: + * + * This value is valid with formats HAL_PIXEL_FORMAT_Y16 and HAL_PIXEL_FORMAT_BLOB. + */ + DEPTH = 4096, + + /** + * ISO 16684-1:2011(E) Dynamic Depth: + * + * Embedded depth metadata following the dynamic depth specification. + */ + DYNAMIC_DEPTH = 4098 }; __END_DECLS -- cgit v1.2.3-59-g8ed1b