Electronic Arts Madcow Video Decoder.
More...
#include "avcodec.h"
#include "get_bits.h"
#include "aandcttab.h"
#include "eaidct.h"
#include "internal.h"
#include "mpeg12.h"
#include "mpeg12data.h"
#include "libavutil/imgutils.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 int | decode_block_intra (MadContext *s, int16_t *block) |
|
static int | decode_motion (GetBitContext *gb) |
|
static int | 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.
#define EA_PREAMBLE_SIZE 8 |
static void comp |
( |
unsigned char * |
dst, |
|
|
int |
dst_stride, |
|
|
unsigned char * |
src, |
|
|
int |
src_stride, |
|
|
int |
add |
|
) |
| |
|
inlinestatic |
Definition at line 71 of file eamad.c.
Referenced by av_get_padded_bits_per_pixel(), av_image_fill_max_pixsteps(), av_lzo1x_decode(), av_read_image_line(), av_write_image_line(), bmp_decode_frame(), comp_block(), config_props(), decode_component(), dirac_decode_frame_internal(), ff_blend_mask(), ff_blend_rectangle(), ff_get_unscaled_swscale(), ff_interleave_compare_dts(), ff_j2k_getsgnctxno(), fill_coding_method_array(), filter_frame(), init_noise(), j2k_flush(), ls_decode_line(), ls_encode_line(), ls_encode_run(), noise(), swr_next_pts(), vp5_parse_vector_adjustment(), vp5_parse_vector_models(), vp6_parse_vector_adjustment(), and vp6_parse_vector_models().
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 |
static int decode_block_intra |
( |
MadContext * |
s, |
|
|
int16_t * |
block |
|
) |
| |
|
inlinestatic |
Initial value:= {
.name = "eamad",
}
static av_cold int init(AVCodecContext *avctx)
struct MadContext MadContext
#define CODEC_CAP_DR1
Codec uses get_buffer() for allocating buffers and supports custom allocators.
#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_frame(AVCodecContext *avctx, void *data, int *got_frame, AVPacket *avpkt)
static void close(AVCodecParserContext *s)
static int decode(AVCodecContext *avctx, void *data, int *got_frame, AVPacket *avpkt)
static av_cold int decode_init(AVCodecContext *avctx)
Definition at line 317 of file eamad.c.