libavformat/ipmovie.c File Reference

Interplay MVE file demuxer by Mike Melanson (melanson@pcisys.net) For more information regarding the Interplay MVE file format, visit: http://www.pcisys.net/~melanson/codecs/ The aforementioned site also contains a command line utility for parsing IP MVE files so that you can get a good idea of the typical structure of such files. More...

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

Go to the source code of this file.

Data Structures

struct  IPMVEContext

Defines

#define CHUNK_PREAMBLE_SIZE   4
#define OPCODE_PREAMBLE_SIZE   4
#define CHUNK_INIT_AUDIO   0x0000
#define CHUNK_AUDIO_ONLY   0x0001
#define CHUNK_INIT_VIDEO   0x0002
#define CHUNK_VIDEO   0x0003
#define CHUNK_SHUTDOWN   0x0004
#define CHUNK_END   0x0005
#define CHUNK_DONE   0xFFFC
#define CHUNK_NOMEM   0xFFFD
#define CHUNK_EOF   0xFFFE
#define CHUNK_BAD   0xFFFF
#define OPCODE_END_OF_STREAM   0x00
#define OPCODE_END_OF_CHUNK   0x01
#define OPCODE_CREATE_TIMER   0x02
#define OPCODE_INIT_AUDIO_BUFFERS   0x03
#define OPCODE_START_STOP_AUDIO   0x04
#define OPCODE_INIT_VIDEO_BUFFERS   0x05
#define OPCODE_UNKNOWN_06   0x06
#define OPCODE_SEND_BUFFER   0x07
#define OPCODE_AUDIO_FRAME   0x08
#define OPCODE_SILENCE_FRAME   0x09
#define OPCODE_INIT_VIDEO_MODE   0x0A
#define OPCODE_CREATE_GRADIENT   0x0B
#define OPCODE_SET_PALETTE   0x0C
#define OPCODE_SET_PALETTE_COMPRESSED   0x0D
#define OPCODE_UNKNOWN_0E   0x0E
#define OPCODE_SET_DECODING_MAP   0x0F
#define OPCODE_UNKNOWN_10   0x10
#define OPCODE_VIDEO_DATA   0x11
#define OPCODE_UNKNOWN_12   0x12
#define OPCODE_UNKNOWN_13   0x13
#define OPCODE_UNKNOWN_14   0x14
#define OPCODE_UNKNOWN_15   0x15
#define PALETTE_COUNT   256

Functions

static int load_ipmovie_packet (IPMVEContext *s, AVIOContext *pb, AVPacket *pkt)
static int process_ipmovie_chunk (IPMVEContext *s, AVIOContext *pb, AVPacket *pkt)
static int ipmovie_probe (AVProbeData *p)
static int ipmovie_read_header (AVFormatContext *s)
static int ipmovie_read_packet (AVFormatContext *s, AVPacket *pkt)

Variables

static const char signature [] = "Interplay MVE File\x1A\0\x1A"
AVInputFormat ff_ipmovie_demuxer


Detailed Description

Interplay MVE file demuxer by Mike Melanson (melanson@pcisys.net) For more information regarding the Interplay MVE file format, visit: http://www.pcisys.net/~melanson/codecs/ The aforementioned site also contains a command line utility for parsing IP MVE files so that you can get a good idea of the typical structure of such files.

This demuxer is not the best example to use if you are trying to write your own as it uses a rather roundabout approach for splitting up and sending out the chunks.

Definition in file ipmovie.c.


Define Documentation

#define CHUNK_AUDIO_ONLY   0x0001

Definition at line 43 of file ipmovie.c.

Referenced by process_ipmovie_chunk().

#define CHUNK_BAD   0xFFFF

Definition at line 52 of file ipmovie.c.

Referenced by ipmovie_read_packet(), load_ipmovie_packet(), and process_ipmovie_chunk().

#define CHUNK_DONE   0xFFFC

Definition at line 49 of file ipmovie.c.

Referenced by load_ipmovie_packet(), and process_ipmovie_chunk().

#define CHUNK_END   0x0005

Definition at line 47 of file ipmovie.c.

Referenced by process_ipmovie_chunk().

#define CHUNK_EOF   0xFFFE

Definition at line 51 of file ipmovie.c.

Referenced by ipmovie_read_packet(), load_ipmovie_packet(), and process_ipmovie_chunk().

#define CHUNK_INIT_AUDIO   0x0000

Definition at line 42 of file ipmovie.c.

Referenced by ipmovie_read_header(), ipmovie_read_packet(), and process_ipmovie_chunk().

#define CHUNK_INIT_VIDEO   0x0002

Definition at line 44 of file ipmovie.c.

Referenced by ipmovie_read_header(), ipmovie_read_packet(), and process_ipmovie_chunk().

#define CHUNK_NOMEM   0xFFFD

Definition at line 50 of file ipmovie.c.

Referenced by ipmovie_read_packet(), and load_ipmovie_packet().

#define CHUNK_PREAMBLE_SIZE   4

Definition at line 39 of file ipmovie.c.

Referenced by ipmovie_read_header(), and process_ipmovie_chunk().

#define CHUNK_SHUTDOWN   0x0004

Definition at line 46 of file ipmovie.c.

