libavutil/imgutils.c File Reference

misc image utilities More...

#include "imgutils.h"
#include "internal.h"
#include "libavutil/pixdesc.h"

Go to the source code of this file.

Data Structures

struct  ImgUtils

Functions

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 ff_set_systematic_pal2 (uint32_t pal[256], enum PixelFormat pix_fmt)
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.
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.
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.
void av_fill_image_max_pixsteps (int max_pixsteps[4], int max_pixstep_comps[4], const AVPixFmtDescriptor *pixdesc)
int av_get_image_linesize (enum PixelFormat pix_fmt, int width, int plane)
int av_fill_image_linesizes (int linesizes[4], enum PixelFormat pix_fmt, int width)
int av_fill_image_pointers (uint8_t *data[4], enum PixelFormat pix_fmt, int height, uint8_t *ptr, const int linesizes[4])
int av_check_image_size (unsigned int w, unsigned int h, int log_offset, void *log_ctx)

Variables

static const AVClass imgutils_class = { "IMGUTILS", av_default_item_name, NULL, LIBAVUTIL_VERSION_INT, offsetof(ImgUtils, log_offset), offsetof(ImgUtils, log_ctx) }


Detailed Description

misc image utilities

Definition in file imgutils.c.


Function Documentation

int av_check_image_size ( unsigned int  w,
unsigned int  h,
int  log_offset,
void *  log_ctx 
)

Definition at line 293 of file imgutils.c.

int av_fill_image_linesizes ( int  linesizes[4],
enum PixelFormat  pix_fmt,
int  width 
)

Definition at line 282 of file imgutils.c.

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

Definition at line 271 of file imgutils.c.

int av_fill_image_pointers ( uint8_t *  data[4],
enum PixelFormat  pix_fmt,
int  height,
uint8_t *  ptr,
const int  linesizes[4] 
)

Definition at line 287 of file imgutils.c.

int av_get_image_linesize ( enum PixelFormat  pix_fmt,
int  width,
int  plane 
)

Definition at line 277 of file imgutils.c.

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

Referenced by 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_linesize linesizes for the image in dst_data
src_linesize linesizes for the image in src_data

Definition at line 236 of file imgutils.c.

Referenced by av_picture_copy(), av_picture_data_copy(), decode_slice_header(), movie_get_frame(), and request_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 223 of file imgutils.c.

Referenced by av_image_copy(), dsputil_init(), end_frame(), and ff_img_copy_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.

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

Referenced by av_fill_image_linesizes(), av_image_alloc(), avcodec_default_get_buffer(), avpicture_fill(), avpicture_layout(), doTest(), and ff_fill_linesize().

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

Referenced by av_fill_image_max_pixsteps(), 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:
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[4] 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 92 of file imgutils.c.

Referenced by av_fill_image_pointers(), av_image_alloc(), avcodec_default_get_buffer(), avpicture_fill(), and ff_fill_pointer().

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

Referenced by av_get_image_linesize(), av_image_copy(), avfilter_draw_slice(), and ff_get_plane_bytewidth().

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


Variable Documentation

const AVClass imgutils_class = { "IMGUTILS", av_default_item_name, NULL, LIBAVUTIL_VERSION_INT, offsetof(ImgUtils, log_offset), offsetof(ImgUtils, log_ctx) } [static]

Definition at line 210 of file imgutils.c.


Generated on Mon May 2 19:50:29 2011 for FFmpeg by  doxygen 1.5.6