Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package libva for openSUSE:Factory checked 
in at 2026-07-09 22:18:31
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libva (Old)
 and      /work/SRC/openSUSE:Factory/.libva.new.1991 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "libva"

Thu Jul  9 22:18:31 2026 rev:78 rq:1364509 version:2.24.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/libva/libva.changes      2026-01-07 
16:01:01.430141120 +0100
+++ /work/SRC/openSUSE:Factory/.libva.new.1991/libva.changes    2026-07-09 
22:18:52.701102816 +0200
@@ -1,0 +2,10 @@
+Sat Jul  4 09:59:55 UTC 2026 - Michael Pujos <[email protected]>
+
+- update to 2.24.0:
+  * va: Add VA_PICTURE_H264_NON_EXISTING flag
+  * va: use secure_getenv instead of getenv in va_x11.c
+  * doc: fix libva av1 link for doxygen
+  * trace: dump input/output data in va_TraceProtectedSessionExecute
+  * trace: Add ProtectedSession Related Log in Trace
+
+-------------------------------------------------------------------

Old:
----
  libva-2.23.0.tar.gz

New:
----
  libva-2.24.0.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ libva.spec ++++++
--- /var/tmp/diff_new_pack.dMAJRY/_old  2026-07-09 22:18:53.413127056 +0200
+++ /var/tmp/diff_new_pack.dMAJRY/_new  2026-07-09 22:18:53.413127056 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package libva
 #
-# Copyright (c) 2025 SUSE LLC and contributors
+# Copyright (c) 2026 SUSE LLC and contributors
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -30,7 +30,7 @@
 
 Name:           libva%{name_suffix}
 %define _name   libva
-Version:        2.23.0
+Version:        2.24.0
 Release:        0
 Summary:        Video Acceleration (VA) API
 License:        MIT

++++++ libva-2.23.0.tar.gz -> libva-2.24.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libva-2.23.0/.github/workflows/docs.yml 
new/libva-2.24.0/.github/workflows/docs.yml
--- old/libva-2.23.0/.github/workflows/docs.yml 2025-12-12 08:58:13.000000000 
+0100
+++ new/libva-2.24.0/.github/workflows/docs.yml 2026-07-02 07:46:11.000000000 
+0200
@@ -17,7 +17,7 @@
   build:
     runs-on: ubuntu-22.04
     steps:
-    - uses: actions/checkout@v6
+    - uses: actions/checkout@v7
     - name: install prerequisites
       run: |
         sudo apt-get update
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libva-2.23.0/.github/workflows/freebsd.yml 
new/libva-2.24.0/.github/workflows/freebsd.yml
--- old/libva-2.23.0/.github/workflows/freebsd.yml      2025-12-12 
08:58:13.000000000 +0100
+++ new/libva-2.24.0/.github/workflows/freebsd.yml      2026-07-02 
07:46:11.000000000 +0200
@@ -10,7 +10,7 @@
     runs-on: ubuntu-latest
     steps:
     - name: 'Checkout'
-      uses: actions/checkout@v6
+      uses: actions/checkout@v7
     - name: 'Install prerequisites and build'
       uses: vmactions/freebsd-vm@v1
       with:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libva-2.23.0/.github/workflows/ghpages.yml 
new/libva-2.24.0/.github/workflows/ghpages.yml
--- old/libva-2.23.0/.github/workflows/ghpages.yml      2025-12-12 
08:58:13.000000000 +0100
+++ new/libva-2.24.0/.github/workflows/ghpages.yml      2026-07-02 
07:46:11.000000000 +0200
@@ -22,7 +22,7 @@
     runs-on: ubuntu-22.04
     steps:
     - name: 'Checkout'
-      uses: actions/checkout@v6
+      uses: actions/checkout@v7
       with:
         fetch-depth: 0
     - name: 'Get latest tag'
@@ -47,11 +47,11 @@
 
     - name: 'Upload the artifacts'
       if: github.ref_name == env.GIT_LATEST_TAG
-      uses: actions/upload-pages-artifact@v4
+      uses: actions/upload-pages-artifact@v5
       with:
         path: "_build/doc/html-out"
 
     - name: 'Deploy to GitHub Pages'
       if: github.ref_name == env.GIT_LATEST_TAG
       id: deployment
-      uses: actions/deploy-pages@v4
+      uses: actions/deploy-pages@v5
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libva-2.23.0/.github/workflows/style.yml 
new/libva-2.24.0/.github/workflows/style.yml
--- old/libva-2.23.0/.github/workflows/style.yml        2025-12-12 
08:58:13.000000000 +0100
+++ new/libva-2.24.0/.github/workflows/style.yml        2026-07-02 
07:46:11.000000000 +0200
@@ -10,7 +10,7 @@
     runs-on: ubuntu-22.04
     steps:
     - name: 'Checkout'
-      uses: actions/checkout@v6
+      uses: actions/checkout@v7
     - name: 'Install prerequisites'
       run: |
         sudo apt-get update
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libva-2.23.0/.github/workflows/ubuntu.yml 
new/libva-2.24.0/.github/workflows/ubuntu.yml
--- old/libva-2.23.0/.github/workflows/ubuntu.yml       2025-12-12 
08:58:13.000000000 +0100
+++ new/libva-2.24.0/.github/workflows/ubuntu.yml       2026-07-02 
07:46:11.000000000 +0200
@@ -21,7 +21,7 @@
       DISTRO: ${{ matrix.os }}
     steps:
     - name: 'Checkout'
-      uses: actions/checkout@v6
+      uses: actions/checkout@v7
     - name: 'Install toolchain'
       if: ${{ (matrix.compiler == 'clang') && (matrix.os == 'ubuntu-22.04') }}
       run: .github/workflows/install-clang.sh 15
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libva-2.23.0/.github/workflows/windows.yml 
new/libva-2.24.0/.github/workflows/windows.yml
--- old/libva-2.23.0/.github/workflows/windows.yml      2025-12-12 
08:58:13.000000000 +0100
+++ new/libva-2.24.0/.github/workflows/windows.yml      2026-07-02 
07:46:11.000000000 +0200
@@ -10,7 +10,7 @@
     runs-on: windows-2022
     steps:
     - name: 'Checkout'
-      uses: actions/checkout@v6
+      uses: actions/checkout@v7
     - name: 'Setup Python'
       uses: actions/setup-python@v6
       with:
@@ -31,7 +31,7 @@
     runs-on: windows-2022
     steps:
     - name: 'Checkout'
-      uses: actions/checkout@v6
+      uses: actions/checkout@v7
     - name: 'Setup Python'
       uses: actions/setup-python@v6
       with:
@@ -57,7 +57,7 @@
         shell: msys2 {0}
     steps:
     - name: 'Checkout'
-      uses: actions/checkout@v6
+      uses: actions/checkout@v7
     - name: 'Setup MSYS2'
       uses: msys2/setup-msys2@v2
       with:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libva-2.23.0/NEWS new/libva-2.24.0/NEWS
--- old/libva-2.23.0/NEWS       2025-12-12 08:58:13.000000000 +0100
+++ new/libva-2.24.0/NEWS       2026-07-02 07:46:11.000000000 +0200
@@ -1,5 +1,12 @@
-libva NEWS -- summary of user visible changes.  2025-12-12
-Copyright (C) 2009-2025 Intel Corporation
+libva NEWS -- summary of user visible changes.  2026-7-2
+Copyright (C) 2009-2026 Intel Corporation
+
+version 2.24.0 - 02.Jul.2026
+* va: Add VA_PICTURE_H264_NON_EXISTING flag
+* va: use secure_getenv instead of getenv in va_x11.c
+* doc: fix libva av1 link for doxygen
+* trace: dump input/output data in va_TraceProtectedSessionExecute
+* trace: Add ProtectedSession Related Log in Trace
 
 version 2.23.0 - 12.Dec.2025
 * va: add VAProfileH264High422
@@ -271,7 +278,7 @@
 
 version 2.8.0 - 18.Jun.2020
 * trace: enable return value trace for successful function call
-* trace: divide va_TraceEndPicture to two seperate function
+* trace: divide va_TraceEndPicture to two separate function
 * trace: add support for VAProfileHEVCSccMain444_10
 * fix:Fixes file descriptor leak
 * add fourcc code for P012 format
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libva-2.23.0/configure.ac 
new/libva-2.24.0/configure.ac
--- old/libva-2.23.0/configure.ac       2025-12-12 08:58:13.000000000 +0100
+++ new/libva-2.24.0/configure.ac       2026-07-02 07:46:11.000000000 +0200
@@ -27,7 +27,7 @@
 # - reset micro version to zero when minor version is incremented
 # - reset minor version to zero when major version is incremented
 m4_define([va_api_major_version], [1])
-m4_define([va_api_minor_version], [23])
+m4_define([va_api_minor_version], [24])
 m4_define([va_api_micro_version], [0])
 
 m4_define([va_api_version],
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libva-2.23.0/doc/Makefile.am 
new/libva-2.24.0/doc/Makefile.am
--- old/libva-2.23.0/doc/Makefile.am    2025-12-12 08:58:13.000000000 +0100
+++ new/libva-2.24.0/doc/Makefile.am    2026-07-02 07:46:11.000000000 +0200
@@ -37,6 +37,7 @@
        $(VA_HEADER_DIR)/va_enc_hevc.h  \
        $(VA_HEADER_DIR)/va_enc_vp8.h   \
        $(VA_HEADER_DIR)/va_enc_vp9.h   \
+       $(VA_HEADER_DIR)/va_enc_av1.h   \
        $(VA_HEADER_DIR)/va_fei.h       \
        $(VA_HEADER_DIR)/va_fei_h264.h  \
        $(VA_HEADER_DIR)/va_fei_hevc.h  \
@@ -45,6 +46,7 @@
        $(VA_HEADER_DIR)/va_dec_vp8.h   \
        $(VA_HEADER_DIR)/va_dec_vp9.h   \
        $(VA_HEADER_DIR)/va_dec_av1.h   \
+       $(VA_HEADER_DIR)/va_dec_vvc.h   \
        $(VA_HEADER_DIR)/va_prot.h      \
        $(VA_HEADER_DIR)/va_vpp.h       \
        $(NULL)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libva-2.23.0/doc/meson.build 
new/libva-2.24.0/doc/meson.build
--- old/libva-2.23.0/doc/meson.build    2025-12-12 08:58:13.000000000 +0100
+++ new/libva-2.24.0/doc/meson.build    2026-07-02 07:46:11.000000000 +0200
@@ -22,6 +22,7 @@
   'va_dec_vp8.h',
   'va_dec_vp9.h',
   'va_dec_av1.h',
+  'va_dec_vvc.h',
   'va_prot.h',
   'va_vpp.h'
 ]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libva-2.23.0/meson.build new/libva-2.24.0/meson.build
--- old/libva-2.23.0/meson.build        2025-12-12 08:58:13.000000000 +0100
+++ new/libva-2.24.0/meson.build        2026-07-02 07:46:11.000000000 +0200
@@ -7,7 +7,7 @@
 # - reset micro version to zero when VA-API major or minor version is changed
 project(
   'libva', 'c',
-  version : '2.23.0',
+  version : '2.24.0',
   meson_version : '>= 0.53.0',
   default_options : [ 'warning_level=1',
                       'buildtype=debugoptimized' ])
@@ -19,7 +19,7 @@
 # - reset micro version to zero when minor version is incremented
 # - reset minor version to zero when major version is incremented
 va_api_major_version = 1
