[obs] fix non-dmabuf 24-bit imports

OBS `GS_RGBA` maps to the sRGB color space which breaks our mapping
kludge, as such we need to use the UNORM variants to avoid this
This commit is contained in:
Geoffrey McRae 2024-01-27 02:13:42 +11:00
parent 1b75ae0762
commit ad00aaacd0

View File

@ -677,12 +677,12 @@ static void lgVideoTick(void * data, float seconds)
switch(this->type) switch(this->type)
{ {
case FRAME_TYPE_BGRA: case FRAME_TYPE_BGRA:
format = GS_BGRA; format = GS_BGRA_UNORM;
drm_format = DRM_FORMAT_ARGB8888; drm_format = DRM_FORMAT_ARGB8888;
break; break;
case FRAME_TYPE_RGBA: case FRAME_TYPE_RGBA:
format = GS_RGBA; format = GS_RGBA_UNORM;
drm_format = DRM_FORMAT_ARGB8888; drm_format = DRM_FORMAT_ARGB8888;
break; break;
@ -697,7 +697,7 @@ static void lgVideoTick(void * data, float seconds)
/* fallthrough */ /* fallthrough */
case FRAME_TYPE_BGR_32: case FRAME_TYPE_BGR_32:
format = GS_BGRA; format = GS_BGRA_UNORM;
drm_format = DRM_FORMAT_ARGB8888; drm_format = DRM_FORMAT_ARGB8888;
unpack = true; unpack = true;
break; break;