FFmpeg
Data Structures | Macros | Functions
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_ALPHA   (1 << 7)
 The pixel format has an alpha channel. More...
 
#define AV_PIX_FMT_FLAG_BAYER   (1 << 8)
 The pixel format is following a Bayer pattern. More...
 
#define AV_PIX_FMT_FLAG_FLOAT   (1 << 9)
 The pixel format contains IEEE-754 floating point values. More...
 
#define AV_PIX_FMT_FLAG_XYZ   (1 << 10)
 The pixel format contains XYZ-like data (as opposed to YUV/RGB/grayscale). More...
 
#define FF_LOSS_RESOLUTION   0x0001
 loss due to resolution change More...
 
#define FF_LOSS_DEPTH   0x0002
 loss due to color depth change More...
 
#define FF_LOSS_COLORSPACE   0x0004
 loss due to color space conversion More...
 
#define FF_LOSS_ALPHA   0x0008
 loss of alpha bits More...
 
#define FF_LOSS_COLORQUANT   0x0010
 loss due to color quantization More...
 
#define FF_LOSS_CHROMA   0x0020
 loss of chroma (e.g. More...
 
#define FF_LOSS_EXCESS_RESOLUTION   0x0040
 loss due to unneeded extra resolution More...
 
#define FF_LOSS_EXCESS_DEPTH   0x0080
 loss due to unneeded extra color depth More...
 

Functions

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...
 
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. 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)
 
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)
 
int av_chroma_location_enum_to_pos (int *xpos, int *ypos, enum AVChromaLocation pos)
 Converts AVChromaLocation to swscale x/y chroma position. More...
 
enum AVChromaLocation av_chroma_location_pos_to_enum (int xpos, int ypos)
 Converts swscale x/y chroma position to AVChromaLocation. 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 a header if pix_fmt is negative. More...
 
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. More...
 
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)
 Write the values from src to the pixel format component c of an image line. 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)
 
enum AVPixelFormat av_pix_fmt_swap_endianness (enum AVPixelFormat pix_fmt)
 Utility function to swap the endianness of a pixel format. More...
 
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. More...
 
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. More...
 

Macro Definition Documentation

◆ AV_PIX_FMT_FLAG_BE

#define AV_PIX_FMT_FLAG_BE   (1 << 0)

Pixel format is big-endian.

Definition at line 116 of file pixdesc.h.

◆ AV_PIX_FMT_FLAG_PAL

#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 120 of file pixdesc.h.

◆ AV_PIX_FMT_FLAG_BITSTREAM

#define AV_PIX_FMT_FLAG_BITSTREAM   (1 << 2)

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

Definition at line 124 of file pixdesc.h.

◆ AV_PIX_FMT_FLAG_HWACCEL

#define AV_PIX_FMT_FLAG_HWACCEL   (1 << 3)

Pixel format is an HW accelerated format.

Definition at line 128 of file pixdesc.h.

◆ AV_PIX_FMT_FLAG_PLANAR

#define AV_PIX_FMT_FLAG_PLANAR   (1 << 4)

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

Definition at line 132 of file pixdesc.h.

◆ AV_PIX_FMT_FLAG_RGB

#define AV_PIX_FMT_FLAG_RGB   (1 << 5)

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

Definition at line 136 of file pixdesc.h.

◆ AV_PIX_FMT_FLAG_ALPHA

#define AV_PIX_FMT_FLAG_ALPHA   (1 << 7)

The pixel format has an alpha channel.

This is set on all formats that support alpha in some way, including AV_PIX_FMT_PAL8. The alpha is always straight, never pre-multiplied.

If a codec or a filter does not support alpha, it should set all alpha to opaque, or use the equivalent pixel formats without alpha component, e.g. AV_PIX_FMT_RGB0 (or AV_PIX_FMT_RGB24 etc.) instead of AV_PIX_FMT_RGBA.

Definition at line 147 of file pixdesc.h.

◆ AV_PIX_FMT_FLAG_BAYER

#define AV_PIX_FMT_FLAG_BAYER   (1 << 8)

The pixel format is following a Bayer pattern.

Definition at line 152 of file pixdesc.h.

◆ AV_PIX_FMT_FLAG_FLOAT

