American Laser Games MM Video Decoder by Peter Ross (pross@xvid.org). More...
#include "libavutil/intreadwrite.h"
#include "avcodec.h"
#include "bytestream.h"
Go to the source code of this file.
Data Structures | |
struct | MmContext |
Defines | |
#define | MM_PREAMBLE_SIZE 6 |
#define | MM_TYPE_INTER 0x5 |
#define | MM_TYPE_INTRA 0x8 |
#define | MM_TYPE_INTRA_HH 0xc |
#define | MM_TYPE_INTER_HH 0xd |
#define | MM_TYPE_INTRA_HHV 0xe |
#define | MM_TYPE_INTER_HHV 0xf |
#define | MM_TYPE_PALETTE 0x31 |
Typedefs | |
typedef struct MmContext | MmContext |
Functions | |
static av_cold int | mm_decode_init (AVCodecContext *avctx) |
static int | mm_decode_pal (MmContext *s) |
static int | mm_decode_intra (MmContext *s, int half_horiz, int half_vert) |
static int | mm_decode_inter (MmContext *s, int half_horiz, int half_vert) |
static int | mm_decode_frame (AVCodecContext *avctx, void *data, int *data_size, AVPacket *avpkt) |
static av_cold int | mm_decode_end (AVCodecContext *avctx) |
Variables | |
AVCodec | ff_mmvideo_decoder |
American Laser Games MM Video Decoder by Peter Ross (pross@xvid.org).
The MM format was used by IBM-PC ports of ALG's "arcade shooter" games, including Mad Dog McCree and Crime Patrol.
Technical details here: http://wiki.multimedia.cx/index.php?title=American_Laser_Games_MM
Definition in file mmvideo.c.
#define MM_PREAMBLE_SIZE 6 |
Definition at line 38 of file mmvideo.c.
Referenced by mm_decode_frame().
#define MM_TYPE_INTER 0x5 |
Definition at line 40 of file mmvideo.c.
Referenced by mm_decode_frame().
#define MM_TYPE_INTER_HH 0xd |
Definition at line 43 of file mmvideo.c.
Referenced by mm_decode_frame().
#define MM_TYPE_INTER_HHV 0xf |
Definition at line 45 of file mmvideo.c.
Referenced by mm_decode_frame().
#define MM_TYPE_INTRA 0x8 |
Definition at line 41 of file mmvideo.c.
Referenced by mm_decode_frame().
#define MM_TYPE_INTRA_HH 0xc |
Definition at line 42 of file mmvideo.c.
Referenced by mm_decode_frame().
#define MM_TYPE_INTRA_HHV 0xe |
Definition at line 44 of file mmvideo.c.
Referenced by mm_decode_frame().
#define MM_TYPE_PALETTE 0x31 |
Definition at line 46 of file mmvideo.c.
Referenced by mm_decode_frame().
static av_cold int mm_decode_end | ( | AVCodecContext * | avctx | ) | [static] |
static int mm_decode_frame | ( | AVCodecContext * | avctx, | |
void * | data, | |||
int * | data_size, | |||
AVPacket * | avpkt | |||
) | [static] |
static av_cold int mm_decode_init | ( | AVCodecContext * | avctx | ) | [static] |
static int mm_decode_inter | ( | MmContext * | s, | |
int | half_horiz, | |||
int | half_vert | |||
) | [static] |
Definition at line 128 of file mmvideo.c.
Referenced by mm_decode_frame().
static int mm_decode_intra | ( | MmContext * | s, | |
int | half_horiz, | |||
int | half_vert | |||
) | [static] |
half_horiz | Half horizontal resolution (0 or 1) | |
half_vert | Half vertical resolution (0 or 1) |
Definition at line 86 of file mmvideo.c.
Referenced by mm_decode_frame().
static int mm_decode_pal | ( | MmContext * | s | ) | [static] |
Definition at line 69 of file mmvideo.c.
Referenced by mm_decode_frame().
{ .name = "mmvideo", .type = AVMEDIA_TYPE_VIDEO, .id = CODEC_ID_MMVIDEO, .priv_data_size = sizeof(MmContext), .init = mm_decode_init, .close = mm_decode_end, .decode = mm_decode_frame, .capabilities = CODEC_CAP_DR1, .long_name = NULL_IF_CONFIG_SMALL("American Laser Games MM Video"), }