Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(796)

Side by Side Diff: source/libvpx/vp8/common/entropy.c

Issue 7671004: Update libvpx snapshot to v0.9.7-p1 (Cayuga). (Closed) Base URL: svn://chrome-svn/chrome/trunk/deps/third_party/libvpx/
Patch Set: '' Created 9 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « source/libvpx/vp8/common/entropy.h ('k') | source/libvpx/vp8/common/entropymode.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2010 The WebM project authors. All Rights Reserved. 2 * Copyright (c) 2010 The WebM project authors. All Rights Reserved.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license 4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source 5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found 6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may 7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree. 8 * be found in the AUTHORS file in the root of the source tree.
9 */ 9 */
10 10
11 11
12 #include <stdio.h> 12 #include <stdio.h>
13 13
14 #include "entropy.h" 14 #include "entropy.h"
15 #include "string.h" 15 #include "string.h"
16 #include "blockd.h" 16 #include "blockd.h"
17 #include "onyxc_int.h" 17 #include "onyxc_int.h"
18 18
19 #define uchar unsigned char /* typedefs can clash */ 19 #define uchar unsigned char /* typedefs can clash */
20 #define uint unsigned int 20 #define uint unsigned int
21 21
22 typedef const uchar cuchar; 22 typedef const uchar cuchar;
23 typedef const uint cuint; 23 typedef const uint cuint;
24 24
25 typedef vp8_prob Prob; 25 typedef vp8_prob Prob;
26 26
27 #include "coefupdateprobs.h" 27 #include "coefupdateprobs.h"
28 28
29 DECLARE_ALIGNED(16, cuchar, vp8_coef_bands[16]) = { 0, 1, 2, 3, 6, 4, 5, 6, 6, 6 , 6, 6, 6, 6, 6, 7}; 29 DECLARE_ALIGNED(16, const unsigned char, vp8_norm[256]) =
30 DECLARE_ALIGNED(16, cuchar, vp8_prev_token_class[MAX_ENTROPY_TOKENS]) = { 0, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0}; 30 {
31 0, 7, 6, 6, 5, 5, 5, 5, 4, 4, 4, 4, 4, 4, 4, 4,
32 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
33 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
34 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
35 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
36 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
37 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
38 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
39 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
40 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
41 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
42 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
43 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
44 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
45 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
46 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
47 };
48
49 DECLARE_ALIGNED(16, cuchar, vp8_coef_bands[16]) =
50 { 0, 1, 2, 3, 6, 4, 5, 6, 6, 6, 6, 6, 6, 6, 6, 7};
51
52 DECLARE_ALIGNED(16, cuchar, vp8_prev_token_class[MAX_ENTROPY_TOKENS]) =
53 { 0, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0};
54
31 DECLARE_ALIGNED(16, const int, vp8_default_zig_zag1d[16]) = 55 DECLARE_ALIGNED(16, const int, vp8_default_zig_zag1d[16]) =
32 { 56 {
33 0, 1, 4, 8, 57 0, 1, 4, 8,
34 5, 2, 3, 6, 58 5, 2, 3, 6,
35 9, 12, 13, 10, 59 9, 12, 13, 10,
36 7, 11, 14, 15, 60 7, 11, 14, 15,
37 }; 61 };
38 62
39 DECLARE_ALIGNED(16, const short, vp8_default_inv_zig_zag[16]) = 63 DECLARE_ALIGNED(16, const short, vp8_default_inv_zig_zag[16]) =
40 { 64 {
(...skipping 17 matching lines...) Expand all
58 8, 12, /* 3 = LOW_VAL */ 82 8, 12, /* 3 = LOW_VAL */
59 -TWO_TOKEN, 10, /* 4 = TWO */ 83 -TWO_TOKEN, 10, /* 4 = TWO */
60 -THREE_TOKEN, -FOUR_TOKEN, /* 5 = THREE */ 84 -THREE_TOKEN, -FOUR_TOKEN, /* 5 = THREE */
61 14, 16, /* 6 = HIGH_LOW */ 85 14, 16, /* 6 = HIGH_LOW */
62 -DCT_VAL_CATEGORY1, -DCT_VAL_CATEGORY2, /* 7 = CAT_ONE */ 86 -DCT_VAL_CATEGORY1, -DCT_VAL_CATEGORY2, /* 7 = CAT_ONE */
63 18, 20, /* 8 = CAT_THREEFOUR */ 87 18, 20, /* 8 = CAT_THREEFOUR */
64 -DCT_VAL_CATEGORY3, -DCT_VAL_CATEGORY4, /* 9 = CAT_THREE */ 88 -DCT_VAL_CATEGORY3, -DCT_VAL_CATEGORY4, /* 9 = CAT_THREE */
65 -DCT_VAL_CATEGORY5, -DCT_VAL_CATEGORY6 /* 10 = CAT_FIVE */ 89 -DCT_VAL_CATEGORY5, -DCT_VAL_CATEGORY6 /* 10 = CAT_FIVE */
66 }; 90 };
67 91
68 struct vp8_token_struct vp8_coef_encodings[vp8_coef_tokens]; 92 struct vp8_token_struct vp8_coef_encodings[MAX_ENTROPY_TOKENS];
69 93
70 /* Trees for extra bits. Probabilities are constant and 94 /* Trees for extra bits. Probabilities are constant and
71 do not depend on previously encoded bits */ 95 do not depend on previously encoded bits */
72 96
73 static const Prob Pcat1[] = { 159}; 97 static const Prob Pcat1[] = { 159};
74 static const Prob Pcat2[] = { 165, 145}; 98 static const Prob Pcat2[] = { 165, 145};
75 static const Prob Pcat3[] = { 173, 148, 140}; 99 static const Prob Pcat3[] = { 173, 148, 140};
76 static const Prob Pcat4[] = { 176, 155, 140, 135}; 100 static const Prob Pcat4[] = { 176, 155, 140, 135};
77 static const Prob Pcat5[] = { 180, 157, 141, 134, 130}; 101 static const Prob Pcat5[] = { 180, 157, 141, 134, 130};
78 static const Prob Pcat6[] = 102 static const Prob Pcat6[] =
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
138 do 162 do
139 { 163 {
140 int i = 0; 164 int i = 0;
141 165
142 do 166 do
143 { 167 {
144 int k = 0; 168 int k = 0;
145 169
146 do 170 do
147 { 171 {
148 unsigned int branch_ct [vp8_coef_tokens-1] [2]; 172 unsigned int branch_ct [ENTROPY_NODES] [2];
149 vp8_tree_probs_from_distribution( 173 vp8_tree_probs_from_distribution(
150 vp8_coef_tokens, vp8_coef_encodings, vp8_coef_tree, 174 MAX_ENTROPY_TOKENS, vp8_coef_encodings, vp8_coef_tree,
151 pc->fc.coef_probs [h][i][k], branch_ct, default_coef_counts [h][i][k], 175 pc->fc.coef_probs[h][i][k],
176 branch_ct,
177 vp8_default_coef_counts[h][i][k],
152 256, 1); 178 256, 1);
153 179
154 } 180 }
155 while (++k < PREV_COEF_CONTEXTS); 181 while (++k < PREV_COEF_CONTEXTS);
156 } 182 }
157 while (++i < COEF_BANDS); 183 while (++i < COEF_BANDS);
158 } 184 }
159 while (++h < BLOCK_TYPES); 185 while (++h < BLOCK_TYPES);
160 } 186 }
161 187
162 188
163 void vp8_coef_tree_initialize() 189 void vp8_coef_tree_initialize()
164 { 190 {
165 init_bit_trees(); 191 init_bit_trees();
166 vp8_tokens_from_tree(vp8_coef_encodings, vp8_coef_tree); 192 vp8_tokens_from_tree(vp8_coef_encodings, vp8_coef_tree);
167 } 193 }
OLDNEW
« no previous file with comments | « source/libvpx/vp8/common/entropy.h ('k') | source/libvpx/vp8/common/entropymode.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698