Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package libva for openSUSE:Factory checked in at 2023-07-24 18:11:50 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libva (Old) and /work/SRC/openSUSE:Factory/.libva.new.1467 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libva" Mon Jul 24 18:11:50 2023 rev:72 rq:1099859 version:2.19.0 Changes: -------- --- /work/SRC/openSUSE:Factory/libva/libva.changes 2023-04-28 16:23:00.721885447 +0200 +++ /work/SRC/openSUSE:Factory/.libva.new.1467/libva.changes 2023-07-24 18:11:56.433202240 +0200 @@ -1,0 +2,11 @@ +Fri Jul 21 06:44:01 UTC 2023 - Paolo Stivanin <i...@paolostivanin.com> + +- Update to 2.19.0: + * add: Add mono_chrome to VAEncSequenceParameterBufferAV1 + * add: Enable support for license acquisition of multiple protected + playbacks + * fix: use secure_getenv instead of getenv + * trace: Improve and add VA trace log for AV1 encode + * trace: Unify va log message, replace va_TracePrint with va_TraceMsg. + +------------------------------------------------------------------- Old: ---- libva-2.18.0.tar.gz New: ---- libva-2.19.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libva.spec ++++++ --- /var/tmp/diff_new_pack.2ms1IH/_old 2023-07-24 18:11:57.425208078 +0200 +++ /var/tmp/diff_new_pack.2ms1IH/_new 2023-07-24 18:11:57.429208101 +0200 @@ -30,7 +30,7 @@ Name: libva%{name_suffix} %define _name libva -Version: 2.18.0 +Version: 2.19.0 Release: 0 Summary: Video Acceleration (VA) API License: MIT ++++++ libva-2.18.0.tar.gz -> libva-2.19.0.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-2.18.0/.github/workflows/docs.yml new/libva-2.19.0/.github/workflows/docs.yml --- old/libva-2.18.0/.github/workflows/docs.yml 1970-01-01 01:00:00.000000000 +0100 +++ new/libva-2.19.0/.github/workflows/docs.yml 2023-07-04 10:03:30.000000000 +0200 @@ -0,0 +1,27 @@ +name: docs + +on: + push: + paths-ignore: + - '.github/workflows/**' + - '!.github/workflows/docs.yml' + pull_request: + paths-ignore: + - '.github/workflows/**' + - '!.github/workflows/docs.yml' + +jobs: + build: + runs-on: ubuntu-22.04 + steps: + - uses: actions/checkout@v3 + - name: install prerequisites + run: | + sudo apt-get update + sudo apt-get install -y \ + doxygen \ + libdrm-dev \ + meson + - name: build the docs + run: meson setup _build -D enable_docs=true && meson compile -C _build + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-2.18.0/NEWS new/libva-2.19.0/NEWS --- old/libva-2.18.0/NEWS 2023-03-19 13:27:04.000000000 +0100 +++ new/libva-2.19.0/NEWS 2023-07-04 10:03:30.000000000 +0200 @@ -1,7 +1,19 @@ -libva NEWS -- summary of user visible changes. 2022-03-19 +libva NEWS -- summary of user visible changes. 2023-07-04 Copyright (C) 2009-2023 Intel Corporation -version 2.18.0 - 19.Mar.2022 +version 2.19.0 - 04.Jul.2023 +* docs: fix references and descriptions snf focyhrn mstkup +* ci: add build docs test +* win: change default driver search path to bindir +* win: rely on compiler to define link names +* add: Add mono_chrome to VAEncSequenceParameterBufferAV1 +* add: Enable support for license acquisition of multiple protected playbacks +* fix: year for version 2.18.0 in NEWS +* fix: use secure_getenv instead of getenv +* trace: Improve and add VA trace log for AV1 encode +* trace: Unify va log message, replace va_TracePrint with va_TraceMsg. + +version 2.18.0 - 19.Mar.2023 * doc: Add build and install libva informatio in home page. * fix: NULL check before calling strncmp. * ci: add dependabot diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-2.18.0/configure.ac new/libva-2.19.0/configure.ac --- old/libva-2.18.0/configure.ac 2023-03-19 13:27:04.000000000 +0100 +++ new/libva-2.19.0/configure.ac 2023-07-04 10:03:30.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], [18]) +m4_define([va_api_minor_version], [19]) m4_define([va_api_micro_version], [0]) m4_define([va_api_version], @@ -183,6 +183,9 @@ AC_HEADER_STDC AC_SYS_LARGEFILE +#check for secure_getenv +AC_CHECK_FUNCS(secure_getenv) + # Check for Doxygen if test "$enable_docs" = "yes"; then AC_CHECK_TOOL([DOXYGEN], [doxygen], [no]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-2.18.0/meson.build new/libva-2.19.0/meson.build --- old/libva-2.18.0/meson.build 2023-03-19 13:27:04.000000000 +0100 +++ new/libva-2.19.0/meson.build 2023-07-04 10:03:30.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.18.0', + version : '2.19.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 = 18 +va_api_minor_version = 19 va_api_micro_version = 0 va_api_version = '@0@.@1@.@2@'.format(va_api_major_version, @@ -67,7 +67,16 @@ driverdir = get_option('driverdir') if driverdir == '' - driverdir = join_paths(get_option('prefix'), get_option('libdir'), 'dri') + # "libdir" on Windows is essentially only for static and import libraries, + # while "bindir" is the actual runtime directory - containing both + # executable and dynamic libraries. During install meson uses correct install + # location depending on the type of library, requiring zero user intervention + # in the common case. + if host_machine.system() == 'windows' + driverdir = join_paths(get_option('prefix'), get_option('bindir')) + else + driverdir = join_paths(get_option('prefix'), get_option('libdir'), 'dri') + endif endif configinc = include_directories('.') @@ -134,6 +143,10 @@ c_args += ['-DHAVE_FGLRX'] endif +if cc.has_function('secure_getenv') + c_args += ['-DHAVE_SECURE_GETENV'] +endif + add_project_arguments(c_args, language: ['c']) subdir('va') diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-2.18.0/va/compat_win32.h new/libva-2.19.0/va/compat_win32.h --- old/libva-2.18.0/va/compat_win32.h 2023-03-19 13:27:04.000000000 +0100 +++ new/libva-2.19.0/va/compat_win32.h 2023-07-04 10:03:30.000000000 +0200 @@ -53,6 +53,8 @@ #if _MSC_VER #define getenv _getenv +#define secure_getenv _getenv +#define HAVE_SECURE_GETENV inline char* _getenv(const char *varname) { static char _getenv_buf[32767]; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-2.18.0/va/libva.def new/libva-2.19.0/va/libva.def --- old/libva-2.18.0/va/libva.def 2023-03-19 13:27:04.000000000 +0100 +++ new/libva-2.19.0/va/libva.def 2023-07-04 10:03:30.000000000 +0200 @@ -1,4 +1,3 @@ -LIBRARY va EXPORTS vaInitialize vaErrorStr diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-2.18.0/va/libva_win32.def new/libva-2.19.0/va/libva_win32.def --- old/libva-2.18.0/va/libva_win32.def 2023-03-19 13:27:04.000000000 +0100 +++ new/libva-2.19.0/va/libva_win32.def 2023-07-04 10:03:30.000000000 +0200 @@ -1,3 +1,2 @@ -LIBRARY va_win32 EXPORTS vaGetDisplayWin32 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-2.18.0/va/va.c new/libva-2.19.0/va/va.c --- old/libva-2.18.0/va/va.c 2023-03-19 13:27:04.000000000 +0100 +++ new/libva-2.19.0/va/va.c 2023-07-04 10:03:30.000000000 +0200 @@ -57,6 +57,20 @@ #define CHECK_MAXIMUM(s, ctx, var) if (!va_checkMaximum(dpy, ctx->max_##var, #var)) s = VA_STATUS_ERROR_UNKNOWN; #define CHECK_STRING(s, ctx, var) if (!va_checkString(dpy, ctx->str_##var, #var)) s = VA_STATUS_ERROR_UNKNOWN; +#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 * libva.conf has higher priority @@ -97,7 +111,7 @@ fclose(fp); /* no setting in config file, use env setting */ - value = getenv(env); + value = secure_getenv(env); if (value) { if (env_value) { strncpy(env_value, value, 1024); @@ -348,7 +362,7 @@ VADriverContextP ctx; ctx = CTX(dpy); - driver_name_env = getenv("LIBVA_DRIVER_NAME"); + driver_name_env = secure_getenv("LIBVA_DRIVER_NAME"); if (pDisplayContext->vaGetNumCandidates) vaStatus = pDisplayContext->vaGetNumCandidates(pDisplayContext, num_candidates); @@ -374,7 +388,7 @@ else status = VA_STATUS_ERROR_INVALID_PARAMETER; } - driver_name_env = getenv("LIBVA_DRIVER_NAME"); + driver_name_env = secure_getenv("LIBVA_DRIVER_NAME"); /*if user set driver name by vaSetDriverName */ if (ctx->override_driver_name) { if (*driver_name) @@ -424,7 +438,7 @@ if (geteuid() == getuid()) /* don't allow setuid apps to use LIBVA_DRIVERS_PATH */ - search_path = getenv("LIBVA_DRIVERS_PATH"); + search_path = secure_getenv("LIBVA_DRIVERS_PATH"); if (!search_path) search_path = VA_DRIVERS_PATH; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-2.18.0/va/va.h new/libva-2.19.0/va/va.h --- old/libva-2.18.0/va/va.h 2023-03-19 13:27:04.000000000 +0100 +++ new/libva-2.19.0/va/va.h 2023-07-04 10:03:30.000000000 +0200 @@ -401,6 +401,7 @@ */ const char *vaErrorStr(VAStatus error_status); +/** \brief Structure to describe rectangle. */ typedef struct _VARectangle { int16_t x; int16_t y; @@ -410,12 +411,18 @@ /** \brief Generic motion vector data structure. */ typedef struct _VAMotionVector { - /** \mv0[0]: horizontal motion vector for past reference */ - /** \mv0[1]: vertical motion vector for past reference */ - /** \mv1[0]: horizontal motion vector for future reference */ - /** \mv1[1]: vertical motion vector for future reference */ - int16_t mv0[2]; /* past reference */ - int16_t mv1[2]; /* future reference */ + /** \brief Past reference + * + * - \c [0]: horizontal motion vector for past reference + * - \c [1]: vertical motion vector for past reference + */ + int16_t mv0[2]; + /** \brief Future reference + * + * - \c [0]: horizontal motion vector for future reference + * - \c [1]: vertical motion vector for future reference + */ + int16_t mv1[2]; } VAMotionVector; /** Type of a message callback, used for both error and info log. */ @@ -1771,7 +1778,7 @@ * \brief Queries surface attributes for the supplied config. * * This function queries for all supported attributes for the - * supplied VA @config. In particular, if the underlying hardware + * supplied VA \c config. In particular, if the underlying hardware * supports the creation of VA surfaces in various formats, then * this function will enumerate all pixel formats that are supported. * diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-2.18.0/va/va_dec_vp8.h new/libva-2.19.0/va/va_dec_vp8.h --- old/libva-2.18.0/va/va_dec_vp8.h 2023-03-19 13:27:04.000000000 +0100 +++ new/libva-2.19.0/va/va_dec_vp8.h 2023-07-04 10:03:30.000000000 +0200 @@ -23,7 +23,7 @@ */ /** - * \file va_dec_vp.h + * \file va_dec_vp8.h * \brief VP8 decoding API * * This file contains the \ref api_dec_vp8 "VP8 decoding API". diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-2.18.0/va/va_enc_av1.h new/libva-2.19.0/va/va_enc_av1.h --- old/libva-2.18.0/va/va_enc_av1.h 2023-03-19 13:27:04.000000000 +0100 +++ new/libva-2.19.0/va/va_enc_av1.h 2023-07-04 10:03:30.000000000 +0200 @@ -314,8 +314,10 @@ uint32_t subsampling_x : 1; /** \brief Corresponds to AV1 syntax element of the same name. */ uint32_t subsampling_y : 1; + /** \brief Corresponds to AV1 syntax element of the same name. */ + uint32_t mono_chrome : 1; /** \brief Reserved bytes for future use, must be zero. */ - uint32_t reserved_bits : 13; + uint32_t reserved_bits : 12; } bits; uint32_t value; } seq_fields; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-2.18.0/va/va_fei.h new/libva-2.19.0/va/va_fei.h --- old/libva-2.18.0/va/va_fei.h 2023-03-19 13:27:04.000000000 +0100 +++ new/libva-2.19.0/va/va_fei.h 2023-07-04 10:03:30.000000000 +0200 @@ -161,6 +161,8 @@ VABufferID qp; } VAStatsStatisticsParameter; +/**@}*/ + #ifdef __cplusplus } #endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-2.18.0/va/va_fei_h264.h new/libva-2.19.0/va/va_fei_h264.h --- old/libva-2.18.0/va/va_fei_h264.h 2023-03-19 13:27:04.000000000 +0100 +++ new/libva-2.19.0/va/va_fei_h264.h 2023-07-04 10:03:30.000000000 +0200 @@ -496,6 +496,7 @@ uint32_t pixel_average_8x8[4]; } VAStatsStatisticsH264; // 64 bytes +/**@}*/ #ifdef __cplusplus } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-2.18.0/va/va_fei_hevc.h new/libva-2.19.0/va/va_fei_hevc.h --- old/libva-2.18.0/va/va_fei_hevc.h 2023-03-19 13:27:04.000000000 +0100 +++ new/libva-2.19.0/va/va_fei_hevc.h 2023-07-04 10:03:30.000000000 +0200 @@ -243,6 +243,9 @@ /** only when colocated_ctb_distortion in VAEncMiscParameterFEIFrameControlHEVC is set */ uint32_t colocated_ctb_distortion; } VAEncFEIDistortionHevc; + +/**@}*/ + #ifdef __cplusplus } #endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-2.18.0/va/va_prot.h new/libva-2.19.0/va/va_prot.h --- old/libva-2.18.0/va/va_prot.h 2023-03-19 13:27:04.000000000 +0100 +++ new/libva-2.19.0/va/va_prot.h 2023-07-04 10:03:30.000000000 +0200 @@ -441,7 +441,17 @@ /** \brief Return the result of this function. The status result is IHV's * implementation specific */ uint32_t status; - uint32_t va_reserved[VA_PADDING_LOW]; + /** \brief - vtag represents TEE sandbox identification for multiple playback scenario + * + * If TEE interface is created using VAEntrypointProtectedTEEComm then + * vtag is non-zero for multiple playback and vtag is zero for single playback + * + * If TEE interface is not created using VAEntrypointProtectedTEEComm then + * vtag - reserved + */ + uint64_t vtag; + /** \brief reserved bytes for future use, must be zero */ + uint32_t va_reserved[VA_PADDING_LOW - 2]; } VAProtectedSessionExecuteBuffer; /** diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-2.18.0/va/va_trace.c new/libva-2.19.0/va/va_trace.c --- old/libva-2.18.0/va/va_trace.c 2023-03-19 13:27:04.000000000 +0100 +++ new/libva-2.19.0/va/va_trace.c 2023-07-04 10:03:30.000000000 +0200 @@ -1802,7 +1802,7 @@ DPY2TRACECTX(dpy, context, VA_INVALID_ID); - va_TracePrint(trace_ctx, "--%s\n", vaBufferTypeStr(type)); + va_TraceMsg(trace_ctx, "--%s\n", vaBufferTypeStr(type)); if (trace_ctx->plog_file) fp = trace_ctx->plog_file->fp_log; @@ -2377,7 +2377,7 @@ DPY2TRACECTX(dpy, context, VA_INVALID_ID); - va_TracePrint(trace_ctx, "VAPictureParameterBufferHEVC\n"); + va_TraceMsg(trace_ctx, "\t--VAPictureParameterBufferHEVC\n"); va_TraceMsg(trace_ctx, "\tCurrPic.picture_id = 0x%08x\n", p->CurrPic.picture_id); va_TraceMsg(trace_ctx, "\tCurrPic.frame_idx = %d\n", p->CurrPic.pic_order_cnt); @@ -2581,7 +2581,7 @@ trace_ctx->trace_slice_no++; trace_ctx->trace_slice_size = p->slice_data_size; - va_TracePrint(trace_ctx, "VASliceParameterBufferHEVC\n"); + va_TraceMsg(trace_ctx, "\t--VASliceParameterBufferHEVC\n"); va_TraceMsg(trace_ctx, "\tslice_data_size = %d\n", p->slice_data_size); va_TraceMsg(trace_ctx, "\tslice_data_offset = %d\n", p->slice_data_offset); va_TraceMsg(trace_ctx, "\tslice_data_flag = %d\n", p->slice_data_flag); @@ -2719,7 +2719,7 @@ DPY2TRACECTX(dpy, context, VA_INVALID_ID); - va_TracePrint(trace_ctx, "VAIQMatrixBufferHEVC\n"); + va_TraceMsg(trace_ctx, "\t--VAIQMatrixBufferHEVC\n"); va_TraceMsg(trace_ctx, "\tScalingList4x4[6][16]=\n"); va_TraceMsg(trace_ctx, ""); @@ -2793,7 +2793,7 @@ if (!p) return; - va_TracePrint(trace_ctx, "\t--VAEncSequenceParameterBufferHEVC\n"); + va_TraceMsg(trace_ctx, "\t--VAEncSequenceParameterBufferHEVC\n"); va_TraceMsg(trace_ctx, "\tgeneral_profile_idc = %d\n", p->general_profile_idc); va_TraceMsg(trace_ctx, "\tgeneral_level_idc = %d\n", p->general_level_idc); @@ -2870,7 +2870,7 @@ if (!p) return; - va_TracePrint(trace_ctx, "\t--VAEncPictureParameterBufferHEVC\n"); + va_TraceMsg(trace_ctx, "\t--VAEncPictureParameterBufferHEVC\n"); va_TraceMsg(trace_ctx, "\tdecoded_curr_pic.picture_id = 0x%08x\n", p->decoded_curr_pic.picture_id); va_TraceMsg(trace_ctx, "\tdecoded_curr_pic.pic_order_cnt = %d\n", p->decoded_curr_pic.pic_order_cnt); @@ -2951,7 +2951,7 @@ if (!p) return; - va_TracePrint(trace_ctx, "\t--VAEncSliceParameterBufferHEVC\n"); + va_TraceMsg(trace_ctx, "\t--VAEncSliceParameterBufferHEVC\n"); va_TraceMsg(trace_ctx, "\tslice_segment_address = %d\n", p->slice_segment_address); va_TraceMsg(trace_ctx, "\tnum_ctu_in_slice = %d\n", p->num_ctu_in_slice); @@ -3689,6 +3689,28 @@ va_TraceMsg(trace_ctx, "\tsize_skip_frames = %d\n", p->size_skip_frames); break; } + case VAEncMiscParameterTypeTemporalLayerStructure: { + int i; + VAEncMiscParameterTemporalLayerStructure *p = (VAEncMiscParameterTemporalLayerStructure *)tmp->data; + va_TraceMsg(trace_ctx, "\t--VAEncMiscParameterTemporalLayerStructure\n"); + va_TraceMsg(trace_ctx, "\tnumber_of_layers = %d\n", p->number_of_layers); + va_TraceMsg(trace_ctx, "\tperiodicity = %d\n", p->periodicity); + va_TraceMsg(trace_ctx, "\tlayer_id =\n"); + va_TraceMsg(trace_ctx, ""); + for (i = 0; i < 32; i++) { + if (i % 8 == 0) + va_TracePrint(trace_ctx, "\t"); + + va_TracePrint(trace_ctx, "\t%u", p->layer_id[i]); + if ((i + 1) % 8 == 0) { + if (i == 31) + va_TracePrint(trace_ctx, "\n"); + else + TRACE_NEWLINE(); + } + } + break; + } default: va_TraceMsg(trace_ctx, "Unknown VAEncMiscParameterBuffer(type = %d):\n", tmp->type); va_TraceVABuffers(dpy, context, buffer, type, size, num_elements, data); @@ -4137,6 +4159,7 @@ va_TraceMsg(trace_ctx, "\tseq_profile = %d\n", p->seq_profile); va_TraceMsg(trace_ctx, "\tseq_level_idx = %d\n", p->seq_level_idx); va_TraceMsg(trace_ctx, "\tseq_tier = %d\n", p->seq_tier); + va_TraceMsg(trace_ctx, "\thierarchical_flag = %d\n", p->hierarchical_flag); va_TraceMsg(trace_ctx, "\tintra_period = %d\n", p->intra_period); va_TraceMsg(trace_ctx, "\tip_period = %d\n", p->ip_period); va_TraceMsg(trace_ctx, "\tbits_per_second = %d\n", p->bits_per_second); @@ -4155,6 +4178,9 @@ va_TraceMsg(trace_ctx, "\tseq_fields.enable_superres = %d\n", p->seq_fields.bits.enable_superres); va_TraceMsg(trace_ctx, "\tseq_fields.enable_cdef = %d\n", p->seq_fields.bits.enable_cdef); va_TraceMsg(trace_ctx, "\tseq_fields.enable_restoration = %d\n", p->seq_fields.bits.enable_restoration); + va_TraceMsg(trace_ctx, "\tseq_fields.bit_depth_minus8 = %d\n", p->seq_fields.bits.bit_depth_minus8); + va_TraceMsg(trace_ctx, "\tseq_fields.subsampling_x = %d\n", p->seq_fields.bits.subsampling_x); + va_TraceMsg(trace_ctx, "\tseq_fields.subsampling_y = %d\n", p->seq_fields.bits.subsampling_y); va_TraceMsg(trace_ctx, "\torder_hint_bits_minus_1 = %d\n", p->order_hint_bits_minus_1); @@ -4188,8 +4214,10 @@ for (i = 0; i < 7; i++) va_TraceMsg(trace_ctx, "\tref_frame_idx[%d] = %d\n", i, p->ref_frame_idx[i]); + va_TraceMsg(trace_ctx, "\thierarchical_level_plus1 = %d\n", p->hierarchical_level_plus1); va_TraceMsg(trace_ctx, "\tprimary_ref_frame = %d\n", p->primary_ref_frame); va_TraceMsg(trace_ctx, "\torder_hint = %d\n", p->order_hint); + va_TraceMsg(trace_ctx, "\trefresh_frame_flags = %d\n", p->refresh_frame_flags); va_TraceMsg(trace_ctx, "\tref_frame_ctrl_l0.fields.search_idx0 = %d\n", p->ref_frame_ctrl_l0.fields.search_idx0); va_TraceMsg(trace_ctx, "\tref_frame_ctrl_l0.fields.search_idx1 = %d\n", p->ref_frame_ctrl_l0.fields.search_idx1); @@ -4225,7 +4253,7 @@ va_TraceMsg(trace_ctx, "\ttemporal_id = %d\n", p->temporal_id); for (i = 0; i < 2; i++) - va_TraceMsg(trace_ctx, "\filter_level[%d] = %d\n", i, p->filter_level[i]); + va_TraceMsg(trace_ctx, "\tfilter_level[%d] = %d\n", i, p->filter_level[i]); va_TraceMsg(trace_ctx, "\tfilter_level_u = %d\n", p->filter_level_u); va_TraceMsg(trace_ctx, "\tfilter_level_v = %d\n", p->filter_level_v); @@ -4317,6 +4345,7 @@ va_TraceMsg(trace_ctx, "\ttile_group_obu_hdr_info.bits.obu_extension_flag = %d\n", p->tile_group_obu_hdr_info.bits.obu_extension_flag); va_TraceMsg(trace_ctx, "\ttile_group_obu_hdr_info.bits.obu_has_size_field = %d\n", p->tile_group_obu_hdr_info.bits.obu_has_size_field); + va_TraceMsg(trace_ctx, "\ttile_group_obu_hdr_info.bits.temporal_id = %d\n", p->tile_group_obu_hdr_info.bits.temporal_id); va_TraceMsg(trace_ctx, "\ttile_group_obu_hdr_info.bits.spatial_id = %d\n", p->tile_group_obu_hdr_info.bits.spatial_id); va_TraceMsg(trace_ctx, "\tnumber_skip_frames = %d\n", p->number_skip_frames); @@ -4327,6 +4356,30 @@ return; } +static void va_TraceVAEncSliceParameterBufferAV1( + VADisplay dpy, + VAContextID context, + VABufferID buffer, + VABufferType type, + unsigned int size, + unsigned int num_elements, + void *data) +{ + VAEncTileGroupBufferAV1* p = (VAEncTileGroupBufferAV1*)data; + DPY2TRACECTX(dpy, context, VA_INVALID_ID); + + if (!p) + return; + + va_TraceMsg(trace_ctx, "\t--VAEncTileGroupBufferAV1\n"); + va_TraceMsg(trace_ctx, "\ttg_start = %u\n", p->tg_start); + va_TraceMsg(trace_ctx, "\ttg_end = %u\n", p->tg_end); + + va_TraceMsg(trace_ctx, NULL); + + return; +} + static void va_TraceVAPictureParameterBufferAV1( VADisplay dpy, VAContextID context, @@ -4991,7 +5044,7 @@ va_TraceMsg(trace_ctx, "\trestart_interval = 0x%04x\n", p->restart_interval); va_TraceMsg(trace_ctx, "\tnum_components = 0x%08x\n", p->num_components); for (i = 0; i < 4; i++) { - va_TraceMsg(trace_ctx, "\tcomponents[%i] =\n ", i); + va_TraceMsg(trace_ctx, "\tcomponents[%i] =\n", i); va_TraceMsg(trace_ctx, "\t\tcomponent_selector = %d\n", p->components[i].component_selector); va_TraceMsg(trace_ctx, "\t\tdc_table_selector = %d\n", p->components[i].dc_table_selector); va_TraceMsg(trace_ctx, "\t\tac_table_selector = %d\n", p->components[i].ac_table_selector); @@ -5410,11 +5463,21 @@ case VAEncPictureParameterBufferType: va_TraceVAEncPictureParameterBufferAV1(dpy, context, buffer, type, size, num_elements, pbuf); break; + case VAEncSliceParameterBufferType: + va_TraceVAEncSliceParameterBufferAV1(dpy, context, buffer, type, size, num_elements, pbuf); + break; + case VAEncMiscParameterBufferType: + va_TraceVAEncMiscParameterBuffer(dpy, context, buffer, type, size, num_elements, pbuf); + break; + case VAEncPackedHeaderParameterBufferType: + va_TraceVAEncPackedHeaderParameterBufferType(dpy, context, buffer, type, size, num_elements, pbuf); + break; default: va_TraceVABuffers(dpy, context, buffer, type, size, num_elements, pbuf); break; } } + static void va_TraceVC1Buf( VADisplay dpy, VAContextID context, @@ -5812,7 +5875,7 @@ case VAProfileHEVCSccMain444: case VAProfileHEVCSccMain444_10: for (j = 0; j < num_elements; j++) { - va_TraceMsg(trace_ctx, "\telement[%d] = ", j); + va_TraceMsg(trace_ctx, "\telement[%d] = \n", j); va_TraceHEVCBuf(dpy, context, buffers[i], type, size, num_elements, pbuf + size * j); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-2.18.0/va/va_vpp.h new/libva-2.19.0/va/va_vpp.h --- old/libva-2.18.0/va/va_vpp.h 2023-03-19 13:27:04.000000000 +0100 +++ new/libva-2.19.0/va/va_vpp.h 2023-07-04 10:03:30.000000000 +0200 @@ -480,14 +480,14 @@ /** * \brief Global alpha value. * - * Valid if \flags has VA_BLEND_GLOBAL_ALPHA. + * Valid if \ref flags has VA_BLEND_GLOBAL_ALPHA. * Valid range is 0.0 to 1.0 inclusive. */ float global_alpha; /** * \brief Minimum luma value. * - * Valid if \flags has VA_BLEND_LUMA_KEY. + * Valid if \ref flags has VA_BLEND_LUMA_KEY. * Valid range is 0.0 to 1.0 inclusive. * \ref min_luma shall be set to a sensible value lower than \ref max_luma. */ @@ -495,7 +495,7 @@ /** * \brief Maximum luma value. * - * Valid if \flags has VA_BLEND_LUMA_KEY. + * Valid if \ref flags has VA_BLEND_LUMA_KEY. * Valid range is 0.0 to 1.0 inclusive. * \ref max_luma shall be set to a sensible value larger than \ref min_luma. */ @@ -1042,7 +1042,7 @@ */ const VABlendState *blend_state; /** - * \bried mirroring state. See "Mirroring directions". + * \brief mirroring state. See "Mirroring directions". * * Mirroring of an image can be performed either along the * horizontal or vertical axis. It is assumed that the rotation