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, uint8_t *src, 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, 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  | 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  | encode_headers (AVCodecContext *avctx, const AVFrame *pict) | 
|   | 
| static int  | encode_frame (AVCodecContext *avctx, const AVFrame *pict) | 
|   | 
| 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
◆ AV_WB32_PNG
      
        
          | #define AV_WB32_PNG | 
          ( | 
            | 
          buf,  | 
        
        
           | 
           | 
            | 
          n  | 
        
        
           | 
          ) | 
           |    AV_WB32(buf, lrint((n) * 100000)) | 
        
      
 
 
◆ OFFSET
◆ VE
◆ png_get_interlaced_row()
◆ sub_png_paeth_prediction()
◆ sub_left_prediction()
◆ png_filter_row()
◆ png_choose_filter()
◆ 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()
◆ png_write_row()
◆ png_get_chrm()
◆ png_get_gama()
◆ encode_headers()
◆ encode_frame()
◆ encode_png()
◆ apng_do_inverse_blend()
◆ apng_encode_frame()
◆ encode_apng()
◆ png_enc_init()
◆ png_enc_close()
◆ options
◆ pngenc_class
Initial value:= {
    .class_name = "PNG encoder",
}
 
Definition at line 1126 of file pngenc.c.
 
 
◆ apngenc_class
Initial value:= {
    .class_name = "APNG encoder",
}
 
Definition at line 1133 of file pngenc.c.
 
 
◆ ff_png_encoder
◆ ff_apng_encoder
 
AVPixelFormat
Pixel format.
 
static av_cold int init(AVCodecContext *avctx)
 
@ 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.
 
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)
 
static enum AVPixelFormat pix_fmts[]
 
@ 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
 
@ AV_PIX_FMT_RGB24
packed RGB 8:8:8, 24bpp, RGBRGB...
 
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification.
 
@ 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[]
 
static const AVClass apngenc_class
 
@ 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