Image related

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.
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.
int av_image_get_linesize (enum PixelFormat pix_fmt, int width, int plane)
 Compute the size of an image line with format pix_fmt and width width for the plane plane.
int av_image_fill_linesizes (int linesizes[4], enum PixelFormat pix_fmt, int width)
 Fill plane linesizes for an image with pixel format pix_fmt and width width.
int av_image_fill_pointers (uint8_t *data[4], enum PixelFormat 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.
int av_image_alloc (uint8_t *pointers[4], int linesizes[4], int w, int h, enum PixelFormat pix_fmt, int align)
 Allocate an image with size w and h and pixel format pix_fmt, and fill pointers and linesizes accordingly.
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.
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 PixelFormat pix_fmt, int width, int height)
 Copy image in src_data to dst_data.
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.
int ff_set_systematic_pal2 (uint32_t pal[256], enum PixelFormat pix_fmt)

Detailed Description

AVPicture types, pixel formats and basic image planes manipulation.

Enumeration Type Documentation

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 295 of file avutil.h.

Function Documentation

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 decode_slice_header(), do_video_stats(), end_frame(), ff_dlog_ref(), ff_flv_decode_picture_header(), ff_h263_show_pict_info(), ff_h264_decode_mb_cavlc(), ff_rate_estimate_qscale(), and svq3_decode_frame().

int av_image_alloc ( uint8_t *  pointers[4],
int  linesizes[4],
int  w,
int  h,
enum PixelFormat  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 176 of file imgutils.c.

Referenced by alloc_buffer(), avfilter_default_get_video_buffer(), and avpicture_alloc().

int av_image_check_size ( unsigned int  w,
unsigned int  h,
int  log_offset,
void log_ctx 
)
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 PixelFormat  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 237 of file imgutils.c.

Referenced by av_picture_copy(), av_vsrc_buffer_add_frame(), decode_slice_header(), and movie_get_frame().

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 224 of file imgutils.c.

Referenced by apply_delogo(), av_image_copy(), dsputil_init(), and end_frame().

int av_image_fill_linesizes ( int  linesizes[4],
enum PixelFormat  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 62 of file imgutils.c.

Referenced by av_image_alloc(), avpicture_fill(), avpicture_layout(), doTest(), and video_get_buffer().

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 29 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().

int av_image_fill_pointers ( uint8_t *  data[4],
enum PixelFormat  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 93 of file imgutils.c.

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

int av_image_get_linesize ( enum PixelFormat  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 47 of file imgutils.c.

Referenced by av_image_copy(), avfilter_draw_slice(), config_input(), and end_frame().

int ff_set_systematic_pal2 ( uint32_t  pal[256],
enum PixelFormat  pix_fmt 
)

Definition at line 136 of file imgutils.c.

Referenced by av_image_alloc(), bmp_encode_frame(), raw_init_decoder(), and video_get_buffer().