From 34fb5b8946e7a30879aaa3df9afefb554a5cd1ff Mon Sep 17 00:00:00 2001 From: Basilisk-Dev Date: Thu, 8 Jan 2026 13:09:08 -0500 Subject: [PATCH] MoonchildProductions/UXP#2897: Undo mistakenly overwritten file in libavutil --- media/ffvpx/libavutil/timer.h | 117 ++++------------------------------ 1 file changed, 11 insertions(+), 106 deletions(-) diff --git a/media/ffvpx/libavutil/timer.h b/media/ffvpx/libavutil/timer.h index 100ccf924a..b8c44f6eb2 100644 --- a/media/ffvpx/libavutil/timer.h +++ b/media/ffvpx/libavutil/timer.h @@ -1,6 +1,5 @@ /* - * Copyright (c) 2023 Loongson Technology Corporation Limited - * Contributed by Hecai Yuan + * copyright (c) 2006 Michael Niedermayer * * This file is part of FFmpeg. * @@ -19,109 +18,20 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ -#ifndef AVUTIL_LOONGARCH_TIMER_H -#define AVUTIL_LOONGARCH_TIMER_H +/** + * @file + * high precision timer, useful to profile code + */ + +#ifndef AVUTIL_TIMER_H +#define AVUTIL_TIMER_H -#include #include "config.h" #if HAVE_INLINE_ASM #define AV_READ_TIME read_time -<<<<<<< HEAD -#if HAVE_MACH_MACH_TIME_H -#include -#endif - -#include "log.h" - -#if ARCH_AARCH64 -# include "aarch64/timer.h" -#elif ARCH_ARM -# include "arm/timer.h" -#elif ARCH_PPC -# include "ppc/timer.h" -#elif ARCH_X86 -# include "x86/timer.h" -#endif - -#if !defined(AV_READ_TIME) -# if HAVE_GETHRTIME -# define AV_READ_TIME gethrtime -# elif HAVE_MACH_ABSOLUTE_TIME -# define AV_READ_TIME mach_absolute_time -# endif -#endif - -#ifndef FF_TIMER_UNITS -# define FF_TIMER_UNITS "UNITS" -#endif - -#define TIMER_REPORT(id, tdiff) \ - { \ - static uint64_t tsum = 0; \ - static int tcount = 0; \ - static int tskip_count = 0; \ - static int thistogram[32] = {0}; \ - thistogram[av_log2(tdiff)]++; \ - if (tcount < 2 || \ - (tdiff) < 8 * tsum / tcount || \ - (tdiff) < 2000) { \ - tsum += (tdiff); \ - tcount++; \ - } else \ - tskip_count++; \ - if (((tcount + tskip_count) & (tcount + tskip_count - 1)) == 0) { \ - int i; \ - av_log(NULL, AV_LOG_ERROR, \ - "%7"PRIu64" " FF_TIMER_UNITS " in %s,%8d runs,%7d skips", \ - tsum * 10 / tcount, id, tcount, tskip_count); \ - for (i = 0; i < 32; i++) \ - av_log(NULL, AV_LOG_VERBOSE, " %2d", av_log2(2*thistogram[i]));\ - av_log(NULL, AV_LOG_ERROR, "\n"); \ - } \ - } - -#if CONFIG_LINUX_PERF - -#define START_TIMER \ - static int linux_perf_fd; \ - uint64_t tperf; \ - if (!linux_perf_fd) { \ - struct perf_event_attr attr = { \ - .type = PERF_TYPE_HARDWARE, \ - .size = sizeof(struct perf_event_attr), \ - .config = PERF_COUNT_HW_CPU_CYCLES, \ - .disabled = 1, \ - .exclude_kernel = 1, \ - .exclude_hv = 1, \ - }; \ - linux_perf_fd = syscall(__NR_perf_event_open, &attr, \ - 0, -1, -1, 0); \ - } \ - if (linux_perf_fd == -1) { \ - av_log(NULL, AV_LOG_ERROR, "perf_event_open failed: %s\n", \ - av_err2str(AVERROR(errno))); \ - } else { \ - ioctl(linux_perf_fd, PERF_EVENT_IOC_RESET, 0); \ - ioctl(linux_perf_fd, PERF_EVENT_IOC_ENABLE, 0); \ - } - -#define STOP_TIMER(id) \ - ioctl(linux_perf_fd, PERF_EVENT_IOC_DISABLE, 0); \ - read(linux_perf_fd, &tperf, sizeof(tperf)); \ - TIMER_REPORT(id, tperf) - -#elif defined(AV_READ_TIME) -#define START_TIMER \ - uint64_t tend; \ - uint64_t tstart = AV_READ_TIME(); \ - -#define STOP_TIMER(id) \ - tend = AV_READ_TIME(); \ - TIMER_REPORT(id, tend - tstart) -======= static inline uint64_t read_time(void) { @@ -129,14 +39,9 @@ static inline uint64_t read_time(void) uint64_t a, id; __asm__ volatile ( "rdtime.d %0, %1" : "=r"(a), "=r"(id) :: ); return a; ->>>>>>> fb438829b5 (MoonchildProductions/UXP#2897: Fix ffvpx build on loongarch64) #else - uint32_t a, id; - __asm__ volatile ( "rdtimel.w %0, %1" : "=r"(a), "=r"(id) :: ); - return (uint64_t)a; +#define START_TIMER +#define STOP_TIMER(id) { } #endif -} -#endif /* HAVE_INLINE_ASM */ - -#endif /* AVUTIL_LOONGARCH_TIMER_H */ +#endif /* AVUTIL_TIMER_H */