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"

Go to the source code of this file.

Data Structures

struct  IPMVEContext

Defines

#define DEBUG_IPMOVIE   0
#define IPMOVIE_SIGNATURE   "Interplay MVE File\x1A\0"
#define IPMOVIE_SIGNATURE_SIZE   20
#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 void debug_ipmovie (const char *format,...)
static int load_ipmovie_packet (IPMVEContext *s, ByteIOContext *pb, AVPacket *pkt)
static int process_ipmovie_chunk (IPMVEContext *s, ByteIOContext *pb, AVPacket *pkt)
static int ipmovie_probe (AVProbeData *p)
static int ipmovie_read_header (AVFormatContext *s, AVFormatParameters *ap)
static int ipmovie_read_packet (AVFormatContext *s, AVPacket *pkt)

Variables

AVInputFormat 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 55 of file ipmovie.c.

Referenced by process_ipmovie_chunk().

#define CHUNK_BAD   0xFFFF

Definition at line 64 of file ipmovie.c.

Referenced by ipmovie_read_packet(), and process_ipmovie_chunk().

#define CHUNK_DONE   0xFFFC

Definition at line 61 of file ipmovie.c.

Referenced by load_ipmovie_packet(), and process_ipmovie_chunk().

#define CHUNK_END   0x0005

Definition at line 59 of file ipmovie.c.

Referenced by process_ipmovie_chunk().

#define CHUNK_EOF   0xFFFE

Definition at line 63 of file ipmovie.c.

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

#define CHUNK_INIT_AUDIO   0x0000

Definition at line 54 of file ipmovie.c.

Referenced by ipmovie_read_header(), and process_ipmovie_chunk().

#define CHUNK_INIT_VIDEO   0x0002

Definition at line 56 of file ipmovie.c.

Referenced by ipmovie_read_header(), and process_ipmovie_chunk().

#define CHUNK_NOMEM   0xFFFD

Definition at line 62 of file ipmovie.c.

Referenced by ipmovie_read_packet(), and load_ipmovie_packet().

#define CHUNK_PREAMBLE_SIZE   4

Definition at line 51 of file ipmovie.c.

#define CHUNK_SHUTDOWN   0x0004

Definition at line 58 of file ipmovie.c.

Referenced by process_ipmovie_chunk().

#define CHUNK_VIDEO   0x0003

#define DEBUG_IPMOVIE   0

Definition at line 40 of file ipmovie.c.

#define IPMOVIE_SIGNATURE   "Interplay MVE File\x1A\0"

Definition at line 49 of file ipmovie.c.

Referenced by ipmovie_probe().

#define IPMOVIE_SIGNATURE_SIZE   20

Definition at line 50 of file ipmovie.c.

Referenced by ipmovie_probe(), and ipmovie_read_header().

#define OPCODE_AUDIO_FRAME   0x08

Definition at line 74 of file ipmovie.c.

Referenced by process_ipmovie_chunk().

#define OPCODE_CREATE_GRADIENT   0x0B

Definition at line 77 of file ipmovie.c.

Referenced by process_ipmovie_chunk().

#define OPCODE_CREATE_TIMER   0x02

Definition at line 68 of file ipmovie.c.

Referenced by process_ipmovie_chunk().

#define OPCODE_END_OF_CHUNK   0x01

Definition at line 67 of file ipmovie.c.

Referenced by process_ipmovie_chunk().

#define OPCODE_END_OF_STREAM   0x00

Definition at line 66 of file ipmovie.c.

Referenced by process_ipmovie_chunk().

#define OPCODE_INIT_AUDIO_BUFFERS   0x03

Definition at line 69 of file ipmovie.c.

Referenced by process_ipmovie_chunk().

#define OPCODE_INIT_VIDEO_BUFFERS   0x05

Definition at line 71 of file ipmovie.c.

Referenced by process_ipmovie_chunk().

#define OPCODE_INIT_VIDEO_MODE   0x0A

Definition at line 76 of file ipmovie.c.

Referenced by process_ipmovie_chunk().

#define OPCODE_PREAMBLE_SIZE   4

Definition at line 52 of file ipmovie.c.

Referenced by process_ipmovie_chunk().

#define OPCODE_SEND_BUFFER   0x07

Definition at line 73 of file ipmovie.c.

Referenced by process_ipmovie_chunk().

#define OPCODE_SET_DECODING_MAP   0x0F

Definition at line 81 of file ipmovie.c.

Referenced by process_ipmovie_chunk().

#define OPCODE_SET_PALETTE   0x0C

Definition at line 78 of file ipmovie.c.

Referenced by process_ipmovie_chunk().

#define OPCODE_SET_PALETTE_COMPRESSED   0x0D

Definition at line 79 of file ipmovie.c.

Referenced by process_ipmovie_chunk().

#define OPCODE_SILENCE_FRAME   0x09

Definition at line 75 of file ipmovie.c.

Referenced by process_ipmovie_chunk().

#define OPCODE_START_STOP_AUDIO   0x04

Definition at line 70 of file ipmovie.c.

Referenced by process_ipmovie_chunk().

#define OPCODE_UNKNOWN_06   0x06

Definition at line 72 of file ipmovie.c.

Referenced by process_ipmovie_chunk().

#define OPCODE_UNKNOWN_0E   0x0E

Definition at line 80 of file ipmovie.c.

Referenced by process_ipmovie_chunk().

#define OPCODE_UNKNOWN_10   0x10

Definition at line 82 of file ipmovie.c.

Referenced by process_ipmovie_chunk().

#define OPCODE_UNKNOWN_12   0x12

Definition at line 84 of file ipmovie.c.

Referenced by process_ipmovie_chunk().

#define OPCODE_UNKNOWN_13   0x13

Definition at line 85 of file ipmovie.c.

Referenced by process_ipmovie_chunk().

#define OPCODE_UNKNOWN_14   0x14

Definition at line 86 of file ipmovie.c.

Referenced by process_ipmovie_chunk().

#define OPCODE_UNKNOWN_15   0x15

Definition at line 87 of file ipmovie.c.

Referenced by process_ipmovie_chunk().

#define OPCODE_VIDEO_DATA   0x11

Definition at line 83 of file ipmovie.c.

Referenced by process_ipmovie_chunk().

#define PALETTE_COUNT   256

Definition at line 89 of file ipmovie.c.


Function Documentation

static void debug_ipmovie ( const char *  format,
  ... 
) [inline, static]

Definition at line 46 of file ipmovie.c.

Referenced by load_ipmovie_packet(), and process_ipmovie_chunk().

static int ipmovie_probe ( AVProbeData p  )  [static]

Definition at line 502 of file ipmovie.c.

static int ipmovie_read_header ( AVFormatContext s,
AVFormatParameters ap 
) [static]

Definition at line 510 of file ipmovie.c.

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

Definition at line 582 of file ipmovie.c.

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

Definition at line 124 of file ipmovie.c.

Referenced by process_ipmovie_chunk().

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

Definition at line 207 of file ipmovie.c.

Referenced by ipmovie_read_header(), and ipmovie_read_packet().


Variable Documentation

Initial value:

 {
    "ipmovie",
    NULL_IF_CONFIG_SMALL("Interplay MVE format"),
    sizeof(IPMVEContext),
    ipmovie_probe,
    ipmovie_read_header,
    ipmovie_read_packet,
}

Definition at line 604 of file ipmovie.c.


Generated on Fri Oct 26 02:35:45 2012 for FFmpeg by  doxygen 1.5.8