Autodesk Animator FLI/FLC Video Decoder by Mike Melanson (melan.nosp@m.son@.nosp@m.pcisy.nosp@m.s.ne.nosp@m.t) for more information on the .fli/.flc file format and all of its many variations, visit: http://www.compuphase.com/flic.htm.
More...
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "libavutil/intreadwrite.h"
#include "avcodec.h"
#include "bytestream.h"
#include "internal.h"
#include "mathops.h"
|
|
#define | FLI_256_COLOR 4 |
| |
|
#define | FLI_DELTA 7 |
| |
|
#define | FLI_COLOR 11 |
| |
|
#define | FLI_LC 12 |
| |
|
#define | FLI_BLACK 13 |
| |
|
#define | FLI_BRUN 15 |
| |
|
#define | FLI_COPY 16 |
| |
|
#define | FLI_MINI 18 |
| |
|
#define | FLI_DTA_BRUN 25 |
| |
|
#define | FLI_DTA_COPY 26 |
| |
|
#define | FLI_DTA_LC 27 |
| |
|
#define | FLI_TYPE_CODE (0xAF11) |
| |
|
#define | FLC_FLX_TYPE_CODE (0xAF12) |
| |
|
#define | FLC_DTA_TYPE_CODE (0xAF44) /* Marks an "Extended FLC" comes from Dave's Targa Animator (DTA) */ |
| |
|
#define | FLC_MAGIC_CARPET_SYNTHETIC_TYPE_CODE (0xAF13) |
| |
| #define | CHECK_PIXEL_PTR(n) |
| |
Autodesk Animator FLI/FLC Video Decoder by Mike Melanson (melan.nosp@m.son@.nosp@m.pcisy.nosp@m.s.ne.nosp@m.t) for more information on the .fli/.flc file format and all of its many variations, visit: http://www.compuphase.com/flic.htm.
This decoder outputs PAL8/RGB555/RGB565/BGR24. To use this decoder, be sure that your demuxer sends the FLI file header to the decoder via the extradata chunk in AVCodecContext. The chunk should be 128 bytes large. The only exception is for FLI files from the game "Magic Carpet", in which the header is only 12 bytes.
§ CHECK_PIXEL_PTR
| #define CHECK_PIXEL_PTR |
( |
|
n | ) |
|
Value:if (pixel_ptr + n > pixel_limit) { \
av_log (s->avctx,
AV_LOG_ERROR,
"Invalid pixel_ptr = %d > pixel_limit = %d\n", \
pixel_ptr + n, pixel_limit); \
} \
#define AVERROR_INVALIDDATA
Invalid data found when processing input.
Definition: error.h:59
#define AV_LOG_ERROR
Something went wrong and cannot losslessly be recovered.
Definition: log.h:176
§ ff_flic_decoder
Initial value:= {
.name = "flic",
.type = AVMEDIA_TYPE_VIDEO,
.id = AV_CODEC_ID_FLIC,
.init = flic_decode_init,
.close = flic_decode_end,
.decode = flic_decode_frame,
}
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification. ...
Definition: internal.h:186
Definition: flicvideo.c:71
#define AV_CODEC_CAP_DR1
Codec uses get_buffer() for allocating buffers and supports custom allocators.
Definition: avcodec.h:959