libavformat/4xm.c File Reference

4X Technologies file demuxer by Mike Melanson (melanson@pcisys.net) for more information on the .4xm file format, visit: http://www.pcisys.net/~melanson/codecs/ More...

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

Go to the source code of this file.

Data Structures

struct  AudioTrack
struct  FourxmDemuxContext

Defines

#define RIFF_TAG   MKTAG('R', 'I', 'F', 'F')
#define FOURXMV_TAG   MKTAG('4', 'X', 'M', 'V')
#define LIST_TAG   MKTAG('L', 'I', 'S', 'T')
#define HEAD_TAG   MKTAG('H', 'E', 'A', 'D')
#define TRK__TAG   MKTAG('T', 'R', 'K', '_')
#define MOVI_TAG   MKTAG('M', 'O', 'V', 'I')
#define VTRK_TAG   MKTAG('V', 'T', 'R', 'K')
#define STRK_TAG   MKTAG('S', 'T', 'R', 'K')
#define std__TAG   MKTAG('s', 't', 'd', '_')
#define name_TAG   MKTAG('n', 'a', 'm', 'e')
#define vtrk_TAG   MKTAG('v', 't', 'r', 'k')
#define strk_TAG   MKTAG('s', 't', 'r', 'k')
#define ifrm_TAG   MKTAG('i', 'f', 'r', 'm')
#define pfrm_TAG   MKTAG('p', 'f', 'r', 'm')
#define cfrm_TAG   MKTAG('c', 'f', 'r', 'm')
#define ifr2_TAG   MKTAG('i', 'f', 'r', '2')
#define pfr2_TAG   MKTAG('p', 'f', 'r', '2')
#define cfr2_TAG   MKTAG('c', 'f', 'r', '2')
#define snd__TAG   MKTAG('s', 'n', 'd', '_')
#define vtrk_SIZE   0x44
#define strk_SIZE   0x28
#define GET_LIST_HEADER()

Functions

static int fourxm_probe (AVProbeData *p)
static int fourxm_read_header (AVFormatContext *s, AVFormatParameters *ap)
static int fourxm_read_packet (AVFormatContext *s, AVPacket *pkt)
static int fourxm_read_close (AVFormatContext *s)

Variables

AVInputFormat ff_fourxm_demuxer


Detailed Description

4X Technologies file demuxer by Mike Melanson (melanson@pcisys.net) for more information on the .4xm file format, visit: http://www.pcisys.net/~melanson/codecs/

Definition in file 4xm.c.


Define Documentation

#define cfr2_TAG   MKTAG('c', 'f', 'r', '2')

Definition at line 52 of file 4xm.c.

Referenced by fourxm_read_packet().

#define cfrm_TAG   MKTAG('c', 'f', 'r', 'm')

Definition at line 49 of file 4xm.c.

Referenced by fourxm_read_packet().

#define FOURXMV_TAG   MKTAG('4', 'X', 'M', 'V')

Definition at line 36 of file 4xm.c.

Referenced by fourxm_probe().

 
#define GET_LIST_HEADER (  ) 

Value:

fourcc_tag = avio_rl32(pb); \
    size = avio_rl32(pb); \
    if (fourcc_tag != LIST_TAG) \
        return AVERROR_INVALIDDATA; \
    fourcc_tag = avio_rl32(pb);

Definition at line 58 of file 4xm.c.

Referenced by fourxm_read_header().

#define HEAD_TAG   MKTAG('H', 'E', 'A', 'D')

Definition at line 38 of file 4xm.c.

Referenced by fourxm_read_header().

#define ifr2_TAG   MKTAG('i', 'f', 'r', '2')

Definition at line 50 of file 4xm.c.

Referenced by fourxm_read_packet().

#define ifrm_TAG   MKTAG('i', 'f', 'r', 'm')

Definition at line 47 of file 4xm.c.

Referenced by fourxm_read_packet().

#define LIST_TAG   MKTAG('L', 'I', 'S', 'T')

Definition at line 37 of file 4xm.c.

Referenced by fourxm_read_packet().

#define MOVI_TAG   MKTAG('M', 'O', 'V', 'I')

Definition at line 40 of file 4xm.c.

Referenced by fourxm_read_header().

#define name_TAG   MKTAG('n', 'a', 'm', 'e')

Definition at line 44 of file 4xm.c.

#define pfr2_TAG   MKTAG('p', 'f', 'r', '2')

Definition at line 51 of file 4xm.c.

Referenced by fourxm_read_packet().

#define pfrm_TAG   MKTAG('p', 'f', 'r', 'm')

Definition at line 48 of file 4xm.c.

Referenced by fourxm_read_packet().

#define RIFF_TAG   MKTAG('R', 'I', 'F', 'F')

Definition at line 35 of file 4xm.c.

Referenced by fourxm_probe(), probe(), str_probe(), and str_read_header().

#define snd__TAG   MKTAG('s', 'n', 'd', '_')

Definition at line 53 of file 4xm.c.

Referenced by fourxm_read_packet().

#define std__TAG   MKTAG('s', 't', 'd', '_')

Definition at line 43 of file 4xm.c.

Referenced by fourxm_read_header().

#define strk_SIZE   0x28

Definition at line 56 of file 4xm.c.

Referenced by fourxm_read_header().

#define strk_TAG   MKTAG('s', 't', 'r', 'k')

Definition at line 46 of file 4xm.c.

Referenced by fourxm_read_header().

#define STRK_TAG   MKTAG('S', 'T', 'R', 'K')

Definition at line 42 of file 4xm.c.

#define TRK__TAG   MKTAG('T', 'R', 'K', '_')

Definition at line 39 of file 4xm.c.

#define vtrk_SIZE   0x44

Definition at line 55 of file 4xm.c.

Referenced by fourxm_read_header().

#define vtrk_TAG   MKTAG('v', 't', 'r', 'k')

Definition at line 45 of file 4xm.c.

Referenced by fourxm_read_header().

#define VTRK_TAG   MKTAG('V', 'T', 'R', 'K')

Definition at line 41 of file 4xm.c.


Function Documentation

static int fourxm_probe ( AVProbeData p  )  [static]

Definition at line 85 of file 4xm.c.

static int fourxm_read_close ( AVFormatContext s  )  [static]

Definition at line 343 of file 4xm.c.

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

Definition at line 94 of file 4xm.c.

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

Definition at line 249 of file 4xm.c.


Variable Documentation

Initial value:

 {
    .name           = "4xm",
    .long_name      = NULL_IF_CONFIG_SMALL("4X Technologies format"),
    .priv_data_size = sizeof(FourxmDemuxContext),
    .read_probe     = fourxm_probe,
    .read_header    = fourxm_read_header,
    .read_packet    = fourxm_read_packet,
    .read_close     = fourxm_read_close,
}

Definition at line 352 of file 4xm.c.


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