World of Might and Magic  0.2.0
Open reimplementation of Might and Magic 6 7 8 game engine
Файл pixdesc.h

См. исходные тексты.

Классы

struct  AVComponentDescriptor
 
struct  AVPixFmtDescriptor
 

Определения типов

typedef struct AVComponentDescriptor AVComponentDescriptor
 
typedef struct AVPixFmtDescriptor AVPixFmtDescriptor
 

Функции

int av_get_bits_per_pixel (const AVPixFmtDescriptor *pixdesc)
 
int av_get_padded_bits_per_pixel (const AVPixFmtDescriptor *pixdesc)
 
const AVPixFmtDescriptorav_pix_fmt_desc_get (enum AVPixelFormat pix_fmt)
 
const AVPixFmtDescriptorav_pix_fmt_desc_next (const AVPixFmtDescriptor *prev)
 
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)
 
int av_pix_fmt_count_planes (enum AVPixelFormat pix_fmt)
 
const char * av_color_range_name (enum AVColorRange range)
 
int av_color_range_from_name (const char *name)
 
const char * av_color_primaries_name (enum AVColorPrimaries primaries)
 
int av_color_primaries_from_name (const char *name)
 
const char * av_color_transfer_name (enum AVColorTransferCharacteristic transfer)
 
int av_color_transfer_from_name (const char *name)
 
const char * av_color_space_name (enum AVColorSpace space)
 
int av_color_space_from_name (const char *name)
 
const char * av_chroma_location_name (enum AVChromaLocation location)
 
int av_chroma_location_from_name (const char *name)
 
enum AVPixelFormat av_get_pix_fmt (const char *name)
 
const char * av_get_pix_fmt_name (enum AVPixelFormat pix_fmt)
 
char * av_get_pix_fmt_string (char *buf, int buf_size, enum AVPixelFormat pix_fmt)
 
void av_read_image_line2 (void *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, int dst_element_size)
 
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)
 
void av_write_image_line2 (const void *src, uint8_t *data[4], const int linesize[4], const AVPixFmtDescriptor *desc, int x, int y, int c, int w, int src_element_size)
 
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)
 
enum AVPixelFormat av_pix_fmt_swap_endianness (enum AVPixelFormat pix_fmt)
 
int av_get_pix_fmt_loss (enum AVPixelFormat dst_pix_fmt, enum AVPixelFormat src_pix_fmt, int has_alpha)
 
enum AVPixelFormat av_find_best_pix_fmt_of_2 (enum AVPixelFormat dst_pix_fmt1, enum AVPixelFormat dst_pix_fmt2, enum AVPixelFormat src_pix_fmt, int has_alpha, int *loss_ptr)
 

Типы

◆ AVComponentDescriptor

◆ AVPixFmtDescriptor

Descriptor that unambiguously describes how the bits of a pixel are stored in the up to 4 data planes of an image. It also stores the subsampling factors and number of components.

Заметки
This is separate of the colorspace (RGB, YCbCr, YPbPr, JPEG-style YUV and all the YUV variants) AVPixFmtDescriptor just stores how values are stored not what these values represent.

Функции

◆ av_get_bits_per_pixel()

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.

◆ av_get_padded_bits_per_pixel()

int av_get_padded_bits_per_pixel ( const AVPixFmtDescriptor pixdesc)

Return the number of bits per pixel for the pixel format described by pixdesc, including any padding or unused bits.

◆ av_pix_fmt_desc_get()

const AVPixFmtDescriptor* av_pix_fmt_desc_get ( enum AVPixelFormat  pix_fmt)
Возвращает
a pixel format descriptor for provided pixel format or NULL if this pixel format is unknown.

◆ av_pix_fmt_desc_next()

const AVPixFmtDescriptor* av_pix_fmt_desc_next ( const AVPixFmtDescriptor prev)

Iterate over all pixel format descriptors known to libavutil.

Аргументы
prevprevious descriptor. NULL to get the first descriptor.
Возвращает
next descriptor or NULL after the last descriptor

◆ av_pix_fmt_desc_get_id()

enum AVPixelFormat av_pix_fmt_desc_get_id ( const AVPixFmtDescriptor desc)
Возвращает
an AVPixelFormat id described by desc, or AV_PIX_FMT_NONE if desc is not a valid pointer to a pixel format descriptor.

◆ av_pix_fmt_get_chroma_sub_sample()

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.

Аргументы
[in]pix_fmtthe pixel format
[out]h_shiftstore log2_chroma_w (horizontal/width shift)
[out]v_shiftstore log2_chroma_h (vertical/height shift)
Возвращает
0 on success, AVERROR(ENOSYS) on invalid or unknown pixel format

◆ av_pix_fmt_count_planes()

int av_pix_fmt_count_planes ( enum AVPixelFormat  pix_fmt)
Возвращает
number of planes in pix_fmt, a negative AVERROR if pix_fmt is not a valid pixel format.

◆ av_color_range_name()

