Libav
Enumerations | Functions

AVPicture types, pixel formats and basic image planes manipulation. More...

Enumerations

enum  AVPictureType {
  AV_PICTURE_TYPE_I = 1, AV_PICTURE_TYPE_P, AV_PICTURE_TYPE_B, AV_PICTURE_TYPE_S,
  AV_PICTURE_TYPE_SI, AV_PICTURE_TYPE_SP, AV_PICTURE_TYPE_BI
}
 

Functions

char av_get_picture_type_char (enum AVPictureType pict_type)
 Return a single letter to describe the given picture type pict_type. More...
 
void av_image_fill_max_pixsteps (int max_pixsteps[4], int max_pixstep_comps[4], const AVPixFmtDescriptor *pixdesc)
 Compute the max pixel step for each plane of an image with a format described by pixdesc. More...
 
int av_image_get_linesize (enum AVPixelFormat pix_fmt, int width, int plane)
 Compute the size of an image line with format pix_fmt and width width for the plane plane. More...
 
int av_image_fill_linesizes (int linesizes[4], enum AVPixelFormat pix_fmt, int width)
 Fill plane linesizes for an image with pixel format pix_fmt and width width. More...
 
int av_image_fill_pointers (uint8_t *data[4], enum AVPixelFormat pix_fmt, int height, uint8_t *ptr, const int linesizes[4])
 Fill plane data pointers for an image with pixel format pix_fmt and height height. More...
 
int av_image_alloc (uint8_t *pointers[4], int linesizes[4], int w, int h, enum AVPixelFormat pix_fmt, int align)
 Allocate an image with size w and h and pixel format pix_fmt, and fill pointers and linesizes accordingly. More...
 
void av_image_copy_plane (uint8_t *dst, int dst_linesize, const uint8_t *src, int src_linesize, int bytewidth, int height)
 Copy image plane from src to dst. More...
 
void av_image_copy (uint8_t *dst_data[4], int dst_linesizes[4], const uint8_t *src_data[4], const int src_linesizes[4], enum AVPixelFormat pix_fmt, int width, int height)
 Copy image in src_data to dst_data. More...
 
int av_image_check_size (unsigned int w, unsigned int h, int log_offset, void *log_ctx)
 Check if the given dimension of an image is valid, meaning that all bytes of the image can be addressed with a signed int. More...
 
int av_image_check_sar (unsigned int w, unsigned int h, AVRational sar)
 Check if the given sample aspect ratio of an image is valid. More...
 

Detailed Description

AVPicture types, pixel formats and basic image planes manipulation.

Enumeration Type Documentation

§ AVPictureType

Enumerator
AV_PICTURE_TYPE_I 

Intra.

AV_PICTURE_TYPE_P 

Predicted.

AV_PICTURE_TYPE_B 

Bi-dir predicted.

AV_PICTURE_TYPE_S 

S(GMC)-VOP MPEG4.

AV_PICTURE_TYPE_SI 

Switching Intra.

AV_PICTURE_TYPE_SP 

Switching Predicted.

AV_PICTURE_TYPE_BI 

BI type.

Definition at line 252 of file avutil.h.

Function Documentation

§ av_get_picture_type_char()

char av_get_picture_type_char ( enum AVPictureType  pict_type)

Return a single letter to describe the given picture type pict_type.

Parameters
[in]pict_typethe picture type
Returns
a single character representing the picture type, '?' if pict_type is unknown

Definition at line 43 of file utils.c.

Referenced by do_video_stats(), ff_flv_decode_picture_header(), ff_h263_show_pict_info(), ff_h264_decode_mb_cavlc(), ff_h264_decode_slice_header(), ff_rate_estimate_qscale(), filter_frame(), and svq3_decode_frame().

§ av_image_fill_max_pixsteps()

void av_image_fill_max_pixsteps ( int  max_pixsteps[4],
int  max_pixstep_comps[4],
const AVPixFmtDescriptor pixdesc 
)

Compute the max pixel step for each plane of an image with a format described by pixdesc.

The pixel step is the distance in bytes between the first byte of the group of bytes which describe a pixel component and the first byte of the successive group in the same plane for the same component.

Parameters
max_pixstepsan array which is filled with the max pixel step for each plane. Since a plane may contain different pixel components, the computed max_pixsteps[plane] is relative to the component in the plane with the max pixel step.
max_pixstep_compsan array which is filled with the component for each plane which has the max pixel step. May be NULL.

Definition at line 32 of file imgutils.c.

