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 | 11 |
12 #ifndef VP8_COMMON_INVTRANS_H_ | 12 #ifndef VP8_COMMON_INVTRANS_H_ |
13 #define VP8_COMMON_INVTRANS_H_ | 13 #define VP8_COMMON_INVTRANS_H_ |
14 | 14 |
15 #include "vpx_config.h" | 15 #include "./vpx_config.h" |
16 #include "vp8_rtcd.h" | 16 #include "vp8_rtcd.h" |
17 #include "blockd.h" | 17 #include "blockd.h" |
18 #include "onyxc_int.h" | 18 #include "onyxc_int.h" |
19 | 19 |
20 #if CONFIG_MULTITHREAD | 20 #if CONFIG_MULTITHREAD |
21 #include "vpx_mem/vpx_mem.h" | 21 #include "vpx_mem/vpx_mem.h" |
22 #endif | 22 #endif |
23 | 23 |
24 #ifdef __cplusplus | 24 #ifdef __cplusplus |
25 extern "C" { | 25 extern "C" { |
26 #endif | 26 #endif |
27 | 27 |
28 static void eob_adjust(char *eobs, short *diff) | 28 static void eob_adjust(char *eobs, short *diff) |
29 { | 29 { |
30 /* eob adjust.... the idct can only skip if both the dc and eob are zero */ | 30 /* eob adjust.... the idct can only skip if both the dc and eob are zero */ |
31 int js; | 31 int js; |
32 for(js = 0; js < 16; js++) | 32 for(js = 0; js < 16; js++) |
33 { | 33 { |
34 if((eobs[js] == 0) && (diff[0] != 0)) | 34 if((eobs[js] == 0) && (diff[0] != 0)) |
35 eobs[js]++; | 35 eobs[js]++; |
36 diff+=16; | 36 diff+=16; |
37 } | 37 } |
38 } | 38 } |
39 | 39 |
40 static void vp8_inverse_transform_mby(MACROBLOCKD *xd) | 40 static INLINE void vp8_inverse_transform_mby(MACROBLOCKD *xd) |
41 { | 41 { |
42 short *DQC = xd->dequant_y1; | 42 short *DQC = xd->dequant_y1; |
43 | 43 |
44 if (xd->mode_info_context->mbmi.mode != SPLITMV) | 44 if (xd->mode_info_context->mbmi.mode != SPLITMV) |
45 { | 45 { |
46 /* do 2nd order transform on the dc block */ | 46 /* do 2nd order transform on the dc block */ |
47 if (xd->eobs[24] > 1) | 47 if (xd->eobs[24] > 1) |
48 { | 48 { |
49 vp8_short_inv_walsh4x4 | 49 vp8_short_inv_walsh4x4 |
50 (&xd->block[24].dqcoeff[0], xd->qcoeff); | 50 (&xd->block[24].dqcoeff[0], xd->qcoeff); |
(...skipping 10 matching lines...) Expand all Loading... |
61 vp8_dequant_idct_add_y_block | 61 vp8_dequant_idct_add_y_block |
62 (xd->qcoeff, DQC, | 62 (xd->qcoeff, DQC, |
63 xd->dst.y_buffer, | 63 xd->dst.y_buffer, |
64 xd->dst.y_stride, xd->eobs); | 64 xd->dst.y_stride, xd->eobs); |
65 } | 65 } |
66 #ifdef __cplusplus | 66 #ifdef __cplusplus |
67 } // extern "C" | 67 } // extern "C" |
68 #endif | 68 #endif |
69 | 69 |
70 #endif // VP8_COMMON_INVTRANS_H_ | 70 #endif // VP8_COMMON_INVTRANS_H_ |
OLD | NEW |