| 
    FFmpeg
    
   | 
 
#include "libavutil/imgutils.h"#include "avcodec.h"#include "bytestream.h"#include "codec_internal.h"#include "exif.h"#include "get_bits.h"#include "internal.h"#include "thread.h"#include "tiff_common.h"#include "vp8.h"Go to the source code of this file.
Data Structures | |
| struct | HuffReader | 
| struct | ImageContext | 
| struct | WebPContext | 
Macros | |
| #define | BITSTREAM_READER_LE | 
| #define | VP8X_FLAG_ANIMATION 0x02 | 
| #define | VP8X_FLAG_XMP_METADATA 0x04 | 
| #define | VP8X_FLAG_EXIF_METADATA 0x08 | 
| #define | VP8X_FLAG_ALPHA 0x10 | 
| #define | VP8X_FLAG_ICC 0x20 | 
| #define | MAX_PALETTE_SIZE 256 | 
| #define | MAX_CACHE_BITS 11 | 
| #define | NUM_CODE_LENGTH_CODES 19 | 
| #define | HUFFMAN_CODES_PER_META_CODE 5 | 
| #define | NUM_LITERAL_CODES 256 | 
| #define | NUM_LENGTH_CODES 24 | 
| #define | NUM_DISTANCE_CODES 40 | 
| #define | NUM_SHORT_DISTANCES 120 | 
| #define | MAX_HUFFMAN_CODE_LENGTH 15 | 
| #define | GET_PIXEL(frame, x, y) ((frame)->data[0] + (y) * frame->linesize[0] + 4 * (x)) | 
| #define | GET_PIXEL_COMP(frame, x, y, c) (*((frame)->data[0] + (y) * frame->linesize[0] + 4 * (x) + c)) | 
| #define | PARSE_BLOCK_SIZE(w, h) | 
Typedefs | |
| typedef void(* | inv_predict_func) (uint8_t *p, const uint8_t *p_l, const uint8_t *p_tl, const uint8_t *p_t, const uint8_t *p_tr) | 
Enumerations | |
| enum | AlphaCompression { ALPHA_COMPRESSION_NONE, ALPHA_COMPRESSION_VP8L } | 
| enum | AlphaFilter { ALPHA_FILTER_NONE, ALPHA_FILTER_HORIZONTAL, ALPHA_FILTER_VERTICAL, ALPHA_FILTER_GRADIENT } | 
| enum | TransformType {  PREDICTOR_TRANSFORM = 0, COLOR_TRANSFORM = 1, SUBTRACT_GREEN = 2, COLOR_INDEXING_TRANSFORM = 3, DI, DII, TDI, TDII, LATT, SVF, ZDF, NB_TTYPE }  | 
| enum | PredictionMode {  PRED_MODE_BLACK, PRED_MODE_L, PRED_MODE_T, PRED_MODE_TR, PRED_MODE_TL, PRED_MODE_AVG_T_AVG_L_TR, PRED_MODE_AVG_L_TL, PRED_MODE_AVG_L_T, PRED_MODE_AVG_TL_T, PRED_MODE_AVG_T_TR, PRED_MODE_AVG_AVG_L_TL_AVG_T_TR, PRED_MODE_SELECT, PRED_MODE_ADD_SUBTRACT_FULL, PRED_MODE_ADD_SUBTRACT_HALF }  | 
| enum | HuffmanIndex {  HUFF_IDX_GREEN = 0, HUFF_IDX_RED = 1, HUFF_IDX_BLUE = 2, HUFF_IDX_ALPHA = 3, HUFF_IDX_DIST = 4 }  | 
| enum | ImageRole {  IMAGE_ROLE_ARGB, IMAGE_ROLE_ENTROPY, IMAGE_ROLE_PREDICTOR, IMAGE_ROLE_COLOR_TRANSFORM, IMAGE_ROLE_COLOR_INDEXING, IMAGE_ROLE_NB }  | 
Functions | |
| static void | image_ctx_free (ImageContext *img) | 
| static int | huff_reader_get_symbol (HuffReader *r, GetBitContext *gb) | 
| static int | huff_reader_build_canonical (HuffReader *r, const uint8_t *code_lengths, int alphabet_size) | 
| static void | read_huffman_code_simple (WebPContext *s, HuffReader *hc) | 
| static int | read_huffman_code_normal (WebPContext *s, HuffReader *hc, int alphabet_size) | 
| static int | decode_entropy_coded_image (WebPContext *s, enum ImageRole role, int w, int h) | 
| static int | decode_entropy_image (WebPContext *s) | 
| static int | parse_transform_predictor (WebPContext *s) | 
| static int | parse_transform_color (WebPContext *s) | 
| static int | parse_transform_color_indexing (WebPContext *s) | 
| static HuffReader * | get_huffman_group (WebPContext *s, ImageContext *img, int x, int y) | 
| static av_always_inline void | color_cache_put (ImageContext *img, uint32_t c) | 
| static void | inv_predict_0 (uint8_t *p, const uint8_t *p_l, const uint8_t *p_tl, const uint8_t *p_t, const uint8_t *p_tr) | 
| static void | inv_predict_1 (uint8_t *p, const uint8_t *p_l, const uint8_t *p_tl, const uint8_t *p_t, const uint8_t *p_tr) | 
| static void | inv_predict_2 (uint8_t *p, const uint8_t *p_l, const uint8_t *p_tl, const uint8_t *p_t, const uint8_t *p_tr) | 
| static void | inv_predict_3 (uint8_t *p, const uint8_t *p_l, const uint8_t *p_tl, const uint8_t *p_t, const uint8_t *p_tr) | 
| static void | inv_predict_4 (uint8_t *p, const uint8_t *p_l, const uint8_t *p_tl, const uint8_t *p_t, const uint8_t *p_tr) | 
| static void | inv_predict_5 (uint8_t *p, const uint8_t *p_l, const uint8_t *p_tl, const uint8_t *p_t, const uint8_t *p_tr) | 
| static void | inv_predict_6 (uint8_t *p, const uint8_t *p_l, const uint8_t *p_tl, const uint8_t *p_t, const uint8_t *p_tr) | 
| static void | inv_predict_7 (uint8_t *p, const uint8_t *p_l, const uint8_t *p_tl, const uint8_t *p_t, const uint8_t *p_tr) | 
| static void | inv_predict_8 (uint8_t *p, const uint8_t *p_l, const uint8_t *p_tl, const uint8_t *p_t, const uint8_t *p_tr) | 
| static void | inv_predict_9 (uint8_t *p, const uint8_t *p_l, const uint8_t *p_tl, const uint8_t *p_t, const uint8_t *p_tr) | 
| static void | inv_predict_10 (uint8_t *p, const uint8_t *p_l, const uint8_t *p_tl, const uint8_t *p_t, const uint8_t *p_tr) | 
| static void | inv_predict_11 (uint8_t *p, const uint8_t *p_l, const uint8_t *p_tl, const uint8_t *p_t, const uint8_t *p_tr) | 
| static void | inv_predict_12 (uint8_t *p, const uint8_t *p_l, const uint8_t *p_tl, const uint8_t *p_t, const uint8_t *p_tr) | 
| static av_always_inline uint8_t | clamp_add_subtract_half (int a, int b, int c) | 
| static void | inv_predict_13 (uint8_t *p, const uint8_t *p_l, const uint8_t *p_tl, const uint8_t *p_t, const uint8_t *p_tr) | 
| static void | inverse_prediction (AVFrame *frame, enum PredictionMode m, int x, int y) | 
| static int | apply_predictor_transform (WebPContext *s) | 
| static av_always_inline uint8_t | color_transform_delta (uint8_t color_pred, uint8_t color) | 
| static int | apply_color_transform (WebPContext *s) | 
| static int | apply_subtract_green_transform (WebPContext *s) | 
| static int | apply_color_indexing_transform (WebPContext *s) | 
| static void | update_canvas_size (AVCodecContext *avctx, int w, int h) | 
| static int | vp8_lossless_decode_frame (AVCodecContext *avctx, AVFrame *p, int *got_frame, const uint8_t *data_start, unsigned int data_size, int is_alpha_chunk) | 
| static void | alpha_inverse_prediction (AVFrame *frame, enum AlphaFilter m) | 
| static int | vp8_lossy_decode_alpha (AVCodecContext *avctx, AVFrame *p, const uint8_t *data_start, unsigned int data_size) | 
| static int | vp8_lossy_decode_frame (AVCodecContext *avctx, AVFrame *p, int *got_frame, uint8_t *data_start, unsigned int data_size) | 
| static int | webp_decode_frame (AVCodecContext *avctx, AVFrame *p, int *got_frame, AVPacket *avpkt) | 
| static av_cold int | webp_decode_init (AVCodecContext *avctx) | 
| static av_cold int | webp_decode_close (AVCodecContext *avctx) | 
Variables | |
| static const uint16_t | alphabet_sizes [HUFFMAN_CODES_PER_META_CODE] | 
| static const uint8_t | code_length_code_order [NUM_CODE_LENGTH_CODES] | 
| static const int8_t | lz77_distance_offsets [NUM_SHORT_DISTANCES][2] | 
| static const inv_predict_func | inverse_predict [14] | 
| const FFCodec | ff_webp_decoder | 
| typedef void(* inv_predict_func) (uint8_t *p, const uint8_t *p_l, const uint8_t *p_tl, const uint8_t *p_t, const uint8_t *p_tr) | 
| enum AlphaCompression | 
| enum AlphaFilter | 
| enum TransformType | 
| enum PredictionMode | 
| enum HuffmanIndex | 
| enum ImageRole | 
      
  | 
  static | 
