Libav
Data Structures | Macros | Functions | Variables
pngenc.c File Reference
#include "avcodec.h"
#include "bytestream.h"
#include "huffyuvencdsp.h"
#include "png.h"
#include <zlib.h>

Go to the source code of this file.

Data Structures

struct  PNGEncContext
 

Macros

#define IOBUF_SIZE   4096
 

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 (PNGEncContext *c, uint8_t *dst, int filter_type, uint8_t *src, uint8_t *top, int size, int bpp)
 
static uint8_tpng_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, AVPacket *pkt, const AVFrame *pict, int *got_packet)
 
static av_cold int png_enc_init (AVCodecContext *avctx)
 
static av_cold int png_enc_close (AVCodecContext *avctx)
 

Variables

AVCodec ff_png_encoder
 

Macro Definition Documentation

§ IOBUF_SIZE

#define IOBUF_SIZE   4096

Definition at line 33 of file pngenc.c.

Referenced by encode_frame(), and png_write_row().

Function Documentation

§ png_get_interlaced_row()

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 48 of file pngenc.c.

Referenced by encode_frame().

§ sub_png_paeth_prediction()

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

Definition at line 86 of file pngenc.c.

Referenced by png_filter_row().

§ png_filter_row()

static void png_filter_row ( PNGEncContext c,
uint8_t dst,
int  filter_type,
uint8_t src,
uint8_t top,
int  size,
int  bpp 
)
static

Definition at line 114 of file pngenc.c.

Referenced by png_choose_filter().

§ png_choose_filter()

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 144 of file pngenc.c.

Referenced by encode_frame().

§ convert_from_rgb32()

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

Definition at line 174 of file pngenc.c.

Referenced by encode_frame().

§ png_write_chunk()

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

Definition at line 191 of file pngenc.c.

Referenced by encode_frame(), and png_write_row().

§ png_write_row()

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

Definition at line 211 of file pngenc.c.

Referenced by encode_frame().

§ encode_frame()

static int encode_frame ( AVCodecContext avctx,
AVPacket pkt,
const AVFrame pict,
int *  got_packet 
)
static

Definition at line 232 of file pngenc.c.

§ png_enc_init()

static av_cold int png_enc_init ( AVCodecContext avctx)
static

Definition at line 454 of file pngenc.c.

§ png_enc_close()

static av_cold int png_enc_close ( AVCodecContext avctx)
static

Definition at line 476 of file pngenc.c.

Variable Documentation

§ ff_png_encoder

AVCodec ff_png_encoder
Initial value:
= {
.name = "png",
.long_name = NULL_IF_CONFIG_SMALL("PNG (Portable Network Graphics) image"),
.priv_data_size = sizeof(PNGEncContext),
.encode2 = encode_frame,
.pix_fmts = (const enum AVPixelFormat[]) {
},
}
packed RGB 8:8:8, 24bpp, RGBRGB...
Definition: pixfmt.h:67
static int encode_frame(AVCodecContext *avctx, AVPacket *pkt, const AVFrame *pict, int *got_packet)
Definition: pngenc.c:232
8 bit with PIX_FMT_RGB32 palette
Definition: pixfmt.h:76
packed RGBA 16:16:16:16, 64bpp, 16R, 16G, 16B, 16A, the 2-byte value for each R/G/B/A component is st...
Definition: pixfmt.h:197
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification. ...
Definition: internal.h:145
static void close(AVCodecParserContext *s)
Definition: h264_parser.c:490
#define AV_PIX_FMT_RGB32
Definition: pixfmt.h:222
Y , 16bpp, big-endian.
Definition: pixfmt.h:100
static av_cold int png_enc_init(AVCodecContext *avctx)
Definition: pngenc.c:454
Y , 1bpp, 0 is black, 1 is white, in each byte pixels are ordered from the msb to the lsb...
Definition: pixfmt.h:75
Y , 8bpp.
Definition: pixfmt.h:73
packed RGB 16:16:16, 48bpp, 16R, 16G, 16B, the 2-byte value for each R/G/B component is stored as big...
Definition: pixfmt.h:112
static av_cold int init(AVCodecParserContext *s)
Definition: h264_parser.c:499
static av_cold int png_enc_close(AVCodecContext *avctx)
Definition: pngenc.c:476
AVPixelFormat
Pixel format.
Definition: pixfmt.h:63

Definition at line 482 of file pngenc.c.