libavcodec/imgconvert.c File Reference

misc image conversion routines More...

#include "avcodec.h"
#include "dsputil.h"
#include "colorspace.h"
#include "x86/mmx.h"
#include "x86/dsputil_mmx.h"
#include "imgconvert_template.c"

Go to the source code of this file.

Data Structures

struct  PixFmtInfo
struct  ConvertEntry

Defines

#define xglue(x, y)   x ## y
#define glue(x, y)   xglue(x, y)
#define FF_COLOR_RGB   0
 RGB color space.
#define FF_COLOR_GRAY   1
 gray color space
#define FF_COLOR_YUV   2
 YUV color space.
#define FF_COLOR_YUV_JPEG   3
 YUV color space.
#define FF_PIXEL_PLANAR   0
 each channel has one component in AVPicture
#define FF_PIXEL_PACKED   1
 only one components containing all the channels
#define FF_PIXEL_PALETTE   2
 one components containing indexes for a palette
#define TRANSP_INDEX   (6*6*6)
#define RGB_NAME   rgb555
#define RGB_IN(r, g, b, s)
#define RGB_OUT(d, r, g, b)
#define BPP   2
#define RGB_NAME   rgb565
#define RGB_IN(r, g, b, s)
#define RGB_OUT(d, r, g, b)
#define BPP   2
#define RGB_NAME   bgr24
#define RGB_IN(r, g, b, s)
#define RGB_OUT(d, r, g, b)
#define BPP   3
#define RGB_NAME   rgb24
#define FMT_RGB24
#define RGB_IN(r, g, b, s)
#define RGB_OUT(d, r, g, b)
#define BPP   3
#define RGB_NAME   rgb32
#define FMT_RGB32
#define RGB_IN(r, g, b, s)
#define RGBA_IN(r, g, b, a, s)
#define RGBA_OUT(d, r, g, b, a)
#define BPP   4
#define DEINT_INPLACE_LINE_LUM
#define DEINT_LINE_LUM

Functions

void avcodec_get_chroma_sub_sample (int pix_fmt, int *h_shift, int *v_shift)
const char * avcodec_get_pix_fmt_name (int pix_fmt)
enum PixelFormat avcodec_get_pix_fmt (const char *name)
void avcodec_pix_fmt_string (char *buf, int buf_size, int pix_fmt)
 Print in buf the string corresponding to the pixel format with number pix_fmt, or an header if pix_fmt is negative.
int ff_is_hwaccel_pix_fmt (enum PixelFormat pix_fmt)
 Determines whether pix_fmt is a hardware accelerated format.
int ff_set_systematic_pal (uint32_t pal[256], enum PixelFormat pix_fmt)
int ff_fill_linesize (AVPicture *picture, int pix_fmt, int width)
int ff_fill_pointer (AVPicture *picture, uint8_t *ptr, int pix_fmt, int height)
int avpicture_fill (AVPicture *picture, uint8_t *ptr, int pix_fmt, int width, int height)
 Fill in the AVPicture fields.
int avpicture_layout (const AVPicture *src, int pix_fmt, int width, int height, unsigned char *dest, int dest_size)
int avpicture_get_size (int pix_fmt, int width, int height)
 Calculate the size in bytes that a picture of the given width and height would occupy if stored in the given picture format.
int avcodec_get_pix_fmt_loss (int dst_pix_fmt, int src_pix_fmt, int has_alpha)
 Computes what kind of losses will occur when converting from one specific pixel format to another.
static int avg_bits_per_pixel (int pix_fmt)
static int avcodec_find_best_pix_fmt1 (int64_t pix_fmt_mask, int src_pix_fmt, int has_alpha, int loss_mask)
int avcodec_find_best_pix_fmt (int64_t pix_fmt_mask, int src_pix_fmt, int has_alpha, int *loss_ptr)
 Finds the best pixel format to convert to given a certain source pixel format.
void ff_img_copy_plane (uint8_t *dst, int dst_wrap, const uint8_t *src, int src_wrap, int width, int height)
int ff_get_plane_bytewidth (enum PixelFormat pix_fmt, int width, int plane)
void av_picture_copy (AVPicture *dst, const AVPicture *src, int pix_fmt, int width, int height)
 Copy image 'src' to 'dst'.
