vmnc.c File Reference


Detailed Description

VMware Screen Codec (VMnc) decoder As Alex Beregszaszi discovered, this is effectively RFB data dump.

Definition in file vmnc.c.

Go to the source code of this file.

Classes

struct  VmncContext

Enumerations

enum  EncTypes {
  MAGIC_WMVd = 0x574D5664, MAGIC_WMVe, MAGIC_WMVf, MAGIC_WMVg,
  MAGIC_WMVh, MAGIC_WMVi, MAGIC_WMVj
}
enum  HexTile_Flags {
  HT_RAW = 1, HT_BKG = 2, HT_FG = 4, HT_SUB = 8,
  HT_CLR = 16
}

Functions

static av_always_inline int vmnc_get_pixel (uint8_t *buf, int bpp, int be)
static void load_cursor (VmncContext *c, uint8_t *src)
static void put_cursor (uint8_t *dst, int stride, VmncContext *c, int dx, int dy)
static av_always_inline void paint_rect (uint8_t *dst, int dx, int dy, int w, int h, int color, int bpp, int stride)
static av_always_inline void paint_raw (uint8_t *dst, int w, int h, uint8_t *src, int bpp, int be, int stride)
static int decode_hextile (VmncContext *c, uint8_t *dst, uint8_t *src, int ssize, int w, int h, int stride)
static int decode_frame (AVCodecContext *avctx, void *data, int *data_size, uint8_t *buf, int buf_size)
static int decode_init (AVCodecContext *avctx)
static int decode_end (AVCodecContext *avctx)

Variables

AVCodec vmnc_decoder


Enumeration Type Documentation

enum EncTypes

Enumerator:
MAGIC_WMVd 
MAGIC_WMVe 
MAGIC_WMVf 
MAGIC_WMVg 
MAGIC_WMVh 
MAGIC_WMVi 
MAGIC_WMVj 

Definition at line 33 of file vmnc.c.

Enumerator:
HT_RAW 
HT_BKG 
HT_FG 
HT_SUB 
HT_CLR 

Definition at line 43 of file vmnc.c.


Function Documentation

static av_always_inline int vmnc_get_pixel ( uint8_t *  buf,
int  bpp,
int  be 
) [static]

Definition at line 73 of file vmnc.c.

Referenced by decode_hextile(), load_cursor(), and paint_raw().

static void load_cursor ( VmncContext c,
uint8_t *  src 
) [static]

Definition at line 85 of file vmnc.c.

Referenced by decode_frame().

static void put_cursor ( uint8_t *  dst,
int  stride,
VmncContext c,
int  dx,
int  dy 
) [static]

Definition at line 116 of file vmnc.c.

Referenced by decode_frame().

static av_always_inline void paint_rect ( uint8_t *  dst,
int  dx,
int  dy,
int  w,
int  h,
int  color,
int  bpp,
int  stride 
) [static]

Definition at line 173 of file vmnc.c.

Referenced by decode_hextile().

static av_always_inline void paint_raw ( uint8_t *  dst,
int  w,
int  h,
uint8_t *  src,
int  bpp,
int  be,
int  stride 
) [static]

Definition at line 203 of file vmnc.c.

Referenced by decode_frame(), and decode_hextile().

static int decode_hextile ( VmncContext c,
uint8_t *  dst,
uint8_t *  src,
int  ssize,
int  w,
int  h,
int  stride 
) [static]

Definition at line 226 of file vmnc.c.

Referenced by decode_frame().

static int decode_frame ( AVCodecContext avctx,
void *  data,
int *  data_size,
uint8_t *  buf,
int  buf_size 
) [static]

Definition at line 286 of file vmnc.c.

static int decode_init ( AVCodecContext avctx  )  [static]

Definition at line 459 of file vmnc.c.

static int decode_end ( AVCodecContext avctx  )  [static]

Definition at line 499 of file vmnc.c.


Variable Documentation

Initial value:

Definition at line 512 of file vmnc.c.


Generated on Sat Dec 18 05:15:56 2010 for MythTV by  doxygen 1.5.5