Compare commits

...

28 Commits
f33 ... rawhide

Author SHA1 Message Date
Fabio Valentini 16163dd9ba
Ensure default Rust compiler flags apply to the shared library build 2023-02-17 01:15:06 +01:00
Fabio Valentini 25550eed0d
Disambiguate code which is ambiguous with Rust 1.67+ 2023-02-17 01:14:56 +01:00
Fedora Release Engineering 00a5731ad6 Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-01-21 00:57:09 +00:00
Fabio Valentini bf42ca2e8f
Backport upstream patch to fix UB / crash in test code 2023-01-13 17:44:30 +01:00
Fabio Valentini 72cd36f806
Remove unused dependencies; split off source-only Rust devel package 2022-08-08 21:12:24 +02:00
Fedora Release Engineering 158e9d07a8 Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-07-23 06:09:36 +00:00
Robert-André Mauchin d4500defba Fix devel package name 2022-06-25 11:24:31 +02:00
Robert-André Mauchin b526858e59 Bump dav1d-sys dep 2022-06-23 19:47:57 +02:00
Robert-André Mauchin ec79130d1c Update to 0.5.1 Close: rhbz#2032033 2022-06-19 21:30:47 +02:00
Fabio Valentini 385352e82e
Hack the workaround of the workaround 2022-02-22 04:07:53 +01:00
Fabio Valentini 7bd91ad2ce
Work around codegen issues when compiling doctests with LLVM 13 2022-02-22 03:54:01 +01:00
Fabio Valentini dbd06f408f
Bump system-deps from 3.1.2 to 6 2022-02-22 00:59:39 +01:00
Zbigniew Jędrzejewski-Szmek bf002299de Rebuild with package notes 2022-02-15 16:31:42 +01:00
Fedora Release Engineering 724fa70621 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-01-21 22:40:52 +00:00
Robert-André Mauchin 6ef633730a Update to 0.5.0 Close: rhbz#1991588 2021-11-21 15:54:59 +01:00
Robert-André Mauchin 904b12931c Convert to rpmautospec 2021-11-21 04:33:19 +01:00
Fabio Valentini 98c5c4454b
Rebuild with crossbeam-deque 0.8.1 / 0.7.4 for CVE-2021-32810 2021-08-07 14:01:01 +02:00
Fedora Release Engineering 108e964940 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-07-23 15:36:13 +00:00
Robert-André Mauchin 8c7452f9b8 Add patch to fix https://github.com/xiph/rav1e/issues/2662 2021-07-10 14:07:04 +02:00
Robert-André Mauchin 67b040ccac Update to 0.4.1
Close: rhbz#1915864

Signed-off-by: Robert-André Mauchin <zebob.m@gmail.com>
2021-04-07 18:00:21 +02:00
Robert-André Mauchin ea830ace08 Update to 0.4.0
Close: rhbz#1915864
2021-03-29 20:08:06 +02:00
Fedora Release Engineering a847441357 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-01-27 18:49:55 +00:00
Igor Raits 0f23a5b341
Rebuild
Signed-off-by: Igor Raits <ignatenkobrain@fedoraproject.org>
2020-12-28 13:32:03 +01:00
Robert-André Mauchin a311f11eb9
Update to 0.4.0~alpha
Signed-off-by: Robert-André Mauchin <zebob.m@gmail.com>
2020-12-10 23:18:48 +01:00
Robert-André Mauchin 960a3f63a2
Rebuild with new cargo-c to fix pkgconfig includedir
Fix: rhbz#1902211

Signed-off-by: Robert-André Mauchin <zebob.m@gmail.com>
2020-12-06 04:58:21 +01:00
Fabio Valentini 80c96c7486
temporarily skip some broken tests on aarch64 2020-10-20 23:43:04 +02:00
Fabio Valentini 1eee9a766b
update to version 0.3.4 2020-10-20 17:26:02 +02:00
Josh Stone 36559aa84c Bump paste to 1.0 2020-08-26 07:57:34 -07:00
12 changed files with 993 additions and 345 deletions

6
.gitignore vendored
View File

@ -1,3 +1,9 @@
/rav1e-0.3.0.crate
/rav1e-0.3.1.crate
/rav1e-0.3.3.crate
/rav1e-0.3.4.crate
/rav1e-0.4.0-alpha.crate
/rav1e-0.4.0.crate
/rav1e-0.4.1.crate
/rav1e-0.5.0.crate
/rav1e-0.5.1.crate

View File