static void yuyv422_to_yuv420p (AVPicture *dst, const AVPicture *src, int width, int height)
static void uyvy422_to_yuv420p (AVPicture *dst, const AVPicture *src, int width, int height)
static void uyvy422_to_yuv422p (AVPicture *dst, const AVPicture *src, int width, int height)
static void yuyv422_to_yuv422p (AVPicture *dst, const AVPicture *src, int width, int height)
static void yuv422p_to_yuyv422 (AVPicture *dst, const AVPicture *src, int width, int height)
static void yuv422p_to_uyvy422 (AVPicture *dst, const AVPicture *src, int width, int height)
static void uyyvyy411_to_yuv411p (AVPicture *dst, const AVPicture *src, int width, int height)
static void yuv420p_to_yuyv422 (AVPicture *dst, const AVPicture *src, int width, int height)
static void yuv420p_to_uyvy422 (AVPicture *dst, const AVPicture *src, int width, int height)
void ff_shrink22 (uint8_t *dst, int dst_wrap, const uint8_t *src, int src_wrap, int width, int height)
void ff_shrink44 (uint8_t *dst, int dst_wrap, const uint8_t *src, int src_wrap, int width, int height)
void ff_shrink88 (uint8_t *dst, int dst_wrap, const uint8_t *src, int src_wrap, int width, int height)
static unsigned char gif_clut_index (uint8_t r, uint8_t g, uint8_t b)
static void build_rgb_palette (uint8_t *palette, int has_alpha)
static unsigned int bitcopy_n (unsigned int a, int n)
static void mono_to_gray (AVPicture *dst, const AVPicture *src, int width, int height, int xor_mask)
static void monowhite_to_gray (AVPicture *dst, const AVPicture *src, int width, int height)
static void monoblack_to_gray (AVPicture *dst, const AVPicture *src, int width, int height)
static void gray_to_mono (AVPicture *dst, const AVPicture *src, int width, int height, int xor_mask)
static void gray_to_monowhite (AVPicture *dst, const AVPicture *src, int width, int height)
static void gray_to_monoblack (AVPicture *dst, const AVPicture *src, int width, int height)
static void gray_to_gray16 (AVPicture *dst, const AVPicture *src, int width, int height)
static void gray16_to_gray (AVPicture *dst, const AVPicture *src, int width, int height)
static void gray16be_to_gray (AVPicture *dst, const AVPicture *src, int width, int height)
static void gray16le_to_gray (AVPicture *dst, const AVPicture *src, int width, int height)
static void gray16_to_gray16 (AVPicture *dst, const AVPicture *src, int width, int height)
int avpicture_alloc (AVPicture *picture, int pix_fmt, int width, int height)
 Allocate memory for a picture.
void avpicture_free (AVPicture *picture)
 Free a picture previously allocated by avpicture_alloc().
static int is_yuv_planar (const PixFmtInfo *ps)
int av_picture_crop (AVPicture *dst, const AVPicture *src, int pix_fmt, int top_band, int left_band)
 Crop image top and left side.
int av_picture_pad (AVPicture *dst, const AVPicture *src, int height, int width, int pix_fmt, int padtop, int padbottom, int padleft, int padright, int *color)
 Pad image.
static av_cold void img_convert_init (void)
static void img_apply_table (uint8_t *dst, int dst_wrap, const uint8_t *src, int src_wrap, int width, int height, const uint8_t *table1)
static void shrink41 (uint8_t *dst, int dst_wrap, const uint8_t *src, int src_wrap, int width, int height)
static void shrink21 (uint8_t *dst, int dst_wrap, const uint8_t *src, int src_wrap, int width, int height)
static void shrink12 (uint8_t *dst, int dst_wrap, const uint8_t *src, int src_wrap, int width, int height)
static void grow21_line (uint8_t *dst, const uint8_t *src, int width)
static void grow41_line (uint8_t *dst, const uint8_t *src, int width)
static void grow21 (uint8_t *dst, int dst_wrap, const uint8_t *src, int src_wrap, int width, int height)
static void grow12 (uint8_t *dst, int dst_wrap, const uint8_t *src, int src_wrap, int width, int height)
static void grow22 (uint8_t *dst, int dst_wrap, const uint8_t *src, int src_wrap, int width, int height)
static void grow41 (uint8_t *dst, int dst_wrap, const uint8_t *src, int src_wrap, int width, int height)
static void grow44 (uint8_t *dst, int dst_wrap, const uint8_t *src, int src_wrap, int width, int height)
static void conv411 (uint8_t *dst, int dst_wrap, const uint8_t *src, int src_wrap, int width, int height)
int img_convert (AVPicture *dst, int dst_pix_fmt, const AVPicture *src, int src_pix_fmt, int src_width, int src_height)
static int get_alpha_info_pal8 (const AVPicture *src, int width, int height)
int img_get_alpha_info (const AVPicture *src, int pix_fmt, int width, int height)
 Tell if an image really has transparent alpha values.
