Mercurial > libavcodec.hg
diff mpegvideo.h @ 294:944632089814 libavcodec
4MV motion estimation (not finished yet)
SAD functions rewritten (8x8 support & MMX2 optimizations)
HQ inter/intra decission
msmpeg4 encoding bugfix (MV where too long)
author | michaelni |
---|---|
date | Wed, 27 Mar 2002 21:25:22 +0000 |
parents | 2899263586cd |
children | a1234c032636 |
line wrap: on
line diff
--- a/mpegvideo.h Mon Mar 25 15:36:16 2002 +0000 +++ b/mpegvideo.h Wed Mar 27 21:25:22 2002 +0000 @@ -65,7 +65,7 @@ int qmax; /* max qscale */ int max_qdiff; /* max qscale difference between frames */ int encoding; /* true if we are encoding (vs decoding) */ - int hq; /* set if CODEC_FLAG_HQ is used in AVCodecContext.flags */ + int flags; /* AVCodecContext.flags (HQ, MV4, ...) */ /* the following fields are managed internally by the encoder */ /* bit output */ @@ -141,8 +141,16 @@ int mb_x, mb_y; int mb_incr; int mb_intra; - INT16 *mb_var; /* Table for MB variances */ - char *mb_type; /* Table for MB type */ + UINT16 *mb_var; /* Table for MB variances */ + UINT8 *mb_type; /* Table for MB type */ +#define MB_TYPE_INTRA 0x01 +#define MB_TYPE_INTER 0x02 +#define MB_TYPE_INTER4V 0x04 +#define MB_TYPE_SKIPED 0x08 +#define MB_TYPE_DIRECT 0x10 +#define MB_TYPE_FORWARD 0x20 +#define MB_TYPE_BACKWAD 0x40 +#define MB_TYPE_BIDIR 0x80 int block_index[6]; int block_wrap[6]; @@ -295,7 +303,10 @@ UINT8 *ptr_last_mb_line; UINT32 mb_line_avgsize; - DCTELEM block[6][64] __align8; + DCTELEM (*block)[64]; /* points to one of the following blocks */ + DCTELEM intra_block[6][64] __align8; + DCTELEM inter_block[6][64] __align8; + DCTELEM inter4v_block[6][64] __align8; void (*dct_unquantize)(struct MpegEncContext *s, DCTELEM *block, int n, int qscale); } MpegEncContext; @@ -311,9 +322,8 @@ /* motion_est.c */ -int estimate_motion(MpegEncContext *s, - int mb_x, int mb_y, - int *mx_ptr, int *my_ptr); +void estimate_motion(MpegEncContext *s, + int mb_x, int mb_y); /* mpeg12.c */ extern INT16 default_intra_matrix[64];