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

Side by Side Diff: source/libvpx/vp9/encoder/vp9_block.h

Issue 232133009: libvpx: Pull from upstream (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/deps/third_party/libvpx/
Patch Set: Created 6 years, 8 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/vp9/encoder/vp9_bitstream.c ('k') | source/libvpx/vp9/encoder/vp9_cost.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 #ifndef VP9_ENCODER_VP9_BLOCK_H_ 11 #ifndef VP9_ENCODER_VP9_BLOCK_H_
12 #define VP9_ENCODER_VP9_BLOCK_H_ 12 #define VP9_ENCODER_VP9_BLOCK_H_
13 13
14 #include "vp9/common/vp9_onyx.h"
15 #include "vp9/common/vp9_entropymv.h" 14 #include "vp9/common/vp9_entropymv.h"
16 #include "vp9/common/vp9_entropy.h" 15 #include "vp9/common/vp9_entropy.h"
17 #include "vpx_ports/mem.h" 16 #include "vpx_ports/mem.h"
18 #include "vp9/common/vp9_onyxc_int.h" 17 #include "vp9/common/vp9_onyxc_int.h"
19 18
20 #ifdef __cplusplus 19 #ifdef __cplusplus
21 extern "C" { 20 extern "C" {
22 #endif 21 #endif
23 22
24 // motion search site 23 // motion search site
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
109 unsigned int mb_energy; 108 unsigned int mb_energy;
110 unsigned int *mb_activity_ptr; 109 unsigned int *mb_activity_ptr;
111 int *mb_norm_activity_ptr; 110 int *mb_norm_activity_ptr;
112 signed int act_zbin_adj; 111 signed int act_zbin_adj;
113 112
114 int mv_best_ref_index[MAX_REF_FRAMES]; 113 int mv_best_ref_index[MAX_REF_FRAMES];
115 unsigned int max_mv_context[MAX_REF_FRAMES]; 114 unsigned int max_mv_context[MAX_REF_FRAMES];
116 unsigned int source_variance; 115 unsigned int source_variance;
117 unsigned int pred_sse[MAX_REF_FRAMES]; 116 unsigned int pred_sse[MAX_REF_FRAMES];
118 int pred_mv_sad[MAX_REF_FRAMES]; 117 int pred_mv_sad[MAX_REF_FRAMES];
119 int mode_sad[MAX_REF_FRAMES][INTER_MODES + 1];
120 118
121 int nmvjointcost[MV_JOINTS]; 119 int nmvjointcost[MV_JOINTS];
122 int nmvcosts[2][MV_VALS]; 120 int nmvcosts[2][MV_VALS];
123 int *nmvcost[2]; 121 int *nmvcost[2];
124 int nmvcosts_hp[2][MV_VALS]; 122 int nmvcosts_hp[2][MV_VALS];
125 int *nmvcost_hp[2]; 123 int *nmvcost_hp[2];
126 int **mvcost; 124 int **mvcost;
127 125
128 int nmvjointsadcost[MV_JOINTS]; 126 int nmvjointsadcost[MV_JOINTS];
129 int nmvsadcosts[2][MV_VALS]; 127 int nmvsadcosts[2][MV_VALS];
130 int *nmvsadcost[2]; 128 int *nmvsadcost[2];
131 int nmvsadcosts_hp[2][MV_VALS]; 129 int nmvsadcosts_hp[2][MV_VALS];
132 int *nmvsadcost_hp[2]; 130 int *nmvsadcost_hp[2];
133 int **mvsadcost; 131 int **mvsadcost;
134 132
135 int mbmode_cost[MB_MODE_COUNT]; 133 int mbmode_cost[INTRA_MODES];
136 unsigned inter_mode_cost[INTER_MODE_CONTEXTS][INTER_MODES]; 134 unsigned inter_mode_cost[INTER_MODE_CONTEXTS][INTER_MODES];
137 int intra_uv_mode_cost[2][MB_MODE_COUNT]; 135 int intra_uv_mode_cost[FRAME_TYPES][INTRA_MODES];
138 int y_mode_costs[INTRA_MODES][INTRA_MODES][INTRA_MODES]; 136 int y_mode_costs[INTRA_MODES][INTRA_MODES][INTRA_MODES];
139 int switchable_interp_costs[SWITCHABLE_FILTER_CONTEXTS][SWITCHABLE_FILTERS]; 137 int switchable_interp_costs[SWITCHABLE_FILTER_CONTEXTS][SWITCHABLE_FILTERS];
140 138
141 unsigned char sb_index; // index of 32x32 block inside the 64x64 block 139 unsigned char sb_index; // index of 32x32 block inside the 64x64 block
142 unsigned char mb_index; // index of 16x16 block inside the 32x32 block 140 unsigned char mb_index; // index of 16x16 block inside the 32x32 block
143 unsigned char b_index; // index of 8x8 block inside the 16x16 block 141 unsigned char b_index; // index of 8x8 block inside the 16x16 block
144 unsigned char ab_index; // index of 4x4 block inside the 8x8 block 142 unsigned char ab_index; // index of 4x4 block inside the 8x8 block
145 143
146 // These define limits to motion vector components to prevent them 144 // These define limits to motion vector components to prevent them
147 // from extending outside the UMV borders 145 // from extending outside the UMV borders
148 int mv_col_min; 146 int mv_col_min;
149 int mv_col_max; 147 int mv_col_max;
150 int mv_row_min; 148 int mv_row_min;
151 int mv_row_max; 149 int mv_row_max;
152 150
153 uint8_t zcoeff_blk[TX_SIZES][256]; 151 uint8_t zcoeff_blk[TX_SIZES][256];
154 int skip; 152 int skip;
155 153
156 int encode_breakout; 154 int encode_breakout;
157 155
158 unsigned char *active_ptr; 156 int in_active_map;
159 157
160 // note that token_costs is the cost when eob node is skipped 158 // note that token_costs is the cost when eob node is skipped
161 vp9_coeff_cost token_costs[TX_SIZES]; 159 vp9_coeff_cost token_costs[TX_SIZES];
162 DECLARE_ALIGNED(16, uint8_t, token_cache[1024]);
163 160
164 int optimize; 161 int optimize;
165 162
166 // indicate if it is in the rd search loop or encoding process 163 // indicate if it is in the rd search loop or encoding process
167 int use_lp32x32fdct; 164 int use_lp32x32fdct;
168 int skip_encode; 165 int skip_encode;
169 166
170 // Used to store sub partition's choices. 167 // Used to store sub partition's choices.
171 int_mv pred_mv[MAX_REF_FRAMES]; 168 int_mv pred_mv[MAX_REF_FRAMES];
172 169
(...skipping 19 matching lines...) Expand all
192 BLOCK_SIZE mb_partitioning[4][4]; 189 BLOCK_SIZE mb_partitioning[4][4];
193 BLOCK_SIZE sb_partitioning[4]; 190 BLOCK_SIZE sb_partitioning[4];
194 BLOCK_SIZE sb64_partitioning; 191 BLOCK_SIZE sb64_partitioning;
195 192
196 void (*fwd_txm4x4)(const int16_t *input, int16_t *output, int stride); 193 void (*fwd_txm4x4)(const int16_t *input, int16_t *output, int stride);
197 }; 194 };
198 195
199 // TODO(jingning): the variables used here are little complicated. need further 196 // TODO(jingning): the variables used here are little complicated. need further
200 // refactoring on organizing the temporary buffers, when recursive 197 // refactoring on organizing the temporary buffers, when recursive
201 // partition down to 4x4 block size is enabled. 198 // partition down to 4x4 block size is enabled.
202 static PICK_MODE_CONTEXT *get_block_context(MACROBLOCK *x, BLOCK_SIZE bsize) { 199 static INLINE PICK_MODE_CONTEXT *get_block_context(MACROBLOCK *x,
200 BLOCK_SIZE bsize) {
203 switch (bsize) { 201 switch (bsize) {
204 case BLOCK_64X64: 202 case BLOCK_64X64:
205 return &x->sb64_context; 203 return &x->sb64_context;
206 case BLOCK_64X32: 204 case BLOCK_64X32:
207 return &x->sb64x32_context[x->sb_index]; 205 return &x->sb64x32_context[x->sb_index];
208 case BLOCK_32X64: 206 case BLOCK_32X64:
209 return &x->sb32x64_context[x->sb_index]; 207 return &x->sb32x64_context[x->sb_index];
210 case BLOCK_32X32: 208 case BLOCK_32X32:
211 return &x->sb32_context[x->sb_index]; 209 return &x->sb32_context[x->sb_index];
212 case BLOCK_32X16: 210 case BLOCK_32X16:
(...skipping 18 matching lines...) Expand all
231 assert(0); 229 assert(0);
232 return NULL; 230 return NULL;
233 } 231 }
234 } 232 }
235 233
236 #ifdef __cplusplus 234 #ifdef __cplusplus
237 } // extern "C" 235 } // extern "C"
238 #endif 236 #endif
239 237
240 #endif // VP9_ENCODER_VP9_BLOCK_H_ 238 #endif // VP9_ENCODER_VP9_BLOCK_H_
OLDNEW
« no previous file with comments | « source/libvpx/vp9/encoder/vp9_bitstream.c ('k') | source/libvpx/vp9/encoder/vp9_cost.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698