static void deinterlace_line (uint8_t *dst, const uint8_t *lum_m4, const uint8_t *lum_m3, const uint8_t *lum_m2, const uint8_t *lum_m1, const uint8_t *lum, int size)
static void deinterlace_line_inplace (uint8_t *lum_m4, uint8_t *lum_m3, uint8_t *lum_m2, uint8_t *lum_m1, uint8_t *lum, int size)
static void deinterlace_bottom_field (uint8_t *dst, int dst_wrap, const uint8_t *src1, int src_wrap, int width, int height)
static void deinterlace_bottom_field_inplace (uint8_t *src1, int src_wrap, int width, int height)
int avpicture_deinterlace (AVPicture *dst, const AVPicture *src, int pix_fmt, int width, int height)

Variables

static const PixFmtInfo pix_fmt_info [PIX_FMT_NB]
static const ConvertEntry convert_table [PIX_FMT_NB][PIX_FMT_NB]
static uint8_t y_ccir_to_jpeg [256]
static uint8_t y_jpeg_to_ccir [256]
static uint8_t c_ccir_to_jpeg [256]
static uint8_t c_jpeg_to_ccir [256]


Detailed Description

misc image conversion routines

Definition in file imgconvert.c.


Define Documentation

#define BPP   4

Definition at line 1625 of file imgconvert.c.

#define BPP   3

Definition at line 1625 of file imgconvert.c.

#define BPP   3

Definition at line 1625 of file imgconvert.c.

#define BPP   2

Definition at line 1625 of file imgconvert.c.

#define BPP   2

Definition at line 1625 of file imgconvert.c.

#define DEINT_INPLACE_LINE_LUM

Value:

movd_m2r(lum_m4[0],mm0);\
                    movd_m2r(lum_m3[0],mm1);\
                    movd_m2r(lum_m2[0],mm2);\
                    movd_m2r(lum_m1[0],mm3);\
                    movd_m2r(lum[0],mm4);\
                    punpcklbw_r2r(mm7,mm0);\
                    movd_r2m(mm2,lum_m4[0]);\
                    punpcklbw_r2r(mm7,mm1);\
                    punpcklbw_r2r(mm7,mm2);\
                    punpcklbw_r2r(mm7,mm3);\
                    punpcklbw_r2r(mm7,mm4);\
                    paddw_r2r(mm3,mm1);\
                    psllw_i2r(1,mm2);\
                    paddw_r2r(mm4,mm0);\
                    psllw_i2r(2,mm1);\
                    paddw_r2r(mm6,mm2);\
                    paddw_r2r(mm2,mm1);\
                    psubusw_r2r(mm0,mm1);\
                    psrlw_i2r(3,mm1);\
                    packuswb_r2r(mm7,mm1);\
                    movd_r2m(mm1,lum_m2[0]);

Definition at line 2774 of file imgconvert.c.

Referenced by deinterlace_line_inplace().

#define DEINT_LINE_LUM

Value:

movd_m2r(lum_m4[0],mm0);\
                    movd_m2r(lum_m3[0],mm1);\
                    movd_m2r(lum_m2[0],mm2);\
                    movd_m2r(lum_m1[0],mm3);\
                    movd_m2r(lum[0],mm4);\
                    punpcklbw_r2r(mm7,mm0);\
                    punpcklbw_r2r(mm7,mm1);\
                    punpcklbw_r2r(mm7,mm2);\
                    punpcklbw_r2r(mm7,mm3);\
                    punpcklbw_r2r(mm7,mm4);\
                    paddw_r2r(mm3,mm1);\
                    psllw_i2r(1,mm2);\
                    paddw_r2r(mm4,mm0);\
                    psllw_i2r(2,mm1);\
                    paddw_r2r(mm6,mm2);\
                    paddw_r2r(mm2,mm1);\
                    psubusw_r2r(mm0,mm1);\
                    psrlw_i2r(3,mm1);\
                    packuswb_r2r(mm7,mm1);\
                    movd_r2m(mm1,dst[0]);

Definition at line 2797 of file imgconvert.c.

Referenced by deinterlace_line().

#define FF_COLOR_GRAY   1

gray color space

Definition at line 46 of file imgconvert.c.

Referenced by avcodec_get_pix_fmt_loss(), and img_convert().

#define FF_COLOR_RGB   0

RGB color space.

Definition at line 45 of file imgconvert.c.

Referenced by avcodec_get_pix_fmt_loss().

#define FF_COLOR_YUV   2

YUV color space.

16 <= Y <= 235, 16 <= U, V <= 240

Definition at line 47 of file imgconvert.c.

Referenced by avcodec_get_pix_fmt_loss(), img_convert(), and is_yuv_planar().

#define FF_COLOR_YUV_JPEG   3

YUV color space.

0 <= Y <= 255, 0 <= U, V <= 255

Definition at line 48 of file imgconvert.c.

Referenced by avcodec_get_pix_fmt_loss(), img_convert(), and is_yuv_planar().

#define FF_PIXEL_PACKED   1

only one components containing all the channels

Definition at line 51 of file imgconvert.c.

Referenced by av_picture_copy(), avg_bits_per_pixel(), avpicture_layout(), and ff_get_plane_bytewidth().

#define FF_PIXEL_PALETTE   2

one components containing indexes for a palette

Definition at line 52 of file imgconvert.c.

Referenced by av_picture_copy(), avcodec_get_pix_fmt_loss(), avg_bits_per_pixel(), avpicture_layout(), and ff_get_plane_bytewidth().

#define FF_PIXEL_PLANAR   0

each channel has one component in AVPicture

Definition at line 50 of file imgconvert.c.

Referenced by av_picture_copy(), avg_bits_per_pixel(), ff_get_plane_bytewidth(), and is_yuv_planar().

#define FMT_RGB24

Definition at line 1578 of file imgconvert.c.

#define FMT_RGB32

Definition at line 1601 of file imgconvert.c.

#define glue ( x,
 )     xglue(x, y)

Definition at line 43 of file imgconvert.c.

#define RGB_IN ( r,
g,
b,
 ) 

Value:

{\
    unsigned int v = ((const uint32_t *)(s))[0];\
    r = (v >> 16) & 0xff;\
    g = (v >> 8) & 0xff;\
    b = v & 0xff;\
}

Definition at line 1603 of file imgconvert.c.

#define RGB_IN ( r,
g,
b,
 ) 

Value:

{\
    r = (s)[0];\
    g = (s)[1];\
    b = (s)[2];\
}

Definition at line 1603 of file imgconvert.c.

#define RGB_IN ( r,
g,
b,
 ) 

Value:

{\
    b = (s)[0];\
    g = (s)[1];\
    r = (s)[2];\
}

Definition at line 1603 of file imgconvert.c.

#define RGB_IN ( r,
g,
b,
 ) 

Value:

{\
    unsigned int v = ((const uint16_t *)(s))[0];\
    r = bitcopy_n(v >> (11 - 3), 3);\
    g = bitcopy_n(v >> (5 - 2), 2);\
    b = bitcopy_n(v << 3, 3);\
}

Definition at line 1603 of file imgconvert.c.

#define RGB_IN ( r,
g,
b,
 ) 

Value:

{\
    unsigned int v = ((const uint16_t *)(s))[0];\
    r = bitcopy_n(v >> (10 - 3), 3);\
    g = bitcopy_n(v >> (5 - 3), 3);\
    b = bitcopy_n(v << 3, 3);\
}

Definition at line 1603 of file imgconvert.c.

Referenced by glue().

#define RGB_NAME   rgb32

Definition at line 1600 of file imgconvert.c.

#define RGB_NAME   rgb24

Definition at line 1600 of file imgconvert.c.

#define RGB_NAME   bgr24

Definition at line 1600 of file imgconvert.c.

#define RGB_NAME   rgb565

Definition at line 1600 of file imgconvert.c.

#define RGB_NAME   rgb555

Definition at line 1600 of file imgconvert.c.

#define RGB_OUT ( d,
r,
g,
 ) 

Value:

{\
    (d)[0] = r;\
    (d)[1] = g;\
    (d)[2] = b;\
}

Definition at line 1587 of file imgconvert.c.

#define RGB_OUT ( d,
r,
g,
 ) 

Value:

{\
    (d)[0] = b;\
    (d)[1] = g;\
    (d)[2] = r;\
}

Definition at line 1587 of file imgconvert.c.

#define RGB_OUT ( d,
r,
g,
 ) 

Value:

{\
    ((uint16_t *)(d))[0] = ((r >> 3) << 11) | ((g >> 2) << 5) | (b >> 3);\
}

Definition at line 1587 of file imgconvert.c.

#define RGB_OUT ( d,
r,
g,
 ) 

Value:

{\
    ((uint16_t *)(d))[0] = ((r >> 3) << 10) | ((g >> 3) << 5) | (b >> 3);\
}

Definition at line 1587 of file imgconvert.c.

Referenced by glue().

#define RGBA_IN ( r,
g,
b,
a,
 ) 

Value:

{\
    unsigned int v = ((const uint32_t *)(s))[0];\
    a = (v >> 24) & 0xff;\
    r = (v >> 16) & 0xff;\
    g = (v >> 8) & 0xff;\
    b = v & 0xff;\
}

Definition at line 1611 of file imgconvert.c.

#define RGBA_OUT ( d,
r,
g,
b,
 ) 

Value:

{\
    ((uint32_t *)(d))[0] = (a << 24) | (r << 16) | (g << 8) | b;\
}

Definition at line 1620 of file imgconvert.c.

