Sync from SUSE:SLFO:Main libaom revision 6e4c011dae010699bd5c8625a838f97d
This commit is contained in:
commit
16731d17f7
23
.gitattributes
vendored
Normal file
23
.gitattributes
vendored
Normal file
@ -0,0 +1,23 @@
|
||||
## Default LFS
|
||||
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||
*.bsp filter=lfs diff=lfs merge=lfs -text
|
||||
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.gem filter=lfs diff=lfs merge=lfs -text
|
||||
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||
*.jar filter=lfs diff=lfs merge=lfs -text
|
||||
*.lz filter=lfs diff=lfs merge=lfs -text
|
||||
*.lzma filter=lfs diff=lfs merge=lfs -text
|
||||
*.obscpio filter=lfs diff=lfs merge=lfs -text
|
||||
*.oxt filter=lfs diff=lfs merge=lfs -text
|
||||
*.pdf filter=lfs diff=lfs merge=lfs -text
|
||||
*.png filter=lfs diff=lfs merge=lfs -text
|
||||
*.rpm filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||
*.ttf filter=lfs diff=lfs merge=lfs -text
|
||||
*.txz filter=lfs diff=lfs merge=lfs -text
|
||||
*.whl filter=lfs diff=lfs merge=lfs -text
|
||||
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||
*.zst filter=lfs diff=lfs merge=lfs -text
|
3
_multibuild
Normal file
3
_multibuild
Normal file
@ -0,0 +1,3 @@
|
||||
<multibuild>
|
||||
<package>doc</package>
|
||||
</multibuild>
|
16
_service
Normal file
16
_service
Normal file
@ -0,0 +1,16 @@
|
||||
<services>
|
||||
<service name="obs_scm" mode="manual">
|
||||
<param name="scm">git</param>
|
||||
<param name="url">https://aomedia.googlesource.com/aom.git</param>
|
||||
<param name="filename">libaom</param>
|
||||
<param name="versionformat">@PARENT_TAG@</param>
|
||||
<param name="versionrewrite-pattern">v([0-9\.]*)</param>
|
||||
<param name="revision">v3.7.1</param>
|
||||
</service>
|
||||
<service name="tar" mode="buildtime" />
|
||||
<service name="recompress" mode="buildtime">
|
||||
<param name="file">*.tar</param>
|
||||
<param name="compression">zst</param>
|
||||
</service>
|
||||
<service name="set_version" mode="manual"/>
|
||||
</services>
|
1
baselibs.conf
Normal file
1
baselibs.conf
Normal file
@ -0,0 +1 @@
|
||||
libaom3
|
14
libaom-0001-Do-not-disable-_FORTIFY_SOURCE.patch
Normal file
14
libaom-0001-Do-not-disable-_FORTIFY_SOURCE.patch
Normal file
@ -0,0 +1,14 @@
|
||||
diff --git a/build/cmake/aom_configure.cmake b/build/cmake/aom_configure.cmake
|
||||
index 43d60ae3d..175339178 100644
|
||||
--- a/build/cmake/aom_configure.cmake
|
||||
+++ b/build/cmake/aom_configure.cmake
|
||||
@@ -321,9 +321,6 @@ else()
|
||||
add_compiler_flag_if_supported("-Werror")
|
||||
endif()
|
||||
|
||||
- if(build_type_lowercase MATCHES "rel")
|
||||
- add_compiler_flag_if_supported("-U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0")
|
||||
- endif()
|
||||
add_compiler_flag_if_supported("-D_LARGEFILE_SOURCE")
|
||||
add_compiler_flag_if_supported("-D_FILE_OFFSET_BITS=64")
|
||||
endif()
|
BIN
libaom-3.7.1.obscpio
(Stored with Git LFS)
Normal file
BIN
libaom-3.7.1.obscpio
(Stored with Git LFS)
Normal file
Binary file not shown.
771
libaom.changes
Normal file
771
libaom.changes
Normal file
@ -0,0 +1,771 @@
|
||||
-------------------------------------------------------------------
|
||||
Tue Dec 5 19:20:33 UTC 2023 - Bjørn Lie <bjorn.lie@gmail.com>
|
||||
|
||||
- Update to version 3.7.1:
|
||||
* Bug Fixes:
|
||||
- aomedia:3349: heap overflow when increasing resolution
|
||||
- aomedia:3478: GCC 12.2.0 emits a -Wstringop-overflow warning
|
||||
on aom/av1/encoder/motion_search_facade.c
|
||||
- aomedia:3489: Detect encoder and image high bit depth
|
||||
mismatch
|
||||
- aomedia:3491: heap-buffer-overflow on frame size change
|
||||
- b/303023614: Segfault at encoding time for high bit depth
|
||||
images
|
||||
- Switch buildtime compression to zst.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Sep 5 17:21:29 UTC 2023 - Bruno Pitrus <brunopitrus@hotmail.com>
|
||||
|
||||
- Split docs to multibuild to avoid dependency cycle
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Sep 1 21:23:32 UTC 2023 - Bruno Pitrus <brunopitrus@hotmail.com>
|
||||
|
||||
- New upstream release 3.7.0
|
||||
- New Features
|
||||
* New codec controls:
|
||||
* AV1E_SET_QUANTIZER_ONE_PASS: Set quantizer for each frame.
|
||||
* AV1E_ENABLE_RATE_GUIDE_DELTAQ: enable the rate distribution guided delta
|
||||
quantization in all intra mode. The "enable-rate-guide-deltaq" option is
|
||||
added for this control.
|
||||
* AV1E_SET_RATE_DISTRIBUTION_INFO: set the input file for rate
|
||||
distribution used in all intra mode. The "rate-distribution-info" option
|
||||
is added for this control.
|
||||
* AV1E_GET_LUMA_CDEF_STRENGTH
|
||||
* AV1E_SET_BITRATE_ONE_PASS_CBR
|
||||
* AOM_SCALING_MODE is extended to include 2/3 and 1/3 scaling.
|
||||
* aom_tune_metric is extended to include AOM_TUNE_VMAF_SALIENCY_MAP.
|
||||
The "tune" option is extended to include "vmaf_saliency_map".
|
||||
* SVC example encoder svc_encoder_rtc is able to use the rate control
|
||||
library.
|
||||
* Loopfilter level and CDEF filter level is supported by RTC rate control
|
||||
library.
|
||||
* New speed (--cpu-used) 11, intended for RTC screen sharing, added for
|
||||
faster encoding with ~3% bdrate loss with 16% IC (instruction count)
|
||||
speedup compared to speed 10.
|
||||
- Compression Efficiency Improvements
|
||||
* Improved VoD encoding performance
|
||||
* 0.1-0.6% BDrate gains for encoding speeds 2 to 6
|
||||
* Rate control accuracy improvement in VBR mode
|
||||
* RTC encoding improvements
|
||||
* Screen content mode: 10-19% BDrate gains for speeds 6 - 10
|
||||
* Temporal layers video mode, for speed 10:
|
||||
* 2 temporal layers on low resolutions: 13-15% BDrate gain
|
||||
* 3 temporal layers on VGA/HD: 3-4% BDrate gain
|
||||
- Perceptual Quality Improvements
|
||||
* Fixed multiple block and color artifacts for RTC screen content by
|
||||
* Incorporating color into RD cost for IDTX
|
||||
* Reducing thresholds for palette mode in non RD mode
|
||||
* Allowing more palette mode testing
|
||||
* Improved color sensitivity for altref in non-RD mode.
|
||||
* Reduced video flickering for temporal layer encoding.
|
||||
- Speedup and Memory Optimizations
|
||||
* Speed up the VoD encoder
|
||||
* 2-5% for encoding speed 2 to 4
|
||||
* 9-15% for encoding speed 5 to 6
|
||||
* ARM
|
||||
* Standard bitdepth
|
||||
* speed 5: +31%
|
||||
* speed 4: +2%
|
||||
* speed 3: +9%
|
||||
* speed 2: +157%
|
||||
* High bitdepth
|
||||
* speed 5: +85%
|
||||
* RTC speedups
|
||||
* Screen content mode
|
||||
* 15% IC speedup for speeds 6-8
|
||||
* ARM: 7% for speed 9, 3% for speed 10
|
||||
* Temporal layers video mode
|
||||
* 7% speedup for 3 temporal layers on VGA/HD, for speed 10
|
||||
* Single layer video
|
||||
* x86: 2% IC speedup for speeds 7-10
|
||||
* ARM: 2-4% speedup across speeds 5-10
|
||||
- Bug Fixes
|
||||
* aomedia:3261 Assertion failed when encoding av1 with film grain and
|
||||
'--monochrome' flag
|
||||
* aomedia:3276 ensure all allocations are checked (partial fix)
|
||||
* aomedia:3451 The libaom library calls exit()
|
||||
* aomedia:3450 enable -Wshadow for C++ sources
|
||||
* aomedia:3449 Test Seg Faults After
|
||||
b459af3e345be402db052a143fcc5383d4b74cbd
|
||||
* aomedia:3416 prune unused symbols / restrict symbol visibility
|
||||
* aomedia:3443 Jenkins failure:
|
||||
UninstantiatedParameterizedTestSuite<EstimateNoiseTest>
|
||||
* aomedia:3434 realtime failures with CONFIG_BITSTREAM_DEBUG=1
|
||||
* aomedia:3433 DeltaqModeTest crash w/row_mt=0
|
||||
* aomedia:3429 Encoder crash when turn on both ExternalResize and
|
||||
g_threads > 2
|
||||
* aomedia:3438 Build failure with
|
||||
`-DSANITIZE=address -DBUILD_SHARED_LIBS=ON` when using clang.
|
||||
* aomedia:3435 Block artifacts when scrolling with AV1 in screen sharing
|
||||
scenarios
|
||||
* aomedia:3170 vmaf tune presets produce extreme glitches in one scene
|
||||
* aomedia:3401 Building shared libaom with MSVC results in a race condition
|
||||
with the export library
|
||||
* aomedia:3420 Floating point exception in av1_tpl_get_frame_importance()
|
||||
* aomedia:3424 heap-buffer-overflow in ScaleFilterCols_16_C() (SIGABRT)
|
||||
* aomedia:3417 examples/svc_encoder_rtc.c is using internal macros and
|
||||
functions
|
||||
* aomedia:3372 SEGV in assign_frame_buffer_p av1_common_int.h
|
||||
* aomedia:3130 'cpu-features.h' file not found on Android NDK 22
|
||||
* aomedia:3415 Encoder/decoder mismatch for svc_encoder_rtc running
|
||||
1 SL 3 TL
|
||||
* aomedia:3412 Lossless Mode Fails Loopback Bit Test
|
||||
* aomedia:3409 The use of AV1_VAR_OFFS in av1/encoder/var_based_part.c is
|
||||
incorrect for high bit depths
|
||||
* aomedia:3403 test_libaom fails with error message
|
||||
"feenableexcept() failed" on Linux arm
|
||||
* aomedia:3370 Random color block at fast motion area
|
||||
* aomedia:3393 Assertion failure in av1_convolve_2d_sr_c()
|
||||
* aomedia:3392 Strong artifacting for high bit-depth real-time
|
||||
* aomedia:3376 aomenc --threads=10 --deltaq-mode=3 crashes after
|
||||
"Allintra: multi-threading of calculating differential contrast"
|
||||
* aomedia:3380 Crashes and ASan and TSan errors in deltaq-mode=3
|
||||
multithreading code
|
||||
* chromium:1410766 heap-buffer-overflow in aom_yv12_copy_v_c
|
||||
* Cannot set level via AV1E_SET_TARGET_SEQ_LEVEL_IDX
|
||||
* Encoding failure due to the use of loop restoration with unintended use of
|
||||
lossless mode.
|
||||
* Signed integer overflow in scan_past_frames
|
||||
* Signed integer overflow in update_a_sep_sym
|
||||
* Flickering in AV1 1440p/2160p HDR transcodes
|
||||
* Fixed artifacts with screen share at encoder speed 10
|
||||
* Fixed prediction setup for IDTX
|
||||
- Use system libraries instead of vendored ones
|
||||
* system-gtest.patch
|
||||
* system-yuv.patch
|
||||
- Enable debuginfo also on modules written in assembly
|
||||
- Enable building PowerPC-specific optimizations
|
||||
- Enable Neon optimized code on ARM and fix runtime CPU detection
|
||||
- Fix missing images in documentation
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed May 10 21:07:49 UTC 2023 - Bjørn Lie <bjorn.lie@gmail.com>
|
||||
|
||||
- Update to version 3.6.1:
|
||||
* aomedia:2871: Guard the support of the 7.x and 8.x levels for
|
||||
AV1 under the CONFIG_CWG_C013 config flag, and only output the
|
||||
7.x and 8.x levels when explicitly requested.
|
||||
* aomedia:3382: Choose sb_size by ppi instead of svc.
|
||||
* aomedia:3384: Fix fullpel search limits.
|
||||
* aomedia:3388: Replace left shift of xq_active by
|
||||
multiplication.
|
||||
* aomedia:3389: Fix MV clamping in av1_mv_pred.
|
||||
* aomedia:3390: set_ld_layer_depth: cap max_layer_depth to
|
||||
MAX_ARF_LAYERS.
|
||||
* aomedia:3418: Fix MV clamping in av1_int_pro_motion_estimation.
|
||||
* aomedia:3429: Move lpf thread data init to
|
||||
lpf_pipeline_mt_init().
|
||||
* b:266719111: Fix undefined behavior in Arm Neon code.
|
||||
* b:269840681: nonrd_opt: align scan tables.
|
||||
* rtc: Fix is_key_frame setting in variance partition.
|
||||
* Build: Fix build with clang-cl and Visual Studio.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue May 2 13:29:18 UTC 2023 - Frederic Crozat <fcrozat@suse.com>
|
||||
|
||||
- Revert to BSD-2-Clause licence tag to only use SPDX valid
|
||||
license tag.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Apr 20 07:25:56 UTC 2023 - Frederic Crozat <fcrozat@suse.com>
|
||||
|
||||
- Fix license tag to BSD-2-Clause and AOMPL-1.0.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Feb 8 11:53:41 UTC 2023 - Bjørn Lie <bjorn.lie@gmail.com>
|
||||
|
||||
- Update to version 3.6.0:
|
||||
* This release includes compression efficiency and perceptual
|
||||
quality improvements, speedup and memory optimizations, and
|
||||
some new features. This release is ABI compatible with the last
|
||||
release.
|
||||
* New Features:
|
||||
- New values 20-27 (corresponding to levels 7.0-7.3 and
|
||||
8.0-8.3) for the encoder control
|
||||
AV1E_SET_TARGET_SEQ_LEVEL_IDX (note that the proposal to add
|
||||
the new levels are still in draft status). The original
|
||||
special value 24 (keep level stats only for level monitoring)
|
||||
is renumbered as 32.
|
||||
- New encoder control AV1E_SET_SKIP_POSTPROC_FILTERING to skip
|
||||
the application of post-processing filters on reconstructed
|
||||
frame in all intra mode.
|
||||
- New encoder option "kf-max-pyr-height": Maximum height of
|
||||
pyramid structure used for the GOP starting with a key frame
|
||||
(-1 to 5).
|
||||
- Make SVC work for screen content.
|
||||
- Rate control improvements to reduce frame-size spikes for
|
||||
screen content coding.
|
||||
- RISC-V architecture support with gcc toolchain.
|
||||
* Compression Efficiency Improvements:
|
||||
- Peak compression efficiency in VOD setting is improved by 1%.
|
||||
- 0.7% - 2.2% RTC encoding BDrate gains for real time speed 8
|
||||
to 10.
|
||||
- 15% RTC encoding BDrate gains for screen content speed 10.
|
||||
* Perceptual Quality Improvements:
|
||||
- Resolved a visual quality issue that was reported for high
|
||||
resolution clips (2K) for speed 4 and above in VOD use case.
|
||||
- Visual quality improvements to screen content coding.
|
||||
- Quality improvements to temporal layer RTC coding.
|
||||
* Speedup and Memory Optimizations:
|
||||
- RTC single-thread encoder speedup:
|
||||
. ~6% instruction count reduction for speed 5 and 6.
|
||||
. ~15% instruction count reduction for speed 7.
|
||||
. ~10% instruction count reduction for speed 8 to 10 (>=360p
|
||||
resolutions).
|
||||
- RTC multi-thread encoder speedup (beyond single-thread
|
||||
speedup):
|
||||
. 5-8% encode time reduction for speed 7 to 10.
|
||||
- RTC screen-content encoder speedup:
|
||||
. 11% instruction count reduction for speed 9 and 10 (>=720p
|
||||
resolutions).
|
||||
- ~5% reduction in heap memory requirements for RTC, speed 6 to
|
||||
10.
|
||||
* AVIF:
|
||||
. 4-5% speedup for speed 9 in still-picture encoding mode.
|
||||
. 3-4% heap memory reduction in still-picture encoding mode
|
||||
for 360p-720p resolutions with multiple threads.
|
||||
* Bug Fixes:
|
||||
- Added a workaround for an AV1 specification bug which makes
|
||||
TRANSLATION type global motion models unusable.
|
||||
- Fixed AddressSanitizer global-buffer-overflow errors in
|
||||
av1/encoder/arm/neon/av1_fwd_txfm2d_neon.c.
|
||||
- Fixed AddressSanitizer heap-buffer-overflow error in
|
||||
av1_wiener_convolve_add_src_neon().
|
||||
- chromium:1393384 Avoid scene detection on spatial resize.
|
||||
- aomedia:3308 Remove color artifacts under high motion.
|
||||
- aomedia:3310 Avoid out of memory failures with Visual Studio
|
||||
2017, 2019, and 2022 for Win32 x86 builds.
|
||||
- aomedia:3346 Make SVC work properly for screen content.
|
||||
- aomedia:3348 Fix a bug where an uninitialized search_site is
|
||||
used.
|
||||
- aomedia:3365 Work around what seems like a Visual Studio 2022
|
||||
compiler optimization bug.
|
||||
- aomedia:3369 Incorrect PSNR values reported by libaom for
|
||||
12-bit encode.
|
||||
- Modernize spec, use cmake_build and ldconfig_scriptlets macros.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Sep 22 14:56:11 UTC 2022 - Bjørn Lie <bjorn.lie@gmail.com>
|
||||
|
||||
- Update to version 3.5.0:
|
||||
* This release is ABI compatible with the last one, including
|
||||
speedup and memory optimizations, and new APIs and features.
|
||||
* New Features
|
||||
- Support for frame parallel encode for larger number of
|
||||
threads. --fp-mt flag is available for all build
|
||||
configurations.
|
||||
- New codec control AV1E_GET_NUM_OPERATING_POINTS
|
||||
* Speedup and Memory Optimizations
|
||||
- Speed-up multithreaded encoding for good quality mode for
|
||||
larger number of threads through frame parallel encoding:
|
||||
. 30-34% encode time reduction for 1080p, 16 threads, 1x1
|
||||
tile configuration (tile_rows x tile_columns)
|
||||
. 18-28% encode time reduction for 1080p, 16 threads, 2x4
|
||||
tile configuration
|
||||
. 18-20% encode time reduction for 2160p, 32 threads, 2x4
|
||||
tile configuration
|
||||
- 16-20% speed-up for speed=6 to 8 in still-picture encoding
|
||||
mode
|
||||
- 5-6% heap memory reduction for speed=6 to 10 in real-time
|
||||
encoding mode
|
||||
- Improvements to the speed for speed=7, 8 in real-time
|
||||
encoding mode
|
||||
- Improvements to the speed for speed=9, 10 in real-time screen
|
||||
encoding mode
|
||||
- Optimizations to improve multi-thread efficiency in real-time
|
||||
encoding mode
|
||||
- 10-15% speed up for SVC with temporal layers
|
||||
- SIMD optimizations:
|
||||
. Improve av1_quantize_fp_32x32_neon() 1.05x to 1.24x faster
|
||||
. Add aom_highbd_quantize_b{,_32x32,_64x64}_adaptive_neon()
|
||||
3.15x to 5.6x faster than "C"
|
||||
. Improve av1_quantize_fp_64x64_neon() 1.17x to 1.66x faster
|
||||
. Add aom_quantize_b_avx2() 1.4x to 1.7x faster than
|
||||
aom_quantize_b_avx()
|
||||
. Add aom_quantize_b_32x32_avx2() 1.4x to 2.3x faster than
|
||||
aom_quantize_b_32x32_avx()
|
||||
. Add aom_quantize_b_64x64_avx2() 2.0x to 2.4x faster than
|
||||
aom_quantize_b_64x64_ssse3()
|
||||
. Add aom_highbd_quantize_b_32x32_avx2() 9.0x to 10.5x faster
|
||||
than aom_highbd_quantize_b_32x32_c()
|
||||
. Add aom_highbd_quantize_b_64x64_avx2() 7.3x to 9.7x faster
|
||||
than aom_highbd_quantize_b_64x64_c()
|
||||
. Improve aom_highbd_quantize_b_avx2() 1.07x to 1.20x faster
|
||||
. Improve av1_quantize_fp_avx2() 1.13x to 1.49x faster
|
||||
. Improve av1_quantize_fp_32x32_avx2() 1.07x to 1.54x faster
|
||||
. Improve av1_quantize_fp_64x64_avx2() 1.03x to 1.25x faster
|
||||
. Improve av1_quantize_lp_avx2() 1.07x to 1.16x faster
|
||||
* Bug fixes including but not limited to
|
||||
- aomedia:3206 Assert that skip_width > 0 for deconvolve
|
||||
function
|
||||
- aomedia:3278 row_mt enc: Delay top-right sync when intraBC is
|
||||
enabled
|
||||
- aomedia:3282 blend_a64_*_neon: fix bus error in armv7
|
||||
- aomedia:3283 FRAME_PARALLEL: Propagate border size to all
|
||||
cpis
|
||||
- aomedia:3283 RESIZE_MODE: Fix incorrect strides being used
|
||||
for motion search
|
||||
- aomedia:3286 rtc-svc: Fix to dynamic_enable spatial layers
|
||||
- aomedia:3289 rtc-screen: Fix to skipping inter-mode test in
|
||||
nonrd
|
||||
- aomedia:3289 rtc-screen: Fix for skip newmv on flat blocks
|
||||
- aomedia:3299 Fix build failure with CONFIG_TUNE_VMAF=1
|
||||
- aomedia:3296 Fix the conflict --enable-tx-size-search=0 with
|
||||
nonrd mode --enable-tx-size-search will be ignored in non-rd
|
||||
pick mode
|
||||
- aomedia:3304 Fix off-by-one error of max w/h in
|
||||
validate_config
|
||||
- aomedia:3306 Do not use pthread_setname_np on GNU/Hurd
|
||||
- aomedia:3325 row-multithreading produces invalid bitstream in
|
||||
some cases
|
||||
- chromium:1346938, chromium:1338114
|
||||
- compiler_flags.cmake: fix flag detection w/cmake 3.17-3.18.2
|
||||
- tools/*.py: update to python3
|
||||
- aom_configure.cmake: detect PIE and set CONFIG_PIC
|
||||
- test/simd_cmp_impl: use explicit types w/CompareSimd*
|
||||
- rtc: Fix to disable segm for aq-mode=3
|
||||
- rtc: Fix to color_sensitivity in variance partition
|
||||
- rtc-screen: Fix bsize in model rd computation for intra
|
||||
chroma
|
||||
- Fixes to ensure the correct behavior of the encoder
|
||||
algorithms (like segmentation, computation of statistics,
|
||||
etc.)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Sep 4 19:28:41 UTC 2022 - Bjørn Lie <bjorn.lie@gmail.com>
|
||||
|
||||
- Update to version 3.4.0:
|
||||
* This release includes compression efficiency and perceptual
|
||||
quality improvements, speedup and memory optimizations, and
|
||||
some new features. There are no ABI or API breaking changes in
|
||||
this release.
|
||||
* New Features:
|
||||
- New --dist-metric flag with "qm-psnr" value to use
|
||||
quantization matrices in the distortion computation for RD
|
||||
search. The default value is "psnr".
|
||||
- New command line option "--auto-intra-tools-off=1" to make
|
||||
all-intra encoding faster for high bit rate under
|
||||
"--deltaq-mode=3" mode.
|
||||
- New rate control library aom_av1_rc for real-time hardware
|
||||
encoders. Supports CBR for both one spatial layer and SVC.
|
||||
- New image format AOM_IMG_FMT_NV12 can be used as input to the
|
||||
encoder. The presence of AOM_IMG_FMT_NV12 can be detected at
|
||||
compile time by checking if the macro AOM_HAVE_IMG_FMT_NV12
|
||||
is defined.
|
||||
- New codec controls for the encoder:
|
||||
o AV1E_SET_AUTO_INTRA_TOOLS_OFF. Only in effect if
|
||||
--deltaq-mode=3.
|
||||
o AV1E_SET_RTC_EXTERNAL_RC
|
||||
o AV1E_SET_FP_MT. Only supported if libaom is built with
|
||||
-DCONFIG_FRAME_PARALLEL_ENCODE=1.
|
||||
o AV1E_GET_TARGET_SEQ_LEVEL_IDX
|
||||
- New key-value pairs for the key-value API:
|
||||
o --auto-intra-tools-off=0 (default) or 1. Only in effect if
|
||||
--deltaq-mode=3.
|
||||
o --strict-level-conformance=0 (default) or 1
|
||||
o --fp-mt=0 (default) or 1. Only supported if libaom is built
|
||||
with -DCONFIG_FRAME_PARALLEL_ENCODE=1.
|
||||
- New aomenc options (not supported by the key-value API):
|
||||
o --nv12
|
||||
* Compression Efficiency Improvements:
|
||||
- Correctly calculate SSE for high bitdepth in skip mode, 0.2%
|
||||
to 0.6% coding gain.
|
||||
- RTC at speed 9/10: BD-rate gain of ~4/5%
|
||||
- RTC screen content coding: many improvements for real-time
|
||||
screen at speed 10 (quality, speedup, and rate control), up
|
||||
to high resolutions (1080p).
|
||||
- RTC-SVC: fixes to make intra-only frames work for spatial
|
||||
layers.
|
||||
- RTC-SVC: quality improvements for temporal layers.
|
||||
- AV1 RT: A new passive rate control strategy for screen
|
||||
content, an average of 7.5% coding gain, with some clips of
|
||||
20+%. The feature is turned off by default due to higher bit
|
||||
rate variation.
|
||||
* Perceptual Quality Improvements:
|
||||
- RTC: Visual quality improvements for high speeds (9/10)
|
||||
- Improvements in coding quality for all intra mode
|
||||
* Speedup and Memory Optimizations:
|
||||
- ~10% speedup in good quality mode encoding.
|
||||
- ~7% heap memory reduction in good quality encoding mode for
|
||||
speed 5 and 6.
|
||||
- Ongoing improvements to intra-frame encoding performance on
|
||||
Arm
|
||||
- Faster encoding speed for "--deltaq-mode=3" mode.
|
||||
- ~10% speedup for speed 5/6, ~15% speedup for speed 7/8, and
|
||||
~10% speedup for speed 9/10 in real time encoding mode
|
||||
- ~20% heap memory reduction in still-picture encoding mode for
|
||||
360p-720p resolutions with multiple threads
|
||||
- ~13% speedup for speed 6 and ~12% speedup for speed 9 in
|
||||
still-picture encoding mode.
|
||||
- Optimizations to improve multi-thread efficiency for
|
||||
still-picture encoding mode.
|
||||
* Bug Fixes:
|
||||
- b/204460717: README.md: replace master with main
|
||||
- b/210677928: libaom disable_order is surprising for
|
||||
max_reference_frames=3
|
||||
- b/222461449: -DCONFIG_TUNE_BUTTERAUGLI=1 broken
|
||||
- b/227207606: write_greyscale writes incorrect chroma in
|
||||
highbd mode
|
||||
- b/229955363: Integer-overflow in linsolve_wiener
|
||||
- https://crbug.com/aomedia/2032
|
||||
- https://crbug.com/aomedia/2397
|
||||
- https://crbug.com/aomedia/2563
|
||||
- https://crbug.com/aomedia/2815
|
||||
- https://crbug.com/aomedia/3009
|
||||
- https://crbug.com/aomedia/3018
|
||||
- https://crbug.com/aomedia/3045
|
||||
- https://crbug.com/aomedia/3101
|
||||
- https://crbug.com/aomedia/3130
|
||||
- https://crbug.com/aomedia/3173
|
||||
- https://crbug.com/aomedia/3184
|
||||
- https://crbug.com/aomedia/3187
|
||||
- https://crbug.com/aomedia/3190
|
||||
- https://crbug.com/aomedia/3195
|
||||
- https://crbug.com/aomedia/3197
|
||||
- https://crbug.com/aomedia/3201
|
||||
- https://crbug.com/aomedia/3202
|
||||
- https://crbug.com/aomedia/3204
|
||||
- https://crbug.com/aomedia/3205
|
||||
- https://crbug.com/aomedia/3207
|
||||
- https://crbug.com/aomedia/3208
|
||||
- https://crbug.com/aomedia/3209
|
||||
- https://crbug.com/aomedia/3213
|
||||
- https://crbug.com/aomedia/3214
|
||||
- https://crbug.com/aomedia/3219
|
||||
- https://crbug.com/aomedia/3222
|
||||
- https://crbug.com/aomedia/3223
|
||||
- https://crbug.com/aomedia/3225
|
||||
- https://crbug.com/aomedia/3226
|
||||
- https://crbug.com/aomedia/3228
|
||||
- https://crbug.com/aomedia/3232
|
||||
- https://crbug.com/aomedia/3236
|
||||
- https://crbug.com/aomedia/3237
|
||||
- https://crbug.com/aomedia/3238
|
||||
- https://crbug.com/aomedia/3240
|
||||
- https://crbug.com/aomedia/3243
|
||||
- https://crbug.com/aomedia/3244
|
||||
- https://crbug.com/aomedia/3246
|
||||
- https://crbug.com/aomedia/3248
|
||||
- https://crbug.com/aomedia/3250
|
||||
- https://crbug.com/aomedia/3251
|
||||
- https://crbug.com/aomedia/3252
|
||||
- https://crbug.com/aomedia/3255
|
||||
- https://crbug.com/aomedia/3257
|
||||
- https://crbug.com/aomedia/3259
|
||||
- https://crbug.com/aomedia/3260
|
||||
- https://crbug.com/aomedia/3267
|
||||
- https://crbug.com/aomedia/3268
|
||||
- https://crbug.com/aomedia/3269
|
||||
- https://crbug.com/aomedia/3276
|
||||
- https://crbug.com/aomedia/3278
|
||||
- https://crbug.com/chromium/1290068
|
||||
- https://crbug.com/chromium/1303237
|
||||
- https://crbug.com/chromium/1304990
|
||||
- https://crbug.com/chromium/1321141
|
||||
- https://crbug.com/chromium/1321388
|
||||
- https://crbug.com/oss-fuzz/44846
|
||||
- https://crbug.com/oss-fuzz/44856
|
||||
- https://crbug.com/oss-fuzz/44862
|
||||
- https://crbug.com/oss-fuzz/44904
|
||||
- https://crbug.com/oss-fuzz/45056
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Feb 18 16:09:00 UTC 2022 - Bjørn Lie <bjorn.lie@gmail.com>
|
||||
|
||||
- Update to version 3.3.0:
|
||||
* This release includes compression efficiency and perceptual
|
||||
quality improvements, speedup and memory optimizations, some
|
||||
new features, and several bug fixes.
|
||||
* New Features
|
||||
- AV1 RT: Introducing CDEF search level 5
|
||||
- Changed real time speed 4 to behave the same as real time
|
||||
speed 5
|
||||
- Add --deltaq-strength
|
||||
- rtc: Allow scene-change and overshoot detection for svc
|
||||
- rtc: Intra-only frame for svc
|
||||
- AV1 RT: Option 2 for codec control AV1E_SET_ENABLE_CDEF to
|
||||
disable CDEF on non-ref frames
|
||||
- New codec controls AV1E_SET_LOOPFILTER_CONTROL and
|
||||
AOME_GET_LOOPFILTER_LEVEL
|
||||
- Improvements to three pass encoding
|
||||
* Compression Efficiency Improvements: Overall compression gains:
|
||||
0.6%
|
||||
* Perceptual Quality Improvements
|
||||
- Improves the perceptual quality of high QP encoding for
|
||||
delta-q mode 4
|
||||
- Auto select noise synthesis level for all intra
|
||||
* Speedup and Memory Optimizations
|
||||
- Added many SSE2 optimizations.
|
||||
- Good quality 2-pass encoder speedups:
|
||||
o Speed 2: 9%
|
||||
o Speed 3: 12.5%
|
||||
o Speed 4: 8%
|
||||
o Speed 5: 3%
|
||||
o Speed 6: 4%
|
||||
- Real time mode encoder speedups:
|
||||
o Speed 5: 2.6% BDRate gain, 4% speedup
|
||||
o Speed 6: 3.5% BDRate gain, 4% speedup
|
||||
o Speed 9: 1% BDRate gain, 3% speedup
|
||||
o Speed 10: 3% BDRate gain, neutral speedup
|
||||
- All intra encoding speedups (AVIF):
|
||||
o Single thread - speed 6: 8%
|
||||
o Single thread - speed 9: 15%
|
||||
o Multi thread(8) - speed 6: 14%
|
||||
o Multi thread(8) - speed 9: 34%
|
||||
* Bug Fixes
|
||||
- Issue 3163: Segmentation fault when using
|
||||
--enable-keyframe-filtering=2
|
||||
- Issue 2436: Integer overflow in av1_warp_affine_c()
|
||||
- Issue 3226: armv7 build failure due to gcc-11
|
||||
- Issue 3195: Bug report on libaom (AddressSanitizer:
|
||||
heap-buffer-overflow)
|
||||
- Issue 3191: Bug report on libaom (AddressSanitizer: SEGV on
|
||||
unknown address)
|
||||
- Drop libaom-devel Requires from libaom-devel-doc sub-package: We
|
||||
do not need the devel package to be able to read the devel
|
||||
documentation.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Oct 15 17:54:17 UTC 2021 - bjorn.lie@gmail.com
|
||||
|
||||
- Update to version 3.2.0:
|
||||
* This release includes compression efficiency and perceptual
|
||||
quality improvements, speedup and memory optimizations, as well
|
||||
as some new features.
|
||||
* New Features:
|
||||
+ Introduced speeds 7, 8, and 9 for all intra mode.
|
||||
+ Introduced speed 10 for real time mode.
|
||||
+ Introduced an API that allows external partition decisions.
|
||||
+ SVC: added support for compound prediction.
|
||||
+ SVC: added support for fixed SVC modes.
|
||||
* Compression Efficiency Improvements:
|
||||
+ Intra-mode search improvement.
|
||||
+ Improved real time (RT) mode BDrate savings by ~5% (RT speed
|
||||
5) and ~12% (RT speed 6). The improvement was measured on the
|
||||
video conference set.
|
||||
+ Improved real time mode for nonrd path (speed 7, 8, 9):
|
||||
BDrate gains of ~3-5%.
|
||||
+ Rate control and RD adjustments based on ML research in VP9.
|
||||
Gains of ~0.5-1.0% for HD.
|
||||
* Perceptual Quality Improvements:
|
||||
+ Added a new mode --deltaq-mode=3 to improve perceptual
|
||||
quality based on a differential contrast model for still
|
||||
images.
|
||||
+ Added a new mode –deltaq-mode=4 to improve perceptual quality
|
||||
based on user rated cq_level data set for still images.
|
||||
+ Weighting of some intra mode and partition size choices to
|
||||
better manage and retain texture.
|
||||
* Speedup and Memory Optimizations:
|
||||
+ Further improved 2-pass good quality encoder speed:
|
||||
. Speed 2 speedup: 18%
|
||||
. Speed 3 speedup: 22%
|
||||
. Speed 4 speedup: 37%
|
||||
. Speed 5 speedup: 30%
|
||||
. Speed 6 speedup: 20%
|
||||
+ Optimized the real time encoder (measured on the video
|
||||
conference set):
|
||||
. RT speed 5 speedup: 110%
|
||||
. RT speed 6 speedup: 77%
|
||||
* Bug Fixes
|
||||
+ Issue 3069: Fix one-pass mode keyframe placement off-by-one
|
||||
error.
|
||||
+ Issue 3156: Fix a bug in av1_quantize_lp AVX2 optimization.
|
||||
- Drop libaom-CVE-2021-30474.patch: Fixed upstream.
|
||||
- Drop libaom-CVE-2021-30475.patch: Fixed upstream.
|
||||
- Remove changesgenerate option from _service file, use data from
|
||||
CHANGELOG to fill .changes instead as it it much nicer and human
|
||||
readable than just a list of commit messages.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Oct 13 18:20:02 UTC 2021 - Callum Farmer <gmbr3@opensuse.org>
|
||||
|
||||
- fix service data
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Oct 08 11:01:26 UTC 2021 - gmbr3@opensuse.org
|
||||
|
||||
- Update to version 3.1.3:
|
||||
* Update CHANGELOG for v3.1.3-rc2
|
||||
* Detect chroma subsampling more directly
|
||||
* Detect chroma subsampling more directly
|
||||
* image2yuvconfig() should calculate uv_crop_width
|
||||
* aom/aom_encoder.h: remove configure option reference
|
||||
* aom_encoder.h: fix rc_overshoot_pct range
|
||||
* Update AUTHORS,CHANGELOG,CMakeLists.txt for v3.1.3
|
||||
* aom_install: don't exclude msvc from install
|
||||
* aom_install: use relpath for install
|
||||
* aom_install: Install lib dlls to bindir
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Sep 9 13:47:19 UTC 2021 - pgajdos@suse.com
|
||||
|
||||
- security update
|
||||
- added patches
|
||||
fix CVE-2021-30474 [bsc#1186799], aom_dsp/grain_table.c in libaom in AOMedia before 2021-03-30 has a use-after-free.
|
||||
+ libaom-CVE-2021-30474.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Aug 25 09:13:44 UTC 2021 - pgajdos@suse.com
|
||||
|
||||
- security update
|
||||
- added patches
|
||||
fix CVE-2021-30475 [bsc#1189497], Buffer overflow in aom_dsp/noise_model.c
|
||||
+ libaom-CVE-2021-30475.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Aug 25 08:32:17 UTC 2021 - pgajdos@suse.com
|
||||
|
||||
- Update to version 3.1.2:
|
||||
* Update AUTHORS,CHANGELOG,CMakeLists.txt for v3.1.2
|
||||
* Avoid chroma resampling for 420mpeg2 input
|
||||
* Check array has two elements before using index 1
|
||||
* Fix DecodeScalabilityTest failure in realtime only
|
||||
* Store temporal_id and spatial_id of decoded frame
|
||||
* exports.cmake: use APPLE and WIN32 and use def for mingw-w64
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Jul 2 18:39:38 UTC 2021 - Ferdinand Thiessen <rpm@fthiessen.de>
|
||||
|
||||
- Update to version 3.1.1
|
||||
* Fix vmaf model initialization error when not set to tune=vmaf
|
||||
* Fix consistent crash on near-static screen content, keyframe
|
||||
related
|
||||
* Fix tune=butteraugli mode
|
||||
- Disable NEON on arm where not available.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon May 10 14:00:23 UTC 2021 - daniel.molkentin@suse.com
|
||||
|
||||
- Update to version 3.1.0 (bsc#1185843):
|
||||
https://aomedia.googlesource.com/aom/+/refs/tags/v3.1.0
|
||||
|
||||
This release adds an "all intra" mode to the encoder, which significantly
|
||||
speeds up the encoding of AVIF still images at speed 6.
|
||||
|
||||
- Upgrading:
|
||||
All intra mode for encoding AVIF still images and AV1 all intra videos:
|
||||
AOM_USAGE_ALL_INTRA (2) can be passed as the 'usage' argument to
|
||||
aom_codec_enc_config_default().
|
||||
|
||||
New encoder control IDs added:
|
||||
- AV1E_SET_ENABLE_DIAGONAL_INTRA: Enable diagonal (D45 to D203) intra
|
||||
prediction modes (0: false, 1: true (default)). Also available as
|
||||
"enable-diagonal-intra" for the aom_codec_set_option() function.
|
||||
|
||||
New aom_tune_metric enum value: AOM_TUNE_BUTTERAUGLI. The new aomenc option
|
||||
--tune=butteraugli was added to optimize the encoder’s perceptual quality by
|
||||
optimizing the Butteraugli metric. Install libjxl (JPEG XL) and then pass
|
||||
-DCONFIG_TUNE_BUTTERAUGLI=1 to the cmake command to enable it.
|
||||
|
||||
|
||||
- Includes 3.0
|
||||
https://aomedia.googlesource.com/aom/+/refs/tags/v3.0.0
|
||||
This release includes compression efficiency improvement, speed improvement
|
||||
for realtime mode, as well as some new APIs.
|
||||
|
||||
- Upgrading:
|
||||
|
||||
Support for PSNR calculation based on stream bit-depth.
|
||||
|
||||
New encoder control IDs added:
|
||||
- AV1E_SET_ENABLE_RECT_TX
|
||||
- AV1E_SET_VBR_CORPUS_COMPLEXITY_LAP
|
||||
- AV1E_GET_BASELINE_GF_INTERVAL
|
||||
- AV1E_SET_ENABLE_DNL_DENOISING
|
||||
|
||||
New decoder control IDs added:
|
||||
- AOMD_GET_FWD_KF_PRESENT
|
||||
- AOMD_GET_FRAME_FLAGS
|
||||
- AOMD_GET_ALTREF_PRESENT
|
||||
- AOMD_GET_TILE_INFO
|
||||
- AOMD_GET_SCREEN_CONTENT_TOOLS_INFO
|
||||
- AOMD_GET_STILL_PICTURE
|
||||
- AOMD_GET_SB_SIZE
|
||||
- AOMD_GET_SHOW_EXISTING_FRAME_FLAG
|
||||
- AOMD_GET_S_FRAME_INFO
|
||||
|
||||
New aom_tune_content enum value: AOM_CONTENT_FILM
|
||||
|
||||
New aom_tune_metric enum value: AOM_TUNE_VMAF_NEG_MAX_GAIN
|
||||
|
||||
Coefficient and mode update can be turned off via
|
||||
AV1E_SET_{COEFF/MODE}_COST_UPD_FREQ.
|
||||
|
||||
New key & value API added, available with aom_codec_set_option() function.
|
||||
Scaling API expanded to include 1/4, 3/4 and 1/8.
|
||||
|
||||
- Enhancements:
|
||||
|
||||
Better multithreading performance with realtime mode.
|
||||
New speed 9 setting for faster realtime encoding.
|
||||
Smaller binary size with low bitdepth and realtime only build.
|
||||
Temporal denoiser and its optimizations on x86 and Neon.
|
||||
Optimizations for scaling.
|
||||
Faster encoding with speed settings 2 to 6 for good encoding mode.
|
||||
Improved documentation throughout the library, with function level
|
||||
documentation, tree view and support for the dot tool.
|
||||
|
||||
- Bug fixes:
|
||||
Aside from those mentioned in v2.0.1 and v2.0.2, this release includes the
|
||||
following bug fixes:
|
||||
|
||||
Issue 2940: Segfault when encoding with --use-16bit-internal and --limit > 1
|
||||
Issue 2941: Decoder mismatch with --rt --bit-depth=10 and --cpu-used=8
|
||||
Issue 2895: mingw-w64 i686 gcc fails to build
|
||||
Issue 2874: Separate ssse3 functions from sse2 file.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Mar 01 20:25:43 UTC 2021 - elimat@opensuse.org
|
||||
|
||||
- Update to version 2.0.2:
|
||||
* Prepare for the libaom v2.0.2 release
|
||||
* Call av1_setup_frame_size() when dropping a frame
|
||||
* Avoid memset in filter_intra_predictor module
|
||||
* Fix a typo bug in apply_temporal_filter_planewise
|
||||
* Modify the assertion in temporal filter intrinsics
|
||||
* Fix unit test ThreadTestLarge.EncoderResultTest/49
|
||||
* Add -Wimplicit-function-declaration as C flag only
|
||||
* Update CHANGELOG for libaom v2.0.1
|
||||
* Set allow_screen_content_tools to 0 in rt mode
|
||||
* chroma_check: don't access UV planes if monochrome
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue May 19 12:32:12 UTC 2020 - daniel.molkentin@suse.com
|
||||
|
||||
- Update to version 2.0.0 "Applejack":
|
||||
|
||||
This is the first official release of libaom. It has real-time
|
||||
mode and SVC support, as well as substantial documentation
|
||||
improvement and clean-ups.
|
||||
|
||||
Important changes:
|
||||
* Decouple library version and so version.
|
||||
* Move functions into a header file
|
||||
* Remove av1_ prefix from static functions
|
||||
* Remove aom_ prefix from static functions
|
||||
* Remove aom_ prefix for static functions
|
||||
* Remove av1_ prefix for a static function
|
||||
- Drop libaom-0002-link-threading-lib-with-shared-library.patch and
|
||||
libaom-0003-update-CHANGELOG.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jul 31 21:29:49 UTC 2018 - 9+suse@cirno.systems
|
||||
|
||||
- Enable CONFIG_LOWBITDEPTH. Makes 8-bit decoding faster. The only
|
||||
reason this confusingly-named option is not enabled by default
|
||||
is that its behavior might not match the 16-bit reference code
|
||||
path, and that hardware vendors want to be able to validate
|
||||
their designs against it. No actual mismatches have been found.
|
||||
See https://bugs.chromium.org/p/aomedia/issues/detail?id=2062
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Jul 30 13:09:23 UTC 2018 - bjorn.lie@gmail.com
|
||||
|
||||
- Pass conditional AOM_TARGET_CPU to cmake, fix build for arm and
|
||||
ppc, as well as optimize target cpu for other arches.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Jul 27 14:42:25 UTC 2018 - 9+suse@cirno.systems
|
||||
|
||||
- Init, v1.0.0
|
4
libaom.obsinfo
Normal file
4
libaom.obsinfo
Normal file
@ -0,0 +1,4 @@
|
||||
name: libaom
|
||||
version: 3.7.1
|
||||
mtime: 1700269070
|
||||
commit: aca387522ccc0a1775716923d5489dd2d4b1e628
|
180
libaom.spec
Normal file
180
libaom.spec
Normal file
@ -0,0 +1,180 @@
|
||||
#
|
||||
# spec file
|
||||
#
|
||||
# Copyright (c) 2023 SUSE LLC
|
||||
#
|
||||
# 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/
|
||||
#
|
||||
|
||||
|
||||
%global flavor @BUILD_FLAVOR@%{nil}
|
||||
%if "%{flavor}" == ""
|
||||
%define psuffix %{nil}
|
||||
%else
|
||||
%define psuffix -devel-doc
|
||||
%endif
|
||||
|
||||
%define sover 3
|
||||
%define __builder ninja
|
||||
%define __builddir _build
|
||||
Name: libaom%{psuffix}
|
||||
Version: 3.7.1
|
||||
Release: 0
|
||||
%if "%{flavor}" == ""
|
||||
Summary: AV1 codec library
|
||||
Group: Productivity/Multimedia/Other
|
||||
%endif
|
||||
%if "%{flavor}" == "doc"
|
||||
Summary: Documentation for the libaom API
|
||||
Group: Documentation/HTML
|
||||
BuildArch: noarch
|
||||
%endif
|
||||
License: BSD-2-Clause
|
||||
URL: https://aomedia.googlesource.com/aom/
|
||||
Source0: libaom-%{version}.tar.zst
|
||||
Source99: baselibs.conf
|
||||
Patch0: libaom-0001-Do-not-disable-_FORTIFY_SOURCE.patch
|
||||
Patch1: system-gtest.patch
|
||||
Patch2: system-yuv.patch
|
||||
|
||||
BuildRequires: c++_compiler
|
||||
BuildRequires: cmake >= 3.6
|
||||
BuildRequires: ninja
|
||||
BuildRequires: pkgconfig
|
||||
BuildRequires: pkgconfig(libyuv)
|
||||
%ifarch x86_64 %ix86
|
||||
BuildRequires: yasm
|
||||
%endif
|
||||
|
||||
%if "%{flavor}" == "doc"
|
||||
BuildRequires: doxygen
|
||||
BuildRequires: graphviz
|
||||
BuildRequires: graphviz-gnome
|
||||
%endif
|
||||
|
||||
%description
|
||||
%if "%{flavor}" == ""
|
||||
This is a library for AOMedia Video 1 (AV1), an open, royalty-free
|
||||
video coding format designed for video transmissions over the Internet.
|
||||
%endif
|
||||
%if "%{flavor}" == "doc"
|
||||
This package contains the API documentation for libaom, a library
|
||||
for the AOMedia Video 1 (AV1) video coding format.
|
||||
%endif
|
||||
|
||||
%if "%{flavor}" == ""
|
||||
%package -n %{name}%{sover}
|
||||
Summary: AV1 codec library
|
||||
Group: System/Libraries
|
||||
|
||||
%description -n %{name}%{sover}
|
||||
This is a library for AOMedia Video 1 (AV1), an open, royalty-free
|
||||
video coding format designed for video transmissions over the Internet.
|
||||
|
||||
%package devel
|
||||
Summary: Development files for libaom, an AV1 codec library
|
||||
Group: Development/Languages/C and C++
|
||||
Requires: %{name}%{sover}%{_isa} = %{version}
|
||||
|
||||
%description devel
|
||||
This package contains the development headers and library files for
|
||||
libaom, a library for the AOMedia Video 1 (AV1) video coding format.
|
||||
|
||||
%package -n aom-tools
|
||||
Summary: AV1 Codec Library Tools
|
||||
Group: Productivity/Multimedia/Other
|
||||
|
||||
%description -n aom-tools
|
||||
This package contains tools included with libaom, a library for
|
||||
the AOMedia Video 1 (AV1) video coding format.
|
||||
%endif
|
||||
|
||||
%prep
|
||||
%autosetup -n libaom-%{version} -p1
|
||||
# Remove vendored dependencies
|
||||
rm -rf third_party/{googletest,libyuv}
|
||||
sed -E -i 's|#include "third_party/googletest/src/googletest/include/([^"]*)"|#include <\1>|' test/*.{cc,h}
|
||||
|
||||
%build
|
||||
%cmake \
|
||||
-DAOM_AS_FLAGS=-gdwarf2 \
|
||||
%if "%{flavor}" == ""
|
||||
-DENABLE_DOCS=OFF \
|
||||
%endif
|
||||
`# Do not build unit tests, they require non-free external files.` \
|
||||
-DENABLE_TESTS=OFF \
|
||||
-DENABLE_TESTDATA=OFF \
|
||||
\
|
||||
-DCONFIG_LOWBITDEPTH=1 \
|
||||
-DCMAKE_INSTALL_LIBDIR:PATH=%{_lib} \
|
||||
%ifnarch aarch64 %arm %ix86 x86_64 %x86_64 ppc %power64
|
||||
-DAOM_TARGET_CPU=generic \
|
||||
%endif
|
||||
%ifarch %arm
|
||||
`# see regex in build/cmake/rtcd.pl (this actually work for armv6hl too)` \
|
||||
-DAOM_TARGET_CPU=armv7 \
|
||||
`# Fix missing flag for neon code` \
|
||||
`# See aom_ports/arm_cpudetect.c` \
|
||||
-DENABLE_NEON=ON \
|
||||
-DAOM_NEON_INTRIN_FLAG=-mfpu=neon \
|
||||
%endif
|
||||
%ifarch aarch64
|
||||
-DAOM_TARGET_CPU=arm64 \
|
||||
%endif
|
||||
%ifarch ppc %power64
|
||||
-DAOM_TARGET_CPU=ppc \
|
||||
%endif
|
||||
%ifarch %ix86
|
||||
-DAOM_TARGET_CPU=x86 \
|
||||
%endif
|
||||
%ifarch x86_64 %x86_64
|
||||
-DAOM_TARGET_CPU=x86_64 \
|
||||
%endif
|
||||
%{nil}
|
||||
|
||||
%if "%{flavor}" == ""
|
||||
%cmake_build
|
||||
%endif
|
||||
|
||||
%if "%{flavor}" == "doc"
|
||||
%cmake_build docs
|
||||
%endif
|
||||
|
||||
%install
|
||||
%if "%{flavor}" == ""
|
||||
%cmake_install
|
||||
rm %{buildroot}%{_libdir}/%{name}.a
|
||||
|
||||
%ldconfig_scriptlets -n %{name}%{sover}
|
||||
|
||||
%files -n %{name}%{sover}
|
||||
%license LICENSE PATENTS
|
||||
%doc AUTHORS CHANGELOG
|
||||
%{_libdir}/%{name}.so.*
|
||||
|
||||
%files devel
|
||||
%{_includedir}/aom
|
||||
%{_libdir}/%{name}.so
|
||||
%{_libdir}/pkgconfig/aom.pc
|
||||
|
||||
%files -n aom-tools
|
||||
%{_bindir}/aomdec
|
||||
%{_bindir}/aomenc
|
||||
|
||||
%endif
|
||||
|
||||
%if "%{flavor}" == "doc"
|
||||
%files
|
||||
%doc %{__builddir}/docs/html/*
|
||||
%endif
|
||||
|
||||
%changelog
|
60
system-gtest.patch
Normal file
60
system-gtest.patch
Normal file
@ -0,0 +1,60 @@
|
||||
--- a/test/test.cmake 2022-06-17 19:46:18.000000000 +0200
|
||||
+++ b/test/test.cmake 2022-08-30 12:26:32.563379100 +0200
|
||||
@@ -14,6 +14,7 @@
|
||||
set(AOM_TEST_TEST_CMAKE_ 1)
|
||||
|
||||
include(ProcessorCount)
|
||||
+find_package(PkgConfig REQUIRED)
|
||||
|
||||
include("${AOM_ROOT}/test/test_data_util.cmake")
|
||||
|
||||
@@ -362,34 +363,21 @@
|
||||
set(CMAKE_MACOSX_RPATH 1)
|
||||
endif()
|
||||
|
||||
- add_library(
|
||||
- aom_gtest STATIC
|
||||
- "${AOM_ROOT}/third_party/googletest/src/googletest/src/gtest-all.cc")
|
||||
- set_property(TARGET aom_gtest PROPERTY FOLDER ${AOM_IDE_TEST_FOLDER})
|
||||
- target_include_directories(
|
||||
- aom_gtest
|
||||
- PUBLIC "${AOM_ROOT}/third_party/googletest/src/googletest/include"
|
||||
- PRIVATE "${AOM_ROOT}/third_party/googletest/src/googletest")
|
||||
-
|
||||
- # The definition of GTEST_HAS_PTHREAD must be public, since it's checked by
|
||||
- # interface headers, not just by the implementation.
|
||||
- if(NOT (MSVC OR WIN32))
|
||||
- if(CONFIG_MULTITHREAD AND CMAKE_USE_PTHREADS_INIT)
|
||||
- target_compile_definitions(aom_gtest PUBLIC GTEST_HAS_PTHREAD=1)
|
||||
- else()
|
||||
- target_compile_definitions(aom_gtest PUBLIC GTEST_HAS_PTHREAD=0)
|
||||
- endif()
|
||||
- endif()
|
||||
-
|
||||
- add_library(
|
||||
- aom_gmock STATIC
|
||||
- "${AOM_ROOT}/third_party/googletest/src/googlemock/src/gmock-all.cc")
|
||||
- set_property(TARGET aom_gmock PROPERTY FOLDER ${AOM_IDE_TEST_FOLDER})
|
||||
- target_include_directories(
|
||||
- aom_gmock
|
||||
- PUBLIC "${AOM_ROOT}/third_party/googletest/src/googlemock/include"
|
||||
- PRIVATE "${AOM_ROOT}/third_party/googletest/src/googlemock")
|
||||
- target_link_libraries(aom_gmock ${AOM_LIB_LINK_TYPE} aom_gtest)
|
||||
+ pkg_check_modules(gtest REQUIRED gtest)
|
||||
+ add_library(aom_gtest INTERFACE)
|
||||
+ target_link_libraries(aom_gtest INTERFACE ${gtest_LIBRARIES})
|
||||
+ target_link_directories(aom_gtest INTERFACE ${gtest_LIBRARY_DIRS})
|
||||
+ target_link_options(aom_gtest INTERFACE ${gtest_LDFLAGS_OTHER})
|
||||
+ target_include_directories(aom_gtest INTERFACE ${gtest_INCLUDE_DIRS})
|
||||
+ target_compile_options(aom_gtest INTERFACE ${gtest_CFLAGS_OTHER})
|
||||
+
|
||||
+ pkg_check_modules(gmock REQUIRED gmock)
|
||||
+ add_library(aom_gmock INTERFACE)
|
||||
+ target_link_libraries(aom_gmock INTERFACE ${gmock_LIBRARIES})
|
||||
+ target_link_directories(aom_gmock INTERFACE ${gmock_LIBRARY_DIRS})
|
||||
+ target_link_options(aom_gmock INTERFACE ${gmock_LDFLAGS_OTHER})
|
||||
+ target_include_directories(aom_gmock INTERFACE ${gmock_INCLUDE_DIRS})
|
||||
+ target_compile_options(aom_gmock INTERFACE ${gmock_CFLAGS_OTHER})
|
||||
endif()
|
||||
|
||||
# Setup testdata download targets, test build targets, and test run targets. The
|
78
system-yuv.patch
Normal file
78
system-yuv.patch
Normal file
@ -0,0 +1,78 @@
|
||||
--- a/CMakeLists.txt.old 2022-06-17 19:46:18.000000000 +0200
|
||||
+++ b/CMakeLists.txt 2022-08-30 12:58:06.276718500 +0200
|
||||
@@ -457,11 +457,14 @@
|
||||
endif()
|
||||
|
||||
if(CONFIG_LIBYUV OR CONFIG_TUNE_BUTTERAUGLI)
|
||||
- add_library(yuv OBJECT ${AOM_LIBYUV_SOURCES})
|
||||
- if(NOT MSVC)
|
||||
- target_compile_options(yuv PRIVATE -Wno-shadow)
|
||||
- endif()
|
||||
- include_directories("${AOM_ROOT}/third_party/libyuv/include")
|
||||
+ find_package(PkgConfig REQUIRED)
|
||||
+ pkg_check_modules(libyuv REQUIRED libyuv)
|
||||
+ add_library(system_libyuv INTERFACE)
|
||||
+ target_link_libraries(system_libyuv INTERFACE ${libyuv_LIBRARIES})
|
||||
+ target_link_directories(system_libyuv INTERFACE ${libyuv_LIBRARY_DIRS})
|
||||
+ target_link_options(system_libyuv INTERFACE ${libyuv_LDFLAGS_OTHER})
|
||||
+ target_include_directories(system_libyuv INTERFACE ${libyuv_INCLUDE_DIRS})
|
||||
+ target_compile_options(system_libyuv INTERFACE ${libyuv_CFLAGS_OTHER})
|
||||
endif()
|
||||
|
||||
if(CONFIG_AV1_ENCODER)
|
||||
@@ -579,10 +583,10 @@
|
||||
set_target_properties(aom_static PROPERTIES LINKER_LANGUAGE CXX)
|
||||
endif()
|
||||
|
||||
- list(APPEND AOM_LIB_TARGETS yuv)
|
||||
- target_sources(aom PRIVATE $<TARGET_OBJECTS:yuv>)
|
||||
+ list(APPEND AOM_LIB_TARGETS system_libyuv)
|
||||
+ target_link_libraries(aom PRIVATE system_libyuv)
|
||||
if(BUILD_SHARED_LIBS)
|
||||
- target_sources(aom_static PRIVATE $<TARGET_OBJECTS:yuv>)
|
||||
+ target_link_libraries(aom_static PRIVATE system_libyuv)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
@@ -732,7 +736,7 @@
|
||||
if(CONFIG_LIBYUV)
|
||||
# Add to existing targets.
|
||||
foreach(aom_app ${AOM_APP_TARGETS})
|
||||
- target_sources(${aom_app} PRIVATE $<TARGET_OBJECTS:yuv>)
|
||||
+ target_link_libraries(${aom_app} PRIVATE system_libyuv)
|
||||
set_property(TARGET ${aom_app} PROPERTY LINKER_LANGUAGE CXX)
|
||||
endforeach()
|
||||
endif()
|
||||
--- a/test/test.cmake
|
||||
+++ b/test/test.cmake
|
||||
@@ -458,7 +458,7 @@
|
||||
target_link_libraries(test_libaom ${AOM_LIB_LINK_TYPE} aom aom_gtest)
|
||||
|
||||
if(CONFIG_LIBYUV)
|
||||
- target_sources(test_libaom PRIVATE $<TARGET_OBJECTS:yuv>)
|
||||
+ target_link_libraries(test_libaom PRIVATE system_libyuv)
|
||||
endif()
|
||||
if(CONFIG_WEBM_IO)
|
||||
target_sources(test_libaom PRIVATE $<TARGET_OBJECTS:webm>)
|
||||
--- a/apps/aomdec.c
|
||||
+++ b/apps/aomdec.c
|
||||
@@ -44,7 +44,7 @@
|
||||
#include "common/y4menc.h"
|
||||
|
||||
#if CONFIG_LIBYUV
|
||||
-#include "third_party/libyuv/include/libyuv/scale.h"
|
||||
+#include <libyuv/scale.h>
|
||||
#endif
|
||||
|
||||
static const char *exec_name;
|
||||
--- a/apps/aomenc.c
|
||||
+++ b/apps/aomenc.c
|
||||
@@ -47,7 +47,7 @@
|
||||
#include "stats/rate_hist.h"
|
||||
|
||||
#if CONFIG_LIBYUV
|
||||
-#include "third_party/libyuv/include/libyuv/scale.h"
|
||||
+#include <libyuv/scale.h>
|
||||
#endif
|
||||
|
||||
/* Swallow warnings about unused results of fread/fwrite */
|
Loading…
Reference in New Issue
Block a user