#define AV_PIX_FMT_FLAG_FLOAT   (1 << 9)

The pixel format contains IEEE-754 floating point values.

Precision (double, single, or half) should be determined by the pixel size (64, 32, or 16 bits).

Definition at line 158 of file pixdesc.h.

◆ AV_PIX_FMT_FLAG_XYZ

#define AV_PIX_FMT_FLAG_XYZ   (1 << 10)

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

Definition at line 163 of file pixdesc.h.

◆ FF_LOSS_RESOLUTION

#define FF_LOSS_RESOLUTION   0x0001

loss due to resolution change

Definition at line 387 of file pixdesc.h.

◆ FF_LOSS_DEPTH

#define FF_LOSS_DEPTH   0x0002

loss due to color depth change

Definition at line 388 of file pixdesc.h.

◆ FF_LOSS_COLORSPACE

#define FF_LOSS_COLORSPACE   0x0004

loss due to color space conversion

Definition at line 389 of file pixdesc.h.

◆ FF_LOSS_ALPHA

#define FF_LOSS_ALPHA   0x0008

loss of alpha bits

Definition at line 390 of file pixdesc.h.

◆ FF_LOSS_COLORQUANT

#define FF_LOSS_COLORQUANT   0x0010

loss due to color quantization

Definition at line 391 of file pixdesc.h.

◆ FF_LOSS_CHROMA

#define FF_LOSS_CHROMA   0x0020

loss of chroma (e.g.

RGB to gray conversion)

Definition at line 392 of file pixdesc.h.

◆ FF_LOSS_EXCESS_RESOLUTION

#define FF_LOSS_EXCESS_RESOLUTION   0x0040

loss due to unneeded extra resolution

Definition at line 393 of file pixdesc.h.

◆ FF_LOSS_EXCESS_DEPTH

#define FF_LOSS_EXCESS_DEPTH   0x0080

loss due to unneeded extra color depth

Definition at line 394 of file pixdesc.h.

Function Documentation

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

Definition at line 3122 of file pixdesc.c.

Referenced by av_get_pix_fmt_string(), caca_write_header(), config_input(), config_output(), config_props(), decode_frame(), encode_frame(), encode_init(), ff_guess_coded_bitrate(), ffprobe_show_pixel_formats(), flac_write_picture(), libjxl_encode_frame(), libplacebo_query_format(), raw_decode(), raw_encode_init(), rawvideo_read_header(), rfc4175_parse_format(), show_pix_fmts(), sws_init_single_context(), sws_setColorspaceDetails(), targa_encode_frame(), and xwd_encode_frame().

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

Definition at line 3135 of file pixdesc.c.

Referenced by av_find_best_pix_fmt_of_2(), check_yuv2rgb(), config_input(), config_output(), and main().

◆ av_pix_fmt_desc_get()

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 3170 of file pixdesc.c.

