RL2 Video Decoder.
More...
Go to the source code of this file.
◆ EXTRADATA1_SIZE
| #define EXTRADATA1_SIZE (6 + 256 * 3) |
◆ rl2_rle_decode()
| static void rl2_rle_decode |
( |
Rl2Context * | s, |
|
|
const uint8_t * | in, |
|
|
int | size, |
|
|
uint8_t * | out, |
|
|
ptrdiff_t | stride, |
|
|
int | video_base ) |
|
static |
Run Length Decode a single 320x200 frame.
- Parameters
-
| s | rl2 context |
| in | input buffer |
| size | input buffer size |
| out | output buffer |
| stride | stride of the output buffer |
| video_base | offset of the rle data inside the frame |
copy start of the background frame
decode the variable part of the frame
copy the rest from the background frame
Definition at line 59 of file rl2.c.
Referenced by rl2_decode_frame(), and rl2_decode_init().
◆ rl2_decode_init()
Initialize the decoder.
- Parameters
-
- Returns
- 0 success, -1 on error
parse extra data
get frame_offset
initialize palette
decode background frame if present
Definition at line 148 of file rl2.c.
◆ rl2_decode_frame()
run length decode
make the palette available on the way out
report that the buffer was completely consumed
Definition at line 198 of file rl2.c.
◆ rl2_decode_end()
Uninit decoder.
- Parameters
-
- Returns
- 0 success, -1 on error
Definition at line 227 of file rl2.c.
◆ ff_rl2_decoder
Initial value:= {
.p.name = "rl2",
}
static av_cold void close(AVCodecParserContext *s)
#define FF_CODEC_DECODE_CB(func)
#define CODEC_LONG_NAME(str)
int(* init)(AVBSFContext *ctx)
#define AV_CODEC_CAP_DR1
Codec uses get_buffer() or get_encode_buffer() for allocating buffers and supports custom allocators.
static av_cold int rl2_decode_init(AVCodecContext *avctx)
Initialize the decoder.
static int rl2_decode_frame(AVCodecContext *avctx, AVFrame *frame, int *got_frame, AVPacket *avpkt)
static av_cold int rl2_decode_end(AVCodecContext *avctx)
Uninit decoder.
Definition at line 237 of file rl2.c.