Mercurial > libavcodec.hg
comparison mpegvideo.h @ 220:0b234715e205 libavcodec
(commit by michael)
mmx & mmx2 quantizer
c dct permutation bugfix
dont copy input on intra only encodings if it can be avoided
dont draw edges on intra only stuff
author | arpi_esp |
---|---|
date | Sun, 27 Jan 2002 13:30:18 +0000 |
parents | 2eb04d6be309 |
children | f418b5c5ff67 |
comparison
equal
deleted
inserted
replaced
219:5b88ee1abf97 | 220:0b234715e205 |
---|---|
27 FMT_H263, | 27 FMT_H263, |
28 FMT_MJPEG, | 28 FMT_MJPEG, |
29 }; | 29 }; |
30 | 30 |
31 #define MPEG_BUF_SIZE (16 * 1024) | 31 #define MPEG_BUF_SIZE (16 * 1024) |
32 | |
33 #define QMAT_SHIFT_MMX 19 | |
34 #define QMAT_SHIFT 25 | |
32 | 35 |
33 typedef struct MpegEncContext { | 36 typedef struct MpegEncContext { |
34 struct AVCodecContext *avctx; | 37 struct AVCodecContext *avctx; |
35 /* the following parameters must be initialized before encoding */ | 38 /* the following parameters must be initialized before encoding */ |
36 int width, height; /* picture size. must be a multiple of 16 */ | 39 int width, height; /* picture size. must be a multiple of 16 */ |
118 UINT16 non_intra_matrix[64]; | 121 UINT16 non_intra_matrix[64]; |
119 UINT16 chroma_non_intra_matrix[64]; | 122 UINT16 chroma_non_intra_matrix[64]; |
120 /* precomputed matrix (combine qscale and DCT renorm) */ | 123 /* precomputed matrix (combine qscale and DCT renorm) */ |
121 int q_intra_matrix[64]; | 124 int q_intra_matrix[64]; |
122 int q_non_intra_matrix[64]; | 125 int q_non_intra_matrix[64]; |
126 /* identical to the above but for MMX & these are not permutated */ | |
127 UINT16 __align8 q_intra_matrix16[64] ; | |
128 UINT16 __align8 q_non_intra_matrix16[64]; | |
123 int block_last_index[6]; /* last non zero coefficient in block */ | 129 int block_last_index[6]; /* last non zero coefficient in block */ |
124 | 130 |
125 void *opaque; /* private data for the user */ | 131 void *opaque; /* private data for the user */ |
126 | 132 |
127 /* bit rate control */ | 133 /* bit rate control */ |