Merge commit '64034849dad8410bedbe1def4c533490fb85cc4a'
authorHendrik Leppkes <h.leppkes@gmail.com>
Sat, 2 Jan 2016 09:25:55 +0000 (10:25 +0100)
committerHendrik Leppkes <h.leppkes@gmail.com>
Sat, 2 Jan 2016 09:26:42 +0000 (10:26 +0100)
* commit '64034849dad8410bedbe1def4c533490fb85cc4a':
  arm64: add cycle counter support

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
1  2 
libavutil/aarch64/timer.h
libavutil/timer.h

index 0000000,382cfd9..b570039
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,44 +1,44 @@@
 - * This file is part of Libav.
+ /*
+  * Copyright (c) 2015 Janne Grunau <janne-libav@jannau.net>
+  *
 - * Libav is free software; you can redistribute it and/or
++ * This file is part of FFmpeg.
+  *
 - * Libav is distributed in the hope that it will be useful,
++ * FFmpeg is free software; you can redistribute it and/or
+  * modify it under the terms of the GNU Lesser General Public
+  * License as published by the Free Software Foundation; either
+  * version 2.1 of the License, or (at your option) any later version.
+  *
 - * License along with Libav; if not, write to the Free Software
++ * FFmpeg is distributed in the hope that it will be useful,
+  * but WITHOUT ANY WARRANTY; without even the implied warranty of
+  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+  * Lesser General Public License for more details.
+  *
+  * You should have received a copy of the GNU Lesser General Public
++ * License along with FFmpeg; if not, write to the Free Software
+  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+  */
+ #ifndef AVUTIL_AARCH64_TIMER_H
+ #define AVUTIL_AARCH64_TIMER_H
+ #include <stdint.h>
+ #include "config.h"
+ #if HAVE_INLINE_ASM
+ #define AV_READ_TIME read_time
+ static inline uint64_t read_time(void)
+ {
+     uint64_t cycle_counter;
+     __asm__ volatile(
+         "isb                   \t\n"
+         "mrs %0, pmccntr_el0       "
+         : "=r"(cycle_counter) :: "memory" );
+     return cycle_counter;
+ }
+ #endif /* HAVE_INLINE_ASM */
+ #endif /* AVUTIL_AARCH64_TIMER_H */
  
  #include "log.h"
  
- #if   ARCH_ARM
+ #if   ARCH_AARCH64
+ #   include "aarch64/timer.h"
+ #elif ARCH_ARM
  #   include "arm/timer.h"
 -#elif ARCH_BFIN
 -#   include "bfin/timer.h"
  #elif ARCH_PPC
  #   include "ppc/timer.h"
  #elif ARCH_X86