libavcodec/eacmv.c File Reference

Electronic Arts CMV Video Decoder by Peter Ross (pross@xvid.org). More...

#include "libavutil/intreadwrite.h"
#include "libavutil/imgutils.h"
#include "avcodec.h"

Go to the source code of this file.

Data Structures

struct  CmvContext

Defines

#define EA_PREAMBLE_SIZE   8
#define MVIh_TAG   MKTAG('M', 'V', 'I', 'h')

Functions

static av_cold int cmv_decode_init (AVCodecContext *avctx)
static void cmv_decode_intra (CmvContext *s, const uint8_t *buf, const uint8_t *buf_end)
static void cmv_motcomp (unsigned char *dst, int dst_stride, const unsigned char *src, int src_stride, int x, int y, int xoffset, int yoffset, int width, int height)
static void cmv_decode_inter (CmvContext *s, const uint8_t *buf, const uint8_t *buf_end)
static void cmv_process_header (CmvContext *s, const uint8_t *buf, const uint8_t *buf_end)
static int cmv_decode_frame (AVCodecContext *avctx, void *data, int *data_size, AVPacket *avpkt)
static av_cold int cmv_decode_end (AVCodecContext *avctx)

Variables

AVCodec ff_eacmv_decoder


Detailed Description

Electronic Arts CMV Video Decoder by Peter Ross (pross@xvid.org).

Technical details here: http://wiki.multimedia.cx/index.php?title=Electronic_Arts_CMV

Definition in file eacmv.c.


Define Documentation

#define EA_PREAMBLE_SIZE   8

Definition at line 149 of file eacmv.c.

Referenced by cmv_decode_frame(), and tgv_decode_frame().

#define MVIh_TAG   MKTAG('M', 'V', 'I', 'h')

Definition at line 150 of file eacmv.c.

Referenced by cmv_decode_frame(), ea_probe(), ea_read_packet(), and process_ea_header().


Function Documentation

static av_cold int cmv_decode_end ( AVCodecContext avctx  )  [static]

Definition at line 206 of file eacmv.c.

static int cmv_decode_frame ( AVCodecContext avctx,
void *  data,
int *  data_size,
AVPacket avpkt 
) [static]

Definition at line 152 of file eacmv.c.

static av_cold int cmv_decode_init ( AVCodecContext avctx  )  [static]

Definition at line 44 of file eacmv.c.

static void cmv_decode_inter ( CmvContext s,
const uint8_t *  buf,
const uint8_t *  buf_end 
) [static]

Definition at line 85 of file eacmv.c.

Referenced by cmv_decode_frame().

static void cmv_decode_intra ( CmvContext s,
const uint8_t *  buf,
const uint8_t *  buf_end 
) [static]

Definition at line 55 of file eacmv.c.

Referenced by cmv_decode_frame().

static void cmv_motcomp ( unsigned char *  dst,
int  dst_stride,
const unsigned char *  src,
int  src_stride,
int  x,
int  y,
int  xoffset,
int  yoffset,
int  width,
int  height 
) [static]

Definition at line 66 of file eacmv.c.

Referenced by cmv_decode_inter().

static void cmv_process_header ( CmvContext s,
const uint8_t *  buf,
const uint8_t *  buf_end 
) [static]

Definition at line 122 of file eacmv.c.

Referenced by cmv_decode_frame().


Variable Documentation

Initial value:

 {
    .name           = "eacmv",
    .type           = AVMEDIA_TYPE_VIDEO,
    .id             = CODEC_ID_CMV,
    .priv_data_size = sizeof(CmvContext),
    .init           = cmv_decode_init,
    .close          = cmv_decode_end,
    .decode         = cmv_decode_frame,
    .capabilities   = CODEC_CAP_DR1,
    .long_name = NULL_IF_CONFIG_SMALL("Electronic Arts CMV video"),
}

Definition at line 218 of file eacmv.c.


Generated on Fri Oct 26 02:43:47 2012 for FFmpeg by  doxygen 1.5.8