1 Commits

Author SHA256 Message Date
Stefan Dirsch
2a6e0de8ba Update to vdpauinfo 1.5 (jsc#PED-14036) 2026-01-20 00:40:08 +01:00
6 changed files with 418 additions and 37 deletions

View File

@@ -1,26 +0,0 @@
From da66af25aa327d21179d478f3a6d8c03b6c7f574 Mon Sep 17 00:00:00 2001
From: ManojGuptaBonda <mbonda@nvidia.com>
Date: Tue, 8 Feb 2022 23:25:04 +0530
Subject: [PATCH] Add support for AV1 in vdpauinfo
---
vdpauinfo.cpp | 3 +++
1 file changed, 3 insertions(+)
diff --git a/vdpauinfo.cpp b/vdpauinfo.cpp
index 10dbdf3..cf83b4a 100644
--- a/vdpauinfo.cpp
+++ b/vdpauinfo.cpp
@@ -376,6 +376,9 @@ Desc decoder_profiles[] = {
{"HEVC_MAIN_444", VDP_DECODER_PROFILE_HEVC_MAIN_444},
{"HEVC_MAIN_444_10", VDP_DECODER_PROFILE_HEVC_MAIN_444_10},
{"HEVC_MAIN_444_12", VDP_DECODER_PROFILE_HEVC_MAIN_444_12},
+{"AV1_MAIN", VDP_DECODER_PROFILE_AV1_MAIN},
+{"AV1_HIGH", VDP_DECODER_PROFILE_AV1_HIGH},
+{"AV1_PROFESSIONAL", VDP_DECODER_PROFILE_AV1_PROFESSIONAL},
};
const size_t decoder_profile_count = sizeof(decoder_profiles)/sizeof(Desc);
--
GitLab

388
U_av1-trace.patch Normal file
View File

@@ -0,0 +1,388 @@
From 2afa3f989af24a922692ac719fae23c321776cdb Mon Sep 17 00:00:00 2001
From: ManojGuptaBonda <mbonda@nvidia.com>
Date: Fri, 3 Jun 2022 11:20:10 +0530
Subject: [PATCH] Add tracing for AV1 picture info
---
trace/vdpau_trace.cpp | 365 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 365 insertions(+)
diff --git a/trace/vdpau_trace.cpp b/trace/vdpau_trace.cpp
index 1940aa5..4052017 100644
--- a/trace/vdpau_trace.cpp
+++ b/trace/vdpau_trace.cpp
@@ -1154,6 +1154,371 @@ static void _vdp_cap_dump_picture_info(
fputs("}", _vdp_cap_data.fp);
}
break;
+ case VDP_DECODER_PROFILE_AV1_MAIN:
+ case VDP_DECODER_PROFILE_AV1_HIGH:
+ case VDP_DECODER_PROFILE_AV1_PROFESSIONAL:
+ {
+ VdpPictureInfoAV1 const * picture_info_av1 =
+ (VdpPictureInfoAV1 const *)picture_info;
+
+ fprintf(
+ _vdp_cap_data.fp,
+ "{%u, %u, %u, %u, %u, %u, %u, %u, %u, %u, %u, %u, %u, %u, %u, %u, %u, %u, %u, %u, %u, %u, %u, %u, %u, %u, %u, %u, %u, %u, %u, %u, %u, %u, %u, %u, %u, %u, %u, %u, %u, %u, %u, %u, %u, %u, {",
+ (uint32_t)picture_info_av1->width,
+ (uint32_t)picture_info_av1->height,
+ (uint32_t)picture_info_av1->frame_offset,
+ (uint32_t)picture_info_av1->profile,
+ (uint32_t)picture_info_av1->use_128x128_superblock,
+ (uint32_t)picture_info_av1->subsampling_x,
+ (uint32_t)picture_info_av1->subsampling_y,
+ (uint32_t)picture_info_av1->mono_chrome,
+ (uint32_t)picture_info_av1->bit_depth_minus8,
+ (uint32_t)picture_info_av1->enable_filter_intra,
+ (uint32_t)picture_info_av1->enable_intra_edge_filter,
+ (uint32_t)picture_info_av1->enable_interintra_compound,
+ (uint32_t)picture_info_av1->enable_masked_compound,
+
+ (uint32_t)picture_info_av1->enable_dual_filter,
+ (uint32_t)picture_info_av1->enable_order_hint,
+ (uint32_t)picture_info_av1->order_hint_bits_minus1,
+ (uint32_t)picture_info_av1->enable_jnt_comp,
+ (uint32_t)picture_info_av1->enable_superres,
+ (uint32_t)picture_info_av1->enable_cdef,
+ (uint32_t)picture_info_av1->enable_restoration,
+ (uint32_t)picture_info_av1->enable_fgs,
+ (uint32_t)picture_info_av1->frame_type,
+ (uint32_t)picture_info_av1->show_frame,
+ (uint32_t)picture_info_av1->disable_cdf_update,
+ (uint32_t)picture_info_av1->allow_screen_content_tools,
+ (uint32_t)picture_info_av1->force_integer_mv,
+ (uint32_t)picture_info_av1->coded_denom,
+ (uint32_t)picture_info_av1->allow_intrabc,
+ (uint32_t)picture_info_av1->allow_high_precision_mv,
+ (uint32_t)picture_info_av1->interp_filter,
+ (uint32_t)picture_info_av1->switchable_motion_mode,
+ (uint32_t)picture_info_av1->use_ref_frame_mvs,
+ (uint32_t)picture_info_av1->disable_frame_end_update_cdf,
+ (uint32_t)picture_info_av1->delta_q_present,
+ (uint32_t)picture_info_av1->delta_q_res,
+ (uint32_t)picture_info_av1->using_qmatrix,
+ (uint32_t)picture_info_av1->coded_lossless,
+ (uint32_t)picture_info_av1->use_superres,
+ (uint32_t)picture_info_av1->tx_mode,
+ (uint32_t)picture_info_av1->reference_mode,
+ (uint32_t)picture_info_av1->allow_warped_motion,
+ (uint32_t)picture_info_av1->reduced_tx_set,
+ (uint32_t)picture_info_av1->skip_mode,
+ (uint32_t)picture_info_av1->num_tile_cols,
+ (uint32_t)picture_info_av1->num_tile_rows,
+ (uint32_t)picture_info_av1->context_update_tile_id
+ );
+ for (uint32_t i = 0; i < _VDP_TRACE_ARSIZE(picture_info_av1->tile_widths); ++i) {
+ fprintf(
+ _vdp_cap_data.fp,
+ "%s%u",
+ (i == 0) ? "" : ", ",
+ (uint32_t)picture_info_av1->tile_widths[i]
+ );
+ }
+ fputs("}, {", _vdp_cap_data.fp);
+ for (uint32_t i = 0; i < _VDP_TRACE_ARSIZE(picture_info_av1->tile_heights); ++i) {
+ fprintf(
+ _vdp_cap_data.fp,
+ "%s%d",
+ (i == 0) ? "" : ", ",
+ (uint32_t)picture_info_av1->tile_heights[i]
+ );
+ }
+ fputs("}, {", _vdp_cap_data.fp);
+ for (uint32_t i = 0; i < _VDP_TRACE_ARSIZE(picture_info_av1->tile_info); ++i) {
+ fprintf(
+ _vdp_cap_data.fp,
+ "%s%d",
+ (i == 0) ? "" : ", ",
+ (uint32_t)picture_info_av1->tile_info[i]
+ );
+ }
+ fputs("}, ", _vdp_cap_data.fp);
+ fprintf(
+ _vdp_cap_data.fp,
+ "%u, %u, {",
+ (uint32_t)picture_info_av1->cdef_damping_minus_3,
+ (uint32_t)picture_info_av1->cdef_bits
+ );
+ for (uint32_t i = 0; i < _VDP_TRACE_ARSIZE(picture_info_av1->cdef_y_strength); ++i) {
+ fprintf(
+ _vdp_cap_data.fp,
+ "%s%u",
+ (i == 0) ? "" : ", ",
+ (uint32_t)picture_info_av1->cdef_y_strength[i]
+ );
+ }
+ fputs("}, {", _vdp_cap_data.fp);
+ for (uint32_t i = 0; i < _VDP_TRACE_ARSIZE(picture_info_av1->cdef_uv_strength); ++i) {
+ fprintf(
+ _vdp_cap_data.fp,
+ "%s%u",
+ (i == 0) ? "" : ", ",
+ (uint32_t)picture_info_av1->cdef_uv_strength[i]
+ );
+ }
+ fputs("}, ", _vdp_cap_data.fp);
+ fprintf(
+ _vdp_cap_data.fp,
+ "%u, %u, %u, %d, %d, %d, %d, %d, %u, %u, %u, %u, %u, %u, %u, {",
+ (uint32_t)picture_info_av1->SkipModeFrame0,
+ (uint32_t)picture_info_av1->SkipModeFrame1,
+ (uint32_t)picture_info_av1->base_qindex,
+ (int32_t)picture_info_av1->qp_y_dc_delta_q,
+ (int32_t)picture_info_av1->qp_u_dc_delta_q,
+ (int32_t)picture_info_av1->qp_v_dc_delta_q,
+ (int32_t)picture_info_av1->qp_u_ac_delta_q,
+ (int32_t)picture_info_av1->qp_v_ac_delta_q,
+ (uint32_t)picture_info_av1->qm_y,
+ (uint32_t)picture_info_av1->qm_u,
+ (uint32_t)picture_info_av1->qm_v,
+ (uint32_t)picture_info_av1->segmentation_enabled,
+ (uint32_t)picture_info_av1->segmentation_update_map,
+ (uint32_t)picture_info_av1->segmentation_update_data,
+ (uint32_t)picture_info_av1->segmentation_temporal_update
+ );
+ for (uint32_t i = 0; i < _VDP_TRACE_ARSIZE(picture_info_av1->segmentation_feature_data); ++i) {
+ fputs((i == 0) ? "{" : "}, {", _vdp_cap_data.fp);
+ for (uint32_t j = 0; j < _VDP_TRACE_ARSIZE(picture_info_av1->segmentation_feature_data[0]); ++j) {
+ fprintf(
+ _vdp_cap_data.fp,
+ "%s%d",
+ (j == 0) ? "" : ", ",
+ (int32_t)picture_info_av1->segmentation_feature_data[i][j]
+ );
+ }
+ }
+ fputs("}}, {", _vdp_cap_data.fp);
+ for (uint32_t i = 0; i < _VDP_TRACE_ARSIZE(picture_info_av1->segmentation_feature_mask); ++i) {
+ fprintf(
+ _vdp_cap_data.fp,
+ "%s%d",
+ (i == 0) ? "" : ", ",
+ (uint32_t)picture_info_av1->segmentation_feature_mask[i]
+ );
+ }
+ fputs("}, {", _vdp_cap_data.fp);
+ for (uint32_t i = 0; i < _VDP_TRACE_ARSIZE(picture_info_av1->loop_filter_level); ++i) {
+ fprintf(
+ _vdp_cap_data.fp,
+ "%s%d",
+ (i == 0) ? "" : ", ",
+ (uint32_t)picture_info_av1->loop_filter_level[i]
+ );
+ }
+ fputs("}, ", _vdp_cap_data.fp);
+ fprintf(
+ _vdp_cap_data.fp,
+ "%u, %u, %u, {",
+ (uint32_t)picture_info_av1->loop_filter_level_u,
+ (uint32_t)picture_info_av1->loop_filter_level_v,
+ (uint32_t)picture_info_av1->loop_filter_sharpness
+ );
+ for (uint32_t i = 0; i < _VDP_TRACE_ARSIZE(picture_info_av1->loop_filter_ref_deltas); ++i) {
+ fprintf(
+ _vdp_cap_data.fp,
+ "%s%d",
+ (i == 0) ? "" : ", ",
+ (int32_t)picture_info_av1->loop_filter_ref_deltas[i]
+ );
+ }
+ fputs("}, {", _vdp_cap_data.fp);
+ for (uint32_t i = 0; i < _VDP_TRACE_ARSIZE(picture_info_av1->loop_filter_mode_deltas); ++i) {
+ fprintf(
+ _vdp_cap_data.fp,
+ "%s%d",
+ (i == 0) ? "" : ", ",
+ (int32_t)picture_info_av1->loop_filter_mode_deltas[i]
+ );
+ }
+ fputs("}, ", _vdp_cap_data.fp);
+ fprintf(
+ _vdp_cap_data.fp,
+ "%u, %u, %u, %u, %u, %u, {",
+ (uint32_t)picture_info_av1->loop_filter_delta_enabled,
+ (uint32_t)picture_info_av1->loop_filter_delta_update,
+ (uint32_t)picture_info_av1->delta_lf_present,
+ (uint32_t)picture_info_av1->delta_lf_res,
+ (uint32_t)picture_info_av1->delta_lf_multi,
+ (uint32_t)picture_info_av1->reserved4_2bits
+ );
+ for (uint32_t i = 0; i < _VDP_TRACE_ARSIZE(picture_info_av1->lr_unit_size); ++i) {
+ fprintf(
+ _vdp_cap_data.fp,
+ "%s%u",
+ (i == 0) ? "" : ", ",
+ (uint32_t)picture_info_av1->lr_unit_size[i]
+ );
+ }
+ fputs("}, {", _vdp_cap_data.fp);
+ for (uint32_t i = 0; i < _VDP_TRACE_ARSIZE(picture_info_av1->lr_type); ++i) {
+ fprintf(
+ _vdp_cap_data.fp,
+ "%s%u",
+ (i == 0) ? "" : ", ",
+ (uint32_t)picture_info_av1->lr_type[i]
+ );
+ }
+ fputs("}, ", _vdp_cap_data.fp);
+ fprintf(
+ _vdp_cap_data.fp,
+ "%u, {",
+ (uint32_t)picture_info_av1->primary_ref_frame
+ );
+ for (uint32_t i = 0; i < _VDP_TRACE_ARSIZE(picture_info_av1->ref_frame_map); ++i) {
+ fprintf(
+ _vdp_cap_data.fp,
+ "%s%u",
+ (i == 0) ? "" : ", ",
+ (uint32_t)picture_info_av1->ref_frame_map[i]
+ );
+ }
+ fputs("}, ", _vdp_cap_data.fp);
+ fprintf(
+ _vdp_cap_data.fp,
+ "%u, %u, {",
+ (uint32_t)picture_info_av1->temporal_layer_id,
+ (uint32_t)picture_info_av1->spatial_layer_id
+ );
+ for (uint32_t i = 0; i < _VDP_TRACE_ARSIZE(picture_info_av1->ref_frame); ++i) {
+ fprintf(
+ _vdp_cap_data.fp,
+ "%s{%u, %u, %u }",
+ (i == 0) ? "" : ", ",
+ (uint32_t)picture_info_av1->ref_frame->width,
+ (uint32_t)picture_info_av1->ref_frame->height,
+ (uint32_t)picture_info_av1->ref_frame->index
+ );
+ }
+ fputs("} , {", _vdp_cap_data.fp);
+ for (uint32_t i = 0; i < _VDP_TRACE_ARSIZE(picture_info_av1->global_motion); ++i) {
+ fprintf(
+ _vdp_cap_data.fp,
+ "%s{%u, %u, {",
+ (i == 0) ? "" : ", ",
+ (uint32_t)picture_info_av1->global_motion->invalid,
+ (uint32_t)picture_info_av1->global_motion->wmtype
+ );
+ for (uint32_t i = 0; i < _VDP_TRACE_ARSIZE(picture_info_av1->global_motion->wmmat); ++i) {
+ fprintf(
+ _vdp_cap_data.fp,
+ "%s%d",
+ (i == 0) ? "" : ", ",
+ (int32_t)picture_info_av1->global_motion->wmmat[i]
+ );
+ }
+ fputs("}} ", _vdp_cap_data.fp);
+ }
+ fputs("}, ", _vdp_cap_data.fp);
+ fprintf(
+ _vdp_cap_data.fp,
+ "%u, %u, %u, %u, %u, %u, %u, %u, %u, {",
+ (uint32_t)picture_info_av1->apply_grain,
+ (uint32_t)picture_info_av1->overlap_flag,
+ (uint32_t)picture_info_av1->scaling_shift_minus8,
+ (uint32_t)picture_info_av1->chroma_scaling_from_luma,
+ (uint32_t)picture_info_av1->ar_coeff_lag,
+ (uint32_t)picture_info_av1->ar_coeff_shift_minus6,
+ (uint32_t)picture_info_av1->grain_scale_shift,
+ (uint32_t)picture_info_av1->clip_to_restricted_range,
+ (uint32_t)picture_info_av1->num_y_points
+ );
+ for (uint32_t i = 0; i < _VDP_TRACE_ARSIZE(picture_info_av1->scaling_points_y); ++i) {
+ fputs((i == 0) ? "{" : "}, {", _vdp_cap_data.fp);
+ for (uint32_t j = 0; j < _VDP_TRACE_ARSIZE(picture_info_av1->scaling_points_y[0]); ++j) {
+ fprintf(
+ _vdp_cap_data.fp,
+ "%s%u",
+ (j == 0) ? "" : ", ",
+ (uint32_t)picture_info_av1->scaling_points_y[i][j]
+ );
+ }
+ }
+ fputs("}}, ", _vdp_cap_data.fp);
+ fprintf(
+ _vdp_cap_data.fp,
+ "%u, {",
+ (uint32_t)picture_info_av1->num_cb_points
+ );
+ for (uint32_t i = 0; i < _VDP_TRACE_ARSIZE(picture_info_av1->scaling_points_cb); ++i) {
+ fputs((i == 0) ? "{" : "}, {", _vdp_cap_data.fp);
+ for (uint32_t j = 0; j < _VDP_TRACE_ARSIZE(picture_info_av1->scaling_points_cb[0]); ++j) {
+ fprintf(
+ _vdp_cap_data.fp,
+ "%s%u",
+ (j == 0) ? "" : ", ",
+ (uint32_t)picture_info_av1->scaling_points_cb[i][j]
+ );
+ }
+ }
+ fputs("}}, ", _vdp_cap_data.fp);
+ fprintf(
+ _vdp_cap_data.fp,
+ "%u, {",
+ (uint32_t)picture_info_av1->num_cr_points
+ );
+ for (uint32_t i = 0; i < _VDP_TRACE_ARSIZE(picture_info_av1->scaling_points_cr); ++i) {
+ fputs((i == 0) ? "{" : "}, {", _vdp_cap_data.fp);
+ for (uint32_t j = 0; j < _VDP_TRACE_ARSIZE(picture_info_av1->scaling_points_cr[0]); ++j) {
+ fprintf(
+ _vdp_cap_data.fp,
+ "%s%u",
+ (j == 0) ? "" : ", ",
+ (uint32_t)picture_info_av1->scaling_points_cr[i][j]
+ );
+ }
+ }
+ fputs("}}, ", _vdp_cap_data.fp);
+ fprintf(
+ _vdp_cap_data.fp,
+ "%u, {",
+ (uint32_t)picture_info_av1->random_seed
+ );
+ for (uint32_t i = 0; i < _VDP_TRACE_ARSIZE(picture_info_av1->ar_coeffs_y); ++i) {
+ fprintf(
+ _vdp_cap_data.fp,
+ "%s%d",
+ (i == 0) ? "" : ", ",
+ (int32_t)picture_info_av1->ar_coeffs_y[i]
+ );
+ }
+ fputs("}, {", _vdp_cap_data.fp);
+ for (uint32_t i = 0; i < _VDP_TRACE_ARSIZE(picture_info_av1->ar_coeffs_cb); ++i) {
+ fprintf(
+ _vdp_cap_data.fp,
+ "%s%d",
+ (i == 0) ? "" : ", ",
+ (int32_t)picture_info_av1->ar_coeffs_cb[i]
+ );
+ }
+ fputs("}, {", _vdp_cap_data.fp);
+ for (uint32_t i = 0; i < _VDP_TRACE_ARSIZE(picture_info_av1->ar_coeffs_cr); ++i) {
+ fprintf(
+ _vdp_cap_data.fp,
+ "%s%d",
+ (i == 0) ? "" : ", ",
+ (int32_t)picture_info_av1->ar_coeffs_cr[i]
+ );
+ }
+ fputs("},", _vdp_cap_data.fp);
+ fprintf(
+ _vdp_cap_data.fp,
+ "%u, %u, %u, %u, %u, %u",
+ (uint32_t)picture_info_av1->cb_mult,
+ (uint32_t)picture_info_av1->cb_luma_mult,
+ (uint32_t)picture_info_av1->cb_offset,
+ (uint32_t)picture_info_av1->cr_mult,
+ (uint32_t)picture_info_av1->cr_luma_mult,
+ (uint32_t)picture_info_av1->cr_offset
+ );
+ fputs("}", _vdp_cap_data.fp);
+ }
+ break;
default:
fputs("{...}", _vdp_cap_data.fp);
break;
--
GitLab

View File

@@ -1,3 +1,21 @@
-------------------------------------------------------------------
Sun Jan 18 18:52:01 UTC 2026 - Stefan Dirsch <sndirsch@suse.com>
- Update to vdpauinfo 1.5
* AV1 Support added
- supersedes U_Support-AV1.patch
-------------------------------------------------------------------
Mon Sep 22 15:38:38 UTC 2025 - Stefan Dirsch <sndirsch@suse.com>
- redefine %meson_build/%meson_install on Leap 15.6 in order to fix
build
-------------------------------------------------------------------
Thu Aug 21 11:20:41 UTC 2025 - Bjørn Lie <bjorn.lie@gmail.com>
- Add U_av1-trace.patch: Add tracing for AV1 picture info.
-------------------------------------------------------------------
Fri Mar 1 10:17:39 UTC 2024 - pgajdos@suse.com

View File

@@ -1,7 +1,7 @@
#
# spec file for package libvdpau
#
# Copyright (c) 2022 SUSE LLC
# 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
@@ -16,6 +16,11 @@
#
%if 0%{?sle_version} == 150600 && 0%{?is_opensuse}
%define meson_build /usr/bin/meson compile -C %{_vpath_builddir} %{_smp_mflags} --verbose
%define meson_install /usr/bin/meson install -C %{_vpath_builddir} --no-rebuild --destdir=%{buildroot}
%endif
%if 0%{?suse_version} < 1550
%define _distconfdir %{_prefix}%{_sysconfdir}
%endif
@@ -27,13 +32,12 @@ License: MIT
Group: Development/Libraries/C and C++
URL: https://www.freedesktop.org/wiki/Software/VDPAU/
Source: https://gitlab.freedesktop.org/vdpau/libvdpau/-/archive/%{version}/%{name}-%{version}.tar.bz2
Source1: https://gitlab.freedesktop.org/vdpau/vdpauinfo/-/archive/1.4/vdpauinfo-1.4.tar.bz2
Source1: https://gitlab.freedesktop.org/vdpau/vdpauinfo/-/archive/1.5/vdpauinfo-1.5.tar.bz2
Source2: README
Source99: baselibs.conf
Source100: %{name}-rpmlintrc
Patch0: n_UsrEtc.patch
Patch1: U_Support-AV1.patch
Patch1: U_av1-trace.patch
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: doxygen
@@ -88,10 +92,7 @@ Its usage is documented in the README.
%prep
%setup -q -b1
%patch -P 0 -p1
pushd ../vdpauinfo-*
%patch -P 1 -p1
popd
%autopatch -p1
%build
%meson

Binary file not shown.

BIN
vdpauinfo-1.5.tar.bz2 LFS Normal file

Binary file not shown.