hvirtual/quicktime/ffmpeg/libavcodec/roqvideo.c File Reference

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include "common.h"
#include "avcodec.h"
#include "dsputil.h"

Include dependency graph for roqvideo.c:

Go to the source code of this file.

Data Structures

struct  roq_cell
struct  roq_qcell
struct  RoqContext

Defines

#define avg2(a, b)   uiclp[(((int)(a)+(int)(b)+1)>>1)]
#define avg4(a, b, c, d)   uiclp[(((int)(a)+(int)(b)+(int)(c)+(int)(d)+2)>>2)]
#define RoQ_INFO   0x1001
#define RoQ_QUAD_CODEBOOK   0x1002
#define RoQ_QUAD_VQ   0x1011
#define RoQ_SOUND_MONO   0x1020
#define RoQ_SOUND_STEREO   0x1021
#define RoQ_ID_MOT   0x00
#define RoQ_ID_FCC   0x01
#define RoQ_ID_SLD   0x02
#define RoQ_ID_CCC   0x03
#define get_byte(in_buffer)   *(in_buffer++)
#define get_word(in_buffer)
#define get_long(in_buffer)

Functions

static void apply_vector_2x2 (RoqContext *ri, int x, int y, roq_cell *cell)
static void apply_vector_4x4 (RoqContext *ri, int x, int y, roq_cell *cell)
static void apply_motion_4x4 (RoqContext *ri, int x, int y, unsigned char mv, signed char mean_x, signed char mean_y)
static void apply_motion_8x8 (RoqContext *ri, int x, int y, unsigned char mv, signed char mean_x, signed char mean_y)
static void roqvideo_decode_frame (RoqContext *ri)
static int roq_decode_init (AVCodecContext *avctx)
static int roq_decode_frame (AVCodecContext *avctx, void *data, int *data_size, uint8_t *buf, int buf_size)
static int roq_decode_end (AVCodecContext *avctx)

Variables

static int uiclip [1024]
static int * uiclp
AVCodec roq_decoder


Detailed Description

Id RoQ Video Decoder by Dr. Tim Ferguson For more information about the Id RoQ format, visit: http://www.csse.monash.edu.au/~timf/

Definition in file roqvideo.c.


Define Documentation

#define avg2 ( a,
b   )     uiclp[(((int)(a)+(int)(b)+1)>>1)]

Definition at line 45 of file roqvideo.c.

#define avg4 ( a,
b,
c,
 )     uiclp[(((int)(a)+(int)(b)+(int)(c)+(int)(d)+2)>>2)]

Definition at line 46 of file roqvideo.c.

#define get_byte ( in_buffer   )     *(in_buffer++)

Definition at line 77 of file roqvideo.c.

Referenced by roqvideo_decode_frame().

#define get_long ( in_buffer   ) 

Value:

((unsigned long)(in_buffer += 4, \
  (in_buffer[-1] << 24 | in_buffer[-2] << 16 | in_buffer[-3] << 8 | in_buffer[-4])))

Definition at line 80 of file roqvideo.c.

Referenced by roqvideo_decode_frame().

#define get_word ( in_buffer   ) 

Value:

((unsigned short)(in_buffer += 2, \
  (in_buffer[-1] << 8 | in_buffer[-2])))

Definition at line 78 of file roqvideo.c.

Referenced by http_parse_request(), roqvideo_decode_frame(), and rtsp_parse_request().

#define RoQ_ID_CCC   0x03

Definition at line 75 of file roqvideo.c.

Referenced by roqvideo_decode_frame().

#define RoQ_ID_FCC   0x01

Definition at line 73 of file roqvideo.c.

Referenced by roqvideo_decode_frame().

#define RoQ_ID_MOT   0x00

Definition at line 72 of file roqvideo.c.

Referenced by roqvideo_decode_frame().

#define RoQ_ID_SLD   0x02

Definition at line 74 of file roqvideo.c.

Referenced by roqvideo_decode_frame().

#define RoQ_INFO   0x1001

Definition at line 66 of file roqvideo.c.

#define RoQ_QUAD_CODEBOOK   0x1002

Definition at line 67 of file roqvideo.c.

Referenced by roqvideo_decode_frame().

#define RoQ_QUAD_VQ   0x1011

Definition at line 68 of file roqvideo.c.

Referenced by roqvideo_decode_frame().

#define RoQ_SOUND_MONO   0x1020

Definition at line 69 of file roqvideo.c.

#define RoQ_SOUND_STEREO   0x1021

Definition at line 70 of file roqvideo.c.


Function Documentation

static void apply_motion_4x4 ( RoqContext ri,
int  x,
int  y,
unsigned char  mv,
signed char  mean_x,
signed char  mean_y 
) [static]

static void apply_motion_8x8 ( RoqContext ri,
int  x,
int  y,
unsigned char  mv,
signed char  mean_x,
signed char  mean_y 
) [static]

static void apply_vector_2x2 ( RoqContext ri,
int  x,
int  y,
roq_cell cell 
) [static]

static void apply_vector_4x4 ( RoqContext ri,
int  x,
int  y,
roq_cell cell 
) [static]

static int roq_decode_end ( AVCodecContext avctx  )  [static]

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

static int roq_decode_init ( AVCodecContext avctx  )  [static]

static void roqvideo_decode_frame ( RoqContext ri  )  [static]


Variable Documentation

Initial value:

Definition at line 489 of file roqvideo.c.

Referenced by avcodec_register_all().

int uiclip[1024] [static]

Definition at line 44 of file roqvideo.c.

Referenced by roq_decode_init().

int * uiclp [static]

Definition at line 44 of file roqvideo.c.

Referenced by roq_decode_init().


Generated on Mon Apr 28 14:05:59 2008 for Cinelerra by  doxygen 1.5.5