- yuv422 decode was blocked in
12acee17fad5, enable it back.
- nv12 yuv422 and grayscale decode is supported on all versions.
- JPEG2 and higher versions supports 444p decode.
- add l8_unorm to supported formats, can be used for grayscale.
Fixes:
12acee17fad5 (frontends/va: reallocate surface for yuv400/yuv444 picture)
v2: indent the switch case correctly (Thong Thai)
Signed-off-by: Sathishkumar S <sathishkumar.sundararaju@amd.com>
Reviewed-by: Thong Thai <thong.thai@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20165>
/* JPEG supports YUV400 and YUV444 */
if (profile == PIPE_VIDEO_PROFILE_JPEG_BASELINE) {
- if (sscreen->info.family >= CHIP_NAVI21 || sscreen->info.family == CHIP_MI100 ||
- sscreen->info.family == CHIP_MI200)
- return (format == PIPE_FORMAT_NV12 || format == PIPE_FORMAT_Y8_400_UNORM ||
- format == PIPE_FORMAT_Y8_U8_V8_444_UNORM || format == PIPE_FORMAT_YUYV);
- else
- return (format == PIPE_FORMAT_NV12);
-
+ switch (format) {
+ case PIPE_FORMAT_NV12:
+ case PIPE_FORMAT_YUYV:
+ case PIPE_FORMAT_L8_UNORM:
+ case PIPE_FORMAT_Y8_400_UNORM:
+ return true;
+ case PIPE_FORMAT_Y8_U8_V8_444_UNORM:
+ if (sscreen->info.family >= CHIP_RENOIR)
+ return true;
+ else
+ return false;
+ default:
+ return false;
+ }
}
/* we can only handle this one with UVD */