Referenced by glue().

#define TRANSP_INDEX   (6*6*6)

Definition at line 1468 of file imgconvert.c.

#define xglue ( x,
 )     x ## y

Definition at line 42 of file imgconvert.c.


Function Documentation

void av_picture_copy ( AVPicture dst,
const AVPicture src,
int  pix_fmt,
int  width,
int  height 
)

int av_picture_crop ( AVPicture dst,
const AVPicture src,
int  pix_fmt,
int  top_band,
int  left_band 
)

Crop image top and left side.

Definition at line 2118 of file imgconvert.c.

Referenced by do_video_out().

int av_picture_pad ( AVPicture dst,
const AVPicture src,
int  height,
int  width,
int  pix_fmt,
int  padtop,
int  padbottom,
int  padleft,
int  padright,
int *  color 
)

Pad image.

Definition at line 2140 of file imgconvert.c.

Referenced by do_video_out().

int avcodec_find_best_pix_fmt ( int64_t  pix_fmt_mask,
int  src_pix_fmt,
int  has_alpha,
int *  loss_ptr 
)

Finds the best pixel format to convert to given a certain source pixel format.

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. avcodec_find_best_pix_fmt() searches which of the given pixel formats should be used to suffer the least amount of loss. The pixel formats from which it chooses one, are determined by the pix_fmt_mask parameter.

 src_pix_fmt = PIX_FMT_YUV420P;
 pix_fmt_mask = (1 << PIX_FMT_YUV422P) || (1 << PIX_FMT_RGB24);
 dst_pix_fmt = avcodec_find_best_pix_fmt(pix_fmt_mask, src_pix_fmt, alpha, &loss);

Parameters:
[in] pix_fmt_mask bitmask determining which pixel format to choose from
[in] src_pix_fmt source pixel format
[in] has_alpha Whether the source pixel format alpha channel is used.
[out] loss_ptr Combination of flags informing you what kind of losses will occur.
Returns:
The best pixel format to convert to or -1 if none was found.

Definition at line 909 of file imgconvert.c.

static int avcodec_find_best_pix_fmt1 ( int64_t  pix_fmt_mask,
int  src_pix_fmt,
int  has_alpha,
int  loss_mask 
) [static]

Definition at line 883 of file imgconvert.c.

Referenced by avcodec_find_best_pix_fmt().

void avcodec_get_chroma_sub_sample ( int  pix_fmt,
int *  h_shift,
int *  v_shift 
)

enum PixelFormat avcodec_get_pix_fmt ( const char *  name  ) 

Definition at line 452 of file imgconvert.c.

Referenced by opt_frame_pix_fmt().

int avcodec_get_pix_fmt_loss ( int  dst_pix_fmt,
int  src_pix_fmt,
int  has_alpha 
)

Computes 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. avcodec_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_fmt destination pixel format
[in] src_pix_fmt source pixel format
[in] has_alpha Whether the source pixel format alpha channel is used.
Returns:
Combination of flags informing you what kind of losses will occur.

Definition at line 785 of file imgconvert.c.

Referenced by avcodec_find_best_pix_fmt(), and avcodec_find_best_pix_fmt1().

const char* avcodec_get_pix_fmt_name ( int  pix_fmt  ) 

Definition at line 444 of file imgconvert.c.

Referenced by avcodec_string(), dc1394_read_common(), and encode_init().

void avcodec_pix_fmt_string ( char *  buf,
int  buf_size,
int  pix_fmt 
)

Print in buf the string corresponding to the pixel format with number pix_fmt, or an header if pix_fmt is negative.

Parameters:
[in] buf the buffer where to write the string
[in] buf_size the size of buf
[in] pix_fmt the number of the pixel format to print the corresponding info string, or a negative value to print the corresponding header. Meaningful values for obtaining a pixel format info vary from 0 to PIX_FMT_NB -1.

Definition at line 462 of file imgconvert.c.

Referenced by opt_frame_pix_fmt().

static int avg_bits_per_pixel ( int  pix_fmt  )  [static]

Definition at line 840 of file imgconvert.c.

Referenced by avcodec_find_best_pix_fmt1().

int avpicture_alloc ( AVPicture picture,
int  pix_fmt,
int  width,
int  height 
)

Allocate memory for a picture.

Call avpicture_free to free it.

Parameters:
picture the picture to be filled in
pix_fmt the format of the picture
width the width of the picture
height the height of the picture
Returns:
zero if successful, a negative value if not

Definition at line 2083 of file imgconvert.c.

Referenced by av_encode(), img_convert(), libschroedinger_handle_first_access_unit(), and qtrle_encode_init().

int avpicture_deinterlace ( AVPicture dst,
const AVPicture src,
int  pix_fmt,
int  width,
int  height 
)

