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 2023-10-11 23:56:53 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libva-utils (Old) and /work/SRC/openSUSE:Factory/.libva-utils.new.1807 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libva-utils" Wed Oct 11 23:56:53 2023 rev:25 rq:1117025 version:2.20.0 Changes: -------- --- /work/SRC/openSUSE:Factory/libva-utils/libva-utils.changes 2023-07-24 18:26:39.594394534 +0200 +++ /work/SRC/openSUSE:Factory/.libva-utils.new.1807/libva-utils.changes 2023-10-12 11:45:38.960680209 +0200 @@ -1,0 +2,6 @@ +Wed Oct 11 14:34:09 UTC 2023 - Bjørn Lie <[email protected]> + +- Update to version 2.20.0: + * test: Enable AV1 encode test. + +------------------------------------------------------------------- Old: ---- libva-utils-2.19.0.tar.gz New: ---- libva-utils-2.20.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libva-utils.spec ++++++ --- /var/tmp/diff_new_pack.ofYoja/_old 2023-10-12 11:45:39.720707711 +0200 +++ /var/tmp/diff_new_pack.ofYoja/_new 2023-10-12 11:45:39.720707711 +0200 @@ -17,7 +17,7 @@ Name: libva-utils -Version: 2.19.0 +Version: 2.20.0 Release: 0 Summary: A collection of utilities and examples to exercise VA-API License: EPL-1.0 AND MIT ++++++ libva-utils-2.19.0.tar.gz -> libva-utils-2.20.0.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-utils-2.19.0/NEWS new/libva-utils-2.20.0/NEWS --- old/libva-utils-2.19.0/NEWS 2023-07-04 10:25:59.000000000 +0200 +++ new/libva-utils-2.20.0/NEWS 2023-09-14 10:13:19.000000000 +0200 @@ -1,6 +1,9 @@ -libva-utils NEWS -- summary of changes. 2023-07-04 +libva-utils NEWS -- summary of changes. 2023-09-14 Copyright (C) 2009-2023 Intel Corporation +Version 2.2020.0 - 14.Sep.2023 +* test: Enable AV1 encode test + Version 2.19.0 - 04.Jul.2023 * add: Add support for VAConfigAttribEncHEVCBlockSizes & VAConfigAttribEncHEVCFeatures for hevcencode. * ci:Update ubuntu.yml to remove ubuntu 18.04 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-utils-2.19.0/configure.ac new/libva-utils-2.20.0/configure.ac --- old/libva-utils-2.19.0/configure.ac 2023-07-04 10:25:59.000000000 +0200 +++ new/libva-utils-2.20.0/configure.ac 2023-09-14 10:13:19.000000000 +0200 @@ -29,7 +29,7 @@ # - 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], [19]) +m4_define([libva_utils_minor_version], [20]) m4_define([libva_utils_micro_version], [0]) m4_define([libva_utils_pre_version], [0]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-utils-2.19.0/encode/av1encode.c new/libva-utils-2.20.0/encode/av1encode.c --- old/libva-utils-2.19.0/encode/av1encode.c 2023-07-04 10:25:59.000000000 +0200 +++ new/libva-utils-2.20.0/encode/av1encode.c 2023-09-14 10:13:19.000000000 +0200 @@ -511,6 +511,8 @@ static SH sh; struct BitOffsets offsets; +//Default entrypoint for Encode +static VAEntrypoint requested_entrypoint = -1; static unsigned long long current_frame_encoding = 0; static unsigned long long current_frame_display = 0; @@ -653,9 +655,11 @@ printf(" --height <number>\n"); printf(" --width <number>\n"); printf(" --base_q_idx <number> 1-255\n"); + printf(" --normal_mode select VAEntrypointEncSlice as entrypoint\n"); + printf(" --low_power_mode select VAEntrypointEncSliceLP as entrypoint\n"); printf(" sample usage"); - printf("./av1encode -n 8 -f 30 --intra_period 4 --ip_period 1 --rcmode CQP --srcyuv ./input.yuv --recyuv ./rec.yuv --fourcc IYUV --level 8 --height 1080 --width 1920 --base_q_idx 128 -o ./out.av1 -t 3360000 -u 210 -d 420 --LDB"); + printf("./av1encode -n 8 -f 30 --intra_period 4 --ip_period 1 --rcmode CQP --srcyuv ./input.yuv --recyuv ./rec.yuv --fourcc IYUV --level 8 --height 1080 --width 1920 --base_q_idx 128 -o ./out.av1 -t 3360000 -u 210 -d 420 --LDB --low_power_mode"); } @@ -679,6 +683,8 @@ {"width", required_argument, NULL, 11 }, {"base_q_idx", required_argument, NULL, 12}, {"LDB", no_argument, NULL, 13}, + {"normal_mode", no_argument, NULL, 14}, + {"low_power_mode", no_argument, NULL, 15}, {NULL, no_argument, NULL, 0 } }; @@ -739,6 +745,12 @@ case 13: ips.LDB = 1; break; + case 14: + requested_entrypoint = VAEntrypointEncSlice; + break; + case 15: + requested_entrypoint = VAEntrypointEncSliceLP; + break; case 't': ips.target_bitrate = atoi(optarg); break; @@ -875,7 +887,43 @@ va_status = vaInitialize(va_dpy, &major_ver, &minor_ver); CHECK_VASTATUS(va_status, "vaInitialize"); av1_profile = VAProfileAV1Profile0; - entryPoint = VAEntrypointEncSliceLP; + + // select entrypoint + + int num_entrypoints = vaMaxNumEntrypoints(va_dpy); + VAEntrypoint* entrypoints = malloc(num_entrypoints * sizeof(*entrypoints)); + if (!entrypoints) { + fprintf(stderr, "error: failed to initialize VA entrypoints array\n"); + exit(1); + } + + vaQueryConfigEntrypoints(va_dpy, av1_profile, entrypoints, &num_entrypoints); + int support_encode = 0; + for (int slice_entrypoint = 0; slice_entrypoint < num_entrypoints; slice_entrypoint++) + { + 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; + 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; + entryPoint = entrypoints[slice_entrypoint]; + break; + } + } + + if(entrypoints) + free(entrypoints); + + if (support_encode == 0) { + printf("Can't find avaiable or requested entrypoints for AV1 profiles\n"); + exit(1); + } unsigned int i; for (i = 0; i < VAConfigAttribTypeMax; i++) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-utils-2.19.0/meson.build new/libva-utils-2.20.0/meson.build --- old/libva-utils-2.19.0/meson.build 2023-07-04 10:25:59.000000000 +0200 +++ new/libva-utils-2.20.0/meson.build 2023-09-14 10:13:19.000000000 +0200 @@ -1,5 +1,5 @@ project('libva-utils', 'c', 'cpp', - version : '2.19.0', + version : '2.20.0', default_options : [ 'warning_level=2', 'c_std=gnu99', diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-utils-2.19.0/test/test_data.h new/libva-utils-2.20.0/test/test_data.h --- old/libva-utils-2.19.0/test/test_data.h 2023-07-04 10:25:59.000000000 +0200 +++ new/libva-utils-2.20.0/test/test_data.h 2023-09-14 10:13:19.000000000 +0200 @@ -59,7 +59,11 @@ VAProfileVP9Profile1, VAProfileVP9Profile2, VAProfileVP9Profile3, -#if VA_CHECK_VERSION(1,18,0) +#if VA_CHECK_VERSION(1,8,0) + VAProfileAV1Profile0, + VAProfileAV1Profile1, +#endif +#if VA_CHECK_VERSION(1,18,0) VAProfileH264High10, #endif }; @@ -110,6 +114,12 @@ VAProfileVP9Profile3, }; +static const Profiles g_vaAV1Profiles = { +#if VA_CHECK_VERSION(1,8,0) + VAProfileAV1Profile0, VAProfileAV1Profile1, +#endif +}; + static const Entrypoints g_vaEntrypoints = { VAEntrypointVLD, VAEntrypointIZZ, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-utils-2.19.0/test/test_va_api_createbuffer.cpp new/libva-utils-2.20.0/test/test_va_api_createbuffer.cpp --- old/libva-utils-2.19.0/test/test_va_api_createbuffer.cpp 2023-07-04 10:25:59.000000000 +0200 +++ new/libva-utils-2.20.0/test/test_va_api_createbuffer.cpp 2023-09-14 10:13:19.000000000 +0200 @@ -145,6 +145,7 @@ make_tuple(g_vaVP8Profiles, sizeof(VAEncSequenceParameterBufferVP8)), make_tuple(g_vaHEVCProfiles, sizeof(VAEncSequenceParameterBufferHEVC)), make_tuple(g_vaVP9Profiles, sizeof(VAEncSequenceParameterBufferVP9)), + make_tuple(g_vaAV1Profiles, sizeof(VAEncSequenceParameterBufferAV1)), } }, { @@ -157,6 +158,7 @@ make_tuple(g_vaVP8Profiles, sizeof(VAEncPictureParameterBufferVP8)), make_tuple(g_vaHEVCProfiles, sizeof(VAEncPictureParameterBufferHEVC)), make_tuple(g_vaVP9Profiles, sizeof(VAEncPictureParameterBufferVP9)), + make_tuple(g_vaAV1Profiles, sizeof(VAEncPictureParameterBufferAV1)), } }, { @@ -165,16 +167,19 @@ make_tuple(g_vaH264Profiles, sizeof(VAEncSliceParameterBufferH264)), make_tuple(g_vaJPEGProfiles, sizeof(VAEncSliceParameterBufferJPEG)), make_tuple(g_vaHEVCProfiles, sizeof(VAEncSliceParameterBufferHEVC)), + make_tuple(g_vaAV1Profiles, sizeof(VAEncPictureParameterBufferAV1)), } }, { VAEncPackedHeaderParameterBufferType, { make_tuple(g_vaProfiles, sizeof(VAEncPackedHeaderParameterBuffer)), + make_tuple(g_vaAV1Profiles, sizeof(VAEncPictureParameterBufferAV1)), } }, { VAEncMiscParameterBufferType, { make_tuple(g_vaProfiles, sizeof(VAEncMiscParameterBuffer)), + make_tuple(g_vaAV1Profiles, sizeof(VAEncPictureParameterBufferAV1)), } }, };
