libavformat/rl2.c File Reference

RL2 file demuxer. More...

#include "libavutil/intreadwrite.h"
#include "libavutil/mathematics.h"
#include "avformat.h"
#include "internal.h"

Go to the source code of this file.

Data Structures

struct  Rl2DemuxContext

Defines

#define EXTRADATA1_SIZE   (6 + 256 * 3)
 video base, clr, palette
#define FORM_TAG   MKBETAG('F', 'O', 'R', 'M')
#define RLV2_TAG   MKBETAG('R', 'L', 'V', '2')
#define RLV3_TAG   MKBETAG('R', 'L', 'V', '3')

Functions

static int rl2_probe (AVProbeData *p)
 check if the file is in rl2 format
static av_cold int rl2_read_header (AVFormatContext *s)
 read rl2 header data and setup the avstreams
static int rl2_read_packet (AVFormatContext *s, AVPacket *pkt)
 read a single audio or video packet
static int rl2_read_seek (AVFormatContext *s, int stream_index, int64_t timestamp, int flags)
 seek to a new timestamp

Variables

AVInputFormat ff_rl2_demuxer


Detailed Description

RL2 file demuxer.

Author:
Sascha Sommer (saschasommer@freenet.de)
See also:
http://wiki.multimedia.cx/index.php?title=RL2
extradata: 2 byte le initial drawing offset within 320x200 viewport 4 byte le number of used colors 256 * 3 bytes rgb palette optional background_frame

Definition in file rl2.c.


Define Documentation

#define EXTRADATA1_SIZE   (6 + 256 * 3)

video base, clr, palette

Definition at line 40 of file rl2.c.

#define FORM_TAG   MKBETAG('F', 'O', 'R', 'M')

Definition at line 42 of file rl2.c.

Referenced by rl2_probe(), wc3_probe(), and wsvqa_probe().

#define RLV2_TAG   MKBETAG('R', 'L', 'V', '2')

Definition at line 43 of file rl2.c.

Referenced by rl2_probe().

#define RLV3_TAG   MKBETAG('R', 'L', 'V', '3')

Definition at line 44 of file rl2.c.

Referenced by rl2_probe(), and rl2_read_header().


Function Documentation

static int rl2_probe ( AVProbeData p  )  [static]

check if the file is in rl2 format

Parameters:
p probe buffer
Returns:
0 when the probe buffer does not contain rl2 data, > 0 otherwise

Definition at line 56 of file rl2.c.

static av_cold int rl2_read_header ( AVFormatContext s  )  [static]

read rl2 header data and setup the avstreams

Parameters:
s demuxer context
Returns:
0 on success, AVERROR otherwise

< get size of the background frame

setup video stream

allocate and fill extradata

setup audio stream if present

read offset and size tables

build the sample index

Definition at line 74 of file rl2.c.

static int rl2_read_packet ( AVFormatContext s,
AVPacket pkt 
) [static]

read a single audio or video packet

Parameters:
s demuxer context
pkt the packet to be filled
Returns:
0 on success, AVERROR otherwise

check if there is a valid video or audio entry that can be used

position the stream (will probably be there anyway)

fill the packet

Definition at line 213 of file rl2.c.

static int rl2_read_seek ( AVFormatContext s,
int  stream_index,
int64_t  timestamp,
int  flags 
) [static]

seek to a new timestamp

Parameters:
s demuxer context
stream_index index of the stream that should be seeked
timestamp wanted timestamp
flags direction and seeking mode
Returns:
0 on success, -1 otherwise

Definition at line 263 of file rl2.c.


Variable Documentation

Initial value:

 {
    .name           = "rl2",
    .long_name      = NULL_IF_CONFIG_SMALL("RL2 format"),
    .priv_data_size = sizeof(Rl2DemuxContext),
    .read_probe     = rl2_probe,
    .read_header    = rl2_read_header,
    .read_packet    = rl2_read_packet,
    .read_seek      = rl2_read_seek,
}

Definition at line 290 of file rl2.c.


Generated on Fri Oct 26 02:47:58 2012 for FFmpeg by  doxygen 1.5.8