38 #define MM_PREAMBLE_SIZE 6
40 #define MM_TYPE_HEADER 0x0
41 #define MM_TYPE_INTER 0x5
42 #define MM_TYPE_INTRA 0x8
43 #define MM_TYPE_INTRA_HH 0xc
44 #define MM_TYPE_INTER_HH 0xd
45 #define MM_TYPE_INTRA_HHV 0xe
46 #define MM_TYPE_INTER_HHV 0xf
47 #define MM_TYPE_AUDIO 0x15
48 #define MM_TYPE_PALETTE 0x31
50 #define MM_HEADER_LEN_V 0x16
51 #define MM_HEADER_LEN_AV 0x18
53 #define MM_PALETTE_COUNT 128
54 #define MM_PALETTE_SIZE (MM_PALETTE_COUNT*3)
62 int len, type, fps, w, h;
74 if (!fps || fps > 60 || !w || w > 2048 || !h || h > 2048)
77 if (!type || type > 0x31)
91 unsigned int type, length;
143 unsigned int type, length;
152 length =
AV_RL16(&preamble[2]);
#define AVERROR_INVALIDDATA
Invalid data found when processing input.
int av_new_packet(AVPacket *pkt, int size)
Allocate the payload of a packet and initialize its fields with default values.
AVInputFormat ff_mm_demuxer
#define MM_TYPE_INTRA_HHV
int avio_read(AVIOContext *s, unsigned char *buf, int size)
Read size bytes from AVIOContext into buf.
#define MM_TYPE_INTER_HHV
unsigned int avio_rl32(AVIOContext *s)
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification. ...
void av_log(void *avcl, int level, const char *fmt,...)
AVStream * avformat_new_stream(AVFormatContext *s, AVCodec *c)
Add a new stream to a media file.
AVCodecContext * codec
codec context
int buf_size
Size of buf except extra allocated bytes.
unsigned char * buf
Buffer must have AVPROBE_PADDING_SIZE of extra allocated bytes filled with zero.
static int read_packet(AVFormatContext *s, AVPacket *pkt)
int width
picture width / height.
static av_always_inline int64_t avio_skip(AVIOContext *s, int64_t offset)
Skip given number of bytes forward.
static int read_probe(AVProbeData *p)
enum AVMediaType codec_type
int sample_rate
samples per second
unsigned int codec_tag
fourcc (LSB first, so "ABCD" -> ('D'<<24) + ('C'<<16) + ('B'<<8) + 'A').
This structure contains the data a format has to probe a file.
static int read_header(AVFormatContext *s, AVFormatParameters *ap)
unsigned int avio_rl16(AVIOContext *s)
static AVRational frame_rate
int channels
number of audio channels
void * priv_data
Format private data.
static int probe(AVProbeData *p)
int64_t pts
Presentation timestamp in AVStream->time_base units; the time at which the decompressed packet will b...