commit a083d4533524ee19d429969adf48045f1f518172
parent deccebb8a2881d9280381ac425823078e227f1c7
Author: Updatebot <updatebot@mozilla.com>
Date: Wed, 10 Dec 2025 18:41:20 +0000
Bug 2004759 - Update dav1d to 84792e61c8e28faad16f9b951b5df69f76077661 r=chunmin
Differential Revision: https://phabricator.services.mozilla.com/D275495
Diffstat:
5 files changed, 26 insertions(+), 6 deletions(-)
diff --git a/media/libdav1d/moz.yaml b/media/libdav1d/moz.yaml
@@ -20,11 +20,11 @@ origin:
# Human-readable identifier for this version/release
# Generally "version NNN", "tag SSS", "bookmark SSS"
- release: 6deac59d1ea499c0f486ab823588f53a2c742aa4 (2025-11-07T00:51:38.000+09:00).
+ release: 84792e61c8e28faad16f9b951b5df69f76077661 (2025-11-27T20:49:55.000+00:00).
# Revision to pull in
# Must be a long or short commit SHA (long preferred)
- revision: 6deac59d1ea499c0f486ab823588f53a2c742aa4
+ revision: 84792e61c8e28faad16f9b951b5df69f76077661
# The package's license, where possible using the mnemonic from
# https://spdx.org/licenses/
diff --git a/media/libdav1d/vcs_version.h b/media/libdav1d/vcs_version.h
@@ -1,2 +1,2 @@
/* auto-generated, do not edit */
-#define DAV1D_VERSION "6deac59d1ea499c0f486ab823588f53a2c742aa4"
+#define DAV1D_VERSION "84792e61c8e28faad16f9b951b5df69f76077661"
diff --git a/third_party/dav1d/src/ext/x86/x86inc.asm b/third_party/dav1d/src/ext/x86/x86inc.asm
@@ -43,18 +43,26 @@
%endif
%endif
+%define WIN32 0
%define WIN64 0
%define UNIX64 0
%if ARCH_X86_64
%ifidn __OUTPUT_FORMAT__,win32
+ %define WIN32 1
%define WIN64 1
%elifidn __OUTPUT_FORMAT__,win64
+ %define WIN32 1
%define WIN64 1
%elifidn __OUTPUT_FORMAT__,x64
+ %define WIN32 1
%define WIN64 1
%else
%define UNIX64 1
%endif
+%else
+ %ifidn __OUTPUT_FORMAT__,win32
+ %define WIN32 1
+ %endif
%endif
%define FORMAT_ELF 0
@@ -837,6 +845,11 @@ BRANCH_INSTR jz, je, jnz, jne, jl, jle, jnl, jnle, jg, jge, jng, jnge, ja, jae,
%else
global %2
%endif
+ %if WIN32 && !%1
+ %ifdef BUILDING_DLL
+ export %2
+ %endif
+ %endif
align function_align
%2:
RESET_MM_PERMUTATION ; needed for x86-64, also makes disassembly somewhat nicer
diff --git a/third_party/dav1d/src/mem.h b/third_party/dav1d/src/mem.h
@@ -101,15 +101,22 @@ static inline void *dav1d_alloc_aligned_internal(const size_t sz, const size_t a
// must be an integral multiple of alignment.
return aligned_alloc(align, ROUND_UP(sz, align));
#else
-#error No aligned allocation functions are available
+ void *const buf = malloc(sz + align + sizeof(void *));
+ if (!buf) return NULL;
+
+ void *const ptr = (void *)(((uintptr_t)buf + sizeof(void *) + align - 1) & ~(align - 1));
+ ((void **)ptr)[-1] = buf;
+ return ptr;
#endif
}
static inline void dav1d_free_aligned_internal(void *ptr) {
#ifdef _WIN32
_aligned_free(ptr);
-#else
+#elif HAVE_POSIX_MEMALIGN || HAVE_MEMALIGN || HAVE_ALIGNED_ALLOC
free(ptr);
+#else
+ if (ptr) free(((void **)ptr)[-1]);
#endif
}
diff --git a/third_party/dav1d/tests/seek_stress.c b/third_party/dav1d/tests/seek_stress.c
@@ -62,7 +62,7 @@ static unsigned get_seed(void) {
return (unsigned) mach_absolute_time();
#elif HAVE_CLOCK_GETTIME
struct timespec ts;
- clock_gettime(CLOCK_MONOTONIC, &ts);
+ clock_gettime(CLOCK_REALTIME, &ts);
return (unsigned) (1000000000ULL * ts.tv_sec + ts.tv_nsec);
#endif
}