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 170 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
181 | 181 |
182 .accumulate_eob: | 182 .accumulate_eob: |
183 ; horizontally accumulate/max eobs and write into [eob] memory pointer | 183 ; horizontally accumulate/max eobs and write into [eob] memory pointer |
184 mov r2, eobmp | 184 mov r2, eobmp |
185 pshufd m7, m8, 0xe | 185 pshufd m7, m8, 0xe |
186 pmaxsw m8, m7 | 186 pmaxsw m8, m7 |
187 pshuflw m7, m8, 0xe | 187 pshuflw m7, m8, 0xe |
188 pmaxsw m8, m7 | 188 pmaxsw m8, m7 |
189 pshuflw m7, m8, 0x1 | 189 pshuflw m7, m8, 0x1 |
190 pmaxsw m8, m7 | 190 pmaxsw m8, m7 |
191 pextrw [r2], m8, 0 | 191 pextrw r6, m8, 0 |
| 192 mov [r2], r6 |
192 RET | 193 RET |
193 | 194 |
194 ; skip-block, i.e. just write all zeroes | 195 ; skip-block, i.e. just write all zeroes |
195 .blank: | 196 .blank: |
196 mov r0, dqcoeffmp | 197 mov r0, dqcoeffmp |
197 movifnidn ncoeffq, ncoeffmp | 198 movifnidn ncoeffq, ncoeffmp |
198 mov r2, qcoeffmp | 199 mov r2, qcoeffmp |
199 mov r3, eobmp | 200 mov r3, eobmp |
200 DEFINE_ARGS dqcoeff, ncoeff, qcoeff, eob | 201 DEFINE_ARGS dqcoeff, ncoeff, qcoeff, eob |
201 lea dqcoeffq, [dqcoeffq+ncoeffq*2] | 202 lea dqcoeffq, [dqcoeffq+ncoeffq*2] |
202 lea qcoeffq, [ qcoeffq+ncoeffq*2] | 203 lea qcoeffq, [ qcoeffq+ncoeffq*2] |
203 neg ncoeffq | 204 neg ncoeffq |
204 pxor m7, m7 | 205 pxor m7, m7 |
205 .blank_loop: | 206 .blank_loop: |
206 mova [dqcoeffq+ncoeffq*2+ 0], m7 | 207 mova [dqcoeffq+ncoeffq*2+ 0], m7 |
207 mova [dqcoeffq+ncoeffq*2+16], m7 | 208 mova [dqcoeffq+ncoeffq*2+16], m7 |
208 mova [qcoeffq+ncoeffq*2+ 0], m7 | 209 mova [qcoeffq+ncoeffq*2+ 0], m7 |
209 mova [qcoeffq+ncoeffq*2+16], m7 | 210 mova [qcoeffq+ncoeffq*2+16], m7 |
210 add ncoeffq, mmsize | 211 add ncoeffq, mmsize |
211 jl .blank_loop | 212 jl .blank_loop |
212 mov word [eobq], 0 | 213 mov word [eobq], 0 |
213 RET | 214 RET |
214 %endmacro | 215 %endmacro |
215 | 216 |
216 INIT_XMM ssse3 | 217 INIT_XMM ssse3 |
217 QUANTIZE_FN b, 6 | 218 QUANTIZE_FN b, 7 |
218 QUANTIZE_FN b_32x32, 7 | 219 QUANTIZE_FN b_32x32, 7 |
OLD | NEW |