-va_api_minor_version = 23
+va_api_minor_version = 24
 va_api_micro_version = 0
 
 va_api_version = '@0@.@1@.@2@'.format(va_api_major_version,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libva-2.23.0/va/compat_win32.h 
new/libva-2.24.0/va/compat_win32.h
--- old/libva-2.23.0/va/compat_win32.h  2025-12-12 08:58:13.000000000 +0100
+++ new/libva-2.24.0/va/compat_win32.h  2026-07-02 07:46:11.000000000 +0200
@@ -53,6 +53,7 @@
 
 #if _MSC_VER
 #define getenv _getenv
+#undef secure_getenv
 #define secure_getenv _getenv
 #define HAVE_SECURE_GETENV
 inline char* _getenv(const char *varname)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libva-2.23.0/va/va.c new/libva-2.24.0/va/va.c
--- old/libva-2.23.0/va/va.c    2025-12-12 08:58:13.000000000 +0100
+++ new/libva-2.24.0/va/va.c    2026-07-02 07:46:11.000000000 +0200
@@ -59,19 +59,6 @@
 
 #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]))
 
-#ifndef HAVE_SECURE_GETENV
-static char * secure_getenv(const char *name)
-{
-#if defined(__MINGW32__) || defined(__MINGW64__)
-    if (getuid() == geteuid())
-#else
-    if (getuid() == geteuid() && getgid() == getegid())
-#endif
-        return getenv(name);
-    else
-        return NULL;
-}
-#endif
 
 /*
  * read a config "env" for libva.conf or from environment setting
@@ -2373,6 +2360,8 @@
         CreateProtectedSession,
         (ctx, config_id, protected_session)
     );
+    VA_TRACE_LOG(va_TraceCreateProtectedSession, dpy, config_id, 
protected_session);
+
     VA_TRACE_RET(dpy, status);
 
     return status;
@@ -2392,6 +2381,8 @@
         DestroyProtectedSession,
         (ctx, protected_session)
     );
+    VA_TRACE_LOG(va_TraceDestroyProtectedSession, dpy, protected_session);
+
     VA_TRACE_RET(dpy, status);
 
     return status;
@@ -2412,6 +2403,8 @@
         AttachProtectedSession,
         (ctx, context, protected_session)
     );
+    VA_TRACE_LOG(va_TraceAttachProtectedSession, dpy, context, 
protected_session);
+
     VA_TRACE_RET(dpy, status);
 
     return status;
@@ -2431,6 +2424,8 @@
         DetachProtectedSession,
         (ctx, context)
     );
+    VA_TRACE_LOG(va_TraceDetachProtectedSession, dpy, context);
+
     VA_TRACE_RET(dpy, status);
 
     return status;
@@ -2451,6 +2446,8 @@
         ProtectedSessionExecute,
         (ctx, protected_session, data)
     );
+    VA_TRACE_LOG(va_TraceProtectedSessionExecute, dpy, protected_session, 
data);
+
     VA_TRACE_RET(dpy, status);
 
     return status;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libva-2.23.0/va/va.h new/libva-2.24.0/va/va.h
--- old/libva-2.23.0/va/va.h    2025-12-12 08:58:13.000000000 +0100
+++ new/libva-2.24.0/va/va.h    2026-07-02 07:46:11.000000000 +0200
@@ -112,7 +112,7 @@
  *
  * VA-API is split into several modules:
  * - \ref api_core
- * - Encoder (H264, HEVC, JPEG, MPEG2, VP8, VP9)
+ * - Encoder (H264, HEVC, JPEG, MPEG2, VP8, VP9, AV1)
  *  - \ref api_enc_h264
  *  - \ref api_enc_hevc
  *  - \ref api_enc_jpeg
@@ -3585,6 +3585,11 @@
 #define VA_PICTURE_H264_BOTTOM_FIELD        0x00000004
 #define VA_PICTURE_H264_SHORT_TERM_REFERENCE    0x00000008
 #define VA_PICTURE_H264_LONG_TERM_REFERENCE 0x00000010
+/** \brief Non existing picture
+ * This flag indicates that the picture is marked
+ * as “non-existing” (spec section 8.2.5.2)
+ */
+#define VA_PICTURE_H264_NON_EXISTING        0x00000020
 
 /** H.264 Picture Parameter Buffer */
 /*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libva-2.23.0/va/va_internal.h 
new/libva-2.24.0/va/va_internal.h
--- old/libva-2.23.0/va/va_internal.h   2025-12-12 08:58:13.000000000 +0100
+++ new/libva-2.24.0/va/va_internal.h   2026-07-02 07:46:11.000000000 +0200
@@ -29,6 +29,21 @@
 extern "C" {
 #endif
 
+#ifndef HAVE_SECURE_GETENV
+#ifdef _WIN32
+/* No setuid/setgid on Windows, secure_getenv is just getenv */
+#define secure_getenv getenv
+#else
+static inline char * secure_getenv(const char *name)
+{
+    if (getuid() == geteuid() && getgid() == getegid())
+        return getenv(name);
+    else
+        return NULL;
+}
+#endif
+#endif
+
 #define CTX(dpy) (((VADisplayContextP)dpy)->pDriverContext)
 #define CHECK_DISPLAY(dpy) if (!vaDisplayIsValid(dpy)) { return 
VA_STATUS_ERROR_INVALID_DISPLAY; }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libva-2.23.0/va/va_trace.c 
new/libva-2.24.0/va/va_trace.c
--- old/libva-2.23.0/va/va_trace.c      2025-12-12 08:58:13.000000000 +0100
+++ new/libva-2.24.0/va/va_trace.c      2026-07-02 07:46:11.000000000 +0200
@@ -4612,6 +4612,85 @@
     return;
 }
 
