libavformat/iff.c File Reference

IFF file demuxer by Jaikrishnan Menon for more information on the .iff file format, visit: http://wiki.multimedia.cx/index.php?title=IFF. More...

#include "libavcodec/bytestream.h"
#include "libavutil/avassert.h"
#include "libavutil/intreadwrite.h"
#include "libavutil/dict.h"
#include "avformat.h"
#include "internal.h"

Go to the source code of this file.

Data Structures

struct  IffDemuxContext

Defines

#define ID_8SVX   MKTAG('8','S','V','X')
#define ID_VHDR   MKTAG('V','H','D','R')
#define ID_ATAK   MKTAG('A','T','A','K')
#define ID_RLSE   MKTAG('R','L','S','E')
#define ID_CHAN   MKTAG('C','H','A','N')
#define ID_PBM   MKTAG('P','B','M',' ')
#define ID_ILBM   MKTAG('I','L','B','M')
#define ID_BMHD   MKTAG('B','M','H','D')
#define ID_DGBL   MKTAG('D','G','B','L')
#define ID_CAMG   MKTAG('C','A','M','G')
#define ID_CMAP   MKTAG('C','M','A','P')
#define ID_ACBM   MKTAG('A','C','B','M')
#define ID_DEEP   MKTAG('D','E','E','P')
#define ID_FORM   MKTAG('F','O','R','M')
#define ID_ANNO   MKTAG('A','N','N','O')
#define ID_AUTH   MKTAG('A','U','T','H')
#define ID_CHRS   MKTAG('C','H','R','S')
#define ID_COPYRIGHT   MKTAG('(','c',')',' ')
#define ID_CSET   MKTAG('C','S','E','T')
#define ID_FVER   MKTAG('F','V','E','R')
#define ID_NAME   MKTAG('N','A','M','E')
#define ID_TEXT   MKTAG('T','E','X','T')
#define ID_ABIT   MKTAG('A','B','I','T')
#define ID_BODY   MKTAG('B','O','D','Y')
#define ID_DBOD   MKTAG('D','B','O','D')
#define ID_DPEL   MKTAG('D','P','E','L')
#define LEFT   2
#define RIGHT   4
#define STEREO   6
#define IFF_EXTRA_VIDEO_SIZE   9
 This number of bytes if added at the beginning of each AVPacket which contain additional information about video properties which has to be shared between demuxer and decoder.

Enumerations

enum  svx8_compression_type { COMP_NONE, COMP_FIB, COMP_EXP }
enum  bitmap_compression_type { BITMAP_RAW, BITMAP_BYTERUN1 }

Functions

static int get_metadata (AVFormatContext *s, const char *const tag, const unsigned data_size)
static int iff_probe (AVProbeData *p)
static int iff_read_header (AVFormatContext *s)
static int iff_read_packet (AVFormatContext *s, AVPacket *pkt)

Variables

static const uint8_t deep_rgb24 [] = {0, 0, 0, 3, 0, 1, 0, 8, 0, 2, 0, 8, 0, 3, 0, 8}
static const uint8_t deep_rgba [] = {0, 0, 0, 4, 0, 1, 0, 8, 0, 2, 0, 8, 0, 3, 0, 8}
AVInputFormat ff_iff_demuxer


Detailed Description

IFF file demuxer by Jaikrishnan Menon for more information on the .iff file format, visit: http://wiki.multimedia.cx/index.php?title=IFF.

Definition in file iff.c.


Define Documentation

#define ID_8SVX   MKTAG('8','S','V','X')

Definition at line 38 of file iff.c.

Referenced by iff_probe().

#define ID_ABIT   MKTAG('A','B','I','T')

Definition at line 61 of file iff.c.

Referenced by iff_read_header().

#define ID_ACBM   MKTAG('A','C','B','M')

Definition at line 49 of file iff.c.

Referenced by iff_probe().

#define ID_ANNO   MKTAG('A','N','N','O')

Definition at line 53 of file iff.c.

Referenced by iff_read_header().

#define ID_ATAK   MKTAG('A','T','A','K')

Definition at line 40 of file iff.c.

#define ID_AUTH   MKTAG('A','U','T','H')

Definition at line 54 of file iff.c.

Referenced by iff_read_header().

#define ID_BMHD   MKTAG('B','M','H','D')

Definition at line 45 of file iff.c.

Referenced by iff_read_header().

#define ID_BODY   MKTAG('B','O','D','Y')

Definition at line 62 of file iff.c.

Referenced by iff_read_header().

#define ID_CAMG   MKTAG('C','A','M','G')

