[Bug]: The fourcc format of surface is not standard, which is not defined in any "fourcc.h"
- Dominant language
- C
- Stars
- 1.2k
- Forks
- 383
- Avg merge
- 8d 18h
- Merged PRs (30d)
- 4
Description
### Which component impacted?
_No response_
### Is it regression? Good in old configuration?
No, this issue exist a long time
### What happened?
The fourcc of surface is not correct. For example, the ARGB surface uses the fourcc: VA_FOURCC('A', 'R', 'G', 'B').
This fourcc is not defined in any drm_fourcc.h file. Instead,
the standard ARGB fourcc is defined as:
#define DRM_FORMAT_ARGB8888 fourcc_code('A', 'R', '2', '4') /* [31:0] A:R:G:B 8:8:8:8 little endian */
The similar wrong definition includes: ARGB,ABGR,RGBA,BGRA,XRGB,XBGR,RGBX,BGRX and I420
### What's the usage scenario when you are seeing the problem?
Transcode for media delivery, Playback, Web browser, Cloud Gaming, Video Analytics, Video Conference, Immersive Media, Content Creation, Game Streaming
### What impacted?
This standard fourcc definition is critical now. We now need to export this fourcc to other modules such as OpenGL and Vulkan, which can not recognized the unstandard fourcc such as ARGB and I420.
### Debug Information
_No response_
### Do you want to contribute a patch to fix the issue?
None
Contributor guide
Assessment
This issue has not been assessed yet.