# # spec file for package libva # # Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via https://bugs.opensuse.org/ # # %if 0%{?suse_version} <= 1315 && !0%{?is_opensuse} %bcond_with wayland %else %bcond_without wayland %endif %define build_gl 0 %define sover 2 Name: libva %define _name libva Version: 2.3.0 Release: 1.1 Summary: Video Acceleration (VA) API License: MIT Group: Development/Libraries/C and C++ Url: http://freedesktop.org/wiki/Software/vaapi Source0: https://github.com/01org/libva/releases/download/%{version}/%{_name}-%{version}.tar.bz2 Source1: https://github.com/01org/libva/releases/download/%{version}/%{_name}-%{version}.tar.bz2.sha1sum Source2: baselibs.conf BuildRequires: gcc-c++ BuildRequires: libtool BuildRequires: pkg-config BuildRequires: xz BuildRequires: pkgconfig(libdrm) BuildRequires: pkgconfig(libudev) BuildRequires: pkgconfig(x11) BuildRequires: pkgconfig(xext) BuildRequires: pkgconfig(xfixes) BuildRequires: pkgconfig(xrandr) BuildRequires: pkgconfig(xv) %if %{build_gl} BuildRequires: pkgconfig(gl) %if %{with wayland} BuildRequires: pkgconfig(wayland-client) >= 1.11.0 BuildRequires: pkgconfig(wayland-scanner) >= 1.11.0 %endif %endif %description The libva library implements the Video Acceleration API. The library loads a hardware dependendent driver. %package -n libva-glx%{sover} Summary: GLX backend for the Video Acceleration API Group: System/Libraries Supplements: libva%{sover} %description -n libva-glx%{sover} The libva library implements the Video Acceleration API. The library loads a hardware dependendent driver. This is the VA/GLX runtime library. %package -n libva-wayland%{sover} Summary: Wayland backend for the Video Acceleration API Group: System/Libraries %description -n libva-wayland%{sover} The libva library implements the Video Acceleration API. The library loads a hardware dependendent driver. %package devel Summary: Development files for the Video Acceleration API Group: Development/Languages/C and C++ %if 0%{?build_gl} BuildRequires: libva-devel = %{version} Requires: libva-glx%{sover} = %{version} %if %{with wayland} Requires: libva-wayland%{sover} = %{version} %endif Requires: pkgconfig(gl) %else Requires: libva%{sover} = %{version} Requires: libva-drm%{sover} = %{version} Requires: libva-x11-%{sover} = %{version} Requires: pkgconfig(libdrm) Requires: pkgconfig(x11) Requires: pkgconfig(xfixes) Recommends: libva-gl-devel %endif %description devel The libva library implements the Video Acceleration API. The library loads a hardware dependendent driver. %if 0%{?build_gl} This package provides the development environment for libva gl packages. %else This package provides the development environment for libva packages. %endif %package -n libva%{sover} Summary: Video Acceleration API Group: System/Libraries %description -n libva%{sover} The libva library implements the Video Acceleration API. The library loads a hardware dependendent driver. This is the core runtime library. %package -n libva-drm%{sover} Summary: DRM backend for the Video Acceleration API Group: System/Libraries Supplements: libva%{sover} %description -n libva-drm%{sover} The libva library implements the Video Acceleration API. The library loads a hardware dependendent driver. This is the VA/DRM runtime library. %package -n libva-x11-%{sover} Summary: X11 backend for the Video Acceleration API Group: System/Libraries Supplements: libva%{sover} %description -n libva-x11-%{sover} The libva library implements the Video Acceleration API. The library loads a hardware dependendent driver. This is the VA/X11 runtime library. %prep %setup -q -n %{_name}-%{version} # Add "libva-wayland%%{sover}" to baselibs.conf when enabling wayland build; # ugly I know ...This is needed since otherwise source validator # # osc service run source_validator # # fails on sle %if %{with wayland} echo libva-wayland%{sover} >> $RPM_SOURCE_DIR/baselibs.conf %endif %build [ -d m4 ] || mkdir m4 autoreconf -v --install %configure \ %if %{build_gl} --enable-glx \ %if %{with wayland} --enable-wayland \ %else --disable-wayland \ %endif %endif --with-drivers-path=%{_libdir}/dri make %{?_smp_mflags} %install %makeinstall find %{buildroot} -name '*.la' -delete -print %if %{build_gl} # remove all files packaged during without gl mode rm -rf `find %{buildroot}%{_includedir}/va/* | grep -v "glx\|wayland"` rm -rf `find %{buildroot}%{_libdir}/libva* | grep -v "glx\|wayland"` rm -rf `find %{buildroot}%{_libdir}/pkgconfig/libva*.pc | grep -v "glx\|wayland"` %endif %post -n libva-glx%{sover} -p /sbin/ldconfig %postun -n libva-glx%{sover} -p /sbin/ldconfig %post -n libva-wayland%{sover} -p /sbin/ldconfig %postun -n libva-wayland%{sover} -p /sbin/ldconfig %post -n libva%{sover} -p /sbin/ldconfig %postun -n libva%{sover} -p /sbin/ldconfig %post -n libva-drm%{sover} -p /sbin/ldconfig %postun -n libva-drm%{sover} -p /sbin/ldconfig %post -n libva-x11-%{sover} -p /sbin/ldconfig %postun -n libva-x11-%{sover} -p /sbin/ldconfig %if %{build_gl} %files -n libva-glx%{sover} %{_libdir}/libva-glx.so.%{sover}* %if %{with wayland} %files -n libva-wayland%{sover} %{_libdir}/libva-wayland.so.%{sover}* %endif %files devel %{_libdir}/libva-glx.so %{_includedir}/va %{_libdir}/pkgconfig/libva-glx.pc %if %{with wayland} %{_libdir}/pkgconfig/libva-wayland.pc %{_libdir}/libva-wayland.so %endif %else %files -n libva%{sover} %license COPYING %{_libdir}/libva.so.* %files -n libva-x11-%{sover} %{_libdir}/libva-x11.so.* %files -n libva-drm%{sover} %{_libdir}/libva-drm.so.* %files devel %{_libdir}/libva.so %{_libdir}/libva-x11.so %{_libdir}/libva-drm.so %{_includedir}/va %{_libdir}/pkgconfig/libva-drm.pc %{_libdir}/pkgconfig/libva-x11.pc %{_libdir}/pkgconfig/libva.pc %endif %changelog * Tue Oct 30 2018 chris@computersalat.de - Update to 2.3.0 * Bump VA-API version to 1.3.0 and libva to 2.3.0 * Add max frame size parameters for multiple pass case in legacy mode * Add new BRC mode AVBR * Add new interface for High Dynamic Range tone mapping * Add missing enum to string conversions * Add hevc subsets parameters structure * Add Customized Noise Reduction (HVS) interfaces * Add new BRC mode definition QVBR * Add more complete colour properties for use in VPP * Tue Jul 17 2018 tiwai@suse.de - Update to 2.2.0: * Bump VA-API version to 1.2.0 and libva to 2.2.0 * Add support for hevc range extension decoding * Add support for fast intra prediction in HEVC FEI * Add 10/12-bit YUV render target formats * Add fourcc code for Y210/Y216/Y410/Y416/RGB565/BGR565 * Add VA_STATUS_ERROR_NOT_ENOUGH_BUFFER * Add VA_SURFACE_ATTRIB_USAGE_HINT_EXPORT * Improve documentation - Use license tag * Mon May 7 2018 sndirsch@suse.com - Update to 2.1.0 * Bump VA-API version to 1.1.0 and libva to 2.1.0 * Add API for multi-frame processing * Add entrypoint VAEntrypointStats for Statistics * Add data structures for HEVC FEI support * Add new attributes for decoding/encoding/video processing * Add new VPP filter for Total Color Correction * Add blending interface in VPP * Add rotation interface in VPP * Add mirroring interface in VPP * Add Chroma siting flags in VPP * Add new color standard definitions * Add new interface for exporting surface * Add message callbacks for drivers to use * Fri Nov 17 2017 zaitor@opensuse.org - Drop erroneous --disable-wayland configure call passed when building gl part. - Drop vaapi-wayland-tools sub-package, it does not contain any files. - Clean up spec, explicitly list .pc files, ensure they go into the correct devel package, stop rm'ing binaries that no longer exist. * Wed Nov 8 2017 alarrosa@suse.com - Update to 2.0.0 * Bump VA-API version to 1.0.0 and libva to 2.0.0 * Add new API for H264 FEI support * Add definition of VA_FOURCC_I420 * Add functions for converting common enums to strings * Deprecate H.264 baseline profile and FMO support * Deprecate packed misc packed header flag * Delete libva-tpi and libva-egl backends * Refine VASliceParameterBufferHEVC, VAEncMiscParameterBuffer * Fix errors in VAConfigAttribValEncROI, VAEncMacroblockParameterBufferH264 * Fix race condition in wayland support * Rename vaMessageCallback to VAMessageCallback * Make logging callbacks library-safe - Note libva 2.0.0 is not compatible with the old version of libva, but for most users, what you need to do is to rebuild your VA-API based application against libva 2.0.0. - The soversion of the generated packages is increased to 2. - Subpackage libva-egl1 is no longer generated since upstream removed support for the libva-egl backend. - The libva2 package no longer includes the libva-tpi library since upstream removed support for the libva-tpi backend. * Tue Aug 29 2017 jengelh@inai.de - Fix RPM groups. Trim obvious "Linux" from description. - Remove some %%if..%%endif blocks which are not necessary and which do not affect the build. * Sat Aug 26 2017 zaitor@opensuse.org - Move wayland to build_gl. - Drop vaapi-dummy-driver Recommends, package does not exist anymore. * Fri Aug 18 2017 sndirsch@suse.com - fixed source URLs * Wed Aug 16 2017 chris@computersalat.de - Version 1.8.3 - 28.Jun.2017 * Fix build issue on Android * Remove the dummy driver * Add traces for MB rate control / temporal layer * Set verbosity level between {0, 1, 2} by setting the variable LIBVA_MESSAGING_LEVEL in /etc/libva.conf or by setting the environment variable LIBVA_MESSAGING_LEVEL. - remove subpkg vaapi-dummy-driver * Wed Aug 9 2017 sndirsch@suse.com - added COPYING as documentation file * Fri Aug 4 2017 sndirsch@suse.com - Version 1.8.2 * Bump libva to 1.8.2 * Wed Apr 19 2017 chris@computersalat.de - fix changes file * add missing changes for 1.8.1 * fix Version string * Tue Apr 18 2017 chris@computersalat.de - Version 1.8.1 - 10.Apr.2017 * Bump libva to 1.8.1 - add sha1sum file * Sat Apr 15 2017 chris@computersalat.de - Version 1.8.0 - 31.March.2017 * Bump VA API version to 0.40 * API: Change vaRenderPicture semantics that vaRenderPicture no longer deletes the input buffer automatically. * API: Add VA_FOURCC_I010 for 10bit surface * API: Add vaSetErrorCallback and vaSetInfoCallback for error and info message. * va/drm: Update the support for Mesa Gallium driver * va/drm: Fix authentication check for /dev/dri/card0 * Move all utilities and tests to libva-utils (https://github.com/01org/libva-utils) - disable obsolete vaapi-tools cause of move of all utilities to libva-utils * Tue Apr 11 2017 sndirsch@suse.com - SLE merge: * update to latest version, Intel Stack release 2016Q1 (fate #315643-315645, 319159-319161, 319618) * latest updates for sle12 (fate #315643-315645, 319159-319161, 319618) * Tue Apr 11 2017 sndirsch@suse.com - Removed libva-wayland1 from bqaselibs.conf; add it to baselibs.conf during a wayland build only; ugly I know ... This is needed since otherwise source validator ("osc service run source_validator") fails on sle * Tue Apr 11 2017 sndirsch@suse.com - sync openSUSE Leap/SLE build by making use of %%is_opensuse macro; we don't build wayland on SLE, but enable it on Leap * Tue Jan 17 2017 sndirsch@suse.com - N_libva_Fix_wayland-client.h_include-path.patch/ N_libva_Fix_wayland-client.h_include-path_1320.patch no longer need after adjusting vaapi-intel-driver package * Thu Jan 12 2017 chris@computersalat.de - fix wayland-client.h include path * add N_libva_Fix_wayland-client.h_include-path.patch * add N_libva_Fix_wayland-client.h_include-path_1320.patch * Sat Dec 31 2016 chris@computersalat.de - Version 1.7.3 - 10.Nov.2016 * Bump VA API version to 0.39.4 * API: add support for bitrate control per temporal layer * API: update the usage for framerate in VAEncMiscParameterFrameRate to support non-integer frame-rate * Add has_prime_sharing flag in VADriverVTableWayland to indicate if buffer sharing with prime fd can be used in the backend driver * Sat Oct 22 2016 chris@computersalat.de - Version 1.7.2 - 05.Sep.2016 * Bump VA API version to 0.39.3 * API: add support for ROI * Add support for VP9 encoder in VA tracer * Refine test cases * Fix the issue of not properly terminating the parsed environment values with '\0' https://bugs.freedesktop.org/show_bug.cgi?id=96677 * Mon Jul 4 2016 sndirsch@suse.com - Update to version 1.7.1 * Bump VA API version to 0.39.2 * API: add support for VP9 8bit encode * API: add support for low power/high performance encode * API: add support for encoding ROI attribute * API: add support for macroblock based rate control * Fix VA tracer to support multiple contexts in one instance * Thu May 19 2016 zaitor@opensuse.org - Add missing post/postun handling for libva-wayland1. * Tue Apr 12 2016 sndirsch@suse.com - Update to version 1.7.0 * Bump VA API version to 0.39 * Add support for VP9 10bit decode API * Allow libva to load the vaapi driver provided by Mesa Gallium for nouveau and radeon * Fix libva-glx against OpenGL 3.1 or above * Wed Dec 30 2015 jimmy@boombatower.com - Update baselibs.conf to work with new multi-spec file approach. * Mon Dec 21 2015 dimstar@opensuse.org - Use build_gl defines instead of build condition: libva-gl is never meant to be built --without=gl, so bcond is actually the wrong construct here. - Add libva-gl.spec as a 2nd spec file to the package to keep them in sync (by means of pre_checkin.sh). * Fri Dec 18 2015 jimmy@boombatower.com - Bump up disable wayland support for 13.1 as 1.6.2 is incompatible with such old version of wayland. * Thu Dec 17 2015 jimmy@boombatower.com - Rework spec to either gl packages or everything else. By doing so libva-devel can be built without depending on Mesa and Mesa-libva can be build depending on libva-devel without introducing a dependency cycle. A linked package will then produce the libva gl packages. * Thu Dec 17 2015 zaitor@opensuse.org - Update to version 1.6.2: + Bump VA API version to 0.38.1. + Add new RT format for 16 bits per channel memory layout(P010,P016): VA_RT_FORMAT_YUV420_10BPP. + Add new fourcc codes: VA_FOURCC_P010, VA_FOURCC_P016, VA_FOURCC_YV16. + Fix crash if user doesn't have right to access the DRI device. + Fix uninitialized x11_screen driver context member for X11 output (fdo#61603). + Fix the issue of not to use LIBVA_DRIVER_NAME (fdo#72822). + Fix build issue with wayland (fdo#79478). + vainfo: Add option '--display'. * Thu Dec 17 2015 jimmy@boombatower.com - Replace build requirement Mesa-devel with pkgconfig(egl) to narrow dependency and aid in avoiding cycle when building Mesa-libva. * Mon Nov 23 2015 zaitor@opensuse.org - Update to version 1.6.1: + Add support for VP9 decode and HEVC encode in VA trace module. + Add VP9 profile to vainfo. + Enhance VA trace to dump VP8 encode parameters. - Add an explicit pkgconfig(wayland-scanner) BuildRequires: Configure looks for it, and we are already pulling it in automatically. * Fri Jul 31 2015 zaitor@opensuse.org - Update to version 1.6.0: + API: - Bump VA API version to 0.38. - Add support for HEVC Encode. - Add support for VP9 Decode. - Allow user to specify user preferred backend driver. - Add decode attribute to support decode normal and base modes. - Add encode attribute to support skip frame. + Fix quality issue in the JPEG encode demo. * Mon Mar 30 2015 sndirsch@suse.com - Update to version 1.5.1 * API: correct the comment for num_token_partitions in struct _VAEncPictureParameterBufferVP8 * VA/x11: fix double Unlocks/SyncHandle to avoid segmentation fault * Sun Feb 8 2015 zaitor@opensuse.org - Update to version 1.5.0: + API: - Add support for HEVC decoding. - Extend JPEG encoding data structures and add configuration attribute for JPEG encoding. + Add a unit test for JPEG encoding. + Add support for HEVC decoding and JPEG encoding in VA trace utility. + Fix out of tree builds. + VA/X11: fix BadDrawable issue when calling vaTerminate() after the pixmaps have been destroyed. * Thu Oct 30 2014 sndirsch@suse.com - added baselibs.conf as source to specfile in order to make factory happy * Mon Oct 27 2014 sndirsch@suse.com - update to version 1.4.1; most important features/changes since release 1.2.1: * API: add support for VP8 encoding * API: drop VAEntrypointMax enumeration * API: add STE filter to the VPP pipeline * API: add H.264 MVC profiles for decoding and encoding * API: add buffer export interfaces for interop with 3rdparty APIs (EGL, OCL) * API: add suppor for encoder quality level * API: add attribute usage hint flag * Enhancement for VA trace utility * Add support for DRM Render-Nodes (Andrey Larionov) - removed obsolete patch libva-fix-rpmlint-error-no-return-in-non-void.patch * Fri Sep 27 2013 dimstar@opensuse.org - Introduce bcond_with wayland to easily control if the wayland support is to be built: + On openSUSE 13.1+ defaults to true + Create new subpackage vaapi-wayland-tools and libva-wayland1, containing the respective wayland support of libva. + BuilkdRequire pkgconfig(wayland-client). + Pass --enable/--disable-wayland to configure as appropriate. * Wed Jul 10 2013 hrvoje.senjan@gmail.com - updated to version 1.2.1: * fixed namespace issue with one of the new tools introduced as mpeg2enc. fdo#66221 * API: new H.264 encoding API for Baseline, Main and High profiles * API: add support for MPEG-2 encoding * API: add video processing interfaces * API: add vaQuerySurfaceAttributes() to query surface attributes supported by the underlying drivers. * API: new version of vaCreateSurfaces(), the old version of vaCreateSurfaces() is still supported if including * API: add new surface attributes to enable VA surface creation from external buffer * API: add new RT formats and fourcc codes * Refine VA trace utility * Refine H.264 encoding test cases {avcenc, h264enc} * A new test case for MPEG-2 encoding * A lot of bug fixes * Tue Mar 19 2013 kkhere.geo@gmail.com - Version 1.1.1 - 18.Mar.2013 This minor version brings the following changes: * Support wayland 1.0 protocol (Rob Bradford) * Automake 1.13 fixups (Armin K) * Tue Nov 13 2012 guillaume@opensuse.org - Remove Exclusive arch on x86* * Thu Oct 18 2012 kkhere.geo@gmail.com - fix rpmlint error no-return-in-nonvoid-function * Thu Oct 18 2012 kkhere.geo@gmail.com - packaging va backends seperately * Thu Oct 18 2012 kkhere.geo@gmail.com - previous bump to 1.1.0 was reverted upstream - Version 1.1.0 - 04.Oct.2012 * API: add Wayland support * API: add raw DRM support for headless pipelines * Fix generic VA/GLX implementation for newer cluttersink versions * Fix threading issues in VA objects reference code (+Krzysztof Kotlenga) * Fix build on Android Ice Cream Sandwich (+Haitao Huang, Daniel Charles) * Tue May 29 2012 kkhere.geo@gmail.com - get osc service localrun download_files to run * Tue May 29 2012 tiwai@suse.de - updated to version 1.1.0: * support of JPEG decoding * New hooks to create/free native pixmap * VA/EGL interfaces * Remove legacy DRI support * Fri May 25 2012 kkhere.geo@gmail.com - Remove nonexisting subpackage from baselibs.conf * Wed May 23 2012 kkhere.geo@gmail.com - Rename subpackage vaapi-drivers -> vaapi-dummy-driver since dummy is the only driver this package contains. - Let the library recommend the dummy driver in case no other is present * Tue May 22 2012 crrodriguez@opensuse.org - Remove intel-driver, it has been packaged separately with proper hardware "Supplements" so it gets installed only when needed. - Fix -devel package requires, otherwise dependant packages fail with missing headers wanted by files in /usr/include/va. * Fri Apr 13 2012 kkhere.geo@gmail.com - update intel driver to version 1.0.17 Version 1.0.17 - 02.Apr.2012 * Add support for IMC1/IMC3 surface formats * Fix rendering of interlaced surfaces * Fix MPEG-2 decoding of interlaced streams (SNB, IVB) * Fix H.264 weighted prediction indicator (SNB) * Fix and simplify calculation of H.264 macroblock bit offset (ILK, SNB, IVB) Version 1.0.16 - 14.Feb.2012 * Fix VC-1 bitplane buffer size (SNB, IVB) * Fix VC-1 motion vector modes for Ivy Bridge * Fix MFX_QM_STATE for H.264 flat scaling lists (IVB) * Fix and simplify AVC_REF_IDX_STATE setup (ILK, SNB, IVB) * Fix memory leak of encoder buffers * Fix check for internal VA surface format prior to rendering * Add support for B43 chipset (Alexander Inyukhin) * Wed Mar 21 2012 jengelh@medozas.de - Remove redundant sections, compress filelist - Enable parallel build - Use pkgconfig symbols for deps * Mon Feb 27 2012 dmueller@suse.de - exclude from build on ARM * Tue Feb 14 2012 sndirsch@suse.com - Update package BuildRequires to use pkgconfig symbols * Sat Nov 19 2011 coolo@suse.com - add libtool as buildrequire to avoid implicit dependency * Wed Nov 9 2011 kkhere.geo@gmail.com - new version 1.0.15 * API: make {Top,Bottom}FieldOrderCnt signed (Yi Wang) * Add auto-generated Debian packaging * Refine VA trace & VA fool utilities * Move i965 driver to a specific repository (vaapi/intel-driver) * Fix DSO link issue in tests * Fix fglrx driver name detection * Fix API vs. DSO vs. package versioning - intel-driver has been split from the library, use separate tarball - split the drivers into a separate package * Tue Aug 9 2011 kkhere.geo@gmail.com - new version 1.0.14 no NEWS released; changelog in git http://cgit.freedesktop.org/libva/ * Tue May 31 2011 kkhere.geo@gmail.com - new version 1.0.13 * cleans up licensing issue * IvyBrigde video decoding support * thread safety * Encoding support in SandyBridge * Fri Apr 1 2011 kkhere.geo@gmail.com - new version 1.0.12 * Mon Mar 28 2011 kkhere.geo@gmail.com - new version 1.0.11 * obsoletes patch - i965_dri_video: don't try to render an invalid surface * Thu Mar 3 2011 kkhere.geo@gmail.com - patch: i965_dri_video: don't try to render an invalid surface * Tue Feb 15 2011 kkhere.geo@gmail.com - new version 1.0.10 * Mon Jan 10 2011 kkhere.geo@gmail.com - new version 1.0.7 - support IA44 AI44 subpicture format in sandybridge * Sun Dec 19 2010 lnussel@suse.de - new version 1.0.6 * Fri Nov 5 2010 kkhere.geo@gmail.com - update to version 1.0.6 * Thu Sep 30 2010 kkhere.geo@gmail.com - update to version 1.0.5 * add scaling flags for vaPutSurface() * i965_drv_video: add video processing kernels * i965_drv_video: deinterlacing & scaling * Thu Sep 9 2010 kkhere.geo@gmail.com - update to version 1.0.4 * Tue Jun 8 2010 dimstar@opensuse.org - Split the library in libva1, the tools in vaapi-tools and the development in libva-devel. Both libraries can live in the same package as per policy: they are kept in sync with their soNUM. * Mon Jun 7 2010 dominique-vlc.suse@leuenberger.net - Initial package for VideoLAN repository, libva 1.0.1