#include "libavutil/opt.h"
#include "avcodec.h"
#include "bytestream.h"
#include "codec_internal.h"
#include "encode.h"
#include "lzw.h"
#include "gif.h"
Go to the source code of this file.
|
static void | shrink_palette (const uint32_t *src, uint8_t *map, uint32_t *dst, size_t *palette_count) |
|
static void | remap_frame_to_palette (const uint8_t *src, int src_linesize, uint8_t *dst, int dst_linesize, int w, int h, uint8_t *map) |
|
static int | is_image_translucent (AVCodecContext *avctx, const uint8_t *buf, const int linesize) |
|
static int | get_palette_transparency_index (const uint32_t *palette) |
|
static int | pick_palette_entry (const uint8_t *buf, int linesize, int w, int h) |
|
static void | gif_crop_translucent (AVCodecContext *avctx, const uint8_t *buf, const int linesize, int *width, int *height, int *x_start, int *y_start) |
|
static void | gif_crop_opaque (AVCodecContext *avctx, const uint32_t *palette, const uint8_t *buf, const int linesize, int *width, int *height, int *x_start, int *y_start) |
|
static int | gif_image_write_image (AVCodecContext *avctx, uint8_t **bytestream, uint8_t *end, const uint32_t *palette, const uint8_t *buf, const int linesize, AVPacket *pkt) |
|
static av_cold int | gif_encode_init (AVCodecContext *avctx) |
|
static int | gif_encode_frame (AVCodecContext *avctx, AVPacket *pkt, const AVFrame *pict, int *got_packet) |
|
static int | gif_encode_close (AVCodecContext *avctx) |
|
◆ DEFAULT_TRANSPARENCY_INDEX
#define DEFAULT_TRANSPARENCY_INDEX 0x1f |
Definition at line 41 of file gif.c.
◆ OFFSET
◆ FLAGS
◆ anonymous enum
Enumerator |
---|
GF_OFFSETTING | |
GF_TRANSDIFF | |
Definition at line 59 of file gif.c.
◆ shrink_palette()
static void shrink_palette |
( |
const uint32_t * |
src, |
|
|
uint8_t * |
map, |
|
|
uint32_t * |
dst, |
|
|
size_t * |
palette_count |
|
) |
| |
|
static |
Definition at line 64 of file gif.c.
◆ remap_frame_to_palette()
static void remap_frame_to_palette |
( |
const uint8_t * |
src, |
|
|
int |
src_linesize, |
|
|
uint8_t * |
dst, |
|
|
int |
dst_linesize, |
|
|
int |
w, |
|
|
int |
h, |
|
|
uint8_t * |
map |
|
) |
| |
|
static |
Definition at line 87 of file gif.c.
◆ is_image_translucent()
Definition at line 96 of file gif.c.
◆ get_palette_transparency_index()
static int get_palette_transparency_index |
( |
const uint32_t * |
palette | ) |
|
|
static |
◆ pick_palette_entry()
static int pick_palette_entry |
( |
const uint8_t * |
buf, |
|
|
int |
linesize, |
|
|
int |
w, |
|
|
int |
h |
|
) |
| |
|
static |
◆ gif_crop_translucent()
static void gif_crop_translucent |
( |
AVCodecContext * |
avctx, |
|
|
const uint8_t * |
buf, |
|
|
const int |
linesize, |
|
|
int * |
width, |
|
|
int * |
height, |
|
|
int * |
x_start, |
|
|
int * |
y_start |
|
) |
| |
|
static |
◆ gif_crop_opaque()
static void gif_crop_opaque |
( |
AVCodecContext * |
avctx, |
|
|
const uint32_t * |
palette, |
|
|
const uint8_t * |
buf, |
|
|
const int |
linesize, |
|
|
int * |
width, |
|
|
int * |
height, |
|
|
int * |
x_start, |
|
|
int * |
y_start |
|
) |
| |
|
static |
◆ gif_image_write_image()
static int gif_image_write_image |
( |
AVCodecContext * |
avctx, |
|
|
uint8_t ** |
bytestream, |
|
|
uint8_t * |
end, |
|
|
const uint32_t * |
palette, |
|
|
const uint8_t * |
buf, |
|
|
const int |
linesize, |
|
|
AVPacket * |
pkt |
|
) |
| |
|
static |
◆ gif_encode_init()
◆ gif_encode_frame()
◆ gif_encode_close()
◆ gif_options
Initial value:= {
{
"global_palette",
"write a palette to the global gif header where feasible",
OFFSET(use_global_palette),
AV_OPT_TYPE_BOOL, {.i64=1}, 0, 1,
FLAGS },
}
Definition at line 535 of file gif.c.
◆ gif_class
Initial value:= {
.class_name = "GIF encoder",
}
Definition at line 544 of file gif.c.
◆ ff_gif_encoder
Initial value:= {
.p.name = "gif",
},
}
Definition at line 551 of file gif.c.