diff --git a/src/util/format/u_format.csv b/src/util/format/u_format.csv index 9c648f294b8..fa75a318edf 100644 --- a/src/util/format/u_format.csv +++ b/src/util/format/u_format.csv @@ -422,6 +422,7 @@ PIPE_FORMAT_Y8_UNORM , other, 1, 1, 1, un8, , , , x0 PIPE_FORMAT_Y8_U8_V8_422_UNORM , planar3, 1, 1, 1, , , , , xyzw, yuv PIPE_FORMAT_Y8_U8V8_422_UNORM , planar2, 1, 1, 1, , , , , xyzw, yuv PIPE_FORMAT_Y8_U8_V8_444_UNORM , planar3, 1, 1, 1, , , , , xyzw, yuv +PIPE_FORMAT_Y8_U8_V8_440_UNORM , planar3, 1, 1, 1, , , , , xyzw, yuv PIPE_FORMAT_Y16_U16_V16_420_UNORM , planar3, 1, 1, 1, , , , , xyzw, yuv PIPE_FORMAT_Y16_U16_V16_422_UNORM , planar3, 1, 1, 1, , , , , xyzw, yuv diff --git a/src/util/format/u_format.h b/src/util/format/u_format.h index d19b3111b3a..adde3eb44e3 100644 --- a/src/util/format/u_format.h +++ b/src/util/format/u_format.h @@ -1466,6 +1466,7 @@ util_format_get_plane_format(enum pipe_format format, unsigned plane) case PIPE_FORMAT_Y8_U8_V8_444_UNORM: case PIPE_FORMAT_Y8_400_UNORM: case PIPE_FORMAT_R8_G8_B8_UNORM: + case PIPE_FORMAT_Y8_U8_V8_440_UNORM: return PIPE_FORMAT_R8_UNORM; case PIPE_FORMAT_NV12: case PIPE_FORMAT_Y8_U8V8_422_UNORM: @@ -1526,6 +1527,7 @@ util_format_get_plane_height(enum pipe_format format, unsigned plane, case PIPE_FORMAT_P016: case PIPE_FORMAT_P030: case PIPE_FORMAT_Y16_U16_V16_420_UNORM: + case PIPE_FORMAT_Y8_U8_V8_440_UNORM: return !plane ? height : (height + 1) / 2; case PIPE_FORMAT_YV16: default: diff --git a/src/util/format/u_format_table.py b/src/util/format/u_format_table.py index 35f2872f0ed..11f8bfda8a7 100644 --- a/src/util/format/u_format_table.py +++ b/src/util/format/u_format_table.py @@ -110,6 +110,7 @@ def has_access(format): 'y8_u8_v8_422_unorm', 'y8_u8v8_422_unorm', 'y8_u8_v8_444_unorm', + 'y8_u8_v8_440_unorm', 'y16_u16_v16_420_unorm', 'y16_u16_v16_422_unorm', 'y16_u16v16_422_unorm', diff --git a/src/util/format/u_formats.h b/src/util/format/u_formats.h index 1247cf05182..1cc786ad8fa 100644 --- a/src/util/format/u_formats.h +++ b/src/util/format/u_formats.h @@ -303,6 +303,7 @@ enum pipe_format { PIPE_FORMAT_Y8_U8_V8_422_UNORM, PIPE_FORMAT_Y8_U8V8_422_UNORM, PIPE_FORMAT_Y8_U8_V8_444_UNORM, + PIPE_FORMAT_Y8_U8_V8_440_UNORM, PIPE_FORMAT_Y16_U16_V16_420_UNORM, /* PIPE_FORMAT_Y16_U16V16_420_UNORM */ @@ -620,6 +621,7 @@ enum pipe_video_chroma_format PIPE_VIDEO_CHROMA_FORMAT_420, PIPE_VIDEO_CHROMA_FORMAT_422, PIPE_VIDEO_CHROMA_FORMAT_444, + PIPE_VIDEO_CHROMA_FORMAT_440, PIPE_VIDEO_CHROMA_FORMAT_NONE }; @@ -650,6 +652,8 @@ pipe_format_to_chroma_format(enum pipe_format format) case PIPE_FORMAT_Y8_U8_V8_444_UNORM: case PIPE_FORMAT_Y16_U16_V16_444_UNORM: return PIPE_VIDEO_CHROMA_FORMAT_444; + case PIPE_FORMAT_Y8_U8_V8_440_UNORM: + return PIPE_VIDEO_CHROMA_FORMAT_440; case PIPE_FORMAT_Y8_400_UNORM: return PIPE_VIDEO_CHROMA_FORMAT_400; default: