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 |
11 #ifndef VP9_COMMON_VP9_MV_H_ | 11 #ifndef VP9_COMMON_VP9_MV_H_ |
12 #define VP9_COMMON_VP9_MV_H_ | 12 #define VP9_COMMON_VP9_MV_H_ |
13 | 13 |
14 #include "vpx/vpx_integer.h" | 14 #include "vpx/vpx_integer.h" |
15 | 15 |
| 16 #include "vp9/common/vp9_common.h" |
| 17 |
16 typedef struct { | 18 typedef struct { |
17 int16_t row; | 19 int16_t row; |
18 int16_t col; | 20 int16_t col; |
19 } MV; | 21 } MV; |
20 | 22 |
21 typedef union int_mv { | 23 typedef union int_mv { |
22 uint32_t as_int; | 24 uint32_t as_int; |
23 MV as_mv; | 25 MV as_mv; |
24 } int_mv; /* facilitates faster equality tests and copies */ | 26 } int_mv; /* facilitates faster equality tests and copies */ |
25 | 27 |
26 typedef struct { | 28 typedef struct { |
27 int32_t row; | 29 int32_t row; |
28 int32_t col; | 30 int32_t col; |
29 } MV32; | 31 } MV32; |
30 | 32 |
| 33 static void clamp_mv(MV *mv, int min_col, int max_col, |
| 34 int min_row, int max_row) { |
| 35 mv->col = clamp(mv->col, min_col, max_col); |
| 36 mv->row = clamp(mv->row, min_row, max_row); |
| 37 } |
| 38 |
31 #endif // VP9_COMMON_VP9_MV_H_ | 39 #endif // VP9_COMMON_VP9_MV_H_ |
OLD | NEW |