Libav
Data Structures | Macros | Functions | Variables
pixdesc.h File Reference
#include <inttypes.h>
#include "attributes.h"
#include "pixfmt.h"

Go to the source code of this file.

Data Structures

struct  AVComponentDescriptor
 
struct  AVPixFmtDescriptor
 Descriptor that unambiguously describes how the bits of a pixel are stored in the up to 4 data planes of an image. More...
 

Macros

#define AV_PIX_FMT_FLAG_BE   (1 << 0)
 Pixel format is big-endian. More...
 
#define AV_PIX_FMT_FLAG_PAL   (1 << 1)
 Pixel format has a palette in data[1], values are indexes in this palette. More...
 
#define AV_PIX_FMT_FLAG_BITSTREAM   (1 << 2)
 All values of a component are bit-wise packed end to end. More...
 
#define AV_PIX_FMT_FLAG_HWACCEL   (1 << 3)
 Pixel format is an HW accelerated format. More...
 
#define AV_PIX_FMT_FLAG_PLANAR   (1 << 4)
 At least one pixel component is not in the first data plane. More...
 
#define AV_PIX_FMT_FLAG_RGB   (1 << 5)
 The pixel format contains RGB-like data (as opposed to YUV/grayscale). More...
 
#define AV_PIX_FMT_FLAG_PSEUDOPAL   (1 << 6)
 The pixel format is "pseudo-paletted". More...
 
#define AV_PIX_FMT_FLAG_ALPHA   (1 << 7)
 The pixel format has an alpha channel. More...
 
#define PIX_FMT_BE   AV_PIX_FMT_FLAG_BE
 
#define PIX_FMT_PAL   AV_PIX_FMT_FLAG_PAL
 
#define PIX_FMT_BITSTREAM   AV_PIX_FMT_FLAG_BITSTREAM
 
#define PIX_FMT_HWACCEL   AV_PIX_FMT_FLAG_HWACCEL
 
#define PIX_FMT_PLANAR   AV_PIX_FMT_FLAG_PLANAR
 
#define PIX_FMT_RGB   AV_PIX_FMT_FLAG_RGB
 
#define PIX_FMT_PSEUDOPAL   AV_PIX_FMT_FLAG_PSEUDOPAL
 
#define PIX_FMT_ALPHA   AV_PIX_FMT_FLAG_ALPHA
 

Functions

void av_read_image_line (uint16_t *dst, const uint8_t *data[4], const int linesize[4], const AVPixFmtDescriptor *desc, int x, int y, int c, int w, int read_pal_component)
 Read a line from an image, and write the values of the pixel format component c to dst. More...
 
void av_write_image_line (const uint16_t *src, uint8_t *data[4], const int linesize[4], const AVPixFmtDescriptor *desc, int x, int y, int c, int w)
 Write the values from src to the pixel format component c of an image line. More...
 
enum AVPixelFormat av_get_pix_fmt (const char *name)
 Return the pixel format corresponding to name. More...
 
const char * av_get_pix_fmt_name (enum AVPixelFormat pix_fmt)
 Return the short name for a pixel format, NULL in case pix_fmt is unknown. More...
 
char * av_get_pix_fmt_string (char *buf, int buf_size, enum AVPixelFormat pix_fmt)
 Print in buf the string corresponding to the pixel format with number pix_fmt, or an header if pix_fmt is negative. More...
 
int av_get_bits_per_pixel (const AVPixFmtDescriptor *pixdesc)
 Return the number of bits per pixel used by the pixel format described by pixdesc. More...
 
const AVPixFmtDescriptorav_pix_fmt_desc_get (enum AVPixelFormat pix_fmt)
 
const AVPixFmtDescriptorav_pix_fmt_desc_next (const AVPixFmtDescriptor *prev)
 Iterate over all pixel format descriptors known to libavutil. More...
 
enum AVPixelFormat av_pix_fmt_desc_get_id (const AVPixFmtDescriptor *desc)
 
int av_pix_fmt_get_chroma_sub_sample (enum AVPixelFormat pix_fmt, int *h_shift, int *v_shift)
 Utility function to access log2_chroma_w log2_chroma_h from the pixel format AVPixFmtDescriptor. More...
 
int av_pix_fmt_count_planes (enum AVPixelFormat pix_fmt)
 
