Image related
[Other]

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


Enumerations

enum  AVPictureType {
  AV_PICTURE_TYPE_NONE = 0, AV_PICTURE_TYPE_I, 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_fill_arrays (uint8_t *dst_data[4], int dst_linesize[4], const uint8_t *src, enum PixelFormat pix_fmt, int width, int height, int align)
 Setup the data pointers and linesizes based on the specified image parameters and the provided array.
int av_image_get_buffer_size (enum PixelFormat pix_fmt, int width, int height, int align)
 Return the size in bytes of the amount of data required to store an image with the given parameters.
int av_image_copy_to_buffer (uint8_t *dst, int dst_size, const uint8_t *const src_data[4], const int src_linesize[4], enum PixelFormat pix_fmt, int width, int height, int align)
 Copy image data from an image into a buffer.
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_NONE  Undefined.
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 250 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_type the picture type
Returns:
a single character representing the picture type, '?' if pict_type is unknown

Definition at line 64 of file utils.c.

Referenced by decode_slice_header(), do_video_stats(), end_frame(), ff_er_frame_end(), ff_flv_decode_picture_header(), ff_h263_show_pict_info(), ff_h264_decode_mb_cavlc(), ff_print_debug_info(), ff_rate_estimate_qscale(), ff_tlog_ref(), queue_picture(), select_frame(), show_frame(), svq3_decode_frame(), and vc1_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:
align the 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 185 of file imgutils.c.

Referenced by alloc_buffer(), avpicture_alloc(), config_out_props(), ff_default_get_video_buffer(), ff_load_image(), ff_scale_image(), main(), sub2video_prepare(), and video_encode_example().

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.

Parameters:
w the width of the picture
h the height of the picture
log_offset the offset to sum to the log level for logging with log_ctx
log_ctx the parent logging context, it may be NULL
Returns:
>= 0 if valid, a negative error code otherwise

Definition at line 223 of file imgutils.c.

Referenced by av_image_alloc(), av_image_fill_arrays(), av_image_get_buffer_size(), avcodec_decode_video2(), avcodec_encode_video2(), avcodec_open2(), avpriv_dirac_parse_sequence_header(), cdxl_decode_frame(), cmv_decode_frame(), codec_get_buffer(), codec_reinit(), config_props(), decode_frame(), decode_frame_headers(), decode_init(), dnxhd_decode_frame(), dvdsub_init(), encode_dvd_subtitles(), encode_init(), ff_flv_decode_picture_header(), ff_h264_decode_seq_parameter_set(), ff_mjpeg_decode_sof(), ff_MPV_common_frame_size_change(), ff_MPV_common_init(), ff_pnm_decode_header(), flashsv2_encode_init(), gif_decode_frame(), grab_read_header(), init_image(), libopenjpeg_decode_frame(), libschroedinger_handle_first_access_unit(), parse_presentation_segment(), pcx_decode_frame(), ptx_decode_frame(), qtrle_encode_init(), rv20_decode_picture_header(), rv40_parse_slice_header(), source_config_props(), sunrast_decode_frame(), tgv_decode_frame(), truemotion1_decode_header(), txd_decode_frame(), update_dimensions(), v4l2_read_header(), video_get_buffer(), vp8_decode(), vqa_decode_init(), xwd_decode_frame(), and yop_decode_init().

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_linesizes linesizes for the image in dst_data
src_linesizes linesizes for the image in src_data

Definition at line 247 of file imgutils.c.

Referenced by av_picture_copy(), decode_frame(), decode_packet(), decode_slice_header(), decode_thread(), ff_copy_buffer_ref(), ff_load_image(), and ff_thread_video_encode_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_linesize linesize for the image plane in dst
src_linesize linesize for the image plane in src

Definition at line 234 of file imgutils.c.

Referenced by apply_delogo(), av_image_copy(), blur_image(), copy_frame(), copy_picture_field(), draw_slice(), end_frame(), ff_dsputil_init(), and load_mask().

int av_image_copy_to_buffer ( uint8_t dst,
int  dst_size,
const uint8_t *const   src_data[4],
const int  src_linesize[4],
enum PixelFormat  pix_fmt,
int  width,
int  height,
int  align 
)

Copy image data from an image into a buffer.

av_image_get_buffer_size() can be used to compute the required size for the buffer to fill.

Parameters:
dst a buffer into which picture data will be copied
dst_size the size in bytes of dst
src_data pointers containing the source image data
src_linesizes linesizes for the image in src_data
pix_fmt the pixel format of the source image
width the width of the source image in pixels
height the height of the source image in pixels
align the assumed linesize alignment for dst
Returns:
the number of bytes written to dst, or a negative value (error code) on error

Definition at line 315 of file imgutils.c.

Referenced by avpicture_layout().

int av_image_fill_arrays ( uint8_t dst_data[4],
int  dst_linesize[4],
const uint8_t src,
enum PixelFormat  pix_fmt,
int  width,
int  height,
int  align 
)

Setup the data pointers and linesizes based on the specified image parameters and the provided array.

The fields of the given image are filled in by using the src address which points to the image data buffer. Depending on the specified pixel format, one or multiple image data pointers and line sizes will be set. If a planar format is specified, several pointers will be set pointing to the different picture planes and the line sizes of the different planes will be stored in the lines_sizes array. Call with src == NULL to get the required size for the src buffer.

To allocate the buffer and fill in the dst_data and dst_linesize in one call, use av_image_alloc().

Parameters:
dst_data data pointers to be filled in
dst_linesizes linesizes for the image in dst_data to be filled in
src buffer which will contain or contains the actual image data, can be NULL
pix_fmt the pixel format of the image
width the width of the image in pixels
height the height of the image in pixels
align the value used in src for linesize alignment
Returns:
the size in bytes required for src, a negative error code in case of failure

Definition at line 282 of file imgutils.c.

Referenced by av_image_get_buffer_size(), and avpicture_fill().

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:
linesizes array to be filled with the linesize for each plane
Returns:
>= 0 in case of success, a negative error code otherwise

Definition at line 81 of file imgutils.c.

Referenced by av_image_alloc(), av_image_copy_to_buffer(), av_image_fill_arrays(), 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_pixsteps an 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_comps an array which is filled with the component for each plane which has the max pixel step. May be NULL.

Definition at line 31 of file imgutils.c.

Referenced by av_image_fill_linesizes(), av_image_get_linesize(), config_input(), config_input_main(), config_input_overlay(), 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:
data pointers array to be filled with the pointer for each image plane
ptr the pointer to a buffer which will contain the image
linesizes the 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 103 of file imgutils.c.

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

int av_image_get_buffer_size ( enum PixelFormat  pix_fmt,
int  width,
int  height,
int  align 
)

Return the size in bytes of the amount of data required to store an image with the given parameters.

Parameters:
[in] align the assumed linesize alignment

Definition at line 303 of file imgutils.c.

Referenced by av_image_copy_to_buffer(), and avpicture_get_size().

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

Referenced by av_image_copy(), config_input(), copy_frame(), copy_picture_field(), decode_thread(), end_frame(), and ff_draw_slice().

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


Generated on Fri Oct 26 02:50:13 2012 for FFmpeg by  doxygen 1.5.8