+static void va_TraceVAEncryptionParameters(
+    VADisplay dpy,
+    VAContextID context,
+    VABufferID buffer,
+    VABufferType type,
+    unsigned int size,
+    unsigned int num_elements,
+    void *data
+)
+{
+    VAEncryptionParameters *p = (VAEncryptionParameters *)data;
+    unsigned int i;
+
+    DPY2TRACECTX(dpy, context, VA_INVALID_ID);
+
+    va_TraceMsg(trace_ctx, "--VAEncryptionParameters\n");
+    va_TraceMsg(trace_ctx, "\tencryption_type = 0x%08x\n", p->encryption_type);
+
+    if (p->encryption_type & VA_ENCRYPTION_TYPE_FULLSAMPLE_CTR)
+        va_TraceMsg(trace_ctx, "\t\tVA_ENCRYPTION_TYPE_FULLSAMPLE_CTR\n");
+    if (p->encryption_type & VA_ENCRYPTION_TYPE_FULLSAMPLE_CBC)
+        va_TraceMsg(trace_ctx, "\t\tVA_ENCRYPTION_TYPE_FULLSAMPLE_CBC\n");
+    if (p->encryption_type & VA_ENCRYPTION_TYPE_SUBSAMPLE_CTR)
+        va_TraceMsg(trace_ctx, "\t\tVA_ENCRYPTION_TYPE_SUBSAMPLE_CTR\n");
+    if (p->encryption_type & VA_ENCRYPTION_TYPE_SUBSAMPLE_CBC)
+        va_TraceMsg(trace_ctx, "\t\tVA_ENCRYPTION_TYPE_SUBSAMPLE_CBC\n");
+
+    va_TraceMsg(trace_ctx, "\tnum_segments = %u\n", p->num_segments);
+    va_TraceMsg(trace_ctx, "\tsegment_info = %p\n", p->segment_info);
+
+    if (p->segment_info && p->num_segments > 0) {
+        for (i = 0; i < p->num_segments && i < 16; i++) {
+            va_TraceMsg(trace_ctx, "\t\tsegment[%u]:\n", i);
+            va_TraceMsg(trace_ctx, "\t\t\tsegment_start_offset = %u\n",
+                        p->segment_info[i].segment_start_offset);
+            va_TraceMsg(trace_ctx, "\t\t\tsegment_length = %u\n",
+                        p->segment_info[i].segment_length);
+            va_TraceMsg(trace_ctx, "\t\t\tpartial_aes_block_size = %u\n",
+                        p->segment_info[i].partial_aes_block_size);
+            va_TraceMsg(trace_ctx, "\t\t\tinit_byte_length = %u\n",
+                        p->segment_info[i].init_byte_length);
+
+            /* Print first 16 bytes of IV/CTR */
+            va_TraceMsg(trace_ctx, "\t\t\taes_cbc_iv_or_ctr = ");
+            for (unsigned int j = 0; j < 16 && j < 
sizeof(p->segment_info[i].aes_cbc_iv_or_ctr); j++) {
+                va_TracePrint(trace_ctx, "%02x ", 
p->segment_info[i].aes_cbc_iv_or_ctr[j]);
+            }
+            va_TracePrint(trace_ctx, "\n");
+        }
+        if (p->num_segments > 16) {
+            va_TraceMsg(trace_ctx, "\t\t... (%u more segments not shown)\n",
+                        p->num_segments - 16);
+        }
+    }
+
+    va_TraceMsg(trace_ctx, "\tstatus_report_index = %u\n", 
p->status_report_index);
+    va_TraceMsg(trace_ctx, "\tsize_of_length = %u\n", p->size_of_length);
+    va_TraceMsg(trace_ctx, "\tkey_blob_size = %u\n", p->key_blob_size);
+    va_TraceMsg(trace_ctx, "\tblocks_stripe_encrypted = %u\n", 
p->blocks_stripe_encrypted);
+    va_TraceMsg(trace_ctx, "\tblocks_stripe_clear = %u\n", 
p->blocks_stripe_clear);
+
+    /* Print wrapped decrypt blob (first 16 bytes) */
+    va_TraceMsg(trace_ctx, "\twrapped_decrypt_blob = ");
+    for (i = 0; i < 16 && i < sizeof(p->wrapped_decrypt_blob); i++) {
+        va_TracePrint(trace_ctx, "%02x ", p->wrapped_decrypt_blob[i]);
+    }
+    va_TracePrint(trace_ctx, "...\n");
+
+    /* Print wrapped encrypt blob (first 16 bytes) */
+    va_TraceMsg(trace_ctx, "\twrapped_encrypt_blob = ");
+    for (i = 0; i < 16 && i < sizeof(p->wrapped_encrypt_blob); i++) {
+        va_TracePrint(trace_ctx, "%02x ", p->wrapped_encrypt_blob[i]);
+    }
+    va_TracePrint(trace_ctx, "...\n");
+
+    va_TraceMsg(trace_ctx, NULL);
+}
+
+
 static void va_TraceVAEncMiscParameterBuffer(
     VADisplay dpy,
     VAContextID context,
@@ -6400,6 +6479,10 @@
     case VAEncMiscParameterBufferType:
         va_TraceVAEncMiscParameterBuffer(dpy, context, buffer, type, size, 
num_elements, pbuf);
         break;
+    case VAEncryptionParameterBufferType:
+        va_TraceVAEncryptionParameters(dpy, context, buffer, type, size, 
num_elements, pbuf);
+        break;
+
     default:
         va_TraceVABuffers(dpy, context, buffer, type, size, num_elements, 
pbuf);
         break;
@@ -6468,10 +6551,14 @@
     case VAEncPackedHeaderParameterBufferType:
         va_TraceVAEncPackedHeaderParameterBufferType(dpy, context, buffer, 
type, size, num_elements, pbuf);
         break;
-
     case VAEncMiscParameterBufferType:
         va_TraceVAEncMiscParameterBuffer(dpy, context, buffer, type, size, 
num_elements, pbuf);
         break;
+    case VAEncryptionParameterBufferType:
+        va_TraceVAEncryptionParameters(dpy, context, buffer, type, size, 
num_elements, pbuf);
+        break;
+
+
     default:
         va_TraceVABuffers(dpy, context, buffer, type, size, num_elements, 
pbuf);
         break;
@@ -6570,6 +6657,10 @@
     case VAEncMiscParameterBufferType:
         va_TraceVAEncMiscParameterBuffer(dpy, context, buffer, type, size, 
num_elements, pbuf);
         break;
+    case VAEncryptionParameterBufferType:
+        va_TraceVAEncryptionParameters(dpy, context, buffer, type, size, 
num_elements, pbuf);
+        break;
+
     default:
         va_TraceVABuffers(dpy, context, buffer, type, size, num_elements, 
pbuf);
         break;
@@ -6610,6 +6701,10 @@
     case VAEncPackedHeaderParameterBufferType:
         va_TraceVAEncPackedHeaderParameterBufferType(dpy, context, buffer, 
type, size, num_elements, pbuf);
         break;
+    case VAEncryptionParameterBufferType:
+        va_TraceVAEncryptionParameters(dpy, context, buffer, type, size, 
num_elements, pbuf);
+        break;
+
     default:
         va_TraceVABuffers(dpy, context, buffer, type, size, num_elements, 
pbuf);
         break;
@@ -7368,6 +7463,154 @@
 }
 
 
