[INFO] fetching crate oximedia-video 0.1.3... [INFO] testing oximedia-video-0.1.3 against master#562dee4820c458d823175268e41601d4c060588a for pr-154210-2 [INFO] extracting crate oximedia-video 0.1.3 into /workspace/builds/worker-6-tc1/source [INFO] started tweaking crates.io crate oximedia-video 0.1.3 [INFO] finished tweaking crates.io crate oximedia-video 0.1.3 [INFO] tweaked toml for crates.io crate oximedia-video 0.1.3 written to /workspace/builds/worker-6-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate oximedia-video 0.1.3 on toolchain 562dee4820c458d823175268e41601d4c060588a [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate oximedia-video 0.1.3 already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] eba08455330d189305c75f784071dcef5abeb3ac2e65d7e596fe3867b67f8522 [INFO] running `Command { std: "docker" "start" "-a" "eba08455330d189305c75f784071dcef5abeb3ac2e65d7e596fe3867b67f8522", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "eba08455330d189305c75f784071dcef5abeb3ac2e65d7e596fe3867b67f8522", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "eba08455330d189305c75f784071dcef5abeb3ac2e65d7e596fe3867b67f8522", kill_on_drop: false }` [INFO] [stdout] eba08455330d189305c75f784071dcef5abeb3ac2e65d7e596fe3867b67f8522 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 4f2ed8f87a667e4155c2d7e6ae957a3ad8ba828c45efd7e14665275b61944ef2 [INFO] running `Command { std: "docker" "start" "-a" "4f2ed8f87a667e4155c2d7e6ae957a3ad8ba828c45efd7e14665275b61944ef2", kill_on_drop: false }` [INFO] [stderr] Compiling either v1.15.0 [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Compiling bitflags v2.11.1 [INFO] [stderr] Compiling rayon v1.12.0 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling oximedia-core v0.1.3 [INFO] [stderr] Compiling oximedia-video v0.1.3 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 14.86s [INFO] running `Command { std: "docker" "inspect" "4f2ed8f87a667e4155c2d7e6ae957a3ad8ba828c45efd7e14665275b61944ef2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4f2ed8f87a667e4155c2d7e6ae957a3ad8ba828c45efd7e14665275b61944ef2", kill_on_drop: false }` [INFO] [stdout] 4f2ed8f87a667e4155c2d7e6ae957a3ad8ba828c45efd7e14665275b61944ef2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 4b1d112778f8df65fd34a55b119636c51211f81bceb8e5bda1bcd39717b35d49 [INFO] running `Command { std: "docker" "start" "-a" "4b1d112778f8df65fd34a55b119636c51211f81bceb8e5bda1bcd39717b35d49", kill_on_drop: false }` [INFO] [stderr] Compiling once_cell v1.21.4 [INFO] [stderr] Compiling bitflags v2.11.1 [INFO] [stderr] Compiling getrandom v0.4.2 [INFO] [stderr] Compiling rustix v1.1.4 [INFO] [stderr] Compiling oximedia-core v0.1.3 [INFO] [stderr] Compiling tempfile v3.27.0 [INFO] [stderr] Compiling oximedia-video v0.1.3 (/opt/rustwide/workdir) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 12.99s [INFO] running `Command { std: "docker" "inspect" "4b1d112778f8df65fd34a55b119636c51211f81bceb8e5bda1bcd39717b35d49", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4b1d112778f8df65fd34a55b119636c51211f81bceb8e5bda1bcd39717b35d49", kill_on_drop: false }` [INFO] [stdout] 4b1d112778f8df65fd34a55b119636c51211f81bceb8e5bda1bcd39717b35d49 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] df9d419089ec3b37fdcd9aa6c56fdcde1e1a9936ba7075bbb72c8a7a1a7105aa [INFO] running `Command { std: "docker" "start" "-a" "df9d419089ec3b37fdcd9aa6c56fdcde1e1a9936ba7075bbb72c8a7a1a7105aa", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.08s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/oximedia_video-e9ad12bef804c7b4) [INFO] [stdout] [INFO] [stdout] running 803 tests [INFO] [stdout] test adaptive_block_selection::tests::test_block_size_pixels ... ok [INFO] [stdout] test adaptive_block_selection::tests::test_empty_partition_when_dimensions_zero ... ok [INFO] [stdout] test adaptive_block_selection::tests::test_analyse_solid_frame_uses_large_blocks ... ok [INFO] [stdout] test adaptive_complexity_detect::tests::test_chi_squared_zero_identical ... ok [INFO] [stdout] test adaptive_complexity_detect::tests::test_data_length_mismatch_error ... ok [INFO] [stdout] test adaptive_block_selection::tests::test_analyse_checkerboard_uses_small_blocks ... ok [INFO] [stdout] test adaptive_complexity_detect::tests::test_default_config_is_valid ... ok [INFO] [stdout] test adaptive_block_selection::tests::test_edge_density_solid_frame_near_zero ... ok [INFO] [stdout] test adaptive_complexity_detect::tests::test_ema_converges_toward_new_entropy ... ok [INFO] [stdout] test adaptive_complexity_detect::tests::test_entropy_max_for_uniform ... ok [INFO] [stdout] test adaptive_complexity_detect::tests::test_entropy_zero_for_spike ... ok [INFO] [stdout] test adaptive_complexity_detect::tests::test_hard_cut_black_to_white ... ok [INFO] [stdout] test adaptive_complexity_detect::tests::test_identical_frames_no_cut ... ok [INFO] [stdout] test adaptive_block_selection::tests::test_variance_ramp_is_positive ... ok [INFO] [stdout] test adaptive_complexity_detect::tests::test_min_scene_gap_suppresses_cuts ... ok [INFO] [stdout] test adaptive_complexity_detect::tests::test_first_frame_never_emits_cut ... ok [INFO] [stdout] test adaptive_complexity_detect::tests::test_adaptive_threshold_varies_with_entropy ... ok [INFO] [stdout] test adaptive_complexity_detect::tests::test_ramp_frame_entropy ... ok [INFO] [stdout] test adaptive_block_selection::tests::test_min_max_block_size_config_respected ... ok [INFO] [stdout] test adaptive_block_selection::tests::test_edge_density_checkerboard_high ... ok [INFO] [stdout] test adaptive_denoise::tests::all_pixels_clamped ... ok [INFO] [stdout] test adaptive_block_selection::tests::test_mean_complexity_range ... ok [INFO] [stdout] test adaptive_denoise::tests::border_pixels_copied_unchanged ... ok [INFO] [stdout] test adaptive_denoise::tests::noisy_frame_smoothed ... ok [INFO] [stdout] test adaptive_denoise::tests::output_same_length ... ok [INFO] [stdout] test adaptive_denoise::tests::too_small_frame_returns_input_copy ... ok [INFO] [stdout] test adaptive_block_selection::tests::test_partition_blocks_stay_in_frame ... ok [INFO] [stdout] test adaptive_denoise::tests::wrong_size_returns_input_copy ... ok [INFO] [stdout] test adaptive_denoise::tests::uniform_frame_unchanged ... ok [INFO] [stdout] test adaptive_denoise::tests::zero_strength_returns_input ... ok [INFO] [stdout] test adaptive_block_selection::tests::test_variance_solid_frame_is_zero ... ok [INFO] [stdout] test av1_grain_params::tests::test_apply_film_grain_modifies_pixels ... ok [INFO] [stdout] test av1_grain_params::tests::test_apply_film_grain_no_op_on_false ... ok [INFO] [stdout] test av1_grain_params::tests::test_film_grain_params_heavy ... ok [INFO] [stdout] test av1_grain_params::tests::test_film_grain_params_light ... ok [INFO] [stdout] test av1_grain_params::tests::test_film_grain_params_medium ... ok [INFO] [stdout] test av1_grain_params::tests::test_film_grain_params_none ... ok [INFO] [stdout] test av1_grain_params::tests::test_from_noise_level_one ... ok [INFO] [stdout] test av1_grain_params::tests::test_synthesize_grain_length ... ok [INFO] [stdout] test av1_grain_params::tests::test_synthesize_grain_range ... ok [INFO] [stdout] test bidirectional_motion::tests::test_clamp_coord ... ok [INFO] [stdout] test av1_grain_params::tests::test_to_json_contains_luma_scaling ... ok [INFO] [stdout] test bidirectional_motion::tests::test_default_config_sensible ... ok [INFO] [stdout] test av1_grain_params::tests::test_estimate_av1_grain_params_valid ... ok [INFO] [stdout] test av1_grain_params::tests::test_from_noise_level_zero ... ok [INFO] [stdout] test cadence_confidence::tests::test_frame_reports_expected_scores ... ok [INFO] [stdout] test cadence_confidence::tests::test_hypotheses_sorted_descending ... ok [INFO] [stdout] test adaptive_complexity_detect::tests::test_dimension_mismatch_error ... ok [INFO] [stdout] test cadence_confidence::tests::test_interlaced_detected ... ok [INFO] [stdout] test cadence_confidence::tests::test_is_confident_threshold ... ok [INFO] [stdout] test cadence_confidence::tests::test_pulldown32_detected ... ok [INFO] [stdout] test cadence_confidence::tests::test_window_size_respected ... ok [INFO] [stdout] test cadence_confidence::tests::test_with_params_constructor ... ok [INFO] [stdout] test cadence_convert::tests::test_24_to_30_frame_count ... ok [INFO] [stdout] test cadence_convert::tests::test_25_to_30_frame_count ... ok [INFO] [stdout] test cadence_convert::tests::test_50_to_60_frame_count ... ok [INFO] [stdout] test cadence_confidence::tests::test_pulldown23_detected ... ok [INFO] [stdout] test cadence_convert::tests::test_blend_50_to_60_has_blend_frames ... ok [INFO] [stdout] test cadence_convert::tests::test_blend_indices_in_range ... ok [INFO] [stdout] test cadence_convert::tests::test_drop_60_to_24 ... ok [INFO] [stdout] test cadence_convert::tests::test_duplicate_first_is_single_zero ... ok [INFO] [stdout] test cadence_convert::tests::test_duplicate_index_count_matches ... ok [INFO] [stdout] test cadence_convert::tests::test_pulldown23_frame_count ... ok [INFO] [stdout] test cadence_convert::tests::test_pulldown23_ratio ... ok [INFO] [stdout] test cadence_convert::tests::test_pulldown32_ratio ... ok [INFO] [stdout] test cadence_convert::tests::test_rational_as_f64 ... ok [INFO] [stdout] test cadence_convert::tests::test_rational_display ... ok [INFO] [stdout] test cadence_convert::tests::test_same_rate_identity ... ok [INFO] [stdout] test cadence_convert::tests::test_zero_source_frames_empty ... ok [INFO] [stdout] test color_space_convert::tests::test_422_chroma_size ... ok [INFO] [stdout] test color_space_convert::tests::test_black_roundtrip_444_full ... ok [INFO] [stdout] test color_space_convert::tests::test_blue_pixel_bt709_full ... ok [INFO] [stdout] test color_space_convert::tests::test_bt2020_luma ... ok [INFO] [stdout] test color_space_convert::tests::test_buffer_size_mismatch ... ok [INFO] [stdout] test color_space_convert::tests::test_green_pixel_bt709_full ... ok [INFO] [stdout] test color_space_convert::tests::test_invalid_dimensions ... ok [INFO] [stdout] test color_space_convert::tests::test_range_convert_roundtrip ... ok [INFO] [stdout] test color_space_convert::tests::test_red_pixel_bt709_full ... ok [INFO] [stdout] test color_space_convert::tests::test_roundtrip_420 ... ok [INFO] [stdout] test color_space_convert::tests::test_subsampling_convert ... ok [INFO] [stdout] test color_space_convert::tests::test_white_roundtrip_444_limited ... ok [INFO] [stdout] test complexity::tests::checkerboard_high_complexity ... ok [INFO] [stdout] test complexity::tests::empty_frames_returns_zero ... ok [INFO] [stdout] test complexity::tests::multiple_frames_averaged ... ok [INFO] [stdout] test cadence_convert::tests::test_drop_first_last_in_range ... ok [INFO] [stdout] test complexity::tests::single_pixel_frame_returns_zero ... ok [INFO] [stdout] test bidirectional_motion::tests::test_interpolate_t0_close_to_p0 ... ok [INFO] [stdout] test bidirectional_motion::tests::test_interpolate_t1_close_to_p1 ... ok [INFO] [stdout] test complexity::tests::uniform_frame_zero_complexity ... ok [INFO] [stdout] test cadence_confidence::tests::test_probabilities_sum_to_one ... ok [INFO] [stdout] test cadence_confidence::tests::test_progressive_detected ... ok [INFO] [stdout] test complexity::tests::wrong_frame_size_skipped ... ok [INFO] [stdout] test deinterlace::tests::test_blend_averaged_values ... ok [INFO] [stdout] test deinterlace::tests::test_deinterlace_method_variants ... ok [INFO] [stdout] test deinterlace::tests::test_bob_returns_two_frames ... ok [INFO] [stdout] test deinterlace::tests::test_bob_sets_double_rate ... ok [INFO] [stdout] test complexity::tests::zero_dimensions_returns_zero ... ok [INFO] [stdout] test deinterlace::tests::test_blend_returns_one_frame ... ok [INFO] [stdout] test deinterlace::tests::test_linear_bob_bottom_field_first ... ok [INFO] [stdout] test deinterlace::tests::test_new_blend_sets_fields ... ok [INFO] [stdout] test cadence_confidence::tests::test_frame_accuracy_near_one_for_clean_progressive ... ok [INFO] [stdout] test cadence_confidence::tests::test_insufficient_data_error ... ok [INFO] [stdout] test deinterlace::tests::test_linear_bob_returns_one_frame ... ok [INFO] [stdout] test adaptive_block_selection::tests::test_block_size_ord ... ok [INFO] [stdout] test deinterlace::tests::test_motion_adaptive_moving_bobs ... ok [INFO] [stdout] test deinterlace::tests::test_process_sequence_motion_adaptive ... ok [INFO] [stdout] test deinterlace::tests::test_split_fields_bottom ... ok [INFO] [stdout] test deinterlace::tests::test_weave_returns_one_frame ... ok [INFO] [stdout] test deinterlace::tests::test_split_fields_top ... ok [INFO] [stdout] test deinterlace::tests::test_motion_adaptive_static_weaves ... ok [INFO] [stdout] test deinterlace::tests::test_yadif_adaptive_top_field_first ... ok [INFO] [stdout] test deinterlace::tests::test_yadif_with_temporal_neighbours ... ok [INFO] [stdout] test deinterlace::tests::test_yadif_returns_one_frame ... ok [INFO] [stdout] test deinterlace::tests::test_yadif_adaptive_bottom_field_first ... ok [INFO] [stdout] test duplicate_frame::tests::test_exact_method ... ok [INFO] [stdout] test duplicate_frame::tests::test_frame_similarity_identical ... ok [INFO] [stdout] test deinterlace::tests::test_process_sequence_bob_doubles_frames ... ok [INFO] [stdout] test duplicate_frame::tests::test_duplicate_count ... ok [INFO] [stdout] test deinterlace::tests::test_process_sequence_weave_preserves_count ... ok [INFO] [stdout] test duplicate_frame::tests::test_near_duplicate_threshold ... ok [INFO] [stdout] test duplicate_frame::tests::test_reset ... ok [INFO] [stdout] test deinterlace::tests::test_weave_sets_single_rate ... ok [INFO] [stdout] test duplicate_frame::tests::test_different_frames_not_duplicate ... ok [INFO] [stdout] test duplicate_frame_detect::tests::test_compare_pair_near_duplicate ... ok [INFO] [stdout] test duplicate_frame_detect::tests::test_deduplicate_indices_all_identical ... ok [INFO] [stdout] test duplicate_frame::tests::test_frame_similarity_opposite ... ok [INFO] [stdout] test duplicate_frame_detect::tests::test_deduplicate_indices_no_dups ... ok [INFO] [stdout] test duplicate_frame_detect::tests::test_detector_new_stores_config ... ok [INFO] [stdout] test duplicate_frame_detect::tests::test_duplicate_kind_variants ... ok [INFO] [stdout] test duplicate_frame_detect::tests::test_duplicate_run_len ... ok [INFO] [stdout] test duplicate_frame_detect::tests::test_compare_pair_unique ... ok [INFO] [stdout] test duplicate_frame_detect::tests::test_duplicate_run_single_not_meaningful ... ok [INFO] [stdout] test duplicate_frame_detect::tests::test_hash_similarity_range ... ok [INFO] [stdout] test duplicate_frame_detect::tests::test_hash_identical ... ok [INFO] [stdout] test duplicate_frame_detect::tests::test_histogram_empty ... ok [INFO] [stdout] test duplicate_frame_detect::tests::test_histogram_identical ... ok [INFO] [stdout] test duplicate_frame_detect::tests::test_sad_empty_slices ... ok [INFO] [stdout] test duplicate_frame_detect::tests::test_compare_pair_exact ... ok [INFO] [stdout] test duplicate_frame_detect::tests::test_compare_pair_indices ... ok [INFO] [stdout] test duplicate_frame_detect::tests::test_compare_pair_size_mismatch_error ... ok [INFO] [stdout] test bidirectional_motion::tests::test_estimate_block_positions ... ok [INFO] [stdout] test duplicate_frame_detect::tests::test_sad_identical_zero ... ok [INFO] [stdout] test duplicate_frame::tests::test_identical_frames_detected ... ok [INFO] [stdout] test duplicate_frame_detect::tests::test_sad_opposite_one ... ok [INFO] [stdout] test duplicate_frame_detect::tests::test_histogram_range ... ok [INFO] [stdout] test duplicate_frame_detect::tests::test_scan_sequence_all_identical ... ok [INFO] [stdout] test duplicate_frame_detect::tests::test_sad_range ... ok [INFO] [stdout] test field_order_detect::tests::test_all_zero_frames_progressive ... ok [INFO] [stdout] test duplicate_frame_detect::tests::test_scan_sequence_single_frame_empty ... ok [INFO] [stdout] test duplicate_frame_detect::tests::test_scan_sequence_middle_run ... ok [INFO] [stdout] test duplicate_frame_detect::tests::test_scan_sequence_no_duplicates ... ok [INFO] [stdout] test duplicate_frame_detect::tests::test_scan_sequence_wrong_size_error ... ok [INFO] [stdout] test field_order_detect::tests::test_bff_dominant_odd_row_motion ... ok [INFO] [stdout] test field_order_detect::tests::test_confidence_range ... ok [INFO] [stdout] test field_order_detect::tests::test_detect_empty_returns_unknown ... ok [INFO] [stdout] test field_order_detect::tests::test_detect_mismatched_dimensions_no_panic ... ok [INFO] [stdout] test field_order_detect::tests::test_field_order_display ... ok [INFO] [stdout] test field_order_detect::tests::test_tff_dominant_even_row_motion ... ok [INFO] [stdout] test field_order_detect::tests::test_detect_progressive_static_frames ... ok [INFO] [stdout] test field_order_detect::tests::test_detect_single_frame_returns_unknown ... ok [INFO] [stdout] test field_order_detect::tests::test_single_row_frame_no_panic ... ok [INFO] [stdout] test field_order_detect::tests::test_video_frame_dimensions ... ok [INFO] [stdout] test film_grain_synthesis::tests::test_av1_grain_empty_points_no_change ... ok [INFO] [stdout] test field_order_detect::tests::test_many_frames_accumulation ... ok [INFO] [stdout] test film_grain_synthesis::tests::test_av1_grain_applies ... ok [INFO] [stdout] test film_grain_synthesis::tests::test_buffer_too_small_error ... ok [INFO] [stdout] test film_grain_synthesis::tests::test_build_scaling_lut_interpolation ... ok [INFO] [stdout] test film_grain_synthesis::tests::test_coarse_grain_applies ... ok [INFO] [stdout] test film_grain_synthesis::tests::test_color_grain_modifies_chroma ... ok [INFO] [stdout] test film_grain_synthesis::tests::test_deterministic_same_seed ... ok [INFO] [stdout] test film_grain_synthesis::tests::test_different_seeds_differ ... ok [INFO] [stdout] test film_grain_synthesis::tests::test_estimate_flat_patch_low_intensity ... ok [INFO] [stdout] test film_grain_synthesis::tests::test_estimate_noisy_patch_higher_intensity ... ok [INFO] [stdout] test film_grain_synthesis::tests::test_av1_grain_with_chroma ... ok [INFO] [stdout] test film_grain_synthesis::tests::test_grain_synthesizer_frame_counter_increments ... ok [INFO] [stdout] test film_grain_synthesis::tests::test_grain_synthesizer_temporal_coherence_0_varies_per_frame ... ok [INFO] [stdout] test film_grain_synthesis::tests::test_grain_synthesizer_luma_only_false_all_channels_independent ... ok [INFO] [stdout] test film_grain_synthesis::tests::test_grain_synthesizer_output_clamped_to_byte_range ... ok [INFO] [stdout] test film_grain_synthesis::tests::test_grain_synthesizer_temporal_coherence_1_gives_same_grain_across_frames ... ok [INFO] [stdout] test film_grain_synthesis::tests::test_grain_synthesizer_yuv420_luma_only_chroma_unchanged ... ok [INFO] [stdout] test film_grain_synthesis::tests::test_grain_synthesizer_zero_intensity_leaves_frame_unchanged ... ok [INFO] [stdout] test film_grain_synthesis::tests::test_grain_type_eq ... ok [INFO] [stdout] test film_grain_synthesis::tests::test_invalid_grain_size_too_large ... ok [INFO] [stdout] test film_grain_synthesis::tests::test_invalid_grain_size_zero ... ok [INFO] [stdout] test film_grain_synthesis::tests::test_invalid_intensity_high ... ok [INFO] [stdout] test film_grain_synthesis::tests::test_grain_synthesizer_luma_only_rgb_channel_0_modified ... ok [INFO] [stdout] test film_grain_synthesis::tests::test_invalid_intensity_negative ... ok [INFO] [stdout] test film_grain_synthesis::tests::test_luma_only_no_chroma_change ... ok [INFO] [stdout] test film_grain_synthesis::tests::test_luma_scaling_applied ... ok [INFO] [stdout] test film_grain_synthesis::tests::test_luma_scaling_photographic ... ok [INFO] [stdout] test film_grain_synthesis::tests::test_build_scaling_lut_single_point ... ok [INFO] [stdout] test film_grain_synthesis::tests::test_monochrome_grain_modifies_chroma ... ok [INFO] [stdout] test film_grain_synthesis::tests::test_grain_synthesizer_new_creates_correct_buffer_size ... ok [INFO] [stdout] test film_grain_synthesis::tests::test_grain_synthesizer_nonzero_intensity_modifies_frame ... ok [INFO] [stdout] test film_grain_synthesis::tests::test_nonzero_intensity_modifies_frame ... ok [INFO] [stdout] test film_grain_synthesis::tests::test_synthesize_color_modifies_chroma ... ok [INFO] [stdout] test film_grain_synthesis::tests::test_synthesize_different_seeds_differ ... ok [INFO] [stdout] test film_grain_synthesis::tests::test_output_clamped_bright ... ok [INFO] [stdout] test film_grain_synthesis::tests::test_synthesize_luma_only_no_chroma_change ... ok [INFO] [stdout] test film_grain_synthesis::tests::test_synthesize_nonzero_modifies_frame ... ok [INFO] [stdout] test film_grain_synthesis::tests::test_output_clamped_dark ... ok [INFO] [stdout] test film_grain_synthesis::tests::test_synthesize_zero_dimensions_error ... ok [INFO] [stdout] test film_grain_synthesis::tests::test_synthesize_zero_intensity_no_change ... ok [INFO] [stdout] test film_grain_synthesis::tests::test_uniform_noise_mode ... ok [INFO] [stdout] test film_grain_synthesis::tests::test_temporal_correlation_produces_coherent_frames ... ok [INFO] [stdout] test film_grain_synthesis::tests::test_reset_clears_temporal_state ... ok [INFO] [stdout] test film_grain_synthesis::tests::test_valid_params_accepted ... ok [INFO] [stdout] test film_grain_synthesis::tests::test_zero_dimensions_error ... ok [INFO] [stdout] test film_grain_synthesis::tests::test_set_params_invalid_rejected ... ok [INFO] [stdout] test film_grain_synthesis::tests::test_set_params_updates ... ok [INFO] [stdout] test bidirectional_motion::tests::test_non_square_frame ... ok [INFO] [stdout] test frame_blending::tests::test_blend_equal_single_frame_passthrough ... ok [INFO] [stdout] test film_grain_synthesis::tests::test_synthesize_buffer_too_small ... ok [INFO] [stdout] test film_grain_synthesis::tests::test_synthesize_deterministic ... ok [INFO] [stdout] test film_grain_synthesis::tests::test_zero_intensity_no_change ... ok [INFO] [stdout] test frame_blending::tests::test_blend_equal_average_two ... ok [INFO] [stdout] test frame_blending::tests::test_blend_equal_no_frames_error ... ok [INFO] [stdout] test frame_blending::tests::test_blend_gaussian_output_size ... ok [INFO] [stdout] test frame_blending::tests::test_blend_equal_two_identical_frames ... ok [INFO] [stdout] test frame_blending::tests::test_blend_weighted_zero_weight_sum ... ok [INFO] [stdout] test frame_blending::tests::test_blend_linear_weights_increase ... ok [INFO] [stdout] test frame_blending::tests::test_blend_weighted_weight_mismatch ... ok [INFO] [stdout] test frame_blending::tests::test_custom_mode_weights ... ok [INFO] [stdout] test frame_blending::tests::test_degenerate_dimensions_error ... ok [INFO] [stdout] test frame_blending::tests::test_frame_blender_empty_returns_none ... ok [INFO] [stdout] test frame_blending::tests::test_gaussian_weights_symmetric ... ok [INFO] [stdout] test frame_blending::tests::test_long_exposure_blend ... ok [INFO] [stdout] test frame_interpolation::tests::test_blend_alpha_zero_returns_a ... ok [INFO] [stdout] test frame_interpolation::tests::test_blend_alpha_half_midpoint ... ok [INFO] [stdout] test frame_blending::tests::test_frame_blender_push_and_blend ... ok [INFO] [stdout] test frame_interpolation::tests::test_blend_alpha_one_returns_b ... ok [INFO] [stdout] test frame_blending::tests::test_frame_blender_window_slides ... ok [INFO] [stdout] test frame_interpolation::tests::test_process_downconvert_fewer_frames ... ok [INFO] [stdout] test frame_interpolation::tests::test_process_timestamps_monotonic ... ok [INFO] [stdout] test frame_interpolation::tests::test_ratio_upconvert ... ok [INFO] [stdout] test frame_rate_convert::tests::test_24_to_30_repeat_drop ... ok [INFO] [stdout] test frame_rate_convert::tests::test_30_to_24_repeat_drop ... ok [INFO] [stdout] test frame_rate_convert::tests::test_50_to_60 ... ok [INFO] [stdout] test frame_rate_convert::tests::test_blend_interpolation ... ok [INFO] [stdout] test frame_rate_convert::tests::test_blend_pixel_bounds ... ok [INFO] [stdout] test frame_rate_convert::tests::test_buffer_mismatch ... ok [INFO] [stdout] test frame_rate_convert::tests::test_cadence_insufficient_frames ... ok [INFO] [stdout] test frame_rate_convert::tests::test_cadence_synthetic_pulldown ... ok [INFO] [stdout] test frame_interpolation::tests::test_ratio_downconvert ... ok [INFO] [stdout] test frame_rate_convert::tests::test_identity_conversion ... ok [INFO] [stdout] test frame_rate_convert::tests::test_invalid_dimensions ... ok [INFO] [stdout] test frame_rate_convert::tests::test_invalid_fps ... ok [INFO] [stdout] test frame_rate_convert::tests::test_pts_monotonic ... ok [INFO] [stdout] test grain::tests::advance_frame_different_pattern ... ok [INFO] [stdout] test grain::tests::black_pixels_clamped_to_zero ... ok [INFO] [stdout] test grain::tests::different_seeds_different_patterns ... ok [INFO] [stdout] test grain::tests::grain_applied_changes_frame ... ok [INFO] [stdout] test grain::tests::grain_is_deterministic ... ok [INFO] [stdout] test grain::tests::pixels_remain_in_valid_range ... ok [INFO] [stdout] test frame_interpolation::tests::test_new_sets_fields ... ok [INFO] [stdout] test frame_interpolation::tests::test_output_frame_count_downconvert ... ok [INFO] [stdout] test frame_interpolation::tests::test_output_frame_count_upconvert ... ok [INFO] [stdout] test frame_interpolation::tests::test_process_upconvert_more_frames ... ok [INFO] [stdout] test grain::tests::white_pixels_clamped_to_255 ... ok [INFO] [stdout] test grain::tests::zero_strength_no_change ... ok [INFO] [stdout] test hdr_meta::tests::bad_version_returns_none ... ok [INFO] [stdout] test hdr_meta::tests::hlg_transfer_parsed ... ok [INFO] [stdout] test grain::tests::too_short_frame_not_modified ... ok [INFO] [stdout] test hdr_meta::tests::pq_transfer_parsed ... ok [INFO] [stdout] test hdr_meta::tests::bad_magic_returns_none ... ok [INFO] [stdout] test hdr_meta::tests::exactly_24_bytes_parses ... ok [INFO] [stdout] test hdr_meta::tests::sdr_transfer_parsed ... ok [INFO] [stdout] test hdr_meta::tests::too_short_returns_none ... ok [INFO] [stdout] test hdr_meta::tests::unknown_transfer_returns_none ... ok [INFO] [stdout] test hdr_tonemapping::tests::test_detect_peak_luminance_mixed ... ok [INFO] [stdout] test hdr_tonemapping::tests::test_detect_peak_luminance_uniform ... ok [INFO] [stdout] test hdr_tonemapping::tests::test_exposure_adaptive_output_size ... ok [INFO] [stdout] test hdr_tonemapping::tests::test_gamma_round_trip ... ok [INFO] [stdout] test hdr_tonemapping::tests::test_hable_curve_monotonic ... ok [INFO] [stdout] test hdr_tonemapping::tests::test_inverse_config ... ok [INFO] [stdout] test hdr_tonemapping::tests::test_inverse_reinhard_round_trip ... ok [INFO] [stdout] test hdr_tonemapping::tests::test_inverse_tonemap_black ... ok [INFO] [stdout] test hdr_tonemapping::tests::test_inverse_tonemap_exponential ... ok [INFO] [stdout] test hdr_tonemapping::tests::test_inverse_tonemap_output_size ... ok [INFO] [stdout] test hdr_tonemapping::tests::test_inverse_tonemap_power_curve ... ok [INFO] [stdout] test hdr_tonemapping::tests::test_log_average_luminance ... ok [INFO] [stdout] test hdr_tonemapping::tests::test_log_average_luminance_empty ... ok [INFO] [stdout] test hdr_tonemapping::tests::test_luminance_histogram ... ok [INFO] [stdout] test hdr_tonemapping::tests::test_new_sets_config ... ok [INFO] [stdout] test hdr_tonemapping::tests::test_new_tone_map_methods_debug ... ok [INFO] [stdout] test hdr_tonemapping::tests::test_per_frame_config_clone ... ok [INFO] [stdout] test hdr_tonemapping::tests::test_reinhard_curve_properties ... ok [INFO] [stdout] test hdr_tonemapping::tests::test_reinhard_extended_curve_white_point ... ok [INFO] [stdout] test hdr_tonemapping::tests::test_tone_map_method_debug ... ok [INFO] [stdout] test hdr_tonemapping::tests::test_tonemap_aces_black_frame ... ok [INFO] [stdout] test hdr_tonemapping::tests::test_tonemap_aces_moderate_input ... ok [INFO] [stdout] test hdr_tonemapping::tests::test_tonemap_aces_output_size ... ok [INFO] [stdout] test hdr_tonemapping::tests::test_tonemap_alpha_preserved ... ok [INFO] [stdout] test hdr_tonemapping::tests::test_tonemap_hable_black_frame ... ok [INFO] [stdout] test hdr_tonemapping::tests::test_tonemap_hable_moderate_input ... ok [INFO] [stdout] test hdr_tonemapping::tests::test_tonemap_hable_output_size ... ok [INFO] [stdout] test hdr_tonemapping::tests::test_tonemap_output_u8_range ... ok [INFO] [stdout] test hdr_tonemapping::tests::test_tonemap_reinhard_black_frame ... ok [INFO] [stdout] test hdr_tonemapping::tests::test_aces_curve_properties ... ok [INFO] [stdout] test hdr_tonemapping::tests::test_tonemap_reinhard_bright_frame ... ok [INFO] [stdout] test hdr_tonemapping::tests::test_auto_exposure_clamped ... ok [INFO] [stdout] test hdr_tonemapping::tests::test_detect_peak_luminance_empty_returns_one ... ok [INFO] [stdout] test hdr_tonemapping::tests::test_tonemap_reinhard_extended_output_size ... ok [INFO] [stdout] test hdr_tonemapping::tests::test_tonemap_reinhard_extended_black ... ok [INFO] [stdout] test hdr_tonemapping::tests::test_tonemap_reinhard_extended_custom_wp ... ok [INFO] [stdout] test hdr_tonemapping::tests::test_tonemap_reinhard_output_size ... ok [INFO] [stdout] test interlace_detector::tests::test_classifier_progressive_verdict ... ok [INFO] [stdout] test interlace_detector::tests::test_combing_scores_in_range ... ok [INFO] [stdout] test interlace_detector::tests::test_fdm_identical_frames_near_zero ... ok [INFO] [stdout] test interlace_detector::tests::test_classifier_interlaced_verdict ... ok [INFO] [stdout] test interlace_detector::tests::test_flat_frame_not_interlaced ... ok [INFO] [stdout] test interlace_detector::tests::test_height_too_small_error ... ok [INFO] [stdout] test interlace_detector::tests::test_interlaced_pattern_high_score ... ok [INFO] [stdout] test frame_interpolation::tests::test_motion_based_identical_frames ... ok [INFO] [stdout] test interlace_detector::tests::test_progressive_frame_classified_correctly ... ok [INFO] [stdout] test interlace_detector::tests::test_zero_width_error ... ok [INFO] [stdout] test hdr_tonemapping::tests::test_tonemap_reinhard_local_nonzero ... ok [INFO] [stdout] test invariant_fingerprint::tests::test_cyclic_hamming_symmetric ... ok [INFO] [stdout] test hdr_tonemapping::tests::test_tonemap_reinhard_local_output_size ... ok [INFO] [stdout] test interlace_detector::tests::test_buffer_too_small_error ... ok [INFO] [stdout] test invariant_fingerprint::tests::test_box_downsample_size ... ok [INFO] [stdout] test invariant_fingerprint::tests::test_cyclic_hamming_zero_for_same ... ok [INFO] [stdout] test invariant_fingerprint::tests::test_data_length_mismatch ... ok [INFO] [stdout] test invariant_fingerprint::tests::test_frame_too_small ... ok [INFO] [stdout] test bidirectional_motion::tests::test_interpolate_identical_frames ... ok [INFO] [stdout] test invariant_fingerprint::tests::test_level_hash_hamming_zero ... ok [INFO] [stdout] test lens_correction::tests::test_barrel_not_identity ... ok [INFO] [stdout] test lens_correction::tests::test_barrel_classification ... ok [INFO] [stdout] test invariant_fingerprint::tests::test_identical_frames_match ... ok [INFO] [stdout] test lens_correction::tests::test_distort_origin_is_zero ... ok [INFO] [stdout] test lens_correction::tests::test_barrel_pushes_outward ... ok [INFO] [stdout] test invariant_fingerprint::tests::test_different_frames_nonzero_distance ... ok [INFO] [stdout] test lens_correction::tests::test_identity_is_identity ... ok [INFO] [stdout] test lens_correction::tests::test_identity_lens_preview ... ok [INFO] [stdout] test invariant_fingerprint::tests::test_same_frame_zero_distance ... ok [INFO] [stdout] test lens_correction::tests::test_preview_zero_dimensions ... ok [INFO] [stdout] test lens_correction::tests::test_invalid_crop_factor ... ok [INFO] [stdout] test lens_correction::tests::test_preview_zero_grid_step ... ok [INFO] [stdout] test lens_correction::tests::test_pincushion_classification ... ok [INFO] [stdout] test lens_correction::tests::test_equiv_focal_length ... ok [INFO] [stdout] test mctf::tests::test_clamp_coord_helper ... ok [INFO] [stdout] test lens_correction::tests::test_undistort_identity ... ok [INFO] [stdout] test invariant_fingerprint::tests::test_pyramid_level_sizes ... ok [INFO] [stdout] test deinterlace::tests::test_linear_bob_interpolation ... ok [INFO] [stdout] test deinterlace::tests::test_motion_adaptive_returns_one_frame ... ok [INFO] [stdout] test hdr_tonemapping::tests::test_exposure_adaptive_black ... ok [INFO] [stdout] test bidirectional_motion::tests::test_estimate_identical_frames_zero_mv ... ok [INFO] [stdout] test mctf::tests::test_no_references_returns_current ... ok [INFO] [stdout] test motion_compensation::tests::test_6tap_uniform ... ok [INFO] [stdout] test lens_correction::tests::test_undistort_barrel_roundtrip ... ok [INFO] [stdout] test motion_compensation::tests::test_bilinear_midpoint ... ok [INFO] [stdout] test invariant_fingerprint::tests::test_horizontal_flip_bounded_distance ... ok [INFO] [stdout] test invariant_fingerprint::tests::test_scale_invariance_proximity ... ok [INFO] [stdout] test motion_compensation::tests::test_compute_sad_identical ... ok [INFO] [stdout] test motion_compensation::tests::test_compute_sad_known_difference ... ok [INFO] [stdout] test motion_compensation::tests::test_compensate_frame_zero_motion ... ok [INFO] [stdout] test motion_compensation::tests::test_diamond_search_zero_motion_identical ... ok [INFO] [stdout] test mctf::tests::test_motion_boost_preserves_sharpness ... ok [INFO] [stdout] test motion_compensation::tests::test_bilinear_integer_position ... ok [INFO] [stdout] test motion_compensation::tests::test_full_search_zero_motion_identical ... ok [INFO] [stdout] test motion_compensation::tests::test_compensate_frame_subpel_zero_motion ... ok [INFO] [stdout] test motion_compensation::tests::test_estimate_frame_vector_count ... ok [INFO] [stdout] test motion_compensation::tests::test_full_search_nonzero_motion ... ok [INFO] [stdout] test adaptive_block_selection::tests::test_block_size_display ... ok [INFO] [stdout] test motion_compensation::tests::test_motion_vector_fields ... ok [INFO] [stdout] test motion_compensation::tests::test_reconstruct_from_residual_clamp ... ok [INFO] [stdout] test motion_compensation::tests::test_full_vs_three_step_identical_frames_same_sad ... ok [INFO] [stdout] test motion_compensation::tests::test_residual_frame_values ... ok [INFO] [stdout] test motion_compensation::tests::test_sad_16x16_simd_identical ... ok [INFO] [stdout] test motion_compensation::tests::test_hexagon_search_zero_motion_identical ... ok [INFO] [stdout] test motion_compensation::tests::test_roundtrip_residual_reconstruct ... ok [INFO] [stdout] test motion_compensation::tests::test_sad_16x16_simd_matches_scalar ... ok [INFO] [stdout] test motion_compensation::tests::test_sad_adaptive_all_zeros_vs_all_ones ... ok [INFO] [stdout] test motion_compensation::tests::test_sad_adaptive_asymmetric ... ok [INFO] [stdout] test motion_compensation::tests::test_sad_adaptive_identical_blocks ... ok [INFO] [stdout] test motion_compensation::tests::test_sad_adaptive_matches_scalar ... ok [INFO] [stdout] test motion_compensation::tests::test_sad_adaptive_max_difference ... ok [INFO] [stdout] test motion_compensation::tests::test_quarterpel_sad_le_halfpel ... ok [INFO] [stdout] test motion_compensation::tests::test_subpel_none_returns_integer ... ok [INFO] [stdout] test motion_compensation::tests::test_subpel_halfpel_identical_frames ... ok [INFO] [stdout] test motion_compensation::tests::test_sad_adaptive_4x4_known_difference ... ok [INFO] [stdout] test motion_compensation::tests::test_sad_adaptive_non_square ... ok [INFO] [stdout] test motion_compensation::tests::test_reconstruct_from_residual_values ... ok [INFO] [stdout] test motion_compensation::tests::test_three_step_zero_motion_identical ... ok [INFO] [stdout] test motion_search::tests::test_block_sad_identical_zero ... ok [INFO] [stdout] test motion_search::tests::test_block_sad_opposite_max ... ok [INFO] [stdout] test motion_search::tests::test_default_config ... ok [INFO] [stdout] test motion_compensation::tests::test_subpel_quarterpel_identical_frames ... ok [INFO] [stdout] test mctf::tests::test_diagnostics_block_count ... ok [INFO] [stdout] test motion_compensation::tests::test_subpel_sad_le_integer ... ok [INFO] [stdout] test motion_search::tests::test_diamond_search_known_shift ... ok [INFO] [stdout] test motion_search::tests::test_diamond_search_zero_motion ... ok [INFO] [stdout] test lens_correction::tests::test_pincushion_pulls_inward ... ok [INFO] [stdout] test motion_search::tests::test_search_range_respected ... ok [INFO] [stdout] test motion_search::tests::test_small_diamond_refinement ... ok [INFO] [stdout] test noise_profile::tests::test_buffer_too_small_error ... ok [INFO] [stdout] test noise_profile::tests::test_block_count_correct ... ok [INFO] [stdout] test noise_profile::tests::test_checker_high_freq_ratio ... ok [INFO] [stdout] test noise_profile::tests::test_dimensions_too_small_error ... ok [INFO] [stdout] test noise_profile::tests::test_flat_frame_low_freq_dominates ... ok [INFO] [stdout] test noise_profile::tests::test_flat_frame_snr_infinity ... ok [INFO] [stdout] test noise_profile::tests::test_flat_frame_sigma_near_zero ... ok [INFO] [stdout] test noise_profile::tests::test_interleaved_rgb_channel_count ... ok [INFO] [stdout] test noise_profile::tests::test_mean_sigma_nonneg ... ok [INFO] [stdout] test noise_profile::tests::test_min_snr_db_flat ... ok [INFO] [stdout] test noise_profile::tests::test_profile_planes_multiple ... ok [INFO] [stdout] test parallel_motion_search::tests::test_hadamard4x4_dc_only ... ok [INFO] [stdout] test parallel_motion_search::tests::test_hadamard4x4_zero_block ... ok [INFO] [stdout] test parallel_motion_search::tests::test_num_blocks_basic ... ok [INFO] [stdout] test parallel_motion_search::tests::test_num_blocks_partial_excluded ... ok [INFO] [stdout] test motion_search::tests::test_search_frame_produces_vectors ... ok [INFO] [stdout] test motion_search::tests::test_hexagonal_search_zero_motion ... ok [INFO] [stdout] test parallel_motion_search::tests::test_sad_known_cost ... ok [INFO] [stdout] test parallel_motion_search::tests::test_satd_vs_sad_on_4x4_block ... ok [INFO] [stdout] test motion_compensation::tests::test_estimate_frame_subpel_count ... ok [INFO] [stdout] test parallel_motion_search::tests::test_satd_identical_frames_zero_cost ... ok [INFO] [stdout] test parallel_motion_search::tests::test_search_frame_known_translation ... ok [INFO] [stdout] test parallel_motion_search::tests::test_sad_identical_frames_zero_cost ... ok [INFO] [stdout] test parallel_motion_search::tests::test_search_frame_raster_order ... ok [INFO] [stdout] test motion_search::tests::test_full_search_optimal ... ok [INFO] [stdout] test parallel_motion_search::tests::test_search_frame_count ... ok [INFO] [stdout] test parallel_motion_search::tests::test_ssd_known_cost ... ok [INFO] [stdout] test noise_profile::tests::test_checker_frame_sigma_nonzero ... ok [INFO] [stdout] test parallel_motion_search::tests::test_ssd_identical_frames_zero_cost ... ok [INFO] [stdout] test pulldown_detect::tests::test_combing_score_short_frame_zero ... ok [INFO] [stdout] test pulldown_detect::tests::test_detect_cadence_all_high_interlaced ... ok [INFO] [stdout] test pulldown_detect::tests::test_detect_cadence_all_low_progressive ... ok [INFO] [stdout] test pulldown_detect::tests::test_detect_cadence_irregular_unknown ... ok [INFO] [stdout] test mctf::tests::test_max_ref_frames_cap ... ok [INFO] [stdout] test pulldown_detect::tests::test_combing_score_flat_frame_zero ... ok [INFO] [stdout] test pulldown_detect::tests::test_combing_score_range ... ok [INFO] [stdout] test pulldown_detect::tests::test_detect_cadence_pulldown32_pattern ... ok [INFO] [stdout] test pulldown_detect::tests::test_detect_cadence_pulldown23_pattern ... ok [INFO] [stdout] test mctf::tests::test_identical_solid_frames_unchanged ... ok [INFO] [stdout] test pulldown_detect::tests::test_field_metrics_fields ... ok [INFO] [stdout] test pulldown_detect::tests::test_field_pair_interleave_dimensions ... ok [INFO] [stdout] test pulldown_detect::tests::test_detect_cadence_too_few_frames ... ok [INFO] [stdout] test pulldown_detect::tests::test_remove_pulldown_output_dimensions ... ok [INFO] [stdout] test pulldown_detect::tests::test_cadence_detector_progressive ... ok [INFO] [stdout] test pulldown_detect::tests::test_remove_pulldown_progressive_frame_count ... ok [INFO] [stdout] test pulldown_detect::tests::test_remove_pulldown_unknown_all_through ... ok [INFO] [stdout] test pulldown_detect::tests::test_remove_pulldown_progressive_data_unchanged ... ok [INFO] [stdout] test pulldown_detect::tests::test_combing_score_combed_frame_nonzero ... ok [INFO] [stdout] test pulldown_detect::tests::test_detect_cadence_pulldown2332_pattern ... ok [INFO] [stdout] test quality_metrics::tests::test_gradient_corr_different_lower ... ok [INFO] [stdout] test quality_metrics::tests::test_gradient_corr_flat_flat ... ok [INFO] [stdout] test pulldown_detect::tests::test_split_top_field_even_rows ... ok [INFO] [stdout] test quality_metrics::tests::test_gradient_corr_range ... ok [INFO] [stdout] test quality_metrics::tests::test_compute_all_identical ... ok [INFO] [stdout] test pulldown_detect::tests::test_cadence_detector_history_bounded ... ok [INFO] [stdout] test quality_metrics::tests::test_compute_all_mse_nonnegative ... ok [INFO] [stdout] test quality_metrics::tests::test_mae_identical_zero ... ok [INFO] [stdout] test quality_metrics::tests::test_mae_opposite_frames ... ok [INFO] [stdout] test quality_metrics::tests::test_mse_opposite_frames ... ok [INFO] [stdout] test quality_metrics::tests::test_psnr_buffer_mismatch_error ... ok [INFO] [stdout] test quality_metrics::tests::test_mse_buffer_mismatch_error ... ok [INFO] [stdout] test quality_metrics::tests::test_mse_identical_zero ... ok [INFO] [stdout] test mctf::tests::test_noisy_frame_is_smoothed ... ok [INFO] [stdout] test quality_metrics::tests::test_psnr_opposite_frames_low ... ok [INFO] [stdout] test quality_metrics::tests::test_quality_gate_fail_psnr ... ok [INFO] [stdout] test quality_metrics::tests::test_quality_gate_fail_ssim ... ok [INFO] [stdout] test quality_metrics::tests::test_quality_gate_pass ... ok [INFO] [stdout] test quality_metrics::tests::test_quality_report_fields ... ok [INFO] [stdout] test quality_metrics::tests::test_ssim_different_frames_low ... ok [INFO] [stdout] test quality_metrics::tests::test_ssim_frame_too_small_error ... ok [INFO] [stdout] test quality_metrics::tests::test_ssim_identical_one ... ok [INFO] [stdout] test quality_metrics::tests::test_ssim_range ... ok [INFO] [stdout] test quality_metrics::tests::test_ssim_sensitive_to_structure ... ok [INFO] [stdout] test mctf::tests::test_high_motion_rate_range ... ok [INFO] [stdout] test quality_metrics::tests::test_psnr_identical_frames_infinity ... ok [INFO] [stdout] test quality_score::tests::noisy_frame_lower_quality ... ok [INFO] [stdout] test quality_score::tests::output_always_clamped_to_unit_range ... ok [INFO] [stdout] test quality_score::tests::too_small_frame_returns_zero ... ok [INFO] [stdout] test quality_score::tests::uniform_frame_low_lap_high_quality ... ok [INFO] [stdout] test quality_score::tests::wrong_size_returns_zero ... ok [INFO] [stdout] test scene_detection::tests::test_adaptive_complexity_detects_large_change ... ok [INFO] [stdout] test scene_detection::tests::test_adaptive_complexity_higher_threshold_for_complex_content ... ok [INFO] [stdout] test scene_detection::tests::test_adaptive_complexity_differs_from_adaptive ... ok [INFO] [stdout] test scene_detection::tests::test_adaptive_complexity_history_volatility_reduces_sensitivity ... ok [INFO] [stdout] test pulldown_detect::tests::test_cadence_variants_distinct ... ok [INFO] [stdout] test scene_detection::tests::test_adaptive_complexity_variant_distinct ... ok [INFO] [stdout] test scene_detection::tests::test_detect_change_fade_classification ... ok [INFO] [stdout] test scene_detection::tests::test_detect_change_identical_features_no_change ... ok [INFO] [stdout] test scene_detection::tests::test_detect_change_large_difference_cut ... ok [INFO] [stdout] test scene_detection::tests::test_detect_change_moderate_difference_dissolve ... ok [INFO] [stdout] test scene_detection::tests::test_detect_gradual_decreasing_luma ... ok [INFO] [stdout] test scene_detection::tests::test_detect_gradual_increasing_luma ... ok [INFO] [stdout] test scene_detection::tests::test_detect_gradual_non_monotonic_false ... ok [INFO] [stdout] test scene_detection::tests::test_detect_gradual_stable_luma_false ... ok [INFO] [stdout] test scene_detection::tests::test_extract_features_flat_zero_edges ... ok [INFO] [stdout] test scene_detection::tests::test_extract_features_frame_number ... ok [INFO] [stdout] test scene_detection::tests::test_extract_features_histogram_sums_to_one ... ok [INFO] [stdout] test scene_detection::tests::test_extract_features_max_luma ... ok [INFO] [stdout] test scene_detection::tests::test_extract_features_neutral_chroma ... ok [INFO] [stdout] test scene_detection::tests::test_extract_features_ramp_has_edges ... ok [INFO] [stdout] test scene_detection::tests::test_extract_features_zero_luma ... ok [INFO] [stdout] test scene_detection::tests::test_detect_gradual_insufficient_history_false ... ok [INFO] [stdout] test scene_detection::tests::test_adaptive_complexity_no_change_identical ... ok [INFO] [stdout] test scene_detection::tests::test_histogram_entropy_uniform ... ok [INFO] [stdout] test scene_detection::tests::test_histogram_spread_single_bin ... ok [INFO] [stdout] test scene_detection::tests::test_histogram_spread_uniform ... ok [INFO] [stdout] test scene_detection::tests::test_scene_change_detector_detects_cut ... ok [INFO] [stdout] test scene_detection::tests::test_scene_change_detector_history_bounded ... ok [INFO] [stdout] test scene_detection::tests::test_scene_change_detector_no_change_on_identical_frames ... ok [INFO] [stdout] test scene_detection::tests::test_scene_change_fields ... ok [INFO] [stdout] test scene_detection::tests::test_scene_change_type_variants ... ok [INFO] [stdout] test scene_detection::tests::test_scene_detection_method_variants ... ok [INFO] [stdout] test scene_detection::tests::test_scene_index_multiple_cuts_ordered ... ok [INFO] [stdout] test scene_detection::tests::test_scene_index_no_changes ... ok [INFO] [stdout] test shot_boundary::tests::test_default_config ... ok [INFO] [stdout] test shot_boundary::tests::test_detector_confidence_range ... ok [INFO] [stdout] test shot_boundary::tests::test_detector_fade_to_black ... ok [INFO] [stdout] test quality_score::tests::uniform_frame_score_in_range ... ok [INFO] [stdout] test scene_detection::tests::test_adaptive_complexity_lower_threshold_for_simple_content ... ok [INFO] [stdout] test shot_boundary::tests::test_detector_hard_cut ... ok [INFO] [stdout] test shot_boundary::tests::test_detector_min_gap ... ok [INFO] [stdout] test shot_boundary::tests::test_detector_no_boundaries_static ... ok [INFO] [stdout] test shot_boundary_classifier::tests::test_all_low_diff_none ... ok [INFO] [stdout] test shot_boundary_classifier::tests::test_dissolve_duration_nonzero ... ok [INFO] [stdout] test shot_boundary_classifier::tests::test_dissolve_gradual_diff ... ok [INFO] [stdout] test shot_boundary_classifier::tests::test_empty_frames_returns_none ... ok [INFO] [stdout] test shot_boundary_classifier::tests::test_fade_from_black ... ok [INFO] [stdout] test shot_boundary::tests::test_detector_finalize ... ok [INFO] [stdout] test scene_detection::tests::test_scene_index_single_cut ... ok [INFO] [stdout] test scene_detection::tests::test_histogram_entropy_single_bin ... ok [INFO] [stdout] test quality_metrics::tests::test_psnr_high_quality_above_40db ... ok [INFO] [stdout] test quality_metrics::tests::test_psnr_monotone_with_distortion ... ok [INFO] [stdout] test shot_boundary_classifier::tests::test_fade_from_white ... ok [INFO] [stdout] test pulldown_detect::tests::test_field_pair_interleave_roundtrip ... ok [INFO] [stdout] test pulldown_detect::tests::test_remove_pulldown_23_output_count ... ok [INFO] [stdout] test quality_metrics::tests::test_gradient_corr_identical ... ok [INFO] [stdout] test pulldown_detect::tests::test_cadence_detector_too_few_unknown ... ok [INFO] [stdout] test shot_boundary_classifier::tests::test_pixel_diff_uniform ... ok [INFO] [stdout] test shot_boundary_classifier::tests::test_wipe_left ... ok [INFO] [stdout] test simd_ops::tests::test_best_sad_candidate_identity_wins ... ok [INFO] [stdout] test simd_ops::tests::test_block_variance_flat_zero ... ok [INFO] [stdout] test simd_ops::tests::test_block_variance_two_values ... ok [INFO] [stdout] test simd_ops::tests::test_hadamard_satd_constant_residual ... ok [INFO] [stdout] test simd_ops::tests::test_hadamard_satd_zero_residual ... ok [INFO] [stdout] test simd_ops::tests::test_sad_constant_difference ... ok [INFO] [stdout] test simd_ops::tests::test_sad_for_mv_out_of_bounds ... ok [INFO] [stdout] test simd_ops::tests::test_sad_for_mv_zero_displacement ... ok [INFO] [stdout] test simd_ops::tests::test_sad_identical_blocks_zero ... ok [INFO] [stdout] test simd_ops::tests::test_sad_non_standard_block_size ... ok [INFO] [stdout] test simd_ops::tests::test_sad_offset_different_positions ... ok [INFO] [stdout] test simd_ops::tests::test_sad_symmetry ... ok [INFO] [stdout] test simd_ops::tests::test_ssd_constant_difference ... ok [INFO] [stdout] test simd_ops::tests::test_ssd_ge_sad_nonzero ... ok [INFO] [stdout] test shot_boundary_classifier::tests::test_wipe_right ... ok [INFO] [stdout] test simd_ops::tests::test_ssd_identical_blocks_zero ... ok [INFO] [stdout] test simd_ops::tests::test_ssd_ge_sad_squared_over_n ... ok [INFO] [stdout] test shot_boundary::tests::test_detector_reset ... ok [INFO] [stdout] test shot_boundary_classifier::tests::test_no_transition_single_frame ... ok [INFO] [stdout] test simd_ops::tests::test_best_sad_candidate_empty_candidates ... ok [INFO] [stdout] test simd_ops::tests::test_block_satd_identical_zero ... ok [INFO] [stdout] test slow_motion::tests::test_blend_t_half_midpoint ... ok [INFO] [stdout] test slow_motion::tests::test_accumulated_source_time_constant ... ok [INFO] [stdout] test slow_motion::tests::test_blend_t_one_returns_b ... ok [INFO] [stdout] test slow_motion::tests::test_blend_output_size ... ok [INFO] [stdout] test slow_motion::tests::test_blend_t_zero_returns_a ... ok [INFO] [stdout] test slow_motion::tests::test_blend_uniform_white_to_black_half ... ok [INFO] [stdout] test slow_motion::tests::test_interpolate_clamps_to_u8 ... ok [INFO] [stdout] test slow_motion::tests::test_blend_all_channels_blended ... ok [INFO] [stdout] test slow_motion::tests::test_interpolation_method_debug ... ok [INFO] [stdout] test shot_boundary_classifier::tests::test_fade_to_white ... ok [INFO] [stdout] test shot_boundary_classifier::tests::test_fade_to_black ... ok [INFO] [stdout] test shot_boundary_classifier::tests::test_hard_cut_in_sequence ... ok [INFO] [stdout] test shot_boundary_classifier::tests::test_hard_cut_single_frame ... ok [INFO] [stdout] test slow_motion::tests::test_flow_based_output_size ... ok [INFO] [stdout] test slow_motion::tests::test_slowdown_factor ... ok [INFO] [stdout] test slow_motion::tests::test_slow_motion_config_clone ... ok [INFO] [stdout] test slow_motion::tests::test_slowdown_factor_half ... ok [INFO] [stdout] test pulldown_detect::tests::test_split_bottom_field_odd_rows ... ok [INFO] [stdout] test slow_motion::tests::test_speed_ramp_cubic_bezier_linear ... ok [INFO] [stdout] test slow_motion::tests::test_flow_based_identical_frames ... ok [INFO] [stdout] test slow_motion::tests::test_speed_ramp_ease_in_out ... ok [INFO] [stdout] test slow_motion::tests::test_speed_ramp_ease_out ... ok [INFO] [stdout] test slow_motion::tests::test_speed_ramp_ease_in ... ok [INFO] [stdout] test slow_motion::tests::test_speed_ramp_interpolator_empty ... ok [INFO] [stdout] test slow_motion::tests::test_speed_ramp_ease_complementary ... ok [INFO] [stdout] test slow_motion::tests::test_motion_compensated_identical_frames ... ok [INFO] [stdout] test slow_motion::tests::test_speed_ramp_interpolator_constant ... ok [INFO] [stdout] test slow_motion::tests::test_speed_ramp_interpolator_linear_ramp ... ok [INFO] [stdout] test slow_motion::tests::test_optical_flow_identical_frames ... ok [INFO] [stdout] test slow_motion::tests::test_optical_flow_interp_output_size ... ok [INFO] [stdout] test slow_motion::tests::test_motion_compensated_output_size ... ok [INFO] [stdout] test slow_motion::tests::test_speed_ramp_cubic_bezier_boundaries ... ok [INFO] [stdout] test slow_motion::tests::test_speed_ramp_interpolator_extrapolation ... ok [INFO] [stdout] test slow_motion::tests::test_speed_ramp_linear ... ok [INFO] [stdout] test stabilization::tests::test_add_frame_transform_increments_count ... ok [INFO] [stdout] test stabilization::tests::test_affine_transform_clone ... ok [INFO] [stdout] test stabilization::tests::test_apply_transform_all_opaque_after_shift ... ok [INFO] [stdout] test stabilization::tests::test_apply_transform_identity ... ok [INFO] [stdout] test stabilization::tests::test_bilinear_transform_identity ... ok [INFO] [stdout] test slow_motion::tests::test_speed_ramp_monotonic ... ok [INFO] [stdout] test slow_motion::tests::test_adaptive_blend_output_size ... ok [INFO] [stdout] test stabilization::tests::test_affine_inverse_round_trip ... ok [INFO] [stdout] test stabilization::tests::test_affine_compose_identity ... ok [INFO] [stdout] test stabilization::tests::test_apply_crop_scale_size ... ok [INFO] [stdout] test stabilization::tests::test_apply_transform_translation ... ok [INFO] [stdout] test stabilization::tests::test_compute_correction_zero ... ok [INFO] [stdout] test stabilization::tests::test_compute_correction_translation ... ok [INFO] [stdout] test stabilization::tests::test_bilinear_transform_output_size ... ok [INFO] [stdout] test stabilization::tests::test_config_default_values ... ok [INFO] [stdout] test stabilization::tests::test_crop_scale_rect_bounds ... ok [INFO] [stdout] test stabilization::tests::test_full_state_kalman_converges ... ok [INFO] [stdout] test stabilization::tests::test_full_state_kalman_reduces_noise ... ok [INFO] [stdout] test stabilization::tests::test_get_smoothed_returns_stabilization_frames ... ok [INFO] [stdout] test stabilization::tests::test_get_smoothed_transforms_count_matches ... ok [INFO] [stdout] test stabilization::tests::test_get_smoothed_transforms_constant_dx ... ok [INFO] [stdout] test stabilization::tests::test_apply_crop_scale_identity ... ok [INFO] [stdout] test stabilization::tests::test_apply_transform_output_size ... ok [INFO] [stdout] test stabilization::tests::test_get_smoothed_transforms_zero_motion ... ok [INFO] [stdout] test stabilization::tests::test_kalman_convergence ... ok [INFO] [stdout] test stabilization::tests::test_kalman_smoothing_reduces_noise ... ok [INFO] [stdout] test stabilization::tests::test_new_creates_empty_stabilizer ... ok [INFO] [stdout] test stabilization::tests::test_quality_metric_max_correction ... ok [INFO] [stdout] test stabilization::tests::test_kalman_state2_predict_update ... ok [INFO] [stdout] test stabilization::tests::test_quality_metric_stabilized ... ok [INFO] [stdout] test stabilization::tests::test_rolling_shutter_correction_zero_skew ... ok [INFO] [stdout] test stabilization::tests::test_rolling_shutter_correction_size ... ok [INFO] [stdout] test stabilization::tests::test_rolling_shutter_horizontal_motion ... ok [INFO] [stdout] test stabilization::tests::test_rolling_shutter_no_motion ... ok [INFO] [stdout] test stabilization::tests::test_rolling_shutter_readout_clamp ... ok [INFO] [stdout] test mctf::tests::test_filter_output_size ... ok [INFO] [stdout] test subpixel_motion_vector::tests::test_compute_block_sad_identical ... ok [INFO] [stdout] test subpixel_motion_vector::tests::test_magnitude_unit_vector ... ok [INFO] [stdout] test subpixel_motion_vector::tests::test_refine_half_pixel_flat_identical ... ok [INFO] [stdout] test subpixel_motion_vector::tests::test_subpixel_mv_is_zero_true ... ok [INFO] [stdout] test subpixel_motion_vector::tests::test_subpixel_mv_magnitude ... ok [INFO] [stdout] test subpixel_motion_vector::tests::test_subpixel_mv_zero ... ok [INFO] [stdout] test subpixel_refiner::tests::test_bicubic_sample_exact_pixel ... ok [INFO] [stdout] test subpixel_refiner::tests::test_bicubic_sample_solid_frame ... ok [INFO] [stdout] test slow_motion::tests::test_adaptive_blend_identical ... ok [INFO] [stdout] test subpixel_motion_vector::tests::test_compute_block_sad_different ... ok [INFO] [stdout] test stabilization::tests::test_stabilization_frame_debug ... ok [INFO] [stdout] test subpixel_refiner::tests::test_bilinear_sample_mid_point ... ok [INFO] [stdout] test subpixel_refiner::tests::test_half_pel_sad_non_zero_displacement ... ok [INFO] [stdout] test subpixel_refiner::tests::test_bilinear_sample_exact_pixel ... ok [INFO] [stdout] test subpixel_refiner::tests::test_bilinear_sample_interpolation ... ok [INFO] [stdout] test subpixel_refiner::tests::test_bilinear_sample_clamping ... ok [INFO] [stdout] test subpixel_refiner::tests::test_refine_block_at_frame_boundary ... ok [INFO] [stdout] test subpixel_refiner::tests::test_refine_half_pel_identical_frames_zero_mv ... ok [INFO] [stdout] test subpixel_refiner::tests::test_half_pel_sad_zero_displacement_identical_frames ... ok [INFO] [stdout] test subpixel_refiner::tests::test_refine_block_at_right_bottom_boundary ... ok [INFO] [stdout] test subpixel_refiner::tests::test_refine_half_pel_is_better_or_equal_to_integer ... ok [INFO] [stdout] test stabilization::tests::test_quality_metric_identical ... ok [INFO] [stdout] test subpixel_motion_vector::tests::test_subpixel_mv_is_zero_false ... ok [INFO] [stdout] test subpixel_refiner::tests::test_refine_half_pel_returns_fractional_mv ... ok [INFO] [stdout] test subpixel_refiner::tests::test_refine_half_pel_solid_frame ... ok [INFO] [stdout] test subpixel_refiner::tests::test_refiner_debug_clone ... ok [INFO] [stdout] test subpixel_refiner::tests::test_subpixel_mode_equality ... ok [INFO] [stdout] test subpixel_refiner::tests::test_refine_quarter_pel_identical_frames ... ok [INFO] [stdout] test super_resolution::tests::test_chroma_planes_upscaled ... ok [INFO] [stdout] test subpixel_refiner::tests::test_refine_quarter_pel_leq_half_pel_sad ... ok [INFO] [stdout] test subpixel_refiner::tests::test_refine_quarter_pel_returns_fractional_mv ... ok [INFO] [stdout] test super_resolution::tests::test_buffer_too_small_error ... ok [INFO] [stdout] test super_resolution::tests::test_gaussian_blur_flat_image ... ok [INFO] [stdout] test super_resolution::tests::test_gaussian_kernel_sums_to_one ... ok [INFO] [stdout] test super_resolution::tests::test_gaussian_kernel_symmetric ... ok [INFO] [stdout] test super_resolution::tests::test_invalid_scale_factor ... ok [INFO] [stdout] test super_resolution::tests::test_lanczos_kernel_at_zero ... ok [INFO] [stdout] test super_resolution::tests::test_lanczos_kernel_zero_at_boundary ... ok [INFO] [stdout] test super_resolution::tests::test_flat_frame_preserves_value_bicubic ... ok [INFO] [stdout] test super_resolution::tests::test_mitchell_netravali_at_zero ... ok [INFO] [stdout] test super_resolution::tests::test_mitchell_netravali_symmetry ... ok [INFO] [stdout] test super_resolution::tests::test_mitchell_netravali_zero_beyond_2 ... ok [INFO] [stdout] test super_resolution::tests::test_scale_factor_too_large ... ok [INFO] [stdout] test super_resolution::tests::test_edge_directed_upscale ... ok [INFO] [stdout] test super_resolution::tests::test_nearest_neighbor_2x ... ok [INFO] [stdout] test stabilization::tests::test_crop_scale_empty_corrections ... ok [INFO] [stdout] test stabilization::tests::test_crop_scale_nontrivial ... ok [INFO] [stdout] test super_resolution::tests::test_sr_engine_buffer_mismatch_error ... ok [INFO] [stdout] test super_resolution::tests::test_sr_engine_default_config ... ok [INFO] [stdout] test super_resolution::tests::test_flat_frame_preserves_value_lanczos ... ok [INFO] [stdout] test super_resolution::tests::test_sr_engine_flat_bicubic_preserves_value ... ok [INFO] [stdout] test super_resolution::tests::test_gradient_monotonicity_bicubic ... ok [INFO] [stdout] test super_resolution::tests::test_sr_config_clone ... ok [INFO] [stdout] test super_resolution::tests::test_sr_engine_config_accessor ... ok [INFO] [stdout] test super_resolution::tests::test_all_methods_produce_output ... ok [INFO] [stdout] test slow_motion::tests::test_new_sets_config ... ok [INFO] [stdout] test stabilization::tests::test_quality_metric_empty ... ok [INFO] [stdout] test super_resolution::tests::test_sr_engine_new_valid ... ok [INFO] [stdout] test super_resolution::tests::test_sharpening_threshold_suppresses_noise ... ok [INFO] [stdout] test super_resolution::tests::test_sr_engine_gradient_preserved ... ok [INFO] [stdout] test super_resolution::tests::test_sr_engine_flat_nedi_preserves_value ... ok [INFO] [stdout] test super_resolution::tests::test_sharpening_increases_contrast ... ok [INFO] [stdout] test super_resolution::tests::test_sr_engine_output_dimensions_lanczos ... ok [INFO] [stdout] test super_resolution::tests::test_sr_engine_scale_16_valid ... ok [INFO] [stdout] test super_resolution::tests::test_sr_engine_scale_17_error ... ok [INFO] [stdout] test super_resolution::tests::test_sr_engine_zero_height_error ... ok [INFO] [stdout] test super_resolution::tests::test_sr_engine_zero_width_error ... ok [INFO] [stdout] test super_resolution::tests::test_sr_engine_output_dimensions_bicubic ... ok [INFO] [stdout] test slow_motion::tests::test_motion_compensated_t_zero ... ok [INFO] [stdout] test super_resolution::tests::test_sr_engine_output_dimensions_nedi ... ok [INFO] [stdout] test super_resolution::tests::test_to_yuv420_concatenation ... ok [INFO] [stdout] test super_resolution::tests::test_sr_engine_flat_lanczos_preserves_value ... ok [INFO] [stdout] test super_resolution::tests::test_upscale_method_eq ... ok [INFO] [stdout] test super_resolution::tests::test_upscale_3x_dimensions ... ok [INFO] [stdout] test super_resolution::tests::test_sr_engine_zero_scale_error ... ok [INFO] [stdout] test super_resolution::tests::test_sr_mode_equality ... ok [INFO] [stdout] test super_resolution::tests::test_zero_height_error ... ok [INFO] [stdout] test super_resolution::tests::test_upscale_target_dimensions ... ok [INFO] [stdout] test super_resolution::tests::test_upscale_2x_dimensions ... ok [INFO] [stdout] test super_resolution::tests::test_upscale_target_width_only ... ok [INFO] [stdout] test super_resolution::tests::test_zero_width_error ... ok [INFO] [stdout] test super_resolution::tests::test_sr_upscale_convenience_fn ... ok [INFO] [stdout] test superimpose::tests::test_multiply_white_bg ... ok [INFO] [stdout] test superimpose::tests::test_opacity_zero_invisible ... ok [INFO] [stdout] test superimpose::tests::test_opaque_overlay_replaces_bg ... ok [INFO] [stdout] test superimpose::tests::test_rgba_alpha_compositing ... ok [INFO] [stdout] test superimpose::tests::test_scale_half ... ok [INFO] [stdout] test superimpose::tests::test_overlay_offset ... ok [INFO] [stdout] test superimpose::tests::test_zero_bg_dimensions ... ok [INFO] [stdout] test superimpose::tests::test_invalid_scale_error ... ok [INFO] [stdout] test temporal_denoise::tests::test_adaptive_blend_factor_half_motion ... ok [INFO] [stdout] test temporal_denoise::tests::test_adaptive_blend_factor_zero_motion ... ok [INFO] [stdout] test temporal_denoise::tests::test_blend_frames_empty_input_zero ... ok [INFO] [stdout] test temporal_denoise::tests::test_adaptive_blend_factor_monotone ... ok [INFO] [stdout] test temporal_denoise::tests::test_denoise_adaptive_no_prev_returns_current ... ok [INFO] [stdout] test temporal_denoise::tests::test_blend_frames_equal_weights_same_frame ... ok [INFO] [stdout] test temporal_denoise::tests::test_denoise_adaptive_still_scene_smoothed ... ok [INFO] [stdout] test temporal_denoise::tests::test_denoise_fixed_no_neighbours_returns_current ... ok [INFO] [stdout] test temporal_denoise::tests::test_blend_frames_three_asymmetric_weights ... ok [INFO] [stdout] test temporal_denoise::tests::test_blend_frames_half_half ... ok [INFO] [stdout] test superimpose::tests::test_add_blend ... ok [INFO] [stdout] test superimpose::tests::test_buffer_mismatch ... ok [INFO] [stdout] test superimpose::tests::test_overlay_partially_offscreen ... ok [INFO] [stdout] test temporal_denoise::tests::test_blend_frames_single_frame_unchanged ... ok [INFO] [stdout] test superimpose::tests::test_screen_black_bg ... ok [INFO] [stdout] test superimpose::tests::test_transparent_overlay_no_change ... ok [INFO] [stdout] test temporal_denoise::tests::test_denoise_fixed_two_frames_average ... ok [INFO] [stdout] test temporal_denoise::tests::test_denoise_frame_parallel_identical ... ok [INFO] [stdout] test temporal_denoise::tests::test_denoise_motion_compensated_moving_keeps_current ... ok [INFO] [stdout] test temporal_denoise::tests::test_denoise_motion_compensated_static_averaged ... ok [INFO] [stdout] test temporal_denoise::tests::test_motion_score_identical_zero ... ok [INFO] [stdout] test temporal_denoise::tests::test_adaptive_blend_factor_full_motion ... ok [INFO] [stdout] test temporal_denoise::tests::test_noise_metrics_temporal_variance_nonnegative ... ok [INFO] [stdout] test temporal_denoise::tests::test_noise_sigma_flat_frame_near_zero ... ok [INFO] [stdout] test temporal_denoise::tests::test_denoise_frame_parallel_moving_region_keeps_current ... ok [INFO] [stdout] test temporal_denoise::tests::test_denoise_frame_parallel_updates_history ... ok [INFO] [stdout] test temporal_denoise::tests::test_denoise_frame_parallel_static_region_averaged ... ok [INFO] [stdout] test temporal_denoise::tests::test_denoise_frame_parallel_matches_serial ... ok [INFO] [stdout] test temporal_denoise::tests::test_motion_score_opposite_close_to_one ... ok [INFO] [stdout] test temporal_denoise::tests::test_motion_score_range ... ok [INFO] [stdout] test temporal_denoise::tests::test_noise_sigma_noisy_frame_nonzero ... ok [INFO] [stdout] test temporal_denoise::tests::test_temporal_denoiser_history_bounded ... ok [INFO] [stdout] test video_crop::tests::test_content_aware_too_large ... ok [INFO] [stdout] test video_crop::tests::test_buffer_mismatch ... ok [INFO] [stdout] test video_crop::tests::test_crop_rect_values ... ok [INFO] [stdout] test video_crop::tests::test_crop_rect_dimensions ... ok [INFO] [stdout] test video_crop::tests::test_safe_area_100_percent ... ok [INFO] [stdout] test video_crop::tests::test_content_aware_uniform ... ok [INFO] [stdout] test video_crop::tests::test_zero_crop_dims ... ok [INFO] [stdout] test video_crop::tests::test_safe_area_invalid_pct ... ok [INFO] [stdout] test temporal_denoise::tests::test_temporal_denoiser_history_grows ... ok [INFO] [stdout] test video_fingerprint::tests::test_avg_hash_identical_frames ... ok [INFO] [stdout] test video_crop::tests::test_safe_area_crop_buffer_size ... ok [INFO] [stdout] test temporal_denoise::tests::test_noise_sigma_too_small_frame_zero ... ok [INFO] [stdout] test video_crop::tests::test_safe_area_90_percent ... ok [INFO] [stdout] test video_crop::tests::test_crop_out_of_bounds ... ok [INFO] [stdout] test temporal_denoise::tests::test_temporal_denoiser_compute_metrics_snr ... ok [INFO] [stdout] test video_fingerprint::tests::test_compute_hash_method_routing ... ok [INFO] [stdout] test video_crop::tests::test_tile_variance_count ... ok [INFO] [stdout] test video_fingerprint::tests::test_dct_hash_identical_frames ... ok [INFO] [stdout] test video_fingerprint::tests::test_avg_hash_similar_frames_close ... ok [INFO] [stdout] test video_fingerprint::tests::test_bilinear_downsample_output_size ... ok [INFO] [stdout] test video_crop::tests::test_content_aware_bright_region ... ok [INFO] [stdout] test video_fingerprint::tests::test_avg_hash_black_vs_white_far ... ok [INFO] [stdout] test video_fingerprint::tests::test_dct_hash_black_vs_white_different ... ok [INFO] [stdout] test video_fingerprint::tests::test_dct_hash_flat_frame_consistent ... ok [INFO] [stdout] test video_fingerprint::tests::test_diff_hash_identical_frames ... ok [INFO] [stdout] test video_fingerprint::tests::test_dct_hash_known_vector_flat_128 ... ok [INFO] [stdout] test video_fingerprint::tests::test_fingerprint_match_time_offset ... ok [INFO] [stdout] test video_fingerprint::tests::test_fingerprint_matcher_method_mismatch_no_match ... ok [INFO] [stdout] test video_fingerprint::tests::test_similarity_identical_one ... ok [INFO] [stdout] test video_fingerprint::tests::test_hamming_distance_identical_zero ... ok [INFO] [stdout] test video_fingerprint::tests::test_video_fingerprint_push_accumulates ... ok [INFO] [stdout] test video_fingerprint::tests::test_fingerprint_matcher_high_threshold_no_matches ... ok [INFO] [stdout] test video_fingerprint::tests::test_wavelet_hash_different_frames_differ ... ok [INFO] [stdout] test video_fingerprint::tests::test_similarity_opposite_zero ... ok [INFO] [stdout] test video_fingerprint::tests::test_dct_hash_ramp_vs_checkerboard_different ... ok [INFO] [stdout] test video_fingerprint::tests::test_video_fingerprint_fields ... ok [INFO] [stdout] test video_fingerprint::tests::test_hamming_distance_opposite_64 ... ok [INFO] [stdout] test video_fingerprint::tests::test_wavelet_hash_identical_frames ... ok [INFO] [stdout] test vignette::tests::test_apply_darkens_corners ... ok [INFO] [stdout] test video_fingerprint::tests::test_diff_hash_decreasing_ramp_all_bits ... ok [INFO] [stdout] test vignette::tests::test_apply_vignette_size ... ok [INFO] [stdout] test video_fingerprint::tests::test_hamming_distance_single_bit ... ok [INFO] [stdout] test video_fingerprint::tests::test_fingerprint_matcher_identical_video ... ok [INFO] [stdout] test vignette::tests::test_default_config_valid ... ok [INFO] [stdout] test vignette::tests::test_map_size ... ok [INFO] [stdout] test vignette::tests::test_no_strength_no_effect ... ok [INFO] [stdout] test vignette::tests::test_zero_dimensions ... ok [INFO] [stdout] test vignette::tests::test_buffer_mismatch ... ok [INFO] [stdout] test vignette::tests::test_zero_strength_identity ... ok [INFO] [stdout] test vignette::tests::test_centre_bright ... ok [INFO] [stdout] test vignette::tests::test_circular_vs_elliptical ... ok [INFO] [stdout] test vignette::tests::test_corner_darkened ... ok [INFO] [stdout] test vignette::tests::test_parameter_out_of_range ... ok [INFO] [stdout] test mctf::tests::test_output_values_in_range ... ok [INFO] [stdout] test bidirectional_motion::tests::test_interpolate_output_size ... ok [INFO] [stdout] test bidirectional_motion::tests::test_occlusion_rate_range ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 803 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.60s [INFO] [stdout] [INFO] [stderr] Doc-tests oximedia_video [INFO] [stdout] [INFO] [stdout] running 13 tests [INFO] [stdout] test src/simd_ops.rs - simd_ops (line 25) ... ok [INFO] [stdout] test src/invariant_fingerprint.rs - invariant_fingerprint (line 37) ... ok [INFO] [stdout] test src/parallel_motion_search.rs - parallel_motion_search::ParallelMotionSearch (line 50) ... ok [INFO] [stdout] test src/grain.rs - grain (line 14) ... ok [INFO] [stdout] test src/subpixel_refiner.rs - subpixel_refiner (line 26) ... ok [INFO] [stdout] test src/cadence_convert.rs - cadence_convert (line 9) ... ok [INFO] [stdout] test src/adaptive_block_selection.rs - adaptive_block_selection (line 25) ... ok [INFO] [stdout] test src/mctf.rs - mctf (line 28) ... ok [INFO] [stdout] test src/quality_score.rs - quality_score (line 15) ... ok [INFO] [stdout] test src/cadence_confidence.rs - cadence_confidence (line 21) ... ok [INFO] [stdout] test src/adaptive_complexity_detect.rs - adaptive_complexity_detect (line 23) ... ok [INFO] [stdout] test src/bidirectional_motion.rs - bidirectional_motion (line 30) ... ok [INFO] [stdout] test src/adaptive_denoise.rs - adaptive_denoise (line 27) ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 13 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.25s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "df9d419089ec3b37fdcd9aa6c56fdcde1e1a9936ba7075bbb72c8a7a1a7105aa", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "df9d419089ec3b37fdcd9aa6c56fdcde1e1a9936ba7075bbb72c8a7a1a7105aa", kill_on_drop: false }` [INFO] [stdout] df9d419089ec3b37fdcd9aa6c56fdcde1e1a9936ba7075bbb72c8a7a1a7105aa