| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (c) 2013 The WebM project authors. All Rights Reserved. | 2 * Copyright (c) 2013 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 14 matching lines...) Expand all Loading... |
| 25 struct scale_factors { | 25 struct scale_factors { |
| 26 int x_scale_fp; // horizontal fixed point scale factor | 26 int x_scale_fp; // horizontal fixed point scale factor |
| 27 int y_scale_fp; // vertical fixed point scale factor | 27 int y_scale_fp; // vertical fixed point scale factor |
| 28 int x_step_q4; | 28 int x_step_q4; |
| 29 int y_step_q4; | 29 int y_step_q4; |
| 30 | 30 |
| 31 int (*scale_value_x)(int val, const struct scale_factors *sf); | 31 int (*scale_value_x)(int val, const struct scale_factors *sf); |
| 32 int (*scale_value_y)(int val, const struct scale_factors *sf); | 32 int (*scale_value_y)(int val, const struct scale_factors *sf); |
| 33 | 33 |
| 34 convolve_fn_t predict[2][2][2]; // horiz, vert, avg | 34 convolve_fn_t predict[2][2][2]; // horiz, vert, avg |
| 35 #if CONFIG_VP9_HIGHBITDEPTH |
| 36 high_convolve_fn_t high_predict[2][2][2]; // horiz, vert, avg |
| 37 #endif |
| 35 }; | 38 }; |
| 36 | 39 |
| 37 MV32 vp9_scale_mv(const MV *mv, int x, int y, const struct scale_factors *sf); | 40 MV32 vp9_scale_mv(const MV *mv, int x, int y, const struct scale_factors *sf); |
| 38 | 41 |
| 42 #if CONFIG_VP9_HIGHBITDEPTH |
| 43 void vp9_setup_scale_factors_for_frame(struct scale_factors *sf, |
| 44 int other_w, int other_h, |
| 45 int this_w, int this_h, |
| 46 int use_high); |
| 47 #else |
| 39 void vp9_setup_scale_factors_for_frame(struct scale_factors *sf, | 48 void vp9_setup_scale_factors_for_frame(struct scale_factors *sf, |
| 40 int other_w, int other_h, | 49 int other_w, int other_h, |
| 41 int this_w, int this_h); | 50 int this_w, int this_h); |
| 51 #endif |
| 42 | 52 |
| 43 static INLINE int vp9_is_valid_scale(const struct scale_factors *sf) { | 53 static INLINE int vp9_is_valid_scale(const struct scale_factors *sf) { |
| 44 return sf->x_scale_fp != REF_INVALID_SCALE && | 54 return sf->x_scale_fp != REF_INVALID_SCALE && |
| 45 sf->y_scale_fp != REF_INVALID_SCALE; | 55 sf->y_scale_fp != REF_INVALID_SCALE; |
| 46 } | 56 } |
| 47 | 57 |
| 48 static INLINE int vp9_is_scaled(const struct scale_factors *sf) { | 58 static INLINE int vp9_is_scaled(const struct scale_factors *sf) { |
| 49 return vp9_is_valid_scale(sf) && | 59 return vp9_is_valid_scale(sf) && |
| 50 (sf->x_scale_fp != REF_NO_SCALE || sf->y_scale_fp != REF_NO_SCALE); | 60 (sf->x_scale_fp != REF_NO_SCALE || sf->y_scale_fp != REF_NO_SCALE); |
| 51 } | 61 } |
| 52 | 62 |
| 53 static INLINE int valid_ref_frame_size(int ref_width, int ref_height, | 63 static INLINE int valid_ref_frame_size(int ref_width, int ref_height, |
| 54 int this_width, int this_height) { | 64 int this_width, int this_height) { |
| 55 return 2 * this_width >= ref_width && | 65 return 2 * this_width >= ref_width && |
| 56 2 * this_height >= ref_height && | 66 2 * this_height >= ref_height && |
| 57 this_width <= 16 * ref_width && | 67 this_width <= 16 * ref_width && |
| 58 this_height <= 16 * ref_height; | 68 this_height <= 16 * ref_height; |
| 59 } | 69 } |
| 60 | 70 |
| 61 #ifdef __cplusplus | 71 #ifdef __cplusplus |
| 62 } // extern "C" | 72 } // extern "C" |
| 63 #endif | 73 #endif |
| 64 | 74 |
| 65 #endif // VP9_COMMON_VP9_SCALE_H_ | 75 #endif // VP9_COMMON_VP9_SCALE_H_ |
| OLD | NEW |