PixelFormat

Struct PixelFormat 

Source
pub struct PixelFormat(/* private fields */);
Expand description

Four character code (fourcc) defining the encoding of pixel data in an image buffer.

fourcc codes are documented on https://www.fourcc.org/.

Implementations§

Source§

impl PixelFormat

Source

pub const fn from_fourcc(fourcc: [u8; 4]) -> Self

Creates a PixelFormat from a fourcc code.

Source

pub const fn as_fourcc(self) -> [u8; 4]

Returns the fourcc code represented by self.

Source§

impl PixelFormat

Pixel format constants.

Source

pub const BGR3: Self

BGR3 bbbbbbbb gggggggg rrrrrrrr

Same as 24BG.

Source

pub const RGB3: Self

RGB3 rrrrrrrr gggggggg bbbbbbbb

Same as raw .

Source

pub const ABGR32: Self

AR24: bbbbbbbb gggggggg rrrrrrrr aaaaaaaa

Source

pub const XBGR32: Self

XR24: bbbbbbbb gggggggg rrrrrrrr xxxxxxxx

The xxxxxxxx channel data is ignored.

Source

pub const BGRA32: Self

RA24: aaaaaaaa bbbbbbbb gggggggg rrrrrrrr

Source

pub const BGRX32: Self

RX24: xxxxxxxx bbbbbbbb gggggggg rrrrrrrr

Source

pub const RGBA32: Self

AB24: rrrrrrrr gggggggg bbbbbbbb aaaaaaaa

Source

pub const RGBX32: Self

XB24: rrrrrrrr gggggggg bbbbbbbb xxxxxxxx

The xxxxxxxx channel data is ignored.

Source

pub const ARGB32: Self

BA24: aaaaaaaa rrrrrrrr gggggggg bbbbbbbb

Source

pub const XRGB32: Self

BX24: xxxxxxxx rrrrrrrr gggggggg bbbbbbbb

The xxxxxxxx channel data is ignored.

Source

pub const BGR32: Self

BGR4: bbbbbbbb gggggggg rrrrrrrr ???????? DEPRECATED

This format is deprecated because the meaning of the last channel is ill-defined and its interpretation depends on driver and application. It will either be ignored (xxxxxxxx / Self::XBGR32) or treated as an alpha channel (aaaaaaaa / Self::ABGR32), so one of those formats should be used instead if possible.

Source

pub const RGB32: Self

RGB4: ???????? rrrrrrrr gggggggg bbbbbbbb DEPRECATED

This format is deprecated because the meaning of the first channel is ill-defined and its interpretation depends on driver and application. It will either be ignored (xxxxxxxx / Self::XRGB32) or treated as an alpha channel (aaaaaaaa / Self::ARGB32), so one of those formats should be used instead if possible.

Source

pub const YUYV: Self

YUYV: yyyyyyyy uuuuuuuu YYYYYYYY vvvvvvvv

Packed YUV/YCbCr data with 4:2:2 chroma subsampling.

uuuuuuuu and vvvvvvvv are shared by 2 neighboring pixels, while yyyyyyyy is the left pixel’s Y value, and YYYYYYYY is the right pixel’s Y value.

Source

pub const MJPG: Self

MJPG: Motion JPEG, a sequence of JPEG images with omitted huffman tables.

The transmitted JPEG images lack the “DHT” frame (Define Huffman Table), and instead use a predefined one. Most common JPEG decoders will handle this fine and don’t need any extra preprocessing.

Source

pub const JPEG: Self

JPEG: Data is a sequence of regular JFIF JPEG still images.

Images can be decoded with any off-the-shelf JPEG decoder, no preprocessing is needed.

Source

pub const UVC: Self

UVCH: UVC payload header metadata.

Data is a stream of UvcMetadata structures.

Trait Implementations§

Source§

impl Clone for PixelFormat

Source§

fn clone(&self) -> PixelFormat

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for PixelFormat

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Display for PixelFormat

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl PartialEq for PixelFormat

Source§

fn eq(&self, other: &PixelFormat) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for PixelFormat

Source§

impl Eq for PixelFormat

Source§

impl StructuralPartialEq for PixelFormat

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.