RL2 Video Decoder.
More...
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "libavutil/internal.h"
#include "libavutil/intreadwrite.h"
#include "libavutil/mem.h"
#include "avcodec.h"
#include "internal.h"
Go to the source code of this file.
#define EXTRADATA1_SIZE (6 + 256 * 3) |
Run Length Decode a single 320x200 frame.
- Parameters
-
s | rl2 context |
in | input buffer |
size | input buffer size |
out | ouput 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 60 of file rl2.c.
Referenced by rl2_decode_frame(), and 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 132 of file rl2.c.
run length decode
make the palette available on the way out
report that the buffer was completely consumed
Definition at line 175 of file rl2.c.
Uninit decoder.
- Parameters
-
- Returns
- 0 success, -1 on error
Definition at line 208 of file rl2.c.
Initial value:= {
.name = "rl2",
}
static av_cold int rl2_decode_end(AVCodecContext *avctx)
Uninit decoder.
static int decode(MimicContext *ctx, int quality, int num_coeffs, int is_iframe)
#define 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. ...
static int rl2_decode_frame(AVCodecContext *avctx, void *data, int *got_frame, AVPacket *avpkt)
static void close(AVCodecParserContext *s)
static av_cold int rl2_decode_init(AVCodecContext *avctx)
Initialize the decoder.
static av_cold int init(AVCodecParserContext *s)
Definition at line 218 of file rl2.c.