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 11 matching lines...) Expand all Loading... |
22 #endif | 22 #endif |
23 | 23 |
24 // Constants and Macros used by all idct/dct functions | 24 // Constants and Macros used by all idct/dct functions |
25 #define DCT_CONST_BITS 14 | 25 #define DCT_CONST_BITS 14 |
26 #define DCT_CONST_ROUNDING (1 << (DCT_CONST_BITS - 1)) | 26 #define DCT_CONST_ROUNDING (1 << (DCT_CONST_BITS - 1)) |
27 | 27 |
28 #define UNIT_QUANT_SHIFT 2 | 28 #define UNIT_QUANT_SHIFT 2 |
29 #define UNIT_QUANT_FACTOR (1 << UNIT_QUANT_SHIFT) | 29 #define UNIT_QUANT_FACTOR (1 << UNIT_QUANT_SHIFT) |
30 | 30 |
31 #define pair_set_epi16(a, b) \ | 31 #define pair_set_epi16(a, b) \ |
32 _mm_set_epi16(b, a, b, a, b, a, b, a) | 32 _mm_set_epi16((int16_t)(b), (int16_t)(a), (int16_t)(b), (int16_t)(a), \ |
| 33 (int16_t)(b), (int16_t)(a), (int16_t)(b), (int16_t)(a)) |
33 | 34 |
34 #define dual_set_epi16(a, b) \ | 35 #define dual_set_epi16(a, b) \ |
35 _mm_set_epi16(b, b, b, b, a, a, a, a) | 36 _mm_set_epi16((int16_t)(b), (int16_t)(b), (int16_t)(b), (int16_t)(b), \ |
| 37 (int16_t)(a), (int16_t)(a), (int16_t)(a), (int16_t)(a)) |
36 | 38 |
37 // Constants: | 39 // Constants: |
38 // for (int i = 1; i< 32; ++i) | 40 // for (int i = 1; i< 32; ++i) |
39 // printf("static const int cospi_%d_64 = %.0f;\n", i, | 41 // printf("static const int cospi_%d_64 = %.0f;\n", i, |
40 // round(16384 * cos(i*M_PI/64))); | 42 // round(16384 * cos(i*M_PI/64))); |
41 // Note: sin(k*Pi/64) = cos((32-k)*Pi/64) | 43 // Note: sin(k*Pi/64) = cos((32-k)*Pi/64) |
42 static const tran_high_t cospi_1_64 = 16364; | 44 static const tran_high_t cospi_1_64 = 16364; |
43 static const tran_high_t cospi_2_64 = 16305; | 45 static const tran_high_t cospi_2_64 = 16305; |
44 static const tran_high_t cospi_3_64 = 16207; | 46 static const tran_high_t cospi_3_64 = 16207; |
45 static const tran_high_t cospi_4_64 = 16069; | 47 static const tran_high_t cospi_4_64 = 16069; |
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
150 void vp9_highbd_iht8x8_add(TX_TYPE tx_type, const tran_low_t *input, | 152 void vp9_highbd_iht8x8_add(TX_TYPE tx_type, const tran_low_t *input, |
151 uint8_t *dest, int stride, int eob, int bd); | 153 uint8_t *dest, int stride, int eob, int bd); |
152 void vp9_highbd_iht16x16_add(TX_TYPE tx_type, const tran_low_t *input, | 154 void vp9_highbd_iht16x16_add(TX_TYPE tx_type, const tran_low_t *input, |
153 uint8_t *dest, int stride, int eob, int bd); | 155 uint8_t *dest, int stride, int eob, int bd); |
154 #endif // CONFIG_VP9_HIGHBITDEPTH | 156 #endif // CONFIG_VP9_HIGHBITDEPTH |
155 #ifdef __cplusplus | 157 #ifdef __cplusplus |
156 } // extern "C" | 158 } // extern "C" |
157 #endif | 159 #endif |
158 | 160 |
159 #endif // VP9_COMMON_VP9_IDCT_H_ | 161 #endif // VP9_COMMON_VP9_IDCT_H_ |
OLD | NEW |