Parent Directory
|
Revision Log
Revision 1988 - (view) (download)
1 : | edgomez | 1382 | /***************************************************************************** |
2 : | * | ||
3 : | * XVID MPEG-4 VIDEO CODEC | ||
4 : | * - MB coding header - | ||
5 : | * | ||
6 : | * Copyright (C) 2002 Michael Militzer <isibaar@xvid.org> | ||
7 : | * | ||
8 : | * This program is free software ; you can redistribute it and/or modify | ||
9 : | * it under the terms of the GNU General Public License as published by | ||
10 : | * the Free Software Foundation ; either version 2 of the License, or | ||
11 : | * (at your option) any later version. | ||
12 : | * | ||
13 : | * This program is distributed in the hope that it will be useful, | ||
14 : | * but WITHOUT ANY WARRANTY ; without even the implied warranty of | ||
15 : | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
16 : | * GNU General Public License for more details. | ||
17 : | * | ||
18 : | * You should have received a copy of the GNU General Public License | ||
19 : | * along with this program ; if not, write to the Free Software | ||
20 : | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
21 : | * | ||
22 : | Isibaar | 1988 | * $Id$ |
23 : | edgomez | 1382 | * |
24 : | ****************************************************************************/ | ||
25 : | |||
26 : | Isibaar | 3 | #ifndef _MB_CODING_H_ |
27 : | #define _MB_CODING_H_ | ||
28 : | |||
29 : | #include "../portab.h" | ||
30 : | #include "../global.h" | ||
31 : | edgomez | 851 | #include "vlc_codes.h" |
32 : | Isibaar | 100 | #include "bitstream.h" |
33 : | Isibaar | 3 | |
34 : | Isibaar | 100 | void init_vlc_tables(void); |
35 : | Isibaar | 3 | |
36 : | suxen_drol | 248 | int check_resync_marker(Bitstream * bs, int addbits); |
37 : | |||
38 : | edgomez | 851 | void bs_put_spritetrajectory(Bitstream * bs, const int val); |
39 : | int bs_get_spritetrajectory(Bitstream * bs); | ||
40 : | |||
41 : | Isibaar | 3 | int get_mcbpc_intra(Bitstream * bs); |
42 : | int get_mcbpc_inter(Bitstream * bs); | ||
43 : | edgomez | 195 | int get_cbpy(Bitstream * bs, |
44 : | int intra); | ||
45 : | int get_mv(Bitstream * bs, | ||
46 : | int fcode); | ||
47 : | Isibaar | 3 | |
48 : | edgomez | 195 | int get_dc_dif(Bitstream * bs, |
49 : | uint32_t dc_size); | ||
50 : | Isibaar | 3 | int get_dc_size_lum(Bitstream * bs); |
51 : | int get_dc_size_chrom(Bitstream * bs); | ||
52 : | |||
53 : | edgomez | 195 | void get_intra_block(Bitstream * bs, |
54 : | int16_t * block, | ||
55 : | int direction, | ||
56 : | int coeff); | ||
57 : | edgomez | 1486 | void get_inter_block_h263( |
58 : | Bitstream * bs, | ||
59 : | int16_t * block, | ||
60 : | int direction, | ||
61 : | const int quant, | ||
62 : | const uint16_t *matrix); | ||
63 : | Isibaar | 3 | |
64 : | edgomez | 1486 | void get_inter_block_mpeg( |
65 : | Bitstream * bs, | ||
66 : | int16_t * block, | ||
67 : | int direction, | ||
68 : | const int quant, | ||
69 : | const uint16_t *matrix); | ||
70 : | edgomez | 851 | |
71 : | edgomez | 1486 | |
72 : | edgomez | 1382 | void MBCodingBVOP(const FRAMEINFO * const frame, |
73 : | const MACROBLOCK * mb, | ||
74 : | edgomez | 851 | const int16_t qcoeff[6 * 64], |
75 : | const int32_t fcode, | ||
76 : | const int32_t bcode, | ||
77 : | Bitstream * bs, | ||
78 : | edgomez | 1382 | Statistics * pStat); |
79 : | edgomez | 851 | |
80 : | |||
81 : | static __inline void | ||
82 : | MBSkip(Bitstream * bs) | ||
83 : | { | ||
84 : | edgomez | 1382 | BitstreamPutBit(bs, 1); /* not coded */ |
85 : | edgomez | 851 | } |
86 : | |||
87 : | int CodeCoeffIntra_CalcBits(const int16_t qcoeff[64], const uint16_t * zigzag); | ||
88 : | edgomez | 1382 | int CodeCoeffInter_CalcBits(const int16_t qcoeff[64], const uint16_t * zigzag); |
89 : | edgomez | 851 | |
90 : | #endif /* _MB_CODING_H_ */ |
No admin address has been configured | ViewVC Help |
Powered by ViewVC 1.0.4 |