@ -1,72 +0,0 @@
From 900ed9f0f4a57b07315f54001981f2776f760fc3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Rapha=C3=ABl=20Zumer?= <rzumer@tebako.net>
Date: Fri, 22 May 2020 16:05:54 -0400
Subject: [PATCH 1/2] Update the y4m dependency
(cherry picked from commit fff4653c4e17eba3df4b10fad3fa299e8806c069)
---
src/bin/decoder/y4m.rs | 4 ++--
src/bin/muxer/y4m.rs | 2 +-
src/bin/rav1e.rs | 4 ++--
3 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/src/bin/decoder/y4m.rs b/src/bin/decoder/y4m.rs
index b8d843871209..623a4bcac4d9 100644
--- a/src/bin/decoder/y4m.rs
+++ b/src/bin/decoder/y4m.rs
@@ -16,7 +16,7 @@ use crate::decoder::VideoDetails;
use crate::Frame;
use rav1e::prelude::*;
-impl Decoder for y4m::Decoder<'_, Box<dyn Read>> {
+impl Decoder for y4m::Decoder<Box<dyn Read>> {
fn get_video_details(&self) -> VideoDetails {
let width = self.get_width();
let height = self.get_height();
@@ -77,7 +77,7 @@ impl From<y4m::Error> for DecodeError {
y4m::Error::EOF => DecodeError::EOF,
y4m::Error::BadInput => DecodeError::BadInput,
y4m::Error::UnknownColorspace => DecodeError::UnknownColorspace,
- y4m::Error::ParseError => DecodeError::ParseError,
+ y4m::Error::ParseError(_) => DecodeError::ParseError,
y4m::Error::IoError(e) => DecodeError::IoError(e),
// Note that this error code has nothing to do with the system running out of memory,
// it means the y4m decoder has exceeded its memory allocation limit.
diff --git a/src/bin/muxer/y4m.rs b/src/bin/muxer/y4m.rs
index e26c31dc2ab0..c61ffa5daa3a 100644
--- a/src/bin/muxer/y4m.rs
+++ b/src/bin/muxer/y4m.rs
@@ -13,7 +13,7 @@ use std::io::Write;
use std::slice;
pub fn write_y4m_frame<T: Pixel>(
- y4m_enc: &mut y4m::Encoder<'_, Box<dyn Write>>, rec: &Frame<T>,
+ y4m_enc: &mut y4m::Encoder<Box<dyn Write>>, rec: &Frame<T>,
y4m_details: VideoDetails,
) {
let bytes_per_sample = if y4m_details.bit_depth > 8 { 2 } else { 1 };
diff --git a/src/bin/rav1e.rs b/src/bin/rav1e.rs
index 704434cbba30..675171f64e27 100644
--- a/src/bin/rav1e.rs
+++ b/src/bin/rav1e.rs
@@ -100,7 +100,7 @@ fn process_frame<T: Pixel, D: Decoder>(
ctx: &mut Context<T>, output_file: &mut dyn Muxer, source: &mut Source<D>,
pass1file: Option<&mut File>, pass2file: Option<&mut File>,
buffer: &mut [u8], buf_pos: &mut usize,
- mut y4m_enc: Option<&mut y4m::Encoder<'_, Box<dyn Write>>>,
+ mut y4m_enc: Option<&mut y4m::Encoder<Box<dyn Write>>>,
) -> Result<Option<Vec<FrameSummary>>, CliError> {
let y4m_details = source.input.get_video_details();
let mut frame_summaries = Vec::new();
@@ -198,7 +198,7 @@ fn do_encode<T: Pixel, D: Decoder>(
cfg: Config, verbose: bool, mut progress: ProgressInfo,
output: &mut dyn Muxer, source: &mut Source<D>,
pass1file_name: Option<&String>, pass2file_name: Option<&String>,
- mut y4m_enc: Option<y4m::Encoder<'_, Box<dyn Write>>>,
+ mut y4m_enc: Option<y4m::Encoder<Box<dyn Write>>>,
) -> Result<(), CliError> {
let mut ctx: Context<T> =
cfg.new_context().map_err(|e| e.context("Invalid encoder settings"))?;
--
2.26.2

View File

@ -0,0 +1,435 @@
From 0dc6dc69be65915666c3d70455d181d4d1b5b78c Mon Sep 17 00:00:00 2001
From: Fabio Valentini <decathorpe@gmail.com>
Date: Mon, 8 Aug 2022 20:48:47 +0200
Subject: [PATCH 1/3] remove unused hawktracer usage
---
src/activity.rs | 3 ---
src/api/internal.rs | 9 ---------
src/api/lookahead.rs | 5 -----
src/bin/muxer/ivf.rs | 2 --
src/bin/rav1e-ch.rs | 10 ----------
src/bin/rav1e.rs | 10 ----------
src/bin/stats.rs | 3 ---
src/cdef.rs | 2 --
src/deblock.rs | 4 ----
src/encoder.rs | 3 ---
src/lrf.rs | 2 --
src/me.rs | 3 ---
src/scenechange/mod.rs | 5 -----
13 files changed, 61 deletions(-)
diff --git a/src/activity.rs b/src/activity.rs
index 99d9137..7ebcd0e 100644
--- a/src/activity.rs
+++ b/src/activity.rs
@@ -12,7 +12,6 @@ use crate::rdo::{ssim_boost, DistortionScale};
use crate::tiling::*;
use crate::util::*;
use itertools::izip;
-use rust_hawktracer::*;
#[derive(Debug, Default, Clone)]
pub struct ActivityMask {
@@ -20,7 +19,6 @@ pub struct ActivityMask {
}
impl ActivityMask {
- #[hawktracer(activity_mask_from_plane)]
pub fn from_plane<T: Pixel>(luma_plane: &Plane<T>) -> ActivityMask {
let PlaneConfig { width, height, .. } = luma_plane.cfg;
@@ -55,7 +53,6 @@ impl ActivityMask {
ActivityMask { variances: variances.into_boxed_slice() }
}
- #[hawktracer(activity_mask_fill_scales)]
pub fn fill_scales(
&self, bit_depth: usize, activity_scales: &mut Box<[DistortionScale]>,
) {
diff --git a/src/api/internal.rs b/src/api/internal.rs
index c1613c8..5bfa3ab 100644
--- a/src/api/internal.rs
+++ b/src/api/internal.rs
@@ -27,7 +27,6 @@ use crate::stats::EncoderStats;
use crate::tiling::Area;
use crate::util::Pixel;
use arrayvec::ArrayVec;
-use rust_hawktracer::*;
use std::cmp;
use std::collections::{BTreeMap, BTreeSet};
use std::env;
@@ -312,7 +311,6 @@ impl<T: Pixel> ContextInner<T> {
}
}
- #[hawktracer(send_frame)]
pub fn send_frame(
&mut self, mut frame: Option<Arc<Frame<T>>>,
params: Option<FrameParameters>,
@@ -591,7 +589,6 @@ impl<T: Pixel> ContextInner<T> {
/// `rec_buffer` and `lookahead_rec_buffer` on the `FrameInvariants`. This
/// function must be called after every new `FrameInvariants` is initially
/// computed.
- #[hawktracer(compute_lookahead_motion_vectors)]
fn compute_lookahead_motion_vectors(&mut self, output_frameno: u64) {
let qps = {
let frame_data = self.frame_data.get(&output_frameno).unwrap();
@@ -752,7 +749,6 @@ impl<T: Pixel> ContextInner<T> {
/// Computes lookahead intra cost approximations and fills in
/// `lookahead_intra_costs` on the `FrameInvariants`.
- #[hawktracer(compute_lookahead_intra_costs)]
fn compute_lookahead_intra_costs(&mut self, output_frameno: u64) {
let frame_data = self.frame_data.get(&output_frameno).unwrap();
let fi = &frame_data.fi;
@@ -774,7 +770,6 @@ impl<T: Pixel> ContextInner<T> {
);
}
- #[hawktracer(compute_keyframe_placement)]
pub fn compute_keyframe_placement(
&mut self, lookahead_frames: &[Arc<Frame<T>>],
) {
@@ -791,7 +786,6 @@ impl<T: Pixel> ContextInner<T> {
self.next_lookahead_frame += 1;
}
- #[hawktracer(compute_frame_invariants)]
pub fn compute_frame_invariants(&mut self) {
while self.set_frame_properties(self.next_lookahead_output_frameno).is_ok()
{
@@ -804,7 +798,6 @@ impl<T: Pixel> ContextInner<T> {
}
}
- #[hawktracer(update_block_importances)]
fn update_block_importances(
fi: &FrameInvariants<T>, me_stats: &crate::me::FrameMEStats,
frame: &Frame<T>, reference_frame: &Frame<T>, bit_depth: usize,
@@ -963,7 +956,6 @@ impl<T: Pixel> ContextInner<T> {
}
/// Computes the block importances for the current output frame.
- #[hawktracer(compute_block_importances)]
fn compute_block_importances(&mut self) {
// SEF don't need block importances.
if self.frame_data[&self.output_frameno].fi.show_existing_frame {
@@ -1296,7 +1288,6 @@ impl<T: Pixel> ContextInner<T> {
}
}
- #[hawktracer(receive_packet)]
pub fn receive_packet(&mut self) -> Result<Packet<T>, EncoderStatus> {
if self.done_processing() {
return Err(EncoderStatus::LimitReached);
diff --git a/src/api/lookahead.rs b/src/api/lookahead.rs
index 690acd2..30297d3 100644
--- a/src/api/lookahead.rs
+++ b/src/api/lookahead.rs
@@ -14,7 +14,6 @@ use crate::rayon::iter::*;
use crate::tiling::{Area, TileRect};
use crate::transform::TxSize;
use crate::{Frame, Pixel};
-use rust_hawktracer::*;
use std::sync::Arc;
use v_frame::pixel::CastFromPrimitive;
@@ -24,7 +23,6 @@ pub(crate) const IMP_BLOCK_SIZE_IN_MV_UNITS: i64 =
pub(crate) const IMP_BLOCK_AREA_IN_MV_UNITS: i64 =
IMP_BLOCK_SIZE_IN_MV_UNITS * IMP_BLOCK_SIZE_IN_MV_UNITS;
-#[hawktracer(estimate_intra_costs)]
pub(crate) fn estimate_intra_costs<T: Pixel>(
frame: &Frame<T>, bit_depth: usize, cpu_feature_level: CpuFeatureLevel,
) -> Box<[u32]> {
@@ -116,7 +114,6 @@ pub(crate) fn estimate_intra_costs<T: Pixel>(
intra_costs.into_boxed_slice()
}
-#[hawktracer(estimate_importance_block_difference)]
pub(crate) fn estimate_importance_block_difference<T: Pixel>(
frame: Arc<Frame<T>>, ref_frame: Arc<Frame<T>>,
) -> Box<[u32]> {
@@ -174,7 +171,6 @@ pub(crate) fn estimate_importance_block_difference<T: Pixel>(
inter_costs.into_boxed_slice()
}
-#[hawktracer(estimate_inter_costs)]
pub(crate) fn estimate_inter_costs<T: Pixel>(
frame: Arc<Frame<T>>, ref_frame: Arc<Frame<T>>, bit_depth: usize,
mut config: EncoderConfig, sequence: Arc<Sequence>,
@@ -236,7 +232,6 @@ pub(crate) fn estimate_inter_costs<T: Pixel>(
inter_costs.into_boxed_slice()
}
-#[hawktracer(compute_motion_vectors)]
pub(crate) fn compute_motion_vectors<T: Pixel>(
fi: &mut FrameInvariants<T>, fs: &mut FrameState<T>, inter_cfg: &InterConfig,
) {
diff --git a/src/bin/muxer/ivf.rs b/src/bin/muxer/ivf.rs
index d89e541..2157a58 100644
--- a/src/bin/muxer/ivf.rs
+++ b/src/bin/muxer/ivf.rs
@@ -12,7 +12,6 @@ use super::Muxer;
use crate::error::*;
use ivf::*;
use rav1e::prelude::*;
-use rust_hawktracer::*;
use std::fs;
use std::fs::File;
use std::io;
@@ -37,7 +36,6 @@ impl Muxer for IvfMuxer {
);
}
- #[hawktracer(write_frame)]
fn write_frame(&mut self, pts: u64, data: &[u8], _frame_type: FrameType) {
write_ivf_frame(&mut self.output, pts, data);
}
diff --git a/src/bin/rav1e-ch.rs b/src/bin/rav1e-ch.rs
index d9081dd..80b6f9a 100644
--- a/src/bin/rav1e-ch.rs
+++ b/src/bin/rav1e-ch.rs
@@ -303,18 +303,8 @@ fn do_encode<T: Pixel, D: Decoder>(
}
fn main() -> Result<(), Box<dyn std::error::Error>> {
- #[cfg(feature = "tracing")]
- use rust_hawktracer::*;
init_logger();
- #[cfg(feature = "tracing")]
- let instance = HawktracerInstance::new();
- #[cfg(feature = "tracing")]
- let _listener = instance.create_listener(HawktracerListenerType::ToFile {
- file_path: "trace.bin".into(),
- buffer_size: 4096,
- });
-
run().map_err(|e| {
error::print_error(&e);
Box::new(e) as Box<dyn std::error::Error>
diff --git a/src/bin/rav1e.rs b/src/bin/rav1e.rs
index da6d664..2d9eac3 100644
--- a/src/bin/rav1e.rs
+++ b/src/bin/rav1e.rs
@@ -295,18 +295,8 @@ fn do_encode<T: Pixel, D: Decoder>(
}
fn main() {
- #[cfg(feature = "tracing")]
- use rust_hawktracer::*;
init_logger();
- #[cfg(feature = "tracing")]
- let instance = HawktracerInstance::new();
- #[cfg(feature = "tracing")]
- let _listener = instance.create_listener(HawktracerListenerType::ToFile {
- file_path: "trace.bin".into(),
- buffer_size: 4096,
- });
-
run().unwrap_or_else(|e| {
error::print_error(&e);
exit(1);
diff --git a/src/bin/stats.rs b/src/bin/stats.rs
index d363d0c..09e3b77 100644
--- a/src/bin/stats.rs
+++ b/src/bin/stats.rs
@@ -12,7 +12,6 @@ use rav1e::data::EncoderStats;
use rav1e::prelude::Rational;
use rav1e::prelude::*;
use rav1e::{Packet, Pixel};
-use rust_hawktracer::*;
use std::fmt;
use std::time::Instant;
@@ -30,7 +29,6 @@ pub struct FrameSummary {
pub enc_stats: EncoderStats,
}
-#[hawktracer(build_frame_summary)]
pub fn build_frame_summary<T: Pixel>(
packets: Packet<T>, bit_depth: usize, chroma_sampling: ChromaSampling,
metrics_cli: MetricsEnabled,
@@ -742,7 +740,6 @@ pub enum MetricsEnabled {
All,
}
-#[hawktracer(calculate_frame_metrics)]
pub fn calculate_frame_metrics<T: Pixel>(
frame1: &Frame<T>, frame2: &Frame<T>, bit_depth: usize, cs: ChromaSampling,
metrics: MetricsEnabled,
diff --git a/src/cdef.rs b/src/cdef.rs
index 6eeddb0..26e8ae1 100644
--- a/src/cdef.rs
+++ b/src/cdef.rs
@@ -13,7 +13,6 @@ use crate::encoder::FrameInvariants;
use crate::frame::*;
use crate::tiling::*;
use crate::util::{clamp, msb, CastFromPrimitive, Pixel};
-use rust_hawktracer::*;
use crate::cpu_features::CpuFeatureLevel;
use std::cmp;
@@ -586,7 +585,6 @@ pub fn cdef_filter_superblock<T: Pixel>(
// tile boundary), the filtering process ignores input pixels that
// don't exist.
-#[hawktracer(cdef_filter_tile)]
pub fn cdef_filter_tile<T: Pixel>(
fi: &FrameInvariants<T>, input: &Frame<T>, tb: &TileBlocks,
output: &mut TileMut<'_, T>,
diff --git a/src/deblock.rs b/src/deblock.rs
index ff70368..61b7cd4 100644
--- a/src/deblock.rs
+++ b/src/deblock.rs
@@ -17,7 +17,6 @@ use crate::quantize::*;
use crate::tiling::*;
use crate::util::{clamp, ILog, Pixel};
use crate::DeblockState;
-use rust_hawktracer::*;
use std::cmp;
use crate::rayon::iter::*;
@@ -1313,7 +1312,6 @@ fn sse_h_edge<T: Pixel>(
}
// Deblocks all edges, vertical and horizontal, in a single plane
-#[hawktracer(deblock_plane)]
pub fn deblock_plane<T: Pixel>(
deblock: &DeblockState, p: &mut PlaneRegionMut<T>, pli: usize,
blocks: &TileBlocks, crop_w: usize, crop_h: usize, bd: usize,
@@ -1563,7 +1561,6 @@ fn sse_plane<T: Pixel>(
}
// Deblocks all edges in all planes of a frame
-#[hawktracer(deblock_filter_frame)]
pub fn deblock_filter_frame<T: Pixel>(
deblock: &DeblockState, tile: &mut TileMut<T>, blocks: &TileBlocks,
crop_w: usize, crop_h: usize, bd: usize, planes: usize,
@@ -1641,7 +1638,6 @@ fn sse_optimize<T: Pixel>(
level
}
-#[hawktracer(deblock_filter_optimize)]
pub fn deblock_filter_optimize<T: Pixel, U: Pixel>(
fi: &FrameInvariants<T>, rec: &Tile<U>, input: &Tile<U>,
blocks: &TileBlocks, crop_w: usize, crop_h: usize,
diff --git a/src/encoder.rs b/src/encoder.rs
index c0b31fa..5fc753f 100644
--- a/src/encoder.rs
+++ b/src/encoder.rs
@@ -48,7 +48,6 @@ use std::sync::Arc;
use std::{fmt, io, mem};
use crate::rayon::iter::*;
-use rust_hawktracer::*;
#[allow(dead_code)]
#[derive(Debug, Clone, PartialEq)]
@@ -2949,7 +2948,6 @@ fn get_initial_cdfcontext<T: Pixel>(fi: &FrameInvariants<T>) -> CDFContext {
cdf.unwrap_or_else(|| CDFContext::new(fi.base_q_idx))
}
-#[hawktracer(encode_tile_group)]
fn encode_tile_group<T: Pixel>(
fi: &FrameInvariants<T>, fs: &mut FrameState<T>, inter_cfg: &InterConfig,
) -> Vec<u8> {
@@ -3181,7 +3179,6 @@ fn check_lf_queue<T: Pixel>(
}
}
-#[hawktracer(encode_tile)]
fn encode_tile<'a, T: Pixel>(
fi: &FrameInvariants<T>, ts: &mut TileStateMut<'_, T>,
fc: &'a mut CDFContext, blocks: &'a mut TileBlocksMut<'a>,
diff --git a/src/lrf.rs b/src/lrf.rs
index 2fc3b33..4399c4c 100644
--- a/src/lrf.rs
+++ b/src/lrf.rs
@@ -23,7 +23,6 @@ use crate::frame::{
};
use crate::tiling::{Area, PlaneRegion, PlaneRegionMut, Rect};
use crate::util::{clamp, CastFromPrimitive, ILog, Pixel};
-use rust_hawktracer::*;
use crate::api::SGRComplexityLevel;
use std::cmp;
@@ -1461,7 +1460,6 @@ impl RestorationState {
}
}
- #[hawktracer(lrf_filter_frame)]
pub fn lrf_filter_frame<T: Pixel>(
&mut self, out: &mut Frame<T>, pre_cdef: &Frame<T>,
fi: &FrameInvariants<T>,
diff --git a/src/me.rs b/src/me.rs
index 6f849a4..7ed64e4 100644
--- a/src/me.rs
+++ b/src/me.rs
@@ -29,8 +29,6 @@ use crate::util::ILog;
use std::ops::{Index, IndexMut};
use std::sync::Arc;
-use rust_hawktracer::*;
-
#[derive(Debug, Copy, Clone, Default)]
pub struct MEStats {
pub mv: MotionVector,
@@ -98,7 +96,6 @@ enum MVSamplingMode {
CORNER { right: bool, bottom: bool },
}
-#[hawktracer(estimate_tile_motion)]
pub fn estimate_tile_motion<T: Pixel>(
fi: &FrameInvariants<T>, ts: &mut TileStateMut<'_, T>,
inter_cfg: &InterConfig,
diff --git a/src/scenechange/mod.rs b/src/scenechange/mod.rs
index 20479f0..126329d 100644
--- a/src/scenechange/mod.rs
+++ b/src/scenechange/mod.rs
@@ -14,7 +14,6 @@ use crate::encoder::Sequence;
use crate::frame::*;
use crate::sad_row;
use crate::util::Pixel;
-use rust_hawktracer::*;
use std::sync::Arc;
use std::{cmp, u64};
@@ -123,7 +122,6 @@ impl<T: Pixel> SceneChangeDetector<T> {
/// to the second frame in `frame_set`.
///
/// This will gracefully handle the first frame in the video as well.
- #[hawktracer(analyze_next_frame)]
pub fn analyze_next_frame(
&mut self, frame_set: &[Arc<Frame<T>>], input_frameno: u64,
previous_keyframe: u64,
@@ -345,7 +343,6 @@ impl<T: Pixel> SceneChangeDetector<T> {
/// The fast algorithm detects fast cuts using a raw difference
/// in pixel values between the scaled frames.
- #[hawktracer(fast_scenecut)]
fn fast_scenecut(
&mut self, frame1: Arc<Frame<T>>, frame2: Arc<Frame<T>>,
) -> ScenecutResult {
@@ -424,7 +421,6 @@ impl<T: Pixel> SceneChangeDetector<T> {
/// We gather both intra and inter costs for the frames,
/// as well as an importance-block-based difference,
/// and use all three metrics.
- #[hawktracer(cost_scenecut)]
fn cost_scenecut(
&self, frame1: Arc<Frame<T>>, frame2: Arc<Frame<T>>,
) -> ScenecutResult {
@@ -487,7 +483,6 @@ impl<T: Pixel> SceneChangeDetector<T> {
}
/// Calculates the average sum of absolute difference (SAD) per pixel between 2 planes
- #[hawktracer(delta_in_planes)]
fn delta_in_planes(&self, plane1: &Plane<T>, plane2: &Plane<T>) -> f64 {
let mut delta = 0;
--
2.39.2

View File

@ -1,95 +0,0 @@
From 13771f767a4cb02ddd91aa35f8391b970178a6cb Mon Sep 17 00:00:00 2001
From: Luca Barbato <lu_zero@gentoo.org>
Date: Wed, 27 May 2020 17:35:58 +0200
Subject: [PATCH 2/2] Avoid some indirection now that we can directly store the
Writer/Reader in y4m
(cherry picked from commit d9ee06aae99b2a6c6dcb9c88da78b931610981da)
---
src/bin/rav1e.rs | 31 +++++++++++++++----------------
1 file changed, 15 insertions(+), 16 deletions(-)
diff --git a/src/bin/rav1e.rs b/src/bin/rav1e.rs
index 675171f64e27..3ae2636bc87f 100644
--- a/src/bin/rav1e.rs
+++ b/src/bin/rav1e.rs
@@ -196,7 +196,7 @@ fn process_frame<T: Pixel, D: Decoder>(
fn do_encode<T: Pixel, D: Decoder>(
cfg: Config, verbose: bool, mut progress: ProgressInfo,
- output: &mut dyn Muxer, source: &mut Source<D>,
+ output: &mut dyn Muxer, mut source: Source<D>,
pass1file_name: Option<&String>, pass2file_name: Option<&String>,
mut y4m_enc: Option<y4m::Encoder<Box<dyn Write>>>,
) -> Result<(), CliError> {
@@ -223,7 +223,7 @@ fn do_encode<T: Pixel, D: Decoder>(
while let Some(frame_info) = process_frame(
&mut ctx,
&mut *output,
- source,
+ &mut source,
pass1file.as_mut(),
pass2file.as_mut(),
&mut buffer,
@@ -348,15 +348,14 @@ fn run() -> Result<(), error::CliError> {
.saturating_mul(2304)
.saturating_add(1024),
};
- let mut y4m_dec =
- match y4m::Decoder::new_with_limits(&mut cli.io.input, limit) {
- Err(_) => {
- return Err(CliError::new("Could not input video. Is it a y4m file?"))
- }
- Ok(d) => d,
- };
+ let mut y4m_dec = match y4m::Decoder::new_with_limits(cli.io.input, limit) {
+ Err(_) => {
+ return Err(CliError::new("Could not input video. Is it a y4m file?"))
+ }
+ Ok(d) => d,
+ };
let video_info = y4m_dec.get_video_details();
- let y4m_enc = match cli.io.rec.as_mut() {
+ let y4m_enc = match cli.io.rec {
Some(rec) => Some(
y4m::encode(
video_info.width,
@@ -462,29 +461,29 @@ fn run() -> Result<(), error::CliError> {
};
#[cfg(all(unix, feature = "signal-hook"))]
- let mut source =
+ let source =
Source { limit: cli.limit, input: y4m_dec, count: 0, exit_requested };
#[cfg(not(all(unix, feature = "signal-hook")))]
- let mut source = Source { limit: cli.limit, input: y4m_dec, count: 0 };
+ let source = Source { limit: cli.limit, input: y4m_dec, count: 0 };
if video_info.bit_depth == 8 {
- do_encode::<u8, y4m::Decoder<'_, Box<dyn Read>>>(
+ do_encode::<u8, y4m::Decoder<Box<dyn Read>>>(
cfg,
cli.verbose,
progress,
&mut *cli.io.output,
- &mut source,
+ source,
cli.pass1file_name.as_ref(),
cli.pass2file_name.as_ref(),
y4m_enc,
)?
} else {
- do_encode::<u16, y4m::Decoder<'_, Box<dyn Read>>>(
+ do_encode::<u16, y4m::Decoder<Box<dyn Read>>>(
cfg,
cli.verbose,
progress,
&mut *cli.io.output,
- &mut source,
+ source,
cli.pass1file_name.as_ref(),
cli.pass2file_name.as_ref(),
y4m_enc,
--
2.26.2

View File

@ -0,0 +1,27 @@
From c867cd96956a2c5034496362c4a530b97fefe4b8 Mon Sep 17 00:00:00 2001
From: Fabio Valentini <decathorpe@gmail.com>
Date: Fri, 13 Jan 2023 17:35:44 +0100
Subject: [PATCH 2/3] Fix UB in pred_max test
Backport of upstream commit:
https://github.com/xiph/rav1e/commit/d56fe642bbbd8fe3d20c851b950db3fcaea53c7a
---
src/predict.rs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/predict.rs b/src/predict.rs
index 8e0108a..6058ccb 100644
--- a/src/predict.rs
+++ b/src/predict.rs
@@ -1542,7 +1542,7 @@ mod test {
}
}
- let above_left = unsafe { *above.as_ptr().offset(-1) };
+ let above_left = max12bit;
pred_paeth(
&mut o.as_region_mut(),
--
2.39.2

View File

@ -0,0 +1,164 @@
From 81ec02d29afbfa503997a56d3fb7c3f039030d8d Mon Sep 17 00:00:00 2001
From: Fabio Valentini <decathorpe@gmail.com>
Date: Fri, 17 Feb 2023 00:54:53 +0100
Subject: [PATCH 3/3] Disambiguate ILog::ilog calls from {integer}::ilog from
Rust 1.67+
---
src/deblock.rs | 4 ++--
src/ec.rs | 8 ++++----
src/encoder.rs | 2 +-
src/lrf.rs | 4 ++--
src/me.rs | 2 +-
src/rate.rs | 2 +-
src/transform/inverse.rs | 4 ++--
src/transform/mod.rs | 2 +-
8 files changed, 14 insertions(+), 14 deletions(-)
diff --git a/src/deblock.rs b/src/deblock.rs
index 61b7cd4..03048a5 100644
--- a/src/deblock.rs
+++ b/src/deblock.rs
@@ -1578,8 +1578,8 @@ fn sse_optimize<T: Pixel>(
) -> [u8; 4] {
// i64 allows us to accumulate a total of ~ 35 bits worth of pixels
assert!(
- input.planes[0].plane_cfg.width.ilog()
- + input.planes[0].plane_cfg.height.ilog()
+ ILog::ilog(input.planes[0].plane_cfg.width)
+ + ILog::ilog(input.planes[0].plane_cfg.height)
< 35
);
let mut level = [0; 4];
diff --git a/src/ec.rs b/src/ec.rs
index 5d02ffd..c8abc62 100644
--- a/src/ec.rs
+++ b/src/ec.rs
@@ -192,7 +192,7 @@ impl StorageBackend for WriterBase<WriterCounter> {
#[inline]
fn store(&mut self, fl: u16, fh: u16, nms: u16) {
let (_l, r) = self.lr_compute(fl, fh, nms);
- let d = 16 - r.ilog();
+ let d = 16 - ILog::ilog(r);
let mut s = self.cnt + (d as i16);
self.s.bytes += (s >= 0) as usize + (s >= 8) as usize;
@@ -230,7 +230,7 @@ impl StorageBackend for WriterBase<WriterRecorder> {
#[inline]
fn store(&mut self, fl: u16, fh: u16, nms: u16) {
let (_l, r) = self.lr_compute(fl, fh, nms);
- let d = 16 - r.ilog();
+ let d = 16 - ILog::ilog(r);
let mut s = self.cnt + (d as i16);
self.s.bytes += (s >= 0) as usize + (s >= 8) as usize;
@@ -271,7 +271,7 @@ impl StorageBackend for WriterBase<WriterEncoder> {
let (l, r) = self.lr_compute(fl, fh, nms);
let mut low = l + self.s.low;
let mut c = self.cnt;
- let d = 16 - r.ilog();
+ let d = 16 - ILog::ilog(r);
let mut s = c + (d as i16);
if s >= 0 {
@@ -584,7 +584,7 @@ where
// The 9 here counteracts the offset of -9 baked into cnt. Don't include a termination bit.
let pre = Self::frac_compute((self.cnt + 9) as u32, self.rng as u32);
- let d = 16 - r.ilog();
+ let d = 16 - ILog::ilog(r);
let mut c = self.cnt;
let mut sh = c + (d as i16);
if sh >= 0 {
diff --git a/src/encoder.rs b/src/encoder.rs
index 5fc753f..b5995ed 100644
--- a/src/encoder.rs
+++ b/src/encoder.rs
@@ -3051,7 +3051,7 @@ fn encode_tile_group<T: Pixel>(
fs.cdfs.reset_counts();
}
- let max_tile_size_bytes = ((max_len.ilog() + 7) / 8) as u32;
+ let max_tile_size_bytes = ((ILog::ilog(max_len) + 7) / 8) as u32;
debug_assert!(max_tile_size_bytes > 0 && max_tile_size_bytes <= 4);
fs.max_tile_size_bytes = max_tile_size_bytes;
diff --git a/src/lrf.rs b/src/lrf.rs
index 4399c4c..bf59647 100644
--- a/src/lrf.rs
+++ b/src/lrf.rs
@@ -1408,8 +1408,8 @@ impl RestorationState {
}
// derive the rest
- let y_unit_log2 = y_unit_size.ilog() - 1;
- let uv_unit_log2 = uv_unit_size.ilog() - 1;
+ let y_unit_log2 = ILog::ilog(y_unit_size) - 1;
+ let uv_unit_log2 = ILog::ilog(uv_unit_size) - 1;
let y_cols = ((fi.width + (y_unit_size >> 1)) / y_unit_size).max(1);
let y_rows = ((fi.height + (y_unit_size >> 1)) / y_unit_size).max(1);
let uv_cols = ((((fi.width + (1 << xdec >> 1)) >> xdec)
diff --git a/src/me.rs b/src/me.rs
index 7ed64e4..3acdb07 100644
--- a/src/me.rs
+++ b/src/me.rs
@@ -1065,7 +1065,7 @@ fn get_mv_rate(
#[inline(always)]
fn diff_to_rate(diff: i16, allow_high_precision_mv: bool) -> u32 {
let d = if allow_high_precision_mv { diff } else { diff >> 1 };
- 2 * d.abs().ilog() as u32
+ 2 * ILog::ilog(d.abs()) as u32
}
diff_to_rate(a.row - b.row, allow_high_precision_mv)
diff --git a/src/rate.rs b/src/rate.rs
index 6bc23f3..1a94f08 100644
--- a/src/rate.rs
+++ b/src/rate.rs
@@ -234,7 +234,7 @@ fn blog64(w: i64) -> i64 {
if w <= 0 {
return -1;
}
- let ipart = w.ilog() as i32 - 1;
+ let ipart = ILog::ilog(w) as i32 - 1;
if ipart > 61 {
w >>= ipart - 61;
} else {
diff --git a/src/transform/inverse.rs b/src/transform/inverse.rs
index 3bf3286..813c784 100644
--- a/src/transform/inverse.rs
+++ b/src/transform/inverse.rs
@@ -1608,7 +1608,7 @@ pub(crate) mod rust {
// perform inv txfm on every row
let range = bd + 8;
- let txfm_fn = INV_TXFM_FNS[tx_types_1d.1 as usize][width.ilog() - 3];
+ let txfm_fn = INV_TXFM_FNS[tx_types_1d.1 as usize][ILog::ilog(width) - 3];
// 64 point transforms only signal 32 coeffs. We only take chunks of 32
// and skip over the last 32 transforms here.
for (r, buffer_slice) in (0..height.min(32)).zip(buffer.chunks_mut(width))
@@ -1634,7 +1634,7 @@ pub(crate) mod rust {
// perform inv txfm on every col
let range = cmp::max(bd + 6, 16);
- let txfm_fn = INV_TXFM_FNS[tx_types_1d.0 as usize][height.ilog() - 3];
+ let txfm_fn = INV_TXFM_FNS[tx_types_1d.0 as usize][ILog::ilog(height) - 3];
for c in 0..width {
let mut temp_in: [i32; 64] = [0; 64];
let mut temp_out: [i32; 64] = [0; 64];
diff --git a/src/transform/mod.rs b/src/transform/mod.rs
index 304df73..96e9457 100644
--- a/src/transform/mod.rs
+++ b/src/transform/mod.rs
@@ -288,7 +288,7 @@ pub enum TxSet {
#[inline]
pub fn get_rect_tx_log_ratio(col: usize, row: usize) -> i8 {
debug_assert!(col > 0 && row > 0);
- col.ilog() as i8 - row.ilog() as i8
+ ILog::ilog(col) as i8 - ILog::ilog(row) as i8
}
// performs half a butterfly
--
2.39.2

53
changelog Normal file
View File

@ -0,0 +1,53 @@
* Sat Aug 07 2021 Fabio Valentini <decathorpe@gmail.com> - 0.4.1-4
- Rebuild with crossbeam-deque 0.8.1 / 0.7.4 for CVE-2021-32810
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.4.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Sat Jul 10 12:15:47 CEST 2021 Robert-André Mauchin <zebob.m@gmail.com> - 0.4.1-2
- Add patch to fix https://github.com/xiph/rav1e/issues/2662
* Wed Apr 7 17:07:05 CEST 2021 Robert-André Mauchin <zebob.m@gmail.com> - 0.4.1-1
- Update to 0.4.1
- Close: rhbz#1915864
* Mon Mar 29 16:18:27 CEST 2021 Robert-André Mauchin <zebob.m@gmail.com> - 0.4.0-1
- Update to 0.4.0
- Close: rhbz#1915864
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.4.0~alpha-0.3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Mon Dec 28 13:32:03 CET 2020 Igor Raits <ignatenkobrain@fedoraproject.org> - 0.4.0~alpha-0.2
- Rebuild
* Wed Dec 09 15:17:53 CET 2020 Robert-André Mauchin <zebob.m@gmail.com> - 0.4.0~alpha-0.1
- Update to 0.4.0~alpha
* Sun Dec 06 04:37:40 CET 2020 Robert-André Mauchin <zebob.m@gmail.com> - 0.3.4-3
- Rebuild with new cargo-c to fix pkgconfig includedir
- Fix: rhbz#1902211
* Tue Oct 20 2020 Fabio Valentini <decathorpe@gmail.com> - 0.3.4-2
- Temporarily skip some broken tests on aarch64.
* Tue Oct 20 2020 Fabio Valentini <decathorpe@gmail.com> - 0.3.4-1
- Update to version 0.3.4.
* Wed Aug 26 2020 Josh Stone <jistone@redhat.com> - 0.3.3-3
- Bump paste to 1.0
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.3.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Thu Jun 11 2020 Josh Stone <jistone@redhat.com> - 0.3.3-1
- Update to 0.3.3
* Mon Mar 09 17:45:25 CET 2020 Robert-André Mauchin <zebob.m@gmail.com> - 0.3.1-2
- Fix pkgconfig prefix path
* Thu Feb 20 21:15:47 CET 2020 Igor Raits <ignatenkobrain@fedoraproject.org> - 0.3.1-1
- Update to 0.3.1
* Tue Feb 11 01:28:07 CET 2020 Robert-André Mauchin <zebob.m@gmail.com> - 0.3.0-1
- Initial package

23
d56fe64.patch Normal file
View File

@ -0,0 +1,23 @@
From d56fe642bbbd8fe3d20c851b950db3fcaea53c7a Mon Sep 17 00:00:00 2001
From: redzic <48274562+redzic@users.noreply.github.com>
Date: Thu, 29 Sep 2022 15:17:00 -0500
Subject: [PATCH] Fix UB in pred_max test
---
src/predict.rs | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/src/predict.rs b/src/predict.rs
index 85cdd69abb..75140830db 100644
--- a/src/predict.rs
+++ b/src/predict.rs
@@ -1558,8 +1558,7 @@ mod test {
}
}
- // SAFETY: ???
- let above_left = unsafe { *above.as_ptr().offset(-1) };
+ let above_left = max12bit;
pred_paeth(
&mut o.as_region_mut(),

View File

@ -0,0 +1,25 @@
--- rav1e-0.5.1/Cargo.toml 1970-01-01T00:00:01+00:00
+++ rav1e-0.5.1/Cargo.toml 1970-01-01T00:00:01+00:00
@@ -232,22 +232,6 @@
tracing = ["rust_hawktracer/profiling_enabled"]
unstable = []
wasm = ["wasm-bindgen"]
-[target."cfg(any(decode_test, decode_test_dav1d))".dependencies.system-deps]
-version = "~3.1.2"
-[target."cfg(fuzzing)".dependencies.arbitrary]
-version = "0.4"
-
-[target."cfg(fuzzing)".dependencies.interpolate_name]
-version = "0.2.2"
-
-[target."cfg(fuzzing)".dependencies.libfuzzer-sys]
-version = "0.3"
-
-[target."cfg(fuzzing)".dependencies.rand]
-version = "0.8"
-
-[target."cfg(fuzzing)".dependencies.rand_chacha]
-version = "0.3"
[target."cfg(unix)".dependencies.signal-hook]
version = "0.3"
optional = true

View File

@ -1,29 +1,68 @@
--- rav1e-0.3.3/Cargo.toml 2020-06-07T10:15:36+00:00
+++ rav1e-0.3.3/Cargo.toml 2020-06-11T00:43:39.731326+00:00
@@ -151,7 +151,7 @@
--- rav1e-0.5.1/Cargo.toml 1970-01-01T00:00:01+00:00
+++ rav1e-0.5.1/Cargo.toml 2022-08-08T18:36:33.822505+00:00
@@ -22,7 +22,7 @@
default-run = "rav1e"
description = "The fastest and safest AV1 encoder"
readme = "README.md"
-license = "BSD-2-Clause"
+license = "BSD-2-Clause AND ISC"
repository = "https://github.com/xiph/rav1e/"
[package.metadata.docs.rs]
no-default-features = true
@@ -90,7 +90,7 @@
default-features = false
[dependencies.console]
-version = "0.14"
+version = "0.15"
optional = true
[dependencies.crossbeam]
@@ -98,7 +98,7 @@
optional = true
[dependencies.dav1d-sys]
-version = "0.3.4"
+version = "0.5"
optional = true
[dependencies.fern]
@@ -139,9 +139,6 @@
[dependencies.rayon]
version = "1.0"
-[dependencies.rust_hawktracer]
-version = "0.7.0"
-
[dependencies.scan_fmt]
version = "0.2.3"
optional = true
@@ -165,18 +162,11 @@
[dependencies.v_frame]
version = "0.2.5"
-[dependencies.wasm-bindgen]
-version = "0.2.63"
-optional = true
-
[dependencies.y4m]
-version = "0.5"
+version = "0.6"
version = "0.7"
optional = true
[dev-dependencies.assert_cmd]
version = "1.0"
@@ -205,17 +205,6 @@
serialize = ["serde", "toml"]
version = "2.0"
-
-[dev-dependencies.criterion]
-version = "0.3"
[dev-dependencies.interpolate_name]
version = "0.2.2"
@@ -229,9 +219,7 @@
scenechange = []
serialize = ["serde", "toml", "v_frame/serialize", "arrayvec/serde"]
signal_support = ["signal-hook"]
tracing = ["rust_hawktracer"]
-[target."cfg(fuzzing)".dependencies.arbitrary]
-version = "0.2"
-
-[target."cfg(fuzzing)".dependencies.interpolate_name]
-version = "0.2.2"
-
-[target."cfg(fuzzing)".dependencies.rand]
-version = "0.7"
-
-[target."cfg(fuzzing)".dependencies.rand_chacha]
-version = "0.2"
-tracing = ["rust_hawktracer/profiling_enabled"]
unstable = []
-wasm = ["wasm-bindgen"]
[target."cfg(unix)".dependencies.signal-hook]
version = "0.1.9"
version = "0.3"
optional = true

View File

@ -1,50 +1,55 @@
# Generated by rust2rpm 13
# Generated by rust2rpm 22
%bcond_without check
# Install all deps (without check), grab their licenses and make it simple
# * ASL 2.0
# * ASL 2.0 or MIT
# * BSD
# * ISC
# * MIT
# * MIT or ASL 2.0
# * (MIT or ASL 2.0) and BSD
# * Unlicense or MIT
# * zlib
%global binary_license BSD and ASL 2.0 and ISC and MIT and zlib
# Apache-2.0 OR MIT
# BSD-2-Clause
# BSD-2-Clause AND ISC
# MIT
# MIT OR Apache-2.0
%global binary_license BSD-2-Clause AND ISC AND MIT
%global crate rav1e
Name: rust-%{crate}
Version: 0.3.3
Release: 2%{?dist}
Name: rust-rav1e
Version: 0.5.1
Release: %autorelease
Summary: Fastest and safest AV1 encoder
# Upstream license specification: BSD-2-Clause
# src/ext/x86/x86inc.asm is under ISC, https://github.com/xiph/rav1e/issues/2181
License: BSD and ISC
License: BSD-2-Clause AND ISC
URL: https://crates.io/crates/rav1e
Source: %{crates_source}
# Initial patched metadata
# * Bump y4m to 0.6, https://github.com/xiph/rav1e/pull/2321/files
# * Remove fuzzing dependencies
Patch0: rav1e-fix-metadata.diff
Patch1: 0001-Update-the-y4m-dependency.patch
Patch2: 0002-Avoid-some-indirection-now-that-we-can-directly-stor.patch
# Automatically generated patch to strip foreign dependencies
Patch: rav1e-fix-metadata-auto.diff
# Manually created patch for downstream crate metadata changes
# * Fix license in Cargo.toml
# * Bump console from 0.14 to 0.15
# * Bump dav1d-sys from 0.3.4 to 0.5
# * Remove useless rust_hawktracer dependency
# * Remove unused wasm-bindgen dependency
# * Remove unused criterion dev-dependency
# * Drop unused tracing feature
# * Drop unused wasm feature
Patch: rav1e-fix-metadata.diff
# * Remove useless / no-op hawktracer macros
Patch: 0001-remove-unused-hawktracer-usage.patch
# * Backported patch to fix UB / crash in test code
# https://github.com/xiph/rav1e/commit/d56fe64:
Patch: 0002-Fix-UB-in-pred_max-test.patch
# * Disambiguate code which is ambiguous with Rust 1.67+ due to the
# stabilization of {integer}::ilog
Patch: 0003-Disambiguate-ILog-ilog-calls-from-integer-ilog-from-.patch
ExclusiveArch: %{rust_arches}
%if %{__cargo_skip_build}
BuildArch: noarch
%endif
BuildRequires: rust-packaging
BuildRequires: rust-packaging >= 21
%global _description %{expand:
Fastest and safest AV1 encoder.}
%description %{_description}
%if ! %{__cargo_skip_build}
%package -n %{crate}
Summary: %{summary}
License: %{binary_license}
@ -52,7 +57,8 @@ License: %{binary_license}
%description -n %{crate} %{_description}
%files -n %{crate}
%license LICENSE PATENTS
%license LICENSE
%license PATENTS
%doc README.md
%{_bindir}/rav1e
@ -64,21 +70,22 @@ License: %{binary_license}
Library files for rav1e, the fastest and safest AV1 encoder.
%files -n %{crate}-libs
%license LICENSE PATENTS
%license LICENSE
%license PATENTS
%doc README.md
%{_libdir}/librav1e.so.0*
%package -n %{crate}-devel
Summary: Development files for rav1e
Summary: %{summary}
License: %{binary_license}
Requires: %{crate}-libs%{?_isa} = %{version}-%{release}
%description -n %{crate}-devel
Development files for rav1e, the fastest and safest AV1 encoder.
%description -n %{crate}-devel %{_description}
%files -n %{crate}-devel
%{_includedir}/rav1e/
%{_libdir}/librav1e.so
%{_libdir}/pkgconfig/rav1e.pc
%endif
%package devel
Summary: %{summary}
@ -86,13 +93,14 @@ BuildArch: noarch
%description devel %{_description}
This package contains library source intended for building other packages
which use "%{crate}" crate.
This package contains library source intended for building other packages which
use the "%{crate}" crate.
%files devel
%license LICENSE PATENTS
%doc README.md
%{cargo_registry}/%{crate}-%{version_no_tilde}/
%license %{crate_instdir}/LICENSE
%license %{crate_instdir}/PATENTS
%doc %{crate_instdir}/README.md
%{crate_instdir}/
%package -n %{name}+default-devel
Summary: %{summary}
@ -100,11 +108,11 @@ BuildArch: noarch
%description -n %{name}+default-devel %{_description}
This package contains library source intended for building other packages
which use "default" feature of "%{crate}" crate.
This package contains library source intended for building other packages which
use the "default" feature of the "%{crate}" crate.
%files -n %{name}+default-devel
%ghost %{cargo_registry}/%{crate}-%{version_no_tilde}/Cargo.toml
%ghost %{crate_instdir}/Cargo.toml
%package -n %{name}+aom-sys-devel
Summary: %{summary}
@ -112,11 +120,11 @@ BuildArch: noarch
%description -n %{name}+aom-sys-devel %{_description}
This package contains library source intended for building other packages
which use "aom-sys" feature of "%{crate}" crate.
This package contains library source intended for building other packages which
use the "aom-sys" feature of the "%{crate}" crate.
%files -n %{name}+aom-sys-devel
%ghost %{cargo_registry}/%{crate}-%{version_no_tilde}/Cargo.toml
%ghost %{crate_instdir}/Cargo.toml
%package -n %{name}+asm-devel
Summary: %{summary}
@ -124,11 +132,23 @@ BuildArch: noarch
%description -n %{name}+asm-devel %{_description}
This package contains library source intended for building other packages
which use "asm" feature of "%{crate}" crate.
This package contains library source intended for building other packages which
use the "asm" feature of the "%{crate}" crate.
%files -n %{name}+asm-devel
%ghost %{cargo_registry}/%{crate}-%{version_no_tilde}/Cargo.toml
%ghost %{crate_instdir}/Cargo.toml
%package -n %{name}+av-metrics-devel
Summary: %{summary}
BuildArch: noarch
%description -n %{name}+av-metrics-devel %{_description}
This package contains library source intended for building other packages which
use the "av-metrics" feature of the "%{crate}" crate.
%files -n %{name}+av-metrics-devel
%ghost %{crate_instdir}/Cargo.toml
%package -n %{name}+backtrace-devel
Summary: %{summary}
@ -136,11 +156,11 @@ BuildArch: noarch
%description -n %{name}+backtrace-devel %{_description}
This package contains library source intended for building other packages
which use "backtrace" feature of "%{crate}" crate.
This package contains library source intended for building other packages which
use the "backtrace" feature of the "%{crate}" crate.
%files -n %{name}+backtrace-devel
%ghost %{cargo_registry}/%{crate}-%{version_no_tilde}/Cargo.toml
%ghost %{crate_instdir}/Cargo.toml
%package -n %{name}+bench-devel
Summary: %{summary}
@ -148,11 +168,11 @@ BuildArch: noarch
%description -n %{name}+bench-devel %{_description}
This package contains library source intended for building other packages
which use "bench" feature of "%{crate}" crate.
This package contains library source intended for building other packages which
use the "bench" feature of the "%{crate}" crate.
%files -n %{name}+bench-devel
%ghost %{cargo_registry}/%{crate}-%{version_no_tilde}/Cargo.toml
%ghost %{crate_instdir}/Cargo.toml
%package -n %{name}+binaries-devel
Summary: %{summary}
@ -160,11 +180,11 @@ BuildArch: noarch
%description -n %{name}+binaries-devel %{_description}
This package contains library source intended for building other packages
which use "binaries" feature of "%{crate}" crate.
This package contains library source intended for building other packages which
use the "binaries" feature of the "%{crate}" crate.
%files -n %{name}+binaries-devel
%ghost %{cargo_registry}/%{crate}-%{version_no_tilde}/Cargo.toml
%ghost %{crate_instdir}/Cargo.toml
%package -n %{name}+byteorder-devel
Summary: %{summary}
@ -172,11 +192,11 @@ BuildArch: noarch
%description -n %{name}+byteorder-devel %{_description}
This package contains library source intended for building other packages
which use "byteorder" feature of "%{crate}" crate.
This package contains library source intended for building other packages which
use the "byteorder" feature of the "%{crate}" crate.
%files -n %{name}+byteorder-devel
%ghost %{cargo_registry}/%{crate}-%{version_no_tilde}/Cargo.toml
%ghost %{crate_instdir}/Cargo.toml
%package -n %{name}+capi-devel
Summary: %{summary}
@ -184,11 +204,11 @@ BuildArch: noarch
%description -n %{name}+capi-devel %{_description}
This package contains library source intended for building other packages
which use "capi" feature of "%{crate}" crate.
This package contains library source intended for building other packages which
use the "capi" feature of the "%{crate}" crate.
%files -n %{name}+capi-devel
%ghost %{cargo_registry}/%{crate}-%{version_no_tilde}/Cargo.toml
%ghost %{crate_instdir}/Cargo.toml
%package -n %{name}+cc-devel
Summary: %{summary}
@ -196,11 +216,23 @@ BuildArch: noarch
%description -n %{name}+cc-devel %{_description}
This package contains library source intended for building other packages
which use "cc" feature of "%{crate}" crate.
This package contains library source intended for building other packages which
use the "cc" feature of the "%{crate}" crate.
%files -n %{name}+cc-devel
%ghost %{cargo_registry}/%{crate}-%{version_no_tilde}/Cargo.toml
%ghost %{crate_instdir}/Cargo.toml
%package -n %{name}+channel-api-devel
Summary: %{summary}
BuildArch: noarch
%description -n %{name}+channel-api-devel %{_description}
This package contains library source intended for building other packages which
use the "channel-api" feature of the "%{crate}" crate.
%files -n %{name}+channel-api-devel
%ghost %{crate_instdir}/Cargo.toml
%package -n %{name}+check_asm-devel
Summary: %{summary}
@ -208,11 +240,11 @@ BuildArch: noarch
%description -n %{name}+check_asm-devel %{_description}
This package contains library source intended for building other packages
which use "check_asm" feature of "%{crate}" crate.
This package contains library source intended for building other packages which
use the "check_asm" feature of the "%{crate}" crate.
%files -n %{name}+check_asm-devel
%ghost %{cargo_registry}/%{crate}-%{version_no_tilde}/Cargo.toml
%ghost %{crate_instdir}/Cargo.toml
%package -n %{name}+clap-devel
Summary: %{summary}
@ -220,11 +252,11 @@ BuildArch: noarch
%description -n %{name}+clap-devel %{_description}
This package contains library source intended for building other packages
which use "clap" feature of "%{crate}" crate.
This package contains library source intended for building other packages which
use the "clap" feature of the "%{crate}" crate.
%files -n %{name}+clap-devel
%ghost %{cargo_registry}/%{crate}-%{version_no_tilde}/Cargo.toml
%ghost %{crate_instdir}/Cargo.toml
%package -n %{name}+console-devel
Summary: %{summary}
@ -232,11 +264,23 @@ BuildArch: noarch
%description -n %{name}+console-devel %{_description}
This package contains library source intended for building other packages
which use "console" feature of "%{crate}" crate.
This package contains library source intended for building other packages which
use the "console" feature of the "%{crate}" crate.
%files -n %{name}+console-devel
%ghost %{cargo_registry}/%{crate}-%{version_no_tilde}/Cargo.toml
%ghost %{crate_instdir}/Cargo.toml
%package -n %{name}+crossbeam-devel
Summary: %{summary}
BuildArch: noarch
%description -n %{name}+crossbeam-devel %{_description}
This package contains library source intended for building other packages which
use the "crossbeam" feature of the "%{crate}" crate.
%files -n %{name}+crossbeam-devel
%ghost %{crate_instdir}/Cargo.toml
%package -n %{name}+dav1d-sys-devel
Summary: %{summary}
@ -244,11 +288,11 @@ BuildArch: noarch
%description -n %{name}+dav1d-sys-devel %{_description}
This package contains library source intended for building other packages
which use "dav1d-sys" feature of "%{crate}" crate.
This package contains library source intended for building other packages which
use the "dav1d-sys" feature of the "%{crate}" crate.
%files -n %{name}+dav1d-sys-devel
%ghost %{cargo_registry}/%{crate}-%{version_no_tilde}/Cargo.toml
%ghost %{crate_instdir}/Cargo.toml
%package -n %{name}+decode_test-devel
Summary: %{summary}
@ -256,11 +300,11 @@ BuildArch: noarch
%description -n %{name}+decode_test-devel %{_description}
This package contains library source intended for building other packages
which use "decode_test" feature of "%{crate}" crate.
This package contains library source intended for building other packages which
use the "decode_test" feature of the "%{crate}" crate.
%files -n %{name}+decode_test-devel
%ghost %{cargo_registry}/%{crate}-%{version_no_tilde}/Cargo.toml
%ghost %{crate_instdir}/Cargo.toml
%package -n %{name}+decode_test_dav1d-devel
Summary: %{summary}
@ -268,11 +312,11 @@ BuildArch: noarch
%description -n %{name}+decode_test_dav1d-devel %{_description}
This package contains library source intended for building other packages
which use "decode_test_dav1d" feature of "%{crate}" crate.
This package contains library source intended for building other packages which
use the "decode_test_dav1d" feature of the "%{crate}" crate.
%files -n %{name}+decode_test_dav1d-devel
%ghost %{cargo_registry}/%{crate}-%{version_no_tilde}/Cargo.toml
%ghost %{crate_instdir}/Cargo.toml
%package -n %{name}+desync_finder-devel
Summary: %{summary}
@ -280,11 +324,11 @@ BuildArch: noarch
%description -n %{name}+desync_finder-devel %{_description}
This package contains library source intended for building other packages
which use "desync_finder" feature of "%{crate}" crate.
This package contains library source intended for building other packages which
use the "desync_finder" feature of the "%{crate}" crate.
%files -n %{name}+desync_finder-devel
%ghost %{cargo_registry}/%{crate}-%{version_no_tilde}/Cargo.toml
%ghost %{crate_instdir}/Cargo.toml
%package -n %{name}+dump_ivf-devel
Summary: %{summary}
@ -292,11 +336,11 @@ BuildArch: noarch
%description -n %{name}+dump_ivf-devel %{_description}
This package contains library source intended for building other packages
which use "dump_ivf" feature of "%{crate}" crate.
This package contains library source intended for building other packages which
use the "dump_ivf" feature of the "%{crate}" crate.
%files -n %{name}+dump_ivf-devel
%ghost %{cargo_registry}/%{crate}-%{version_no_tilde}/Cargo.toml
%ghost %{crate_instdir}/Cargo.toml
%package -n %{name}+dump_lookahead_data-devel
Summary: %{summary}
@ -304,11 +348,11 @@ BuildArch: noarch
%description -n %{name}+dump_lookahead_data-devel %{_description}
This package contains library source intended for building other packages
which use "dump_lookahead_data" feature of "%{crate}" crate.
This package contains library source intended for building other packages which
use the "dump_lookahead_data" feature of the "%{crate}" crate.
%files -n %{name}+dump_lookahead_data-devel
%ghost %{cargo_registry}/%{crate}-%{version_no_tilde}/Cargo.toml
%ghost %{crate_instdir}/Cargo.toml
%package -n %{name}+fern-devel
Summary: %{summary}
@ -316,11 +360,11 @@ BuildArch: noarch
%description -n %{name}+fern-devel %{_description}
This package contains library source intended for building other packages
which use "fern" feature of "%{crate}" crate.
This package contains library source intended for building other packages which
use the "fern" feature of the "%{crate}" crate.
%files -n %{name}+fern-devel
%ghost %{cargo_registry}/%{crate}-%{version_no_tilde}/Cargo.toml
%ghost %{crate_instdir}/Cargo.toml
%package -n %{name}+image-devel
Summary: %{summary}
@ -328,11 +372,11 @@ BuildArch: noarch
%description -n %{name}+image-devel %{_description}
This package contains library source intended for building other packages
which use "image" feature of "%{crate}" crate.
This package contains library source intended for building other packages which
use the "image" feature of the "%{crate}" crate.
%files -n %{name}+image-devel
%ghost %{cargo_registry}/%{crate}-%{version_no_tilde}/Cargo.toml
%ghost %{crate_instdir}/Cargo.toml
%package -n %{name}+ivf-devel
Summary: %{summary}
@ -340,11 +384,11 @@ BuildArch: noarch
%description -n %{name}+ivf-devel %{_description}
This package contains library source intended for building other packages
which use "ivf" feature of "%{crate}" crate.
This package contains library source intended for building other packages which
use the "ivf" feature of the "%{crate}" crate.
%files -n %{name}+ivf-devel
%ghost %{cargo_registry}/%{crate}-%{version_no_tilde}/Cargo.toml
%ghost %{crate_instdir}/Cargo.toml
%package -n %{name}+nasm-rs-devel
Summary: %{summary}
@ -352,11 +396,11 @@ BuildArch: noarch
%description -n %{name}+nasm-rs-devel %{_description}
This package contains library source intended for building other packages
which use "nasm-rs" feature of "%{crate}" crate.
This package contains library source intended for building other packages which
use the "nasm-rs" feature of the "%{crate}" crate.
%files -n %{name}+nasm-rs-devel
%ghost %{cargo_registry}/%{crate}-%{version_no_tilde}/Cargo.toml
%ghost %{crate_instdir}/Cargo.toml
%package -n %{name}+quick_test-devel
Summary: %{summary}
@ -364,23 +408,23 @@ BuildArch: noarch
%description -n %{name}+quick_test-devel %{_description}
This package contains library source intended for building other packages
which use "quick_test" feature of "%{crate}" crate.
This package contains library source intended for building other packages which
use the "quick_test" feature of the "%{crate}" crate.
%files -n %{name}+quick_test-devel
%ghost %{cargo_registry}/%{crate}-%{version_no_tilde}/Cargo.toml
%ghost %{crate_instdir}/Cargo.toml
%package -n %{name}+rust_hawktracer-devel
%package -n %{name}+regex-devel
Summary: %{summary}
BuildArch: noarch
%description -n %{name}+rust_hawktracer-devel %{_description}
%description -n %{name}+regex-devel %{_description}
This package contains library source intended for building other packages
which use "rust_hawktracer" feature of "%{crate}" crate.
This package contains library source intended for building other packages which
use the "regex" feature of the "%{crate}" crate.
%files -n %{name}+rust_hawktracer-devel
%ghost %{cargo_registry}/%{crate}-%{version_no_tilde}/Cargo.toml
%files -n %{name}+regex-devel
%ghost %{crate_instdir}/Cargo.toml
%package -n %{name}+scan_fmt-devel
Summary: %{summary}
@ -388,11 +432,23 @@ BuildArch: noarch
%description -n %{name}+scan_fmt-devel %{_description}
This package contains library source intended for building other packages
which use "scan_fmt" feature of "%{crate}" crate.
This package contains library source intended for building other packages which
use the "scan_fmt" feature of the "%{crate}" crate.
%files -n %{name}+scan_fmt-devel
%ghost %{cargo_registry}/%{crate}-%{version_no_tilde}/Cargo.toml
%ghost %{crate_instdir}/Cargo.toml
%package -n %{name}+scenechange-devel
Summary: %{summary}
BuildArch: noarch
%description -n %{name}+scenechange-devel %{_description}
This package contains library source intended for building other packages which
use the "scenechange" feature of the "%{crate}" crate.
%files -n %{name}+scenechange-devel
%ghost %{crate_instdir}/Cargo.toml
%package -n %{name}+serde-devel
Summary: %{summary}
@ -400,11 +456,11 @@ BuildArch: noarch
%description -n %{name}+serde-devel %{_description}
This package contains library source intended for building other packages
which use "serde" feature of "%{crate}" crate.
This package contains library source intended for building other packages which
use the "serde" feature of the "%{crate}" crate.
%files -n %{name}+serde-devel
%ghost %{cargo_registry}/%{crate}-%{version_no_tilde}/Cargo.toml
%ghost %{crate_instdir}/Cargo.toml
%package -n %{name}+serialize-devel
Summary: %{summary}
@ -412,11 +468,11 @@ BuildArch: noarch
%description -n %{name}+serialize-devel %{_description}
This package contains library source intended for building other packages
which use "serialize" feature of "%{crate}" crate.
This package contains library source intended for building other packages which
use the "serialize" feature of the "%{crate}" crate.
%files -n %{name}+serialize-devel
%ghost %{cargo_registry}/%{crate}-%{version_no_tilde}/Cargo.toml
%ghost %{crate_instdir}/Cargo.toml
%package -n %{name}+signal-hook-devel
Summary: %{summary}
@ -424,11 +480,11 @@ BuildArch: noarch
%description -n %{name}+signal-hook-devel %{_description}
This package contains library source intended for building other packages
which use "signal-hook" feature of "%{crate}" crate.
This package contains library source intended for building other packages which
use the "signal-hook" feature of the "%{crate}" crate.
%files -n %{name}+signal-hook-devel
%ghost %{cargo_registry}/%{crate}-%{version_no_tilde}/Cargo.toml
%ghost %{crate_instdir}/Cargo.toml
%package -n %{name}+signal_support-devel
Summary: %{summary}
@ -436,11 +492,11 @@ BuildArch: noarch
%description -n %{name}+signal_support-devel %{_description}
This package contains library source intended for building other packages
which use "signal_support" feature of "%{crate}" crate.
This package contains library source intended for building other packages which
use the "signal_support" feature of the "%{crate}" crate.
%files -n %{name}+signal_support-devel
%ghost %{cargo_registry}/%{crate}-%{version_no_tilde}/Cargo.toml
%ghost %{crate_instdir}/Cargo.toml
%package -n %{name}+toml-devel
Summary: %{summary}
@ -448,23 +504,23 @@ BuildArch: noarch
%description -n %{name}+toml-devel %{_description}
This package contains library source intended for building other packages
which use "toml" feature of "%{crate}" crate.
This package contains library source intended for building other packages which
use the "toml" feature of the "%{crate}" crate.
%files -n %{name}+toml-devel
%ghost %{cargo_registry}/%{crate}-%{version_no_tilde}/Cargo.toml
%ghost %{crate_instdir}/Cargo.toml
%package -n %{name}+tracing-devel
%package -n %{name}+unstable-devel
Summary: %{summary}
BuildArch: noarch
%description -n %{name}+tracing-devel %{_description}
%description -n %{name}+unstable-devel %{_description}
This package contains library source intended for building other packages
which use "tracing" feature of "%{crate}" crate.
This package contains library source intended for building other packages which
use the "unstable" feature of the "%{crate}" crate.
%files -n %{name}+tracing-devel
%ghost %{cargo_registry}/%{crate}-%{version_no_tilde}/Cargo.toml
%files -n %{name}+unstable-devel
%ghost %{crate_instdir}/Cargo.toml
%package -n %{name}+y4m-devel
Summary: %{summary}
@ -472,11 +528,11 @@ BuildArch: noarch
%description -n %{name}+y4m-devel %{_description}
This package contains library source intended for building other packages
which use "y4m" feature of "%{crate}" crate.
This package contains library source intended for building other packages which
use the "y4m" feature of the "%{crate}" crate.
%files -n %{name}+y4m-devel
%ghost %{cargo_registry}/%{crate}-%{version_no_tilde}/Cargo.toml
%ghost %{crate_instdir}/Cargo.toml
%prep
%autosetup -n %{crate}-%{version_no_tilde} -p1
@ -489,7 +545,7 @@ echo "cargo-c"
%build
%cargo_build
cargo cbuild --release \
%__cargo cbuild --release \
--destdir=%{buildroot} \
--prefix=%{_prefix} \
--libdir=%{_libdir} \
@ -498,7 +554,7 @@ cargo cbuild --release \
%install
%cargo_install
cargo cinstall --release \
%__cargo cinstall --release \
--destdir=%{buildroot} \
--prefix=%{_prefix} \
--libdir=%{_libdir} \
@ -512,17 +568,4 @@ rm -v %{buildroot}%{_libdir}/librav1e.a
%endif
%changelog
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.3.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Thu Jun 11 2020 Josh Stone <jistone@redhat.com> - 0.3.3-1
- Update to 0.3.3
* Mon Mar 09 17:45:25 CET 2020 Robert-André Mauchin <zebob.m@gmail.com> - 0.3.1-2
- Fix pkgconfig prefix path
* Thu Feb 20 21:15:47 CET 2020 Igor Raits <ignatenkobrain@fedoraproject.org> - 0.3.1-1
- Update to 0.3.1
* Tue Feb 11 01:28:07 CET 2020 Robert-André Mauchin <zebob.m@gmail.com> - 0.3.0-1
- Initial package
%autochangelog

View File

@ -1 +1 @@
SHA512 (rav1e-0.3.3.crate) = d74dc5a36d0f7d2ff1183923eef3da6b74106f63e57b6f0051b62954298fcc25416e354781a4c6effa3b6ade27d1cd8adb24265b49891201ef20c0850ef01739
SHA512 (rav1e-0.5.1.crate) = 83a5117f82840575fe6d62b7d959cec94d0e86a9b6f89e400b261ac681f821b6be1a65689b75c12fd2f2e4f0f49daa05a1e0d020612ef790ba66722288115365