diff options
Diffstat (limited to 'libs/ui/DebugUtils.cpp')
-rw-r--r-- | libs/ui/DebugUtils.cpp | 113 |
1 files changed, 62 insertions, 51 deletions
diff --git a/libs/ui/DebugUtils.cpp b/libs/ui/DebugUtils.cpp index 8675f14d43..bee58e548a 100644 --- a/libs/ui/DebugUtils.cpp +++ b/libs/ui/DebugUtils.cpp @@ -22,14 +22,12 @@ #include <android-base/stringprintf.h> #include <string> -using android::base::StringAppendF; using android::base::StringPrintf; using android::ui::ColorMode; using android::ui::RenderIntent; -std::string decodeStandard(android_dataspace dataspace) { - const uint32_t dataspaceSelect = (dataspace & HAL_DATASPACE_STANDARD_MASK); - switch (dataspaceSelect) { +std::string decodeStandardOnly(uint32_t dataspaceStandard) { + switch (dataspaceStandard) { case HAL_DATASPACE_STANDARD_BT709: return std::string("BT709"); @@ -62,63 +60,44 @@ std::string decodeStandard(android_dataspace dataspace) { case HAL_DATASPACE_STANDARD_ADOBE_RGB: return std::string("AdobeRGB"); - - case 0: - switch (dataspace & 0xffff) { - case HAL_DATASPACE_JFIF: - return std::string("(deprecated) JFIF (BT601_625)"); - - case HAL_DATASPACE_BT601_625: - return std::string("(deprecated) BT601_625"); - - case HAL_DATASPACE_BT601_525: - return std::string("(deprecated) BT601_525"); - - case HAL_DATASPACE_SRGB_LINEAR: - case HAL_DATASPACE_SRGB: - return std::string("(deprecated) sRGB"); - - case HAL_DATASPACE_BT709: - return std::string("(deprecated) BT709"); - - case HAL_DATASPACE_ARBITRARY: - return std::string("ARBITRARY"); - - case HAL_DATASPACE_UNKNOWN: - // Fallthrough - default: - return StringPrintf("Unknown deprecated dataspace code %d", dataspace); - } } - return StringPrintf("Unknown dataspace code %d", dataspaceSelect); + return StringPrintf("Unknown dataspace code %d", dataspaceStandard); } -std::string decodeTransfer(android_dataspace dataspace) { - const uint32_t dataspaceSelect = (dataspace & HAL_DATASPACE_STANDARD_MASK); - if (dataspaceSelect == 0) { +std::string decodeStandard(android_dataspace dataspace) { + const uint32_t dataspaceStandard = (dataspace & HAL_DATASPACE_STANDARD_MASK); + if (dataspaceStandard == 0) { switch (dataspace & 0xffff) { case HAL_DATASPACE_JFIF: + return std::string("(deprecated) JFIF (BT601_625)"); + case HAL_DATASPACE_BT601_625: + return std::string("(deprecated) BT601_625"); + case HAL_DATASPACE_BT601_525: - case HAL_DATASPACE_BT709: - return std::string("SMPTE_170M"); + return std::string("(deprecated) BT601_525"); case HAL_DATASPACE_SRGB_LINEAR: - case HAL_DATASPACE_ARBITRARY: - return std::string("Linear"); - case HAL_DATASPACE_SRGB: - return std::string("sRGB"); + return std::string("(deprecated) sRGB"); + + case HAL_DATASPACE_BT709: + return std::string("(deprecated) BT709"); + + case HAL_DATASPACE_ARBITRARY: + return std::string("ARBITRARY"); case HAL_DATASPACE_UNKNOWN: // Fallthrough default: - return std::string(""); + return StringPrintf("Unknown deprecated dataspace code %d", dataspace); } } + return decodeStandardOnly(dataspaceStandard); +} - const uint32_t dataspaceTransfer = (dataspace & HAL_DATASPACE_TRANSFER_MASK); +std::string decodeTransferOnly(uint32_t dataspaceTransfer) { switch (dataspaceTransfer) { case HAL_DATASPACE_TRANSFER_UNSPECIFIED: return std::string("Unspecified"); @@ -151,29 +130,35 @@ std::string decodeTransfer(android_dataspace dataspace) { return StringPrintf("Unknown dataspace transfer %d", dataspaceTransfer); } -std::string decodeRange(android_dataspace dataspace) { +std::string decodeTransfer(android_dataspace dataspace) { const uint32_t dataspaceSelect = (dataspace & HAL_DATASPACE_STANDARD_MASK); if (dataspaceSelect == 0) { switch (dataspace & 0xffff) { case HAL_DATASPACE_JFIF: - case HAL_DATASPACE_SRGB_LINEAR: - case HAL_DATASPACE_SRGB: - return std::string("Full range"); - case HAL_DATASPACE_BT601_625: case HAL_DATASPACE_BT601_525: case HAL_DATASPACE_BT709: - return std::string("Limited range"); + return std::string("SMPTE_170M"); + case HAL_DATASPACE_SRGB_LINEAR: case HAL_DATASPACE_ARBITRARY: + return std::string("Linear"); + + case HAL_DATASPACE_SRGB: + return std::string("sRGB"); + case HAL_DATASPACE_UNKNOWN: // Fallthrough default: - return std::string("unspecified range"); + return std::string(""); } } - const uint32_t dataspaceRange = (dataspace & HAL_DATASPACE_RANGE_MASK); + const uint32_t dataspaceTransfer = (dataspace & HAL_DATASPACE_TRANSFER_MASK); + return decodeTransferOnly(dataspaceTransfer); +} + +std::string decodeRangeOnly(uint32_t dataspaceRange) { switch (dataspaceRange) { case HAL_DATASPACE_RANGE_UNSPECIFIED: return std::string("Range Unspecified"); @@ -191,6 +176,32 @@ std::string decodeRange(android_dataspace dataspace) { return StringPrintf("Unknown dataspace range %d", dataspaceRange); } +std::string decodeRange(android_dataspace dataspace) { + const uint32_t dataspaceSelect = (dataspace & HAL_DATASPACE_STANDARD_MASK); + if (dataspaceSelect == 0) { + switch (dataspace & 0xffff) { + case HAL_DATASPACE_JFIF: + case HAL_DATASPACE_SRGB_LINEAR: + case HAL_DATASPACE_SRGB: + return std::string("Full range"); + + case HAL_DATASPACE_BT601_625: + case HAL_DATASPACE_BT601_525: + case HAL_DATASPACE_BT709: + return std::string("Limited range"); + + case HAL_DATASPACE_ARBITRARY: + case HAL_DATASPACE_UNKNOWN: + // Fallthrough + default: + return std::string("unspecified range"); + } + } + + const uint32_t dataspaceRange = (dataspace & HAL_DATASPACE_RANGE_MASK); + return decodeRangeOnly(dataspaceRange); +} + std::string dataspaceDetails(android_dataspace dataspace) { if (dataspace == 0) { return "Default"; |