rav1e Changelog

What's new in rav1e p20240507 Pre-release

May 8, 2024
  • Expose no_scene_detection in capi (#3377)

New in rav1e p20240430 Pre-release (May 2, 2024)

  • Expose no_scene_detection in capi (#3377)

New in rav1e p20240423 Pre-release (Apr 24, 2024)

  • Expose no_scene_detection in capi (#3377)

New in rav1e p20240416 Pre-release (Apr 18, 2024)

  • chore(deps): update softprops/action-gh-release action to v2

New in rav1e p20240319 Pre-release (Mar 20, 2024)

  • Add CI job that runs tests on wasm32-wasi

New in rav1e p20240312 Pre-release (Mar 13, 2024)

  • Add CI job to check the MSRV

New in rav1e p20240305 Pre-release (Mar 6, 2024)

  • Migrate away from deprecated renovate config keys

New in rav1e p20240220 Pre-release (Feb 23, 2024)

  • Make apply_ssim_boost a const fn

New in rav1e p20240213 Pre-release (Feb 14, 2024)

  • Update actions/cache action to v4

New in rav1e p20240206 Pre-release (Feb 6, 2024)

  • Update actions/cache action to v4

New in rav1e p20240130 Pre-release (Jan 31, 2024)

  • Update actions/cache action to v4

New in rav1e p20240123 Pre-release (Jan 24, 2024)

  • Bumps [shlex](https://github.com/comex/rust-shlex) from 1.2.0 to 1.3.0.
  • [Changelog](https://github.com/comex/rust-shlex/blob/master/CHANGELOG.md)
  • - [Commits](https://github.com/comex/rust-shlex/commits)
  • updated-dependencies:
  • dependency-name: shlex
  • dependency-type: indirect

New in rav1e p20240116 Pre-release (Jan 17, 2024)

  • Update all non-major dependencies

New in rav1e 0.7.1 (Jan 10, 2024)

  • Remove some now-unneeded dependencies
  • Make sure av1-grain matches the rav1e serialize feature (serde is back optional)
  • Make sure to use a version of ivf that does not depends on bitstream-io 1
  • More internal cleanups

New in rav1e p20240109 Pre-release (Jan 10, 2024)

  • Update Cargo.lock after ivf bump

New in rav1e p20240102 Pre-release (Jan 3, 2024)

  • Only enable av1-grain/serialize with rav1e/serialize

New in rav1e 0.7.0 (Dec 31, 2023)

  • Sync up assembly with dav1d 1.2.1
  • More encoder-specific assembly for both x86_64 and aarch64
  • Many internal cleanups and fixes
  • The Channel API does not rely on crossbeam-channel anymore
  • Initial Speed level rebalance

New in rav1e p20231226 Pre-release (Dec 27, 2023)

  • chore(deps): lock file maintenance by @renovate in #3313

New in rav1e p20231219 Pre-release (Dec 20, 2023)

  • Update copyright headers of files touched from late 2021 to 2023 by @barrbrain in #3307
  • CI: Build windows-gnu-avx2 artifact with x86_64-pc-windows-gnu by @barrbrain in #3306
  • chore(deps): lock file maintenance by @renovate in #3310
  • chore(deps): update actions/upload-artifact action to v4 by @renovate in #3309
  • chore(deps): update actions/download-artifact action to v4 by @renovate in #3308
  • Add review policy. by @tdaede in #1529
  • Add rav1e_config_parse_bool by @lu-zero in #2157
  • CI: Fix artifact names for manual pre-release tag by @barrbrain in #3311
  • Add a cli option to use the high_bitdepth codepath for 8bit content by @lu-zero in #2746

New in rav1e p20231213 Pre-release (Dec 14, 2023)

  • What's Changed:
  • Fix desync with aarch64 assembly for ipred_z2 by @barrbrain in #3299
  • arm64: sse: 8 bpc NEON implementation by @barrbrain in #3300
  • Update to bitstream-io 2.0 by @sdroege in #3301
  • arm64: sse: 16 bpc NEON implementation by @barrbrain in #3302
  • arm64: sad: 16 bpc NEON implementation by @barrbrain in #3295
  • fix(deps): update all non-major dependencies by @renovate in #3303
  • chore(deps): lock file maintenance by @renovate in #3304
  • CI: Use MSYS2 toolchain for x86_64-pc-windows-gnu by @barrbrain in #3305

New in rav1e p20231123 Pre-release (Nov 23, 2023)

  • Port AVX2 forward transforms to NEON by @barrbrain in #3275
  • Lock file maintenance by @renovate in #3241
  • Reduce risk of uninit ac in luma_ac and encode_coeffs by @kornelski in #3271
  • Move WHT inverse transforms to common lookup table for x86_64 and aarch64 by @barrbrain in #3274
  • Well-defined lazy initialization for get_intra_edges by @barrbrain in #3277
  • Implement 8x8 SATD with NEON intrinsics by @barrbrain in #3279
  • Complete 8-bit SATD aarch64 assembly implementation by @barrbrain in #3280
  • chore(deps): update all non-major dependencies by @renovate in #3249
  • chore(deps): lock file maintenance by @renovate in #3278
  • Replace hawktracer with tracing-chrome by @lu-zero in #3283
  • HBD SATD aarch64 assembly implementation by @barrbrain in #3281
  • CI: Update fewer apt lists by @barrbrain in #3288
  • Remove a redundant into() by @lu-zero in #3287
  • fix: Build musl librav1e deploy artifacts with crt static by @fdintino in #3289
  • CI: Revert Cargo.toml and Cargo.lock to fix deploy by @barrbrain in #3290
  • Revert "fix: Build musl librav1e deploy artifacts with crt static" by @barrbrain in #3291

New in rav1e p20231024 Pre-release (Oct 25, 2023)

  • Consistent setup for round trip and inverse transform tests

New in rav1e p20231017 Pre-release (Oct 24, 2023)

  • Fix assertion against entering lossless mode
  • When skipping, we may ignore the quantizer value. Fixes #3209.

New in rav1e p20231003 Pre-release (Oct 24, 2023)

  • What's Changed:
  • chore(deps): update actions/checkout action to v4 by @renovate in #3252
  • ci: Bundle LICENSE file in librav1e deploy artifacts by @fdintino in #3255
  • Do not pass ac when it is not needed by @lu-zero in #3259
  • Bump MSRV by @kornelski in #3260

New in rav1e p20231017 Pre-release (Oct 18, 2023)

  • Fix assertion against entering lossless mode
  • When skipping, we may ignore the quantizer value. Fixes #3209.

New in rav1e p20230926 Pre-release (Sep 27, 2023)

  • ci(deploy): Set MACOSX_DEPLOYMENT_TARGET to 10.10 on x86, 11.0 on arm

New in rav1e p20230919 Pre-release (Sep 20, 2023)

  • This fixes a bug that was resulting in slightly reduced encoding quality.

New in rav1e p20230912 Pre-release (Sep 13, 2023)

  • This fixes a bug that was resulting in slightly reduced encoding quality.

New in rav1e p20230905 Pre-release (Sep 6, 2023)

  • This fixes a bug that was resulting in slightly reduced encoding quality.

New in rav1e p20230829 Pre-release (Aug 30, 2023)

  • This fixes a bug that was resulting in slightly reduced encoding quality.

New in rav1e p20230822 Pre-release (Aug 23, 2023)

  • This fixes a bug that was resulting in slightly reduced encoding quality.

New in rav1e p20230815 Pre-release (Aug 16, 2023)

  • This fixes a bug that was resulting in slightly reduced encoding
  • quality.

New in rav1e p20230808 Pre-release (Aug 9, 2023)

  • This fixes a bug that was resulting in slightly reduced encoding
  • quality.

New in rav1e p20230801 Pre-release (Aug 2, 2023)

  • fix(deps): update rust crate clap to 4.3.19

New in rav1e p20230718 Pre-release (Jul 19, 2023)

  • Make fast_idiv safe by using NonZeroUsize

New in rav1e p20230711 Pre-release (Jul 11, 2023)

  • chore(deps): lock file maintenance

New in rav1e p20230704 Pre-release (Jul 4, 2023)

  • What's Changed:
  • chore(deps): update all non-major dependencies by @renovate in #3234
  • chore(deps): lock file maintenance by @renovate in #3235
  • Show runtime assembly level in long version output by @shssoichiro in #3236

New in rav1e p20230627 Pre-release (Jun 28, 2023)

  • chore(deps): lock file maintenance

New in rav1e p20230620 Pre-release (Jun 21, 2023)

  • What's Changed:
  • chore(deps): update mcr.microsoft.com/devcontainers/rust docker tag to v1 by @renovate in #3229
  • devcontainer: Upgrade base to Debian 12 (bookworm) by @barrbrain in #3230
  • chore(deps): lock file maintenance by @renovate in #3232
  • fix(deps): update all non-major dependencies by @renovate in #3231

New in rav1e p20230613 Pre-release (Jun 14, 2023)

  • What's Changed:
  • cdf_context: fix clippy lint caught by 1.72.0 nightly by @tmatth in #3218
  • config: constrain max fps by @tmatth in #3217
  • ivf: add read tests by @tmatth in #3220
  • Improve coverage by @tmatth in #3221
  • fix(deps): update all non-major dependencies by @renovate in #3222
  • chore(deps): lock file maintenance by @renovate in #3223
  • chore(deps): lock file maintenance by @renovate in #3224
  • Integrate new dav1d assembly (1.2.1) by @barrbrain in #3219
  • Revert constrain fps by @tmatth in #3228

New in rav1e p20230606 Pre-release (Jun 7, 2023)

  • What's Changed:
  • cdf_context: fix clippy lint caught by 1.72.0 nightly by @tmatth in #3218
  • config: constrain max fps by @tmatth in #3217
  • ivf: add read tests by @tmatth in #3220
  • Improve coverage by @tmatth in #3221
  • fix(deps): update all non-major dependencies by @renovate in #3222
  • chore(deps): lock file maintenance by @renovate in #3223
  • chore(deps): lock file maintenance by @renovate in #3224
  • Integrate new dav1d assembly (1.2.1) by @barrbrain in #3219
  • Revert constrain fps by @tmatth in #3228

New in rav1e p20230530 Pre-release (May 31, 2023)

  • What's Changed:
  • Enable Renovate to update lockfile dependencies by @shssoichiro in #3208
  • Readd logging which was accidentally hidden behind tracing feature by @shssoichiro in #3210
  • chore(deps): update rust crate criterion to 0.5 by @renovate in #3212
  • replace (unsupported) cargo-asm with cargo-show-asm by @pacak in #3214
  • fix a typo in the command... by @pacak in #3215
  • chore(deps): lock file maintenance by @renovate in #3213

New in rav1e p20230523 Pre-release (May 24, 2023)

  • fix(deps): update all non-major dependencies

New in rav1e p20230516 Pre-release (May 17, 2023)

  • What's Changed:
  • Integrate new dav1d assembly (1.2.0) by @barrbrain in #3194
  • Add devcontainer with deps for x86_64 and aarch64 by @barrbrain in #3200
  • fix: check --all-targets without --features bench by @barrbrain in #3203
  • fix(deps): update all non-major dependencies by @renovate in #3201

New in rav1e 0.6.6 (May 16, 2023)

  • Sync the assembly with dav1d
  • Additional improvements and cleanups

New in rav1e p20230509 Pre-release (May 10, 2023)

  • fix(deps): update rust crate clap to 4.2.7

New in rav1e 0.6.5 (May 8, 2023)

  • Remove a deprecated dependency

New in rav1e p20230502 Pre-release (May 3, 2023)

  • fix(deps): update all non-major dependencies by @renovate in #3190
  • Increase test coverage for intra prediction and inverse transforms by @barrbrain in #3189
  • fix(deps): update rust crate clap to 4.2.5 by @renovate in #3192

New in rav1e p20230425 Pre-release (Apr 26, 2023)

  • What's Changed:
  • fix(deps): update all non-major dependencies by @renovate in #3180
  • CI: Fix deploy workflow and address warnings by @barrbrain in #3181

New in rav1e p20230418 Pre-release (Apr 19, 2023)

  • What's Changed:
  • Optimize quantize() function by @barrbrain in #3184
  • Cleanup and add more inspection to hawktracer by @shssoichiro in #3182

New in rav1e p20230411 Pre-release (Apr 12, 2023)

  • CI: Remove deleted inputs for dtolnay/rust-toolchain action

New in rav1e 0.6.4 (Apr 9, 2023)

  • More assembly optimizations for x86_64
  • Optimizations in the plane/region logic
  • Optimizations in the motion estimation code
  • Optimizations in the cdef_dist code (AVX2 and general logic)
  • Optimizations in the entropy coder
  • Avoid an UB in cdef_context
  • Leverage const-generics to improve the CDF bookkeeping/rollback system
  • Additional fixes

New in rav1e p20230404 Pre-release (Apr 5, 2023)

  • Safety critical bounds checking is off-by-one in sgrproj_box_ab_internal

New in rav1e p20230117 Pre-release (Apr 4, 2023)

  • Commit Rust 1.60 compatible Cargo.lock by @shssoichiro in #3086
  • Template entropy coding functions to help optimiser by @shssoichiro in #3089
  • Improve vectorization in get_sad by @shssoichiro in #3087
  • Optimise BlockSize::from_width_and_height_opt by @shssoichiro in #3090
  • Optimise plane::as_region by @shssoichiro in #3091
  • Integrate dav1d CfL AC x86 assembly by @barrbrain in #3085
  • Use chunks_exact for performance in diff method by @shssoichiro in #3092
  • Minor optimization to av1_get_mv_joint by @shssoichiro in #3095
  • Save some bounds checks on me_stats by @shssoichiro in #3098
  • Optimise sad_plane_internal by @shssoichiro in #3088

New in rav1e p20230321 Pre-release (Mar 22, 2023)

  • Fix undefined behavior in CDFContextLogOps
  • Calling Vec::get_unchecked_mut() with an out-of-bounds index is undefined behavior even if the resulting reference is not used.

New in rav1e p20230314 Pre-release (Mar 15, 2023)

  • Fix CI errors from trying to use sparse registries (#3155)

New in rav1e p20230307 Pre-release (Mar 8, 2023)

  • Bump paste from 1.0.11 to 1.0.12
  • Bumps [paste](https://github.com/dtolnay/paste) from 1.0.11 to 1.0.12.
  • [Release notes](https://github.com/dtolnay/paste/releases)
  • [Commits](https://github.com/dtolnay/paste/compare/1.0.11...1.0.12)
  • updated-dependencies:
  • dependency-name: paste
  • dependency-type: direct:production
  • update-type: version-update:semver-patch

New in rav1e p20230221 Pre-release (Feb 22, 2023)

  • updated-dependencies:
  • dependency-name: built
  • dependency-type: direct:production
  • update-type: version-update:semver-minor

New in rav1e p20230117 Pre-release (Jan 18, 2023)

  • Optimise sad_plane_internal
  • This is part of a series of commits authored by @maj160 to improve performance of rav1e.

New in rav1e p20230110 Pre-release (Jan 11, 2023)

  • Fix header coding for level_idx < 7.

New in rav1e p20230103 Pre-release (Jan 4, 2023)

  • Fix new clippy lints for Rust 1.66

New in rav1e 0.6.2 (Dec 26, 2022)

  • Address multiple build-system issues

New in rav1e 0.6.1 (Dec 1, 2022)

  • Fix building the C-API alone

New in rav1e p20221123 Pre-release (Nov 24, 2022)

  • CI: Correct format of target_cpu for x86_64 in deploy workflow by @barrbrain in #3063
  • Add level to API and CLI. by @tdaede in #3062
  • Add C API for level. by @tdaede in #3064
  • CI: Fix up deploy workflow by @shssoichiro in #3065

New in rav1e p20221115 Pre-release (Nov 17, 2022)

  • Update deps by @lu-zero in #3060
  • Bump actions/cache from 2 to 3 by @dependabot in #3061
  • Bump actions/upload-artifact from 2 to 3 by @dependabot in #3055
  • Bump actions/download-artifact from 2 to 3 by @dependabot in #3056
  • Write level stored in sequence struct. by @tdaede in #3057
  • Produced optimized binary versions from CI by @shssoichiro in #3052

New in rav1e p20221101 Pre-release (Nov 1, 2022)

  • tests: Add three-pass encode with target bitrate
  • This was previously uncovered when this feature regressed during CLI rework for a library upgrade.

New in rav1e p20221018 Pre-release (Oct 19, 2022)

  • Replace AVX2 HBD SATD intrinsics with ASM, for some block sizes (#3039)
  • Replace AVX2 HBD SATD intrinsics with ASM, for some block sizes
  • Better instruction level parallelism for 12-bit 4x8 satd
  • Update ymm register count

New in rav1e p20221011 Pre-release (Oct 12, 2022)

  • Move v_frame to its own repository by @shssoichiro in #3033

New in rav1e p20221004 Pre-release (Oct 5, 2022)

  • Fix UB in pred_max test by @redzic in #3030
  • Add scales and segment thresholds to dump_lookahead_data by @barrbrain in #3031

New in rav1e p20220913 Pre-release (Sep 13, 2022)

  • bin: Bring --photon-noise out from under unstable feature
  • Align the field name with the flag and the av1-grain API.
  • This feature is external to librav1e and used only in binaries.

New in rav1e p20220906 Pre-release (Sep 6, 2022)

  • Fix new lints from Rust nightly by @shssoichiro in #3006
  • logexp: Correct rounding bias in blog32_q11 by @barrbrain in #3007
  • logexp: Correct integer part in blog32_q11 by @barrbrain in #3008
  • Remove aq_strength configuration by @barrbrain in #3009
  • Remove duplicated constants by @shssoichiro in #3011
  • Bump several dependencies by @shssoichiro in #3012
  • Calculate per-plane scales in Q14 and center log(base_q) by @barrbrain in #3013

New in rav1e p20220823 Prerelease (Aug 24, 2022)

  • segmentation: Change precision of log(scale) to Q23. This is aligned to IEEE 754 binary32 precision and avoids possible saturation of i32 from extreme values of DistortionScale. Also, restore internal documentation from the draft of #2993.

New in rav1e p20220816 Prerelease (Aug 16, 2022)

  • Stabilize the --film-grain-table parameter by @shssoichiro in #2975
  • CI: Do not consider crates directory for code coverage by @Luni-4 in #2976
  • CI: Switch to codecov by @Luni-4 in #2977
  • Improve badges in README by @Luni-4 in #2978
  • Add T.35 metadata support. by @tdaede in #2968
  • Add enhanced version info by @shssoichiro in #2979
  • Retune constants for ssim_boost by @barrbrain in #2974
  • Add aarch64 NEON 8-bit SATD assembly for 4x4-transformed block sizes by @redzic in #2972
  • Remove always-true if statement in encode_partition_topdown() by @redzic in #2980
  • Fix aarch64 satd compilation on gcc by @redzic in #2982
  • CI: Fix clippy::derive_partial_eq_without_eq, etc. warnings by @barrbrain in #2983
  • Clean up encode_partition_topdown() by @redzic in #2984
  • Use frame-relative spatiotemporal scores by @barrbrain in #2981
  • segmentation: Limit minimum segment to avoid lossless mode by @barrbrain in #2986
  • Implement SegmentationLevel::Full again by @barrbrain in #2987
  • CI: Pull in dev packages from Ubuntu Kinetic by @barrbrain in #2988
  • Bump console + dav1d-sys + system-deps by @eclipseo in #2961

New in rav1e p20220619 Prerelease (Jul 20, 2022)

  • Optimize write_uleb128 function

New in rav1e p20220510 Prerelease (May 11, 2022)

  • Use to_le_bytes in copy_to_raw_u8 (#2932)

New in rav1e p20220426 Prerelease (Apr 27, 2022)

  • Remove a broken hawktracer annotation
  • Some change seems to have occurred which causes this specific hawktracer
  • annotation to fail to compile. For the time being, remove it so that
  • hawktracer support can compile again.

New in rav1e 0.5.1 (Dec 14, 2021)

  • Fix the dispatcher calling avx2 code when the sub-architecture does not support it.

New in rav1e 20211123 Prerelease (Nov 24, 2021)

  • Better autovectorization of `spatiotemporal_scale`

New in rav1e 0.5.0 (Oct 31, 2021)

  • Changes:
  • Rebalanced the speed levels to not be too similar speed wise (more work on this is slated for 0.6).

New in rav1e 0.5.0 Beta 2 (Sep 14, 2021)

  • Changes:
  • New scenechange detection
  • Fixes:
  • Set the monochrome bit correctly in the exported extradata

New in rav1e 20210831 Pre-release (Sep 1, 2021)

  • Remove dead branches in scenecut code

New in rav1e 020210706 Pre-release (Jul 7, 2021)

  • CI: Update to libaom to 3.1.1-dmo0~bpo10+2

New in rav1e 20210622 Pre-release (Jun 23, 2021)

  • CI: Update libaom to 3.1.1-dmo0~bpo10+1
  • This commit also introduces libvmaf and libvmaf-dev as a new dependency as
  • libaom-3.1.1 onwards it is required

New in rav1e 20210601 Pre-release (Jun 2, 2021)

  • Move the cpu feature info line

New in rav1e 0.4.1 (Apr 2, 2021)

  • Avoid a crash for 1pixel videos
  • Make write_color_config() spec compliant
  • Fix an intermittent test failure
  • Make sure Intel AVX512 support works
  • Update v_frame to 0.2.1

New in rav1e 20210309 Pre-release (Mar 9, 2021)

  • Add colored help to the CLI

New in rav1e 0.5.0 Alpha (Feb 10, 2021)

  • Changes:
  • The per-frame custom-data is now using an Opaque struct
  • Improvements:
  • Memory layout optimization for the EC checkpoint/rollback capability used in the RDO
  • Additional 10bit x86_64 assembly

New in rav1e 0.4.0 (Jan 21, 2021)

  • Improvements:
  • Enable open partitions on frame boundaries (2% improvement to coding efficiency)
  • Use av-metrics in CLI to compute PNSR, PSNR-HVS, SSIM, MS-SSIM, and CIEDE2000 (see --metrics)
  • Enable deblocking in loop filter rate-distortion optimization (0.5% to 1.5% improvement to coding efficiency)
  • Thread CDEF loop filter with tiles (1.2% reduction in encoding time with 4 tiles)
  • Redesign the rate control API
  • Add monochrome support
  • Improve 4:2:2 support (37% reduction in encoding time, 0.8% to 5% improvement to coding efficiency)
  • Add compound prediction mode variants for drl=2 and drl=3
  • Enable NEAR_NEAR1MV and NEAR_NEAR2MV compound modes
  • Support arbitrary-SAR anamorphic video
  • Enforce a frame limit of 1 in still picture mode
  • Add a quiet mode to the CLI (--quiet flag)
  • Convert all motion vector predictors to full pixel precision
  • Update non-broken motion estimation predictors (0.28% improvement to coding efficiency)
  • Substantially rework initial motion estimation (9% reduction in encoding time)
  • Optimise predictors for multipass motion estimation (0.3% to 0.4% improvement to coding efficiency)
  • Optimize chroma quantizer offsets for 4:4:4 sampling
  • Allow opaque extra data to be attached to frames and retrieved from encoded packets via the API
  • Merge new dav1d assembly code for x86 and AArch64
  • Add/improve assembly code for distortion computations
  • Derive quantizers using linear models (0.7% to 1.7% improvement to coding efficiency)
  • Prune intra frame prediction mode list dynamically (5.5% to 12.2% reduction in encoding time at speed level 5)
  • Optimize rate-distortion optimization loop (1% reduction in encoding time)
  • Reduce memory allocation count in various areas
  • Optimize tile block access (1.5% reduction in encoding time)
  • Allow frame sizes <16x16 in still picture mode
  • Add high bit depth AVX2 assembly (9% to 31% reduction in encoding time for 10-bit video)
  • Bug Fixes:
  • Fix rebuilding with fresh assembly output
  • Fix the chroma plane desyncs on narrow frames
  • Abort rate controlled encoding without a bitrate target in the CLI
  • Fix the -v CLI option
  • Fix a crash when using 4 tiles for 1080p 4:2:2 input
  • Fix intra edge filter desyncs with 4:2:2 and 4:4:4 input
  • Fix a symbol redefinition error for AArch64 builds using Clang
  • Fix loop restoration filter with 4:2:2 and 4:4:4 input
  • Fix incorrect quantizer index clamping
  • Fix cross-compiling for mingw-W64 on macOS
  • Avoid a buffer underflow condition in CDEF pad_into_tmp16()
  • Properly validate minimum RDO lookahead frames value
  • Respect quantizer bounds with rate control enabled
  • Restrict still picture mode to single-frame streams
  • Changes:
  • Bump minimum version of NASM to 2.14.02
  • Update speed presets
  • Enable full SGR search for levels 0-4 instead of 0-8
  • Enable fine directional prediction for all speed levels
  • Enable reduced transform type search for levels 6-10 instead of 5-10
  • Disable transform type RDO for inter frames
  • Rename "native" CPU feature level to "Rust" (use RAV1E_CPU_TARGET=rust at runtime)
  • Remove in-library PSNR computation feature
  • Move frame-related data structures to a separate crate (v_frame)
  • Extend dump_lookahead_data feature
  • Export the frame_subtype property
  • Use the RAV1E_DATA_PATH environment variable to determine the output path
  • Refactor CDEF to allow easier importation of dav1d CDEF assembly, as well as simplifying interaction between loop filters
  • Remove leftover code ported from libaom
  • Remove unused diamond motion estimation
  • Reduce build time
  • Disable LTO by default
  • Disable code generation unit restriction
  • Allow incremental builds for the release profile
  • Inline various functions
  • Remove large stack allocations
  • Split large modules into multiple submodules
  • Add an unstable channel API feature
  • Prompt if the output file would be overwritten and add -y to override it.