Electronic Arts Madcow Video Decoder by Peter Ross <pross@xvid.org> More...
#include "avcodec.h"
#include "get_bits.h"
#include "dsputil.h"
#include "aandcttab.h"
#include "mpeg12.h"
#include "mpeg12data.h"
Go to the source code of this file.
Data Structures | |
struct | MadContext |
Defines | |
#define | EA_PREAMBLE_SIZE 8 |
#define | MADk_TAG MKTAG('M', 'A', 'D', 'k') |
#define | MADm_TAG MKTAG('M', 'A', 'D', 'm') |
#define | MADe_TAG MKTAG('M', 'A', 'D', 'e') |
Typedefs | |
typedef struct MadContext | MadContext |
Functions | |
static void | bswap16_buf (uint16_t *dst, const uint16_t *src, int count) |
static av_cold int | decode_init (AVCodecContext *avctx) |
static void | comp (unsigned char *dst, int dst_stride, unsigned char *src, int src_stride, int add) |
static void | comp_block (MadContext *t, int mb_x, int mb_y, int j, int mv_x, int mv_y, int add) |
static void | idct_put (MadContext *t, DCTELEM *block, int mb_x, int mb_y, int j) |
static void | decode_block_intra (MadContext *t, DCTELEM *block) |
static int | decode_motion (GetBitContext *gb) |
static void | decode_mb (MadContext *t, int inter) |
static void | calc_intra_matrix (MadContext *t, int qscale) |
static int | decode_frame (AVCodecContext *avctx, void *data, int *data_size, AVPacket *avpkt) |
static av_cold int | decode_end (AVCodecContext *avctx) |
Variables | |
AVCodec | eamad_decoder |
Electronic Arts Madcow Video Decoder by Peter Ross <pross@xvid.org>
Technical details here: http://wiki.multimedia.cx/index.php?title=Electronic_Arts_MAD
Definition in file eamad.c.
#define MADe_TAG MKTAG('M', 'A', 'D', 'e') |
Definition at line 41 of file eamad.c.
Referenced by decode_frame().
#define MADm_TAG MKTAG('M', 'A', 'D', 'm') |
Definition at line 40 of file eamad.c.
Referenced by decode_frame().
typedef struct MadContext MadContext |
static void bswap16_buf | ( | uint16_t * | dst, | |
const uint16_t * | src, | |||
int | count | |||
) | [static] |
Definition at line 52 of file eamad.c.
Referenced by decode_frame().
static void calc_intra_matrix | ( | MadContext * | t, | |
int | qscale | |||
) | [static] |
Definition at line 216 of file eamad.c.
Referenced by decode_frame().
static void comp | ( | unsigned char * | dst, | |
int | dst_stride, | |||
unsigned char * | src, | |||
int | src_stride, | |||
int | add | |||
) | [inline, static] |
Definition at line 73 of file eamad.c.
Referenced by comp_block(), do_audio_out(), ff_fill_linesize(), read_line(), and write_line().
static void comp_block | ( | MadContext * | t, | |
int | mb_x, | |||
int | mb_y, | |||
int | j, | |||
int | mv_x, | |||
int | mv_y, | |||
int | add | |||
) | [inline, static] |
Definition at line 82 of file eamad.c.
Referenced by decode_mb().
static void decode_block_intra | ( | MadContext * | t, | |
DCTELEM * | block | |||
) | [inline, static] |
Definition at line 115 of file eamad.c.
Referenced by decode_mb().
static av_cold int decode_end | ( | AVCodecContext * | avctx | ) | [static] |
static int decode_frame | ( | AVCodecContext * | avctx, | |
void * | data, | |||
int * | data_size, | |||
AVPacket * | avpkt | |||
) | [static] |
static av_cold int decode_init | ( | AVCodecContext * | avctx | ) | [static] |
static void decode_mb | ( | MadContext * | t, | |
int | inter | |||
) | [static] |
Definition at line 186 of file eamad.c.
Referenced by decode_frame().
static int decode_motion | ( | GetBitContext * | gb | ) | [static] |
Definition at line 175 of file eamad.c.
Referenced by decode_mb().
static void idct_put | ( | MadContext * | t, | |
DCTELEM * | block, | |||
int | mb_x, | |||
int | mb_y, | |||
int | j | |||
) | [inline, static] |
Definition at line 100 of file eamad.c.
Referenced by decode_mb().
{ "eamad", AVMEDIA_TYPE_VIDEO, CODEC_ID_MAD, sizeof(MadContext), decode_init, NULL, decode_end, decode_frame, CODEC_CAP_DR1, .long_name = NULL_IF_CONFIG_SMALL("Electronic Arts Madcow Video") }