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 | 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 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 206 of file rl2.c.
Initial value:= {
.name = "rl2",
}
static av_cold int init(AVCodecContext *avctx)
static av_cold int rl2_decode_end(AVCodecContext *avctx)
Uninit decoder.
#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 av_cold int rl2_decode_init(AVCodecContext *avctx)
Initialize the decoder.
static int decode(AVCodecContext *avctx, AVFrame *frame, int *got_frame, AVPacket *pkt)
#define AV_CODEC_CAP_DR1
Codec uses get_buffer() for allocating buffers and supports custom allocators.
Definition at line 216 of file rl2.c.