Go to the source code of this file.
|
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, const uint8_t *src, const uint8_t *top, int w, int bpp) |
|
static void | sub_left_prediction (PNGEncContext *c, uint8_t *dst, const uint8_t *src, int bpp, int size) |
|
static void | png_filter_row (PNGEncContext *c, uint8_t *dst, int filter_type, const uint8_t *src, const uint8_t *top, int size, int bpp) |
|
static uint8_t * | png_choose_filter (PNGEncContext *s, uint8_t *dst, const uint8_t *src, const uint8_t *top, int size, int bpp) |
|
static void | png_write_chunk (uint8_t **f, uint32_t tag, const uint8_t *buf, int length) |
|
static void | png_write_image_data (AVCodecContext *avctx, const uint8_t *buf, int length) |
|
static int | png_write_row (AVCodecContext *avctx, const uint8_t *data, int size) |
|
static int | png_get_chrm (enum AVColorPrimaries prim, uint8_t *buf) |
|
static int | png_get_gama (enum AVColorTransferCharacteristic trc, uint8_t *buf) |
|
static int | png_write_iccp (PNGEncContext *s, const AVFrameSideData *sd) |
|
static int | encode_headers (AVCodecContext *avctx, const AVFrame *pict) |
|
static int | encode_frame (AVCodecContext *avctx, const AVFrame *pict) |
|
static int | add_icc_profile_size (AVCodecContext *avctx, const AVFrame *pict, uint64_t *max_packet_size) |
|
static int | encode_png (AVCodecContext *avctx, AVPacket *pkt, const AVFrame *pict, int *got_packet) |
|
static int | apng_do_inverse_blend (AVFrame *output, const AVFrame *input, APNGFctlChunk *fctl_chunk, uint8_t bpp) |
|
static int | apng_encode_frame (AVCodecContext *avctx, const AVFrame *pict, APNGFctlChunk *best_fctl_chunk, APNGFctlChunk *best_last_fctl_chunk) |
|
static int | encode_apng (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) |
|
◆ IOBUF_SIZE
◆ PNG_LRINT
#define PNG_LRINT |
( |
|
d, |
|
|
|
divisor |
|
) |
| lrint((d) * (divisor)) |
◆ PNG_Q2D
◆ AV_WB32_PNG_D
◆ OFFSET
◆ VE
◆ 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 |
◆ sub_png_paeth_prediction()
static void sub_png_paeth_prediction |
( |
uint8_t * |
dst, |
|
|
const uint8_t * |
src, |
|
|
const uint8_t * |
top, |
|
|
int |
w, |
|
|
int |
bpp |
|
) |
| |
|
static |
◆ sub_left_prediction()
static void sub_left_prediction |
( |
PNGEncContext * |
c, |
|
|
uint8_t * |
dst, |
|
|
const uint8_t * |
src, |
|
|
int |
bpp, |
|
|
int |
size |
|
) |
| |
|
static |
◆ png_filter_row()
static void png_filter_row |
( |
PNGEncContext * |
c, |
|
|
uint8_t * |
dst, |
|
|
int |
filter_type, |
|
|
const uint8_t * |
src, |
|
|
const uint8_t * |
top, |
|
|
int |
size, |
|
|
int |
bpp |
|
) |
| |
|
static |
◆ png_choose_filter()
static uint8_t* png_choose_filter |
( |
PNGEncContext * |
s, |
|
|
uint8_t * |
dst, |
|
|
const uint8_t * |
src, |
|
|
const uint8_t * |
top, |
|
|
int |
size, |
|
|
int |
bpp |
|
) |
| |
|
static |
◆ png_write_chunk()
static void png_write_chunk |
( |
uint8_t ** |
f, |
|
|
uint32_t |
tag, |
|
|
const uint8_t * |
buf, |
|
|
int |
length |
|
) |
| |
|
static |
◆ png_write_image_data()
static void png_write_image_data |
( |
AVCodecContext * |
avctx, |
|
|
const uint8_t * |
buf, |
|
|
int |
length |
|
) |
| |
|
static |
◆ png_write_row()
◆ png_get_chrm()
◆ png_get_gama()
◆ png_write_iccp()
◆ encode_headers()
◆ encode_frame()
◆ add_icc_profile_size()
◆ encode_png()
◆ apng_do_inverse_blend()
◆ apng_encode_frame()
◆ encode_apng()
◆ png_enc_init()
◆ png_enc_close()
◆ options
◆ pngenc_class
Initial value:= {
.class_name = "(A)PNG encoder",
}
Definition at line 1217 of file pngenc.c.
◆ ff_png_encoder
Initial value:= {
.p.name = "png",
},
}
Definition at line 1224 of file pngenc.c.
◆ ff_apng_encoder
Initial value:= {
.p.name = "apng",
},
}
Definition at line 1247 of file pngenc.c.
AVPixelFormat
Pixel format.
@ AV_PIX_FMT_RGBA64BE
packed RGBA 16:16:16:16, 64bpp, 16R, 16G, 16B, 16A, the 2-byte value for each R/G/B/A component is st...
#define PNG_FILTER_VALUE_MIXED
@ AV_PIX_FMT_GRAY16BE
Y , 16bpp, big-endian.
#define FF_CODEC_ENCODE_CB(func)
static int encode_png(AVCodecContext *avctx, AVPacket *pkt, const AVFrame *pict, int *got_packet)
static int encode_apng(AVCodecContext *avctx, AVPacket *pkt, const AVFrame *pict, int *got_packet)
#define AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE
This encoder can reorder user opaque values from input AVFrames and return them with corresponding ou...
#define CODEC_LONG_NAME(str)
@ AV_PIX_FMT_RGBA
packed RGBA 8:8:8:8, 32bpp, RGBARGBA...
#define AV_CODEC_CAP_FRAME_THREADS
Codec supports frame-level multithreading.
@ AV_PIX_FMT_GRAY8A
alias for AV_PIX_FMT_YA8
#define LIBAVUTIL_VERSION_INT
@ AV_PIX_FMT_MONOBLACK
Y , 1bpp, 0 is black, 1 is white, in each byte pixels are ordered from the msb to the lsb.
const char * av_default_item_name(void *ptr)
Return the context name.
static av_cold int png_enc_close(AVCodecContext *avctx)
@ AV_PIX_FMT_GRAY8
Y , 8bpp.
#define PNG_FILTER_VALUE_NONE
int(* init)(AVBSFContext *ctx)
@ AV_PIX_FMT_RGB24
packed RGB 8:8:8, 24bpp, RGBRGB...
#define AV_CODEC_CAP_DR1
Codec uses get_buffer() or get_encode_buffer() for allocating buffers and supports custom allocators.
@ AV_PIX_FMT_YA16BE
16 bits gray, 16 bits alpha (big-endian)
#define PNG_FILTER_VALUE_AVG
#define PNG_FILTER_VALUE_PAETH
#define PNG_FILTER_VALUE_UP
#define PNG_FILTER_VALUE_SUB
@ AV_PIX_FMT_RGB48BE
packed RGB 16:16:16, 48bpp, 16R, 16G, 16B, the 2-byte value for each R/G/B component is stored as big...
static const AVOption options[]
#define FF_CODEC_CAP_ICC_PROFILES
Codec supports embedded ICC profiles (AV_FRAME_DATA_ICC_PROFILE).
@ AV_PIX_FMT_PAL8
8 bits with AV_PIX_FMT_RGB32 palette
#define AV_CODEC_CAP_DELAY
Encoder or decoder requires flushing with NULL input at the end in order to give the complete and cor...
static av_cold int png_enc_init(AVCodecContext *avctx)
static const AVClass pngenc_class