commit
e79f14593f
@ -0,0 +1 @@
|
|||||||
|
SOURCES/rav1e-0.6.6.crate
|
@ -0,0 +1 @@
|
|||||||
|
bc7eef3d4b3d53b8d118eb58522d3640bd8a0e61 SOURCES/rav1e-0.6.6.crate
|
@ -0,0 +1,952 @@
|
|||||||
|
From c9f67758165ad7d4967fd5932d3c5b93923afa00 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Fabio Valentini <decathorpe@gmail.com>
|
||||||
|
Date: Tue, 27 Jun 2023 20:30:34 +0200
|
||||||
|
Subject: [PATCH] remove references to removed built and rust_hawktracer crates
|
||||||
|
|
||||||
|
The "built" crate embeds information about the state of the git
|
||||||
|
repository into the binary, but this is useless when using tarballs.
|
||||||
|
|
||||||
|
The macros from the "rust_hawktracer" crate are compiled down to
|
||||||
|
no-ops since the required features are disabled in release builds.
|
||||||
|
---
|
||||||
|
build.rs | 2 --
|
||||||
|
src/activity.rs | 3 ---
|
||||||
|
src/api/internal.rs | 11 --------
|
||||||
|
src/api/lookahead.rs | 5 ----
|
||||||
|
src/bin/common.rs | 9 +------
|
||||||
|
src/bin/muxer/ivf.rs | 2 --
|
||||||
|
src/bin/muxer/y4m.rs | 2 --
|
||||||
|
src/bin/rav1e-ch.rs | 10 -------
|
||||||
|
src/bin/rav1e.rs | 56 ---------------------------------------
|
||||||
|
src/bin/stats.rs | 2 --
|
||||||
|
src/cdef.rs | 5 ----
|
||||||
|
src/context/block_unit.rs | 2 --
|
||||||
|
src/deblock.rs | 4 ---
|
||||||
|
src/encoder.rs | 14 ----------
|
||||||
|
src/lib.rs | 5 ----
|
||||||
|
src/lrf.rs | 6 -----
|
||||||
|
src/me.rs | 9 -------
|
||||||
|
src/rate.rs | 3 ---
|
||||||
|
src/rdo.rs | 9 -------
|
||||||
|
src/scenechange/fast.rs | 3 ---
|
||||||
|
src/scenechange/mod.rs | 2 --
|
||||||
|
src/segmentation.rs | 3 ---
|
||||||
|
22 files changed, 1 insertion(+), 166 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/build.rs b/build.rs
|
||||||
|
index 52e544e..64aad99 100644
|
||||||
|
--- a/build.rs
|
||||||
|
+++ b/build.rs
|
||||||
|
@@ -251,8 +251,6 @@ fn rustc_version_check() {
|
||||||
|
fn main() {
|
||||||
|
rustc_version_check();
|
||||||
|
|
||||||
|
- built::write_built_file().expect("Failed to acquire build-time information");
|
||||||
|
-
|
||||||
|
let arch = env::var("CARGO_CFG_TARGET_ARCH").unwrap();
|
||||||
|
let os = env::var("CARGO_CFG_TARGET_OS").unwrap();
|
||||||
|
// let env = env::var("CARGO_CFG_TARGET_ENV").unwrap();
|
||||||
|
diff --git a/src/activity.rs b/src/activity.rs
|
||||||
|
index ae29826..df9ac8d 100644
|
||||||
|
--- a/src/activity.rs
|
||||||
|
+++ b/src/activity.rs
|
||||||
|
@@ -12,7 +12,6 @@ use crate::rdo::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(ActivityMask_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(ActivityMask_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 b6cfaba..f1c9dbf 100644
|
||||||
|
--- a/src/api/internal.rs
|
||||||
|
+++ b/src/api/internal.rs
|
||||||
|
@@ -28,7 +28,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;
|
||||||
|
@@ -316,7 +315,6 @@ impl<T: Pixel> ContextInner<T> {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
- #[hawktracer(send_frame)]
|
||||||
|
pub fn send_frame(
|
||||||
|
&mut self, mut frame: Option<Arc<Frame<T>>>,
|
||||||
|
params: Option<FrameParameters>,
|
||||||
|
@@ -649,7 +647,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 frame_data = self.frame_data.get(&output_frameno).unwrap();
|
||||||
|
|
||||||
|
@@ -862,7 +859,6 @@ impl<T: Pixel> ContextInner<T> {
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
- #[hawktracer(compute_keyframe_placement)]
|
||||||
|
pub fn compute_keyframe_placement(
|
||||||
|
lookahead_frames: &[&Arc<Frame<T>>], keyframes_forced: &BTreeSet<u64>,
|
||||||
|
keyframe_detector: &mut SceneChangeDetector<T>,
|
||||||
|
@@ -881,7 +877,6 @@ impl<T: Pixel> ContextInner<T> {
|
||||||
|
*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()
|
||||||
|
{
|
||||||
|
@@ -894,7 +889,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,
|
||||||
|
@@ -1057,7 +1051,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]
|
||||||
|
@@ -1281,7 +1274,6 @@ impl<T: Pixel> ContextInner<T> {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
- #[hawktracer(encode_show_existing_packet)]
|
||||||
|
pub fn encode_show_existing_packet(
|
||||||
|
&mut self, cur_output_frameno: u64,
|
||||||
|
) -> Result<Packet<T>, EncoderStatus> {
|
||||||
|
@@ -1317,7 +1309,6 @@ impl<T: Pixel> ContextInner<T> {
|
||||||
|
self.finalize_packet(rec, source, input_frameno, frame_type, qp, enc_stats)
|
||||||
|
}
|
||||||
|
|
||||||
|
- #[hawktracer(encode_normal_packet)]
|
||||||
|
pub fn encode_normal_packet(
|
||||||
|
&mut self, cur_output_frameno: u64,
|
||||||
|
) -> Result<Packet<T>, EncoderStatus> {
|
||||||
|
@@ -1480,7 +1471,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);
|
||||||
|
@@ -1546,7 +1536,6 @@ impl<T: Pixel> ContextInner<T> {
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
- #[hawktracer(garbage_collect)]
|
||||||
|
fn garbage_collect(&mut self, cur_input_frameno: u64) {
|
||||||
|
if cur_input_frameno == 0 {
|
||||||
|
return;
|
||||||
|
diff --git a/src/api/lookahead.rs b/src/api/lookahead.rs
|
||||||
|
index 2758d59..fd63293 100644
|
||||||
|
--- a/src/api/lookahead.rs
|
||||||
|
+++ b/src/api/lookahead.rs
|
||||||
|
@@ -14,7 +14,6 @@ use crate::rayon::iter::*;
|
||||||
|
use crate::tiling::{Area, PlaneRegion, TileRect};
|
||||||
|
use crate::transform::TxSize;
|
||||||
|
use crate::Pixel;
|
||||||
|
-use rust_hawktracer::*;
|
||||||
|
use std::sync::Arc;
|
||||||
|
use v_frame::frame::Frame;
|
||||||
|
use v_frame::pixel::CastFromPrimitive;
|
||||||
|
@@ -26,7 +25,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>(
|
||||||
|
temp_plane: &mut Plane<T>, frame: &Frame<T>, bit_depth: usize,
|
||||||
|
cpu_feature_level: CpuFeatureLevel,
|
||||||
|
@@ -120,7 +118,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>>,
|
||||||
|
) -> f64 {
|
||||||
|
@@ -176,7 +173,6 @@ pub(crate) fn estimate_importance_block_difference<T: Pixel>(
|
||||||
|
imp_block_costs as f64 / (w_in_imp_b * h_in_imp_b) as f64
|
||||||
|
}
|
||||||
|
|
||||||
|
-#[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>, buffer: RefMEStats,
|
||||||
|
@@ -265,7 +261,6 @@ pub(crate) fn estimate_inter_costs<T: Pixel>(
|
||||||
|
inter_costs as f64 / (w_in_imp_b * h_in_imp_b) as f64
|
||||||
|
}
|
||||||
|
|
||||||
|
-#[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/common.rs b/src/bin/common.rs
|
||||||
|
index 2c9b120..43bc91f 100644
|
||||||
|
--- a/src/bin/common.rs
|
||||||
|
+++ b/src/bin/common.rs
|
||||||
|
@@ -22,11 +22,6 @@ use std::io;
|
||||||
|
use std::io::prelude::*;
|
||||||
|
use std::path::PathBuf;
|
||||||
|
|
||||||
|
-pub mod built_info {
|
||||||
|
- // The file has been placed there by the build script.
|
||||||
|
- include!(concat!(env!("OUT_DIR"), "/built.rs"));
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
#[derive(Clap)]
|
||||||
|
#[clap(
|
||||||
|
name = "rav1e",
|
||||||
|
@@ -273,10 +268,8 @@ fn get_long_version() -> &'static str {
|
||||||
|
rustflags = "(None)";
|
||||||
|
}
|
||||||
|
format!(
|
||||||
|
- "{}\n{} {}\nCompiled CPU Features: {}\nAssembly: {}\nThreading: {}\nUnstable Features: {}\nCompiler Flags: {}",
|
||||||
|
+ "{}\nCompiled CPU Features: {}\nAssembly: {}\nThreading: {}\nUnstable Features: {}\nCompiler Flags: {}",
|
||||||
|
get_version(),
|
||||||
|
- built_info::RUSTC_VERSION,
|
||||||
|
- built_info::TARGET,
|
||||||
|
option_env!("CARGO_CFG_TARGET_FEATURE").unwrap_or("(None)"),
|
||||||
|
if cfg!(feature = "asm") { "Enabled" } else { "Disabled" },
|
||||||
|
if cfg!(feature = "threading") { "Enabled" } else { "Disabled" },
|
||||||
|
diff --git a/src/bin/muxer/ivf.rs b/src/bin/muxer/ivf.rs
|
||||||
|
index ac26cde..b3a29a6 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/muxer/y4m.rs b/src/bin/muxer/y4m.rs
|
||||||
|
index fb5db1e..9b5771b 100644
|
||||||
|
--- a/src/bin/muxer/y4m.rs
|
||||||
|
+++ b/src/bin/muxer/y4m.rs
|
||||||
|
@@ -9,11 +9,9 @@
|
||||||
|
|
||||||
|
use crate::decoder::VideoDetails;
|
||||||
|
use rav1e::prelude::*;
|
||||||
|
-use rust_hawktracer::*;
|
||||||
|
use std::io::Write;
|
||||||
|
use std::slice;
|
||||||
|
|
||||||
|
-#[hawktracer(write_y4m_frame)]
|
||||||
|
pub fn write_y4m_frame<T: Pixel>(
|
||||||
|
y4m_enc: &mut y4m::Encoder<Box<dyn Write + Send>>, rec: &Frame<T>,
|
||||||
|
y4m_details: VideoDetails,
|
||||||
|
diff --git a/src/bin/rav1e-ch.rs b/src/bin/rav1e-ch.rs
|
||||||
|
index 212d0af..dc411d3 100644
|
||||||
|
--- a/src/bin/rav1e-ch.rs
|
||||||
|
+++ b/src/bin/rav1e-ch.rs
|
||||||
|
@@ -314,18 +314,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 415acff..d3cf7ee 100644
|
||||||
|
--- a/src/bin/rav1e.rs
|
||||||
|
+++ b/src/bin/rav1e.rs
|
||||||
|
@@ -54,7 +54,6 @@ use crate::error::*;
|
||||||
|
use crate::stats::*;
|
||||||
|
use rav1e::config::CpuFeatureLevel;
|
||||||
|
use rav1e::prelude::*;
|
||||||
|
-use rust_hawktracer::*;
|
||||||
|
|
||||||
|
use crate::decoder::{Decoder, FrameBuilder, VideoDetails};
|
||||||
|
use crate::muxer::*;
|
||||||
|
@@ -105,7 +104,6 @@ impl<D: Decoder> Source<D> {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
- #[hawktracer(Source_read_frame)]
|
||||||
|
fn read_frame<T: Pixel>(
|
||||||
|
&mut self, ctx: &mut Context<T>, video_info: VideoDetails,
|
||||||
|
) -> Result<(), CliError> {
|
||||||
|
@@ -141,7 +139,6 @@ impl<D: Decoder> Source<D> {
|
||||||
|
|
||||||
|
// Encode and write a frame.
|
||||||
|
// Returns frame information in a `Result`.
|
||||||
|
-#[hawktracer(process_frame)]
|
||||||
|
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>,
|
||||||
|
@@ -306,65 +303,12 @@ fn do_encode<T: Pixel, D: Decoder>(
|
||||||
|
}
|
||||||
|
|
||||||
|
fn main() {
|
||||||
|
- #[cfg(feature = "tracing")]
|
||||||
|
- 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);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
-#[cfg(feature = "tracing")]
|
||||||
|
-fn init_logger() {
|
||||||
|
- use std::str::FromStr;
|
||||||
|
- fn level_colored(l: log::Level) -> console::StyledObject<&'static str> {
|
||||||
|
- use console::style;
|
||||||
|
- use log::Level;
|
||||||
|
- match l {
|
||||||
|
- Level::Trace => style("??").dim(),
|
||||||
|
- Level::Debug => style("? ").dim(),
|
||||||
|
- Level::Info => style("> ").green(),
|
||||||
|
- Level::Warn => style("! ").yellow(),
|
||||||
|
- Level::Error => style("!!").red(),
|
||||||
|
- }
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
- let level = std::env::var("RAV1E_LOG")
|
||||||
|
- .ok()
|
||||||
|
- .and_then(|l| log::LevelFilter::from_str(&l).ok())
|
||||||
|
- .unwrap_or(log::LevelFilter::Info);
|
||||||
|
-
|
||||||
|
- fern::Dispatch::new()
|
||||||
|
- .format(move |out, message, record| {
|
||||||
|
- out.finish(format_args!(
|
||||||
|
- "{level} {message}",
|
||||||
|
- level = level_colored(record.level()),
|
||||||
|
- message = message,
|
||||||
|
- ));
|
||||||
|
- })
|
||||||
|
- // set the default log level. to filter out verbose log messages from dependencies, set
|
||||||
|
- // this to Warn and overwrite the log level for your crate.
|
||||||
|
- .level(log::LevelFilter::Warn)
|
||||||
|
- // change log levels for individual modules. Note: This looks for the record's target
|
||||||
|
- // field which defaults to the module path but can be overwritten with the `target`
|
||||||
|
- // parameter:
|
||||||
|
- // `info!(target="special_target", "This log message is about special_target");`
|
||||||
|
- .level_for("rav1e", level)
|
||||||
|
- // output to stdout
|
||||||
|
- .chain(std::io::stderr())
|
||||||
|
- .apply()
|
||||||
|
- .unwrap();
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
cfg_if::cfg_if! {
|
||||||
|
if #[cfg(any(target_os = "windows", target_arch = "wasm32"))] {
|
||||||
|
fn print_rusage() {
|
||||||
|
diff --git a/src/bin/stats.rs b/src/bin/stats.rs
|
||||||
|
index 91fca5b..7f8fd1d 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,
|
||||||
|
diff --git a/src/cdef.rs b/src/cdef.rs
|
||||||
|
index de3fba3..6487b88 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;
|
||||||
|
@@ -322,7 +321,6 @@ fn adjust_strength(strength: i32, var: i32) -> i32 {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
-#[hawktracer(cdef_analyze_superblock_range)]
|
||||||
|
pub fn cdef_analyze_superblock_range<T: Pixel>(
|
||||||
|
fi: &FrameInvariants<T>, in_frame: &Frame<T>, blocks: &TileBlocks<'_>,
|
||||||
|
sb_w: usize, sb_h: usize,
|
||||||
|
@@ -337,7 +335,6 @@ pub fn cdef_analyze_superblock_range<T: Pixel>(
|
||||||
|
ret
|
||||||
|
}
|
||||||
|
|
||||||
|
-#[hawktracer(cdef_analyze_superblock)]
|
||||||
|
pub fn cdef_analyze_superblock<T: Pixel>(
|
||||||
|
fi: &FrameInvariants<T>, in_frame: &Frame<T>, blocks: &TileBlocks<'_>,
|
||||||
|
sbo: TileSuperBlockOffset,
|
||||||
|
@@ -398,7 +395,6 @@ pub fn cdef_analyze_superblock<T: Pixel>(
|
||||||
|
/// # Panics
|
||||||
|
///
|
||||||
|
/// - If called with invalid parameters
|
||||||
|
-#[hawktracer(cdef_filter_superblock)]
|
||||||
|
pub fn cdef_filter_superblock<T: Pixel>(
|
||||||
|
fi: &FrameInvariants<T>, input: &Frame<T>, output: &mut TileMut<'_, T>,
|
||||||
|
blocks: &TileBlocks<'_>, tile_sbo: TileSuperBlockOffset, cdef_index: u8,
|
||||||
|
@@ -594,7 +590,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/context/block_unit.rs b/src/context/block_unit.rs
|
||||||
|
index 1d53b0d..5d0272f 100644
|
||||||
|
--- a/src/context/block_unit.rs
|
||||||
|
+++ b/src/context/block_unit.rs
|
||||||
|
@@ -10,7 +10,6 @@
|
||||||
|
use super::*;
|
||||||
|
|
||||||
|
use crate::predict::PredictionMode;
|
||||||
|
-use rust_hawktracer::*;
|
||||||
|
|
||||||
|
pub const MAX_PLANES: usize = 3;
|
||||||
|
|
||||||
|
@@ -1122,7 +1121,6 @@ impl<'a> ContextWriter<'a> {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
- #[hawktracer(setup_mvref_list)]
|
||||||
|
fn setup_mvref_list<T: Pixel>(
|
||||||
|
&self, bo: TileBlockOffset, ref_frames: [RefType; 2],
|
||||||
|
mv_stack: &mut ArrayVec<CandidateMV, 9>, bsize: BlockSize,
|
||||||
|
diff --git a/src/deblock.rs b/src/deblock.rs
|
||||||
|
index 775101d..6b8ef51 100644
|
||||||
|
--- a/src/deblock.rs
|
||||||
|
+++ b/src/deblock.rs
|
||||||
|
@@ -18,7 +18,6 @@ use crate::rayon::iter::*;
|
||||||
|
use crate::tiling::*;
|
||||||
|
use crate::util::{clamp, ILog, Pixel};
|
||||||
|
use crate::DeblockState;
|
||||||
|
-use rust_hawktracer::*;
|
||||||
|
use std::cmp;
|
||||||
|
|
||||||
|
fn deblock_adjusted_level(
|
||||||
|
@@ -1291,7 +1290,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,
|
||||||
|
@@ -1541,7 +1539,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,
|
||||||
|
@@ -1617,7 +1614,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 18c360c..7f846a9 100644
|
||||||
|
--- a/src/encoder.rs
|
||||||
|
+++ b/src/encoder.rs
|
||||||
|
@@ -41,7 +41,6 @@ use crate::wasm_bindgen::*;
|
||||||
|
use arg_enum_proc_macro::ArgEnum;
|
||||||
|
use arrayvec::*;
|
||||||
|
use bitstream_io::{BigEndian, BitWrite, BitWriter};
|
||||||
|
-use rust_hawktracer::*;
|
||||||
|
|
||||||
|
use std::collections::VecDeque;
|
||||||
|
use std::io::Write;
|
||||||
|
@@ -570,7 +569,6 @@ pub struct SegmentationState {
|
||||||
|
}
|
||||||
|
|
||||||
|
impl SegmentationState {
|
||||||
|
- #[hawktracer(SegmentationState_update_threshold)]
|
||||||
|
pub fn update_threshold(&mut self, base_q_idx: u8, bd: usize) {
|
||||||
|
let base_ac_q = ac_q(base_q_idx, 0, bd).get() as u64;
|
||||||
|
let real_ac_q = ArrayVec::<_, MAX_SEGMENTS>::from_iter(
|
||||||
|
@@ -748,7 +746,6 @@ impl<T: Pixel> CodedFrameData<T> {
|
||||||
|
|
||||||
|
// Assumes that we have already computed activity scales and distortion scales
|
||||||
|
// Returns -0.5 log2(mean(scale))
|
||||||
|
- #[hawktracer(compute_spatiotemporal_scores)]
|
||||||
|
pub fn compute_spatiotemporal_scores(&mut self) -> i64 {
|
||||||
|
let mut scores = self
|
||||||
|
.distortion_scales
|
||||||
|
@@ -774,7 +771,6 @@ impl<T: Pixel> CodedFrameData<T> {
|
||||||
|
|
||||||
|
// Assumes that we have already computed distortion_scales
|
||||||
|
// Returns -0.5 log2(mean(scale))
|
||||||
|
- #[hawktracer(compute_temporal_scores)]
|
||||||
|
pub fn compute_temporal_scores(&mut self) -> i64 {
|
||||||
|
let inv_mean = DistortionScale::inv_mean(&self.distortion_scales);
|
||||||
|
for scale in self.distortion_scales.iter_mut() {
|
||||||
|
@@ -1657,7 +1653,6 @@ pub fn encode_tx_block<T: Pixel, W: Writer>(
|
||||||
|
/// # Panics
|
||||||
|
///
|
||||||
|
/// - If the block size is invalid for subsampling
|
||||||
|
-#[hawktracer(motion_compensate)]
|
||||||
|
pub fn motion_compensate<T: Pixel>(
|
||||||
|
fi: &FrameInvariants<T>, ts: &mut TileStateMut<'_, T>,
|
||||||
|
cw: &mut ContextWriter, luma_mode: PredictionMode, ref_frames: [RefType; 2],
|
||||||
|
@@ -1886,7 +1881,6 @@ pub fn save_block_motion<T: Pixel>(
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
-#[hawktracer(encode_block_pre_cdef)]
|
||||||
|
pub fn encode_block_pre_cdef<T: Pixel, W: Writer>(
|
||||||
|
seq: &Sequence, ts: &TileStateMut<'_, T>, cw: &mut ContextWriter, w: &mut W,
|
||||||
|
bsize: BlockSize, tile_bo: TileBlockOffset, skip: bool,
|
||||||
|
@@ -1927,7 +1921,6 @@ pub fn encode_block_pre_cdef<T: Pixel, W: Writer>(
|
||||||
|
///
|
||||||
|
/// - If chroma and luma do not match for inter modes
|
||||||
|
/// - If an invalid motion vector is found
|
||||||
|
-#[hawktracer(encode_block_post_cdef)]
|
||||||
|
pub fn encode_block_post_cdef<T: Pixel, W: Writer>(
|
||||||
|
fi: &FrameInvariants<T>, ts: &mut TileStateMut<'_, T>,
|
||||||
|
cw: &mut ContextWriter, w: &mut W, luma_mode: PredictionMode,
|
||||||
|
@@ -2552,7 +2545,6 @@ pub fn write_tx_tree<T: Pixel, W: Writer>(
|
||||||
|
(partition_has_coeff, tx_dist)
|
||||||
|
}
|
||||||
|
|
||||||
|
-#[hawktracer(encode_block_with_modes)]
|
||||||
|
pub fn encode_block_with_modes<T: Pixel, W: Writer>(
|
||||||
|
fi: &FrameInvariants<T>, ts: &mut TileStateMut<'_, T>,
|
||||||
|
cw: &mut ContextWriter, w_pre_cdef: &mut W, w_post_cdef: &mut W,
|
||||||
|
@@ -2619,7 +2611,6 @@ pub fn encode_block_with_modes<T: Pixel, W: Writer>(
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
-#[hawktracer(encode_partition_bottomup)]
|
||||||
|
fn encode_partition_bottomup<T: Pixel, W: Writer>(
|
||||||
|
fi: &FrameInvariants<T>, ts: &mut TileStateMut<'_, T>,
|
||||||
|
cw: &mut ContextWriter, w_pre_cdef: &mut W, w_post_cdef: &mut W,
|
||||||
|
@@ -3222,7 +3213,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> {
|
||||||
|
@@ -3361,7 +3351,6 @@ pub struct SBSQueueEntry {
|
||||||
|
pub w_post_cdef: WriterBase<WriterRecorder>,
|
||||||
|
}
|
||||||
|
|
||||||
|
-#[hawktracer(check_lf_queue)]
|
||||||
|
fn check_lf_queue<T: Pixel>(
|
||||||
|
fi: &FrameInvariants<T>, ts: &mut TileStateMut<'_, T>,
|
||||||
|
cw: &mut ContextWriter, w: &mut WriterBase<WriterEncoder>,
|
||||||
|
@@ -3453,7 +3442,6 @@ fn check_lf_queue<T: Pixel>(
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
-#[hawktracer(encode_tile)]
|
||||||
|
fn encode_tile<'a, T: Pixel>(
|
||||||
|
fi: &FrameInvariants<T>, ts: &'a mut TileStateMut<'_, T>,
|
||||||
|
fc: &'a mut CDFContext, blocks: &'a mut TileBlocksMut<'a>,
|
||||||
|
@@ -3678,7 +3666,6 @@ fn write_tile_group_header(tile_start_and_end_present_flag: bool) -> Vec<u8> {
|
||||||
|
/// # Panics
|
||||||
|
///
|
||||||
|
/// - If the frame packets cannot be written
|
||||||
|
-#[hawktracer(encode_show_existing_frame)]
|
||||||
|
pub fn encode_show_existing_frame<T: Pixel>(
|
||||||
|
fi: &FrameInvariants<T>, fs: &mut FrameState<T>, inter_cfg: &InterConfig,
|
||||||
|
) -> Vec<u8> {
|
||||||
|
@@ -3753,7 +3740,6 @@ fn get_initial_segmentation<T: Pixel>(
|
||||||
|
/// # Panics
|
||||||
|
///
|
||||||
|
/// - If the frame packets cannot be written
|
||||||
|
-#[hawktracer(encode_frame)]
|
||||||
|
pub fn encode_frame<T: Pixel>(
|
||||||
|
fi: &FrameInvariants<T>, fs: &mut FrameState<T>, inter_cfg: &InterConfig,
|
||||||
|
) -> Vec<u8> {
|
||||||
|
diff --git a/src/lib.rs b/src/lib.rs
|
||||||
|
index 9f23e51..e6df48d 100644
|
||||||
|
--- a/src/lib.rs
|
||||||
|
+++ b/src/lib.rs
|
||||||
|
@@ -77,11 +77,6 @@ extern crate pretty_assertions;
|
||||||
|
#[macro_use]
|
||||||
|
extern crate log;
|
||||||
|
|
||||||
|
-pub(crate) mod built_info {
|
||||||
|
- // The file has been placed there by the build script.
|
||||||
|
- include!(concat!(env!("OUT_DIR"), "/built.rs"));
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
mod serialize {
|
||||||
|
cfg_if::cfg_if! {
|
||||||
|
if #[cfg(feature="serialize")] {
|
||||||
|
diff --git a/src/lrf.rs b/src/lrf.rs
|
||||||
|
index 9c8285d..039dd5e 100644
|
||||||
|
--- a/src/lrf.rs
|
||||||
|
+++ b/src/lrf.rs
|
||||||
|
@@ -24,7 +24,6 @@ use crate::frame::{
|
||||||
|
};
|
||||||
|
use crate::tiling::{Area, PlaneRegion, PlaneRegionMut, Rect};
|
||||||
|
use crate::util::{clamp, CastFromPrimitive, ILog, Pixel};
|
||||||
|
-use rust_hawktracer::*;
|
||||||
|
use std::cmp;
|
||||||
|
use std::iter::FusedIterator;
|
||||||
|
use std::ops::{Index, IndexMut};
|
||||||
|
@@ -526,7 +525,6 @@ impl<'a, T: Pixel> Iterator for HorzPaddedIter<'a, T> {
|
||||||
|
impl<T: Pixel> ExactSizeIterator for HorzPaddedIter<'_, T> {}
|
||||||
|
impl<T: Pixel> FusedIterator for HorzPaddedIter<'_, T> {}
|
||||||
|
|
||||||
|
-#[hawktracer(setup_integral_image)]
|
||||||
|
pub fn setup_integral_image<T: Pixel>(
|
||||||
|
integral_image_buffer: &mut IntegralImageBuffer,
|
||||||
|
integral_image_stride: usize, crop_w: usize, crop_h: usize, stripe_w: usize,
|
||||||
|
@@ -626,7 +624,6 @@ pub fn setup_integral_image<T: Pixel>(
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
-#[hawktracer(sgrproj_stripe_filter)]
|
||||||
|
pub fn sgrproj_stripe_filter<T: Pixel, U: Pixel>(
|
||||||
|
set: u8, xqd: [i8; 2], fi: &FrameInvariants<T>,
|
||||||
|
integral_image_buffer: &IntegralImageBuffer, integral_image_stride: usize,
|
||||||
|
@@ -843,7 +840,6 @@ pub fn sgrproj_stripe_filter<T: Pixel, U: Pixel>(
|
||||||
|
|
||||||
|
// Input params follow the same rules as sgrproj_stripe_filter.
|
||||||
|
// Inputs are relative to the colocated slice views.
|
||||||
|
-#[hawktracer(sgrproj_solve)]
|
||||||
|
pub fn sgrproj_solve<T: Pixel>(
|
||||||
|
set: u8, fi: &FrameInvariants<T>,
|
||||||
|
integral_image_buffer: &IntegralImageBuffer, input: &PlaneRegion<'_, T>,
|
||||||
|
@@ -1095,7 +1091,6 @@ pub fn sgrproj_solve<T: Pixel>(
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
-#[hawktracer(wiener_stripe_filter)]
|
||||||
|
fn wiener_stripe_filter<T: Pixel>(
|
||||||
|
coeffs: [[i8; 3]; 2], fi: &FrameInvariants<T>, crop_w: usize, crop_h: usize,
|
||||||
|
stripe_w: usize, stripe_h: usize, stripe_x: usize, stripe_y: isize,
|
||||||
|
@@ -1484,7 +1479,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 20fa201..a650985 100644
|
||||||
|
--- a/src/me.rs
|
||||||
|
+++ b/src/me.rs
|
||||||
|
@@ -24,7 +24,6 @@ use crate::util::{clamp, Pixel};
|
||||||
|
use crate::FrameInvariants;
|
||||||
|
|
||||||
|
use arrayvec::*;
|
||||||
|
-use rust_hawktracer::*;
|
||||||
|
use std::ops::{Index, IndexMut};
|
||||||
|
use std::sync::{Arc, RwLock, RwLockReadGuard, RwLockWriteGuard};
|
||||||
|
|
||||||
|
@@ -383,7 +382,6 @@ impl MotionEstimationSubsets {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
-#[hawktracer(get_subset_predictors)]
|
||||||
|
fn get_subset_predictors(
|
||||||
|
tile_bo: TileBlockOffset, tile_me_stats: &TileMEStats<'_>,
|
||||||
|
frame_ref_opt: Option<ReadGuardMEStats<'_>>, ref_frame_id: usize,
|
||||||
|
@@ -690,7 +688,6 @@ fn refine_subsampled_motion_estimate<T: Pixel>(
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
-#[hawktracer(full_pixel_me)]
|
||||||
|
fn full_pixel_me<T: Pixel>(
|
||||||
|
fi: &FrameInvariants<T>, ts: &TileStateMut<'_, T>,
|
||||||
|
org_region: &PlaneRegion<T>, p_ref: &Plane<T>, tile_bo: TileBlockOffset,
|
||||||
|
@@ -882,7 +879,6 @@ fn sub_pixel_me<T: Pixel>(
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
-#[hawktracer(get_best_predictor)]
|
||||||
|
fn get_best_predictor<T: Pixel>(
|
||||||
|
fi: &FrameInvariants<T>, po: PlaneOffset, org_region: &PlaneRegion<T>,
|
||||||
|
p_ref: &Plane<T>, predictors: &[MotionVector], bit_depth: usize,
|
||||||
|
@@ -953,7 +949,6 @@ const DIAMOND_R1_PATTERN: [MotionVector; 4] = search_pattern!(
|
||||||
|
/// For each step size, candidate motion vectors are examined for improvement
|
||||||
|
/// to the current search location. The search location is moved to the best
|
||||||
|
/// candidate (if any). This is repeated until the search location stops moving.
|
||||||
|
-#[hawktracer(fullpel_diamond_search)]
|
||||||
|
fn fullpel_diamond_search<T: Pixel>(
|
||||||
|
fi: &FrameInvariants<T>, po: PlaneOffset, org_region: &PlaneRegion<T>,
|
||||||
|
p_ref: &Plane<T>, current: &mut MotionSearchResult, bit_depth: usize,
|
||||||
|
@@ -1053,7 +1048,6 @@ const SQUARE_REFINE_PATTERN: [MotionVector; 8] = search_pattern!(
|
||||||
|
///
|
||||||
|
/// `current` provides the initial search location and serves as
|
||||||
|
/// the output for the final search results.
|
||||||
|
-#[hawktracer(hexagon_search)]
|
||||||
|
fn hexagon_search<T: Pixel>(
|
||||||
|
fi: &FrameInvariants<T>, po: PlaneOffset, org_region: &PlaneRegion<T>,
|
||||||
|
p_ref: &Plane<T>, current: &mut MotionSearchResult, bit_depth: usize,
|
||||||
|
@@ -1168,7 +1162,6 @@ const UMH_PATTERN: [MotionVector; 16] = search_pattern!(
|
||||||
|
/// the output for the final search results.
|
||||||
|
///
|
||||||
|
/// `me_range` parameter determines how far these stages can search.
|
||||||
|
-#[hawktracer(uneven_multi_hex_search)]
|
||||||
|
fn uneven_multi_hex_search<T: Pixel>(
|
||||||
|
fi: &FrameInvariants<T>, po: PlaneOffset, org_region: &PlaneRegion<T>,
|
||||||
|
p_ref: &Plane<T>, current: &mut MotionSearchResult, bit_depth: usize,
|
||||||
|
@@ -1309,7 +1302,6 @@ fn uneven_multi_hex_search<T: Pixel>(
|
||||||
|
/// For each step size, candidate motion vectors are examined for improvement
|
||||||
|
/// to the current search location. The search location is moved to the best
|
||||||
|
/// candidate (if any). This is repeated until the search location stops moving.
|
||||||
|
-#[hawktracer(subpel_diamond_search)]
|
||||||
|
fn subpel_diamond_search<T: Pixel>(
|
||||||
|
fi: &FrameInvariants<T>, po: PlaneOffset, org_region: &PlaneRegion<T>,
|
||||||
|
_p_ref: &Plane<T>, bit_depth: usize, pmv: [MotionVector; 2], lambda: u32,
|
||||||
|
@@ -1462,7 +1454,6 @@ fn compute_mv_rd<T: Pixel>(
|
||||||
|
MVCandidateRD { cost: 256 * sad as u64 + rate as u64 * lambda as u64, sad }
|
||||||
|
}
|
||||||
|
|
||||||
|
-#[hawktracer(full_search)]
|
||||||
|
fn full_search<T: Pixel>(
|
||||||
|
fi: &FrameInvariants<T>, x_lo: isize, x_hi: isize, y_lo: isize, y_hi: isize,
|
||||||
|
w: usize, h: usize, org_region: &PlaneRegion<T>, p_ref: &Plane<T>,
|
||||||
|
diff --git a/src/rate.rs b/src/rate.rs
|
||||||
|
index 16e0598..3ae7b09 100644
|
||||||
|
--- a/src/rate.rs
|
||||||
|
+++ b/src/rate.rs
|
||||||
|
@@ -14,7 +14,6 @@ use crate::quantize::{ac_q, dc_q, select_ac_qi, select_dc_qi};
|
||||||
|
use crate::util::{
|
||||||
|
bexp64, bexp_q24, blog64, clamp, q24_to_q57, q57, q57_to_q24, Pixel,
|
||||||
|
};
|
||||||
|
-use rust_hawktracer::*;
|
||||||
|
use std::cmp;
|
||||||
|
|
||||||
|
// The number of frame sub-types for which we track distinct parameters.
|
||||||
|
@@ -720,7 +719,6 @@ impl RCState {
|
||||||
|
}
|
||||||
|
|
||||||
|
// TODO: Separate quantizers for Cb and Cr.
|
||||||
|
- #[hawktracer(select_qi)]
|
||||||
|
pub(crate) fn select_qi<T: Pixel>(
|
||||||
|
&self, ctx: &ContextInner<T>, output_frameno: u64, fti: usize,
|
||||||
|
maybe_prev_log_base_q: Option<i64>, log_isqrt_mean_scale: i64,
|
||||||
|
@@ -1069,7 +1067,6 @@ impl RCState {
|
||||||
|
(log_base_q, log_q)
|
||||||
|
}
|
||||||
|
|
||||||
|
- #[hawktracer(RCState_update_state)]
|
||||||
|
pub fn update_state(
|
||||||
|
&mut self, bits: i64, fti: usize, show_frame: bool, log_target_q: i64,
|
||||||
|
trial: bool, droppable: bool,
|
||||||
|
diff --git a/src/rdo.rs b/src/rdo.rs
|
||||||
|
index 34d751e..03be0b5 100644
|
||||||
|
--- a/src/rdo.rs
|
||||||
|
+++ b/src/rdo.rs
|
||||||
|
@@ -46,7 +46,6 @@ use crate::{encode_block_post_cdef, encode_block_pre_cdef};
|
||||||
|
|
||||||
|
use arrayvec::*;
|
||||||
|
use itertools::izip;
|
||||||
|
-use rust_hawktracer::*;
|
||||||
|
use std::fmt;
|
||||||
|
use std::mem::MaybeUninit;
|
||||||
|
|
||||||
|
@@ -811,7 +810,6 @@ const fn dmv_in_range(mv: MotionVector, ref_mv: MotionVector) -> bool {
|
||||||
|
}
|
||||||
|
|
||||||
|
#[inline]
|
||||||
|
-#[hawktracer(luma_chroma_mode_rdo)]
|
||||||
|
fn luma_chroma_mode_rdo<T: Pixel>(
|
||||||
|
luma_mode: PredictionMode, fi: &FrameInvariants<T>, bsize: BlockSize,
|
||||||
|
tile_bo: TileBlockOffset, ts: &mut TileStateMut<'_, T>,
|
||||||
|
@@ -958,7 +956,6 @@ fn luma_chroma_mode_rdo<T: Pixel>(
|
||||||
|
///
|
||||||
|
/// - If the best RD found is negative.
|
||||||
|
/// This should never happen and indicates a development error.
|
||||||
|
-#[hawktracer(rdo_mode_decision)]
|
||||||
|
pub fn rdo_mode_decision<T: Pixel>(
|
||||||
|
fi: &FrameInvariants<T>, ts: &mut TileStateMut<'_, T>,
|
||||||
|
cw: &mut ContextWriter, bsize: BlockSize, tile_bo: TileBlockOffset,
|
||||||
|
@@ -1116,7 +1113,6 @@ pub fn rdo_mode_decision<T: Pixel>(
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
-#[hawktracer(inter_frame_rdo_mode_decision)]
|
||||||
|
fn inter_frame_rdo_mode_decision<T: Pixel>(
|
||||||
|
fi: &FrameInvariants<T>, ts: &mut TileStateMut<'_, T>,
|
||||||
|
cw: &mut ContextWriter, bsize: BlockSize, tile_bo: TileBlockOffset,
|
||||||
|
@@ -1389,7 +1385,6 @@ fn inter_frame_rdo_mode_decision<T: Pixel>(
|
||||||
|
best
|
||||||
|
}
|
||||||
|
|
||||||
|
-#[hawktracer(intra_frame_rdo_mode_decision)]
|
||||||
|
fn intra_frame_rdo_mode_decision<T: Pixel>(
|
||||||
|
fi: &FrameInvariants<T>, ts: &mut TileStateMut<'_, T>,
|
||||||
|
cw: &mut ContextWriter, bsize: BlockSize, tile_bo: TileBlockOffset,
|
||||||
|
@@ -1586,7 +1581,6 @@ fn intra_frame_rdo_mode_decision<T: Pixel>(
|
||||||
|
/// # Panics
|
||||||
|
///
|
||||||
|
/// - If the block size is invalid for subsampling.
|
||||||
|
-#[hawktracer(rdo_cfl_alpha)]
|
||||||
|
pub fn rdo_cfl_alpha<T: Pixel>(
|
||||||
|
ts: &mut TileStateMut<'_, T>, tile_bo: TileBlockOffset, bsize: BlockSize,
|
||||||
|
luma_tx_size: TxSize, fi: &FrameInvariants<T>,
|
||||||
|
@@ -1941,7 +1935,6 @@ fn rdo_partition_simple<T: Pixel, W: Writer>(
|
||||||
|
///
|
||||||
|
/// - If the best RD found is negative.
|
||||||
|
/// This should never happen, and indicates a development error.
|
||||||
|
-#[hawktracer(rdo_partition_decision)]
|
||||||
|
pub fn rdo_partition_decision<T: Pixel, W: Writer>(
|
||||||
|
fi: &FrameInvariants<T>, ts: &mut TileStateMut<'_, T>,
|
||||||
|
cw: &mut ContextWriter, w_pre_cdef: &mut W, w_post_cdef: &mut W,
|
||||||
|
@@ -2019,7 +2012,6 @@ pub fn rdo_partition_decision<T: Pixel, W: Writer>(
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
-#[hawktracer(rdo_loop_plane_error)]
|
||||||
|
fn rdo_loop_plane_error<T: Pixel>(
|
||||||
|
base_sbo: TileSuperBlockOffset, offset_sbo: TileSuperBlockOffset,
|
||||||
|
sb_w: usize, sb_h: usize, fi: &FrameInvariants<T>, ts: &TileStateMut<'_, T>,
|
||||||
|
@@ -2096,7 +2088,6 @@ fn rdo_loop_plane_error<T: Pixel>(
|
||||||
|
/// # Panics
|
||||||
|
///
|
||||||
|
/// - If both CDEF and LRF are disabled.
|
||||||
|
-#[hawktracer(rdo_loop_decision)]
|
||||||
|
pub fn rdo_loop_decision<T: Pixel, W: Writer>(
|
||||||
|
base_sbo: TileSuperBlockOffset, fi: &FrameInvariants<T>,
|
||||||
|
ts: &mut TileStateMut<'_, T>, cw: &mut ContextWriter, w: &mut W,
|
||||||
|
diff --git a/src/scenechange/fast.rs b/src/scenechange/fast.rs
|
||||||
|
index 8b1dd39..1ca2a0d 100644
|
||||||
|
--- a/src/scenechange/fast.rs
|
||||||
|
+++ b/src/scenechange/fast.rs
|
||||||
|
@@ -8,7 +8,6 @@ use crate::{
|
||||||
|
scenechange::fast_idiv,
|
||||||
|
};
|
||||||
|
use debug_unreachable::debug_unreachable;
|
||||||
|
-use rust_hawktracer::*;
|
||||||
|
use v_frame::pixel::Pixel;
|
||||||
|
|
||||||
|
use super::{ScaleFunction, SceneChangeDetector, ScenecutResult};
|
||||||
|
@@ -19,7 +18,6 @@ pub(super) const FAST_THRESHOLD: f64 = 18.0;
|
||||||
|
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)]
|
||||||
|
pub(super) fn fast_scenecut(
|
||||||
|
&mut self, frame1: Arc<Frame<T>>, frame2: Arc<Frame<T>>,
|
||||||
|
) -> ScenecutResult {
|
||||||
|
@@ -104,7 +102,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 delta = sad_plane::sad_plane(plane1, plane2, self.cpu_feature_level);
|
||||||
|
|
||||||
|
diff --git a/src/scenechange/mod.rs b/src/scenechange/mod.rs
|
||||||
|
index 7414f09..aa0184f 100644
|
||||||
|
--- a/src/scenechange/mod.rs
|
||||||
|
+++ b/src/scenechange/mod.rs
|
||||||
|
@@ -17,7 +17,6 @@ use crate::frame::*;
|
||||||
|
use crate::me::RefMEStats;
|
||||||
|
use crate::util::Pixel;
|
||||||
|
use debug_unreachable::debug_unreachable;
|
||||||
|
-use rust_hawktracer::*;
|
||||||
|
use std::collections::BTreeMap;
|
||||||
|
use std::sync::Arc;
|
||||||
|
use std::{cmp, u64};
|
||||||
|
@@ -164,7 +163,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,
|
||||||
|
diff --git a/src/segmentation.rs b/src/segmentation.rs
|
||||||
|
index 454d372..36ee42f 100644
|
||||||
|
--- a/src/segmentation.rs
|
||||||
|
+++ b/src/segmentation.rs
|
||||||
|
@@ -16,11 +16,9 @@ use crate::tiling::TileStateMut;
|
||||||
|
use crate::util::Pixel;
|
||||||
|
use crate::FrameInvariants;
|
||||||
|
use crate::FrameState;
|
||||||
|
-use rust_hawktracer::*;
|
||||||
|
|
||||||
|
pub const MAX_SEGMENTS: usize = 8;
|
||||||
|
|
||||||
|
-#[hawktracer(segmentation_optimize)]
|
||||||
|
pub fn segmentation_optimize<T: Pixel>(
|
||||||
|
fi: &FrameInvariants<T>, fs: &mut FrameState<T>,
|
||||||
|
) {
|
||||||
|
@@ -160,7 +158,6 @@ fn segmentation_optimize_inner<T: Pixel>(
|
||||||
|
fs.segmentation.update_threshold(fi.base_q_idx, fi.config.bit_depth);
|
||||||
|
}
|
||||||
|
|
||||||
|
-#[hawktracer(select_segment)]
|
||||||
|
pub fn select_segment<T: Pixel>(
|
||||||
|
fi: &FrameInvariants<T>, ts: &TileStateMut<'_, T>, tile_bo: TileBlockOffset,
|
||||||
|
bsize: BlockSize, skip: bool,
|
||||||
|
--
|
||||||
|
2.41.0
|
||||||
|
|
@ -1,435 +0,0 @@
|
|||||||
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
|
|
||||||
|
|
@ -1,27 +0,0 @@
|
|||||||
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
|
|
||||||
|
|
@ -1,164 +0,0 @@
|
|||||||
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
|
|
||||||
|
|
@ -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
|
Binary file not shown.
Loading…
Reference in new issue