| OLD | NEW |
| 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 106 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 117 int stride; | 117 int stride; |
| 118 }; | 118 }; |
| 119 | 119 |
| 120 struct macroblockd_plane { | 120 struct macroblockd_plane { |
| 121 tran_low_t *dqcoeff; | 121 tran_low_t *dqcoeff; |
| 122 PLANE_TYPE plane_type; | 122 PLANE_TYPE plane_type; |
| 123 int subsampling_x; | 123 int subsampling_x; |
| 124 int subsampling_y; | 124 int subsampling_y; |
| 125 struct buf_2d dst; | 125 struct buf_2d dst; |
| 126 struct buf_2d pre[2]; | 126 struct buf_2d pre[2]; |
| 127 const int16_t *dequant; | |
| 128 ENTROPY_CONTEXT *above_context; | 127 ENTROPY_CONTEXT *above_context; |
| 129 ENTROPY_CONTEXT *left_context; | 128 ENTROPY_CONTEXT *left_context; |
| 129 int16_t seg_dequant[MAX_SEGMENTS][2]; |
| 130 |
| 131 // encoder |
| 132 const int16_t *dequant; |
| 130 }; | 133 }; |
| 131 | 134 |
| 132 #define BLOCK_OFFSET(x, i) ((x) + (i) * 16) | 135 #define BLOCK_OFFSET(x, i) ((x) + (i) * 16) |
| 133 | 136 |
| 134 typedef struct RefBuffer { | 137 typedef struct RefBuffer { |
| 135 // TODO(dkovalev): idx is not really required and should be removed, now it | 138 // TODO(dkovalev): idx is not really required and should be removed, now it |
| 136 // is used in vp9_onyxd_if.c | 139 // is used in vp9_onyxd_if.c |
| 137 int idx; | 140 int idx; |
| 138 YV12_BUFFER_CONFIG *buf; | 141 YV12_BUFFER_CONFIG *buf; |
| 139 struct scale_factors sf; | 142 struct scale_factors sf; |
| 140 } RefBuffer; | 143 } RefBuffer; |
| 141 | 144 |
| 142 typedef struct macroblockd { | 145 typedef struct macroblockd { |
| 143 struct macroblockd_plane plane[MAX_MB_PLANE]; | 146 struct macroblockd_plane plane[MAX_MB_PLANE]; |
| 144 | 147 FRAME_COUNTS *counts; |
| 145 int mi_stride; | 148 int mi_stride; |
| 146 | 149 |
| 147 MODE_INFO **mi; | 150 MODE_INFO **mi; |
| 148 MODE_INFO *left_mi; | 151 MODE_INFO *left_mi; |
| 149 MODE_INFO *above_mi; | 152 MODE_INFO *above_mi; |
| 150 MB_MODE_INFO *left_mbmi; | 153 MB_MODE_INFO *left_mbmi; |
| 151 MB_MODE_INFO *above_mbmi; | 154 MB_MODE_INFO *above_mbmi; |
| 152 | 155 |
| 153 int up_available; | 156 int up_available; |
| 154 int left_available; | 157 int left_available; |
| 155 | 158 |
| 156 /* Distance of MB away from frame edges */ | 159 /* Distance of MB away from frame edges */ |
| 157 int mb_to_left_edge; | 160 int mb_to_left_edge; |
| 158 int mb_to_right_edge; | 161 int mb_to_right_edge; |
| 159 int mb_to_top_edge; | 162 int mb_to_top_edge; |
| 160 int mb_to_bottom_edge; | 163 int mb_to_bottom_edge; |
| 161 | 164 |
| 165 FRAME_CONTEXT *fc; |
| 166 int frame_parallel_decoding_mode; |
| 167 |
| 162 /* pointers to reference frames */ | 168 /* pointers to reference frames */ |
| 163 RefBuffer *block_refs[2]; | 169 RefBuffer *block_refs[2]; |
| 164 | 170 |
| 165 /* pointer to current frame */ | 171 /* pointer to current frame */ |
| 166 const YV12_BUFFER_CONFIG *cur_buf; | 172 const YV12_BUFFER_CONFIG *cur_buf; |
| 167 | 173 |
| 168 ENTROPY_CONTEXT *above_context[MAX_MB_PLANE]; | 174 ENTROPY_CONTEXT *above_context[MAX_MB_PLANE]; |
| 169 ENTROPY_CONTEXT left_context[MAX_MB_PLANE][16]; | 175 ENTROPY_CONTEXT left_context[MAX_MB_PLANE][16]; |
| 170 | 176 |
| 171 PARTITION_CONTEXT *above_seg_context; | 177 PARTITION_CONTEXT *above_seg_context; |
| (...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 283 | 289 |
| 284 void vp9_set_contexts(const MACROBLOCKD *xd, struct macroblockd_plane *pd, | 290 void vp9_set_contexts(const MACROBLOCKD *xd, struct macroblockd_plane *pd, |
| 285 BLOCK_SIZE plane_bsize, TX_SIZE tx_size, int has_eob, | 291 BLOCK_SIZE plane_bsize, TX_SIZE tx_size, int has_eob, |
| 286 int aoff, int loff); | 292 int aoff, int loff); |
| 287 | 293 |
| 288 #ifdef __cplusplus | 294 #ifdef __cplusplus |
| 289 } // extern "C" | 295 } // extern "C" |
| 290 #endif | 296 #endif |
| 291 | 297 |
| 292 #endif // VP9_COMMON_VP9_BLOCKD_H_ | 298 #endif // VP9_COMMON_VP9_BLOCKD_H_ |
| OLD | NEW |