Sync from SUSE:SLFO:Main rav1e revision 967677be5f8b0985ed4de337730574b4

This commit is contained in:
Adrian Schröter 2024-05-04 00:00:53 +02:00
commit 1f6f92771f
11 changed files with 801 additions and 0 deletions

23
.gitattributes vendored Normal file
View 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

25
README.suse-maint Normal file
View File

@ -0,0 +1,25 @@
# How to update the rav1e package
## Prerequisites:
You need the download_files and cargo_vendor obs services installed:
zypper in obs-service-download_files obs-service-cargo_vendor
## Updating to a new version from upstream
Edit the spec file and update the version variable.
Download the new source file by running:
osc service ra download_files
Uncompress the rav1e-%{version}.tar.gz file:
tar xf rav1e-*.tar.gz
This will create a rav1e-%{version} directory
Edit the _service file and set the srcdir param
to the extracted directory.
Run the cargo_vendor service with:
osc service disabledrun
Update the changelog file with the upstream release notes.

26
_service Normal file
View File

@ -0,0 +1,26 @@
<services>
<service mode="manual" name="obs_scm">
<param name="url">https://github.com/xiph/rav1e.git</param>
<param name="versionformat">@PARENT_TAG@+@TAG_OFFSET@</param>
<param name="scm">git</param>
<param name="revision">v0.6.6</param>
<param name="match-tag">*</param>
<param name="versionrewrite-pattern">v(.*)\+0</param>
<param name="versionrewrite-replacement">\1</param>
<!-- <param name="changesgenerate">enable</param> -->
</service>
<service mode="buildtime" name="tar" />
<service mode="buildtime" name="recompress">
<param name="file">*.tar</param>
<param name="compression">zst</param>
</service>
<service mode="manual" name="set_version"/>
<service name="cargo_vendor" mode="manual">
<param name="srcdir">rav1e</param>
<param name="compression">zst</param>
<param name="update">true</param>
</service>
<service name="cargo_audit" mode="manual">
<param name="srcdir">rav1e</param>
</service>
</services>

1
baselibs.conf Normal file
View File

@ -0,0 +1 @@
librav1e0_6

5
cargo_config Normal file
View File

@ -0,0 +1,5 @@
[source.crates-io]
replace-with = "vendored-sources"
[source.vendored-sources]
directory = "vendor"

