Android Color Formats

Sometimes it's useful to be able to cross reference the various color formats available on Android. And sometimes it's useful to know which vendor format a debug message is referring to. Since I've spent far too long searching the AOSP code for these numbers, I've compiled this list :)

HexadecimalDecimalFOURCCJavaAImageAHardwareBufferHALQualcommExynosIntel
0x00000000 0UNKNOWN
0x00000001 1RGBA_8888R8G8B8A8_UNORMRGBA_8888
0x00000002 2RGBX_8888R8G8B8X8_UNORMRGBX_8888
0x00000003 3RGB_888R8G8B8_UNORMRGB_888
0x00000004 4RGB_565RGB_565R5G6B5_UNORMRGB_565
0x00000005 5BGRA_8888
0x00000006 6RGBA_5551
0x00000007 7RGBA_4444
0x00000010 16NV16YCBCR_422_SP
0x00000011 17NV21YCRCB_420_SP
0x00000014 20YUY2YCBCR_422_I
0x00000016 22RGBA_FP16R16G16B16A16_FLOATRGBA_FP16
0x00000020 32RAW_SENSORRAW16RAW16
0x00000021 33BLOBBLOB
0x00000022 34PRIVATEPRIVATEIMPLEMENTATION_DEFINED
0x00000023 35YUV_420_888YUV_420_888Y8Cb8Cr8_420YCBCR_420_888
0x00000024 36RAW_PRIVATERAW_PRIVATERAW_OPAQUE
0x00000025 37RAW10RAW10RAW10
0x00000026 38RAW12RAW12RAW12
0x00000027 39YUV_422_888
0x00000028 40YUV_444_888
0x00000029 41FLEX_RGB_888
0x0000002a 42FLEX_RGBA_8888
0x0000002b 43R10G10B10A2_UNORMRGBA_1010102
0x00000030 48D16_UNORMDEPTH_16
0x00000031 49D24_UNORMDEPTH_24
0x00000032 50D24_UNORM_S8_UINTDEPTH_24_STENCIL_8
0x00000033 51D32_FLOATDEPTH_32F
0x00000034 52D32_FLOAT_S8_UINTDEPTH_32F_STENCIL_8
0x00000035 53S8_UINTSTENCIL_8
0x00000036 54YCBCR_P010
0x00000037 55HSV_888
0x00000100 256JPEGJPEGANBYUV420SemiPlanarNV12_Y_TILED
0x00000101 257DEPTH_POINT_CLOUDDEPTH_POINT_CLOUDYCbCr_420_P_MNV12_LINEAR
0x00000102 258NV12_ENCODEABLEYCbCr_420_IYCrCb_422_H
0x00000103 259CbYCrY_422_INV12_LINEAR_PACKED
0x00000104 260CbYCrY_420_IYCbCr_422_H
0x00000105 261YCbCr_420_SP_MNV12_X_TILED
0x00000106 262YCrCb_422_SPRGBA_5551
0x00000107 263YCbCr_420_SP_M_TILEDRGBA_4444
0x00000108 264ARGB_8888GENERIC_8BIT
0x00000109 265YCbCr_420_SPYCbCr_411
0x0000010a 266YCbCr_420_H
0x0000010b 267YCrCb_422_SPYCbCr_422_V
0x0000010c 268YCbCr_444
0x0000010d 269R_8RGBP
0x0000010e 270RG_88BGRP
0x0000010f 271YCbCr_444_SPNV12
0x00000110 272YCrCb_444_SPYCbCr_420_SPP010
0x00000111 273YCrCb_422_IYCrCb_420_SPZ16
0x00000112 274BGRX_8888YCbCr_420_SP_TILEDUVMAP64
0x00000113 275NV21_ZSLYCbCr_422_SPA2R10G10B10
0x00000114 276YCrCb_420_SP_VENUSYCrCb_422_SPA2B10G10R10
0x00000115 277BGR_565YCbCr_422_IYCrCb_NORMAL
0x00000116 278YCrCb_422_IYCrCb_SWAPUVY
0x00000117 279ARGB_2101010CbYCrY_422_IYCrCb_SWAPUV
0x00000118 280RGBX_1010102CrYCbY_422_IYCrCb_SWAPY
0x00000119 281XRGB_2101010X2R10G10B10
0x0000011a 282BGRA_1010102X2B10G10R10
0x0000011b 283ABGR_2101010CbYCr_422_I
0x0000011c 284BGRX_1010102YV12_MP016
0x0000011d 285XBGR_2101010YCrCb_420_SP_MY210
0x0000011e 286YCrCb_420_SP_M_FULLY216
0x0000011f 287YCbCr_420_P010YCbCr_420_PY410
0x00000120 288CbYCrY_422_IYCbCr_420_SPY416
0x00000121 289BGR_888YCbCr_420_SP_M_PRIVY8I
0x00000122 290YCbCr_420_PNY12I
0x00000123 291RAW8YCbCr_420_SPN
0x00000124 292YCbCr_420_P010_UBWCYCbCr_420_SPN_TILED
0x00000125 293YCbCr_420_SP_M_S10B
0x00000126 294YCbCr_420_SPN_S10B
0x00000180 384INTERLACE
0x00001002 4098RAW_DEPTH
0x000093b0 37808RGBA_ASTC_4x4
0x000093b1 37809RGBA_ASTC_5x4
0x000093b2 37810RGBA_ASTC_5x5
0x000093b3 37811RGBA_ASTC_6x5
0x000093b4 37812RGBA_ASTC_6x6
0x000093b5 37813RGBA_ASTC_8x5
0x000093b6 37814RGBA_ASTC_8x6
0x000093b7 37815RGBA_ASTC_8x8
0x000093b8 37816RGBA_ASTC_10x5
0x000093b9 37817RGBA_ASTC_10x6
0x000093ba 37818RGBA_ASTC_10x8
0x000093bb 37819RGBA_ASTC_10x10
0x000093bc 37820RGBA_ASTC_12x10
0x000093bd 37821RGBA_ASTC_12x12
0x000093d0 37840SRGB8_ALPHA8_ASTC_4x4
0x000093d1 37841SRGB8_ALPHA8_ASTC_5x4
0x000093d2 37842SRGB8_ALPHA8_ASTC_5x5
0x000093d3 37843SRGB8_ALPHA8_ASTC_6x5
0x000093d4 37844SRGB8_ALPHA8_ASTC_6x6
0x000093d5 37845SRGB8_ALPHA8_ASTC_8x5
0x000093d6 37846SRGB8_ALPHA8_ASTC_8x6
0x000093d7 37847SRGB8_ALPHA8_ASTC_8x8
0x000093d8 37848SRGB8_ALPHA8_ASTC_10x5
0x000093d9 37849SRGB8_ALPHA8_ASTC_10x6
0x000093da 37850SRGB8_ALPHA8_ASTC_10x8
0x000093db 37851SRGB8_ALPHA8_ASTC_10x10
0x000093dc 37852SRGB8_ALPHA8_ASTC_12x10
0x000093dd 37853SRGB8_ALPHA8_ASTC_12x12
0x20203859 538982489Y8 Y8Y8Y8
0x20363159 540422489Y16 Y16Y16
0x32315659 842094169YV12YV12YV12
0x435742591129792089YBWCYCbCr_422_I_10BIT_COMPRESSED
0x443631591144402265Y16DDEPTH16DEPTH16
0x484549461212500294FIEHHEICHEIC
0x4c5955591280922969YUYLYCbCr_422_I_10BIT
0x696569631768253795cieiDEPTH_JPEGDEPTH_JPEG
0x7f0000012130706433NV12TPhysicalAddress
0x7f0000022130706434NV12LPhysicalAddress
0x7f0000032130706435NV12LVirtualAddress
0x7f0007892130708361AndroidOpaque
0x7fa00e002141195776YUV420PackedSemiPlanar
0x7fa00f002141196032YUV420PackedSemiPlanar_Tiled
0x7fa30c002141391872NV21_ENCODEABLE
0x7fa30c012141391873YCrCb_420_SP_ADRENO
0x7fa30c032141391875YCbCr_420_SP_TILED
0x7fa30c042141391876YCbCr_420_SP_VENUS
0x7fa30c062141391878YCbCr_420_SP_VENUS_UBWC
0x7fa30c092141391881YCbCr_420_TP10_UBWC
0x7fa30c0a2141391882YCbCr_420_P010_VENUS
0x7fc000022143289346NV12Tiled
0x7fc000032143289347NV12Tiled_SBS_LR
0x7fc000042143289348NV12Tiled_SBS_RL
0x7fc000052143289349NV12Tiled_TB_LR
0x7fc000062143289350NV12Tiled_TB_RL
0x7fc000072143289351YUV420SemiPlanar_SBS_LR
0x7fc000082143289352YUV420SemiPlanar_SBS_RL
0x7fc000092143289353YUV420SemiPlanar_TB_LR
0x7fc0000a2143289354YUV420SemiPlanar_TB_RL
0x7fc0000b2143289355YUV420Planar_SBS_LR
0x7fc0000c2143289356YUV420Planar_SBS_RL
0x7fc0000d2143289357YUV420Planar_TB_LR
0x7fc0000e2143289358YUV420Planar_TB_RL

This list was last updated 2020/08/01 against AOSP tag android-10.0.0_r40.

Some examples of system logcat messages these numbers might occur in:

W/ACodec: do not know color format 0x7fa30c06 = 2141391878
E/OMX-VDEC-1080P: Get_parameter: OMX_IndexParamVideoPortFormat: nPortIndex (0), nIndex (0), eCompressionFormat (0x0), eColorFormat (0x7fa30c06), xFramerate (0x0)
D/SurfaceUtils: set up nativeWindow 0x13371337 for 720x1280, color 0x7fa30c06, rotation 0, usage 0
D/NdkImageReader: acquireImageLocked: Overriding buffer format YUV_420_888 to 0x7fa30c06.