From patchwork Fri Feb 12 10:32:56 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: =?utf-8?q?Martin_Storsj=C3=B6?= X-Patchwork-Id: 25596 Return-Path: X-Original-To: patchwork@ffaux-bg.ffmpeg.org Delivered-To: patchwork@ffaux-bg.ffmpeg.org Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by ffaux.localdomain (Postfix) with ESMTP id D642C44990B for ; Fri, 12 Feb 2021 12:41:26 +0200 (EET) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id AFBDE68AA53; Fri, 12 Feb 2021 12:41:26 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-lf1-f50.google.com (mail-lf1-f50.google.com [209.85.167.50]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 729E268A994 for ; Fri, 12 Feb 2021 12:41:20 +0200 (EET) Received: by mail-lf1-f50.google.com with SMTP id v5so12357712lft.13 for ; Fri, 12 Feb 2021 02:41:20 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=martin-st.20150623.gappssmtp.com; s=20150623; h=from:to:subject:date:message-id:mime-version :content-transfer-encoding; bh=iQzZH1DPX9cIZBdSBtSHAsWcRgxH2D4Vcsp0i5hYWg8=; b=ERnb6lTsysSGEJabZg5aPrllwetYGKAlcZiZRyg4hEi1biYWUwTVW8I7XxkKjuOfH+ sBxBTc59t7VrF53aeFdUxIse/lf7HPGR5kPFCVy+x/31TfUsoKNzQ159EYJAsXJOxBwf IkROrzxXUdQ39N4Huits/5Ywq8WYzPc4KsoRm1/edz/8E43deJkUNUXPOjrmMfOpsoMK 6M8PdGtbkO0bD+gJkpkspfhgqVuwG+sAAcvXUjrJKolbcCzAEvH5ozXOwk/0GwqpsQ3f Qz5lKtvl+n+Pycb5iATbR8LVew8qmFmjbUoKWS/7vrNg1mkcgoO+P0a0cYGOHdga3nze 6ukg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:mime-version :content-transfer-encoding; bh=iQzZH1DPX9cIZBdSBtSHAsWcRgxH2D4Vcsp0i5hYWg8=; b=qf2xRcGMPYVgytrUgHAJvbIAARb1RkBiwaqFKvBcq1kIcXOmrk6ZEeSNfYA+DwKiJF omeZ8AZiHhZ9PJNN06OnpyHfdXplP6BRsBMKj1gnOewSA3frjIFdmvyZFWtcuAVcaFta x3btHN+qL2G8lCHuUfZXy1vlNkxsRehJ0u+QmdTuhJCUrSLR8y1RRj5Cgft7iOq+/86+ HvBPIkRXMCfibEk/jmvvvouGwMczQ/sWFctt6X4EdnoHa0p2qjXovV915iNwtP74qQqJ VHLn5dlybatFXayozPVuNnQu0UKrg0AKzb1pvQVnKRsCQzY3uSnJbxgM3/EdljpZMmrZ +jrA== X-Gm-Message-State: AOAM532+iiML6/2znOGzzIONZNj0PUP03LpofXrwldxQ/bUGEHF4STcT S/k4uMqTeGpzPcx9O1yFOt9vv96SnNZiEENU X-Google-Smtp-Source: ABdhPJxzhjU/pdbGPjgLTrRdKQT4svYTBhCfVTDzZly4N36H6LU2NtzxzNlXpRoXtG3UM8hVWztSsw== X-Received: by 2002:a05:6512:2242:: with SMTP id i2mr1247820lfu.211.1613125978016; Fri, 12 Feb 2021 02:32:58 -0800 (PST) Received: from localhost.localdomain (dsl-tkubng21-58c01c-243.dhcp.inet.fi. [88.192.28.243]) by smtp.gmail.com with ESMTPSA id j23sm931361lfm.192.2021.02.12.02.32.57 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 12 Feb 2021 02:32:57 -0800 (PST) From: =?utf-8?q?Martin_Storsj=C3=B6?= To: ffmpeg-devel@ffmpeg.org Date: Fri, 12 Feb 2021 12:32:56 +0200 Message-Id: <20210212103256.2317142-1-martin@martin.st> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH] arm/aarch64: Use mach_absolute_time as timer on apple platforms X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" This is much less precise than the cycle counter register, but the cycle counter register is not available on apple platforms (and on linux, it requires a kernel module for allowing user mode access). --- libavutil/aarch64/timer.h | 8 +++++++- libavutil/arm/timer.h | 8 +++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/libavutil/aarch64/timer.h b/libavutil/aarch64/timer.h index b570039416..8b28fd354c 100644 --- a/libavutil/aarch64/timer.h +++ b/libavutil/aarch64/timer.h @@ -24,7 +24,13 @@ #include #include "config.h" -#if HAVE_INLINE_ASM +#if defined(__APPLE__) + +#include + +#define AV_READ_TIME mach_absolute_time + +#elif HAVE_INLINE_ASM #define AV_READ_TIME read_time diff --git a/libavutil/arm/timer.h b/libavutil/arm/timer.h index 5e8bc8edd0..caf23e2a5a 100644 --- a/libavutil/arm/timer.h +++ b/libavutil/arm/timer.h @@ -24,7 +24,13 @@ #include #include "config.h" -#if HAVE_INLINE_ASM && defined(__ARM_ARCH_7A__) +#if defined(__APPLE__) + +#include + +#define AV_READ_TIME mach_absolute_time + +#elif HAVE_INLINE_ASM && defined(__ARM_ARCH_7A__) #define AV_READ_TIME read_time