+void va_TraceCreateProtectedSession(
+    VADisplay dpy,
+    VAConfigID config_id,
+    VAProtectedSessionID *protected_session
+)
+{
+    DPY2TRACE_VIRCTX(dpy);
+
+    TRACE_FUNCNAME(idx);
+
+    va_TraceMsg(trace_ctx, "\tconfig_id = 0x%08x\n", config_id);
+    if (protected_session)
+        va_TraceMsg(trace_ctx, "\tprotected_session = 0x%08x\n", 
*protected_session);
+    else
+        va_TraceMsg(trace_ctx, "\tprotected_session = (NULL)\n");
+
+    va_TraceMsg(trace_ctx, NULL);
+
+    DPY2TRACE_VIRCTX_EXIT(pva_trace);
+}
+
+void va_TraceDestroyProtectedSession(
+    VADisplay dpy,
+    VAProtectedSessionID protected_session
+)
+{
+    DPY2TRACE_VIRCTX(dpy);
+
+    TRACE_FUNCNAME(idx);
+
+    va_TraceMsg(trace_ctx, "\tprotected_session = 0x%08x\n", 
protected_session);
+
+    va_TraceMsg(trace_ctx, NULL);
+
+    DPY2TRACE_VIRCTX_EXIT(pva_trace);
+}
+
+void va_TraceAttachProtectedSession(
+    VADisplay dpy,
+    VAContextID context,
+    VAProtectedSessionID protected_session
+)
+{
+    DPY2TRACE_VIRCTX(dpy);
+
+    TRACE_FUNCNAME(idx);
+
+    va_TraceMsg(trace_ctx, "\tcontext = 0x%08x\n", context);
+    va_TraceMsg(trace_ctx, "\tprotected_session = 0x%08x\n", 
protected_session);
+
+    va_TraceMsg(trace_ctx, NULL);
+
+    DPY2TRACE_VIRCTX_EXIT(pva_trace);
+}
+
+void va_TraceDetachProtectedSession(
+    VADisplay dpy,
+    VAContextID context
+)
+{
+    DPY2TRACE_VIRCTX(dpy);
+
+    TRACE_FUNCNAME(idx);
+
+    va_TraceMsg(trace_ctx, "\tcontext = 0x%08x\n", context);
+
+    va_TraceMsg(trace_ctx, NULL);
+
+    DPY2TRACE_VIRCTX_EXIT(pva_trace);
+}
+
+void va_TraceProtectedSessionExecute(
+    VADisplay dpy,
+    VAProtectedSessionID protected_session,
+    VABufferID buf_id
+)
+{
+    VABufferType type;
+    unsigned int size;
+    unsigned int num_elements;
+    unsigned int i;
+    unsigned char *p;
+    bool buf_valid = false;
+    VAProtectedSessionExecuteBuffer *execute_buf = NULL;
+
+    /* Try to get buffer info and map the buffer*/
+    if (vaBufferInfo(dpy, VA_INVALID_ID, buf_id, &type, &size, &num_elements) 
== VA_STATUS_SUCCESS) {
+        if (type == VAProtectedSessionExecuteBufferType) {
+            if (vaMapBuffer(dpy, buf_id, (void **)&execute_buf) == 
VA_STATUS_SUCCESS && execute_buf) {
+                buf_valid = true;
+            }
+        }
+    }
+
+    DPY2TRACE_VIRCTX(dpy);
+
+    TRACE_FUNCNAME(idx);
+
+    va_TraceMsg(trace_ctx, "\tprotected_session = 0x%08x\n", 
protected_session);
+    va_TraceMsg(trace_ctx, "\tbuf_id = 0x%08x\n", buf_id);
+
+    if (buf_valid) {
+        va_TraceMsg(trace_ctx, "\tbuffer type = %s\n", vaBufferTypeStr(type));
+        va_TraceMsg(trace_ctx, "\tbuffer size = %u\n", size);
+        va_TraceMsg(trace_ctx, "\tnum_elements = %u\n", num_elements);
+        va_TraceMsg(trace_ctx, "\tVAProtectedSessionExecuteBuffer:\n");
+        va_TraceMsg(trace_ctx, "\t\tfunction_id = 0x%08x\n", 
execute_buf->function_id);
+        va_TraceMsg(trace_ctx, "\t\tinput.data = 0x%p\n", 
execute_buf->input.data);
+        va_TraceMsg(trace_ctx, "\t\tinput.data_size = %u\n", 
execute_buf->input.data_size);
+        va_TraceMsg(trace_ctx, "\t\tinput.max_data_size = %u\n", 
execute_buf->input.max_data_size);
+        va_TraceMsg(trace_ctx, "\t\toutput.data = 0x%p\n", 
execute_buf->output.data);
+        va_TraceMsg(trace_ctx, "\t\toutput.data_size = %u\n", 
execute_buf->output.data_size);
+        va_TraceMsg(trace_ctx, "\t\toutput.max_data_size = %u\n", 
execute_buf->output.max_data_size);
+        va_TraceMsg(trace_ctx, "\t\tstatus = 0x%08x\n", execute_buf->status);
+
+        if (va_trace_flag & VA_TRACE_FLAG_BUFDATA) {
+            if (execute_buf->input.data && execute_buf->input.data_size > 0) {
+                p = (unsigned char *)execute_buf->input.data;
+                for (i = 0; i < execute_buf->input.data_size; i++) {
+                    if ((i % 16) == 0)
+                        va_TraceMsg(trace_ctx, "\t\tinput.data[0x%04x]:", i);
+                    va_TracePrint(trace_ctx, " %02x", p[i]);
+                    if (((i % 16) == 15) || (i == execute_buf->input.data_size 
- 1))
+                        va_TracePrint(trace_ctx, "\n");
+                }
+            }
+            if (execute_buf->output.data && execute_buf->output.data_size > 0) 
{
+                p = (unsigned char *)execute_buf->output.data;
+                for (i = 0; i < execute_buf->output.data_size; i++) {
+                    if ((i % 16) == 0)
+                        va_TraceMsg(trace_ctx, "\t\toutput.data[0x%04x]:", i);
+                    va_TracePrint(trace_ctx, " %02x", p[i]);
+                    if (((i % 16) == 15) || (i == 
execute_buf->output.data_size - 1))
+                        va_TracePrint(trace_ctx, "\n");
+                }
+            }
+        }
+    } else {
+        va_TraceMsg(trace_ctx, "\tbuffer is not valid\n");
+    }
+    va_TraceMsg(trace_ctx, NULL);
+
+    DPY2TRACE_VIRCTX_EXIT(pva_trace);
+
+    vaUnmapBuffer(dpy, buf_id);
+}
+
+
 void va_TracePutSurface(
     VADisplay dpy,
     VASurfaceID surface,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libva-2.23.0/va/va_trace.h 
new/libva-2.24.0/va/va_trace.h
--- old/libva-2.23.0/va/va_trace.h      2025-12-12 08:58:13.000000000 +0100
+++ new/libva-2.24.0/va/va_trace.h      2026-07-02 07:46:11.000000000 +0200
@@ -460,6 +460,40 @@
     int num_attributes
 );
 
