#include "libavutil/imgutils.h"
#include "libavutil/opt.h"
#include "avcodec.h"
#include "bytestream.h"
#include "internal.h"
#include "lzw.h"
#include "gif.h"
Go to the source code of this file.
|
static void | gif_read_palette (GifState *s, uint32_t *pal, int nb) |
|
static void | gif_fill (AVFrame *picture, uint32_t color) |
|
static void | gif_fill_rect (AVFrame *picture, uint32_t color, int l, int t, int w, int h) |
|
static void | gif_copy_img_rect (const uint32_t *src, uint32_t *dst, int linesize, int l, int t, int w, int h) |
|
static int | gif_read_image (GifState *s, AVFrame *frame) |
|
static int | gif_read_extension (GifState *s) |
|
static int | gif_read_header1 (GifState *s) |
|
static int | gif_parse_next_image (GifState *s, AVFrame *frame) |
|
static av_cold int | gif_decode_init (AVCodecContext *avctx) |
|
static int | gif_decode_frame (AVCodecContext *avctx, void *data, int *got_frame, AVPacket *avpkt) |
|
static av_cold int | gif_decode_close (AVCodecContext *avctx) |
|
◆ GIF_TRANSPARENT_COLOR
#define GIF_TRANSPARENT_COLOR 0x00ffffff |
◆ gif_read_palette()
static void gif_read_palette |
( |
GifState * |
s, |
|
|
uint32_t * |
pal, |
|
|
int |
nb |
|
) |
| |
|
static |
◆ gif_fill()
static void gif_fill |
( |
AVFrame * |
picture, |
|
|
uint32_t |
color |
|
) |
| |
|
static |
◆ gif_fill_rect()
◆ gif_copy_img_rect()
static void gif_copy_img_rect |
( |
const uint32_t * |
src, |
|
|
uint32_t * |
dst, |
|
|
int |
linesize, |
|
|
int |
l, |
|
|
int |
t, |
|
|
int |
w, |
|
|
int |
h |
|
) |
| |
|
static |
◆ gif_read_image()
◆ gif_read_extension()
◆ gif_read_header1()
◆ gif_parse_next_image()
◆ gif_decode_init()
◆ gif_decode_frame()
◆ gif_decode_close()
◆ options
Initial value:= {
{ "trans_color", "color value (ARGB) that is used instead of transparent color",
}
Definition at line 546 of file gifdec.c.
◆ decoder_class
Initial value:= {
.class_name = "gif decoder",
}
Definition at line 554 of file gifdec.c.
◆ ff_gif_decoder
Initial value:
Definition at line 562 of file gifdec.c.
#define GIF_TRANSPARENT_COLOR
#define FF_CODEC_CAP_INIT_THREADSAFE
The codec does not modify any global variables in the init function, allowing to call the init functi...
static av_cold int init(AVCodecContext *avctx)
@ AV_CLASS_CATEGORY_DECODER
#define AV_OPT_FLAG_VIDEO_PARAM
static const AVOption options[]
static av_cold int gif_decode_init(AVCodecContext *avctx)
static void decode(AVCodecContext *dec_ctx, AVPacket *pkt, AVFrame *frame, FILE *outfile)
static const AVClass decoder_class
#define LIBAVUTIL_VERSION_INT
const char * av_default_item_name(void *ptr)
Return the context name.
#define AV_CODEC_CAP_DR1
Codec uses get_buffer() for allocating buffers and supports custom allocators.
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification.
#define FF_CODEC_CAP_INIT_CLEANUP
The codec allows calling the close function for deallocation even if the init function returned a fai...
#define AV_OPT_FLAG_DECODING_PARAM
a generic parameter which can be set by the user for demuxing or decoding
static int gif_decode_frame(AVCodecContext *avctx, void *data, int *got_frame, AVPacket *avpkt)
static av_cold int gif_decode_close(AVCodecContext *avctx)