Referenced by aom_init(), apply_film_grain(), av_film_grain_params_select(), av_find_best_pix_fmt_of_2(), av_frame_apply_cropping(), av_image_alloc(), av_image_copy_to_buffer(), av_image_fill_black(), av_image_fill_color(), av_image_fill_linesizes(), av_image_fill_plane_sizes(), av_image_get_buffer_size(), av_image_get_linesize(), av_pix_fmt_count_planes(), av_pix_fmt_get_chroma_sub_sample(), av_pix_fmt_swap_endianness(), avcodec_align_dimensions(), avcodec_align_dimensions2(), avcodec_default_get_format(), avcodec_string(), blockdetect_config_input(), blurdetect_config_input(), bwdif_vulkan_config_output(), caca_write_header(), check_chrConvertRange(), check_image_pointers(), check_input_planar_rgb_to_a(), check_input_planar_rgb_to_uv(), check_input_planar_rgb_to_y(), check_lumConvertRange(), check_output_yuv2gbrp(), check_rgb_to_uv(), check_rgb_to_y(), check_semiplanar(), check_yuv2rgb(), choose_chroma_location(), choose_pixel_fmt(), color_frame(), config_enc_params(), config_input(), config_input0(), config_input1(), config_input_main(), config_input_overlay(), config_input_ref(), config_input_structure(), config_inputx(), config_inputy(), config_out_props(), config_output(), config_props(), config_props_output(), configure_input_video_filter(), copy_picture_field(), copy_uv_planes(), create_filtergraph(), cuvid_decode_init(), cuvid_output_frame(), d3d12va_encode_hevc_init_sequence_params(), d3d12va_encode_set_profile(), decode(), decode_frame(), decode_slice(), deshake_opencl_init(), doTest(), draw_horiz_band(), enc_open(), encode_frame(), encode_init(), encode_preinit_video(), encode_slice(), export_film_grain(), ff_aom_apply_film_grain(), ff_aom_image_copy_16_to_8(), ff_boxblur_eval_filter_params(), ff_draw_horiz_band(), ff_draw_init2(), ff_draw_supported_pixel_formats(), ff_dxva2_vp9_fill_picture_parameters(), ff_fill_ayuv_map(), ff_fill_rgba_map(), ff_fmt_align(), ff_fmt_from_frame(), ff_fmt_is_regular_yuv(), ff_formats_pixdesc_filter(), ff_frame_pool_get(), ff_frame_to_dnn_classify(), ff_get_format(), ff_get_unscaled_swscale(), ff_guess_coded_bitrate(), ff_h264_draw_horiz_band(), ff_hscale16to15_4_neon(), ff_hscale16to15_X4_neon(), ff_hscale16to15_X8_neon(), ff_hscale16to19_4_neon(), ff_hscale16to19_X4_neon(), ff_hscale16to19_X8_neon(), ff_hscale_16_to_15_lasx(), ff_hscale_16_to_15_lsx(), ff_hscale_16_to_19_lasx(), ff_hscale_16_to_19_lsx(), ff_huffyuvdsp_init_x86(), ff_huffyuvencdsp_init_x86(), ff_hw_base_encode_init_params_h264(), ff_hw_base_encode_init_params_h265(), ff_mjpeg_decode_frame_from_buf(), ff_mjpeg_decode_sof(), ff_nvdec_decode_init(), ff_nvdec_frame_params(), ff_pnm_decode_header(), ff_rgb48Toxyz12(), ff_scale_eval_dimensions(), ff_sws_alphablendaway(), ff_sws_init_output_funcs(), ff_swscale(), ff_vmafmotion_init(), ff_vulkan_encode_init(), ff_xyz12Torgb48(), fill_frameinfo_by_link(), filter_frame(), flac_write_picture(), flip_bayer(), geq_config_props(), get_aspect_ratio(), get_bit_depth(), get_cm_codec_type(), get_cv_pixel_info(), get_deinterleaved_format(), get_format(), get_pix_fmt_depth(), get_pix_fmt_score(), get_plane_wh(), get_video_buffer(), get_vt_hevc_profile_level(), have_alpha_planar(), hScale16To15_c(), hScale16To19_c(), hwmap_config_output(), iccgen_filter_frame(), image_copy(), init(), init_filter(), init_image(), init_profile(), init_video(), init_video_param(), init_video_param_jpeg(), is16BPS(), is32BPS(), is_native_endian(), isALPHA(), isAnyRGB(), isBayer(), isBayer16BPS(), isBE(), isDataInHighBits(), isFloat(), isFloat16(), isGray(), isNBPS(), isPacked(), isPackedRGB(), isPlanar(), isPlanarRGB(), isPlanarYUV(), isRGB(), isSemiPlanarYUV(), isSwappedChroma(), isYUV(), j2kenc_init(), libdav1d_receive_frame(), libjxl_encode_frame(), libplacebo_config_output(), librav1e_encode_init(), librav1e_receive_packet(), libx265_encode_frame(), libx265_encode_init(), LLVMFuzzerTestOneInput(), lut2_config_output(), main(), map_pixel_format(), merge_formats_internal(), mj2_create_image(), mov_init(), mov_write_ftyp_tag(), mov_write_pixi_tag(), mxf_init(), mxf_parse_jpeg2000_frame(), mxf_write_ffv1_desc(), mxf_write_jpeg2000_subdesc(), nlmeans_opencl_filter_frame(), nppsharpen_sharpen(), nvdec_vp9_start_frame(), nvenc_setup_h264_config(), nvenc_setup_hevc_config(), opencl_get_plane_format(), opengl_draw(), opengl_fill_color_map(), opengl_init_context(), output_frame(), overlay_opencl_load(), pad_opencl_init(), param_init(), parse_pixel_format(), pick_format(), pix_fmt_match(), planarCopyWrapper(), planarRgb16ToRgb16Wrapper(), planarToP01xWrapper(), pnm_encode_frame(), prepare_uv_scale(), print_digraph(), qrencodesrc_query_formats(), qsv_fill_border(), qsv_init_surface(), qsv_map_from(), qsvenc_fill_padding_area(), query_formats(), raw_decode(), raw_encode_init(), raw_init_decoder(), rawvideo_read_header(), read_packet_vs(), remap_opencl_load(), rfc4175_parse_format(), Rgb16ToPlanarRgb16Wrapper(), rgbToRgbWrapper(), scale_eval_dimensions(), scale_frame(), selfTest(), set_format_info(), set_pix_fmt(), sps_map_pixel_format(), sws_init_single_context(), sws_setColorspaceDetails(), targa_encode_frame(), tiff_unpack_strip(), transpose_opencl_config_output(), unsharp_opencl_make_filter_params(), utvideo_encode_init(), v4l2_buffer_swframe_to_buf(), v4l2_encode_init(), vaapi_encode_av1_init_sequence_params(), vaapi_encode_mjpeg_get_encoder_caps(), vaapi_encode_mjpeg_init_picture_params(), vaapi_encode_profile_entrypoint(), vaapi_vp9_start_frame(), vaapi_vpp_frame_is_rgb(), validate_avframe_allocation(), vc2_encode_init(), vdpau_av1_start_frame(), vdpau_vp9_start_frame(), verify_md5(), video_frame_cksum(), vulkan_setup_profile(), vulkan_transfer_frame(), write_header(), write_packet(), X264_frame(), X264_init(), xfade_opencl_load(), xwd_encode_frame(), yuv2gbrp16_full_X_c(), yuv2gbrp_full_X_c(), yuv2gbrpf32_full_X_c(), and yuv4_write_packet().

