Loading libs/ui/include_types/ui/DataspaceUtils.h +2 −4 Original line number Diff line number Diff line Loading @@ -22,10 +22,8 @@ namespace android { inline bool isHdrDataspace(ui::Dataspace dataspace) { const auto transfer = dataspace & HAL_DATASPACE_TRANSFER_MASK; const auto range = dataspace & HAL_DATASPACE_RANGE_MASK; return transfer == HAL_DATASPACE_TRANSFER_ST2084 || transfer == HAL_DATASPACE_TRANSFER_HLG || range == HAL_DATASPACE_RANGE_EXTENDED; return transfer == HAL_DATASPACE_TRANSFER_ST2084 || transfer == HAL_DATASPACE_TRANSFER_HLG; } } // namespace android No newline at end of file libs/ui/tests/DataspaceUtils_test.cpp +3 −4 Original line number Diff line number Diff line Loading @@ -29,13 +29,12 @@ TEST_F(DataspaceUtilsTest, isHdrDataspace) { EXPECT_TRUE(isHdrDataspace(ui::Dataspace::BT2020_ITU_PQ)); EXPECT_TRUE(isHdrDataspace(ui::Dataspace::BT2020_PQ)); EXPECT_TRUE(isHdrDataspace(ui::Dataspace::BT2020_HLG)); // The original formulation of scRGB indicates the same white points as that // of sRGB, however scRGB may be used to implement HDR. EXPECT_TRUE(isHdrDataspace(ui::Dataspace::V0_SCRGB_LINEAR)); EXPECT_TRUE(isHdrDataspace(ui::Dataspace::V0_SCRGB)); EXPECT_FALSE(isHdrDataspace(ui::Dataspace::V0_SRGB_LINEAR)); // scRGB defines a very wide gamut but not an expanded luminance range EXPECT_FALSE(isHdrDataspace(ui::Dataspace::V0_SCRGB_LINEAR)); EXPECT_FALSE(isHdrDataspace(ui::Dataspace::V0_SRGB)); EXPECT_FALSE(isHdrDataspace(ui::Dataspace::V0_SCRGB)); EXPECT_FALSE(isHdrDataspace(ui::Dataspace::V0_JFIF)); EXPECT_FALSE(isHdrDataspace(ui::Dataspace::V0_BT601_625)); EXPECT_FALSE(isHdrDataspace(ui::Dataspace::V0_BT601_525)); Loading services/surfaceflinger/DisplayHardware/HWC2.cpp +9 −10 Original line number Diff line number Diff line Loading @@ -842,25 +842,24 @@ Error Layer::setPerFrameMetadata(const int32_t supportedPerFrameMetadata, mHdrMetadata.cta8613.maxFrameAverageLightLevel}}); } Error error = static_cast<Error>( const Error error = static_cast<Error>( mComposer.setLayerPerFrameMetadata(mDisplay->getId(), mId, perFrameMetadatas)); if (error != Error::NONE) { return error; } std::vector<Hwc2::PerFrameMetadataBlob> perFrameMetadataBlobs; if (validTypes & HdrMetadata::HDR10PLUS) { if (CC_UNLIKELY(mHdrMetadata.hdr10plus.size() == 0)) { return Error::BAD_PARAMETER; } std::vector<Hwc2::PerFrameMetadataBlob> perFrameMetadataBlobs; perFrameMetadataBlobs.push_back( {Hwc2::PerFrameMetadataKey::HDR10_PLUS_SEI, mHdrMetadata.hdr10plus}); Error setMetadataBlobsError = static_cast<Error>(mComposer.setLayerPerFrameMetadataBlobs(mDisplay->getId(), mId, perFrameMetadataBlobs)); if (error == Error::NONE) { return setMetadataBlobsError; } } return error; return static_cast<Error>( mComposer.setLayerPerFrameMetadataBlobs(mDisplay->getId(), mId, perFrameMetadataBlobs)); } Error Layer::setDisplayFrame(const Rect& frame) Loading Loading
libs/ui/include_types/ui/DataspaceUtils.h +2 −4 Original line number Diff line number Diff line Loading @@ -22,10 +22,8 @@ namespace android { inline bool isHdrDataspace(ui::Dataspace dataspace) { const auto transfer = dataspace & HAL_DATASPACE_TRANSFER_MASK; const auto range = dataspace & HAL_DATASPACE_RANGE_MASK; return transfer == HAL_DATASPACE_TRANSFER_ST2084 || transfer == HAL_DATASPACE_TRANSFER_HLG || range == HAL_DATASPACE_RANGE_EXTENDED; return transfer == HAL_DATASPACE_TRANSFER_ST2084 || transfer == HAL_DATASPACE_TRANSFER_HLG; } } // namespace android No newline at end of file
libs/ui/tests/DataspaceUtils_test.cpp +3 −4 Original line number Diff line number Diff line Loading @@ -29,13 +29,12 @@ TEST_F(DataspaceUtilsTest, isHdrDataspace) { EXPECT_TRUE(isHdrDataspace(ui::Dataspace::BT2020_ITU_PQ)); EXPECT_TRUE(isHdrDataspace(ui::Dataspace::BT2020_PQ)); EXPECT_TRUE(isHdrDataspace(ui::Dataspace::BT2020_HLG)); // The original formulation of scRGB indicates the same white points as that // of sRGB, however scRGB may be used to implement HDR. EXPECT_TRUE(isHdrDataspace(ui::Dataspace::V0_SCRGB_LINEAR)); EXPECT_TRUE(isHdrDataspace(ui::Dataspace::V0_SCRGB)); EXPECT_FALSE(isHdrDataspace(ui::Dataspace::V0_SRGB_LINEAR)); // scRGB defines a very wide gamut but not an expanded luminance range EXPECT_FALSE(isHdrDataspace(ui::Dataspace::V0_SCRGB_LINEAR)); EXPECT_FALSE(isHdrDataspace(ui::Dataspace::V0_SRGB)); EXPECT_FALSE(isHdrDataspace(ui::Dataspace::V0_SCRGB)); EXPECT_FALSE(isHdrDataspace(ui::Dataspace::V0_JFIF)); EXPECT_FALSE(isHdrDataspace(ui::Dataspace::V0_BT601_625)); EXPECT_FALSE(isHdrDataspace(ui::Dataspace::V0_BT601_525)); Loading
services/surfaceflinger/DisplayHardware/HWC2.cpp +9 −10 Original line number Diff line number Diff line Loading @@ -842,25 +842,24 @@ Error Layer::setPerFrameMetadata(const int32_t supportedPerFrameMetadata, mHdrMetadata.cta8613.maxFrameAverageLightLevel}}); } Error error = static_cast<Error>( const Error error = static_cast<Error>( mComposer.setLayerPerFrameMetadata(mDisplay->getId(), mId, perFrameMetadatas)); if (error != Error::NONE) { return error; } std::vector<Hwc2::PerFrameMetadataBlob> perFrameMetadataBlobs; if (validTypes & HdrMetadata::HDR10PLUS) { if (CC_UNLIKELY(mHdrMetadata.hdr10plus.size() == 0)) { return Error::BAD_PARAMETER; } std::vector<Hwc2::PerFrameMetadataBlob> perFrameMetadataBlobs; perFrameMetadataBlobs.push_back( {Hwc2::PerFrameMetadataKey::HDR10_PLUS_SEI, mHdrMetadata.hdr10plus}); Error setMetadataBlobsError = static_cast<Error>(mComposer.setLayerPerFrameMetadataBlobs(mDisplay->getId(), mId, perFrameMetadataBlobs)); if (error == Error::NONE) { return setMetadataBlobsError; } } return error; return static_cast<Error>( mComposer.setLayerPerFrameMetadataBlobs(mDisplay->getId(), mId, perFrameMetadataBlobs)); } Error Layer::setDisplayFrame(const Rect& frame) Loading