tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

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:
Mmedia/libdav1d/moz.yaml | 4++--
Mmedia/libdav1d/vcs_version.h | 2+-
Mthird_party/dav1d/src/ext/x86/x86inc.asm | 13+++++++++++++
Mthird_party/dav1d/src/mem.h | 11+++++++++--
Mthird_party/dav1d/tests/seek_stress.c | 2+-
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 }