Data Structures | Defines | Typedefs | Functions | Variables

libavcodec/pngenc.c File Reference

#include "avcodec.h"
#include "bytestream.h"
#include "dsputil.h"
#include "png.h"
#include <zlib.h>

Go to the source code of this file.

Data Structures

struct  PNGEncContext

Defines

#define IOBUF_SIZE   4096

Typedefs

typedef struct PNGEncContext PNGEncContext

Functions

static void png_get_interlaced_row (uint8_t *dst, int row_size, int bits_per_pixel, int pass, const uint8_t *src, int width)
static void sub_png_paeth_prediction (uint8_t *dst, uint8_t *src, uint8_t *top, int w, int bpp)
static void png_filter_row (DSPContext *dsp, uint8_t *dst, int filter_type, uint8_t *src, uint8_t *top, int size, int bpp)
static uint8_t * png_choose_filter (PNGEncContext *s, uint8_t *dst, uint8_t *src, uint8_t *top, int size, int bpp)
static void convert_from_rgb32 (uint8_t *dst, const uint8_t *src, int width)
static void png_write_chunk (uint8_t **f, uint32_t tag, const uint8_t *buf, int length)
static int png_write_row (PNGEncContext *s, const uint8_t *data, int size)
static int encode_frame (AVCodecContext *avctx, unsigned char *buf, int buf_size, void *data)
static av_cold int png_enc_init (AVCodecContext *avctx)

Variables

AVCodec png_encoder

Define Documentation

#define IOBUF_SIZE   4096

Definition at line 34 of file pngenc.c.

Referenced by encode_frame(), and png_write_row().


Typedef Documentation

typedef struct PNGEncContext PNGEncContext

Function Documentation

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

Definition at line 175 of file pngenc.c.

Referenced by encode_frame().

static int encode_frame ( AVCodecContext avctx,
unsigned char *  buf,
int  buf_size,
void *  data 
) [static]

Definition at line 232 of file pngenc.c.

static uint8_t* png_choose_filter ( PNGEncContext s,
uint8_t *  dst,
uint8_t *  src,
uint8_t *  top,
int  size,
int  bpp 
) [static]

Definition at line 145 of file pngenc.c.

Referenced by encode_frame().

static av_cold int png_enc_init ( AVCodecContext avctx  )  [static]

Definition at line 425 of file pngenc.c.

static void png_filter_row ( DSPContext dsp,
uint8_t *  dst,
int  filter_type,
uint8_t *  src,
uint8_t *  top,
int  size,
int  bpp 
) [static]

Definition at line 115 of file pngenc.c.

Referenced by png_choose_filter().

static void png_get_interlaced_row ( uint8_t *  dst,
int  row_size,
int  bits_per_pixel,
int  pass,
const uint8_t *  src,
int  width 
) [static]

Definition at line 50 of file pngenc.c.

Referenced by encode_frame().

static void png_write_chunk ( uint8_t **  f,
uint32_t  tag,
const uint8_t *  buf,
int  length 
) [static]

Definition at line 192 of file pngenc.c.

Referenced by encode_frame(), and png_write_row().

static int png_write_row ( PNGEncContext s,
const uint8_t *  data,
int  size 
) [static]

Definition at line 212 of file pngenc.c.

Referenced by encode_frame().

static void sub_png_paeth_prediction ( uint8_t *  dst,
uint8_t *  src,
uint8_t *  top,
int  w,
int  bpp 
) [static]

Definition at line 88 of file pngenc.c.

Referenced by png_filter_row().


Variable Documentation

Initial value:
 {
    "png",
    AVMEDIA_TYPE_VIDEO,
    CODEC_ID_PNG,
    sizeof(PNGEncContext),
    png_enc_init,
    encode_frame,
    NULL, 
    .pix_fmts= (const enum PixelFormat[]){PIX_FMT_RGB24, PIX_FMT_RGB32, PIX_FMT_PAL8, PIX_FMT_GRAY8, PIX_FMT_MONOBLACK, PIX_FMT_NONE},
    .long_name= NULL_IF_CONFIG_SMALL("PNG image"),
}

Definition at line 439 of file pngenc.c.