BIN
rav1e-0.6.6.obscpio (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,13 @@
Index: rav1e/Cargo.toml
===================================================================
--- rav1e.orig/Cargo.toml 2023-01-02 16:54:30.914458207 +0100
+++ rav1e/Cargo.toml 2023-01-02 17:06:28.018646860 +0100
@@ -38,7 +38,7 @@ binaries = [
"av-metrics",
"nom",
]
-default = ["binaries", "asm", "threading", "signal_support", "git_version"]
+default = ["binaries", "asm", "threading", "signal_support"]
git_version = ["built/git2"]
asm = ["nasm-rs", "cc"]
threading = ["rayon/threads"]

571
rav1e.changes Normal file
View File

@ -0,0 +1,571 @@
-------------------------------------------------------------------
Thu Oct 19 08:38:11 UTC 2023 - bjorn.lie@gmail.com
- Update to version 0.6.6:
* Sync the assembly with dav1d
* Additional improvements and cleanups
* Overall speed-up typically 5.2%
- Change soname to 0_6, and at the same time set min version for
cargo-c BuildRequires to > 0.9.26, as this is needed for the new
soname to be built correctly.
- Modernize _service and spec to more current way of doing rust
packaging.
- Use ldconfig_scriptlets macro for post(un) handling.
- Fix license tag to BSD-2-Clause AND ISC
-------------------------------------------------------------------
Thu Apr 20 07:28:40 UTC 2023 - Frederic Crozat <fcrozat@suse.com>
- Fix license tag to BSD-2-Clause and AOMPL-1.0.
-------------------------------------------------------------------
Tue Apr 11 09:53:40 UTC 2023 - asn@cryptomilk.org
- Update to version 0.6.4+0:
* Safety critical bounds checking is off-by-one in sgrproj_box_ab_internal
* Initialize `low` array in a more rust-like way in `kmeans`
* Rework mutable borrows for symbol_with_update
* Drop explicit size for macro symbol_with_update
* Use const generics for CDFContextLog
* Fix undefined behavior in CDFContextLogOps
* ec: Simplify lr_compute function
* Use a bit counter instead of a byte counter in WriterRecorder
* Minimize bounds checks in pred functions
* Use generics for BD-8 on sgrproj functions
* Use saturating_sub in sgrproj_sum_finish
* Move bounds checks out of hot loop in sgrproj
* Ensure quantizer values are non-zero with a const fn
* Optimize base quants using NonZero integers (#3115)
* Move quant tables to separate file to improve organization (#3113)
* Use is_power_of_two method in divu_gen
* Fix rounding issue in HBD CDEF code
* Hint that creating a region from an empty plane is unlikely
* Minor optimization to take_slice
* Clean up cdef_dist
* Minor optimizations
* Optimizations for weighted_sse
* Add HBD AVX2 assembly for SAD (#3099)
* ec: Manually inline `msb()` and `ilog()` for clarity (#3104)
* Comment regarding cnt being unused
* Improve naming
* Use a bit counter instead of a byte counter in EC
* Add 10-bit cdef_dist ASM
* Optimise sad_plane_internal
* Save some bounds checks on me_stats
* Minor optimization to av1_get_mv_joint
* Use chunks_exact for performance in diff method
* Integrate CfL AC x86 assembly functions
* benches: Fix alignment issue for cfl_rdo
* Move luma_ac to predict module
* Extract luma_ac_internal with const generics
* Optimise plane::as_region
* Optimise BlockSize::from_width_and_height_opt
* Improve vectorization in get_sad
* Template entropy coding functions to help optimiser
* Enable SSE2/AVX512ICL put/prep/avg x86 assembly
* Enable AVX2 12-bit Inverse Transform x86 assembly
* Enable new SSE4.1 HBD Inverse Transform x86 assembly
* Pin assert_cmd, predicates and clap in Cargo.toml for rust 1.60.0
* Prepare for release
* Fix header coding for level_idx < 7.
-------------------------------------------------------------------
Mon Jan 02 15:54:31 UTC 2023 - asn@cryptomilk.org
- Update to version 0.6.2+0:
* Prepare for release
* Fix new clippy lints for Rust 1.66
* Drop BUILT_TIME_UTC
* Shorten progress text
* Bump built to 0.5.2
* Make git2 optional
* Simplify the version string
* Specify default threads behavior
* Fix the capi deps
- Removed dependency on libgit2
* Added rav1e-cargo-no-git-default.patch
-------------------------------------------------------------------
Thu Dec 01 06:55:58 UTC 2022 - asn@cryptomilk.org
- Update to version 0.6.1+0:
* Fix the capi deps
* Revert "x86: Disable 8x16 16bpc inverse transforms for SSE4.1"
* inverse_transform_add: Align to dav1d EOB convention
* x86: Disable 8x16 16bpc inverse transforms for SSE4.1
* CI: Fix up deploy workflow
* Add C API for level.
* Add level to API and CLI.
* CI: Correct format of target_cpu for x86_64 in deploy workflow
* Produced optimized binary versions from CI
* Write level stored in sequence struct.
* Bump actions/download-artifact from 2 to 3
* Bump actions/upload-artifact from 2 to 3
* Bump actions/cache from 2 to 3
* Update deps
* Update cargo-c binaries url
* Add Dependabot configuration for GitHub Actions updates
* tests: Add three-pass encode with target bitrate
* Add SIMD helpers to speed up Rust get_sad (#3050)
* Replace last 16x4 and 4x16 avx2 hbd satd intrinsics with asm (#3051)
* x86: Add AVX2 HBD SATD asm for 8x8-transformed blocks (#3048)
* Bump minimum rustc to 1.60, required by clap 4
* Update clap to 4.0
* Remove unused regex dependency
* Cleanup log level parsing
* Replace actions-rs/toolchain with dtolnay/rust-toolchain
* Remove action-rs/cargo
* rate: Retire and separate TwoPassOutParams
* rate: Estimate target quantizer on first pass
* segmentation: Reset min_segment on data update
* Replace AVX2 HBD SATD intrinsics with ASM, for some block sizes (#3039)
* Remove arrayref dependency
* Fix new clippy lints
* Move v_frame to its own repository
* Add scales and segment thresholds to dump_lookahead_data
* Fix UB in pred_max test
* Delete build.sh
* bin: Admit more than 2 encoder passes
* Create new speed level 8, drop level 7
* Keep the version line compatible with 0.5
* Add back shorthand for `--verbose` and `--quiet` (#3022)
* Mention cargo-criterion
* Bump criterion version
* Update to criterion non-deprecated api
* Prepare for 0.6.0 release
* bin: Bring --photon-noise out from under unstable feature
* Update guide on how to produce target-specific builds
* CI: Deploy rav1e-ch binary tuned for modern x86_64
* build: Handle absent CARGO_CFG_TARGET_FEATURE
* Calculate geometric mean for DistortionScale::inv_mean()
* Convert plane-level distortion scales to fixed-point
* Expand precision of DistortionScale to Q14
* Preserve intermediate precision in get_weighted_sse
* Add DistortionScale::blog64()
* Bump several dependencies
* Remove duplicated constants
* Remove aq_strength configuration
* logexp: Correct integer part in blog32_q11
* logexp: Correct rounding bias in blog32_q11
* Fix new clippy lints from Rust nightly (#3006)
* Use approximate binary log in Q11 for segmentation_optimize
* Add polynomial approximations of a binary exponential and logarithm.
* segmentation: Avoid reallocation in collect::<Box<[_]>>()
* logexp: Add a fixed-point binary log in Q24 for u32 to i32
* logexp: Rewrite blog64 so that it is const
* rate: Pivot to util::logexp functions
* logexp: Add assertion for q57 input range
* logexp: Add binary exponential in Q24 format, saturated to 47 bits.
* logexp: Add conversions between 64-bit Q57 and 32-bit Q24.
* logexp: Add tests for bexp64 and blog64
* logexp: Add 64-bit binary exponentiation and logarithm in Q57.
* kmeans: Split k-independent inner loop into its own function
* kmeans: Tidy up all but the inner loop
* segmentation: Change precision of log(scale) to Q23
* Add missing code for segmentation with --tune Psnr
* Derive segments by k-means of spatiotemporal scales
* Add an implementation for k-means
* Remove vergen and use built to provide the same information
* Updating QUALITY_&_SPEED_FEATURES document in regards to libaom
* Adjust chroma offsets for frame-mean spatiotemporal scale
* Compute segmentation map thresholds from the offsets
* Implement From<f64> for DistortionScale
* Use fixed-sized array in luma/chroma pred mode counts (#2989)
* Add T.35 metadata C API.
* Bump console + dav1d-sys + system-deps
* CI: Pull in dev packages from Ubuntu Kinetic
* Implement SegmentationLevel::Full again
* segmentation: Limit minimum segment to avoid lossless mode
* Use spatiotemporal scales relative to frame mean
* Clean up encode_partition_topdown() (#2984)
* CI: Fix clippy:borrow_deref_ref warnings
* CI: Fix clippy::manual_range_contains warnings
* CI: Fix clippy::derive_partial_eq_without_eq warnings
* Fix aarch64 satd compilation on gcc
* Remove always-true if statement in encode_partition_topdown() (#2980)
* Add aarch64 NEON 8-bit SATD assembly for 4x4-transformed block sizes (#2972)
* Retune constants for ssim_boost
* Add enhanced version info
* Add T.35 metadata support.
* Simplify badges in README
* Remove travis badge
* CI: Switch to codecov
* CI: Do not consider crates directory for code coverage
* Stabilize the --film-grain-table parameter
* Compute segmentation offsets dynamically
* CI: macos-11 is the latest version
* CI: Update checkout action to v3
* CI: Remove if construct to skip CI
* Remove unused .travis CI
* Remove unmaintained gitlab CI
* CI: Remove default linker paths on Windows
* CI: Deploy rav1e-ch in a new job
* CI: Improve Windows toolchains
* Optimize `BlockSize::from_width_and_height_opt`
* Use external crate for grain table generation and parsing
* Optimize write_uleb128 function
* ci: Use release-no-lto profile for gnu deploy on Windows
* Add a release-no-lto profile
* Avoid taking ownership of Arc<Frame<T>> in scenechange API (#2958)
* Disable undocumented_unsafe_blocks lint due to false positive regression
* Rewrite argument parsing to use Clap's derives
* Reuse plane allocations in estimate_intra_costs (#2957)
* Use a RwLock in frame_me_stats
* Replace as_tile_state_mut with a an apply function
* Simplify full_pixel_me
* Simplify the tile iterator
* Simplify the lifetime
* Move TileStateMut::enc_stats where is used
* Do not double collect the stats
* Simplify the tiler lifetimes
* Reuse me stats for lookahead
* Merge estimate_motion and motion_estimation into one function
* x86: Fix relocations in `sad_plane`
* Bump versions of aom and dav1d in CI (#2953)
* x86: Reduce code size in 8-bit film grain AVX-512 asm
* x86: Add high bit-depth film grain AVX-512 (Ice Lake) asm
* arm: Only produce the PAC/BTI .note section when targeting ELF
* arm: Add comments to #endif and #else in nonobvious cases
* arm: itx: Do clipping in all narrowing downshifts
* x86: Add 8-bit film grain AVX-512 (Ice Lake) asm
* build: Make "film_grain" vs "filmgrain" DSP file names consistent
* x86: Fix data being stored below the stack pointer in SSSE3 itx asm
* x86: Remove redundant labels and undefs in SSSE3 itx asm
* x86: Update x86inc.asm
* arm64: Add Armv8.3-A PAC support to assembly files
* x86: Add high bit-depth ipred filter AVX-512 (Ice Lake) asm
* x86: Add high bit-depth pal_pred AVX-512 (Ice Lake) asm
* x86: Add high bit-depth ipred smooth AVX-512 (Ice Lake) asm
* x86: Add high bit-depth ipred paeth AVX-512 (Ice Lake) asm
* x86/itx: Add 16x16 12bpc AVX2 transforms
* x86: Add mc.resize AVX-512 (Ice Lake) asm
* x86: Improve high bit-depth film grain AVX2 asm
* x86: Improve 8-bit film grain AVX2 asm
* x86: Fix overflow in 10-bit IDCT4
* arm32: mc16: Fix out of bounds reads/writes in 8tap/bilin w2/w4 for vertical OBMC
* arm32: mc: Fix out of bounds reads/writes in 8tap/bilin w2/w4 for vertical OBMC
* arm64: mc16: Fix out of bounds reads/writes in 8tap/bilin w2/w4 for vertical OBMC
* arm64: mc: Fix out of bounds reads/writes in 8tap/bilin w2/w4 for vertical OBMC
* x86: Add high bitdepth mc(t)_scaled SSSE3 asm
* x86: Fix branch condition in high bit-depth put_bilin.h SSSE3 asm
* x86: Improve AVX2 generate_grain asm
* x86: Add 10-bit sgr AVX-512 (Ice Lake) asm
* x86: Add 8-bit mc(t)_scaled SSSE3 32-bit asm
* x86/itx: Add 16x8 12bpc AVX2 transforms
* x86/itx: Add 8x16 12bpc AVX2 transforms
* AArch64 Neon: Replace XTN, XTN2 pairs with single UZP1
* AArch64 Neon: Use CMLT instead of SSHR to compute sign
* x86: Fix AVX/SSE state transitions in AVX-512 4x4 inverse transforms
* x86: Add high bitdepth wiener AVX-512 (Ice Lake) asm
* x86/itx: Add 16x4 12bpc AVX2 transforms
* x86/itx: Add 4x16 12bpc AVX2 transforms
* x86/itx: Convert 8bpc WHT to SSE2
* x86: Fix edge padding in wiener_filter7_16bpc_ssse3
* x86: Add high bitdepth mc blend AVX-512 (Ice Lake) asm
* x86: Add high bitdepth mc warp_affine_8x8 AVX-512 (Ice Lake) asm
* x86: Add high bitdepth mc bidir AVX-512 (Ice Lake) asm
* x86: Add high bitdepth mc bilin/8-tap AVX-512 (Ice Lake) asm
* x86/itx: Add 8x8 12bpc AVX2 transforms
* x86/itx: Add 8x4 12bpc AVX2 transforms
* x86/itx: Add 4x8 12bpc AVX2 transforms
* x86: Fix invalid memory access in cdef_filter_8x8_8bpc_avx512icl
* x86/itx: Add clipping to iadst 4x16
* Remove lpf_stride parameter from LR filters
* Allow CDEF and LR to run sbrows in parallel
* arm64: Add Armv8.5-A BTI support to assembly files
* arm64: Change br instructions to ret for function returns
* x86/itx: Add 12-bit 4x4 transforms in AVX2
* x86/itx: Rename rax to r6
* x86/itx: Name constants more explicit
* x86: Add deblock loop filters AVX-512 (Ice Lake) asm
* x86: Add sgr AVX-512 (Ice Lake) asm
* x86: Add wiener_filter AVX-512 (Ice Lake) asm
* x86: Add ipred_filter AVX-512 (Ice Lake) asm
* x86: Add ipred dc/h/v/paeth/smooth/pal_pred AVX-512 (Ice Lake) asm
* x86: Add inverse transforms AVX-512 (Ice Lake) asm
* x86: Add blend AVX-512 (Ice Lake) asm
* x86: Add warp_affine_8x8 AVX-512 (Ice Lake) asm
* x86: Add mc 8-tap AVX-512 (Ice Lake) asm
* x86: Add mc put_bilin AVX-512 (Ice Lake) asm
* x86: Remove the option to disable AVX-512
* x86: Add high bitdepth mc(t)_scaled AVX2 asm
* Simplify sgr_x_by_x calculations
* x86: Optimize shifts in 8-bit wiener_filter asm
* Support distinct 10 and 12 bit inverse transform implementations
* fix-up: x86: Add put/prep_bilin_scaled AVX2 asm
* fix-up: x86: Add bpc suffix to mc functions
* x86: Add high bitdepth cfl_ac_444 AVX2 asm
* x86: Improve high bitdepth cfl_ac AVX2 asm
* x86: Automatically convert SSE asm to AVX when compiling for AVX targets
* x86: Add 8-bit w_mask_422 and w_mask_444 SSSE3 asm
* x86: Improve high bitdepth cdef_filter AVX2 asm
* x86: Prefer tzcnt over bsr in cdef sec_shift calculations
* x86/itx: 64x64 inverse dct transforms hbd/sse4
* x86/itx: 64x32 inverse dct transforms hbd/sse4
* x86/itx: 64x16 inverse dct transforms hbd/sse4
* x86/itx: 32x64 inverse dct transforms hbd/sse4
* x86/itx: 16x64 inverse dct transforms hbd/sse4
* x86: Add high bitdepth cdef_filter SSSE3 asm
* cdef: Remove redundant clipping
* itx/x86: rewrite .transpose4x8packed so it uses only m0-3,4&6
* itx/x86: replace idct8x8.transpose with idct8x4.transpose4x8packed
* x86/itx: add 1/sqrt(2) (rect2) multiply macro
* x86/itx: share pass2 loop between {16,32}x32 dct^2 functions
* x86/itx: combine .write_8x8 and .round{1,2,3,4} into a single function
* x86/itx: combine .write_8x4 and .round{1,2} into a single function
* x86/itx: split dct/adst/identity pass=2 implementations for 16x8
* x86/itx: 32x32 inverse dct transforms hbd/sse4
* x86/itx: 32x16 inverse dct transforms hbd/sse4
* x86/itx: 32x8 inverse dct transforms hbd/sse4
* x86/itx: 16x32 inverse dct transforms hbd/sse4
* x86/itx: 8x32 inverse dct transforms hbd/sse4
* x86: Add high bitdepth mc.resize SSSE3 asm
* x86: Fix minor things in mc.resize_8bpc_ssse3
* x86: Add high bitdepth mc.resize AVX2 asm
* x86: Add minor improvement to mc.resize_8bpc_avx2
* x86: Add bpc suffix to mc functions
* x86/itx: merge pass=2 rounding and writing operations
* x86/itx: 32x{8,16,32} & {8,16}x32 idtx transforms hbd/sse4
* x86/itx: replace .transpose8x8 with 2 calls to .transpose4x8packed
* x86/itx: document third argument in INV_TXFM_WxH_FN macros
* x86: Rewrite sgr8 SSSE3 asm
* x86: Add minor improvements to sgr16 SSSE3 asm
* x86/itx: 16x16 inverse transforms hbd/sse4
* x86/itx: 16x8 inverse transforms hbd/sse4
* x86/itx: 16x4 inverse transforms hbd/sse4
* x86inc: Support memory operands in src1 in 3-operand instructions
* x86inc: Add stack probing on Windows
* Properly fix LOAD_MM_PERMUTATION for AVX-512
* Replace abs() as unsigned with dedicated alternative.
* v_frame: Disable missing const fn clippy lint
* ci: Ignore tools for code coverage analysis
* ci: Ignore asm for code coverage analysis
* Reimplement sad_row as sad_plane (#2943)
* Remove explicit VEX coding from sad ASM (#2941)
* Rewrite x86 SAD row intrinsics in ASM
* Split `write_coeffs_lv_map` into smaller functions
* ci: Do not consider some directories for coverage
* Remove unused lifetime.
* ci: Enable source-based code coverage
* Silence unused variable warning.
* Use to_le_bytes in copy_to_raw_u8 (#2932)
* Improve codegen of copy_from_raw_u8 (#2930)
* Use const generics for downscale factor (#2927)
* Implement grain synthesis via photon noise tables
* Treat paths as OsString.
* Change muxer to use AsRef<Path> arguments.
* Remove a broken hawktracer annotation
* Break the scenechange module into smaller parts
* Add a mock around rayon for disabling threading
* Disable missing const fn clippy lint
* Use 64-bits for calculating 8x8 variance
* Avoid temporary allocation of block importance costs
* Remove unnecessary clones from metrics calculation
* rate: add assertion for q57 input range (#2911)
* Change non-square partition to search below the threshold
* Move complex pred modes for keyframes to s2
* Fix memory leak when temporal RDO not in use
* Enable suboptimal_flops clippy lint (#2908)
* Also apply custom clippy lints to ivf and v_frame
* Fixes to existing clippy lints
* Enable linting functions that could be const
* Enable extra documentation lints
* Organize existing clippy lints
* Avoid multiple inlining of residual loop in SAD intrinsics (#2903)
* Improve storage of invalid and SEF frame invariants
* Fix pyramid and frame type tests
* Fix unnecessary auto-vectorization in residual loop of SAD intrinsics (#2897)
* Use a debian mirror with https support
* Update aom version and shasums for CI
* New clippy fixes from Rust 1.59
* Fix new deprecation warnings from Clap 3.1.0
* Cache and reuse intra costs from scenechange (#2895)
* Init Motion Est: Refine mvs when subsampling reduced
* Fix confusing scale factor (#2891)
* Speed up estimate_inter_costs again (#2890)
* Speed up estimate_inter_costs (#2889)
* Handle edges by cropping in initial motion estimation
* Simplify importance block sum in `estimate_importance_block_difference` (#2885)
* Add safety asserts for mc assembly callers
* Update to Edition 2021
* Bump minimum Rustc to 1.56
* Omit loop restoration on fully skipped areas
* Fix new clippy lints
* Improve codegen of `Plane::downsampled`
* Fix scale of motion estimation threshold
* Use const generics for stride_sse
* Make the doctests compile only
* Put doctests code in a separate test
* Bump minimum rust version to 1.54.0
* Update to clap3
* Refactor TxfmType to not have an invalid variant
* Improve codegen of av1_round_shift_array
* Use const generics for hadamard transforms (#2877)
* Add x86 assembly for cdef distortion
* Fix underflow that can occur in cdef distortion
* Use cdef_dist on smaller block and edges
* Display info for all y4m error types
* Allow passing cropped blocks sad and satd
* Fix overflow in cdef distortion
* Refactor `BlockSize` to not have an invalid variant (#2866)
* Skip transform mode search based on transform cost estimate
* Improve autovectorization of `downscale_in_place`
* Fix doc comments in speedsettings.rs
* Change non_square_partition feature to a threshold
* Silence repetitive warning on Rust nightly
* Do not call put/prep avx2 functions for ssse3
* Organize speed settings into sub-structs
* Mark SpeedSettings struct as non-exhaustive
* Refactor the SpeedSettings impl
* Merge `no_scene_detection` and `fast_scene_detection` into one field
* Move rdo_lookahead_frames to SpeedSettings
* CI: Update to libaom to 3.2.0-2
* Update a help message to be more relevant (#2853)
* Fix stable clippy lints for Rust 1.57
* Use nasm-rs for nasm version check
* Better autovectorization of `spatiotemporal_scale`
* CI: Run cargo-c in offline mode
* Replace float sqrt+divide with fixed point rsqrt
* Perform UMH before resorting to full search
* CI: Always use latest grcov version
* CI: Always use latest cargo-c version
* Extend the rayon API mock to include scope()
* CI: Move to Debian Unstable for aom and dav1d
-------------------------------------------------------------------
Fri Jan 7 00:58:39 UTC 2022 - William Brown <william.brown@suse.com>
- resolve bsc#1194113 (CVE-2018-25023)
- resolve bsc#1194119 (CVE-2021-45710)
-------------------------------------------------------------------
Tue Dec 14 19:16:10 UTC 2021 - Andreas Schneider <asn@cryptomilk.org>
- Update to version 0.5.1+0:
* Fix the dispatcher calling `avx2` code when the sub-architecture does not
support it.
-------------------------------------------------------------------
Tue Nov 9 11:02:17 UTC 2021 - Dominique Leuenberger <dimstar@opensuse.org>
- Do not hardcode an author in the changes generator service:
Attribution happens by the user that actually runs the service.
-------------------------------------------------------------------
Fri Nov 5 03:49:45 UTC 2021 - William Brown <william.brown@suse.com>
- Integrate obs_scm, cargo_vendor and cargo_audit to assist automation
of updates
-------------------------------------------------------------------
Sun Oct 31 14:16:20 UTC 2021 - Andreas Schneider <asn@cryptomilk.org>
- Update to version 0.5.0
* https://github.com/xiph/rav1e/releases/tag/v0.5.0
- Removed f553646d70fba8e265d436103a73520eb7adec8c.patch
-------------------------------------------------------------------
Tue Sep 28 04:37:57 UTC 2021 - William Brown <william.brown@suse.com>
- Replace rust-packaging with cargo-packaging
-------------------------------------------------------------------
Fri Jul 9 06:11:11 UTC 2021 - Andreas Schneider <asn@cryptomilk.org>
- Fixed squared artefacts on image when converting to AVIF
* Added f553646d70fba8e265d436103a73520eb7adec8c.patch
-------------------------------------------------------------------
Wed Jun 2 07:19:00 UTC 2021 - Andreas Schneider <asn@cryptomilk.org>
- Fix service for cargo vendor creation
-------------------------------------------------------------------
Wed Apr 7 21:40:52 UTC 2021 - Dirk Müller <dmueller@suse.com>
- avoid packaging the pkgconfig dir - it comes from filesystem
- spec-cleaner run
-------------------------------------------------------------------
Wed Apr 7 05:19:14 UTC 2021 - Antonio Larrosa <alarrosa@suse.com>
- Update to version 0.4.1
* https://github.com/xiph/rav1e/releases/tag/v0.4.1
-------------------------------------------------------------------
Wed Jan 13 16:09:03 UTC 2021 - Andreas Schneider <asn@cryptomilk.org>
- Update to version 0.4.0
* https://github.com/xiph/rav1e/releases/tag/v0.4.0
-------------------------------------------------------------------
Wed Sep 9 14:40:50 UTC 2020 - Andreas Schneider <asn@cryptomilk.org>
- Update to version 0.3.4
* https://github.com/xiph/rav1e/releases/tag/v0.3.4
-------------------------------------------------------------------
Mon Jul 20 10:08:32 UTC 2020 - Dominique Leuenberger <dimstar@opensuse.org>
- Add baselibs.conf: produce librav1e0-32bit, as needed by
ffmpeg-4, as this newly builds against rav1e.
-------------------------------------------------------------------
Sun Jun 7 12:36:57 UTC 2020 - Andreas Schneider <asn@cryptomilk.org>
- Update to version 0.3.3
* https://github.com/xiph/rav1e/releases/tag/v0.3.3
-------------------------------------------------------------------
Fri May 29 06:20:36 UTC 2020 - Andreas Schneider <asn@cryptomilk.org>
- Update to version 0.3.2
* https://github.com/xiph/rav1e/releases/tag/v0.3.2
- Removed a6e98603cf4ada059fa3b715f0412e3ad83bb7fc.patch
-------------------------------------------------------------------
Tue May 19 14:38:25 UTC 2020 - Andreas Schneider <asn@cryptomilk.org>
- Fix parentheses warnings
- Added a6e98603cf4ada059fa3b715f0412e3ad83bb7fc.patch
-------------------------------------------------------------------
Tue Mar 3 07:01:18 UTC 2020 - Andreas Schneider <asn@cryptomilk.org>
- Update to version 0.3.1
* https://github.com/xiph/rav1e/releases/tag/v0.3.1
-------------------------------------------------------------------
Fri Feb 7 07:45:28 UTC 2020 - Andreas Schneider <asn@cryptomilk.org>
- Update to version 0.3.0
* https://github.com/xiph/rav1e/releases/tag/v0.3.0
-------------------------------------------------------------------
Fri Jan 10 09:01:06 UTC 2020 - Andreas Schneider <asn@cryptomilk.org>
- Update to version 0.2.1
* https://github.com/xiph/rav1e/releases/tag/v0.2.1
-------------------------------------------------------------------
Thu Dec 19 15:26:33 UTC 2019 - Andreas Schneider <asn@cryptomilk.org>
- Update to version 0.2.0
* https://github.com/xiph/rav1e/releases/tag/v0.2.0
- Removed rav1e-0.1.0-build_nasm_debug.patch
-------------------------------------------------------------------
Mon Dec 9 22:54:35 UTC 2019 - Andreas Schneider <asn@cryptomilk.org>
- Build assembler files with dwarf debug symbols
- Added rav1e-0.1.0-build_nasm_debug.patch
-------------------------------------------------------------------
Thu Dec 5 09:31:43 UTC 2019 - Andreas Schneider <asn@cryptomilk.org>
- Try to fix debuginfo package generation
-------------------------------------------------------------------
Wed Nov 20 08:11:45 UTC 2019 - Andreas Schneider <asn@cryptomilk.org>
- Initial package version 0.1.0

4
rav1e.obsinfo Normal file
View File

@ -0,0 +1,4 @@
name: rav1e
version: 0.6.6
mtime: 1684219782
commit: 7c9db10494c2fffa98a572027d756e55bf754036

127
rav1e.spec Normal file
View File

@ -0,0 +1,127 @@
#
# spec file for package rav1e
#
# Copyright (c) 2023 SUSE LLC
# Copyright (c) 2020 Andreas Schneider <asn@cryptomilk.org>.
#
# 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/
#
Name: rav1e
Version: 0.6.6
Release: 0
Summary: Fastest and safest AV1 encoder
# rav1e is published under the terms of the BSD-2-Clause license,
# with the exception of one file: "src/ext/x86/x86inc.asm" (ISC license)
License: BSD-2-Clause AND ISC
Group: Productivity/Multimedia/Video/Editors and Convertors
URL: https://github.com/xiph/rav1e
#
Source0: %{name}-%{version}.tar.zst
Source1: vendor.tar.zst
Source2: cargo_config
Source98: README.suse-maint
Source99: baselibs.conf
#
Patch0: rav1e-cargo-no-git-default.patch
#
BuildRequires: cargo-c > 0.9.26
BuildRequires: cargo-packaging
BuildRequires: nasm
%description
rav1e is an AV1 video encoder.
AV1 is a video codec by the Alliance for Open Media, composed of most
of the important Web companies (Google, Facebook, Netflix, Amazon,
Microsoft, Mozilla...).
AV1 has the potential to be up to 20% better than the HEVC codec, but
the patents license is totally free, while HEVC patents licenses are
insanely high and very confusing.
rav1e features:
* Intra and inter frames
* 64x64 superblocks
* 4x4 to 64x64 RDO-selected square and 2:1/1:2 rectangular blocks
* DC, H, V, Paeth, smooth, and a subset of directional prediction modes
* DCT, (FLIP-)ADST and identity transforms (up to 64x64, 16x16 and 32x32 respectively)
* 8-, 10- and 12-bit depth color
* 4:2:0 (full support), 4:2:2 and 4:4:4 (limited) chroma sampling
* Variable speed settings
* Near real-time encoding at high speed levels
%package -n librav1e0_6
Summary: AV1 encoder library
Group: System/Libraries
%description -n librav1e0_6
rav1e is an AV1 video encoder libary. It is designed to eventually cover all
use cases, though in its current form it is most suitable for cases where
libaom (the reference encoder) is too slow.
%package devel
Summary: Development files for rav1e
Group: Development/Libraries/C and C++
Requires: librav1e0_6 = %{version}
%description devel
The rav1e-devel package contains libraries and header files for
developing applications that use rav1e.
%prep
%autosetup -a1 -p1
mkdir .cargo
cp %{SOURCE2} .cargo/config
# Disable rav1e_js
sed -i 's/"rav1e_js", //' Cargo.toml
%build
export RUSTFLAGS="%{build_rustflags}"
%{cargo_build}
CFLAGS="%{optflags}" cargo cbuild
%install
export RUSTFLAGS="%{build_rustflags}"
%{cargo_install}
rm -rf %{buildroot}%{_datadir}/cargo
cargo cinstall \
--destdir=%{buildroot} \
--prefix=%{_prefix} \
--libdir=%{_libdir} \
--includedir=%{_includedir} \
--pkgconfigdir=%{_libdir}/pkgconfig
rm -f %{buildroot}%{_libdir}/librav1e.a
rm -f %{buildroot}%{_prefix}/.crates*
%ldconfig_scriptlets -n librav1e0_6
%files
%{_bindir}/rav1e
%files -n librav1e0_6
%license LICENSE
%{_libdir}/librav1e.so.*
%files devel
%license LICENSE
%doc README.md doc/GLOSSARY.md PATENTS
%dir %{_includedir}/rav1e
%{_includedir}/rav1e/rav1e.h
%{_libdir}/librav1e.so
%{_libdir}/pkgconfig/rav1e.pc
%changelog

BIN
vendor.tar.zst (Stored with Git LFS) Normal file

Binary file not shown.