587 lines
18 KiB
C++
587 lines
18 KiB
C++
/*
|
|
* Copyright (C) 2021 Amlogic Corporation.
|
|
*
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
* you may not use this file except in compliance with the License.
|
|
* You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License.
|
|
*/
|
|
#include <drm_fourcc.h>
|
|
#include "render_plugin.h"
|
|
#include "Logger.h"
|
|
#include "wayland_videoformat.h"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#define TAG "rlib:wayland_videoformat"
|
|
|
|
typedef struct
|
|
{
|
|
int32_t wl_shm_format;
|
|
uint32_t dma_format;
|
|
RenderVideoFormat render_format;
|
|
} wl_VideoFormat;
|
|
|
|
static const wl_VideoFormat wl_formats[] = {
|
|
{WL_SHM_FORMAT_XRGB8888, DRM_FORMAT_XRGB8888, VIDEO_FORMAT_BGRx},
|
|
{WL_SHM_FORMAT_ARGB8888, DRM_FORMAT_ARGB8888, VIDEO_FORMAT_BGRA},
|
|
{WL_SHM_FORMAT_XBGR8888, DRM_FORMAT_XBGR8888, VIDEO_FORMAT_RGBx},
|
|
{WL_SHM_FORMAT_RGBX8888, DRM_FORMAT_RGBX8888, VIDEO_FORMAT_xBGR},
|
|
{WL_SHM_FORMAT_BGRX8888, DRM_FORMAT_BGRX8888, VIDEO_FORMAT_xRGB},
|
|
{WL_SHM_FORMAT_ABGR8888, DRM_FORMAT_ABGR8888, VIDEO_FORMAT_RGBA},
|
|
{WL_SHM_FORMAT_RGBA8888, DRM_FORMAT_RGBA8888, VIDEO_FORMAT_ABGR},
|
|
{WL_SHM_FORMAT_BGRA8888, DRM_FORMAT_BGRA8888, VIDEO_FORMAT_ARGB},
|
|
{WL_SHM_FORMAT_RGB888, DRM_FORMAT_RGB888, VIDEO_FORMAT_RGB},
|
|
{WL_SHM_FORMAT_BGR888, DRM_FORMAT_BGR888, VIDEO_FORMAT_BGR},
|
|
{WL_SHM_FORMAT_RGB565, DRM_FORMAT_RGB565, VIDEO_FORMAT_RGB16},
|
|
{WL_SHM_FORMAT_BGR565, DRM_FORMAT_BGR565, VIDEO_FORMAT_BGR16},
|
|
|
|
{WL_SHM_FORMAT_YUYV, DRM_FORMAT_YUYV, VIDEO_FORMAT_YUY2},
|
|
{WL_SHM_FORMAT_YVYU, DRM_FORMAT_YVYU, VIDEO_FORMAT_YVYU},
|
|
{WL_SHM_FORMAT_UYVY, DRM_FORMAT_UYVY, VIDEO_FORMAT_UYVY},
|
|
{WL_SHM_FORMAT_AYUV, DRM_FORMAT_AYUV, VIDEO_FORMAT_AYUV},
|
|
{WL_SHM_FORMAT_NV12, DRM_FORMAT_NV12, VIDEO_FORMAT_NV12},
|
|
{WL_SHM_FORMAT_NV21, DRM_FORMAT_NV21, VIDEO_FORMAT_NV21},
|
|
{WL_SHM_FORMAT_NV16, DRM_FORMAT_NV16, VIDEO_FORMAT_NV16},
|
|
{WL_SHM_FORMAT_NV61, DRM_FORMAT_NV61, VIDEO_FORMAT_NV61},
|
|
{WL_SHM_FORMAT_YUV410, DRM_FORMAT_YUV410, VIDEO_FORMAT_YUV9},
|
|
{WL_SHM_FORMAT_YVU410, DRM_FORMAT_YVU410, VIDEO_FORMAT_YVU9},
|
|
{WL_SHM_FORMAT_YUV411, DRM_FORMAT_YUV411, VIDEO_FORMAT_Y41B},
|
|
{WL_SHM_FORMAT_YUV420, DRM_FORMAT_YUV420, VIDEO_FORMAT_I420},
|
|
{WL_SHM_FORMAT_YVU420, DRM_FORMAT_YVU420, VIDEO_FORMAT_YV12},
|
|
{WL_SHM_FORMAT_YUV422, DRM_FORMAT_YUV422, VIDEO_FORMAT_Y42B},
|
|
{WL_SHM_FORMAT_YUV444, DRM_FORMAT_YUV444, VIDEO_FORMAT_v308},
|
|
};
|
|
|
|
/**
|
|
* @brief translate video buffer format to wl dmabuffer format
|
|
*
|
|
* @param format render video format
|
|
* @return int if found return dma format,0 if not found
|
|
*/
|
|
uint32_t video_format_to_wl_dmabuf_format (RenderVideoFormat format)
|
|
{
|
|
int i;
|
|
for (i = 0; i < sizeof(wl_formats)/sizeof(wl_formats[0]); i++) {
|
|
if (wl_formats[i].render_format == format)
|
|
return wl_formats[i].dma_format;
|
|
}
|
|
|
|
TRACE(NO_CAT,"wl dmabuf format not found");
|
|
return 0;
|
|
}
|
|
|
|
RenderVideoFormat wl_dmabuf_format_to_video_format (uint32_t wl_format)
|
|
{
|
|
int i;
|
|
|
|
for (i = 0; i < sizeof(wl_formats)/sizeof(wl_formats[0]); i++)
|
|
if (wl_formats[i].dma_format == wl_format)
|
|
return (RenderVideoFormat)wl_formats[i].render_format;
|
|
|
|
return VIDEO_FORMAT_UNKNOWN;
|
|
}
|
|
|
|
int32_t video_format_to_wl_shm_format (RenderVideoFormat format)
|
|
{
|
|
int i;
|
|
|
|
for (i = 0; i < sizeof(wl_formats)/sizeof(wl_formats[0]); i++)
|
|
if (wl_formats[i].render_format == format)
|
|
return wl_formats[i].wl_shm_format;
|
|
|
|
return (int32_t) -1;
|
|
}
|
|
|
|
RenderVideoFormat wl_shm_format_to_video_format (enum wl_shm_format wl_format)
|
|
{
|
|
int i;
|
|
|
|
for (i = 0; i < sizeof(wl_formats)/sizeof(wl_formats[0]); i++)
|
|
if (wl_formats[i].wl_shm_format == wl_format)
|
|
return (RenderVideoFormat)wl_formats[i].render_format;
|
|
|
|
return VIDEO_FORMAT_UNKNOWN;
|
|
}
|
|
|
|
int is_direct_display_format(RenderVideoFormat format)
|
|
{
|
|
int support = 0;
|
|
switch (format) {
|
|
case VIDEO_FORMAT_NV12:
|
|
case VIDEO_FORMAT_NV21:
|
|
case VIDEO_FORMAT_UYVY:
|
|
support = 1;
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
return support;
|
|
}
|
|
|
|
const char * print_dmabuf_format_name(uint32_t dmabufferformat)
|
|
{
|
|
const char* str = nullptr;
|
|
switch (dmabufferformat) {
|
|
case DRM_FORMAT_XRGB8888:{
|
|
str = "DRM_FORMAT_XRGB8888";
|
|
} break;
|
|
case DRM_FORMAT_ARGB8888:{
|
|
str = "DRM_FORMAT_ARGB8888";
|
|
} break;
|
|
case DRM_FORMAT_XBGR8888:{
|
|
str = "DRM_FORMAT_XBGR8888";
|
|
} break;
|
|
case DRM_FORMAT_RGBX8888:{
|
|
str = "DRM_FORMAT_RGBX8888";
|
|
} break;
|
|
case DRM_FORMAT_BGRX8888:{
|
|
str = "DRM_FORMAT_BGRX8888";
|
|
} break;
|
|
case DRM_FORMAT_ABGR8888:{
|
|
str = "DRM_FORMAT_ABGR8888";
|
|
} break;
|
|
case DRM_FORMAT_RGBA8888:{
|
|
str = "DRM_FORMAT_RGBA8888";
|
|
} break;
|
|
case DRM_FORMAT_BGRA8888:{
|
|
str = "DRM_FORMAT_BGRA8888";
|
|
} break;
|
|
case DRM_FORMAT_RGB888:{
|
|
str = "DRM_FORMAT_RGB888";
|
|
} break;
|
|
case DRM_FORMAT_BGR888:{
|
|
str = "DRM_FORMAT_BGR888";
|
|
} break;
|
|
case DRM_FORMAT_RGB565:{
|
|
str = "DRM_FORMAT_RGB565";
|
|
} break;
|
|
case DRM_FORMAT_BGR565:{
|
|
str = "DRM_FORMAT_BGR565";
|
|
} break;
|
|
|
|
case DRM_FORMAT_YUYV:{
|
|
str = "DRM_FORMAT_YUYV";
|
|
} break;
|
|
case DRM_FORMAT_YVYU:{
|
|
str = "DRM_FORMAT_YVYU";
|
|
} break;
|
|
case DRM_FORMAT_UYVY:{
|
|
str = "DRM_FORMAT_UYVY";
|
|
} break;
|
|
case DRM_FORMAT_AYUV:{
|
|
str = "DRM_FORMAT_AYUV";
|
|
} break;
|
|
case DRM_FORMAT_NV12:{
|
|
str = "DRM_FORMAT_NV12";
|
|
} break;
|
|
case DRM_FORMAT_NV21:{
|
|
str = "DRM_FORMAT_NV21";
|
|
} break;
|
|
case DRM_FORMAT_NV16:{
|
|
str = "DRM_FORMAT_NV16";
|
|
} break;
|
|
case DRM_FORMAT_NV61:{
|
|
str = "DRM_FORMAT_NV61";
|
|
} break;
|
|
case DRM_FORMAT_YUV410:{
|
|
str = "DRM_FORMAT_YUV410";
|
|
} break;
|
|
case DRM_FORMAT_YVU410:{
|
|
str = "DRM_FORMAT_YVU410";
|
|
} break;
|
|
case DRM_FORMAT_YUV411:{
|
|
str = "DRM_FORMAT_YUV411";
|
|
} break;
|
|
case DRM_FORMAT_YUV420:{
|
|
str = "DRM_FORMAT_YUV420";
|
|
} break;
|
|
case DRM_FORMAT_YVU420:{
|
|
str = "DRM_FORMAT_YVU420";
|
|
} break;
|
|
case DRM_FORMAT_YUV422:{
|
|
str = "DRM_FORMAT_YUV422";
|
|
} break;
|
|
case DRM_FORMAT_YUV444:{
|
|
str = "DRM_FORMAT_YUV444";
|
|
} break;
|
|
|
|
default:
|
|
str = "Unknown";
|
|
break;
|
|
}
|
|
return str;
|
|
}
|
|
|
|
const char * print_render_video_format_name(RenderVideoFormat format)
|
|
{
|
|
const char* str = nullptr;
|
|
switch (format) {
|
|
case VIDEO_FORMAT_UNKNOWN:{
|
|
str = "VIDEO_FORMAT_UNKNOWN";
|
|
} break;
|
|
case VIDEO_FORMAT_ENCODED:{
|
|
str = "VIDEO_FORMAT_ENCODED";
|
|
} break;
|
|
case VIDEO_FORMAT_I420:{
|
|
str = "VIDEO_FORMAT_I420";
|
|
} break;
|
|
case VIDEO_FORMAT_YV12:{
|
|
str = "VIDEO_FORMAT_YV12";
|
|
} break;
|
|
case VIDEO_FORMAT_YUY2:{
|
|
str = "VIDEO_FORMAT_YUY2";
|
|
} break;
|
|
case VIDEO_FORMAT_UYVY:{
|
|
str = "VIDEO_FORMAT_UYVY";
|
|
} break;
|
|
case VIDEO_FORMAT_AYUV:{
|
|
str = "VIDEO_FORMAT_AYUV";
|
|
} break;
|
|
case VIDEO_FORMAT_RGBx:{
|
|
str = "VIDEO_FORMAT_RGBx";
|
|
} break;
|
|
case VIDEO_FORMAT_BGRx:{
|
|
str = "VIDEO_FORMAT_BGRx";
|
|
} break;
|
|
case VIDEO_FORMAT_xRGB:{
|
|
str = "VIDEO_FORMAT_xRGB";
|
|
} break;
|
|
case VIDEO_FORMAT_xBGR:{
|
|
str = "VIDEO_FORMAT_xBGR";
|
|
} break;
|
|
case VIDEO_FORMAT_RGBA:{
|
|
str = "VIDEO_FORMAT_RGBA";
|
|
} break;
|
|
case VIDEO_FORMAT_BGRA:{
|
|
str = "VIDEO_FORMAT_BGRA";
|
|
} break;
|
|
case VIDEO_FORMAT_ARGB:{
|
|
str = "VIDEO_FORMAT_ARGB";
|
|
} break;
|
|
case VIDEO_FORMAT_ABGR:{
|
|
str = "VIDEO_FORMAT_ABGR";
|
|
} break;
|
|
case VIDEO_FORMAT_RGB:{
|
|
str = "VIDEO_FORMAT_RGB";
|
|
} break;
|
|
case VIDEO_FORMAT_BGR:{
|
|
str = "VIDEO_FORMAT_BGR";
|
|
} break;
|
|
case VIDEO_FORMAT_Y41B:{
|
|
str = "VIDEO_FORMAT_Y41B";
|
|
} break;
|
|
case VIDEO_FORMAT_Y42B:{
|
|
str = "VIDEO_FORMAT_Y42B";
|
|
} break;
|
|
case VIDEO_FORMAT_YVYU:{
|
|
str = "VIDEO_FORMAT_YVYU";
|
|
} break;
|
|
case VIDEO_FORMAT_Y444:{
|
|
str = "VIDEO_FORMAT_Y444";
|
|
} break;
|
|
case VIDEO_FORMAT_v210:{
|
|
str = "VIDEO_FORMAT_v210";
|
|
} break;
|
|
case VIDEO_FORMAT_v216:{
|
|
str = "VIDEO_FORMAT_v216";
|
|
} break;
|
|
case VIDEO_FORMAT_NV12:{
|
|
str = "VIDEO_FORMAT_NV12";
|
|
} break;
|
|
case VIDEO_FORMAT_NV21:{
|
|
str = "VIDEO_FORMAT_NV21";
|
|
} break;
|
|
case VIDEO_FORMAT_GRAY8:{
|
|
str = "VIDEO_FORMAT_GRAY8";
|
|
} break;
|
|
case VIDEO_FORMAT_GRAY16_BE:{
|
|
str = "VIDEO_FORMAT_GRAY16_BE";
|
|
} break;
|
|
case VIDEO_FORMAT_GRAY16_LE:{
|
|
str = "VIDEO_FORMAT_GRAY16_LE";
|
|
} break;
|
|
case VIDEO_FORMAT_v308:{
|
|
str = "VIDEO_FORMAT_v308";
|
|
} break;
|
|
case VIDEO_FORMAT_RGB16:{
|
|
str = "VIDEO_FORMAT_RGB16";
|
|
} break;
|
|
case VIDEO_FORMAT_BGR16:{
|
|
str = "VIDEO_FORMAT_BGR16";
|
|
} break;
|
|
case VIDEO_FORMAT_RGB15:{
|
|
str = "VIDEO_FORMAT_RGB15";
|
|
} break;
|
|
case VIDEO_FORMAT_BGR15:{
|
|
str = "VIDEO_FORMAT_BGR15";
|
|
} break;
|
|
case VIDEO_FORMAT_UYVP:{
|
|
str = "VIDEO_FORMAT_UYVP";
|
|
} break;
|
|
case VIDEO_FORMAT_A420:{
|
|
str = "VIDEO_FORMAT_A420";
|
|
} break;
|
|
case VIDEO_FORMAT_RGB8P:{
|
|
str = "VIDEO_FORMAT_RGB8P";
|
|
} break;
|
|
case VIDEO_FORMAT_YUV9:{
|
|
str = "VIDEO_FORMAT_YUV9";
|
|
} break;
|
|
case VIDEO_FORMAT_YVU9:{
|
|
str = "VIDEO_FORMAT_YVU9";
|
|
} break;
|
|
case VIDEO_FORMAT_IYU1:{
|
|
str = "VIDEO_FORMAT_IYU1";
|
|
} break;
|
|
case VIDEO_FORMAT_ARGB64:{
|
|
str = "VIDEO_FORMAT_ARGB64";
|
|
} break;
|
|
case VIDEO_FORMAT_AYUV64:{
|
|
str = "VIDEO_FORMAT_AYUV64";
|
|
} break;
|
|
case VIDEO_FORMAT_r210:{
|
|
str = "VIDEO_FORMAT_r210";
|
|
} break;
|
|
case VIDEO_FORMAT_I420_10BE:{
|
|
str = "VIDEO_FORMAT_I420_10BE";
|
|
} break;
|
|
case VIDEO_FORMAT_I420_10LE:{
|
|
str = "VIDEO_FORMAT_I420_10LE";
|
|
} break;
|
|
case VIDEO_FORMAT_I422_10BE:{
|
|
str = "VIDEO_FORMAT_I422_10BE";
|
|
} break;
|
|
case VIDEO_FORMAT_I422_10LE:{
|
|
str = "VIDEO_FORMAT_I422_10LE";
|
|
} break;
|
|
case VIDEO_FORMAT_Y444_10BE:{
|
|
str = "VIDEO_FORMAT_Y444_10BE";
|
|
} break;
|
|
case VIDEO_FORMAT_Y444_10LE:{
|
|
str = "VIDEO_FORMAT_Y444_10LE";
|
|
} break;
|
|
case VIDEO_FORMAT_GBR:{
|
|
str = "VIDEO_FORMAT_GBR";
|
|
} break;
|
|
case VIDEO_FORMAT_GBR_10BE:{
|
|
str = "VIDEO_FORMAT_GBR_10BE";
|
|
} break;
|
|
case VIDEO_FORMAT_GBR_10LE:{
|
|
str = "VIDEO_FORMAT_GBR_10LE";
|
|
} break;
|
|
case VIDEO_FORMAT_NV16:{
|
|
str = "VIDEO_FORMAT_NV16";
|
|
} break;
|
|
case VIDEO_FORMAT_NV24:{
|
|
str = "VIDEO_FORMAT_NV24";
|
|
} break;
|
|
case VIDEO_FORMAT_NV12_64Z32:{
|
|
str = "VIDEO_FORMAT_NV12_64Z32";
|
|
} break;
|
|
case VIDEO_FORMAT_A420_10BE:{
|
|
str = "VIDEO_FORMAT_A420_10BE";
|
|
} break;
|
|
case VIDEO_FORMAT_A420_10LE:{
|
|
str = "VIDEO_FORMAT_A420_10LE";
|
|
} break;
|
|
case VIDEO_FORMAT_A422_10BE:{
|
|
str = "VIDEO_FORMAT_A422_10BE";
|
|
} break;
|
|
case VIDEO_FORMAT_A422_10LE:{
|
|
str = "VIDEO_FORMAT_A422_10LE";
|
|
} break;
|
|
case VIDEO_FORMAT_A444_10BE:{
|
|
str = "VIDEO_FORMAT_A444_10BE";
|
|
} break;
|
|
case VIDEO_FORMAT_A444_10LE:{
|
|
str = "VIDEO_FORMAT_A444_10LE";
|
|
} break;
|
|
case VIDEO_FORMAT_NV61:{
|
|
str = "VIDEO_FORMAT_NV61";
|
|
} break;
|
|
case VIDEO_FORMAT_P010_10BE:{
|
|
str = "VIDEO_FORMAT_P010_10BE";
|
|
} break;
|
|
case VIDEO_FORMAT_P010_10LE:{
|
|
str = "VIDEO_FORMAT_P010_10LE";
|
|
} break;
|
|
case VIDEO_FORMAT_IYU2:{
|
|
str = "VIDEO_FORMAT_IYU2";
|
|
} break;
|
|
case VIDEO_FORMAT_VYUY:{
|
|
str = "VIDEO_FORMAT_VYUY";
|
|
} break;
|
|
case VIDEO_FORMAT_GBRA:{
|
|
str = "VIDEO_FORMAT_GBRA";
|
|
} break;
|
|
case VIDEO_FORMAT_GBRA_10BE:{
|
|
str = "VIDEO_FORMAT_GBRA_10BE";
|
|
} break;
|
|
case VIDEO_FORMAT_GBRA_10LE:{
|
|
str = "VIDEO_FORMAT_GBRA_10LE";
|
|
} break;
|
|
case VIDEO_FORMAT_GBR_12BE:{
|
|
str = "VIDEO_FORMAT_GBR_12BE";
|
|
} break;
|
|
case VIDEO_FORMAT_GBR_12LE:{
|
|
str = "VIDEO_FORMAT_GBR_12LE";
|
|
} break;
|
|
case VIDEO_FORMAT_GBRA_12BE:{
|
|
str = "VIDEO_FORMAT_GBRA_12BE";
|
|
} break;
|
|
case VIDEO_FORMAT_GBRA_12LE:{
|
|
str = "VIDEO_FORMAT_GBRA_12LE";
|
|
} break;
|
|
case VIDEO_FORMAT_I420_12BE:{
|
|
str = "VIDEO_FORMAT_I420_12BE";
|
|
} break;
|
|
case VIDEO_FORMAT_I420_12LE:{
|
|
str = "VIDEO_FORMAT_I420_12LE";
|
|
} break;
|
|
case VIDEO_FORMAT_I422_12BE:{
|
|
str = "VIDEO_FORMAT_I422_12BE";
|
|
} break;
|
|
case VIDEO_FORMAT_I422_12LE:{
|
|
str = "VIDEO_FORMAT_I422_12LE";
|
|
} break;
|
|
case VIDEO_FORMAT_Y444_12BE:{
|
|
str = "VIDEO_FORMAT_Y444_12BE";
|
|
} break;
|
|
case VIDEO_FORMAT_Y444_12LE:{
|
|
str = "VIDEO_FORMAT_Y444_12LE";
|
|
} break;
|
|
case VIDEO_FORMAT_GRAY10_LE32:{
|
|
str = "VIDEO_FORMAT_GRAY10_LE32";
|
|
} break;
|
|
case VIDEO_FORMAT_NV12_10LE32:{
|
|
str = "VIDEO_FORMAT_NV12_10LE32";
|
|
} break;
|
|
case VIDEO_FORMAT_NV16_10LE32:{
|
|
str = "VIDEO_FORMAT_NV16_10LE32";
|
|
} break;
|
|
case VIDEO_FORMAT_NV12_10LE40:{
|
|
str = "VIDEO_FORMAT_NV12_10LE40";
|
|
} break;
|
|
case VIDEO_FORMAT_Y210:{
|
|
str = "VIDEO_FORMAT_Y210";
|
|
} break;
|
|
case VIDEO_FORMAT_Y410:{
|
|
str = "VIDEO_FORMAT_Y410";
|
|
} break;
|
|
case VIDEO_FORMAT_VUYA:{
|
|
str = "VIDEO_FORMAT_VUYA";
|
|
} break;
|
|
case VIDEO_FORMAT_BGR10A2_LE:{
|
|
str = "VIDEO_FORMAT_BGR10A2_LE";
|
|
} break;
|
|
default:
|
|
str = "Unknown";
|
|
break;
|
|
}
|
|
return str;
|
|
}
|
|
|
|
const char* print_shm_format_name(uint32_t format)
|
|
{
|
|
const char* str = nullptr;
|
|
switch (format) {
|
|
case WL_SHM_FORMAT_XRGB8888:{
|
|
str = "WL_SHM_FORMAT_XRGB8888";
|
|
} break;
|
|
case WL_SHM_FORMAT_ARGB8888:{
|
|
str = "WL_SHM_FORMAT_ARGB8888";
|
|
} break;
|
|
case WL_SHM_FORMAT_XBGR8888:{
|
|
str = "WL_SHM_FORMAT_XBGR8888";
|
|
} break;
|
|
case WL_SHM_FORMAT_RGBX8888:{
|
|
str = "WL_SHM_FORMAT_RGBX8888";
|
|
} break;
|
|
case WL_SHM_FORMAT_BGRX8888:{
|
|
str = "WL_SHM_FORMAT_BGRX8888";
|
|
} break;
|
|
case WL_SHM_FORMAT_ABGR8888:{
|
|
str = "WL_SHM_FORMAT_ABGR8888";
|
|
} break;
|
|
case WL_SHM_FORMAT_RGBA8888:{
|
|
str = "WL_SHM_FORMAT_RGBA8888";
|
|
} break;
|
|
case WL_SHM_FORMAT_BGRA8888:{
|
|
str = "WL_SHM_FORMAT_BGRA8888";
|
|
} break;
|
|
case WL_SHM_FORMAT_RGB888:{
|
|
str = "WL_SHM_FORMAT_RGB888";
|
|
} break;
|
|
case WL_SHM_FORMAT_BGR888:{
|
|
str = "WL_SHM_FORMAT_BGR888";
|
|
} break;
|
|
case WL_SHM_FORMAT_RGB565:{
|
|
str = "WL_SHM_FORMAT_RGB565";
|
|
} break;
|
|
case WL_SHM_FORMAT_BGR565:{
|
|
str = "WL_SHM_FORMAT_BGR565";
|
|
} break;
|
|
case WL_SHM_FORMAT_YUYV:{
|
|
str = "WL_SHM_FORMAT_YUYV";
|
|
} break;
|
|
case WL_SHM_FORMAT_YVYU:{
|
|
str = "WL_SHM_FORMAT_YVYU";
|
|
} break;
|
|
case WL_SHM_FORMAT_UYVY:{
|
|
str = "WL_SHM_FORMAT_UYVY";
|
|
} break;
|
|
case WL_SHM_FORMAT_AYUV:{
|
|
str = "WL_SHM_FORMAT_AYUV";
|
|
} break;
|
|
case WL_SHM_FORMAT_NV12:{
|
|
str = "WL_SHM_FORMAT_NV12";
|
|
} break;
|
|
case WL_SHM_FORMAT_NV21:{
|
|
str = "WL_SHM_FORMAT_NV21";
|
|
} break;
|
|
case WL_SHM_FORMAT_NV16:{
|
|
str = "WL_SHM_FORMAT_NV16";
|
|
} break;
|
|
case WL_SHM_FORMAT_NV61:{
|
|
str = "WL_SHM_FORMAT_NV61";
|
|
} break;
|
|
case WL_SHM_FORMAT_YUV410:{
|
|
str = "WL_SHM_FORMAT_YUV410";
|
|
} break;
|
|
case WL_SHM_FORMAT_YVU410:{
|
|
str = "WL_SHM_FORMAT_YVU410";
|
|
} break;
|
|
case WL_SHM_FORMAT_YUV411:{
|
|
str = "WL_SHM_FORMAT_YUV411";
|
|
} break;
|
|
case WL_SHM_FORMAT_YUV420:{
|
|
str = "WL_SHM_FORMAT_YUV420";
|
|
} break;
|
|
case WL_SHM_FORMAT_YVU420:{
|
|
str = "WL_SHM_FORMAT_YVU420";
|
|
} break;
|
|
case WL_SHM_FORMAT_YUV422:{
|
|
str = "WL_SHM_FORMAT_YUV422";
|
|
} break;
|
|
case WL_SHM_FORMAT_YUV444:{
|
|
str = "WL_SHM_FORMAT_YUV444";
|
|
} break;
|
|
default:
|
|
str = "Unknown";
|
|
break;
|
|
}
|
|
return str;
|
|
}
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif |