From aaf5f675b356fd29c71c493d0621cf5799ca1d04 Mon Sep 17 00:00:00 2001 From: "fbarchard@google.com" Date: Fri, 24 Feb 2012 10:58:45 +0000 Subject: [PATCH] copyrow for neon but not thumb for cros BUG=none TEST=none Review URL: https://webrtc-codereview.appspot.com/408004 git-svn-id: http://libyuv.googlecode.com/svn/trunk@189 16f28f9a-4ce2-e073-06de-1de4eb20be90 --- README.chromium | 2 +- include/libyuv/scoped_ptr.h | 56 +++++++++++++++++++++---------------- include/libyuv/version.h | 2 +- source/convert_from.cc | 2 +- source/convertfrom.cc | 10 +++++++ source/row.h | 6 +++- 6 files changed, 50 insertions(+), 28 deletions(-) diff --git a/README.chromium b/README.chromium index 938e53b7f..f2870a4f3 100644 --- a/README.chromium +++ b/README.chromium @@ -1,6 +1,6 @@ Name: libyuv URL: http://code.google.com/p/libyuv/ -Version: 188 +Version: 189 License: BSD License File: LICENSE diff --git a/include/libyuv/scoped_ptr.h b/include/libyuv/scoped_ptr.h index 5db0f8233..11324f84d 100644 --- a/include/libyuv/scoped_ptr.h +++ b/include/libyuv/scoped_ptr.h @@ -1,27 +1,35 @@ -// (C) Copyright Greg Colvin and Beman Dawes 1998, 1999. -// Copyright (c) 2001, 2002 Peter Dimov -// -// Permission to copy, use, modify, sell and distribute this software -// is granted provided this copyright notice appears in all copies. -// This software is provided "as is" without express or implied -// warranty, and with no claim as to its suitability for any purpose. -// -// See http://www.boost.org/libs/smart_ptr/scoped_ptr.htm for documentation. -// - -// scoped_ptr mimics a built-in pointer except that it guarantees deletion -// of the object pointed to, either on destruction of the scoped_ptr or via -// an explicit reset(). scoped_ptr is a simple solution for simple needs; -// use shared_ptr or std::auto_ptr if your needs are more complex. - -// scoped_ptr_malloc added in by Google. When one of -// these goes out of scope, instead of doing a delete or delete[], it -// calls free(). scoped_ptr_malloc is likely to see much more -// use than any other specializations. - -// release() added in by Google. Use this to conditionally -// transfer ownership of a heap-allocated object to the caller, usually on -// method success. +/* + * Copyright (c) 2011 The LibYuv project authors. All Rights Reserved. + * Copyright (c) 2001, 2002 Peter Dimov + * Copyright (c) 1998, 1999 Greg Colvin and Beman Dawes + * + * Use of this source code is governed by a BSD-style license + * that can be found in the LICENSE file in the root of the source + * tree. An additional intellectual property rights grant can be found + * in the file PATENTS. All contributing project authors may + * be found in the AUTHORS file in the root of the source tree. + * + * Permission to copy, use, modify, sell and distribute this software + * is granted provided this copyright notice appears in all copies. + * This software is provided "as is" without express or implied + * warranty, and with no claim as to its suitability for any purpose. + * + * See http://www.boost.org/libs/smart_ptr/scoped_ptr.htm for documentation. + * + * scoped_ptr mimics a built-in pointer except that it guarantees deletion + * of the object pointed to, either on destruction of the scoped_ptr or via + * an explicit reset(). scoped_ptr is a simple solution for simple needs; + * use shared_ptr or std::auto_ptr if your needs are more complex. + * + * scoped_ptr_malloc added in by Google. When one of + * these goes out of scope, instead of doing a delete or delete[], it + * calls free(). scoped_ptr_malloc is likely to see much more + * use than any other specializations. + * + * release() added in by Google. Use this to conditionally + * transfer ownership of a heap-allocated object to the caller, usually on + * method success. + */ // TODO(fbarchard): move into source as implementation detail diff --git a/include/libyuv/version.h b/include/libyuv/version.h index 8914f1996..1005874e3 100644 --- a/include/libyuv/version.h +++ b/include/libyuv/version.h @@ -11,7 +11,7 @@ #ifndef INCLUDE_LIBYUV_VERSION_H_ #define INCLUDE_LIBYUV_VERSION_H_ -#define LIBYUV_VERSION 188 +#define LIBYUV_VERSION 189 #endif // INCLUDE_LIBYUV_VERSION_H_ diff --git a/source/convert_from.cc b/source/convert_from.cc index 8102a2d37..5af8eea41 100644 --- a/source/convert_from.cc +++ b/source/convert_from.cc @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011 The LibYuv project authors. All Rights Reserved. + * Copyright (c) 2012 The LibYuv project authors. All Rights Reserved. * * Use of this source code is governed by a BSD-style license * that can be found in the LICENSE file in the root of the source diff --git a/source/convertfrom.cc b/source/convertfrom.cc index d68703627..3b78a44f7 100644 --- a/source/convertfrom.cc +++ b/source/convertfrom.cc @@ -1,3 +1,13 @@ +/* + * Copyright (c) 2012 The LibYuv project authors. All Rights Reserved. + * + * Use of this source code is governed by a BSD-style license + * that can be found in the LICENSE file in the root of the source + * tree. An additional intellectual property rights grant can be found + * in the file PATENTS. All contributing project authors may + * be found in the AUTHORS file in the root of the source tree. + */ + // TODO(fbarchard): Remove once builds have switched to convert_from #include "convert_from.cc" diff --git a/source/row.h b/source/row.h index f90eb2473..db8bfeb3a 100644 --- a/source/row.h +++ b/source/row.h @@ -67,12 +67,16 @@ extern "C" { #if defined(__ARM_NEON__) && !defined(YUV_DISABLE_ASM) #define HAS_MIRRORROW_NEON #define HAS_SPLITUV_NEON -#define HAS_COPYROW_NEON #define HAS_I420TOARGBROW_NEON #define HAS_I420TOBGRAROW_NEON #define HAS_I420TOABGRROW_NEON #endif +// The following are available on Neon platforms +#if defined(__ARM_NEON__) && !defined(__thumb__) && !defined(YUV_DISABLE_ASM) +#define HAS_COPYROW_NEON +#endif + #if defined(_MSC_VER) #define SIMD_ALIGNED(var) __declspec(align(16)) var typedef __declspec(align(16)) signed char vec8[16];