This is an automated email from the git hooks/post-receive script.

Git pushed a commit to branch master
in repository ffmpeg.

commit b3bcd320f5f9f66d587871ebe2eb63d3c1fe3d9f
Author:     Martin Storsjö <[email protected]>
AuthorDate: Tue Jun 9 20:57:50 2026 +0300
Commit:     Martin Storsjö <[email protected]>
CommitDate: Tue Jun 9 20:57:50 2026 +0300

    Squashed 'tests/checkasm/ext/' changes from 0df02535c7..e13b0bb3ff
    
    e13b0bb3ff x86: Skip the vzeroupper checks when built with MSVC
    3cbf066c51 longjmp: Use raw arch defines for checking for x86_32
    54817bd68f include: Fix a mismatched include guard comment
    162f15c861 github: Build the UWP job as WINAPI_FAMILY_PHONE_APP
    34d920e8bb arm/cpu: Avoid the Windows registry API in UWP builds
    9a0cb83b69 utils: Avoid the GetStdHandle and GetConsoleScreenBufferInfo 
APIs in UWP builds
    8d1609d583 ci: Test building ffmpeg with the latest checkasm
    d93232845f ci: Test building latest dav1d and dav2d with the current 
checkasm
    e15a8efbfc readme: Add me to the list of maintainers
    01b4334a95 meson: Bump version to v1.3.0
    
    git-subtree-dir: tests/checkasm/ext
    git-subtree-split: e13b0bb3ff0935b7d2a1c2cc91163370f2cc8f40
---
 .github/workflows/build.yml      |  2 +-
 .gitlab-ci.yml                   | 34 ++++++++++++++++++++++++++++++++++
 README.md                        |  2 +-
 include/checkasm/header_config.h |  2 +-
 meson.build                      |  2 +-
 src/arm/cpu.c                    |  5 +++++
 src/longjmp.h                    |  2 +-
 src/utils.c                      |  2 ++
 src/x86/cpu.c                    |  8 ++++++++
 9 files changed, 54 insertions(+), 5 deletions(-)

diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index a7589aa9fe..fd0b93edac 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -114,7 +114,7 @@ jobs:
       - name: Set CFLAGS
         if: matrix.uwp
         run: |
