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

Side by Side Diff: source/libvpx/vp9/common/vp9_blockd.h

Issue 812033011: libvpx: Pull from upstream (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/deps/third_party/libvpx/
Patch Set: Created 5 years, 11 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/common/vp9_alloccommon.c ('k') | source/libvpx/vp9/common/vp9_entropy.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
(...skipping 174 matching lines...) Expand 10 before | Expand all | Expand 10 after
185 YV12_BUFFER_CONFIG *buf; 185 YV12_BUFFER_CONFIG *buf;
186 struct scale_factors sf; 186 struct scale_factors sf;
187 } RefBuffer; 187 } RefBuffer;
188 188
189 typedef struct macroblockd { 189 typedef struct macroblockd {
190 struct macroblockd_plane plane[MAX_MB_PLANE]; 190 struct macroblockd_plane plane[MAX_MB_PLANE];
191 191
192 int mi_stride; 192 int mi_stride;
193 193
194 MODE_INFO *mi; 194 MODE_INFO *mi;
195 MODE_INFO *left_mi;
196 MODE_INFO *above_mi;
197 MB_MODE_INFO *left_mbmi;
198 MB_MODE_INFO *above_mbmi;
195 199
196 int up_available; 200 int up_available;
197 int left_available; 201 int left_available;
198 202
199 /* Distance of MB away from frame edges */ 203 /* Distance of MB away from frame edges */
200 int mb_to_left_edge; 204 int mb_to_left_edge;
201 int mb_to_right_edge; 205 int mb_to_right_edge;
202 int mb_to_top_edge; 206 int mb_to_top_edge;
203 int mb_to_bottom_edge; 207 int mb_to_bottom_edge;
204 208
205 /* pointers to reference frames */ 209 /* pointers to reference frames */
206 RefBuffer *block_refs[2]; 210 RefBuffer *block_refs[2];
207 211
208 /* pointer to current frame */ 212 /* pointer to current frame */
209 const YV12_BUFFER_CONFIG *cur_buf; 213 const YV12_BUFFER_CONFIG *cur_buf;
210 214
215 ENTROPY_CONTEXT *above_context[MAX_MB_PLANE];
216 ENTROPY_CONTEXT left_context[MAX_MB_PLANE][16];
217
218 PARTITION_CONTEXT *above_seg_context;
219 PARTITION_CONTEXT left_seg_context[8];
220
211 /* mc buffer */ 221 /* mc buffer */
212 DECLARE_ALIGNED(16, uint8_t, mc_buf[80 * 2 * 80 * 2]); 222 DECLARE_ALIGNED(16, uint8_t, mc_buf[80 * 2 * 80 * 2]);
213 223
214 #if CONFIG_VP9_HIGHBITDEPTH 224 #if CONFIG_VP9_HIGHBITDEPTH
215 /* Bit depth: 8, 10, 12 */ 225 /* Bit depth: 8, 10, 12 */
216 int bd; 226 int bd;
217 DECLARE_ALIGNED(16, uint16_t, mc_buf_high[80 * 2 * 80 * 2]); 227 DECLARE_ALIGNED(16, uint16_t, mc_buf_high[80 * 2 * 80 * 2]);
218 #endif 228 #endif
219 229
230 /* dqcoeff are shared by all the planes. So planes must be decoded serially */
231 DECLARE_ALIGNED(16, tran_low_t, dqcoeff[64 * 64]);
232
220 int lossless; 233 int lossless;
221
222 int corrupted; 234 int corrupted;
223 235
224 DECLARE_ALIGNED(16, tran_low_t, dqcoeff[MAX_MB_PLANE][64 * 64]); 236 struct vpx_internal_error_info *error_info;
225
226 ENTROPY_CONTEXT *above_context[MAX_MB_PLANE];
227 ENTROPY_CONTEXT left_context[MAX_MB_PLANE][16];
228
229 PARTITION_CONTEXT *above_seg_context;
230 PARTITION_CONTEXT left_seg_context[8];
231 } MACROBLOCKD; 237 } MACROBLOCKD;
232 238
233 static INLINE BLOCK_SIZE get_subsize(BLOCK_SIZE bsize, 239 static INLINE BLOCK_SIZE get_subsize(BLOCK_SIZE bsize,
234 PARTITION_TYPE partition) { 240 PARTITION_TYPE partition) {
235 return subsize_lookup[partition][bsize]; 241 return subsize_lookup[partition][bsize];
236 } 242 }
237 243
238 extern const TX_TYPE intra_mode_to_tx_type_lookup[INTRA_MODES]; 244 extern const TX_TYPE intra_mode_to_tx_type_lookup[INTRA_MODES];
239 245
240 static INLINE TX_TYPE get_tx_type(PLANE_TYPE plane_type, 246 static INLINE TX_TYPE get_tx_type(PLANE_TYPE plane_type,
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
307 313
308 void vp9_set_contexts(const MACROBLOCKD *xd, struct macroblockd_plane *pd, 314 void vp9_set_contexts(const MACROBLOCKD *xd, struct macroblockd_plane *pd,
309 BLOCK_SIZE plane_bsize, TX_SIZE tx_size, int has_eob, 315 BLOCK_SIZE plane_bsize, TX_SIZE tx_size, int has_eob,
310 int aoff, int loff); 316 int aoff, int loff);
311 317
312 #ifdef __cplusplus 318 #ifdef __cplusplus
313 } // extern "C" 319 } // extern "C"
314 #endif 320 #endif
315 321
316 #endif // VP9_COMMON_VP9_BLOCKD_H_ 322 #endif // VP9_COMMON_VP9_BLOCKD_H_
OLDNEW
« no previous file with comments | « source/libvpx/vp9/common/vp9_alloccommon.c ('k') | source/libvpx/vp9/common/vp9_entropy.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698