+DLL_HIDDEN
+void va_TraceCreateProtectedSession(
+    VADisplay dpy,
+    VAConfigID config_id,
+    VAProtectedSessionID *protected_session
+);
+
+DLL_HIDDEN
+void va_TraceDestroyProtectedSession(
+    VADisplay dpy,
+    VAProtectedSessionID protected_session
+);
+
+DLL_HIDDEN
+void va_TraceAttachProtectedSession(
+    VADisplay dpy,
+    VAContextID context,
+    VAProtectedSessionID protected_session
+);
+
+DLL_HIDDEN
+void va_TraceDetachProtectedSession(
+    VADisplay dpy,
+    VAContextID context
+);
+
+DLL_HIDDEN
+void va_TraceProtectedSessionExecute(
+    VADisplay dpy,
+    VAProtectedSessionID protected_session,
+    VABufferID buf_id
+);
+
+
 /* extern function called by display side */
 void va_TracePutSurface(
     VADisplay dpy,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libva-2.23.0/va/x11/va_x11.c 
new/libva-2.24.0/va/x11/va_x11.c
--- old/libva-2.23.0/va/x11/va_x11.c    2025-12-12 08:58:13.000000000 +0100
+++ new/libva-2.24.0/va/x11/va_x11.c    2026-07-02 07:46:11.000000000 +0200
@@ -77,7 +77,7 @@
 {
     VAStatus vaStatus = VA_STATUS_ERROR_UNKNOWN;
 
-    if (!getenv("LIBVA_DRI3_DISABLE"))
+    if (!secure_getenv("LIBVA_DRI3_DISABLE"))
         vaStatus = va_DRI3_GetDriverNames(pDisplayContext, drivers, 
num_drivers);
     if (vaStatus != VA_STATUS_SUCCESS)
         vaStatus = va_DRI2_GetDriverNames(pDisplayContext, drivers, 
num_drivers);

Reply via email to