Definition at line 47 of file iff.c.

Referenced by iff_read_header().

#define ID_CHAN   MKTAG('C','H','A','N')

Definition at line 42 of file iff.c.

Referenced by iff_read_header().

#define ID_CHRS   MKTAG('C','H','R','S')

Definition at line 55 of file iff.c.

#define ID_CMAP   MKTAG('C','M','A','P')

Definition at line 48 of file iff.c.

Referenced by iff_read_header().

#define ID_COPYRIGHT   MKTAG('(','c',')',' ')

Definition at line 56 of file iff.c.

Referenced by iff_read_header().

#define ID_CSET   MKTAG('C','S','E','T')

Definition at line 57 of file iff.c.

#define ID_DBOD   MKTAG('D','B','O','D')

Definition at line 63 of file iff.c.

Referenced by iff_read_header().

#define ID_DEEP   MKTAG('D','E','E','P')

Definition at line 50 of file iff.c.

Referenced by iff_probe().

#define ID_DGBL   MKTAG('D','G','B','L')

Definition at line 46 of file iff.c.

Referenced by iff_read_header().

#define ID_DPEL   MKTAG('D','P','E','L')

Definition at line 64 of file iff.c.

Referenced by iff_read_header().

#define ID_FORM   MKTAG('F','O','R','M')

Definition at line 52 of file iff.c.

Referenced by iff_probe().

#define ID_FVER   MKTAG('F','V','E','R')

Definition at line 58 of file iff.c.

#define ID_ILBM   MKTAG('I','L','B','M')

Definition at line 44 of file iff.c.

Referenced by iff_probe().

#define ID_NAME   MKTAG('N','A','M','E')

Definition at line 59 of file iff.c.

Referenced by iff_read_header().

#define ID_PBM   MKTAG('P','B','M',' ')

Definition at line 43 of file iff.c.

Referenced by iff_probe().

#define ID_RLSE   MKTAG('R','L','S','E')

Definition at line 41 of file iff.c.

#define ID_TEXT   MKTAG('T','E','X','T')

Definition at line 60 of file iff.c.

Referenced by iff_read_header().

#define ID_VHDR   MKTAG('V','H','D','R')

Definition at line 39 of file iff.c.

Referenced by iff_read_header().

#define IFF_EXTRA_VIDEO_SIZE   9

This number of bytes if added at the beginning of each AVPacket which contain additional information about video properties which has to be shared between demuxer and decoder.

This number may change between frames, e.g. the demuxer might set it to smallest possible size of 2 to indicate that there's no extradata changing in this frame.

Definition at line 78 of file iff.c.

Referenced by iff_read_header().

#define LEFT   2

Definition at line 66 of file iff.c.

#define RIGHT   4

Definition at line 67 of file iff.c.

#define STEREO   6

Definition at line 68 of file iff.c.


Enumeration Type Documentation

Enumerator:
BITMAP_RAW 
BITMAP_BYTERUN1 

Definition at line 86 of file iff.c.

Enumerator:
COMP_NONE 
COMP_FIB 
COMP_EXP 

Definition at line 80 of file iff.c.


Function Documentation

static int get_metadata ( AVFormatContext s,
const char *const   tag,
const unsigned  data_size 
) [static]

Definition at line 105 of file iff.c.

Referenced by iff_read_header().

static int iff_probe ( AVProbeData p  )  [static]

Definition at line 123 of file iff.c.

static int iff_read_header ( AVFormatContext s  )  [static]

Definition at line 140 of file iff.c.

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

Definition at line 355 of file iff.c.


Variable Documentation

const uint8_t deep_rgb24[] = {0, 0, 0, 3, 0, 1, 0, 8, 0, 2, 0, 8, 0, 3, 0, 8} [static]

Definition at line 137 of file iff.c.

Referenced by iff_read_header().

const uint8_t deep_rgba[] = {0, 0, 0, 4, 0, 1, 0, 8, 0, 2, 0, 8, 0, 3, 0, 8} [static]

Definition at line 138 of file iff.c.

Referenced by iff_read_header().

Initial value:

 {
    .name           = "iff",
    .long_name      = NULL_IF_CONFIG_SMALL("IFF (Interchange File Format)"),
    .priv_data_size = sizeof(IffDemuxContext),
    .read_probe     = iff_probe,
    .read_header    = iff_read_header,
    .read_packet    = iff_read_packet,
}

Definition at line 390 of file iff.c.


Generated on Fri Oct 26 02:50:05 2012 for FFmpeg by  doxygen 1.5.8