Electronic Arts Madcow Video Decoder.
More...
#include "avcodec.h"
#include "blockdsp.h"
#include "bytestream.h"
#include "bswapdsp.h"
#include "get_bits.h"
#include "aandcttab.h"
#include "eaidct.h"
#include "idctdsp.h"
#include "internal.h"
#include "mpeg12data.h"
#include "mpeg12vlc.h"
Go to the source code of this file.
|
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, AVFrame *frame, int mb_x, int mb_y, int j, int mv_x, int mv_y, int add) |
|
static void | idct_put (MadContext *t, AVFrame *frame, int16_t *block, int mb_x, int mb_y, int j) |
|
static void | decode_block_intra (MadContext *s, int16_t *block) |
|
static int | decode_motion (GetBitContext *gb) |
|
static void | decode_mb (MadContext *s, AVFrame *frame, int inter) |
|
static void | calc_quant_matrix (MadContext *s, int qscale) |
|
static int | decode_frame (AVCodecContext *avctx, void *data, int *got_frame, AVPacket *avpkt) |
|
static av_cold int | decode_end (AVCodecContext *avctx) |
|
Electronic Arts Madcow Video Decoder.
- Author
- Peter Ross pross.nosp@m.@xvi.nosp@m.d.org
- See also
- technical details at http://wiki.multimedia.cx/index.php?title=Electronic_Arts_MAD
Definition in file eamad.c.
◆ EA_PREAMBLE_SIZE
#define EA_PREAMBLE_SIZE 8 |
◆ MADk_TAG
#define MADk_TAG MKTAG('M', 'A', 'D', 'k') /* MAD I-frame */ |
◆ MADm_TAG
#define MADm_TAG MKTAG('M', 'A', 'D', 'm') /* MAD P-frame */ |
◆ MADe_TAG
#define MADe_TAG MKTAG('M', 'A', 'D', 'e') /* MAD lqp-frame */ |
◆ decode_init()
◆ comp()
static void comp |
( |
unsigned char * |
dst, |
|
|
int |
dst_stride, |
|
|
unsigned char * |
src, |
|
|
int |
src_stride, |
|
|
int |
add |
|
) |
| |
|
inlinestatic |
Definition at line 83 of file eamad.c.
Referenced by av_image_fill_max_pixsteps(), av_read_image_line(), av_write_image_line(), bmp_decode_frame(), comp_block(), config_props(), ff_get_unscaled_swscale(), ff_jpeg2000_getsgnctxno(), fill_coding_method_array(), init_tile(), interleave_compare_dts(), jpeg2000_dec_cleanup(), ls_decode_line(), ls_encode_line(), ls_encode_run(), tile_codeblocks(), vp5_parse_vector_adjustment(), vp5_parse_vector_models(), vp6_parse_vector_adjustment(), and vp6_parse_vector_models().
◆ comp_block()
static void comp_block |
( |
MadContext * |
t, |
|
|
AVFrame * |
frame, |
|
|
int |
mb_x, |
|
|
int |
mb_y, |
|
|
int |
j, |
|
|
int |
mv_x, |
|
|
int |
mv_y, |
|
|
int |
add |
|
) |
| |
|
inlinestatic |
◆ idct_put()
◆ decode_block_intra()
◆ decode_motion()
◆ decode_mb()
◆ calc_quant_matrix()
◆ decode_frame()
◆ decode_end()
◆ ff_eamad_decoder
Initial value:= {
.name = "eamad",
}
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification. ...
static av_cold int decode_end(AVCodecContext *avctx)
static int decode(AVCodecContext *avctx, AVFrame *frame, int *got_frame, AVPacket *pkt)
static int decode_frame(AVCodecContext *avctx, void *data, int *got_frame, AVPacket *avpkt)
static av_cold int init(AVCodecParserContext *s)
#define AV_CODEC_CAP_DR1
Codec uses get_buffer() for allocating buffers and supports custom allocators.
static av_cold int decode_init(AVCodecContext *avctx)
Definition at line 327 of file eamad.c.