#include "libavutil/bprint.h"
#include "libavutil/imgutils.h"
#include "avcodec.h"
#include "bytestream.h"
#include "internal.h"
#include "png.h"
#include "pngdsp.h"
#include <zlib.h>
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_frame (AVCodecContext *avctx, void *data, int *got_frame, AVPacket *avpkt) | 
|  | 
| static av_cold int | png_dec_init (AVCodecContext *avctx) | 
|  | 
| static av_cold int | png_dec_end (AVCodecContext *avctx) | 
|  | 
      
        
          | #define UNROLL1 | ( |  | bpp, | 
        
          |  |  |  | op | 
        
          |  | ) |  |  | 
      
 
Value:{\
    if(bpp >= 2) 
g = 
dst[1];\
    if(bpp >= 3) 
b = dst[2];\
 
    if(bpp >= 4) 
a = dst[3];\
 
        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]);\
        dst[i+2] = 
b = 
op(
b, src[i+2], last[i+2]);\
        dst[i+3] = 
a = 
op(
a, src[i+3], last[i+3]);\
    }\
}
Definition at line 187 of file pngdec.c.
 
 
      
        
          | #define UNROLL_FILTER | ( |  | op | ) |  | 
      
 
 
      
        
          | #define OP_SUB | ( |  | x, | 
        
          |  |  |  | s, | 
        
          |  |  |  | l | 
        
          |  | ) |  | x+s | 
      
 
 
      
        
          | #define OP_AVG | ( |  | x, | 
        
          |  |  |  | s, | 
        
          |  |  |  | l | 
        
          |  | ) |  | (((x + l) >> 1) + s) & 0xff | 
      
 
 
      
        
          | #define YUV2RGB | ( |  | NAME, | 
        
          |  |  |  | TYPE | 
        
          |  | ) |  |  | 
      
 
Value:static void deloco_ ## NAME(TYPE *
dst, 
int size, 
int alpha) \
 
{ \
    int i; \
    for (i = 0; i < 
size; i += 3 + alpha) { \
    } \
}
Definition at line 267 of file pngdec.c.
 
 
  
  | 
        
          | 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 | 
 
 
  
  | 
        
          | static uint8_t* iso88591_to_utf8 | ( | const uint8_t * | in, |  
          |  |  | size_t | size_in |  
          |  | ) |  |  |  | static | 
 
 
Initial value:= {
    0xff, 0xff, 0x0f, 0xff, 0x33, 0xff, 0x55,
}
Definition at line 79 of file pngdec.c.
Referenced by png_handle_row().
 
 
Initial value:
Definition at line 898 of file pngdec.c.