Referenced by av_image_fill_linesizes(), av_image_get_linesize(), config_input(), config_input_main(), config_props(), and config_props_output().

§ av_image_get_linesize()

int av_image_get_linesize ( enum AVPixelFormat  pix_fmt,
int  width,
int  plane 
)

Compute the size of an image line with format pix_fmt and width width for the plane plane.

Returns
the computed size in bytes

Definition at line 50 of file imgutils.c.

Referenced by av_image_copy(), config_input(), copy_picture_field(), and filter_frame().

§ av_image_fill_linesizes()

int av_image_fill_linesizes ( int  linesizes[4],
enum AVPixelFormat  pix_fmt,
int  width 
)

Fill plane linesizes for an image with pixel format pix_fmt and width width.

Parameters
linesizesarray to be filled with the linesize for each plane
Returns
>= 0 in case of success, a negative error code otherwise

Definition at line 68 of file imgutils.c.

Referenced by av_image_alloc(), avpicture_fill(), avpicture_layout(), doTest(), get_video_buffer(), and update_frame_pool().

§ av_image_fill_pointers()

int av_image_fill_pointers ( uint8_t data[4],
enum AVPixelFormat  pix_fmt,
int  height,
uint8_t ptr,
const int  linesizes[4] 
)

Fill plane data pointers for an image with pixel format pix_fmt and height height.

Parameters
datapointers array to be filled with the pointer for each image plane
ptrthe pointer to a buffer which will contain the image
linesizesthe array containing the linesize for each plane, should be filled by av_image_fill_linesizes()
Returns
the size in bytes required for the image buffer, a negative error code in case of failure

Definition at line 99 of file imgutils.c.

Referenced by av_image_alloc(), avpicture_fill(), and update_frame_pool().

§ av_image_alloc()

int av_image_alloc ( uint8_t pointers[4],
int  linesizes[4],
int  w,
int  h,
enum AVPixelFormat  pix_fmt,
int  align 
)

Allocate an image with size w and h and pixel format pix_fmt, and fill pointers and linesizes accordingly.

The allocated image buffer has to be freed by using av_freep(&pointers[0]).

Parameters
alignthe value to use for buffer size alignment
Returns
the size in bytes required for the image buffer, a negative error code in case of failure

Definition at line 181 of file imgutils.c.

Referenced by avpicture_alloc(), and video_encode_example().

§ av_image_copy_plane()

void av_image_copy_plane ( uint8_t dst,
int  dst_linesize,
const uint8_t src,
int  src_linesize,
int  bytewidth,
int  height 
)

Copy image plane from src to dst.

That is, copy "height" number of lines of "bytewidth" bytes each. The first byte of each successive line is separated by *_linesize bytes.

Parameters
dst_linesizelinesize for the image plane in dst
src_linesizelinesize for the image plane in src

Definition at line 254 of file imgutils.c.

Referenced by apply_delogo(), av_image_copy(), copy_picture_field(), decode_frame(), dxva2_retrieve_data(), encode_plane(), ff_mpegvideoencdsp_init(), filter_frame(), horizontal_frame_pack(), paf_video_decode(), pix_decode_frame(), and vertical_frame_pack().

§ av_image_copy()

void av_image_copy ( uint8_t dst_data[4],
int  dst_linesizes[4],
const uint8_t src_data[4],
const int  src_linesizes[4],
enum AVPixelFormat  pix_fmt,
int  width,
int  height 
)

Copy image in src_data to dst_data.

Parameters
dst_linesizeslinesizes for the image in dst_data
src_linesizeslinesizes for the image in src_data

Definition at line 267 of file imgutils.c.

Referenced by av_picture_copy(), ff_filter_frame(), ff_h264_decode_slice_header(), ffv1_decode_frame(), frame_copy_video(), vda_retrieve_data(), and vp8_decode().

§ av_image_check_size()

int av_image_check_size ( unsigned int  w,
unsigned int  h,
int  log_offset,
void log_ctx 
)

§ av_image_check_sar()

int av_image_check_sar ( unsigned int  w,
unsigned int  h,
AVRational  sar 
)

Check if the given sample aspect ratio of an image is valid.

It is considered invalid if the denominator is 0 or if applying the ratio to the image size would make the smaller dimension less than 1. If the sar numerator is 0, it is considered unknown and will return as valid.

Parameters
wwidth of the image
hheight of the image
sarsample aspect ratio of the image
Returns
0 if valid, a negative AVERROR code otherwise

Definition at line 233 of file imgutils.c.

Referenced by avcodec_open2(), decode_slice_header(), ff_get_buffer(), and ff_set_sar().