-          echo "CFLAGS=-DWINAPI_FAMILY=WINAPI_FAMILY_APP" | Out-File -FilePath 
$Env:GITHUB_ENV -Encoding utf8 -Append
+          echo "CFLAGS=-DWINAPI_FAMILY=WINAPI_FAMILY_PHONE_APP" | Out-File 
-FilePath $Env:GITHUB_ENV -Encoding utf8 -Append
       - name: Build and test
         run: |
           meson setup build --buildtype release `
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index b1f48239c0..a085406f7e 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -395,6 +395,40 @@ test-ext-build:
         - make -f ../ext-build-test.make NASM_FMT=elf64 -j$(getconf 
_NPROCESSORS_ONLN) EXTRA_CFLAGS=-Werror
         - ./checkasm-selftest
 
+test-dav1d:
+    extends: .debian-amd64-common
+    script:
+        - git clone --depth 1 --branch master 
https://code.videolan.org/videolan/dav1d.git
+        - cd dav1d
+        - ln -s ../.. subprojects/checkasm
+        - meson setup build --buildtype debugoptimized
+                            --werror
+                            -Dtrim_dsp=false
+        - cd build && ninja
+        - meson test -v checkasm
+
+test-dav2d:
+    extends: .debian-amd64-common
+    script:
+        - git clone --depth 1 --branch main 
https://code.videolan.org/videolan/dav2d.git
+        - cd dav2d
+        - ln -s ../.. subprojects/checkasm
+        - meson setup build --buildtype debugoptimized
+                            --werror
+                            -Dtrim_dsp=false
+        - cd build && ninja
+        - meson test -v checkasm
+
+test-ffmpeg:
+    extends: .debian-amd64-common
+    script:
+        - git clone --depth 1 --branch master 
https://code.ffmpeg.org/ffmpeg/ffmpeg
+        - cd ffmpeg
+        - rm -rf tests/checkasm/ext
+        - ln -s ../../.. tests/checkasm/ext
+        - ./configure --enable-gpl
+        - make -j$(getconf _NPROCESSORS_ONLN) run-checkasm
+
 deploy-docs:
     extends: .debian-amd64-common
     stage: deploy
diff --git a/README.md b/README.md
index 3420997ad8..356b22c1d8 100644
--- a/README.md
+++ b/README.md
@@ -169,4 +169,4 @@ This project was forked from 
[dav1d's](https://code.videolan.org/videolan/dav1d)
 
 This choice was made because dav1d was the closest to being feature complete, 
while also being permissively licensed and using a modern CI and build system. 
Some changes have been ported over from FFmpeg's copy of checkasm, with 
permission to relicense.
 
-checkasm's original authors include Henrik Gramner, Loren Merritt, Fiona 
Glaser and others. This fork is maintained by Niklas Haas.
+checkasm's original authors include Henrik Gramner, Loren Merritt, Fiona 
Glaser and others. This fork is maintained by Niklas Haas and Martin Storsjö.
diff --git a/include/checkasm/header_config.h b/include/checkasm/header_config.h
index 0558ddaf9a..87a5db1a42 100644
--- a/include/checkasm/header_config.h
+++ b/include/checkasm/header_config.h
@@ -124,4 +124,4 @@
   #define CHECKASM_ARCH_LOONGARCH32 0
 #endif
 
-#endif /* CHECKASM_HEADER_CONFIG */
+#endif /* CHECKASM_HEADER_CONFIG_H */
diff --git a/meson.build b/meson.build
index 81972249ee..6f5f9eef77 100644
--- a/meson.build
+++ b/meson.build
@@ -24,7 +24,7 @@
 # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 project('checkasm', 'c',
-  version: '1.2.0',
+  version: '1.3.0',
   default_options: ['c_std=c11',
                     'buildtype=debugoptimized',
                     'default_library=static',
diff --git a/src/arm/cpu.c b/src/arm/cpu.c
index e323947802..32ee1f280b 100644
--- a/src/arm/cpu.c
+++ b/src/arm/cpu.c
@@ -303,6 +303,7 @@ COLD const char *checkasm_get_arm_cpuinfo(char *buf, size_t 
buflen, int affinity
   #ifdef _WIN32
 COLD const char *checkasm_get_arm_win32_reg(char *buf, size_t buflen, int 
affinity)
 {
+    #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
     HKEY key;
     if (RegOpenKeyExA(HKEY_LOCAL_MACHINE,
                       "Hardware\\Description\\System\\CentralProcessor", 0, 
KEY_READ,
@@ -374,6 +375,10 @@ COLD const char *checkasm_get_arm_win32_reg(char *buf, 
size_t buflen, int affini
         pos += snprintf(buf + pos, buflen - pos, " (%s)", cpu_name);
 
     return buf;
+    #else
+    (void) print_cores;
+    return NULL;
+    #endif
 }
   #endif
 #endif
diff --git a/src/longjmp.h b/src/longjmp.h
index 4ef6c9c464..7df62419af 100644
--- a/src/longjmp.h
+++ b/src/longjmp.h
@@ -32,7 +32,7 @@
 
 #include "checkasm_config.h"
 
-#if defined(_WIN32) && !ARCH_X86_32
+#if defined(_WIN32) && !(defined(__i386__) || defined(_M_IX86))
 
   #include <windows.h>
 
diff --git a/src/utils.c b/src/utils.c
index 261eec6abd..768d3028ef 100644
--- a/src/utils.c
+++ b/src/utils.c
@@ -410,9 +410,11 @@ COLD void checkasm_setup_fprintf(void)
 static int get_terminal_width(void)
 {
 #ifdef _WIN32
+  #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
     CONSOLE_SCREEN_BUFFER_INFO csbi;
     if (GetConsoleScreenBufferInfo(GetStdHandle(STD_OUTPUT_HANDLE), &csbi))
         return csbi.srWindow.Right - csbi.srWindow.Left + 1;
+  #endif
 #elif defined(__OS2__)
     int dst[2];
     _scrsize(dst);
diff --git a/src/x86/cpu.c b/src/x86/cpu.c
index 0c7b77a763..62fa4c55a0 100644
--- a/src/x86/cpu.c
+++ b/src/x86/cpu.c
@@ -131,6 +131,14 @@ COLD void checkasm_init_x86(void)
 #if ARCH_X86_32 && defined(_WIN32)
     /* x86_32 processes on Windows can spuriously get the dirty ymm bit set
      * while running; skip checking this aspect. */
+#elif defined(_MSC_VER) && !defined(__clang__)
+    /* MSVC can spontaneously generate code that uses AVX registers, without
+     * properly clearing the state afterwards with vzeroupper, see
+     * 
https://developercommunity.visualstudio.com/t/MSVC-x64-autovectorized-AVX-code-omits-f/11102637.
+     * Skip the vzeroupper tests in this configuration. This is technically
+     * inaccurate - checkasm as a library may be built with a different
+     * toolchain than the user code under test - but it is a first rough
+     * approximation. */
 #else
     checkasm_check_vzeroupper = 1;
 #endif

_______________________________________________
ffmpeg-cvslog mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to