enum AVPixelFormat av_pix_fmt_swap_endianness (enum AVPixelFormat pix_fmt)
 Utility function to swap the endianness of a pixel format. More...
 

Variables

attribute_deprecated const AVPixFmtDescriptor av_pix_fmt_descriptors []
 The array of all the pixel format descriptors. More...
 

Macro Definition Documentation

#define AV_PIX_FMT_FLAG_BE   (1 << 0)

Pixel format is big-endian.

Definition at line 108 of file pixdesc.h.

#define AV_PIX_FMT_FLAG_PAL   (1 << 1)

Pixel format has a palette in data[1], values are indexes in this palette.

Definition at line 112 of file pixdesc.h.

#define AV_PIX_FMT_FLAG_BITSTREAM   (1 << 2)

All values of a component are bit-wise packed end to end.

Definition at line 116 of file pixdesc.h.

#define AV_PIX_FMT_FLAG_HWACCEL   (1 << 3)

Pixel format is an HW accelerated format.

Definition at line 120 of file pixdesc.h.

#define AV_PIX_FMT_FLAG_PLANAR   (1 << 4)

At least one pixel component is not in the first data plane.

Definition at line 124 of file pixdesc.h.

#define AV_PIX_FMT_FLAG_RGB   (1 << 5)

The pixel format contains RGB-like data (as opposed to YUV/grayscale).

Definition at line 128 of file pixdesc.h.

#define AV_PIX_FMT_FLAG_PSEUDOPAL   (1 << 6)

The pixel format is "pseudo-paletted".

This means that Libav treats it as paletted internally, but the palette is generated by the decoder and is not stored in the file.

Definition at line 134 of file pixdesc.h.

#define AV_PIX_FMT_FLAG_ALPHA   (1 << 7)

The pixel format has an alpha channel.

Definition at line 138 of file pixdesc.h.

#define PIX_FMT_BE   AV_PIX_FMT_FLAG_BE
Deprecated:
use the AV_PIX_FMT_FLAG_* flags

Definition at line 144 of file pixdesc.h.

#define PIX_FMT_PAL   AV_PIX_FMT_FLAG_PAL

Definition at line 145 of file pixdesc.h.

#define PIX_FMT_BITSTREAM   AV_PIX_FMT_FLAG_BITSTREAM

Definition at line 146 of file pixdesc.h.

#define PIX_FMT_HWACCEL   AV_PIX_FMT_FLAG_HWACCEL

Definition at line 147 of file pixdesc.h.

#define PIX_FMT_PLANAR   AV_PIX_FMT_FLAG_PLANAR

Definition at line 148 of file pixdesc.h.

#define PIX_FMT_RGB   AV_PIX_FMT_FLAG_RGB

Definition at line 149 of file pixdesc.h.

#define PIX_FMT_PSEUDOPAL   AV_PIX_FMT_FLAG_PSEUDOPAL

Definition at line 150 of file pixdesc.h.

#define PIX_FMT_ALPHA   AV_PIX_FMT_FLAG_ALPHA

Definition at line 151 of file pixdesc.h.

Function Documentation

void av_read_image_line ( uint16_t *  dst,
const uint8_t data[4],
const int  linesize[4],
const AVPixFmtDescriptor desc,
int  x,
int  y,
int  c,
int  w,
int  read_pal_component 
)

Read a line from an image, and write the values of the pixel format component c to dst.

Parameters
datathe array containing the pointers to the planes of the image
linesizethe array containing the linesizes of the image
descthe pixel format descriptor for the image
xthe horizontal coordinate of the first pixel to read
ythe vertical coordinate of the first pixel to read
wthe width of the line to read, that is the number of values to write to dst
read_pal_componentif not zero and the format is a paletted format writes the values corresponding to the palette component c in data[1] to dst, rather than the palette indexes in data[0]. The behavior is undefined if the format is not paletted.

Definition at line 33 of file pixdesc.c.

void av_write_image_line ( const uint16_t *  src,
uint8_t data[4],
const int  linesize[4],
const AVPixFmtDescriptor desc,
int  x,
int  y,
int  c,
int  w 
)

Write the values from src to the pixel format component c of an image line.