◆ av_pix_fmt_desc_next()

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 3177 of file pixdesc.c.

Referenced by check_pixfmt_descriptors(), ffprobe_show_pixel_formats(), libplacebo_query_format(), main(), match_pixfmt(), query_formats(), and show_pix_fmts().

◆ av_pix_fmt_desc_get_id()

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 3189 of file pixdesc.c.

Referenced by check_pixfmt_descriptors(), libplacebo_query_format(), main(), match_pixfmt(), query_formats(), and show_pix_fmts().

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

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

Definition at line 3198 of file pixdesc.c.

Referenced by alloc_buffers(), alloc_picture(), alloc_plane(), cfhd_encode_init(), color_frame(), cuda_frames_init(), decode_init(), dirac_decode_data_unit(), encode_frame(), encode_init(), ff_mjpeg_decode_frame_from_buf(), ff_mjpeg_init_hvsample(), ff_mpv_common_frame_size_change(), ff_mpv_common_init(), frame_hash(), get_buffer_with_edge(), get_vpx_chroma_subsampling(), h264_slice_header_init(), init_stage(), j2kenc_init(), libxeve_init(), main(), map_chroma_format(), mjpeg_decode_scan(), process_frame(), sws_init_single_context(), and vp3_decode_init().

◆ av_pix_fmt_count_planes()

int av_pix_fmt_count_planes ( enum AVPixelFormat  pix_fmt)

◆ av_color_range_name()

const char* av_color_range_name ( enum AVColorRange  range)

◆ av_color_range_from_name()

int av_color_range_from_name ( const char *  name)
Returns
the AVColorRange value for name or an AVError if not found.

Definition at line 3492 of file pixdesc.c.

Referenced by init().

◆ av_color_primaries_name()

const char* av_color_primaries_name ( enum AVColorPrimaries  primaries)

◆ av_color_primaries_from_name()

int av_color_primaries_from_name ( const char *  name)
Returns
the AVColorPrimaries value for name or an AVError if not found.

