haskus-system-0.6.0.0: Haskus system programming framework

Safe HaskellNone
LanguageHaskell2010

Haskus.Arch.Linux.Graphics.PixelFormat

Description

Pixel formats

Synopsis

Documentation

makePixelFormat :: Format -> Endianness -> PixelFormat Source #

Create a pixel format

data Format Source #

Logical pixel format (i.e. without considering storage endianness)

Constructors

C8

8 bits, color index

RGB332

8 bpp RGB: R:G:B 3:3:2

BGR233

8 bpp RGB: B:G:R 2:3:3

XRGB4444

16 bpp RGB: x:R:G:B 4:4:4:4

XBGR4444

16 bpp RGB: x:B:G:R 4:4:4:4

RGBX4444

16 bpp RGB: R:G:B:x 4:4:4:4

BGRX4444

16 bpp RGB: B:G:R:x 4:4:4:4

ARGB4444

16 bpp ARGB: A:R:G:B 4:4:4:4

ABGR4444

16 bpp ARGB: A:B:G:R 4:4:4:4

RGBA4444

16 bpp ARGB: R:G:B:A 4:4:4:4

BGRA4444

16 bpp ARGB: B:G:R:A 4:4:4:4

XRGB1555

16 bpp RGB: x:R:G:B 1:5:5:5

XBGR1555

16 bpp RGB: x:B:G:R 1:5:5:5

RGBX5551

16 bpp RGB: R:G:B:x 5:5:5:1

BGRX5551

16 bpp RGB: B:G:R:x 5:5:5:1

ARGB1555

16 bpp ARGB: A:R:G:B 1:5:5:5

ABGR1555

16 bpp ARGB: A:B:G:R 1:5:5:5

RGBA5551

16 bpp ARGB: R:G:B:A 5:5:5:1

BGRA5551

16 bpp ARGB: B:G:R:A 5:5:5:1

RGB565

16 bpp RGB: R:G:B 5:6:5

BGR565

16 bpp RGB: B:G:R 5:6:5

RGB888

24 bpp RGB: R:G:B 8:8:8

BGR888

24 bpp RGB: B:G:R 8:8:8

XRGB8888

32 bpp RGB: x:R:G:B 8:8:8:8

XBGR8888

32 bpp RGB: x:B:G:R 8:8:8:8

RGBX8888

32 bpp RGB: R:G:B:x 8:8:8:8

BGRX8888

32 bpp RGB: B:G:R:x 8:8:8:8

ARGB8888

32 bpp ARGB: A:R:G:B 8:8:8:8

ABGR8888

32 bpp ARGB: A:B:G:R 8:8:8:8

RGBA8888

32 bpp ARGB: R:G:B:A 8:8:8:8

BGRA8888

32 bpp ARGB: B:G:R:A 8:8:8:8

XRGB2101010

32 bpp RGB: x:R:G:B 2:10:10:10

XBGR2101010

32 bpp RGB: x:B:G:R 2:10:10:10

RGBX1010102

32 bpp RGB: R:G:B:x 10:10:10:2

BGRX1010102

32 bpp RGB: B:G:R:x 10:10:10:2

ARGB2101010

32 bpp ARGB: A:R:G:B 2:10:10:10

ABGR2101010

32 bpp ARGB: A:B:G:R 2:10:10:10

RGBA1010102

32 bpp ARGB: R:G:B:A 10:10:10:2

BGRA1010102

32 bpp ARGB: B:G:R:A 10:10:10:2

YUYV

Packed YCbCr: Cr0:Y1:Cb0:Y0 8:8:8:8

YVYU

Packed YCbCr: Cb0:Y1:Cr0:Y0 8:8:8:8

UYVY

Packed YCbCr: Y1:Cr0:Y0:Cb0 8:8:8:8

VYUY

Packed YCbCr: Y1:Cb0:Y0:Cr0 8:8:8:8

AYUY

Packed YCbCr: A:Y:Cb:Cr 8:8:8:8

NV12

2 plane YCbCr: 2x2 subsampled Cr:Cb plane

NV21

2 plane YCbCr: 2x2 subsampled Cb:Cr plane

NV16

2 plane YCbCr: 2x1 subsampled Cr:Cb plane

NV61

2 plane YCbCr: 2x1 subsampled Cb:Cr plane

YUV410

3 plane YCbCr: 4x4 subsampled Cb (1) and Cr (2) planes

YVU410

3 plane YCbCr: 4x4 subsampled Cr (1) and Cb (2) planes

YUV411

3 plane YCbCr: 4x1 subsampled Cb (1) and Cr (2) planes

YVU411

3 plane YCbCr: 4x1 subsampled Cr (1) and Cb (2) planes

YUV420

3 plane YCbCr: 2x2 subsampled Cb (1) and Cr (2) planes

YVU420

3 plane YCbCr: 2x2 subsampled Cr (1) and Cb (2) planes

YUV422

3 plane YCbCr: 2x1 subsampled Cb (1) and Cr (2) planes

YVU422

3 plane YCbCr: 2x1 subsampled Cr (1) and Cb (2) planes

YUV444

3 plane YCbCr: non-subsampled Cb (1) and Cr (2) planes

YVU444

3 plane YCbCr: non-subsampled Cr (1) and Cb (2) planes

formatEndianness :: PixelFormat -> Endianness Source #

Get pixel format endianness

formatFormat :: PixelFormat -> Format Source #

Get pixel format logical format

formatBitDepth :: Format -> [Word32] Source #

Bit-depth per plane