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 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
65 for (i = 16; i < 24; i++) { | 65 for (i = 16; i < 24; i++) { |
66 vp9_inverse_transform_b_4x4(xd, i, 16); | 66 vp9_inverse_transform_b_4x4(xd, i, 16); |
67 } | 67 } |
68 } | 68 } |
69 | 69 |
70 void vp9_inverse_transform_mb_4x4(MACROBLOCKD *xd) { | 70 void vp9_inverse_transform_mb_4x4(MACROBLOCKD *xd) { |
71 vp9_inverse_transform_mby_4x4(xd); | 71 vp9_inverse_transform_mby_4x4(xd); |
72 vp9_inverse_transform_mbuv_4x4(xd); | 72 vp9_inverse_transform_mbuv_4x4(xd); |
73 } | 73 } |
74 | 74 |
75 void vp9_inverse_transform_b_8x8(short *input_dqcoeff, short *output_coeff, | 75 void vp9_inverse_transform_b_8x8(int16_t *input_dqcoeff, int16_t *output_coeff, |
76 int pitch) { | 76 int pitch) { |
77 vp9_short_idct8x8(input_dqcoeff, output_coeff, pitch); | 77 vp9_short_idct8x8(input_dqcoeff, output_coeff, pitch); |
78 } | 78 } |
79 | 79 |
80 void vp9_inverse_transform_mby_8x8(MACROBLOCKD *xd) { | 80 void vp9_inverse_transform_mby_8x8(MACROBLOCKD *xd) { |
81 int i; | 81 int i; |
82 BLOCKD *blockd = xd->block; | 82 BLOCKD *blockd = xd->block; |
83 int has_2nd_order = get_2nd_order_usage(xd); | 83 int has_2nd_order = get_2nd_order_usage(xd); |
84 | 84 |
85 if (has_2nd_order) { | 85 if (has_2nd_order) { |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
118 vp9_inverse_transform_b_8x8(&blockd[i].dqcoeff[0], | 118 vp9_inverse_transform_b_8x8(&blockd[i].dqcoeff[0], |
119 &blockd[i].diff[0], 16); | 119 &blockd[i].diff[0], 16); |
120 } | 120 } |
121 } | 121 } |
122 | 122 |
123 void vp9_inverse_transform_mb_8x8(MACROBLOCKD *xd) { | 123 void vp9_inverse_transform_mb_8x8(MACROBLOCKD *xd) { |
124 vp9_inverse_transform_mby_8x8(xd); | 124 vp9_inverse_transform_mby_8x8(xd); |
125 vp9_inverse_transform_mbuv_8x8(xd); | 125 vp9_inverse_transform_mbuv_8x8(xd); |
126 } | 126 } |
127 | 127 |
128 void vp9_inverse_transform_b_16x16(short *input_dqcoeff, | 128 void vp9_inverse_transform_b_16x16(int16_t *input_dqcoeff, |
129 short *output_coeff, int pitch) { | 129 int16_t *output_coeff, int pitch) { |
130 vp9_short_idct16x16(input_dqcoeff, output_coeff, pitch); | 130 vp9_short_idct16x16(input_dqcoeff, output_coeff, pitch); |
131 } | 131 } |
132 | 132 |
133 void vp9_inverse_transform_mby_16x16(MACROBLOCKD *xd) { | 133 void vp9_inverse_transform_mby_16x16(MACROBLOCKD *xd) { |
134 BLOCKD *bd = &xd->block[0]; | 134 BLOCKD *bd = &xd->block[0]; |
135 TX_TYPE tx_type = get_tx_type_16x16(xd, bd); | 135 TX_TYPE tx_type = get_tx_type_16x16(xd, bd); |
136 if (tx_type != DCT_DCT) { | 136 if (tx_type != DCT_DCT) { |
137 vp9_ihtllm(bd->dqcoeff, bd->diff, 32, tx_type, 16, bd->eob); | 137 vp9_ihtllm(bd->dqcoeff, bd->diff, 32, tx_type, 16, bd->eob); |
138 } else { | 138 } else { |
139 vp9_inverse_transform_b_16x16(&xd->block[0].dqcoeff[0], | 139 vp9_inverse_transform_b_16x16(&xd->block[0].dqcoeff[0], |
140 &xd->block[0].diff[0], 32); | 140 &xd->block[0].diff[0], 32); |
141 } | 141 } |
142 } | 142 } |
143 | 143 |
144 void vp9_inverse_transform_mb_16x16(MACROBLOCKD *xd) { | 144 void vp9_inverse_transform_mb_16x16(MACROBLOCKD *xd) { |
145 vp9_inverse_transform_mby_16x16(xd); | 145 vp9_inverse_transform_mby_16x16(xd); |
146 vp9_inverse_transform_mbuv_8x8(xd); | 146 vp9_inverse_transform_mbuv_8x8(xd); |
147 } | 147 } |
| 148 |
| 149 void vp9_inverse_transform_sby_32x32(SUPERBLOCKD *xd_sb) { |
| 150 vp9_short_idct32x32(xd_sb->dqcoeff, xd_sb->diff, 64); |
| 151 } |
| 152 |
| 153 void vp9_inverse_transform_sbuv_16x16(SUPERBLOCKD *xd_sb) { |
| 154 vp9_inverse_transform_b_16x16(xd_sb->dqcoeff + 1024, |
| 155 xd_sb->diff + 1024, 32); |
| 156 vp9_inverse_transform_b_16x16(xd_sb->dqcoeff + 1280, |
| 157 xd_sb->diff + 1280, 32); |
| 158 } |
OLD | NEW |