Definition at line 3510 of file pixdesc.c.

◆ av_color_transfer_name()

const char* av_color_transfer_name ( enum AVColorTransferCharacteristic  transfer)

◆ av_color_transfer_from_name()

int av_color_transfer_from_name ( const char *  name)
Returns
the AVColorTransferCharacteristic value for name or an AVError if not found.

Definition at line 3531 of file pixdesc.c.

◆ av_color_space_name()

const char* av_color_space_name ( enum AVColorSpace  space)

◆ av_color_space_from_name()

int av_color_space_from_name ( const char *  name)
Returns
the AVColorSpace value for name or an AVError if not found.

Definition at line 3552 of file pixdesc.c.

Referenced by init().

◆ av_chroma_location_name()

const char* av_chroma_location_name ( enum AVChromaLocation  location)
Returns
the name for provided chroma location or NULL if unknown.

Definition at line 3567 of file pixdesc.c.

Referenced by avcodec_string(), config_enc_params(), dshow_cycle_formats(), dvvideo_encode_init(), filter_frame(), print_chroma_location(), and vaapi_vpp_fill_colour_properties().

◆ av_chroma_location_from_name()

int av_chroma_location_from_name ( const char *  name)
Returns
the AVChromaLocation value for name or an AVError if not found.

Definition at line 3573 of file pixdesc.c.

◆ av_chroma_location_enum_to_pos()

int av_chroma_location_enum_to_pos ( int *  xpos,
int *  ypos,
enum AVChromaLocation  pos 
)

Converts AVChromaLocation to swscale x/y chroma position.

The positions represent the chroma (0,0) position in a coordinates system with luma (0,0) representing the origin and luma(1,1) representing 256,256

Parameters
xposhorizontal chroma sample position
yposvertical chroma sample position

Definition at line 3588 of file pixdesc.c.

Referenced by av_chroma_location_pos_to_enum(), calc_chroma_pos(), ff_vk_video_common_init(), and mkv_write_video_color().

◆ av_chroma_location_pos_to_enum()

enum AVChromaLocation av_chroma_location_pos_to_enum ( int  xpos,
int  ypos 
)

Converts swscale x/y chroma position to AVChromaLocation.

The positions represent the chroma (0,0) position in a coordinates system with luma (0,0) representing the origin and luma(1,1) representing 256,256

Parameters
xposhorizontal chroma sample position
yposvertical chroma sample position

Definition at line 3600 of file pixdesc.c.

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

Definition at line 3102 of file pixdesc.c.

Referenced by check_pixfmt_descriptors(), dc1394_read_common(), ff_img_read_header(), fileTest(), get_pix_fmt(), ist_add(), libplacebo_init(), main(), nppscale_init(), parse_pixel_format(), pix_fmt_parse(), rawvideo_read_header(), scale_vaapi_init(), scale_vulkan_config_output(), testsrc_vulkan_config_props(), tonemap_vaapi_init(), v4l2_read_header(), and vpp_init().

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

See also
av_get_pix_fmt(), av_get_pix_fmt_string()

Definition at line 3090 of file pixdesc.c.

