Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package libva-utils for openSUSE:Factory checked in at 2021-04-21 20:59:26 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libva-utils (Old) and /work/SRC/openSUSE:Factory/.libva-utils.new.12324 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libva-utils" Wed Apr 21 20:59:26 2021 rev:16 rq:886801 version:2.11.1 Changes: -------- --- /work/SRC/openSUSE:Factory/libva-utils/libva-utils.changes 2021-01-04 19:09:23.155390145 +0100 +++ /work/SRC/openSUSE:Factory/.libva-utils.new.12324/libva-utils.changes 2021-04-21 20:59:45.110234648 +0200 @@ -1,0 +2,11 @@ +Mon Apr 19 20:42:33 UTC 2021 - Aaron Stern <ukbeas...@protonmail.com> + +- update to 2.11.1: + * vainfo: add VA_RC_TCBRC to reported caps list + * jpegenc: Allow encoding a 4K frame + * h264encode: Added low_power command line option + * test_va_api: Enable new caps for VAConfigAttribEncryption + * ci: upgrade FreeBSD to 12.2 + * ci: enable github actions + +------------------------------------------------------------------- Old: ---- libva-utils-2.10.0.tar.gz New: ---- libva-utils-2.11.1.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libva-utils.spec ++++++ --- /var/tmp/diff_new_pack.eiRZax/_old 2021-04-21 20:59:45.678235543 +0200 +++ /var/tmp/diff_new_pack.eiRZax/_new 2021-04-21 20:59:45.678235543 +0200 @@ -17,7 +17,7 @@ Name: libva-utils -Version: 2.10.0 +Version: 2.11.1 Release: 0 Summary: A collection of utilities and examples to exercise VA-API License: MIT AND EPL-1.0 ++++++ libva-utils-2.10.0.tar.gz -> libva-utils-2.11.1.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-utils-2.10.0/.github/workflows/freebsd.yml new/libva-utils-2.11.1/.github/workflows/freebsd.yml --- old/libva-utils-2.10.0/.github/workflows/freebsd.yml 1970-01-01 01:00:00.000000000 +0100 +++ new/libva-utils-2.11.1/.github/workflows/freebsd.yml 2021-03-30 16:22:33.000000000 +0200 @@ -0,0 +1,43 @@ +name: freebsd + +on: + push: + paths-ignore: + - '.github/workflows/**' + - '!.github/workflows/freebsd.yml' + pull_request: + paths-ignore: + - '.github/workflows/**' + - '!.github/workflows/freebsd.yml' + +jobs: + freebsd: + runs-on: macos-latest + steps: + - name: checkout libva + uses: actions/checkout@v2 + with: + repository: intel/libva + path: libva + - name: checkout libva-utils + uses: actions/checkout@v2 + with: + path: libva-utils + - name: test + uses: vmactions/freebsd-vm@v0.1.2 + with: + prepare: | + pkg install -y meson pkgconf libdrm libXext libXfixes wayland + pkg install -y -x '^mesa($|-libs)' + run: | + set PREFIX="$PWD/_install" + set LIBDIR="$PREFIX/lib" + setenv PKG_CONFIG_PATH $LIBDIR/pkgconfig + cd libva + meson --prefix=$PREFIX --libdir=$LIBDIR _build + meson compile -C _build + meson install -C _build + cd ../libva-utils + meson --prefix=$PREFIX --libdir=$LIBDIR _build + meson compile -C _build + meson install -C _build diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-utils-2.10.0/.github/workflows/ubuntu.yml new/libva-utils-2.11.1/.github/workflows/ubuntu.yml --- old/libva-utils-2.10.0/.github/workflows/ubuntu.yml 1970-01-01 01:00:00.000000000 +0100 +++ new/libva-utils-2.11.1/.github/workflows/ubuntu.yml 2021-03-30 16:22:33.000000000 +0200 @@ -0,0 +1,86 @@ +name: ubuntu + +on: + push: + paths-ignore: + - '.github/workflows/**' + - '!.github/workflows/ubuntu.yml' + pull_request: + paths-ignore: + - '.github/workflows/**' + - '!.github/workflows/ubuntu.yml' + +jobs: + ubuntu-20-04: + runs-on: ubuntu-20.04 + steps: + - name: checkout libva + uses: actions/checkout@v2 + with: + repository: intel/libva + path: libva + - name: checkout libva-utils + uses: actions/checkout@v2 + with: + path: libva-utils + - name: install prerequisites + run: | + sudo apt-get update + sudo apt-get install -y --no-install-recommends \ + libdrm-dev \ + libegl1-mesa-dev \ + libgl1-mesa-dev \ + libx11-dev \ + libxext-dev \ + libxfixes-dev \ + libwayland-dev + - name: build libva + run: | + cd libva + ./autogen.sh --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu + make -j$(nproc) + sudo make install + - name: build libva-utils + run: | + cd libva-utils + ./autogen.sh --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu + make -j$(nproc) + make check + sudo make install + + ubuntu-18-04: + runs-on: ubuntu-18.04 + steps: + - name: checkout libva + uses: actions/checkout@v2 + with: + repository: intel/libva + path: libva + - name: checkout libva-utils + uses: actions/checkout@v2 + with: + path: libva-utils + - name: install prerequisites + run: | + sudo apt-get update + sudo apt-get install -y --no-install-recommends \ + libdrm-dev \ + libegl1-mesa-dev \ + libgl1-mesa-dev \ + libx11-dev \ + libxext-dev \ + libxfixes-dev \ + libwayland-dev + - name: build libva + run: | + cd libva + ./autogen.sh --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu + make -j$(nproc) + sudo make install + - name: build libva-utils + run: | + cd libva-utils + ./autogen.sh --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu + make -j$(nproc) + make check + sudo make install diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-utils-2.10.0/NEWS new/libva-utils-2.11.1/NEWS --- old/libva-utils-2.10.0/NEWS 2020-12-18 15:58:21.000000000 +0100 +++ new/libva-utils-2.11.1/NEWS 2021-03-30 16:22:33.000000000 +0200 @@ -1,6 +1,14 @@ -libva-utils NEWS -- summary of changes. 2020-12-18 +libva-utils NEWS -- summary of changes. 2021-3-23 Copyright (C) 2009-2020 Intel Corporation +Version 2.11.0 - 23.Mar.2020 +* vainfo: add VA_RC_TCBRC to reported caps list +* jpegenc: Allow encoding a 4K frame +* h264encode: Added low_power command line option +* test_va_api: Enable new caps for VAConfigAttribEncryption +* ci: upgrade FreeBSD to 12.2 +* ci: enable github actions + Version 2.10.0 - 18.Dec.2020 * add Mediacopy Sample code * Enable new caps for rate control TCBRC diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-utils-2.10.0/configure.ac new/libva-utils-2.11.1/configure.ac --- old/libva-utils-2.10.0/configure.ac 2020-12-18 15:58:21.000000000 +0100 +++ new/libva-utils-2.11.1/configure.ac 2021-03-30 16:22:33.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], [10]) -m4_define([libva_utils_micro_version], [0]) +m4_define([libva_utils_minor_version], [11]) +m4_define([libva_utils_micro_version], [1]) m4_define([libva_utils_pre_version], [0]) m4_define([libva_utils_version], diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-utils-2.10.0/encode/h264encode.c new/libva-utils-2.11.1/encode/h264encode.c --- old/libva-utils-2.10.0/encode/h264encode.c 2020-12-18 15:58:21.000000000 +0100 +++ new/libva-utils-2.11.1/encode/h264encode.c 2021-03-30 16:22:33.000000000 +0200 @@ -174,6 +174,10 @@ static unsigned int SavePictureTicks=0; static unsigned int TotalTicks=0; +//Default entrypoint for Encode +static VAEntrypoint requested_entrypoint = -1; +static VAEntrypoint selected_entrypoint = -1; + struct __bitstream { unsigned int *buffer; int bit_offset; @@ -860,6 +864,7 @@ printf(" --enablePSNR calculate PSNR of recyuv vs. srcyuv\n"); printf(" --entropy <0|1>, 1 means cabac, 0 cavlc\n"); printf(" --profile <BP|MP|HP>\n"); + printf(" --low_power <num> 0: Normal mode, 1: Low power mode, others: auto mode\n"); return 0; } @@ -885,6 +890,7 @@ {"framecount", required_argument, NULL, 16 }, {"entropy", required_argument, NULL, 17 }, {"profile", required_argument, NULL, 18 }, + {"low_power", required_argument, NULL, 19 }, {NULL, no_argument, NULL, 0 }}; int long_index; @@ -978,6 +984,17 @@ else h264_profile = 0; break; + case 19: + { + int lp_option = atoi(optarg); + if (lp_option == 0) + requested_entrypoint = VAEntrypointEncSlice; //normal 0 + else if (lp_option == 1) + requested_entrypoint = VAEntrypointEncSliceLP; //low power 1 + else + requested_entrypoint = -1; + } + break; case ':': case '?': print_help(); @@ -1088,17 +1105,29 @@ h264_profile = profile_list[i]; vaQueryConfigEntrypoints(va_dpy, h264_profile, entrypoints, &num_entrypoints); for (slice_entrypoint = 0; slice_entrypoint < num_entrypoints; slice_entrypoint++) { - if (entrypoints[slice_entrypoint] == VAEntrypointEncSlice) { + if (requested_entrypoint == -1 ) { + //Select the entry point based on what is avaiable + if ( (entrypoints[slice_entrypoint] == VAEntrypointEncSlice) || + (entrypoints[slice_entrypoint] == VAEntrypointEncSliceLP) ) { + support_encode = 1; + selected_entrypoint = entrypoints[slice_entrypoint]; + break; + } + } else if ((entrypoints[slice_entrypoint] == requested_entrypoint)) { + //Select the entry point based on what was requested in cmd line option support_encode = 1; + selected_entrypoint = entrypoints[slice_entrypoint]; break; } } - if (support_encode == 1) + if (support_encode == 1) { + printf("Using EntryPoint - %d \n",selected_entrypoint); break; + } } if (support_encode == 0) { - printf("Can't find VAEntrypointEncSlice for H264 profiles\n"); + printf("Can't find VAEntrypointEncSlice or VAEntrypointEncSliceLP for H264 profiles\n"); exit(1); } else { switch (h264_profile) { @@ -1130,7 +1159,7 @@ for (i = 0; i < VAConfigAttribTypeMax; i++) attrib[i].type = i; - va_status = vaGetConfigAttributes(va_dpy, h264_profile, VAEntrypointEncSlice, + va_status = vaGetConfigAttributes(va_dpy, h264_profile, selected_entrypoint, &attrib[0], VAConfigAttribTypeMax); CHECK_VASTATUS(va_status, "vaGetConfigAttributes"); /* check the interested configattrib */ @@ -1272,7 +1301,7 @@ VASurfaceID *tmp_surfaceid; int codedbuf_size, i; - va_status = vaCreateConfig(va_dpy, h264_profile, VAEntrypointEncSlice, + va_status = vaCreateConfig(va_dpy, h264_profile, selected_entrypoint, &config_attrib[0], config_attrib_num, &config_id); CHECK_VASTATUS(va_status, "vaCreateConfig"); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-utils-2.10.0/encode/jpegenc.c new/libva-utils-2.11.1/encode/jpegenc.c --- old/libva-utils-2.10.0/encode/jpegenc.c 2020-12-18 15:58:21.000000000 +0100 +++ new/libva-utils-2.11.1/encode/jpegenc.c 2021-03-30 16:22:33.000000000 +0200 @@ -489,7 +489,7 @@ VAImage surface_image; VAStatus va_status; void *surface_p = NULL; - unsigned char newImageBuffer[frame_size]; + unsigned char *newImageBuffer; unsigned char *y_src, *u_src, *v_src; unsigned char *y_dst, *u_dst; int y_size = picture_width * picture_height; @@ -500,6 +500,12 @@ //u_size is used for I420, NV12 formats only u_size = ((picture_width >> 1) * (picture_height >> 1)); + newImageBuffer = malloc(frame_size); + if(newImageBuffer == NULL) + { + printf("ERROR......upload_yuv_to_surface malloc failed"); + exit(1); + } memset(newImageBuffer,0,frame_size); do { n_items = fread(newImageBuffer, frame_size, 1, yuv_fp); @@ -574,6 +580,7 @@ vaUnmapBuffer(va_dpy, surface_image.buf); vaDestroyImage(va_dpy, surface_image.image_id); + free(newImageBuffer); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-utils-2.10.0/meson.build new/libva-utils-2.11.1/meson.build --- old/libva-utils-2.10.0/meson.build 2020-12-18 15:58:21.000000000 +0100 +++ new/libva-utils-2.11.1/meson.build 2021-03-30 16:22:33.000000000 +0200 @@ -1,5 +1,5 @@ project('libva-utils', 'c', 'cpp', - version : '2.10.0', + version : '2.11.1', default_options : [ 'warning_level=2', 'c_std=gnu99', diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-utils-2.10.0/test/test_data.h new/libva-utils-2.11.1/test/test_data.h --- old/libva-utils-2.10.0/test/test_data.h 2020-12-18 15:58:21.000000000 +0100 +++ new/libva-utils-2.11.1/test/test_data.h 2021-03-30 16:22:33.000000000 +0200 @@ -229,6 +229,15 @@ VA_FEI_FUNCTION_ENC, VA_FEI_FUNCTION_PAK, VA_FEI_FUNCTION_ENC_PAK, }; +#if VA_CHECK_VERSION(1, 11, 0) +static const BitMasks g_vaEncryptionTypes = { + VA_ENCRYPTION_TYPE_FULLSAMPLE_CTR, + VA_ENCRYPTION_TYPE_FULLSAMPLE_CBC, + VA_ENCRYPTION_TYPE_SUBSAMPLE_CTR, + VA_ENCRYPTION_TYPE_SUBSAMPLE_CBC, +}; +#endif + static const std::map<VAConfigAttribType, const BitMasks&> g_vaConfigAttribBitMasks = { {VAConfigAttribRTFormat, g_vaRTFormats}, @@ -237,6 +246,9 @@ {VAConfigAttribEncPackedHeaders, g_vaEncPackedHeaders}, {VAConfigAttribEncInterlaced, g_vaEncInterlaced}, {VAConfigAttribFEIFunctionType, g_vaFEIFunctionTypes}, +#if VA_CHECK_VERSION(1, 11, 0) + {VAConfigAttribEncryption, g_vaEncryptionTypes}, +#endif }; static const BitMasks g_vaSurfaceMemTypes = { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-utils-2.10.0/vainfo/vainfo.c new/libva-utils-2.11.1/vainfo/vainfo.c --- old/libva-utils-2.10.0/vainfo/vainfo.c 2020-12-18 15:58:21.000000000 +0100 +++ new/libva-utils-2.11.1/vainfo/vainfo.c 2021-03-30 16:22:33.000000000 +0200 @@ -183,6 +183,7 @@ {VA_RC_PARALLEL, "VA_RC_PARALLEL"}, {VA_RC_QVBR, "VA_RC_QVBR"}, {VA_RC_AVBR, "VA_RC_AVBR"}, + {VA_RC_TCBRC, "VA_RC_TCBRC"}, }; printf(" %-39s: ", vaConfigAttribTypeStr(attrib_list[VAConfigAttribRateControl].type)); for (i = 0, n = 0; i < sizeof(list)/sizeof(list[0]); i++) {