ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/svn/trunk/xvidcore/src/bitstream/mbcoding.h
(Generate patch)

Comparing trunk/xvidcore/src/bitstream/mbcoding.h (file contents):
Revision 850 by edgomez, Sun Nov 17 00:57:58 2002 UTC vs.
Revision 851 by edgomez, Sat Feb 15 15:22:19 2003 UTC

# Line 1 | Line 1
1 /*****************************************************************************
2 *
3 *  XVID MPEG-4 VIDEO CODEC
4 *  - Macro Block coding functions -
5 *
6 *  Copyright(C) 2002 Michael Militzer <isibaar@xvid.org>
7 *
8 *  This file is part of XviD, a free MPEG-4 video encoder/decoder
9 *
10 *  XviD is free software; you can redistribute it and/or modify it
11 *  under the terms of the GNU General Public License as published by
12 *  the Free Software Foundation; either version 2 of the License, or
13 *  (at your option) any later version.
14 *
15 *  This program is distributed in the hope that it will be useful,
16 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
17 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18 *  GNU General Public License for more details.
19 *
20 *  You should have received a copy of the GNU General Public License
21 *  along with this program; if not, write to the Free Software
22 *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
23 *
24 *  Under section 8 of the GNU General Public License, the copyright
25 *  holders of XVID explicitly forbid distribution in the following
26 *  countries:
27 *
28 *    - Japan
29 *    - United States of America
30 *
31 *  Linking XviD statically or dynamically with other modules is making a
32 *  combined work based on XviD.  Thus, the terms and conditions of the
33 *  GNU General Public License cover the whole combination.
34 *
35 *  As a special exception, the copyright holders of XviD give you
36 *  permission to link XviD with independent modules that communicate with
37 *  XviD solely through the VFW1.1 and DShow interfaces, regardless of the
38 *  license terms of these independent modules, and to copy and distribute
39 *  the resulting combined work under terms of your choice, provided that
40 *  every copy of the combined work is accompanied by a complete copy of
41 *  the source code of XviD (the version of XviD used to produce the
42 *  combined work), being distributed under the terms of the GNU General
43 *  Public License plus this exception.  An independent module is a module
44 *  which is not derived from or based on XviD.
45 *
46 *  Note that people who make modified versions of XviD are not obligated
47 *  to grant this special exception for their modified versions; it is
48 *  their choice whether to do so.  The GNU General Public License gives
49 *  permission to release a modified version without this exception; this
50 *  exception also makes it possible to release a modified version which
51 *  carries forward this exception.
52 *
53 * $Id: mbcoding.h,v 1.10 2002-11-17 00:57:57 edgomez Exp $
54 *
55 ****************************************************************************/
56
1   #ifndef _MB_CODING_H_
2   #define _MB_CODING_H_
3  
4   #include "../portab.h"
5   #include "../global.h"
6 + #include "vlc_codes.h"
7   #include "bitstream.h"
8  
9   void init_vlc_tables(void);
10  
11   int check_resync_marker(Bitstream * bs, int addbits);
12  
13 + void bs_put_spritetrajectory(Bitstream * bs, const int val);
14 + int bs_get_spritetrajectory(Bitstream * bs);
15 +
16   int get_mcbpc_intra(Bitstream * bs);
17   int get_mcbpc_inter(Bitstream * bs);
18   int get_cbpy(Bitstream * bs,
# Line 82 | Line 30 | void get_intra_block(Bitstream * bs,
30                                           int direction,
31                                           int coeff);
32   void get_inter_block(Bitstream * bs,
33 <                                         int16_t * block);
33 >                                         int16_t * block,
34 >                                         int direction);
35 >
36 >
37 > void MBCodingBVOP(const MACROBLOCK * mb,
38 >                                  const int16_t qcoeff[6 * 64],
39 >                                  const int32_t fcode,
40 >                                  const int32_t bcode,
41 >                                  Bitstream * bs,
42 >                                  Statistics * pStat,
43 >                                  int alternate_scan);
44 >
45 >
46 > static __inline void
47 > MBSkip(Bitstream * bs)
48 > {
49 >        BitstreamPutBit(bs, 1); // not coded
50 > }
51 >
52 >
53 > #ifdef BIGLUT
54 > extern VLC *intra_table;
55 > int CodeCoeff_CalcBits(const int16_t qcoeff[64], VLC * table, const uint16_t * zigzag, uint16_t intra);
56 > #else
57 > int CodeCoeffIntra_CalcBits(const int16_t qcoeff[64], const uint16_t * zigzag);
58 > #endif
59  
60 < #endif /* _MB_CODING_H_ */
60 > #endif                                                  /* _MB_CODING_H_ */

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines