Hello community, here is the log from the commit of package libva-utils for openSUSE:Factory checked in at 2019-08-24 18:47:47 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libva-utils (Old) and /work/SRC/openSUSE:Factory/.libva-utils.new.7948 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libva-utils" Sat Aug 24 18:47:47 2019 rev:8 rq:725683 version:2.5.0 Changes: -------- --- /work/SRC/openSUSE:Factory/libva-utils/libva-utils.changes 2019-07-08 15:11:00.691344310 +0200 +++ /work/SRC/openSUSE:Factory/.libva-utils.new.7948/libva-utils.changes 2019-08-24 18:47:54.505748597 +0200 @@ -1,0 +2,13 @@ +Fri Aug 23 19:59:27 UTC 2019 - Bjørn Lie <[email protected]> + +- Update to version 2.5.0: + * meson: rename the h264enc binary to be in line with the + autotools build. + * Unify NEWS format. + * sfcsample: don't include X11 headers. + * test: update vaInitialize_vaTerminate_Bad_vaSetDriverName. + * Check for -fstack-protector. + * vavpp: csc with AYUV format. + * vavpp: requires BGRA frame when saving a BGRA file. + +------------------------------------------------------------------- Old: ---- libva-utils-2.4.1.tar.gz New: ---- libva-utils-2.5.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libva-utils.spec ++++++ --- /var/tmp/diff_new_pack.XNJD8v/_old 2019-08-24 18:47:56.781748378 +0200 +++ /var/tmp/diff_new_pack.XNJD8v/_new 2019-08-24 18:47:56.805748375 +0200 @@ -17,14 +17,13 @@ Name: libva-utils -Version: 2.4.1 +Version: 2.5.0 Release: 0 Summary: A collection of utilities and examples to exercise VA-API License: MIT AND EPL-1.0 Group: Development/Tools/Other Url: https://github.com/intel/libva-utils -Source0: https://github.com/intel/libva-utils/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz -#Source1: https://github.com/intel/libva-utils/archive/%%{version}.tar.gz.sha1sum#/%{name}-%{version}.tar.gz.sha1sum +Source0: %{url}/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz BuildRequires: gcc-c++ BuildRequires: meson @@ -44,10 +43,12 @@ Obsoletes: vaapi-wayland-tools < %{version} %description -libva-utils is a collection of utilities and examples to exercise VA-API in accordance with the libva project. --enable-tests (default = no) provides a suite of unit-tests based on Google Test Framework. A driver implementation is necessary to properly operate. +libva-utils is a collection of utilities and examples to exercise +VA-API in accordance with the libva project. +A driver implementation is necessary to properly operate. %prep -%autosetup +%autosetup -p1 %build %meson \ @@ -65,7 +66,7 @@ %license COPYING %doc NEWS %{_bindir}/avcenc -%{_bindir}/h264enc +%{_bindir}/h264encode %{_bindir}/jpegenc %{_bindir}/loadjpeg %{_bindir}/mpeg2vaenc ++++++ libva-utils-2.4.1.tar.gz -> libva-utils-2.5.0.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-utils-2.4.1/NEWS new/libva-utils-2.5.0/NEWS --- old/libva-utils-2.4.1/NEWS 2019-04-10 00:07:32.000000000 +0200 +++ new/libva-utils-2.5.0/NEWS 2019-07-08 11:44:36.000000000 +0200 @@ -1,14 +1,24 @@ -libva-utils NEWS -- summary of changes. 2018-09-30 -Copyright (C) 2009-2018 Intel Corporation +libva-utils NEWS -- summary of changes. 2019-07-08 +Copyright (C) 2009-2019 Intel Corporation + +Version 2.5.0 - 8.Jul.2019 +* meson: rename the h264enc binary to be in line with the autotools build +* unify NEWS format +* sfcsample: don't include X11 headers +* test: update vaInitialize_vaTerminate_Bad_vaSetDriverName +* Check for -fstack-protector +* vavpp: csc with AYUV format +* vavpp: requires BGRA frame when saving a BGRA file + Version 2.4.0 - 1.Feb.2019 -fix make dist issue caused by decode streamout sample -add VP sample for Blending. -add VP seperate sample for scaling,csc,sharpness,denoise,chromasitting. +* fix make dist issue caused by decode streamout sample +* add VP sample for Blending. +* add VP seperate sample for scaling,csc,sharpness,denoise,chromasitting. Version 2.3.0 - 30.Sep.2018 -add HEVC encode sample code -Add sample code for avc decode streamout -Add VP8 sample encoder application (SVCT supported) +* add HEVC encode sample code +* Add sample code for avc decode streamout +* Add VP8 sample encoder application (SVCT supported) Version 2.2.0 - DD.Jul.2018 * Bump version to 2.2.0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-utils-2.4.1/configure.ac new/libva-utils-2.5.0/configure.ac --- old/libva-utils-2.4.1/configure.ac 2019-04-10 00:07:32.000000000 +0200 +++ new/libva-utils-2.5.0/configure.ac 2019-07-08 11:44:36.000000000 +0200 @@ -29,8 +29,8 @@ # - micro version is libva_micro_version # - pre version is libva_pre_version, usually development version m4_define([libva_utils_major_version], [2]) -m4_define([libva_utils_minor_version], [4]) -m4_define([libva_utils_micro_version], [1]) +m4_define([libva_utils_minor_version], [5]) +m4_define([libva_utils_micro_version], [0]) m4_define([libva_utils_pre_version], [0]) m4_define([libva_utils_version], @@ -129,6 +129,22 @@ [Defined to 1 if GCC visibility attribute is supported]) fi +# Check for -fstack-protector +ssp_cc=yes +if test "X$CC-cc" != "X"; then + AC_MSG_CHECKING([whether ${CC-cc} accepts -fstack-protector]) + ssp_old_cflags="$CFLAGS" + CFLAGS="$CFLAGS -fstack-protector" + AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[alloca(100);]])], [], [ssp_cc=no]) + AC_MSG_RESULT([$ssp_cc]) + if test "X$ssp_cc" = "Xno"; then + CFLAGS="$ssp_old_cflags" + else + AC_DEFINE([ENABLE_SSP_CC], 1, [Define if SSP C support is enabled.]) + fi +fi +AM_CONDITIONAL(USE_SSP, test "$ssp_cc" = "yes") + # Check for DRM (mandatory) LIBDRM_VERSION=libdrm_version PKG_CHECK_MODULES([DRM], [libdrm >= $LIBDRM_VERSION]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-utils-2.4.1/decode/Makefile.am new/libva-utils-2.5.0/decode/Makefile.am --- old/libva-utils-2.4.1/decode/Makefile.am 2019-04-10 00:07:32.000000000 +0200 +++ new/libva-utils-2.5.0/decode/Makefile.am 2019-07-08 11:44:36.000000000 +0200 @@ -24,11 +24,14 @@ AM_CPPFLAGS = \ -Wall \ - -fstack-protector \ $(LIBVA_CFLAGS) \ -I$(top_srcdir)/common \ $(NULL) +if USE_SSP +AM_CPPFLAGS += -fstack-protector +endif + TEST_LIBS = \ $(LIBVA_LIBS) \ $(top_builddir)/common/libva-display.la \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-utils-2.4.1/encode/Makefile.am new/libva-utils-2.5.0/encode/Makefile.am --- old/libva-utils-2.4.1/encode/Makefile.am 2019-04-10 00:07:32.000000000 +0200 +++ new/libva-utils-2.5.0/encode/Makefile.am 2019-07-08 11:44:36.000000000 +0200 @@ -25,10 +25,13 @@ AM_CPPFLAGS = \ -Wall \ - -fstack-protector \ $(LIBVA_CFLAGS) \ $(NULL) +if USE_SSP +AM_CPPFLAGS += -fstack-protector +endif + h264encode_SOURCES = h264encode.c h264encode_CFLAGS = -I$(top_srcdir)/common -g h264encode_LDADD = \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-utils-2.4.1/encode/meson.build new/libva-utils-2.5.0/encode/meson.build --- old/libva-utils-2.4.1/encode/meson.build 2019-04-10 00:07:32.000000000 +0200 +++ new/libva-utils-2.5.0/encode/meson.build 2019-07-08 11:44:36.000000000 +0200 @@ -5,7 +5,7 @@ executable('avcenc', [ 'avcenc.c' ], dependencies: [ libva_display_dep, threads ], install: true) -executable('h264enc', [ 'h264encode.c' ], +executable('h264encode', [ 'h264encode.c' ], dependencies: [ libva_display_dep, threads, m ], install: true) executable('mpeg2vaenc', [ 'mpeg2vaenc.c' ], diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-utils-2.4.1/meson.build new/libva-utils-2.5.0/meson.build --- old/libva-utils-2.4.1/meson.build 2019-04-10 00:07:32.000000000 +0200 +++ new/libva-utils-2.5.0/meson.build 2019-07-08 11:44:36.000000000 +0200 @@ -1,5 +1,5 @@ project('libva-utils', 'c', 'cpp', - version : '2.4.1', + version : '2.5.0', default_options : [ 'warning_level=2', 'c_std=gnu99', diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-utils-2.4.1/putsurface/Makefile.am new/libva-utils-2.5.0/putsurface/Makefile.am --- old/libva-utils-2.4.1/putsurface/Makefile.am 2019-04-10 00:07:32.000000000 +0200 +++ new/libva-utils-2.5.0/putsurface/Makefile.am 2019-07-08 11:44:36.000000000 +0200 @@ -26,9 +26,12 @@ $(LIBVA_CFLAGS) \ -I$(top_srcdir)/common \ -Wall \ - -fstack-protector \ $(NULL) +if USE_SSP +TEST_CFLAGS += -fstack-protector +endif + TEST_LIBS = \ $(LIBVA_LIBS) \ $(top_builddir)/common/libva-display.la \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-utils-2.4.1/test/test_va_api_init_terminate.cpp new/libva-utils-2.5.0/test/test_va_api_init_terminate.cpp --- old/libva-utils-2.4.1/test/test_va_api_init_terminate.cpp 2019-04-10 00:07:32.000000000 +0200 +++ new/libva-utils-2.5.0/test/test_va_api_init_terminate.cpp 2019-07-08 11:44:36.000000000 +0200 @@ -74,12 +74,32 @@ TEST_F(VAAPIInitTerminate, vaInitialize_vaTerminate_Bad_vaSetDriverName) { - char driver[4] = "bad"; + int major, minor; + VADisplay display = getDisplay(); ASSERT_TRUE(display); - EXPECT_STATUS_EQ( - VA_STATUS_ERROR_INVALID_PARAMETER, vaSetDriverName(display, driver)); + { // driver name length == 0 invalid + char driver[1] = ""; + EXPECT_STATUS_EQ( + VA_STATUS_ERROR_INVALID_PARAMETER, vaSetDriverName(display, driver)); + } + + { // driver name length >= 256 invalid + char driver[257]; + driver[256] = '\0'; + std::string(256, 'x').copy(driver, 256); + EXPECT_STATUS_EQ( + VA_STATUS_ERROR_INVALID_PARAMETER, vaSetDriverName(display, driver)); + } + + { // acceptable driver name, but does not exist + char driver[4] = "bad"; + EXPECT_STATUS(vaSetDriverName(display, driver)); + + EXPECT_STATUS_EQ( + VA_STATUS_ERROR_UNKNOWN, vaInitialize(display, &major, &minor)); + } EXPECT_STATUS(vaTerminate(display)); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-utils-2.4.1/vainfo/Makefile.am new/libva-utils-2.5.0/vainfo/Makefile.am --- old/libva-utils-2.4.1/vainfo/Makefile.am 2019-04-10 00:07:32.000000000 +0200 +++ new/libva-utils-2.5.0/vainfo/Makefile.am 2019-07-08 11:44:36.000000000 +0200 @@ -27,9 +27,12 @@ $(LIBVA_CFLAGS) \ -DLIBVA_VERSION_S="\"$(LIBVA_VERSION)\"" \ -Wall \ - -fstack-protector \ $(NULL) +if USE_SSP +vainfo_cflags += -fstack-protector +endif + vainfo_libs = \ $(LIBVA_LIBS) \ $(top_builddir)/common/libva-display.la \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-utils-2.4.1/vendor/intel/sfcsample/VDecAccelVA.cpp new/libva-utils-2.5.0/vendor/intel/sfcsample/VDecAccelVA.cpp --- old/libva-utils-2.4.1/vendor/intel/sfcsample/VDecAccelVA.cpp 2019-04-10 00:07:32.000000000 +0200 +++ new/libva-utils-2.5.0/vendor/intel/sfcsample/VDecAccelVA.cpp 2019-07-08 11:44:36.000000000 +0200 @@ -42,7 +42,6 @@ #include "VDecAccelVA.h" #include <va/va.h> #include <va/va_drm.h> -#include <va/va_x11.h> #define VASUCCEEDED(err) (err == VA_STATUS_SUCCESS) #define VAFAILED(err) (err != VA_STATUS_SUCCESS) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-utils-2.4.1/vendor/intel/sfcsample/VDecAccelVA.h new/libva-utils-2.5.0/vendor/intel/sfcsample/VDecAccelVA.h --- old/libva-utils-2.4.1/vendor/intel/sfcsample/VDecAccelVA.h 2019-04-10 00:07:32.000000000 +0200 +++ new/libva-utils-2.5.0/vendor/intel/sfcsample/VDecAccelVA.h 2019-07-08 11:44:36.000000000 +0200 @@ -39,9 +39,6 @@ #include <va/va.h> #include "DecodeParamBuffer.h" -#include <X11/Xlib.h> -typedef Display* HDISP; - namespace mvaccel { /** diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-utils-2.4.1/videoprocess/Makefile.am new/libva-utils-2.5.0/videoprocess/Makefile.am --- old/libva-utils-2.4.1/videoprocess/Makefile.am 2019-04-10 00:07:32.000000000 +0200 +++ new/libva-utils-2.5.0/videoprocess/Makefile.am 2019-07-08 11:44:36.000000000 +0200 @@ -24,11 +24,14 @@ AM_CPPFLAGS = \ -Wall \ - -fstack-protector \ $(LIBVA_CFLAGS) \ -I$(top_srcdir)/common \ $(NULL) +if USE_SSP +AM_CPPFLAGS += -fstack-protector +endif + TEST_LIBS = \ $(LIBVA_LIBS) \ $(top_builddir)/common/libva-display.la \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-utils-2.4.1/videoprocess/vavpp.cpp new/libva-utils-2.5.0/videoprocess/vavpp.cpp --- old/libva-utils-2.4.1/videoprocess/vavpp.cpp 2019-04-10 00:07:32.000000000 +0200 +++ new/libva-utils-2.5.0/videoprocess/vavpp.cpp 2019-07-08 11:44:36.000000000 +0200 @@ -374,8 +374,12 @@ } else if ((surface_image.format.fourcc == VA_FOURCC_YUY2 && g_src_file_fourcc == VA_FOURCC_YUY2) || (surface_image.format.fourcc == VA_FOURCC_UYVY && - g_src_file_fourcc == VA_FOURCC_UYVY)) { - frame_size = surface_image.width * surface_image.height * 2; + g_src_file_fourcc == VA_FOURCC_UYVY) || + (surface_image.format.fourcc == VA_FOURCC_AYUV && + g_src_file_fourcc == VA_FOURCC_AYUV)) { + uint32_t byte_per_pixel = (g_src_file_fourcc == VA_FOURCC_AYUV) ? 4 : 2; + + frame_size = surface_image.width * surface_image.height * byte_per_pixel; newImageBuffer = (unsigned char*)malloc(frame_size); assert(newImageBuffer); @@ -388,8 +392,8 @@ /* plane 0, directly copy */ for (row = 0; row < surface_image.height; row++) { - memcpy(y_dst, y_src, surface_image.width * 2); - y_src += surface_image.width * 2; + memcpy(y_dst, y_src, surface_image.width * byte_per_pixel); + y_src += surface_image.width * byte_per_pixel; y_dst += surface_image.pitches[0]; } } else if ((surface_image.format.fourcc == VA_FOURCC_P010 && @@ -829,8 +833,10 @@ /* store the surface to one YUY2 or UYVY file */ if (surface_image.format.fourcc == VA_FOURCC_YUY2 || - surface_image.format.fourcc == VA_FOURCC_UYVY) { - uint32_t frame_size = surface_image.width * surface_image.height * 2; + surface_image.format.fourcc == VA_FOURCC_UYVY || + surface_image.format.fourcc == VA_FOURCC_AYUV) { + uint32_t byte_per_pixel = (surface_image.format.fourcc == VA_FOURCC_AYUV ? 4 : 2); + uint32_t frame_size = surface_image.width * surface_image.height * byte_per_pixel; newImageBuffer = (unsigned char*)malloc(frame_size); assert(newImageBuffer); @@ -843,9 +849,9 @@ /* Plane 0 copy */ for (row = 0; row < surface_image.height; row++) { - memcpy(y_dst, y_src, surface_image.width * 2); + memcpy(y_dst, y_src, surface_image.width * byte_per_pixel); y_src += surface_image.pitches[0]; - y_dst += surface_image.width * 2; + y_dst += surface_image.width * byte_per_pixel; } /* write frame to file */ @@ -1022,7 +1028,9 @@ } else if ((g_out_fourcc == VA_FOURCC_YUY2 && g_dst_file_fourcc == VA_FOURCC_YUY2) || (g_out_fourcc == VA_FOURCC_UYVY && - g_dst_file_fourcc == VA_FOURCC_UYVY)) { + g_dst_file_fourcc == VA_FOURCC_UYVY) || + (g_out_fourcc == VA_FOURCC_AYUV && + g_dst_file_fourcc == VA_FOURCC_AYUV)) { return store_packed_yuv_surface_to_packed_file(fp, surface_id); } else if ((g_out_fourcc == VA_FOURCC_I010 && g_dst_file_fourcc == VA_FOURCC_I010) || @@ -1033,7 +1041,7 @@ g_dst_file_fourcc == VA_FOURCC_RGBA) || (g_out_fourcc == VA_FOURCC_RGBX && g_dst_file_fourcc == VA_FOURCC_RGBX) || - (g_out_fourcc == VA_FOURCC_RGBA && + (g_out_fourcc == VA_FOURCC_BGRA && g_dst_file_fourcc == VA_FOURCC_BGRA) || (g_out_fourcc == VA_FOURCC_BGRX && g_dst_file_fourcc == VA_FOURCC_BGRX)) { @@ -1624,9 +1632,12 @@ } else if (!strcmp(str, "BGRX")) { tfourcc = VA_FOURCC_BGRX; tformat = VA_RT_FORMAT_RGB32; + } else if (!strcmp(str, "AYUV")) { + tfourcc = VA_FOURCC_AYUV; + tformat = VA_RT_FORMAT_YUV444; } else{ printf("Not supported format: %s! Currently only support following format: %s\n", - str, "YV12, I420, NV12, YUY2(YUYV), UYVY, P010, I010, RGBA, RGBX, BGRA or BGRX"); + str, "YV12, I420, NV12, YUY2(YUYV), UYVY, AYUV, P010, I010, RGBA, RGBX, BGRA or BGRX"); assert(0); }
