[cvs] / xvidcore / src / bitstream / mbcoding.h Repository:
ViewVC logotype

Diff of /xvidcore/src/bitstream/mbcoding.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.10, Sun Nov 17 00:57:57 2002 UTC revision 1.11, Sat Feb 15 15:22:18 2003 UTC
# Line 1  Line 1 
 /*****************************************************************************  
  *  
  *  XVID MPEG-4 VIDEO CODEC  
  *  - Macro Block coding functions -  
  *  
  *  Copyright(C) 2002 Michael Militzer <isibaar@xvid.org>  
  *  
  *  This file is part of XviD, a free MPEG-4 video encoder/decoder  
  *  
  *  XviD is free software; you can redistribute it and/or modify it  
  *  under the terms of the GNU General Public License as published by  
  *  the Free Software Foundation; either version 2 of the License, or  
  *  (at your option) any later version.  
  *  
  *  This program is distributed in the hope that it will be useful,  
  *  but WITHOUT ANY WARRANTY; without even the implied warranty of  
  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the  
  *  GNU General Public License for more details.  
  *  
  *  You should have received a copy of the GNU General Public License  
  *  along with this program; if not, write to the Free Software  
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA  
  *  
  *  Under section 8 of the GNU General Public License, the copyright  
  *  holders of XVID explicitly forbid distribution in the following  
  *  countries:  
  *  
  *    - Japan  
  *    - United States of America  
  *  
  *  Linking XviD statically or dynamically with other modules is making a  
  *  combined work based on XviD.  Thus, the terms and conditions of the  
  *  GNU General Public License cover the whole combination.  
  *  
  *  As a special exception, the copyright holders of XviD give you  
  *  permission to link XviD with independent modules that communicate with  
  *  XviD solely through the VFW1.1 and DShow interfaces, regardless of the  
  *  license terms of these independent modules, and to copy and distribute  
  *  the resulting combined work under terms of your choice, provided that  
  *  every copy of the combined work is accompanied by a complete copy of  
  *  the source code of XviD (the version of XviD used to produce the  
  *  combined work), being distributed under the terms of the GNU General  
  *  Public License plus this exception.  An independent module is a module  
  *  which is not derived from or based on XviD.  
  *  
  *  Note that people who make modified versions of XviD are not obligated  
  *  to grant this special exception for their modified versions; it is  
  *  their choice whether to do so.  The GNU General Public License gives  
  *  permission to release a modified version without this exception; this  
  *  exception also makes it possible to release a modified version which  
  *  carries forward this exception.  
  *  
  * $Id$  
  *  
  ****************************************************************************/  
   
1  #ifndef _MB_CODING_H_  #ifndef _MB_CODING_H_
2  #define _MB_CODING_H_  #define _MB_CODING_H_
3    
4  #include "../portab.h"  #include "../portab.h"
5  #include "../global.h"  #include "../global.h"
6    #include "vlc_codes.h"
7  #include "bitstream.h"  #include "bitstream.h"
8    
9  void init_vlc_tables(void);  void init_vlc_tables(void);
10    
11  int check_resync_marker(Bitstream * bs, int addbits);  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);  int get_mcbpc_intra(Bitstream * bs);
17  int get_mcbpc_inter(Bitstream * bs);  int get_mcbpc_inter(Bitstream * bs);
18  int get_cbpy(Bitstream * bs,  int get_cbpy(Bitstream * bs,
# Line 82  Line 30 
30                                           int direction,                                           int direction,
31                                           int coeff);                                           int coeff);
32  void get_inter_block(Bitstream * bs,  void get_inter_block(Bitstream * bs,
33                                           int16_t * block);                                           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_ */  #endif /* _MB_CODING_H_ */

Legend:
Removed from v.1.10  
changed lines
  Added in v.1.11

No admin address has been configured
ViewVC Help
Powered by ViewVC 1.0.4