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 18 matching lines...) Expand all Loading... |
29 // TODO(jingning): this mv clamping function should be block size dependent. | 29 // TODO(jingning): this mv clamping function should be block size dependent. |
30 static void clamp_mv2(MV *mv, const MACROBLOCKD *xd) { | 30 static void clamp_mv2(MV *mv, const MACROBLOCKD *xd) { |
31 clamp_mv(mv, xd->mb_to_left_edge - LEFT_TOP_MARGIN, | 31 clamp_mv(mv, xd->mb_to_left_edge - LEFT_TOP_MARGIN, |
32 xd->mb_to_right_edge + RIGHT_BOTTOM_MARGIN, | 32 xd->mb_to_right_edge + RIGHT_BOTTOM_MARGIN, |
33 xd->mb_to_top_edge - LEFT_TOP_MARGIN, | 33 xd->mb_to_top_edge - LEFT_TOP_MARGIN, |
34 xd->mb_to_bottom_edge + RIGHT_BOTTOM_MARGIN); | 34 xd->mb_to_bottom_edge + RIGHT_BOTTOM_MARGIN); |
35 } | 35 } |
36 | 36 |
37 void vp9_append_sub8x8_mvs_for_idx(VP9_COMMON *cm, MACROBLOCKD *xd, | 37 void vp9_append_sub8x8_mvs_for_idx(VP9_COMMON *cm, MACROBLOCKD *xd, |
38 const TileInfo *const tile, | 38 const TileInfo *const tile, |
39 int_mv *dst_nearest, | 39 int block, int ref, int mi_row, int mi_col, |
40 int_mv *dst_near, | 40 int_mv *nearest, int_mv *near); |
41 int block_idx, int ref_idx, | |
42 int mi_row, int mi_col); | |
43 | |
44 static MB_PREDICTION_MODE left_block_mode(const MODE_INFO *cur_mi, | |
45 const MODE_INFO *left_mi, int b) { | |
46 if (b == 0 || b == 2) { | |
47 if (!left_mi || is_inter_block(&left_mi->mbmi)) | |
48 return DC_PRED; | |
49 | |
50 return left_mi->mbmi.sb_type < BLOCK_8X8 ? left_mi->bmi[b + 1].as_mode | |
51 : left_mi->mbmi.mode; | |
52 } else { | |
53 assert(b == 1 || b == 3); | |
54 return cur_mi->bmi[b - 1].as_mode; | |
55 } | |
56 } | |
57 | |
58 static MB_PREDICTION_MODE above_block_mode(const MODE_INFO *cur_mi, | |
59 const MODE_INFO *above_mi, int b) { | |
60 if (b == 0 || b == 1) { | |
61 if (!above_mi || is_inter_block(&above_mi->mbmi)) | |
62 return DC_PRED; | |
63 | |
64 return above_mi->mbmi.sb_type < BLOCK_8X8 ? above_mi->bmi[b + 2].as_mode | |
65 : above_mi->mbmi.mode; | |
66 } else { | |
67 assert(b == 2 || b == 3); | |
68 return cur_mi->bmi[b - 2].as_mode; | |
69 } | |
70 } | |
71 | 41 |
72 #endif // VP9_COMMON_VP9_FINDNEARMV_H_ | 42 #endif // VP9_COMMON_VP9_FINDNEARMV_H_ |
OLD | NEW |