Definition at line 226 of file webp.c.
Referenced by vp8_lossless_decode_frame().
      
  | 
  static | 
Definition at line 243 of file webp.c.
Referenced by decode_entropy_coded_image(), and read_huffman_code_normal().
      
  | 
  static | 
Definition at line 254 of file webp.c.
Referenced by read_huffman_code_normal().
      
  | 
  static | 
Definition at line 316 of file webp.c.
Referenced by decode_entropy_coded_image().
      
  | 
  static | 
Definition at line 331 of file webp.c.
Referenced by decode_entropy_coded_image().
      
  | 
  static | 
Definition at line 552 of file webp.c.
Referenced by decode_entropy_image(), parse_transform_color(), parse_transform_color_indexing(), parse_transform_predictor(), and vp8_lossless_decode_frame().
      
  | 
  static | 
Definition at line 432 of file webp.c.
Referenced by decode_entropy_coded_image().
      
  | 
  static | 
Definition at line 462 of file webp.c.
Referenced by vp8_lossless_decode_frame().
      
  | 
  static | 
Definition at line 478 of file webp.c.
Referenced by vp8_lossless_decode_frame().
      
  | 
  static | 
Definition at line 494 of file webp.c.
Referenced by vp8_lossless_decode_frame().
      
  | 
  static | 
