Loading libs/ui/PublicFormat.cpp +13 −6 Original line number Original line Diff line number Diff line Loading @@ -14,14 +14,15 @@ * limitations under the License. * limitations under the License. */ */ #include <ui/GraphicTypes.h> // ui::Dataspace #include "aidl/android/hardware/graphics/common/Dataspace.h" #include <ui/PublicFormat.h> #include <ui/PublicFormat.h> // ---------------------------------------------------------------------------- // ---------------------------------------------------------------------------- namespace android { namespace android { // ---------------------------------------------------------------------------- // ---------------------------------------------------------------------------- using ui::Dataspace; using ::aidl::android::hardware::graphics::common::Dataspace; int mapPublicFormatToHalFormat(PublicFormat f) { int mapPublicFormatToHalFormat(PublicFormat f) { switch (f) { switch (f) { Loading @@ -29,6 +30,7 @@ int mapPublicFormatToHalFormat(PublicFormat f) { case PublicFormat::DEPTH_POINT_CLOUD: case PublicFormat::DEPTH_POINT_CLOUD: case PublicFormat::DEPTH_JPEG: case PublicFormat::DEPTH_JPEG: case PublicFormat::HEIC: case PublicFormat::HEIC: case PublicFormat::JPEG_R: return HAL_PIXEL_FORMAT_BLOB; return HAL_PIXEL_FORMAT_BLOB; case PublicFormat::DEPTH16: case PublicFormat::DEPTH16: return HAL_PIXEL_FORMAT_Y16; return HAL_PIXEL_FORMAT_Y16; Loading @@ -47,7 +49,7 @@ android_dataspace mapPublicFormatToHalDataspace(PublicFormat f) { Dataspace dataspace; Dataspace dataspace; switch (f) { switch (f) { case PublicFormat::JPEG: case PublicFormat::JPEG: dataspace = Dataspace::V0_JFIF; dataspace = Dataspace::JFIF; break; break; case PublicFormat::DEPTH_POINT_CLOUD: case PublicFormat::DEPTH_POINT_CLOUD: case PublicFormat::DEPTH16: case PublicFormat::DEPTH16: Loading @@ -64,7 +66,7 @@ android_dataspace mapPublicFormatToHalDataspace(PublicFormat f) { case PublicFormat::YUV_420_888: case PublicFormat::YUV_420_888: case PublicFormat::NV21: case PublicFormat::NV21: case PublicFormat::YV12: case PublicFormat::YV12: dataspace = Dataspace::V0_JFIF; dataspace = Dataspace::JFIF; break; break; case PublicFormat::DEPTH_JPEG: case PublicFormat::DEPTH_JPEG: dataspace = Dataspace::DYNAMIC_DEPTH; dataspace = Dataspace::DYNAMIC_DEPTH; Loading @@ -72,6 +74,9 @@ android_dataspace mapPublicFormatToHalDataspace(PublicFormat f) { case PublicFormat::HEIC: case PublicFormat::HEIC: dataspace = Dataspace::HEIF; dataspace = Dataspace::HEIF; break; break; case PublicFormat::JPEG_R: dataspace = Dataspace::JPEG_R; break; default: default: // Most formats map to UNKNOWN // Most formats map to UNKNOWN dataspace = Dataspace::UNKNOWN; dataspace = Dataspace::UNKNOWN; Loading Loading @@ -139,13 +144,15 @@ PublicFormat mapHalFormatDataspaceToPublicFormat(int format, android_dataspace d switch (ds) { switch (ds) { case Dataspace::DEPTH: case Dataspace::DEPTH: return PublicFormat::DEPTH_POINT_CLOUD; return PublicFormat::DEPTH_POINT_CLOUD; case Dataspace::V0_JFIF: case Dataspace::JFIF: return PublicFormat::JPEG; return PublicFormat::JPEG; case Dataspace::HEIF: case Dataspace::HEIF: return PublicFormat::HEIC; return PublicFormat::HEIC; default: default: if (dataSpace == static_cast<android_dataspace>(HAL_DATASPACE_DYNAMIC_DEPTH)) { if (dataSpace == static_cast<android_dataspace>(HAL_DATASPACE_DYNAMIC_DEPTH)) { return PublicFormat::DEPTH_JPEG; return PublicFormat::DEPTH_JPEG; } else if (dataSpace == static_cast<android_dataspace>(Dataspace::JPEG_R)) { return PublicFormat::JPEG_R; }else { }else { // Assume otherwise-marked blobs are also JPEG // Assume otherwise-marked blobs are also JPEG return PublicFormat::JPEG; return PublicFormat::JPEG; Loading libs/ui/include/ui/PublicFormat.h +1 −0 Original line number Original line Diff line number Diff line Loading @@ -57,6 +57,7 @@ enum class PublicFormat { YCBCR_P010 = 0x36, YCBCR_P010 = 0x36, DEPTH16 = 0x44363159, DEPTH16 = 0x44363159, DEPTH_JPEG = 0x69656963, DEPTH_JPEG = 0x69656963, JPEG_R = 0x1005, HEIC = 0x48454946, HEIC = 0x48454946, }; }; Loading Loading
libs/ui/PublicFormat.cpp +13 −6 Original line number Original line Diff line number Diff line Loading @@ -14,14 +14,15 @@ * limitations under the License. * limitations under the License. */ */ #include <ui/GraphicTypes.h> // ui::Dataspace #include "aidl/android/hardware/graphics/common/Dataspace.h" #include <ui/PublicFormat.h> #include <ui/PublicFormat.h> // ---------------------------------------------------------------------------- // ---------------------------------------------------------------------------- namespace android { namespace android { // ---------------------------------------------------------------------------- // ---------------------------------------------------------------------------- using ui::Dataspace; using ::aidl::android::hardware::graphics::common::Dataspace; int mapPublicFormatToHalFormat(PublicFormat f) { int mapPublicFormatToHalFormat(PublicFormat f) { switch (f) { switch (f) { Loading @@ -29,6 +30,7 @@ int mapPublicFormatToHalFormat(PublicFormat f) { case PublicFormat::DEPTH_POINT_CLOUD: case PublicFormat::DEPTH_POINT_CLOUD: case PublicFormat::DEPTH_JPEG: case PublicFormat::DEPTH_JPEG: case PublicFormat::HEIC: case PublicFormat::HEIC: case PublicFormat::JPEG_R: return HAL_PIXEL_FORMAT_BLOB; return HAL_PIXEL_FORMAT_BLOB; case PublicFormat::DEPTH16: case PublicFormat::DEPTH16: return HAL_PIXEL_FORMAT_Y16; return HAL_PIXEL_FORMAT_Y16; Loading @@ -47,7 +49,7 @@ android_dataspace mapPublicFormatToHalDataspace(PublicFormat f) { Dataspace dataspace; Dataspace dataspace; switch (f) { switch (f) { case PublicFormat::JPEG: case PublicFormat::JPEG: dataspace = Dataspace::V0_JFIF; dataspace = Dataspace::JFIF; break; break; case PublicFormat::DEPTH_POINT_CLOUD: case PublicFormat::DEPTH_POINT_CLOUD: case PublicFormat::DEPTH16: case PublicFormat::DEPTH16: Loading @@ -64,7 +66,7 @@ android_dataspace mapPublicFormatToHalDataspace(PublicFormat f) { case PublicFormat::YUV_420_888: case PublicFormat::YUV_420_888: case PublicFormat::NV21: case PublicFormat::NV21: case PublicFormat::YV12: case PublicFormat::YV12: dataspace = Dataspace::V0_JFIF; dataspace = Dataspace::JFIF; break; break; case PublicFormat::DEPTH_JPEG: case PublicFormat::DEPTH_JPEG: dataspace = Dataspace::DYNAMIC_DEPTH; dataspace = Dataspace::DYNAMIC_DEPTH; Loading @@ -72,6 +74,9 @@ android_dataspace mapPublicFormatToHalDataspace(PublicFormat f) { case PublicFormat::HEIC: case PublicFormat::HEIC: dataspace = Dataspace::HEIF; dataspace = Dataspace::HEIF; break; break; case PublicFormat::JPEG_R: dataspace = Dataspace::JPEG_R; break; default: default: // Most formats map to UNKNOWN // Most formats map to UNKNOWN dataspace = Dataspace::UNKNOWN; dataspace = Dataspace::UNKNOWN; Loading Loading @@ -139,13 +144,15 @@ PublicFormat mapHalFormatDataspaceToPublicFormat(int format, android_dataspace d switch (ds) { switch (ds) { case Dataspace::DEPTH: case Dataspace::DEPTH: return PublicFormat::DEPTH_POINT_CLOUD; return PublicFormat::DEPTH_POINT_CLOUD; case Dataspace::V0_JFIF: case Dataspace::JFIF: return PublicFormat::JPEG; return PublicFormat::JPEG; case Dataspace::HEIF: case Dataspace::HEIF: return PublicFormat::HEIC; return PublicFormat::HEIC; default: default: if (dataSpace == static_cast<android_dataspace>(HAL_DATASPACE_DYNAMIC_DEPTH)) { if (dataSpace == static_cast<android_dataspace>(HAL_DATASPACE_DYNAMIC_DEPTH)) { return PublicFormat::DEPTH_JPEG; return PublicFormat::DEPTH_JPEG; } else if (dataSpace == static_cast<android_dataspace>(Dataspace::JPEG_R)) { return PublicFormat::JPEG_R; }else { }else { // Assume otherwise-marked blobs are also JPEG // Assume otherwise-marked blobs are also JPEG return PublicFormat::JPEG; return PublicFormat::JPEG; Loading
libs/ui/include/ui/PublicFormat.h +1 −0 Original line number Original line Diff line number Diff line Loading @@ -57,6 +57,7 @@ enum class PublicFormat { YCBCR_P010 = 0x36, YCBCR_P010 = 0x36, DEPTH16 = 0x44363159, DEPTH16 = 0x44363159, DEPTH_JPEG = 0x69656963, DEPTH_JPEG = 0x69656963, JPEG_R = 0x1005, HEIC = 0x48454946, HEIC = 0x48454946, }; }; Loading