Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(236)

Side by Side Diff: source/libvpx/vp9/common/x86/vp9_idct_intrin_sse2.c

Issue 812033011: libvpx: Pull from upstream (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/deps/third_party/libvpx/
Patch Set: Created 5 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2012 The WebM project authors. All Rights Reserved. 2 * Copyright (c) 2012 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 4242 matching lines...) Expand 10 before | Expand all | Expand 10 after
4253 test = _mm_movemask_epi8(temp1); 4253 test = _mm_movemask_epi8(temp1);
4254 4254
4255 if (!test) { 4255 if (!test) {
4256 // Do the row transform 4256 // Do the row transform
4257 idct8_sse2(inptr); 4257 idct8_sse2(inptr);
4258 4258
4259 // Find the min & max for the column transform 4259 // Find the min & max for the column transform
4260 // N.B. Only first 4 cols contain non-zero coeffs 4260 // N.B. Only first 4 cols contain non-zero coeffs
4261 max_input = _mm_max_epi16(inptr[0], inptr[1]); 4261 max_input = _mm_max_epi16(inptr[0], inptr[1]);
4262 min_input = _mm_min_epi16(inptr[0], inptr[1]); 4262 min_input = _mm_min_epi16(inptr[0], inptr[1]);
4263 for (i = 2; i < 4; i++) { 4263 for (i = 2; i < 8; i++) {
4264 max_input = _mm_max_epi16(max_input, inptr[i]); 4264 max_input = _mm_max_epi16(max_input, inptr[i]);
4265 min_input = _mm_min_epi16(min_input, inptr[i]); 4265 min_input = _mm_min_epi16(min_input, inptr[i]);
4266 } 4266 }
4267 max_input = _mm_cmpgt_epi16(max_input, max); 4267 max_input = _mm_cmpgt_epi16(max_input, max);
4268 min_input = _mm_cmplt_epi16(min_input, min); 4268 min_input = _mm_cmplt_epi16(min_input, min);
4269 temp1 = _mm_or_si128(max_input, min_input); 4269 temp1 = _mm_or_si128(max_input, min_input);
4270 test = _mm_movemask_epi8(temp1); 4270 test = _mm_movemask_epi8(temp1);
4271 4271
4272 if (test) { 4272 if (test) {
4273 // Use fact only first 4 rows contain non-zero coeffs 4273 // Use fact only first 4 rows contain non-zero coeffs
(...skipping 275 matching lines...) Expand 10 before | Expand all | Expand 10 after
4549 vp9_highbd_idct16(temp_in, temp_out, bd); 4549 vp9_highbd_idct16(temp_in, temp_out, bd);
4550 for (j = 0; j < 16; ++j) { 4550 for (j = 0; j < 16; ++j) {
4551 dest[j * stride + i] = highbd_clip_pixel_add( 4551 dest[j * stride + i] = highbd_clip_pixel_add(
4552 dest[j * stride + i], ROUND_POWER_OF_TWO(temp_out[j], 6), bd); 4552 dest[j * stride + i], ROUND_POWER_OF_TWO(temp_out[j], 6), bd);
4553 } 4553 }
4554 } 4554 }
4555 } 4555 }
4556 } 4556 }
4557 4557
4558 #endif // CONFIG_VP9_HIGHBITDEPTH 4558 #endif // CONFIG_VP9_HIGHBITDEPTH
OLDNEW
« no previous file with comments | « source/libvpx/vp9/common/vp9_tile_common.c ('k') | source/libvpx/vp9/common/x86/vp9_loopfilter_mmx.asm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698