Referenced by add_video_device(), amf_init_context(), amf_init_encoder(), av_hwframe_ctx_init(), avcodec_default_get_buffer2(), avcodec_string(), avgblur_opencl_filter_frame(), avi_write_header(), caca_write_header(), check_modelinput_inlink(), choose_pixel_fmt(), config_input_overlay(), config_main_input(), config_output(), config_overlay_input(), config_props(), conv_cuda_convert(), convolution_opencl_filter_frame(), create_filtergraph(), cuda_frames_init(), cudascale_config_props(), cudascale_load_functions(), d3d11va_frames_init(), d3d12va_frames_init(), dc1394_read_common(), decode_frame_header(), deint_vaapi_filter_frame(), device_try_init(), dnxhd_decode_frame(), draw_items(), dshow_cycle_formats(), dv_init_mux(), dvvideo_encode_init(), dxva2_init_pool(), encode_preinit_video(), fbdev_read_header(), fbdev_write_packet(), ff_attributes_dump(), ff_frame_to_dnn_classify(), ff_frame_to_dnn_detect(), ff_hevc_decode_nal_sps(), ff_hw_base_get_recon_format(), ff_opencl_filter_work_size_from_image(), ff_proc_from_dnn_to_frame(), ff_proc_from_frame_to_dnn(), ff_scale_image(), ff_vaapi_vpp_config_output(), ff_vulkan_encode_init(), find_best_wrapper(), get_cv_pixel_format(), get_cv_pixel_info(), get_pixel_format(), h264_init_ps(), handle_p_frame_apng(), hw_device_setup_for_encode(), hwaccel_init(), hwdownload_config_output(), hwmap_config_output(), hwmap_filter_frame(), hwupload_config_output(), if(), init_processing_chain(), init_video(), kmsgrab_read_header(), libkvazaar_encode(), libopenjpeg_encode_frame(), libxevd_image_copy(), list_formats(), log_default(), main(), misc_vaapi_filter_frame(), mj2_create_image(), mov_get_rawvideo_codec_tag(), neighbor_opencl_filter_frame(), nlmeans_opencl_filter_frame(), nvenc_alloc_surface(), opencl_frames_get_constraints(), opengl_compile_shaders(), opt_get_elem(), output_video_frame(), overlay_cuda_config_output(), overlay_opencl_blend(), overlay_vaapi_blend(), palToRgbWrapper(), pick_format(), pix_fmt_parse(), planarRgbaToRgbWrapper(), planarRgbToRgbWrapper(), print_codec(), print_formats_internal(), print_link_prop(), procamp_vaapi_filter_frame(), process_frame(), program_opencl_run(), read_header_vs(), reget_buffer_internal(), remap_opencl_process_frame(), rgbToPlanarRgbaWrapper(), rgbToPlanarRgbWrapper(), rgbToRgbWrapper(), scale_vaapi_filter_frame(), sdl2_write_header(), send_frame(), show_frame(), show_stream(), sws_init_single_context(), targa_encode_frame(), tonemap_opencl_filter_frame(), tonemap_vaapi_filter_frame(), transpose_opencl_filter_frame(), transpose_vaapi_filter_frame(), unsharp_opencl_filter_frame(), v4l2_configure_contexts(), vaapi_decode_find_best_format(), vaapi_device_init(), vaapi_frames_init(), vdpau_frames_init(), vdpau_transfer_data_from(), vdpau_transfer_data_to(), video_thread(), vt_frames_init(), vulkan_decode_get_profile(), vulkan_frames_init(), write_header(), xv_write_header(), and yuv4_init().

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

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 3155 of file pixdesc.c.

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

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.
dst_element_sizesize of elements in dst array (2 or 4 byte)

Definition at line 31 of file pixdesc.c.

Referenced by av_read_image_line(), and filter_frame().

◆ 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 
)

Definition at line 106 of file pixdesc.c.

Referenced by check_pixfmt_descriptors().

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

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
src_element_sizesize of elements in src array (2 or 4 byte)

Definition at line 117 of file pixdesc.c.

Referenced by av_image_fill_color(), av_write_image_line(), and filter_frame().

◆ 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 
)

Definition at line 195 of file pixdesc.c.

Referenced by check_pixfmt_descriptors().

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

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

Definition at line 3225 of file pixdesc.c.

Referenced by is_native_endian(), and sws_init_single_context().

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

Parameters
[in]dst_pix_fmtdestination pixel format
[in]src_pix_fmtsource pixel format
[in]has_alphaWhether the source pixel format alpha channel is used.
Returns
Combination of flags informing you what kind of losses will occur (maximum loss for an invalid dst_pix_fmt).

Definition at line 3438 of file pixdesc.c.

Referenced by av_find_best_pix_fmt_of_2().

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

Parameters
[in]dst_pix_fmtdestination pixel format
[in]src_pix_fmtsource pixel format
[in]has_alphaWhether the source pixel format alpha channel is used.
Returns
Combination of flags informing you what kind of losses will occur (maximum loss for an invalid dst_pix_fmt).

Definition at line 3449 of file pixdesc.c.

Referenced by avcodec_find_best_pix_fmt_of_list(), choose_pixel_fmt(), pick_format(), vaapi_decode_find_best_format(), and vulkan_decode_get_profile().