Crates.io | drm-fourcc |
lib.rs | drm-fourcc |
version | 2.2.0 |
source | src |
created_at | 2021-03-13 22:27:01.54265 |
updated_at | 2021-09-05 17:56:19.427073 |
description | Provides an enum with every valid Direct Rendering Manager (DRM) format fourcc |
homepage | |
repository | https://github.com/danielzfranklin/drm-fourcc-rs |
max_upload_size | |
id | 368523 |
size | 53,636 |
Provides an enums representing every pixel format and format modifier supported by DRM (as of kernel version 5.10.0).
A fourcc is four bytes of ascii representing some data format. This enum contains every fourcc representing a pixel format supported by DRM, the Linux Direct Rendering Manager.
To get the bytes of the fourcc representing the format, cast to u32
.
assert_eq!(DrmFourcc::Xrgb8888 as u32, 875713112);
To get the string form of the fourcc, use [DrmFourcc::string_form
].
assert_eq!(DrmFourcc::Xrgb8888.string_form(), "XR24");
We also provide a type for representing a fourcc/modifier pair
let format = DrmFormat {
code: DrmFourcc::Xrgb8888,
modifier: DrmModifier::Linear,
};
The enums are autogenerated from the canonical list in the Linux source code.
std
: Enable functionality that requires the standard library. Enabled by defaultbuild_bindings
: Build the bindings based on the headers on your machine. Should not be necessary in most cases.