Definition at line 2957 of file imgconvert.c.

Referenced by pre_process_video_frame().

int avpicture_fill ( AVPicture picture,
uint8_t *  ptr,
int  pix_fmt,
int  width,
int  height 
)

Fill in the AVPicture fields.

The fields of the given AVPicture are filled in by using the 'ptr' address which points to the image data buffer. Depending on the specified picture 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.

Parameters:
picture AVPicture whose fields are to be filled in
ptr Buffer which will contain or contains the actual image data
pix_fmt The format in which the picture data is stored.
width the width of the image in pixels
height the height of the image in pixels
Returns:
size of the image data in bytes

Definition at line 707 of file imgconvert.c.

Referenced by alloc_picture(), avpicture_alloc(), avpicture_get_size(), copy_frame(), get_watermark_picture(), libdirac_decode_frame(), libschroedinger_decode_frame(), pre_process_video_frame(), Process(), Process0(), Process1(), raw_decode(), and sws_scale().

void avpicture_free ( AVPicture picture  ) 

Free a picture previously allocated by avpicture_alloc().

Parameters:
picture the AVPicture to be freed

Definition at line 2105 of file imgconvert.c.

Referenced by img_convert(), libschroedinger_decode_close(), and qtrle_encode_end().

int avpicture_get_size ( int  pix_fmt,
int  width,
int  height 
)

Calculate the size in bytes that a picture of the given width and height would occupy if stored in the given picture format.

Parameters:
pix_fmt the given picture format
width the width of the image
height the height of the image
Returns:
Image data size in bytes

Definition at line 779 of file imgconvert.c.

Referenced by alloc_picture(), avpicture_alloc(), avpicture_layout(), dc1394_read_common(), get_watermark_picture(), libdirac_decode_frame(), libdirac_encode_init(), libschroedinger_encode_init(), pam_encode_frame(), pnm_encode_frame(), pnm_parse(), pre_process_video_frame(), Process(), Process0(), Process1(), raw_init_decoder(), sws_scale(), targa_encode_frame(), v4l2_read_header(), and yuv4_read_packet().

int avpicture_layout ( const AVPicture src,
int  pix_fmt,
int  width,
int  height,
unsigned char *  dest,
int  dest_size 
)

static unsigned int bitcopy_n ( unsigned int  a,
int  n 
) [inline, static]

Definition at line 1499 of file imgconvert.c.

static void build_rgb_palette ( uint8_t *  palette,
int  has_alpha 
) [static]

Definition at line 1476 of file imgconvert.c.

static void conv411 ( uint8_t *  dst,
int  dst_wrap,
const uint8_t *  src,
int  src_wrap,
int  width,
int  height 
) [static]

Definition at line 2447 of file imgconvert.c.

Referenced by img_convert().

static void deinterlace_bottom_field ( uint8_t *  dst,
int  dst_wrap,
const uint8_t *  src1,
int  src_wrap,
int  width,
int  height 
) [static]

Definition at line 2903 of file imgconvert.c.

Referenced by avpicture_deinterlace().

static void deinterlace_bottom_field_inplace ( uint8_t *  src1,
int  src_wrap,
int  width,
int  height 
) [static]

Definition at line 2932 of file imgconvert.c.

Referenced by avpicture_deinterlace().

static void deinterlace_line ( uint8_t *  dst,
const uint8_t *  lum_m4,
const uint8_t *  lum_m3,
const uint8_t *  lum_m2,
const uint8_t *  lum_m1,
const uint8_t *  lum,
int  size 
) [static]

Definition at line 2821 of file imgconvert.c.

Referenced by deinterlace_bottom_field().

static void deinterlace_line_inplace ( uint8_t *  lum_m4,
uint8_t *  lum_m3,
uint8_t *  lum_m2,
uint8_t *  lum_m1,
uint8_t *  lum,
int  size 
) [static]

Definition at line 2862 of file imgconvert.c.

Referenced by deinterlace_bottom_field_inplace().

int ff_fill_linesize ( AVPicture picture,
int  pix_fmt,
int  width 
)

int ff_fill_pointer ( AVPicture picture,
uint8_t *  ptr,
int  pix_fmt,
int  height 
)

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

Definition at line 954 of file imgconvert.c.

Referenced by av_picture_copy(), and avfilter_draw_slice().

void ff_img_copy_plane ( uint8_t *  dst,
int  dst_wrap,
const uint8_t *  src,
int  src_wrap,
int  width,
int  height 
)

Definition at line 941 of file imgconvert.c.

Referenced by av_picture_copy(), dsputil_init(), and img_convert().

int ff_is_hwaccel_pix_fmt ( enum PixelFormat  pix_fmt  ) 

