diff --git a/media/libstagefright/FrameCaptureLayer.cpp b/media/libstagefright/FrameCaptureLayer.cpp index 815057df61..d2cfd41fc9 100644 --- a/media/libstagefright/FrameCaptureLayer.cpp +++ b/media/libstagefright/FrameCaptureLayer.cpp @@ -67,7 +67,8 @@ ui::Dataspace translateDataspace(ui::Dataspace dataspace) { bool isHdrY410(const BufferItem &bi) { ui::Dataspace dataspace = translateDataspace(static_cast(bi.mDataSpace)); // pixel format is HDR Y410 masquerading as RGBA_1010102 - return (dataspace == ui::Dataspace::BT2020_ITU_PQ && + return ((dataspace == ui::Dataspace::BT2020_ITU_PQ || + dataspace == ui::Dataspace::BT2020_ITU_HLG) && bi.mGraphicBuffer->getPixelFormat() == HAL_PIXEL_FORMAT_RGBA_1010102); } diff --git a/media/libstagefright/FrameDecoder.cpp b/media/libstagefright/FrameDecoder.cpp index 3c4524b0d6..734f5bb5ae 100644 --- a/media/libstagefright/FrameDecoder.cpp +++ b/media/libstagefright/FrameDecoder.cpp @@ -248,7 +248,8 @@ bool isHDR(const sp &format) { transfer = 0; } return standard == ColorUtils::kColorStandardBT2020 && - transfer == ColorUtils::kColorTransferST2084; + (transfer == ColorUtils::kColorTransferST2084 || + transfer == ColorUtils::kColorTransferHLG); } status_t FrameDecoder::init(