Referenced by process_ipmovie_chunk().

#define CHUNK_VIDEO   0x0003

#define OPCODE_AUDIO_FRAME   0x08

Definition at line 62 of file ipmovie.c.

Referenced by process_ipmovie_chunk().

#define OPCODE_CREATE_GRADIENT   0x0B

Definition at line 65 of file ipmovie.c.

Referenced by process_ipmovie_chunk().

#define OPCODE_CREATE_TIMER   0x02

Definition at line 56 of file ipmovie.c.

Referenced by process_ipmovie_chunk().

#define OPCODE_END_OF_CHUNK   0x01

Definition at line 55 of file ipmovie.c.

Referenced by process_ipmovie_chunk().

#define OPCODE_END_OF_STREAM   0x00

Definition at line 54 of file ipmovie.c.

Referenced by process_ipmovie_chunk().

#define OPCODE_INIT_AUDIO_BUFFERS   0x03

Definition at line 57 of file ipmovie.c.

Referenced by process_ipmovie_chunk().

#define OPCODE_INIT_VIDEO_BUFFERS   0x05

Definition at line 59 of file ipmovie.c.

Referenced by process_ipmovie_chunk().

#define OPCODE_INIT_VIDEO_MODE   0x0A

Definition at line 64 of file ipmovie.c.

Referenced by process_ipmovie_chunk().

#define OPCODE_PREAMBLE_SIZE   4

Definition at line 40 of file ipmovie.c.

Referenced by process_ipmovie_chunk().

#define OPCODE_SEND_BUFFER   0x07

Definition at line 61 of file ipmovie.c.

Referenced by process_ipmovie_chunk().

#define OPCODE_SET_DECODING_MAP   0x0F

Definition at line 69 of file ipmovie.c.

Referenced by process_ipmovie_chunk().

#define OPCODE_SET_PALETTE   0x0C

Definition at line 66 of file ipmovie.c.

Referenced by process_ipmovie_chunk().

#define OPCODE_SET_PALETTE_COMPRESSED   0x0D

Definition at line 67 of file ipmovie.c.

Referenced by process_ipmovie_chunk().

#define OPCODE_SILENCE_FRAME   0x09

Definition at line 63 of file ipmovie.c.

Referenced by process_ipmovie_chunk().

#define OPCODE_START_STOP_AUDIO   0x04

Definition at line 58 of file ipmovie.c.

Referenced by process_ipmovie_chunk().

#define OPCODE_UNKNOWN_06   0x06

Definition at line 60 of file ipmovie.c.

Referenced by process_ipmovie_chunk().

#define OPCODE_UNKNOWN_0E   0x0E

Definition at line 68 of file ipmovie.c.

Referenced by process_ipmovie_chunk().

#define OPCODE_UNKNOWN_10   0x10

Definition at line 70 of file ipmovie.c.

Referenced by process_ipmovie_chunk().

#define OPCODE_UNKNOWN_12   0x12

Definition at line 72 of file ipmovie.c.

Referenced by process_ipmovie_chunk().

#define OPCODE_UNKNOWN_13   0x13

Definition at line 73 of file ipmovie.c.

Referenced by process_ipmovie_chunk().

#define OPCODE_UNKNOWN_14   0x14

Definition at line 74 of file ipmovie.c.

Referenced by process_ipmovie_chunk().

#define OPCODE_UNKNOWN_15   0x15

Definition at line 75 of file ipmovie.c.

Referenced by process_ipmovie_chunk().

#define OPCODE_VIDEO_DATA   0x11

Definition at line 71 of file ipmovie.c.

Referenced by process_ipmovie_chunk().

#define PALETTE_COUNT   256

Definition at line 77 of file ipmovie.c.


Function Documentation

static int ipmovie_probe ( AVProbeData p  )  [static]

Definition at line 527 of file ipmovie.c.

static int ipmovie_read_header ( AVFormatContext s  )  [static]

Definition at line 540 of file ipmovie.c.

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

Definition at line 620 of file ipmovie.c.

static int load_ipmovie_packet ( IPMVEContext s,
AVIOContext pb,
AVPacket pkt 
) [static]

Definition at line 114 of file ipmovie.c.

Referenced by process_ipmovie_chunk().

static int process_ipmovie_chunk ( IPMVEContext s,
AVIOContext pb,
AVPacket pkt 
) [static]

Definition at line 216 of file ipmovie.c.

Referenced by ipmovie_read_header(), and ipmovie_read_packet().


Variable Documentation

Initial value:

 {
    .name           = "ipmovie",
    .long_name      = NULL_IF_CONFIG_SMALL("Interplay MVE format"),
    .priv_data_size = sizeof(IPMVEContext),
    .read_probe     = ipmovie_probe,
    .read_header    = ipmovie_read_header,
    .read_packet    = ipmovie_read_packet,
}

Definition at line 646 of file ipmovie.c.

const char signature[] = "Interplay MVE File\x1A\0\x1A" [static]

Definition at line 525 of file ipmovie.c.

Referenced by ipmovie_probe(), ipmovie_read_header(), and rl2_read_header().


Generated on Fri Oct 26 02:48:01 2012 for FFmpeg by  doxygen 1.5.8