[svn] / branches / dev-api-4 / xvidcore / src / quant / quant_matrix.c Repository:
ViewVC logotype

Diff of /branches/dev-api-4/xvidcore/src/quant/quant_matrix.c

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

revision 441, Sat Sep 7 11:14:41 2002 UTC revision 605, Sat Oct 19 12:20:33 2002 UTC
# Line 3  Line 3 
3   *  XVID MPEG-4 VIDEO CODEC   *  XVID MPEG-4 VIDEO CODEC
4   *  - Custom matrix quantization functions -   *  - Custom matrix quantization functions -
5   *   *
6   *  Copyright(C) 2002 Michael Militzer   *  Copyright(C) 2002 Michael Militzer <isibaar@xvid.org>
7     *               2002 Peter Ross <pross@xvid.org>
8   *   *
9   *  This program is an implementation of a part of one or more MPEG-4   *  This program is an implementation of a part of one or more MPEG-4
10   *  Video tools as specified in ISO/IEC 14496-2 standard.  Those intending   *  Video tools as specified in ISO/IEC 14496-2 standard.  Those intending
# Line 28  Line 29 
29   *  along with this program ; if not, write to the Free Software   *  along with this program ; if not, write to the Free Software
30   *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA   *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
31   *   *
32   *  $Id: quant_matrix.c,v 1.6 2002-09-07 11:14:41 edgomez Exp $   *  $Id: quant_matrix.c,v 1.11 2002-10-19 12:20:33 edgomez Exp $
33   *   *
34   ****************************************************************************/   ****************************************************************************/
35    
# Line 44  Line 45 
45  uint8_t custom_intra_matrix = 0;  uint8_t custom_intra_matrix = 0;
46  uint8_t custom_inter_matrix = 0;  uint8_t custom_inter_matrix = 0;
47    
48  static uint8_t const default_intra_matrix[64] = {  uint8_t default_intra_matrix[64] = {
49          8, 17, 18, 19, 21, 23, 25, 27,          8, 17, 18, 19, 21, 23, 25, 27,
50          17, 18, 19, 21, 23, 25, 27, 28,          17, 18, 19, 21, 23, 25, 27, 28,
51          20, 21, 22, 23, 24, 26, 28, 30,          20, 21, 22, 23, 24, 26, 28, 30,
# Line 55  Line 56 
56          27, 28, 30, 32, 35, 38, 41, 45          27, 28, 30, 32, 35, 38, 41, 45
57  };  };
58    
59  static int16_t intra_matrix[64] = {  int16_t intra_matrix[64] = {
60          8, 17, 18, 19, 21, 23, 25, 27,          8, 17, 18, 19, 21, 23, 25, 27,
61          17, 18, 19, 21, 23, 25, 27, 28,          17, 18, 19, 21, 23, 25, 27, 28,
62          20, 21, 22, 23, 24, 26, 28, 30,          20, 21, 22, 23, 24, 26, 28, 30,
# Line 66  Line 67 
67          27, 28, 30, 32, 35, 38, 41, 45          27, 28, 30, 32, 35, 38, 41, 45
68  };  };
69    
70  static int16_t intra_matrix_fix[64] = {  int16_t intra_matrix_fix[64] = {
71          FIX(8), FIX(17), FIX(18), FIX(19), FIX(21), FIX(23), FIX(25), FIX(27),          FIX(8), FIX(17), FIX(18), FIX(19), FIX(21), FIX(23), FIX(25), FIX(27),
72          FIX(17), FIX(18), FIX(19), FIX(21), FIX(23), FIX(25), FIX(27), FIX(28),          FIX(17), FIX(18), FIX(19), FIX(21), FIX(23), FIX(25), FIX(27), FIX(28),
73          FIX(20), FIX(21), FIX(22), FIX(23), FIX(24), FIX(26), FIX(28), FIX(30),          FIX(20), FIX(21), FIX(22), FIX(23), FIX(24), FIX(26), FIX(28), FIX(30),
# Line 77  Line 78 
78          FIX(27), FIX(28), FIX(30), FIX(32), FIX(35), FIX(38), FIX(41), FIX(45)          FIX(27), FIX(28), FIX(30), FIX(32), FIX(35), FIX(38), FIX(41), FIX(45)
79  };  };
80    
81  static uint8_t const default_inter_matrix[64] = {  uint8_t default_inter_matrix[64] = {
82          16, 17, 18, 19, 20, 21, 22, 23,          16, 17, 18, 19, 20, 21, 22, 23,
83          17, 18, 19, 20, 21, 22, 23, 24,          17, 18, 19, 20, 21, 22, 23, 24,
84          18, 19, 20, 21, 22, 23, 24, 25,          18, 19, 20, 21, 22, 23, 24, 25,
# Line 88  Line 89 
89          23, 24, 25, 27, 28, 30, 31, 33          23, 24, 25, 27, 28, 30, 31, 33
90  };  };
91    
92  static int16_t inter_matrix[64] = {  int16_t inter_matrix[64] = {
93          16, 17, 18, 19, 20, 21, 22, 23,          16, 17, 18, 19, 20, 21, 22, 23,
94          17, 18, 19, 20, 21, 22, 23, 24,          17, 18, 19, 20, 21, 22, 23, 24,
95          18, 19, 20, 21, 22, 23, 24, 25,          18, 19, 20, 21, 22, 23, 24, 25,
# Line 99  Line 100 
100          23, 24, 25, 27, 28, 30, 31, 33          23, 24, 25, 27, 28, 30, 31, 33
101  };  };
102    
103  static int16_t inter_matrix_fix[64] = {  int16_t inter_matrix_fix[64] = {
104          FIX(16), FIX(17), FIX(18), FIX(19), FIX(20), FIX(21), FIX(22), FIX(23),          FIX(16), FIX(17), FIX(18), FIX(19), FIX(20), FIX(21), FIX(22), FIX(23),
105          FIX(17), FIX(18), FIX(19), FIX(20), FIX(21), FIX(22), FIX(23), FIX(24),          FIX(17), FIX(18), FIX(19), FIX(20), FIX(21), FIX(22), FIX(23), FIX(24),
106          FIX(18), FIX(19), FIX(20), FIX(21), FIX(22), FIX(23), FIX(24), FIX(25),          FIX(18), FIX(19), FIX(20), FIX(21), FIX(22), FIX(23), FIX(24), FIX(25),
# Line 178  Line 179 
179                  intra_matrix[i] = (int16_t) matrix[i];                  intra_matrix[i] = (int16_t) matrix[i];
180                  intra_matrix_fix[i] = FIX(intra_matrix[i]);                  intra_matrix_fix[i] = FIX(intra_matrix[i]);
181          }          }
182          return custom_intra_matrix | change;          return /*custom_intra_matrix |*/ change;
183  }  }
184    
185    
# Line 198  Line 199 
199                  inter_matrix[i] = (int16_t) matrix[i];                  inter_matrix[i] = (int16_t) matrix[i];
200                  inter_matrix_fix[i] = FIX(inter_matrix[i]);                  inter_matrix_fix[i] = FIX(inter_matrix[i]);
201          }          }
202          return custom_inter_matrix | change;          return /*custom_inter_matrix |*/ change;
203  }  }

Legend:
Removed from v.441  
changed lines
  Added in v.605

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