Go to the source code of this file.
|
static void | png_put_interlaced_row (uint8_t *dst, int width, int bits_per_pixel, int pass, int color_type, const uint8_t *src) |
|
void | ff_add_png_paeth_prediction (uint8_t *dst, uint8_t *src, uint8_t *top, int w, int bpp) |
|
static void | png_filter_row (PNGDSPContext *dsp, uint8_t *dst, int filter_type, uint8_t *src, uint8_t *last, int size, int bpp) |
|
static void | png_handle_row (PNGDecContext *s) |
|
static int | png_decode_idat (PNGDecContext *s, int length) |
|
static int | decode_zbuf (AVBPrint *bp, const uint8_t *data, const uint8_t *data_end) |
|
static uint8_t * | iso88591_to_utf8 (const uint8_t *in, size_t size_in) |
|
static int | decode_text_chunk (PNGDecContext *s, uint32_t length, int compressed, AVDictionary **dict) |
|
static int | decode_ihdr_chunk (AVCodecContext *avctx, PNGDecContext *s, uint32_t length) |
|
static int | decode_phys_chunk (AVCodecContext *avctx, PNGDecContext *s) |
|
static int | decode_idat_chunk (AVCodecContext *avctx, PNGDecContext *s, uint32_t length, AVFrame *p) |
|
static int | decode_plte_chunk (AVCodecContext *avctx, PNGDecContext *s, uint32_t length) |
|
static int | decode_trns_chunk (AVCodecContext *avctx, PNGDecContext *s, uint32_t length) |
|
static int | decode_iccp_chunk (PNGDecContext *s, int length, AVFrame *f) |
|
static void | handle_small_bpp (PNGDecContext *s, AVFrame *p) |
|
static int | decode_fctl_chunk (AVCodecContext *avctx, PNGDecContext *s, uint32_t length) |
|
static void | handle_p_frame_png (PNGDecContext *s, AVFrame *p) |
|
static int | handle_p_frame_apng (AVCodecContext *avctx, PNGDecContext *s, AVFrame *p) |
|
static int | decode_frame_common (AVCodecContext *avctx, PNGDecContext *s, AVFrame *p, AVPacket *avpkt) |
|
static av_cold int | png_dec_init (AVCodecContext *avctx) |
|
static av_cold int | png_dec_end (AVCodecContext *avctx) |
|
◆ UNROLL1
#define UNROLL1 |
( |
|
bpp, |
|
|
|
op |
|
) |
| |
Value: { \
r = dst[0]; \
if (bpp >= 2) \
g = dst[1]; \
if (bpp >= 3) \
b = dst[2]; \
if (bpp >= 4) \
a = dst[3]; \
for (;
i <=
size - bpp;
i += bpp) { \
dst[
i + 0] =
r =
op(
r,
src[
i + 0], last[
i + 0]); \
if (bpp == 1) \
continue; \
dst[
i + 1] =
g =
op(
g,
src[
i + 1], last[
i + 1]); \
if (bpp == 2) \
continue; \
dst[
i + 2] =
b =
op(
b,
src[
i + 2], last[
i + 2]); \
if (bpp == 3) \
continue; \
dst[
i + 3] =
a =
op(
a,
src[
i + 3], last[
i + 3]); \
} \
}
Definition at line 213 of file pngdec.c.
◆ UNROLL_FILTER
#define UNROLL_FILTER |
( |
|
op | ) |
|
Value: if (bpp == 1) { \
} else if (bpp == 2) { \
} else if (bpp == 3) { \
} else if (bpp == 4) { \
} \
dst[
i] =
op(dst[
i - bpp],
src[
i], last[
i]); \
}
Definition at line 236 of file pngdec.c.
◆ OP_SUB
#define OP_SUB |
( |
|
x, |
|
|
|
s, |
|
|
|
l |
|
) |
| ((x) + (s)) |
◆ OP_AVG
#define OP_AVG |
( |
|
x, |
|
|
|
s, |
|
|
|
l |
|
) |
| (((((x) + (l)) >> 1) + (s)) & 0xff) |
◆ YUV2RGB
#define YUV2RGB |
( |
|
NAME, |
|
|
|
TYPE |
|
) |
| |
◆ FAST_DIV255
#define FAST_DIV255 |
( |
|
x | ) |
((((x) + 128) * 257) >> 16) |
◆ PNGHeaderState
Enumerator |
---|
PNG_IHDR | |
PNG_PLTE | |
Definition at line 40 of file pngdec.c.
◆ PNGImageState
Enumerator |
---|
PNG_IDAT | |
PNG_ALLIMAGE | |
Definition at line 45 of file pngdec.c.
◆ png_put_interlaced_row()
static void png_put_interlaced_row |
( |
uint8_t * |
dst, |
|
|
int |
width, |
|
|
int |
bits_per_pixel, |
|
|
int |
pass, |
|
|
int |
color_type, |
|
|
const uint8_t * |
src |
|
) |
| |
|
static |
◆ ff_add_png_paeth_prediction()
◆ png_filter_row()
◆ png_handle_row()
◆ png_decode_idat()
◆ decode_zbuf()
static int decode_zbuf |
( |
AVBPrint * |
bp, |
|
|
const uint8_t * |
data, |
|
|
const uint8_t * |
data_end |
|
) |
| |
|
static |
◆ iso88591_to_utf8()
static uint8_t* iso88591_to_utf8 |
( |
const uint8_t * |
in, |
|
|
size_t |
size_in |
|
) |
| |
|
static |
◆ decode_text_chunk()
◆ decode_ihdr_chunk()
◆ decode_phys_chunk()
◆ decode_idat_chunk()
◆ decode_plte_chunk()
◆ decode_trns_chunk()
◆ decode_iccp_chunk()
◆ handle_small_bpp()
◆ decode_fctl_chunk()
◆ handle_p_frame_png()
◆ handle_p_frame_apng()
◆ decode_frame_common()
◆ png_dec_init()
◆ png_dec_end()
◆ png_pass_mask
◆ png_pass_dsp_ymask
◆ png_pass_dsp_mask
static int op(uint8_t **dst, const uint8_t *dst_end, GetByteContext *gb, int pixel, int count, int *x, int width, int linesize)
Perform decode operation.