Determines whether pix_fmt is a hardware accelerated format.

Definition at line 484 of file imgconvert.c.

Referenced by avcodec_default_get_format().

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

Definition at line 489 of file imgconvert.c.

Referenced by avcodec_default_get_buffer(), and avpicture_alloc().

void ff_shrink22 ( uint8_t *  dst,
int  dst_wrap,
const uint8_t *  src,
int  src_wrap,
int  width,
int  height 
)

Definition at line 1381 of file imgconvert.c.

Referenced by dsputil_init(), and img_convert().

void ff_shrink44 ( uint8_t *  dst,
int  dst_wrap,
const uint8_t *  src,
int  src_wrap,
int  width,
int  height 
)

Definition at line 1414 of file imgconvert.c.

Referenced by dsputil_init(), and img_convert().

void ff_shrink88 ( uint8_t *  dst,
int  dst_wrap,
const uint8_t *  src,
int  src_wrap,
int  width,
int  height 
)

Definition at line 1445 of file imgconvert.c.

Referenced by dsputil_init().

static int get_alpha_info_pal8 ( const AVPicture src,
int  width,
int  height 
) [static]

Definition at line 2723 of file imgconvert.c.

Referenced by img_get_alpha_info().

static unsigned char gif_clut_index ( uint8_t  r,
uint8_t  g,
uint8_t  b 
) [inline, static]

Definition at line 1471 of file imgconvert.c.

Referenced by gif_image_write_image().

static void gray16_to_gray ( AVPicture dst,
const AVPicture src,
int  width,
int  height 
) [static]

Definition at line 1757 of file imgconvert.c.

Referenced by gray16be_to_gray(), and gray16le_to_gray().

static void gray16_to_gray16 ( AVPicture dst,
const AVPicture src,
int  width,
int  height 
) [static]

Definition at line 1790 of file imgconvert.c.

static void gray16be_to_gray ( AVPicture dst,
const AVPicture src,
int  width,
int  height 
) [static]

Definition at line 1776 of file imgconvert.c.

static void gray16le_to_gray ( AVPicture dst,
const AVPicture src,
int  width,
int  height 
) [static]

Definition at line 1782 of file imgconvert.c.

static void gray_to_gray16 ( AVPicture dst,
const AVPicture src,
int  width,
int  height 
) [static]

Definition at line 1738 of file imgconvert.c.

static void gray_to_mono ( AVPicture dst,
const AVPicture src,
int  width,
int  height,
int  xor_mask 
) [static]

Definition at line 1682 of file imgconvert.c.

Referenced by gray_to_monoblack(), and gray_to_monowhite().

static void gray_to_monoblack ( AVPicture dst,
const AVPicture src,
int  width,
int  height 
) [static]

Definition at line 1732 of file imgconvert.c.

static void gray_to_monowhite ( AVPicture dst,
const AVPicture src,
int  width,
int  height 
) [static]

Definition at line 1726 of file imgconvert.c.

static void grow12 ( uint8_t *  dst,
int  dst_wrap,
const uint8_t *  src,
int  src_wrap,
int  width,
int  height 
) [static]

Definition at line 2395 of file imgconvert.c.

Referenced by img_convert().

static void grow21 ( uint8_t *  dst,
int  dst_wrap,
const uint8_t *  src,
int  src_wrap,
int  width,
int  height 
) [static]

Definition at line 2383 of file imgconvert.c.

Referenced by img_convert().

static void grow21_line ( uint8_t *  dst,
const uint8_t *  src,
int  width 
) [static]

Definition at line 2335 of file imgconvert.c.

Referenced by grow21(), and grow22().

static void grow22 ( uint8_t *  dst,
int  dst_wrap,
const uint8_t *  src,
int  src_wrap,
int  width,
int  height 
) [static]

Definition at line 2409 of file imgconvert.c.

Referenced by img_convert().

static void grow41 ( uint8_t *  dst,
int  dst_wrap,
const uint8_t *  src,
int  src_wrap,
int  width,
int  height 
) [static]

Definition at line 2422 of file imgconvert.c.

Referenced by img_convert().

static void grow41_line ( uint8_t *  dst,
const uint8_t *  src,
int  width 
) [static]

Definition at line 2362 of file imgconvert.c.

Referenced by grow41(), and grow44().

static void grow44 ( uint8_t *  dst,
int  dst_wrap,
const uint8_t *  src,
int  src_wrap,
int  width,
int  height 
) [static]

Definition at line 2434 of file imgconvert.c.

Referenced by img_convert().

static void img_apply_table ( uint8_t *  dst,
int  dst_wrap,
const uint8_t *  src,
int  src_wrap,
int  width,
int  height,
const uint8_t *  table1 
) [static]