const char* av_color_range_name ( enum AVColorRange  range)
Возвращает
the name for provided color range or NULL if unknown.

◆ av_color_range_from_name()

int av_color_range_from_name ( const char *  name)
Возвращает
the AVColorRange value for name or an AVError if not found.

◆ av_color_primaries_name()

const char* av_color_primaries_name ( enum AVColorPrimaries  primaries)
Возвращает
the name for provided color primaries or NULL if unknown.

◆ av_color_primaries_from_name()

int av_color_primaries_from_name ( const char *  name)
Возвращает
the AVColorPrimaries value for name or an AVError if not found.

◆ av_color_transfer_name()

const char* av_color_transfer_name ( enum AVColorTransferCharacteristic  transfer)
Возвращает
the name for provided color transfer or NULL if unknown.

◆ av_color_transfer_from_name()

int av_color_transfer_from_name ( const char *  name)
Возвращает
the AVColorTransferCharacteristic value for name or an AVError if not found.

◆ av_color_space_name()

const char* av_color_space_name ( enum AVColorSpace  space)
Возвращает
the name for provided color space or NULL if unknown.

◆ av_color_space_from_name()

int av_color_space_from_name ( const char *  name)
Возвращает
the AVColorSpace value for name or an AVError if not found.

◆ av_chroma_location_name()

const char* av_chroma_location_name ( enum AVChromaLocation  location)
Возвращает
the name for provided chroma location or NULL if unknown.

◆ av_chroma_location_from_name()

int av_chroma_location_from_name ( const char *  name)
Возвращает
the AVChromaLocation value for name or an AVError if not found.

◆ av_get_pix_fmt()

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 AV_PIX_FMT_NONE.

◆ av_get_pix_fmt_name()

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.

См. также
av_get_pix_fmt(), av_get_pix_fmt_string()

◆ av_get_pix_fmt_string()

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 a header if pix_fmt is negative.

Аргументы
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.

◆ av_read_image_line2()

void av_read_image_line2 ( void 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,
int  dst_element_size 
)

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

Аргументы
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.
dst_element_sizesize of elements in dst array (2 or 4 byte)

◆ av_read_image_line()

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 
)

◆ av_write_image_line2()

void av_write_image_line2 ( const void src,
uint8_t data[4],
const int  linesize[4],
const AVPixFmtDescriptor desc,
int  x,
int  y,
int  c,
int  w,
int  src_element_size 
)

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

Аргументы
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
src_element_sizesize of elements in src array (2 or 4 byte)

◆ av_write_image_line()

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 
)

◆ av_pix_fmt_swap_endianness()

enum AVPixelFormat av_pix_fmt_swap_endianness ( enum AVPixelFormat  pix_fmt)

Utility function to swap the endianness of a pixel format.

Аргументы
[in]pix_fmtthe pixel format
Возвращает
pixel format with swapped endianness if it exists, otherwise AV_PIX_FMT_NONE

◆ av_get_pix_fmt_loss()

int av_get_pix_fmt_loss ( enum AVPixelFormat  dst_pix_fmt,
enum AVPixelFormat  src_pix_fmt,
int  has_alpha 
)

Compute what kind of losses will occur when converting from one specific pixel format to another. When converting from one pixel format to another, information loss may occur. For example, when converting from RGB24 to GRAY, the color information will be lost. Similarly, other losses occur when converting from some formats to other formats. These losses can involve loss of chroma, but also loss of resolution, loss of color depth, loss due to the color space conversion, loss of the alpha bits or loss due to color quantization. av_get_fix_fmt_loss() informs you about the various types of losses which will occur when converting from one pixel format to another.

Аргументы
[in]dst_pix_fmtdestination pixel format
[in]src_pix_fmtsource pixel format
[in]has_alphaWhether the source pixel format alpha channel is used.
Возвращает
Combination of flags informing you what kind of losses will occur (maximum loss for an invalid dst_pix_fmt).

◆ av_find_best_pix_fmt_of_2()

enum AVPixelFormat av_find_best_pix_fmt_of_2 ( enum AVPixelFormat  dst_pix_fmt1,
enum AVPixelFormat  dst_pix_fmt2,
enum AVPixelFormat  src_pix_fmt,
int  has_alpha,
int *  loss_ptr 
)

Compute what kind of losses will occur when converting from one specific pixel format to another. When converting from one pixel format to another, information loss may occur. For example, when converting from RGB24 to GRAY, the color information will be lost. Similarly, other losses occur when converting from some formats to other formats. These losses can involve loss of chroma, but also loss of resolution, loss of color depth, loss due to the color space conversion, loss of the alpha bits or loss due to color quantization. av_get_fix_fmt_loss() informs you about the various types of losses which will occur when converting from one pixel format to another.

Аргументы
[in]dst_pix_fmtdestination pixel format
[in]src_pix_fmtsource pixel format
[in]has_alphaWhether the source pixel format alpha channel is used.
Возвращает
Combination of flags informing you what kind of losses will occur (maximum loss for an invalid dst_pix_fmt).