Parameters
srcarray containing the values to write
datathe array containing the pointers to the planes of the image to write into. It is supposed to be zeroed.
linesizethe array containing the linesizes of the image
descthe pixel format descriptor for the image
xthe horizontal coordinate of the first pixel to write
ythe vertical coordinate of the first pixel to write
wthe width of the line to write, that is the number of values to write to the image line

Definition at line 81 of file pixdesc.c.

enum AVPixelFormat av_get_pix_fmt ( const char *  name)

Return the pixel format corresponding to name.

If there is no pixel format with name name, then looks for a pixel format with the name corresponding to the native endian format of name. For example in a little-endian system, first looks for "gray16", then for "gray16le".

Finally if no pixel format has been found, returns PIX_FMT_NONE.

Definition at line 1552 of file pixdesc.c.

const char* av_get_pix_fmt_name ( enum AVPixelFormat  pix_fmt)

Return the short name for a pixel format, NULL in case pix_fmt is unknown.

See also
av_get_pix_fmt(), av_get_pix_fmt_string()

Definition at line 1540 of file pixdesc.c.

char* av_get_pix_fmt_string ( char *  buf,
int  buf_size,
enum AVPixelFormat  pix_fmt 
)

Print in buf the string corresponding to the pixel format with number pix_fmt, or an header if pix_fmt is negative.

Parameters
bufthe buffer where to write the string
buf_sizethe size of buf
pix_fmtthe number of the pixel format to print the corresponding info string, or a negative value to print the corresponding header.

Definition at line 1584 of file pixdesc.c.

int av_get_bits_per_pixel ( const AVPixFmtDescriptor pixdesc)

Return the number of bits per pixel used by the pixel format described by pixdesc.

Note that this is not the same as the number of bits per sample.

The returned number of bits refers to the number of bits actually used for storing the pixel information, that is padding bits are not counted.

Definition at line 1571 of file pixdesc.c.

Referenced by av_get_pix_fmt_string().

const AVPixFmtDescriptor* av_pix_fmt_desc_get ( enum AVPixelFormat  pix_fmt)
Returns
a pixel format descriptor for provided pixel format or NULL if this pixel format is unknown.

Definition at line 1599 of file pixdesc.c.

Referenced by av_pix_fmt_count_planes(), and av_pix_fmt_get_chroma_sub_sample().

const AVPixFmtDescriptor* av_pix_fmt_desc_next ( const AVPixFmtDescriptor prev)

Iterate over all pixel format descriptors known to libavutil.

Parameters
prevprevious descriptor. NULL to get the first descriptor.
Returns
next descriptor or NULL after the last descriptor

Definition at line 1606 of file pixdesc.c.

enum AVPixelFormat av_pix_fmt_desc_get_id ( const AVPixFmtDescriptor desc)
Returns
an AVPixelFormat id described by desc, or AV_PIX_FMT_NONE if desc is not a valid pointer to a pixel format descriptor.

Definition at line 1615 of file pixdesc.c.

int av_pix_fmt_get_chroma_sub_sample ( enum AVPixelFormat  pix_fmt,
int *  h_shift,
int *  v_shift 
)

Utility function to access log2_chroma_w log2_chroma_h from the pixel format AVPixFmtDescriptor.

Parameters
[in]pix_fmtthe pixel format
[out]h_shiftstore log2_chroma_h
[out]v_shiftstore log2_chroma_w
Returns
0 on success, AVERROR(ENOSYS) on invalid or unknown pixel format

Definition at line 1625 of file pixdesc.c.

int av_pix_fmt_count_planes ( enum AVPixelFormat  pix_fmt)
Returns
number of planes in pix_fmt, a negative AVERROR if pix_fmt is not a valid pixel format.

Definition at line 1637 of file pixdesc.c.

enum AVPixelFormat av_pix_fmt_swap_endianness ( enum AVPixelFormat  pix_fmt)

Utility function to swap the endianness of a pixel format.

Parameters
[in]pix_fmtthe pixel format
Returns
pixel format with swapped endianness if it exists, otherwise AV_PIX_FMT_NONE

Definition at line 1653 of file pixdesc.c.

Variable Documentation

attribute_deprecated const AVPixFmtDescriptor av_pix_fmt_descriptors[]

The array of all the pixel format descriptors.

Definition at line 132 of file pixdesc.c.

Referenced by av_pix_fmt_desc_get_id().