#include <inttypes.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... | |
Defines | |
#define | PIX_FMT_BE 1 |
Pixel format is big-endian. | |
#define | PIX_FMT_PAL 2 |
Pixel format has a palette in data[1], values are indexes in this palette. | |
#define | PIX_FMT_BITSTREAM 4 |
All values of a component are bit-wise packed end to end. | |
#define | PIX_FMT_HWACCEL 8 |
Pixel format is an HW accelerated format. | |
#define | PIX_FMT_PLANAR 16 |
At least one pixel component is not in the first data plane. | |
#define | PIX_FMT_RGB 32 |
The pixel format contains RGB-like data (as opposed to YUV/grayscale). | |
#define | PIX_FMT_PSEUDOPAL 64 |
The pixel format is "pseudo-paletted". | |
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. | |
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. | |
enum PixelFormat | av_get_pix_fmt (const char *name) |
Return the pixel format corresponding to name. | |
const char * | av_get_pix_fmt_name (enum PixelFormat pix_fmt) |
Return the short name for a pixel format, NULL in case pix_fmt is unknown. | |
char * | av_get_pix_fmt_string (char *buf, int buf_size, enum PixelFormat pix_fmt) |
Print in buf the string corresponding to the pixel format with number pix_fmt, or an header if pix_fmt is negative. | |
int | av_get_bits_per_pixel (const AVPixFmtDescriptor *pixdesc) |
Return the number of bits per pixel used by the pixel format described by pixdesc. | |
Variables | |
const AVPixFmtDescriptor | av_pix_fmt_descriptors [] |
The array of all the pixel format descriptors. |
#define PIX_FMT_BE 1 |
Pixel format is big-endian.
Definition at line 89 of file pixdesc.h.
Referenced by av_read_image_line(), av_write_image_line(), and xwd_encode_frame().
#define PIX_FMT_BITSTREAM 4 |
All values of a component are bit-wise packed end to end.
Definition at line 91 of file pixdesc.h.
Referenced by av_read_image_line(), av_write_image_line(), image_get_linesize(), query_formats(), and show_pix_fmts().
#define PIX_FMT_HWACCEL 8 |
Pixel format is an HW accelerated format.
Definition at line 92 of file pixdesc.h.
Referenced by av_image_copy(), av_image_fill_linesizes(), av_image_fill_pointers(), av_image_get_linesize(), create_all_formats(), ff_all_formats(), ff_is_hwaccel_pix_fmt(), main(), query_formats(), and show_pix_fmts().
#define PIX_FMT_PAL 2 |
Pixel format has a palette in data[1], values are indexes in this palette.
Definition at line 90 of file pixdesc.h.
Referenced by av_image_alloc(), av_image_copy(), av_image_copy_to_buffer(), av_image_fill_pointers(), config_props(), ff_start_frame(), show_pix_fmts(), and start_frame().
#define PIX_FMT_PLANAR 16 |
At least one pixel component is not in the first data plane.
Definition at line 93 of file pixdesc.h.
Referenced by ff_draw_init().
#define PIX_FMT_PSEUDOPAL 64 |
The pixel format is "pseudo-paletted".
This means that FFmpeg treats it as paletted internally, but the palette is generated by the decoder and is not stored in the file.
Definition at line 100 of file pixdesc.h.
Referenced by av_image_alloc(), av_image_copy(), av_image_fill_pointers(), av_image_get_buffer_size(), config_props(), ff_draw_init(), raw_decode(), and start_frame().
#define PIX_FMT_RGB 32 |
The pixel format contains RGB-like data (as opposed to YUV/grayscale).
Definition at line 94 of file pixdesc.h.
Referenced by ff_draw_color(), and ff_draw_init().
int av_get_bits_per_pixel | ( | const AVPixFmtDescriptor * | pixdesc | ) |
Return the number of bits per pixel used by the pixel format described by pixdesc.
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 1462 of file pixdesc.c.
Referenced by av_get_pix_fmt_string(), avg_bits_per_pixel(), caca_write_header(), config_props(), decode_frame_ilbm(), encode_frame(), ff_fill_line_with_color(), raw_init_encoder(), show_pix_fmts(), sws_init_context(), sws_setColorspaceDetails(), targa_encode_frame(), and xwd_encode_frame().
enum PixelFormat 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 1443 of file pixdesc.c.
Referenced by av_opt_set(), dc1394_read_common(), ff_parse_pixel_format(), ff_raw_read_header(), fileTest(), main(), new_video_stream(), read_header(), and v4l2_read_header().
const char* av_get_pix_fmt_name | ( | enum PixelFormat | pix_fmt | ) |
Return the short name for a pixel format, NULL in case pix_fmt is unknown.
Definition at line 1431 of file pixdesc.c.
Referenced by av_opt_get(), avcodec_default_reget_buffer(), avcodec_string(), caca_write_header(), choose_pix_fmts(), config_output(), dc1394_read_common(), decode_video(), dshow_cycle_formats(), dvvideo_init_encoder(), ff_dv_print_profiles(), ff_scale_image(), ff_yuv2packedX_altivec(), ff_yuv2rgb_get_func_ptr(), ff_yuv2rgb_get_func_ptr_bfin(), libopenjpeg_encode_frame(), list_formats(), main(), mj2_create_image(), palToRgbWrapper(), pick_format(), planarRgbToRgbWrapper(), print_link_prop(), rgbToRgbWrapper(), sdl_write_header(), show_frame(), show_stream(), sws_format_name(), sws_init_context(), and targa_encode_frame().
char* av_get_pix_fmt_string | ( | char * | buf, | |
int | buf_size, | |||
enum PixelFormat | pix_fmt | |||
) |
Print in buf the string corresponding to the pixel format with number pix_fmt, or an header if pix_fmt is negative.
buf | the buffer where to write the string | |
buf_size | the size of buf | |
pix_fmt | the number of the pixel format to print the corresponding info string, or a negative value to print the corresponding header. |
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.
data | the array containing the pointers to the planes of the image | |
linesize | the array containing the linesizes of the image | |
desc | the pixel format descriptor for the image | |
x | the horizontal coordinate of the first pixel to read | |
y | the vertical coordinate of the first pixel to read | |
w | the width of the line to read, that is the number of values to write to dst | |
read_pal_component | if 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 29 of file pixdesc.c.
Referenced by draw_slice().
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.
src | array containing the values to write | |
data | the array containing the pointers to the planes of the image to write into. It is supposed to be zeroed. | |
linesize | the array containing the linesizes of the image | |
desc | the pixel format descriptor for the image | |
x | the horizontal coordinate of the first pixel to write | |
y | the vertical coordinate of the first pixel to write | |
w | the width of the line to write, that is the number of values to write to the image line |
Definition at line 77 of file pixdesc.c.
Referenced by draw_slice().
The array of all the pixel format descriptors.
Definition at line 125 of file pixdesc.c.
Referenced by alloc_buffer(), av_image_alloc(), av_image_copy(), av_image_copy_to_buffer(), av_image_fill_linesizes(), av_image_fill_pointers(), av_image_get_buffer_size(), av_image_get_linesize(), av_picture_crop(), av_picture_pad(), avcodec_align_dimensions(), avcodec_get_chroma_sub_sample(), avcodec_get_pix_fmt_loss(), avg_bits_per_pixel(), caca_write_header(), check_image_pointers(), choose_pixel_fmt(), config_input(), config_input_main(), config_input_overlay(), config_out_props(), config_props(), config_props_output(), copy_picture_field(), create_all_formats(), decode_frame(), decode_frame_ilbm(), decode_thread(), doTest(), encode_frame(), end_frame(), fbdev_read_header(), ff_all_formats(), ff_draw_horiz_band(), ff_draw_init(), ff_draw_slice(), ff_fill_line_with_color(), ff_is_hwaccel_pix_fmt(), ff_MPV_frame_end(), ff_start_frame(), ff_sws_init_output_funcs(), ff_tlog_link(), get_pix_fmt_depth(), getSubSampleFactors(), hScale16To15_c(), hScale16To19_c(), init_video(), is_yuv_planar(), libopenjpeg_decode_frame(), libopenjpeg_ispacked(), libopenjpeg_matches_pix_fmt(), main(), mj2_create_image(), pick_format(), planarCopyWrapper(), print_digraph(), query_formats(), raw_decode(), raw_init_encoder(), return_frame(), selfTest(), show_pix_fmts(), start_frame(), sws_init_context(), sws_setColorspaceDetails(), targa_encode_frame(), video_get_buffer(), and xwd_encode_frame().