Definition at line 2221 of file imgconvert.c.

Referenced by img_convert().

int img_convert ( AVPicture dst,
int  dst_pix_fmt,
const AVPicture src,
int  src_pix_fmt,
int  src_width,
int  src_height 
)

Definition at line 2475 of file imgconvert.c.

Referenced by img_convert(), and sws_scale().

static av_cold void img_convert_init ( void   )  [static]

Definition at line 2207 of file imgconvert.c.

Referenced by img_convert().

int img_get_alpha_info ( const AVPicture src,
int  pix_fmt,
int  width,
int  height 
)

Tell if an image really has transparent alpha values.

Returns:
ored mask of FF_ALPHA_xxx constants

Definition at line 2748 of file imgconvert.c.

static int is_yuv_planar ( const PixFmtInfo ps  )  [inline, static]

Definition at line 2111 of file imgconvert.c.

Referenced by av_picture_crop(), av_picture_pad(), and img_convert().

static void mono_to_gray ( AVPicture dst,
const AVPicture src,
int  width,
int  height,
int  xor_mask 
) [static]

Definition at line 1629 of file imgconvert.c.

Referenced by monoblack_to_gray(), and monowhite_to_gray().

static void monoblack_to_gray ( AVPicture dst,
const AVPicture src,
int  width,
int  height 
) [static]

Definition at line 1676 of file imgconvert.c.

static void monowhite_to_gray ( AVPicture dst,
const AVPicture src,
int  width,
int  height 
) [static]

Definition at line 1670 of file imgconvert.c.

static void shrink12 ( uint8_t *  dst,
int  dst_wrap,
const uint8_t *  src,
int  src_wrap,
int  width,
int  height 
) [static]

Definition at line 2303 of file imgconvert.c.

Referenced by img_convert().

static void shrink21 ( uint8_t *  dst,
int  dst_wrap,
const uint8_t *  src,
int  src_wrap,
int  width,
int  height 
) [static]

Definition at line 2281 of file imgconvert.c.

Referenced by img_convert().

static void shrink41 ( uint8_t *  dst,
int  dst_wrap,
const uint8_t *  src,
int  src_wrap,
int  width,
int  height 
) [static]

Definition at line 2259 of file imgconvert.c.

Referenced by img_convert().

static void uyvy422_to_yuv420p ( AVPicture dst,
const AVPicture src,
int  width,
int  height 
) [static]

Definition at line 1087 of file imgconvert.c.

static void uyvy422_to_yuv422p ( AVPicture dst,
const AVPicture src,
int  width,
int  height 
) [static]

Definition at line 1145 of file imgconvert.c.

static void uyyvyy411_to_yuv411p ( AVPicture dst,
const AVPicture src,
int  width,
int  height 
) [static]

Definition at line 1278 of file imgconvert.c.

static void yuv420p_to_uyvy422 ( AVPicture dst,
const AVPicture src,
int  width,
int  height 
) [static]

Definition at line 1347 of file imgconvert.c.

static void yuv420p_to_yuyv422 ( AVPicture dst,
const AVPicture src,
int  width,
int  height 
) [static]

Definition at line 1314 of file imgconvert.c.

static void yuv422p_to_uyvy422 ( AVPicture dst,
const AVPicture src,
int  width,
int  height 
) [static]

Definition at line 1245 of file imgconvert.c.

static void yuv422p_to_yuyv422 ( AVPicture dst,
const AVPicture src,
int  width,
int  height 
) [static]

Definition at line 1212 of file imgconvert.c.

static void yuyv422_to_yuv420p ( AVPicture dst,
const AVPicture src,
int  width,
int  height 
) [static]

Definition at line 1031 of file imgconvert.c.

static void yuyv422_to_yuv422p ( AVPicture dst,
const AVPicture src,
int  width,
int  height 
) [static]

Definition at line 1179 of file imgconvert.c.


Variable Documentation

uint8_t c_ccir_to_jpeg[256] [static]

Definition at line 2203 of file imgconvert.c.

uint8_t c_jpeg_to_ccir[256] [static]

Definition at line 2204 of file imgconvert.c.

const ConvertEntry convert_table[PIX_FMT_NB][PIX_FMT_NB] [static]

Definition at line 1831 of file imgconvert.c.

const PixFmtInfo pix_fmt_info[PIX_FMT_NB] [static]

Definition at line 67 of file imgconvert.c.

uint8_t y_ccir_to_jpeg[256] [static]

Definition at line 2201 of file imgconvert.c.

uint8_t y_jpeg_to_ccir[256] [static]

Definition at line 2202 of file imgconvert.c.


Generated on Fri Oct 26 02:35:43 2012 for FFmpeg by  doxygen 1.5.8