Definition at line 529 of file webp.c.
Referenced by decode_entropy_coded_image().
      
  | 
  static | 
Definition at line 546 of file webp.c.
Referenced by decode_entropy_coded_image().
      
  | 
  static | 
      
  | 
  static | 
      
  | 
  static | 
      
  | 
  static | 
      
  | 
  static | 
      
  | 
  static | 
      
  | 
  static | 
      
  | 
  static | 
      
  | 
  static | 
      
  | 
  static | 
      
  | 
  static | 
      
  | 
  static | 
      
  | 
  static | 
      
  | 
  static | 
Definition at line 874 of file webp.c.
Referenced by inv_predict_13().
      
  | 
  static | 
      
  | 
  static | 
Definition at line 901 of file webp.c.
Referenced by apply_predictor_transform().
      
  | 
  static | 
Definition at line 923 of file webp.c.
Referenced by vp8_lossless_decode_frame().
      
  | 
  static | 
Definition at line 954 of file webp.c.
Referenced by apply_color_transform().
      
  | 
  static | 
Definition at line 960 of file webp.c.
Referenced by vp8_lossless_decode_frame().
      
  | 
  static | 
Definition at line 984 of file webp.c.
Referenced by vp8_lossless_decode_frame().
      
  | 
  static | 
Definition at line 999 of file webp.c.
Referenced by vp8_lossless_decode_frame().
      
  | 
  static | 
Definition at line 1071 of file webp.c.
Referenced by vp8_lossless_decode_frame(), and vp8_lossy_decode_frame().
      
  | 
  static | 
Definition at line 1086 of file webp.c.
Referenced by vp8_lossy_decode_alpha(), and webp_decode_frame().
      
  | 
  static | 
Definition at line 1199 of file webp.c.
Referenced by vp8_lossy_decode_alpha().
      
  | 
  static | 
Definition at line 1242 of file webp.c.
Referenced by vp8_lossy_decode_frame().
      
  | 
  static | 
Definition at line 1295 of file webp.c.
Referenced by webp_decode_frame().
      
  | 
  static | 
      
  | 
  static | 
      
  | 
  static | 
      
  | 
  static | 
Definition at line 72 of file webp.c.
Referenced by decode_entropy_coded_image().
      
  | 
  static | 
Definition at line 78 of file webp.c.
Referenced by read_huffman_code_normal().
      
  | 
  static | 
Definition at line 82 of file webp.c.
Referenced by decode_entropy_coded_image().
      
  | 
  static | 
| const FFCodec ff_webp_decoder | 
 1.8.17