Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Complete 8-bit SATD aarch64 assembly implementation #3280

Merged
merged 5 commits into from
Nov 9, 2023

Conversation

barrbrain
Copy link
Collaborator

@barrbrain barrbrain commented Nov 6, 2023

This roughly matches the architecture of the intrinsics: a central function that the rest fall into. Unlike the generated code from the instrinsics, this uses 8 temporary vector registers for width 8, rather than the minimum of 3. A width-16x kernel is included, admitting a simple loop for the width-8 kernel.

Copy link

codecov bot commented Nov 7, 2023

Codecov Report

All modified and coverable lines are covered by tests ✅

see 1 file with indirect coverage changes

📢 Thoughts on this report? Let us know!

@barrbrain barrbrain force-pushed the aarch64-satd branch 2 times, most recently from a387c7d to f3567fe Compare November 7, 2023 10:15
@barrbrain barrbrain marked this pull request as ready for review November 7, 2023 10:23
* d8-d15: Callee-saved registers
* v16-v31: Temporary registers
@barrbrain
Copy link
Collaborator Author

Baseline with initial register assignment patch:

get_satd/8x8/8          time:   [35.692 ns 35.707 ns 35.725 ns]                            
get_satd/8x16/8         time:   [60.576 ns 60.615 ns 60.650 ns]                            
get_satd/16x8/8         time:   [60.229 ns 60.276 ns 60.325 ns]                            
get_satd/16x16/8        time:   [110.47 ns 110.50 ns 110.53 ns]                             
get_satd/16x32/8        time:   [209.75 ns 209.79 ns 209.83 ns]                             
get_satd/32x16/8        time:   [209.05 ns 209.09 ns 209.13 ns]                             
get_satd/32x32/8        time:   [405.86 ns 405.88 ns 405.91 ns]                             
get_satd/32x64/8        time:   [811.65 ns 811.83 ns 812.05 ns]                              
get_satd/64x32/8        time:   [804.70 ns 804.85 ns 805.05 ns]                              
get_satd/64x64/8        time:   [1.6049 µs 1.6060 µs 1.6082 µs]                              
get_satd/64x128/8       time:   [4.2552 µs 4.2709 µs 4.2872 µs]                               
get_satd/128x64/8       time:   [3.6300 µs 3.6767 µs 3.7200 µs]                               
get_satd/128x128/8      time:   [6.6418 µs 6.6474 µs 6.6539 µs]                                
get_satd/8x32/8         time:   [111.47 ns 111.79 ns 112.11 ns]                            
get_satd/32x8/8         time:   [109.86 ns 109.90 ns 109.95 ns]                            
get_satd/16x64/8        time:   [411.83 ns 411.98 ns 412.12 ns]                             
get_satd/64x16/8        time:   [406.21 ns 406.70 ns 407.23 ns] 

Change with next 2 patches to use an 8x8 kernel for all x8up sizes:

get_satd/8x8/8          time:   [34.183 ns 34.187 ns 34.197 ns]                            
                        change: [-4.3441% -4.2892% -4.2342%] (p = 0.00 < 0.05)
                        Performance has improved.
get_satd/8x16/8         time:   [58.634 ns 58.663 ns 58.696 ns]                            
                        change: [-3.2721% -3.2106% -3.1443%] (p = 0.00 < 0.05)
                        Performance has improved.
get_satd/16x8/8         time:   [59.047 ns 59.083 ns 59.122 ns]                            
                        change: [-2.0905% -1.9566% -1.8393%] (p = 0.00 < 0.05)
                        Performance has improved.
get_satd/16x16/8        time:   [106.57 ns 106.66 ns 106.76 ns]                             
                        change: [-3.5368% -3.4703% -3.4060%] (p = 0.00 < 0.05)
                        Performance has improved.
get_satd/16x32/8        time:   [204.40 ns 204.47 ns 204.56 ns]                             
                        change: [-2.5744% -2.5363% -2.4958%] (p = 0.00 < 0.05)
                        Performance has improved.
get_satd/32x16/8        time:   [204.13 ns 204.16 ns 204.20 ns]                             
                        change: [-2.3575% -2.3324% -2.3102%] (p = 0.00 < 0.05)
                        Performance has improved.
get_satd/32x32/8        time:   [395.47 ns 395.53 ns 395.64 ns]                             
                        change: [-2.5613% -2.5379% -2.5064%] (p = 0.00 < 0.05)
                        Performance has improved.
get_satd/32x64/8        time:   [797.57 ns 797.84 ns 798.11 ns]                              
                        change: [-1.7515% -1.7142% -1.6785%] (p = 0.00 < 0.05)
                        Performance has improved.
get_satd/64x32/8        time:   [774.90 ns 774.97 ns 775.05 ns]                              
                        change: [-3.7385% -3.7161% -3.6933%] (p = 0.00 < 0.05)
                        Performance has improved.
get_satd/64x64/8        time:   [1.5804 µs 1.5827 µs 1.5853 µs]                              
                        change: [-1.3805% -1.2181% -1.0566%] (p = 0.00 < 0.05)
                        Performance has improved.
get_satd/64x128/8       time:   [3.2830 µs 3.2870 µs 3.2911 µs]                               
                        change: [-23.491% -23.226% -22.967%] (p = 0.00 < 0.05)
                        Performance has improved.
get_satd/128x64/8       time:   [3.1872 µs 3.1910 µs 3.1989 µs]                               
                        change: [-14.565% -13.761% -12.877%] (p = 0.00 < 0.05)
                        Performance has improved.
get_satd/128x128/8      time:   [6.7471 µs 6.7480 µs 6.7493 µs]                                
                        change: [+1.2833% +1.3827% +1.4802%] (p = 0.00 < 0.05)
                        Performance has regressed.
get_satd/8x32/8         time:   [108.41 ns 108.45 ns 108.49 ns]                            
                        change: [-3.0538% -2.8169% -2.5818%] (p = 0.00 < 0.05)
                        Performance has improved.
get_satd/32x8/8         time:   [105.94 ns 106.01 ns 106.07 ns]                            
                        change: [-3.4803% -3.3828% -3.2824%] (p = 0.00 < 0.05)
                        Performance has improved.
get_satd/16x64/8        time:   [411.39 ns 411.79 ns 412.22 ns]                             
                        change: [-0.1663% -0.0960% -0.0271%] (p = 0.01 < 0.05)
                        Change within noise threshold.
get_satd/64x16/8        time:   [391.73 ns 392.53 ns 393.34 ns]                             
                        change: [-3.7274% -3.5065% -3.2576%] (p = 0.00 < 0.05)
                        Performance has improved.

Change from next 2 patches to use 8x8 kernel for 8xH blocks and 16x8 kernel for wider blocks:

get_satd/8x8/8          time:   [32.807 ns 32.809 ns 32.812 ns]                            
                        change: [-4.0791% -4.0467% -4.0239%] (p = 0.00 < 0.05)
                        Performance has improved.
get_satd/8x16/8         time:   [56.538 ns 56.555 ns 56.573 ns]                            
                        change: [-3.6676% -3.6150% -3.5687%] (p = 0.00 < 0.05)
                        Performance has improved.
get_satd/16x8/8         time:   [56.115 ns 56.143 ns 56.169 ns]                            
                        change: [-5.1210% -5.0206% -4.9034%] (p = 0.00 < 0.05)
                        Performance has improved.
get_satd/16x16/8        time:   [101.76 ns 101.83 ns 101.89 ns]                             
                        change: [-4.6237% -4.5575% -4.4812%] (p = 0.00 < 0.05)
                        Performance has improved.
get_satd/16x32/8        time:   [194.22 ns 194.24 ns 194.26 ns]                             
                        change: [-5.0357% -4.9899% -4.9418%] (p = 0.00 < 0.05)
                        Performance has improved.
get_satd/32x16/8        time:   [193.67 ns 193.72 ns 193.78 ns]                             
                        change: [-5.1553% -5.1264% -5.1005%] (p = 0.00 < 0.05)
                        Performance has improved.
get_satd/32x32/8        time:   [377.17 ns 377.20 ns 377.24 ns]                             
                        change: [-4.6774% -4.6453% -4.6225%] (p = 0.00 < 0.05)
                        Performance has improved.
get_satd/32x64/8        time:   [750.91 ns 751.67 ns 752.51 ns]                              
                        change: [-5.8364% -5.7695% -5.6685%] (p = 0.00 < 0.05)
                        Performance has improved.
get_satd/64x32/8        time:   [751.70 ns 754.80 ns 758.05 ns]                              
                        change: [-2.9087% -2.5645% -2.2086%] (p = 0.00 < 0.05)
                        Performance has improved.
get_satd/64x64/8        time:   [1.4743 µs 1.4749 µs 1.4757 µs]                              
                        change: [-7.1513% -6.9975% -6.8515%] (p = 0.00 < 0.05)
                        Performance has improved.
get_satd/64x128/8       time:   [3.1003 µs 3.1034 µs 3.1066 µs]                               
                        change: [-5.5856% -5.4396% -5.2941%] (p = 0.00 < 0.05)
                        Performance has improved.
get_satd/128x64/8       time:   [2.9897 µs 2.9900 µs 2.9902 µs]                               
                        change: [-6.7785% -6.3854% -6.1612%] (p = 0.00 < 0.05)
                        Performance has improved.
get_satd/128x128/8      time:   [6.0900 µs 6.0946 µs 6.0996 µs]                                
                        change: [-9.7620% -9.6808% -9.5845%] (p = 0.00 < 0.05)
                        Performance has improved.
get_satd/8x32/8         time:   [103.16 ns 103.26 ns 103.36 ns]                            
                        change: [-4.8226% -4.7551% -4.6907%] (p = 0.00 < 0.05)
                        Performance has improved.
get_satd/32x8/8         time:   [101.68 ns 101.72 ns 101.76 ns]                            
                        change: [-4.2676% -4.1669% -4.0677%] (p = 0.00 < 0.05)
                        Performance has improved.
get_satd/16x64/8        time:   [389.65 ns 390.16 ns 390.66 ns]                             
                        change: [-5.4902% -5.3377% -5.1976%] (p = 0.00 < 0.05)
                        Performance has improved.
get_satd/64x16/8        time:   [377.23 ns 378.70 ns 380.42 ns]                             
                        change: [-4.2426% -3.9928% -3.7405%] (p = 0.00 < 0.05)
                        Performance has improved.

Measured on Linux HOSTNAME 6.1.0-13-cloud-arm64 #1 SMP Debian 6.1.55-1 (2023-09-29) aarch64 GNU/Linux

@barrbrain
Copy link
Collaborator Author

barrbrain commented Nov 8, 2023

Total improvement compared to original scalar Rust implementation:

get_satd/8x8/8          time:   [32.815 ns 32.818 ns 32.822 ns]                            
                        change: [-79.660% -79.638% -79.618%] (p = 0.00 < 0.05)
                        Performance has improved.
get_satd/8x16/8         time:   [56.535 ns 56.539 ns 56.545 ns]                            
                        change: [-81.471% -81.453% -81.436%] (p = 0.00 < 0.05)
                        Performance has improved.
get_satd/16x8/8         time:   [63.749 ns 64.171 ns 64.593 ns]                            
                        change: [-79.235% -79.069% -78.910%] (p = 0.00 < 0.05)
                        Performance has improved.
get_satd/16x16/8        time:   [103.79 ns 104.15 ns 104.52 ns]                             
                        change: [-82.204% -82.144% -82.072%] (p = 0.00 < 0.05)
                        Performance has improved.
get_satd/16x32/8        time:   [194.21 ns 194.23 ns 194.25 ns]                             
                        change: [-83.271% -83.267% -83.263%] (p = 0.00 < 0.05)
                        Performance has improved.
get_satd/32x16/8        time:   [193.75 ns 193.82 ns 193.92 ns]                             
                        change: [-83.240% -83.234% -83.228%] (p = 0.00 < 0.05)
                        Performance has improved.
get_satd/32x32/8        time:   [377.46 ns 377.68 ns 377.94 ns]                             
                        change: [-83.495% -83.482% -83.464%] (p = 0.00 < 0.05)
                        Performance has improved.
get_satd/32x64/8        time:   [749.95 ns 750.11 ns 750.33 ns]                              
                        change: [-84.875% -84.782% -84.685%] (p = 0.00 < 0.05)
                        Performance has improved.
get_satd/64x32/8        time:   [741.27 ns 741.35 ns 741.45 ns]                              
                        change: [-83.734% -83.730% -83.727%] (p = 0.00 < 0.05)
                        Performance has improved.
get_satd/64x64/8        time:   [1.4988 µs 1.5037 µs 1.5084 µs]                              
                        change: [-83.562% -83.507% -83.451%] (p = 0.00 < 0.05)
                        Performance has improved.
get_satd/64x128/8       time:   [3.1216 µs 3.1294 µs 3.1388 µs]                               
                        change: [-86.712% -86.673% -86.635%] (p = 0.00 < 0.05)
                        Performance has improved.
get_satd/128x64/8       time:   [2.9858 µs 2.9861 µs 2.9865 µs]                               
                        change: [-83.531% -83.527% -83.524%] (p = 0.00 < 0.05)
                        Performance has improved.
get_satd/128x128/8      time:   [6.3193 µs 6.3234 µs 6.3306 µs]                                
                        change: [-82.409% -82.179% -81.892%] (p = 0.00 < 0.05)
                        Performance has improved.
get_satd/8x32/8         time:   [103.73 ns 103.75 ns 103.78 ns]                            
                        change: [-82.384% -82.380% -82.376%] (p = 0.00 < 0.05)
                        Performance has improved.
get_satd/32x8/8         time:   [101.63 ns 101.64 ns 101.65 ns]                            
                        change: [-82.578% -82.574% -82.571%] (p = 0.00 < 0.05)
                        Performance has improved.
get_satd/16x64/8        time:   [384.35 ns 384.52 ns 384.68 ns]                             
                        change: [-83.306% -83.299% -83.290%] (p = 0.00 < 0.05)
                        Performance has improved.
get_satd/64x16/8        time:   [374.77 ns 375.04 ns 375.31 ns]                             
                        change: [-84.086% -84.023% -83.963%] (p = 0.00 < 0.05)
                        Performance has improved.

src/arm/64/satd.S Outdated Show resolved Hide resolved
@lu-zero
Copy link
Collaborator

lu-zero commented Nov 9, 2023

Seems very nice, I'd replace native with scalar in the comments above though :)

@barrbrain barrbrain merged commit 5555b5f into xiph:master Nov 9, 2023
@barrbrain barrbrain deleted the aarch64-satd branch November 9, 2023 08:54
@barrbrain
Copy link
Collaborator Author

# Samples: 185K of event 'cycles'
# Event count (approx.): 103770299035
#
#       Overhead  Command / Shared Object / Symbol
# ..............  ...............................................................................................................................................................................................................
#
   100.00%        rav1e  
       92.53%        rav1e                
           9.11%        [.] rav1e::dist::rust::cdef_dist_kernel
            |          
             --8.98%--rav1e::rdo::rdo_mode_decision
                       |          
                        --8.79%--rav1e::rdo::inter_frame_rdo_mode_decision (inlined)
                                  <core::iter::adapters::take::Take<I> as core::iter::traits::iterator::Iterator>::for_each (inlined)
                                  core::iter::traits::iterator::Iterator::try_fold (inlined)
                                  <core::iter::adapters::take::Take<I> as core::iter::traits::iterator::Iterator>::for_each::check::{{closure}} (inlined)
                                  rav1e::rdo::inter_frame_rdo_mode_decision::{{closure}} (inlined)
                                  rav1e::rdo::luma_chroma_mode_rdo
                                  rav1e::rdo::luma_chroma_mode_rdo::{{closure}}
                                  rav1e::rdo::compute_distortion
                                  rav1e::rdo::cdef_dist_wxh (inlined)
                                  rav1e::dist::rust::cdef_dist_kernel
                                  |          
                                  |--5.59%--<core::iter::adapters::zip::Zip<A,B> as core::iter::traits::iterator::Iterator>::next (inlined)
                                  |          <core::iter::adapters::zip::Zip<A,B> as core::iter::adapters::zip::ZipImpl<A,B>>::next (inlined)
                                  |          |          
                                  |           --0.55%--<core::iter::adapters::take::Take<I> as core::iter::traits::iterator::Iterator>::next (inlined)
                                  |          
                                   --0.52%--rav1e::activity::apply_ssim_boost (inlined)

           6.14%        [.] put_8tap_neon
            |          
            |--5.14%--rav1e::me::estimate_motion
            |          rav1e::me::sub_pixel_me (inlined)
            |          rav1e::me::subpel_diamond_search (inlined)
            |          rav1e::me::get_subpel_mv_rd (inlined)
            |          put_8tap_neon
            |          
             --0.52%--put_8tap_neon
                       put_8tap_neon

           5.39%        [.] <core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::fold
            |          
             --5.31%--rav1e::rdo::rdo_mode_decision
                       |          
                        --5.11%--rav1e::rdo::inter_frame_rdo_mode_decision (inlined)
                                  <core::iter::adapters::take::Take<I> as core::iter::traits::iterator::Iterator>::for_each (inlined)
                                  core::iter::traits::iterator::Iterator::try_fold (inlined)
                                  <core::iter::adapters::take::Take<I> as core::iter::traits::iterator::Iterator>::for_each::check::{{closure}} (inlined)
                                  rav1e::rdo::inter_frame_rdo_mode_decision::{{closure}} (inlined)
                                  rav1e::rdo::luma_chroma_mode_rdo
                                  rav1e::rdo::luma_chroma_mode_rdo::{{closure}}
                                  rav1e::rdo::compute_distortion
                                  rav1e::rdo::sse_wxh (inlined)
                                  rav1e::dist::rust::get_weighted_sse
                                  core::iter::traits::iterator::Iterator::sum (inlined)
                                  <u64 as core::iter::traits::accum::Sum>::sum (inlined)
                                  <core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::fold
                                  core::iter::traits::iterator::Iterator::fold (inlined)
                                  core::iter::adapters::map::map_fold::{{closure}} (inlined)
                                  rav1e::dist::rust::get_weighted_sse::{{closure}} (inlined)
                                  core::iter::traits::iterator::Iterator::sum (inlined)
                                  <u64 as core::iter::traits::accum::Sum>::sum (inlined)
                                  <core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::fold
                                  |          
                                   --4.77%--core::iter::traits::iterator::Iterator::fold (inlined)
                                             |          
                                              --4.28%--core::iter::adapters::map::map_fold::{{closure}} (inlined)
                                                        |          
                                                         --4.28%--rav1e::dist::rust::get_weighted_sse::{{closure}}::{{closure}} (inlined)
                                                                   |          
                                                                    --4.06%--core::iter::traits::iterator::Iterator::sum (inlined)
                                                                              <u32 as core::iter::traits::accum::Sum>::sum (inlined)
                                                                              <core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::fold
                                                                              core::iter::traits::iterator::Iterator::fold (inlined)
                                                                              |          
                                                                              |--3.35%--core::iter::adapters::map::map_fold::{{closure}} (inlined)
                                                                              |          |          
                                                                              |           --3.35%--rav1e::dist::rust::get_weighted_sse::{{closure}}::{{closure}}::{{closure}} (inlined)
                                                                              |                     core::iter::traits::iterator::Iterator::sum (inlined)
                                                                              |                     <u32 as core::iter::traits::accum::Sum>::sum (inlined)
                                                                              |                     <core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::fold
                                                                              |                     core::iter::traits::iterator::Iterator::fold (inlined)
                                                                              |                     |          
                                                                              |                      --2.01%--<core::iter::adapters::zip::Zip<A,B> as core::iter::traits::iterator::Iterator>::next (inlined)
                                                                              |                                <core::iter::adapters::zip::Zip<A,B> as core::iter::adapters::zip::ZipImpl<A,B>>::next (inlined)
                                                                              |          
                                                                               --0.66%--<core::iter::adapters::zip::Zip<A,B> as core::iter::traits::iterator::Iterator>::next (inlined)
                                                                                         <core::iter::adapters::zip::Zip<A,B> as core::iter::adapters::zip::ZipImpl<A,B>>::next (inlined)

           4.60%        [.] <core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::fold
            |
            ---rav1e::api::internal::ContextInner<T>::receive_packet
               rav1e::api::internal::ContextInner<T>::compute_block_importances (inlined)
               <core::slice::iter::Iter<T> as core::iter::traits::iterator::Iterator>::for_each (inlined)
               rav1e::api::internal::ContextInner<T>::compute_block_importances::{{closure}} (inlined)
               rav1e::api::internal::ContextInner<T>::update_block_importances (inlined)
               core::iter::traits::iterator::Iterator::for_each (inlined)
               <core::iter::adapters::flatten::FlatMap<I,U,F> as core::iter::traits::iterator::Iterator>::fold (inlined)
               <core::iter::adapters::flatten::FlattenCompat<I,U> as core::iter::traits::iterator::Iterator>::fold (inlined)
               core::iter::adapters::flatten::FlattenCompat<I,U>::iter_fold (inlined)
               <core::iter::adapters::fuse::Fuse<I> as core::iter::traits::iterator::Iterator>::fold (inlined)
               <core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::fold
               <core::iter::adapters::enumerate::Enumerate<I> as core::iter::traits::iterator::Iterator>::fold (inlined)
               core::iter::traits::iterator::Iterator::fold (inlined)
               <core::iter::adapters::enumerate::Enumerate<I> as core::iter::traits::iterator::Iterator>::fold::enumerate::{{closure}} (inlined)
               core::iter::adapters::map::map_fold::{{closure}} (inlined)
               core::iter::adapters::flatten::FlattenCompat<I,U>::iter_fold::flatten::{{closure}} (inlined)
               <core::iter::adapters::flatten::FlattenCompat<I,U> as core::iter::traits::iterator::Iterator>::fold::flatten::{{closure}} (inlined)
               <core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::fold
               |          
                --4.59%--<core::iter::adapters::enumerate::Enumerate<I> as core::iter::traits::iterator::Iterator>::fold (inlined)
                          core::iter::traits::iterator::Iterator::fold (inlined)
                          |          
                           --4.54%--<core::iter::adapters::enumerate::Enumerate<I> as core::iter::traits::iterator::Iterator>::fold::enumerate::{{closure}} (inlined)
                                     |          
                                      --4.53%--core::iter::adapters::map::map_fold::{{closure}} (inlined)
                                                |          
                                                 --4.47%--rav1e::api::internal::ContextInner<T>::update_block_importances::{{closure}}::{{closure}} (inlined)
                                                           |          
                                                           |--1.08%--<v_frame::plane::Plane<T> as rav1e::frame::plane::AsRegion<T>>::region (inlined)
                                                           |          |          
                                                           |           --0.85%--rav1e::tiling::plane_region::PlaneRegion<T>::new (inlined)
                                                           |                     rav1e::tiling::plane_region::PlaneRegion<T>::from_slice (inlined)
                                                           |          
                                                            --0.75%--rav1e::asm::aarch64::dist::get_satd (inlined)

           4.22%        [.] rav1e::asm::aarch64::transform::forward::daala_fdct32
            |
            ---rav1e::asm::aarch64::transform::forward::forward_transform_neon
               rav1e::asm::aarch64::transform::forward::daala_fdct32
               |          
                --3.48%--rav1e::asm::aarch64::transform::forward::daala_fdct_ii_32 (inlined)
                          |          
                           --2.33%--rav1e::asm::aarch64::transform::forward::daala_fdst_iv_16_asym (inlined)
                                     |          
                                      --0.56%--rav1e::asm::aarch64::transform::forward::RotateKernel::half_kernel (inlined)

           4.16%        [.] rav1e_satd8x8_neon
            |          
             --3.95%--rav1e::api::internal::ContextInner<T>::receive_packet
                       rav1e::api::internal::ContextInner<T>::compute_block_importances (inlined)
                       <core::slice::iter::Iter<T> as core::iter::traits::iterator::Iterator>::for_each (inlined)
                       rav1e::api::internal::ContextInner<T>::compute_block_importances::{{closure}} (inlined)
                       rav1e::api::internal::ContextInner<T>::update_block_importances (inlined)
                       core::iter::traits::iterator::Iterator::for_each (inlined)
                       <core::iter::adapters::flatten::FlatMap<I,U,F> as core::iter::traits::iterator::Iterator>::fold (inlined)
                       <core::iter::adapters::flatten::FlattenCompat<I,U> as core::iter::traits::iterator::Iterator>::fold (inlined)
                       core::iter::adapters::flatten::FlattenCompat<I,U>::iter_fold (inlined)
                       <core::iter::adapters::fuse::Fuse<I> as core::iter::traits::iterator::Iterator>::fold (inlined)
                       <core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::fold
                       <core::iter::adapters::enumerate::Enumerate<I> as core::iter::traits::iterator::Iterator>::fold (inlined)
                       core::iter::traits::iterator::Iterator::fold (inlined)
                       <core::iter::adapters::enumerate::Enumerate<I> as core::iter::traits::iterator::Iterator>::fold::enumerate::{{closure}} (inlined)
                       core::iter::adapters::map::map_fold::{{closure}} (inlined)
                       core::iter::adapters::flatten::FlattenCompat<I,U>::iter_fold::flatten::{{closure}} (inlined)
                       <core::iter::adapters::flatten::FlattenCompat<I,U> as core::iter::traits::iterator::Iterator>::fold::flatten::{{closure}} (inlined)
                       <core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::fold
                       <core::iter::adapters::enumerate::Enumerate<I> as core::iter::traits::iterator::Iterator>::fold (inlined)
                       core::iter::traits::iterator::Iterator::fold (inlined)
                       <core::iter::adapters::enumerate::Enumerate<I> as core::iter::traits::iterator::Iterator>::fold::enumerate::{{closure}} (inlined)
                       core::iter::adapters::map::map_fold::{{closure}} (inlined)
                       rav1e::api::internal::ContextInner<T>::update_block_importances::{{closure}}::{{closure}} (inlined)
                       rav1e::asm::aarch64::dist::get_satd (inlined)
                       satd8x8_neon (inlined)

           3.74%        [.] rav1e::asm::aarch64::transform::forward::daala_fdct64
            |
            ---rav1e::asm::aarch64::transform::forward::forward_transform_neon
               rav1e::asm::aarch64::transform::forward::daala_fdct64
               |          
               |--1.97%--rav1e::asm::aarch64::transform::forward::daala_fdst_iv_32_asym (inlined)
               |          
               |--0.65%--rav1e::asm::aarch64::transform::forward::daala_fdct64::butterfly_pair (inlined)
               |          
                --0.54%--rav1e::asm::aarch64::transform::forward::daala_fdct_ii_32_asym (inlined)

           3.62%        [.] rav1e::asm::aarch64::transform::forward::forward_transform_neon
            |          
             --3.58%--rav1e::asm::aarch64::transform::forward::forward_transform_neon
                       |          
                       |--0.69%--<core::iter::adapters::zip::Zip<A,B> as core::iter::traits::iterator::Iterator>::next (inlined)
                       |          <core::iter::adapters::zip::Zip<A,B> as core::iter::adapters::zip::ZipImpl<A,B>>::next (inlined)
                       |          
                       |--0.68%--rav1e::asm::aarch64::transform::forward::round_shift_array_neon (inlined)
                       |          
                        --0.57%--rav1e::asm::aarch64::transform::forward::transpose_8x8_neon (inlined)

           3.23%        [.] rav1e::encoder::encode_block_post_cdef
            |          
             --2.60%--rav1e::encoder::encode_partition_topdown
                       rav1e::rdo::rdo_partition_decision
                       |          
                       |--1.46%--rav1e::rdo::rdo_partition_simple (inlined)
                       |          rav1e::rdo::rdo_mode_decision
                       |          |          
                       |           --1.40%--rav1e::rdo::inter_frame_rdo_mode_decision (inlined)
                       |                     <core::iter::adapters::take::Take<I> as core::iter::traits::iterator::Iterator>::for_each (inlined)
                       |                     core::iter::traits::iterator::Iterator::try_fold (inlined)
                       |                     <core::iter::adapters::take::Take<I> as core::iter::traits::iterator::Iterator>::for_each::check::{{closure}} (inlined)
                       |                     rav1e::rdo::inter_frame_rdo_mode_decision::{{closure}} (inlined)
                       |                     rav1e::rdo::luma_chroma_mode_rdo
                       |                     rav1e::rdo::luma_chroma_mode_rdo::{{closure}}
                       |                     rav1e::encoder::encode_block_post_cdef
                       |          
                        --1.14%--rav1e::rdo::rdo_partition_none (inlined)
                                  rav1e::rdo::rdo_mode_decision
                                  |          
                                   --1.12%--rav1e::rdo::inter_frame_rdo_mode_decision (inlined)
                                             <core::iter::adapters::take::Take<I> as core::iter::traits::iterator::Iterator>::for_each (inlined)
                                             core::iter::traits::iterator::Iterator::try_fold (inlined)
                                             <core::iter::adapters::take::Take<I> as core::iter::traits::iterator::Iterator>::for_each::check::{{closure}} (inlined)
                                             rav1e::rdo::inter_frame_rdo_mode_decision::{{closure}} (inlined)
                                             rav1e::rdo::luma_chroma_mode_rdo
                                             rav1e::rdo::luma_chroma_mode_rdo::{{closure}}
                                             rav1e::encoder::encode_block_post_cdef

           3.18%        [.] rav1e_satd16x8_neon
            |          
             --2.65%--rav1e::me::estimate_motion
                       |          
                        --2.36%--rav1e::me::sub_pixel_me (inlined)
                                  rav1e::me::subpel_diamond_search (inlined)
                                  rav1e::me::get_subpel_mv_rd (inlined)
                                  rav1e::me::compute_mv_rd (inlined)
                                  satd16x8_neon (inlined)

           2.99%        [.] rav1e::rdo::compute_distortion
            |          
             --2.96%--rav1e::rdo::rdo_mode_decision
                       |          
                        --2.88%--rav1e::rdo::inter_frame_rdo_mode_decision (inlined)
                                  <core::iter::adapters::take::Take<I> as core::iter::traits::iterator::Iterator>::for_each (inlined)
                                  core::iter::traits::iterator::Iterator::try_fold (inlined)
                                  <core::iter::adapters::take::Take<I> as core::iter::traits::iterator::Iterator>::for_each::check::{{closure}} (inlined)
                                  rav1e::rdo::inter_frame_rdo_mode_decision::{{closure}} (inlined)
                                  rav1e::rdo::luma_chroma_mode_rdo
                                  rav1e::rdo::luma_chroma_mode_rdo::{{closure}}
                                  rav1e::rdo::compute_distortion
                                  |          
                                  |--1.39%--rav1e::rdo::cdef_dist_wxh (inlined)
                                  |          |          
                                  |           --0.95%--rav1e::rdo::compute_distortion::{{closure}} (inlined)
                                  |                     |          
                                  |                      --0.65%--rav1e::rdo::distortion_scale (inlined)
                                  |          
                                   --1.08%--rav1e::rdo::sse_wxh (inlined)
                                             |          
                                              --0.84%--rav1e::rdo::compute_distortion::{{closure}} (inlined)
                                                        |          
                                                         --0.59%--rav1e::rdo::distortion_scale (inlined)

           2.14%        [.] <rav1e::ec::WriterBase<S> as rav1e::ec::Writer>::symbol_with_update
            |          
             --2.10%--rav1e::encoder::encode_tx_block
                       rav1e::context::block_unit::<impl rav1e::context::cdf_context::ContextWriter>::write_coeffs_lv_map
                       rav1e::context::block_unit::<impl rav1e::context::cdf_context::ContextWriter>::encode_coeffs (inlined)
                       <rav1e::ec::WriterBase<S> as rav1e::ec::Writer>::symbol_with_update
                       |          
                       |--0.76%--<rav1e::ec::WriterBase<S> as rav1e::ec::Writer>::symbol (inlined)
                       |          |          
                       |           --0.56%--<rav1e::ec::WriterBase<rav1e::ec::WriterCounter> as rav1e::ec::StorageBackend>::store (inlined)
                       |          
                        --0.76%--rav1e::context::cdf_context::CDFContextLog::push (inlined)
                                  rav1e::context::cdf_context::CDFContextLogPartition<_>::push (inlined)

           2.06%        [.] rav1e::context::block_unit::<impl rav1e::context::cdf_context::ContextWriter>::write_coeffs_lv_map
            |
            ---rav1e::encoder::encode_tx_block
               rav1e::context::block_unit::<impl rav1e::context::cdf_context::ContextWriter>::write_coeffs_lv_map
               |          
               |--0.84%--rav1e::context::block_unit::<impl rav1e::context::cdf_context::ContextWriter>::encode_coeffs (inlined)
               |          
                --0.60%--rav1e::context::block_unit::<impl rav1e::context::cdf_context::ContextWriter>::encode_coeff_signs (inlined)

           2.04%        [.] rav1e::asm::aarch64::transform::forward::daala_fdct_ii_16
            |
            ---rav1e::asm::aarch64::transform::forward::forward_transform_neon
               |          
               |--1.39%--rav1e::asm::aarch64::transform::forward::daala_fdct16
               |          rav1e::asm::aarch64::transform::forward::daala_fdct_ii_16
               |          |          
               |          |--0.56%--rav1e::asm::aarch64::transform::forward::daala_fdct_ii_8_asym (inlined)
               |          |          
               |           --0.56%--rav1e::asm::aarch64::transform::forward::daala_fdst_iv_8_asym (inlined)
               |          
                --0.65%--rav1e::asm::aarch64::transform::forward::daala_fdct64
                          rav1e::asm::aarch64::transform::forward::daala_fdct_ii_32_asym (inlined)
                          rav1e::asm::aarch64::transform::forward::daala_fdct_ii_16

           1.98%        [.] core::ops::function::impls::<impl core::ops::function::FnMut<A> for &mut F>::call_mut
            |
            ---rav1e::api::internal::ContextInner<T>::receive_packet
               rav1e::api::internal::ContextInner<T>::compute_block_importances (inlined)
               <core::slice::iter::Iter<T> as core::iter::traits::iterator::Iterator>::for_each (inlined)
               rav1e::api::internal::ContextInner<T>::compute_block_importances::{{closure}} (inlined)
               rav1e::api::internal::ContextInner<T>::update_block_importances (inlined)
               core::iter::traits::iterator::Iterator::for_each (inlined)
               <core::iter::adapters::flatten::FlatMap<I,U,F> as core::iter::traits::iterator::Iterator>::fold (inlined)
               <core::iter::adapters::flatten::FlattenCompat<I,U> as core::iter::traits::iterator::Iterator>::fold (inlined)
               core::iter::adapters::flatten::FlattenCompat<I,U>::iter_fold (inlined)
               <core::iter::adapters::fuse::Fuse<I> as core::iter::traits::iterator::Iterator>::fold (inlined)
               <core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::fold
               <core::iter::adapters::enumerate::Enumerate<I> as core::iter::traits::iterator::Iterator>::fold (inlined)
               core::iter::traits::iterator::Iterator::fold (inlined)
               <core::iter::adapters::enumerate::Enumerate<I> as core::iter::traits::iterator::Iterator>::fold::enumerate::{{closure}} (inlined)
               core::iter::adapters::map::map_fold::{{closure}} (inlined)
               core::iter::adapters::flatten::FlattenCompat<I,U>::iter_fold::flatten::{{closure}} (inlined)
               <core::iter::adapters::flatten::FlattenCompat<I,U> as core::iter::traits::iterator::Iterator>::fold::flatten::{{closure}} (inlined)
               <core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::fold
               <core::iter::adapters::enumerate::Enumerate<I> as core::iter::traits::iterator::Iterator>::fold (inlined)
               core::iter::traits::iterator::Iterator::fold (inlined)
               <core::iter::adapters::enumerate::Enumerate<I> as core::iter::traits::iterator::Iterator>::fold::enumerate::{{closure}} (inlined)
               core::iter::adapters::map::map_fold::{{closure}} (inlined)
               core::ops::function::impls::<impl core::ops::function::FnMut<A> for &mut F>::call_mut
               |          
                --1.92%--core::iter::traits::iterator::Iterator::for_each::call::{{closure}} (inlined)
                          rav1e::api::internal::ContextInner<T>::update_block_importances::{{closure}} (inlined)
                          |          
                           --0.68%--rav1e::api::internal::ContextInner<T>::update_block_importances::{{closure}}::{{closure}} (inlined)

           1.68%        [.] rav1e::quantize::QuantizationContext::quantize
            |          
             --1.66%--rav1e::encoder::encode_tx_block
                       rav1e::quantize::QuantizationContext::quantize
                       |          
                        --0.54%--core::iter::traits::iterator::Iterator::max (inlined)
                                  core::iter::traits::iterator::Iterator::max_by (inlined)
                                  core::iter::traits::iterator::Iterator::reduce (inlined)
                                  |          
                                   --0.54%--<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::fold (inlined)
                                             core::iter::traits::iterator::Iterator::fold (inlined)

           1.55%        [.] rav1e::quantize::rust::dequantize
            |          
             --1.54%--rav1e::encoder::encode_tx_block
                       rav1e::quantize::rust::dequantize
                       |          
                        --1.10%--<core::iter::adapters::enumerate::Enumerate<I> as core::iter::traits::iterator::Iterator>::next (inlined)
                                  <core::iter::adapters::zip::Zip<A,B> as core::iter::traits::iterator::Iterator>::next (inlined)
                                  <core::iter::adapters::zip::Zip<A,B> as core::iter::adapters::zip::ZipImpl<A,B>>::next (inlined)

           1.29%        [.] rav1e::encoder::encode_tx_block
            |          
             --1.26%--rav1e::encoder::encode_tx_block
                       |          
                        --0.83%--rav1e::encoder::diff (inlined)

           1.25%        [.] rav1e_sad32x32_neon
            |          
            |--0.73%--rav1e::api::internal::ContextInner<T>::send_frame
            |          rav1e::api::internal::ContextInner<T>::compute_frame_invariants (inlined)
            |          rav1e::api::internal::ContextInner<T>::compute_lookahead_motion_vectors (inlined)
            |          rav1e::api::lookahead::compute_motion_vectors
            |          rayon::iter::ParallelIterator::for_each (inlined)
            |          rayon::iter::for_each::for_each (inlined)
            |          <rayon::vec::IntoIter<T> as rayon::iter::ParallelIterator>::drive_unindexed (inlined)
            |          rayon::iter::plumbing::bridge (inlined)
            |          <rayon::vec::IntoIter<T> as rayon::iter::IndexedParallelIterator>::with_producer
            |          <rayon::vec::Drain<T> as rayon::iter::IndexedParallelIterator>::with_producer (inlined)
            |          <rayon::iter::plumbing::bridge::Callback<C> as rayon::iter::plumbing::ProducerCallback<I>>::callback (inlined)
            |          rayon::iter::plumbing::bridge_producer_consumer (inlined)
            |          rayon::iter::plumbing::bridge_producer_consumer::helper
            |          rayon::iter::plumbing::Producer::fold_with (inlined)
            |          <rayon::iter::for_each::ForEachConsumer<F> as rayon::iter::plumbing::Folder<T>>::consume_iter (inlined)
            |          core::iter::traits::iterator::Iterator::for_each (inlined)
            |          core::iter::traits::iterator::Iterator::fold (inlined)
            |          core::iter::traits::iterator::Iterator::for_each::call::{{closure}} (inlined)
            |          core::ops::function::impls::<impl core::ops::function::FnMut<A> for &F>::call_mut
            |          rav1e::api::lookahead::compute_motion_vectors::{{closure}} (inlined)
            |          rav1e::me::estimate_tile_motion
            |          rav1e::me::refine_subsampled_sb_motion (inlined)
            |          rav1e::me::refine_subsampled_motion_estimate (inlined)
            |          rav1e::me::full_search
            |          rav1e::me::compute_mv_rd (inlined)
            |          rav1e::asm::aarch64::dist::get_sad (inlined)
            |          sad32x32_neon (inlined)
            |          
             --0.52%--rav1e::me::estimate_motion
                       rav1e::me::full_pixel_me (inlined)
                       rav1e::me::full_pixel_me::{{closure}}

           1.03%        [.] rav1e::asm::aarch64::transform::forward::daala_fdct_ii_8
            |
            ---rav1e::asm::aarch64::transform::forward::forward_transform_neon
               |          
                --0.86%--rav1e::asm::aarch64::transform::forward::daala_fdct32
                          rav1e::asm::aarch64::transform::forward::daala_fdct_ii_32 (inlined)
                          rav1e::asm::aarch64::transform::forward::daala_fdct_ii_16_asym (inlined)
                          rav1e::asm::aarch64::transform::forward::daala_fdct_ii_8

           1.02%        [.] rav1e::rdo::luma_chroma_mode_rdo::{{closure}}
            |          
             --0.80%--rav1e::encoder::encode_partition_topdown
                       rav1e::rdo::rdo_partition_decision
                       |          
                        --0.56%--rav1e::rdo::rdo_partition_simple (inlined)
                                  rav1e::rdo::rdo_mode_decision
                                  |          
                                   --0.51%--rav1e::rdo::inter_frame_rdo_mode_decision (inlined)
                                             <core::iter::adapters::take::Take<I> as core::iter::traits::iterator::Iterator>::for_each (inlined)
                                             core::iter::traits::iterator::Iterator::try_fold (inlined)
                                             <core::iter::adapters::take::Take<I> as core::iter::traits::iterator::Iterator>::for_each::check::{{closure}} (inlined)
                                             rav1e::rdo::inter_frame_rdo_mode_decision::{{closure}} (inlined)
                                             rav1e::rdo::luma_chroma_mode_rdo
                                             rav1e::rdo::luma_chroma_mode_rdo::{{closure}}

           0.93%        [.] rav1e::cdef::cdef_filter_superblock
            |          
             --0.85%--rav1e::encoder::encode_frame
                       rav1e::encoder::encode_tile_group (inlined)
                       rav1e::encoder::FrameState<T>::apply_tile_state_mut (inlined)
                       rav1e::encoder::encode_tile_group::{{closure}} (inlined)
                       rav1e::cdef::cdef_filter_tile
                       rav1e::cdef::cdef_filter_superblock

           0.90%        [.] rav1e::me::get_fullpel_mv_rd
            |
            ---rav1e::me::estimate_motion
               |          
                --0.88%--rav1e::me::full_pixel_me (inlined)
                          |          
                           --0.85%--rav1e::me::full_pixel_me::{{closure}}

           0.84%        [.] rav1e::asm::aarch64::transform::forward::daala_fdst_iv_16
            |
            ---rav1e::asm::aarch64::transform::forward::forward_transform_neon
               |          
                --0.82%--rav1e::asm::aarch64::transform::forward::daala_fdct64
                          rav1e::asm::aarch64::transform::forward::daala_fdct_ii_32_asym (inlined)
                          rav1e::asm::aarch64::transform::forward::daala_fdst_iv_16

           0.82%        [.] rav1e::context::transform_unit::<impl rav1e::context::cdf_context::ContextWriter>::get_nz_map_contexts
            |          
             --0.81%--rav1e::encoder::encode_tx_block
                       rav1e::context::block_unit::<impl rav1e::context::cdf_context::ContextWriter>::write_coeffs_lv_map
                       rav1e::context::block_unit::<impl rav1e::context::cdf_context::ContextWriter>::encode_coeffs (inlined)
                       rav1e::context::transform_unit::<impl rav1e::context::cdf_context::ContextWriter>::get_nz_map_contexts
                       |          
                        --0.77%--rav1e::context::transform_unit::<impl rav1e::context::cdf_context::ContextWriter>::get_nz_map_ctx (inlined)
                                  |          
                                   --0.61%--rav1e::context::transform_unit::<impl rav1e::context::cdf_context::ContextWriter>::get_nz_map_ctx_from_stats (inlined)

           0.80%        [.] rav1e::lrf::rust::sgrproj_box_ab_r1
           0.73%        [.] prep_neon
            |          
             --0.51%--rav1e::rdo::rdo_partition_decision

           0.73%        [.] rav1e::deblock::sse_size14
           0.71%        [.] rav1e::context::transform_unit::<impl rav1e::context::cdf_context::ContextWriter>::get_nz_mag
            |          
             --0.70%--rav1e::encoder::encode_tx_block
                       rav1e::context::block_unit::<impl rav1e::context::cdf_context::ContextWriter>::write_coeffs_lv_map
                       rav1e::context::block_unit::<impl rav1e::context::cdf_context::ContextWriter>::encode_coeffs (inlined)
                       rav1e::context::transform_unit::<impl rav1e::context::cdf_context::ContextWriter>::get_nz_map_contexts
                       rav1e::context::transform_unit::<impl rav1e::context::cdf_context::ContextWriter>::get_nz_map_ctx (inlined)
                       rav1e::context::transform_unit::<impl rav1e::context::cdf_context::ContextWriter>::get_nz_mag

           0.70%        [.] rav1e::asm::aarch64::transform::forward::daala_fdst_iv_8
            |
            ---rav1e::asm::aarch64::transform::forward::forward_transform_neon
               |          
                --0.69%--rav1e::asm::aarch64::transform::forward::daala_fdct32
                          rav1e::asm::aarch64::transform::forward::daala_fdct_ii_32 (inlined)
                          rav1e::asm::aarch64::transform::forward::daala_fdct_ii_16_asym (inlined)
                          rav1e::asm::aarch64::transform::forward::daala_fdst_iv_8

           0.69%        [.] rav1e::me::full_pixel_me::{{closure}}
            |
            ---rav1e::me::estimate_motion
               rav1e::me::full_pixel_me (inlined)
               rav1e::me::full_pixel_me::{{closure}}

           0.63%        [.] rav1e_sad16x16_neon
            |
            ---rav1e::me::estimate_motion
               rav1e::me::full_pixel_me (inlined)
               |          
                --0.60%--rav1e::me::full_pixel_me::{{closure}}

           0.56%        [.] rav1e::lrf::rust::sgrproj_box_f_r1
           0.55%        [.] rav1e::asm::aarch64::transform::forward::daala_fdct16
            |
            ---rav1e::asm::aarch64::transform::forward::forward_transform_neon
               rav1e::asm::aarch64::transform::forward::daala_fdct16

           0.55%        [.] <core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::fold
            |          
             --0.50%--rav1e::rdo::rdo_mode_decision

           0.50%        [.] rav1e::predict::rust::pred_directional
           0.48%        [.] rav1e::predict::PredictionMode::predict_inter_single
           0.46%        [.] rav1e::predict::PredictionMode::predict_inter
           0.46%        [.] rav1e::me::get_subset_predictors
           0.44%        [.] rav1e_sad64x64_neon
           0.42%        [.] rav1e_avg_8bpc_neon
           0.42%        [.] <rav1e::ec::WriterBase<S> as rav1e::ec::Writer>::symbol_with_update
           0.40%        [.] rav1e::me::estimate_motion
           0.40%        [.] rav1e::encoder::encode_block_pre_cdef
           0.39%        [.] prep_8tap_neon
           0.39%        [.] rav1e::deblock::filter_v_edge
           0.38%        [.] put_neon
           0.37%        [.] rav1e::deblock::sse_size6
           0.34%        [.] rav1e::lrf::rust::sgrproj_box_ab_r2
           0.32%        [.] rav1e::deblock::filter_h_edge
           0.32%        [.] rav1e::deblock::sse_v_edge
           0.28%        [.] rav1e::rdo::rdo_mode_decision
           0.28%        [.] rav1e::encoder::write_tx_tree
           0.26%        [.] rav1e::encoder::motion_compensate
           0.26%        [.] rav1e::deblock::filter_wide14_12
           0.24%        [.] rav1e::context::block_unit::BlockContext::get_txb_ctx
           0.24%        [.] rav1e::encoder::encode_block_post_cdef
           0.21%        [.] rav1e::partition::BlockSize::largest_chroma_tx_size
           0.21%        [.] rav1e_inv_dct_8h_x16_neon
           0.21%        [.] rav1e::deblock::sse_h_edge
           0.19%        [.] rav1e_inv_dct32_odd_8h_x16_neon
           0.19%        [.] rav1e::lrf::sgrproj_solve
           0.19%        [.] rav1e::deblock::deblock_size14_inner
           0.18%        [.] rav1e::lrf::rust::sgrproj_box_f_r2
           0.18%        [.] rav1e::me::estimate_tile_motion
           0.17%        [.] rav1e::partition::get_intra_edges
           0.17%        [.] rav1e::rdo::rdo_tx_size_type
           0.17%        [.] rav1e::context::block_unit::FrameBlocks::new
           0.16%        [.] rav1e::context::frame_header::<impl rav1e::context::cdf_context::ContextWriter>::write_ref_frames
           0.16%        [.] rav1e::context::partition_unit::<impl rav1e::context::cdf_context::ContextWriter>::write_segmentation
           0.15%        [.] rav1e::me::full_search
           0.15%        [.] rav1e::context::block_unit::<impl rav1e::context::cdf_context::ContextWriter>::fill_neighbours_ref_counts
           0.14%        [.] rav1e::lrf::sgrproj_stripe_filter
           0.13%        [.] rav1e::context::block_unit::<impl rav1e::context::cdf_context::ContextWriter>::find_mvrefs
           0.12%        [.] rav1e::api::lookahead::estimate_importance_block_difference
           0.12%        [.] rav1e::deblock::deblock_size6_inner
           0.12%        [.] rav1e::context::transform_unit::<impl rav1e::context::cdf_context::ContextWriter>::get_br_ctx
           0.11%        [.] rav1e::context::partition_unit::<impl rav1e::context::cdf_context::ContextWriter>::get_segment_pred
           0.10%        [.] rav1e::quantize::QuantizationContext::update
           0.10%        [.] rav1e::activity::variance_8x8
           0.10%        [.] rav1e::rdo::rdo_loop_plane_error
           0.09%        [.] rav1e::transform::forward_shared::Txfm2DFlipCfg::fwd
           0.09%        [.] rav1e::dist::rust::get_weighted_sse
           0.09%        [.] rav1e::context::block_unit::BlockContext::set_coeff_context
           0.09%        [.] rav1e::rdo::spatiotemporal_scale
           0.08%        [.] inv_txfm_add_vert_dct_8x32_neon
           0.08%        [.] rav1e::context::partition_unit::<impl rav1e::context::block_unit::BlockContext>::reset_skip_context
           0.08%        [.] rav1e::deblock::deblock_size
           0.08%        [.] rav1e::context::partition_unit::<impl rav1e::context::block_unit::BlockContext>::skip_context
           0.07%        [.] rav1e::lrf::setup_integral_image
           0.07%        [.] rav1e::context::block_unit::BlockContext::intra_inter_context
           0.07%        [.] rav1e::rdo::rdo_loop_decision
           0.07%        [.] rav1e::predict::rust::filter_edge
           0.07%        [.] rav1e::me::MotionEstimationSubsets::all_mvs
           0.07%        [.] memset@plt
           0.07%        [.] rav1e::asm::aarch64::transform::forward::daala_fdct8
           0.06%        [.] inv_dct64_step1_neon
           0.06%        [.] <core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::fold
           0.06%        [.] rav1e::context::block_unit::<impl rav1e::context::cdf_context::ContextWriter>::encode_eob
           0.06%        [.] inv_dct64_step2_neon
           0.06%        [.] core::ops::function::impls::<impl core::ops::function::FnMut<A> for &F>::call_mut
           0.06%        [.] rav1e::rdo::clip_visible_bsize
           0.06%        [.] rav1e::context::block_unit::<impl rav1e::context::cdf_context::ContextWriter>::add_ref_mv_candidate
           0.06%        [.] rav1e::deblock::deblock_filter_optimize
           0.06%        [.] rav1e::rdo::luma_chroma_mode_rdo
           0.05%        [.] memcpy@plt
           0.05%        [.] rav1e::context::block_unit::<impl rav1e::context::cdf_context::ContextWriter>::scan_col_mbmi
           0.05%        [.] rav1e::predict::PredictionMode::predict_intra
           0.05%        [.] rav1e::context::block_unit::<impl rav1e::context::cdf_context::ContextWriter>::scan_row_mbmi
           0.05%        [.] rav1e::api::lookahead::estimate_inter_costs
           0.05%        [.] inv_txfm_horz_dct_32x8_neon
           0.05%        [.] rav1e::asm::aarch64::mc::mc_avg
           0.04%        [.] inv_txfm_add_vert_dct_8x64_neon
           0.04%        [.] <rav1e::ec::WriterBase<S> as rav1e::ec::Writer>::symbol_with_update
           0.04%        [.] rav1e::api::lookahead::estimate_intra_costs
           0.04%        [.] rav1e::encoder::save_block_motion
           0.04%        [.] rav1e::api::internal::ContextInner<T>::receive_packet
           0.04%        [.] rav1e::context::partition_unit::<impl rav1e::context::cdf_context::ContextWriter>::write_partition
           0.04%        [.] core::cmp::PartialOrd::lt
           0.04%        [.] rav1e::asm::aarch64::transform::forward::daala_fdct4
           0.04%        [.] rav1e::ec::rust::update_cdf
           0.03%        [.] v_frame::plane::Plane<T>::downsampled
           0.03%        [.] rav1e::context::block_unit::<impl rav1e::context::cdf_context::ContextWriter>::get_comp_ref_type_ctx
           0.03%        [.] rav1e::rdo::rdo_partition_decision
           0.03%        [.] rav1e::context::block_unit::<impl rav1e::context::cdf_context::ContextWriter>::write_coeffs_lv_map
           0.03%        [.] rav1e::context::partition_unit::<impl rav1e::context::block_unit::BlockContext>::partition_plane_context
           0.03%        [.] rav1e::tiling::plane_region::PlaneRegionMut<T>::scratch_copy
           0.03%        [.] core::cmp::PartialOrd::ge
           0.03%        [.] <rav1e::ec::WriterBase<S> as rav1e::ec::Writer>::symbol_with_update
           0.03%        [.] <rav1e::ec::WriterBase<S> as rav1e::ec::Writer>::symbol_with_update
           0.03%        [.] rav1e::context::partition_unit::<impl rav1e::context::cdf_context::ContextWriter>::write_segmentation
           0.03%        [.] rav1e_sad8x8_neon
           0.03%        [.] rav1e::encoder::write_tx_blocks
           0.03%        [.] <rav1e::ec::WriterBase<S> as rav1e::ec::Writer>::symbol_with_update
           0.03%        [.] <rav1e::ec::WriterBase<S> as rav1e::ec::Writer>::symbol_with_update
           0.03%        [.] rav1e::rdo::rdo_cfl_alpha::{{closure}}::{{closure}}
           0.03%        [.] core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &mut F>::call_once
           0.03%        [.] rav1e::deblock::sse_size8
           0.03%        [.] rav1e::encoder::encode_block_pre_cdef
           0.03%        [.] __aarch64_ldadd4_rel
           0.03%        [.] __aarch64_cas4_acq
           0.03%        [.] rav1e::encoder::encode_partition_topdown
           0.03%        [.] rav1e::context::transform_unit::get_tx_set
           0.03%        [.] rav1e_inv_txfm_dct_8h_x64_neon
           0.03%        [.] rav1e::encoder::encode_partition_bottomup
           0.02%        [.] rav1e::encoder::encode_block_with_modes
           0.02%        [.] rav1e::ec::rust::update_cdf
           0.02%        [.] rav1e::partition::BlockSize::from_width_and_height
           0.02%        [.] rav1e::context::block_unit::<impl rav1e::context::cdf_context::ContextWriter>::write_inter_mode
           0.02%        [.] rav1e::deblock::sse_size4
           0.02%        [.] inv_txfm_horz_16x8_neon
           0.02%        [.] <core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::fold
           0.02%        [.] rav1e::asm::aarch64::transform::inverse::inverse_transform_add
           0.02%        [.] rav1e::encoder::CodedFrameData<T>::compute_spatiotemporal_scores
           0.02%        [.] inv_txfm_add_vert_8x16_neon
           0.02%        [.] rav1e_inv_dct_8h_x8_neon
           0.02%        [.] inv_txfm_horz_dct_64x8_neon
           0.02%        [.] rav1e::context::block_unit::<impl rav1e::context::cdf_context::ContextWriter>::get_comp_mode_ctx
           0.02%        [.] rav1e::cdef::cdef_analyze_superblock
           0.02%        [.] rav1e::context::frame_header::<impl rav1e::context::cdf_context::ContextWriter>::write_ref_frames
           0.02%        [.] rav1e_ipred_paeth_8bpc_neon
           0.02%        [.] rav1e::context::block_unit::<impl rav1e::context::cdf_context::ContextWriter>::write_compound_mode
           0.02%        [.] rav1e::encoder::encode_tx_block
           0.02%        [.] rav1e::partition::has_tr
           0.02%        [.] <arrayvec::arrayvec::ArrayVec<T,_> as core::iter::traits::collect::FromIterator<T>>::from_iter
           0.01%        [.] rav1e::context::block_unit::<impl rav1e::context::cdf_context::ContextWriter>::write_mv
           0.01%        [.] rav1e_inv_txfm_add_dct_dct_32x32_8bpc_neon
           0.01%        [.] rav1e::context::transform_unit::<impl rav1e::context::cdf_context::ContextWriter>::write_tx_type
           0.01%        [.] rav1e::deblock::deblock_size8_inner
           0.01%        [.] rav1e::activity::ActivityMask::fill_scales
           0.01%        [.] rav1e::partition::BlockSize::largest_chroma_tx_size
           0.01%        [.] <rav1e::ec::WriterBase<rav1e::ec::WriterEncoder> as rav1e::ec::StorageBackend>::store
           0.01%        [.] rav1e::asm::aarch64::cdef::cdef_filter_block
           0.01%        [.] core::slice::sort::insertion_sort_shift_left
           0.01%        [.] rav1e::lrf::rust::sgrproj_box_f_r0
           0.01%        [.] rav1e_cdef_find_dir_8bpc_neon
           0.01%        [.] rav1e::encoder::check_lf_queue
           0.01%        [.] <T as alloc::vec::spec_from_elem::SpecFromElem>::from_elem
           0.01%        [.] <rav1e::ec::WriterBase<S> as rav1e::ec::Writer>::symbol_with_update
           0.01%        [.] cdef_filter8_sec_edged_8bpc_neon
           0.01%        [.] rav1e_ipred_cfl_128_8bpc_neon
           0.01%        [.] rav1e_ipred_dc_128_8bpc_neon
           0.01%        [.] rav1e_ipred_smooth_v_8bpc_neon
           0.01%        [.] inv_txfm_add_8x8_neon
           0.01%        [.] rav1e::context::partition_unit::<impl rav1e::context::cdf_context::ContextWriter>::write_partition
           0.01%        [.] rav1e::ec::rust::update_cdf
           0.01%        [.] <rav1e::ec::WriterBase<S> as rav1e::ec::Writer>::symbol_with_update
           0.01%        [.] v_frame::plane::Plane<T>::pad
           0.01%        [.] rav1e::ec::rust::update_cdf
           0.01%        [.] rav1e::deblock::deblock_adjusted_level
           0.01%        [.] crossbeam_deque::deque::Stealer<T>::steal
           0.01%        [.] rav1e_ipred_smooth_8bpc_neon
           0.01%        [.] rav1e_inv_txfm_dct_clear_8h_x64_neon
           0.01%        [.] rav1e_ipred_smooth_h_8bpc_neon
           0.01%        [.] rav1e::deblock::deblock_size4_inner
           0.01%        [.] rav1e::api::internal::ContextInner<T>::send_frame
           0.01%        [.] rav1e::partition::supersample_chroma_bsize
           0.01%        [.] rav1e::context::frame_header::<impl rav1e::context::cdf_context::ContextWriter>::write_lrf
           0.01%        [.] alloc::collections::btree::node::Handle<alloc::collections::btree::node::NodeRef<alloc::collections::btree::node::marker::Mut,K,V,alloc::collections::btree::node::marker::Leaf>,alloc::collections::btree::node::marker::Edge>::insert_recursing
           0.01%        [.] cdef_filter8_sec_8bpc_neon
           0.01%        [.] cdef_filter4_sec_8bpc_neon
           0.01%        [.] rav1e::context::partition_unit::<impl rav1e::context::block_unit::BlockContext>::update_partition_context
           0.01%        [.] <rav1e::ec::WriterBase<S> as rav1e::ec::Writer>::symbol_with_update
           0.01%        [.] arrayvec::arrayvec::ArrayVec<T,_>::push
           0.01%        [.] rav1e::context::<impl rav1e::context::cdf_context::ContextWriter>::encode_mv_component
           0.01%        [.] rav1e::activity::ActivityMask::from_plane
           0.01%        [.] rav1e::util::logexp::blog32_q11
           0.01%        [.] <arrayvec::arrayvec::ArrayVec<T,_> as core::clone::Clone>::clone
           0.01%        [.] rav1e::predict::rust::upsample_edge
           0.01%        [.] core::slice::sort::insertion_sort_shift_left
           0.01%        [.] <rav1e::ec::WriterBase<S> as rav1e::ec::Writer>::symbol_with_update
           0.01%        [.] rav1e::partition::BlockSize::from_width_and_height_opt
           0.01%        [.] rav1e::context::block_unit::BlockContext::checkpoint
           0.01%        [.] crossbeam_epoch::default::with_handle
           0.01%        [.] alloc::raw_vec::RawVec<T,A>::reserve_for_push
           0.01%        [.] <rav1e::ec::WriterBase<S> as rav1e::ec::Writer>::symbol_with_update
           0.01%        [.] cdef_filter8_pri_8bpc_neon
           0.00%        [.] <rav1e::ec::WriterBase<S> as rav1e::ec::Writer>::symbol_with_update
           0.00%        [.] rayon_core::registry::WorkerThread::wait_until_cold
           0.00%        [.] core::cmp::PartialOrd::ge
           0.00%        [.] rav1e_ipred_h_8bpc_neon
           0.00%        [.] rav1e::ec::rust::update_cdf
           0.00%        [.] rav1e_inv_adst_8h_x16_neon
           0.00%        [.] core::slice::sort::merge_sort
           0.00%        [.] alloc::collections::btree::remove::<impl alloc::collections::btree::node::Handle<alloc::collections::btree::node::NodeRef<alloc::collections::btree::node::marker::Mut,K,V,alloc::collections::btree::node::marker::Leaf>,alloc::collections::btree:>
           0.00%        [.] rav1e_cdef_padding4_edged_8bpc_neon
           0.00%        [.] rav1e_inv_adst_8h_x8_neon
           0.00%        [.] rav1e_ipred_v_8bpc_neon
           0.00%        [.] rav1e::asm::aarch64::transform::forward::daala_fdst16
           0.00%        [.] idct_dc_w32_neon
           0.00%        [.] idct_dc_w16_neon
           0.00%        [.] inv_txfm_add_4x4_neon
           0.00%        [.] rav1e_inv_txfm_add_dct_dct_8x8_8bpc_neon
           0.00%        [.] alloc::raw_vec::finish_grow
           0.00%        [.] rayon_core::sleep::Sleep::sleep
           0.00%        [.] rav1e::encoder::encode_frame
           0.00%        [.] cdef_filter4_sec_edged_8bpc_neon
           0.00%        [.] rayon_core::registry::global_registry
           0.00%        [.] core::slice::sort::insertion_sort_shift_left
           0.00%        [.] rav1e::asm::aarch64::transform::forward::daala_fdst_vii_4
           0.00%        [.] rav1e::recon_intra::has_top_right
           0.00%        [.] idct_dc_w64_neon
           0.00%        [.] rav1e_ipred_dc_8bpc_neon
           0.00%        [.] rav1e_inv_dct_4h_x4_neon
           0.00%        [.] rav1e::context::cdf_context::CDFContext::new
           0.00%        [.] rav1e::tiling::tile_state::TileStateMut<T>::new
           0.00%        [.] cdef_filter4_pri_edged_8bpc_neon
           0.00%        [.] rav1e_cdef_padding8_edged_8bpc_neon
           0.00%        [.] <bitstream_io::write::BitWriter<W,bitstream_io::BigEndian> as rav1e::header::UncompressedHeader>::write_frame_header_obu
           0.00%        [.] crossbeam_deque::deque::Worker<T>::pop
           0.00%        [.] <core::iter::adapters::chain::Chain<A,B> as core::iter::traits::iterator::Iterator>::try_fold
           0.00%        [.] rav1e::predict::rust::dr_intra_derivative
           0.00%        [.] rav1e::context::block_unit::<impl rav1e::context::cdf_context::ContextWriter>::write_inter_mode
           0.00%        [.] cdef_filter4_pri_8bpc_neon
           0.00%        [.] rav1e::context::block_unit::<impl rav1e::context::cdf_context::ContextWriter>::write_intra_mode_kf
           0.00%        [.] <rav1e::ec::WriterBase<S> as rav1e::ec::Writer>::write_golomb
           0.00%        [.] <rav1e::ec::WriterBase<S> as rav1e::ec::Writer>::symbol_with_update
           0.00%        [.] rav1e::partition::BlockSize::subsize
           0.00%        [.] <rav1e::ec::WriterBase<S> as rav1e::ec::Writer>::symbol_with_update
           0.00%        [.] rav1e_cdef_padding8_8bpc_neon
           0.00%        [.] core::fmt::write
           0.00%        [.] crossbeam_deque::deque::Injector<T>::steal
           0.00%        [.] core::slice::sort::merge_sort
           0.00%        [.] core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &mut F>::call_once
           0.00%        [.] rav1e_inv_txfm_add_dct_dct_64x64_8bpc_neon
           0.00%        [.] rav1e_inv_txfm_add_dct_dct_4x4_8bpc_neon
           0.00%        [.] rav1e::ec::rust::update_cdf
           0.00%        [.] <rayon_core::job::StackJob<L,F,R> as rayon_core::job::Job>::execute
           0.00%        [.] inv_txfm_horz_scale_dct_32x8_neon
           0.00%        [.] <rav1e::ec::WriterBase<S> as rav1e::ec::Writer>::symbol_with_update
           0.00%        [.] core::cmp::PartialOrd::le
           0.00%        [.] __aarch64_ldadd8_rel
           0.00%        [.] rav1e::lrf::RestorationState::lrf_filter_frame
           0.00%        [.] rav1e::encoder::FrameInvariants<T>::new_inter_frame
           0.00%        [.] <T as alloc::vec::spec_from_elem::SpecFromElem>::from_elem
           0.00%        [.] std::sys::unix::locks::futex_mutex::Mutex::lock_contended
           0.00%        [.] rav1e::recon_intra::has_bottom_left
           0.00%        [.] rav1e_satd32x32_neon
           0.00%        [.] rav1e_inv_txfm_dct_clear_scale_8h_x64_neon
           0.00%        [.] rav1e::asm::aarch64::predict::pred_cfl_ac
           0.00%        [.] rav1e::asm::aarch64::predict::dispatch_predict_intra::{{closure}}
           0.00%        [.] rav1e::ec::rust::update_cdf
           0.00%        [.] <rav1e::ec::WriterBase<S> as rav1e::ec::Writer>::symbol_with_update
           0.00%        [.] rav1e::tiling::tile::TileMut<T>::subregion::{{closure}}
           0.00%        [.] malloc@plt
           0.00%        [.] rav1e::partition::BlockSize::largest_chroma_tx_size
           0.00%        [.] <alloc::boxed::Box<[I]> as core::iter::traits::collect::FromIterator<I>>::from_iter
           0.00%        [.] rav1e::util::logexp::blog64
           0.00%        [.] rav1e_sad16x8_neon
           0.00%        [.] alloc::collections::btree::remove::<impl alloc::collections::btree::node::Handle<alloc::collections::btree::node::NodeRef<alloc::collections::btree::node::marker::Mut,K,V,alloc::collections::btree::node::marker::LeafOrInternal>,alloc::collectio>
           0.00%        [.] core::num::flt2dec::strategy::grisu::format_exact_opt
           0.00%        [.] <rav1e::ec::WriterBase<S> as rav1e::ec::Writer>::count_signed_subexp_with_ref
           0.00%        [.] rav1e::do_encode
           0.00%        [.] rav1e::lrf::RestorationState::new
           0.00%        [.] rav1e::encoder::Sequence::get_skip_mode_allowed
           0.00%        [.] __aarch64_swp4_rel
           0.00%        [.] rav1e::context::cdf_context::CDFContext::reset_counts
           0.00%        [.] rayon::math::simplify_range
           0.00%        [.] cdef_filter8_pri_edged_8bpc_neon
           0.00%        [.] alloc::collections::btree::map::entry::VacantEntry<K,V,A>::insert
           0.00%        [.] rav1e::encoder::FrameInvariants<T>::new_key_frame
           0.00%        [.] rayon_core::join::join_context::{{closure}}
           0.00%        [.] rav1e_satd64x64_neon
           0.00%        [.] core::cmp::PartialOrd::gt
           0.00%        [.] rav1e::context::block_unit::<impl rav1e::context::cdf_context::ContextWriter>::write_compound_mode
           0.00%        [.] rav1e::context::block_unit::<impl rav1e::context::cdf_context::ContextWriter>::write_intra_mode_kf
           0.00%        [.] <alloc::collections::btree::map::Iter<K,V> as core::iter::traits::iterator::Iterator>::next
           0.00%        [.] rav1e_ipred_cfl_8bpc_neon
           0.00%        [.] <core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::fold
           0.00%        [.] rav1e::context::block_unit::<impl rav1e::context::cdf_context::ContextWriter>::get_cdf_intra_mode_kf
           0.00%        [.] core::slice::sort::insertion_sort_shift_left
           0.00%        [.] inv_txfm_add_16x16_neon
           0.00%        [.] rav1e_prep_8tap_regular_8bpc_neon
           0.00%        [.] rav1e_put_8tap_regular_8bpc_neon
           0.00%        [.] rav1e::context::block_unit::<impl rav1e::context::cdf_context::ContextWriter>::encode_eob
           0.00%        [.] idct_dc_w8_neon
           0.00%        [.] rav1e::rate::RCState::update_state
           0.00%        [.] core::cmp::PartialOrd::ge
           0.00%        [.] <rav1e::ec::WriterBase<S> as rav1e::ec::Writer>::symbol_with_update
           0.00%        [.] realloc@plt
           0.00%        [.] <alloc::vec::Vec<T> as alloc::vec::spec_from_iter::SpecFromIter<T,I>>::from_iter
           0.00%        [.] <bitstream_io::write::BitWriter<W,E> as bitstream_io::write::BitWrite>::write
           0.00%        [.] rav1e_cdef_padding4_8bpc_neon
           0.00%        [.] __aarch64_ldadd8_relax
           0.00%        [.] <alloc::vec::Vec<T> as alloc::vec::spec_from_iter::SpecFromIter<T,I>>::from_iter
           0.00%        [.] rav1e::decoder::y4m::<impl rav1e::decoder::Decoder for y4m::Decoder<alloc::boxed::Box<dyn std::io::Read+core::marker::Send>>>::read_frame
           0.00%        [.] rav1e::rate::RCState::select_qi
           0.00%        [.] <bitstream_io::write::BitWriter<W,E> as bitstream_io::write::BitWrite>::write
           0.00%        [.] core::ptr::drop_in_place<rayon::vec::DrainProducer<rav1e::tiling::tiler::TileContextMut<u16>>>
           0.00%        [.] <rav1e::cpu_features::aarch64::CpuFeatureLevel as core::default::Default>::default
           0.00%        [.] __aarch64_cas8_acq_rel
           0.00%        [.] core::ptr::drop_in_place<alloc::vec::Vec<rav1e::tiling::tiler::TileContextMut<u16>>>
           0.00%        [.] rav1e::encoder::FrameInvariants<T>::set_ref_frame_sign_bias
           0.00%        [.] crossbeam_epoch::sync::queue::Queue<T>::try_pop_if
           0.00%        [.] crossbeam_deque::deque::Worker<T>::pop
           0.00%        [.] core::fmt::float::<impl core::fmt::Display for f64>::fmt
           0.00%        [.] alloc::collections::btree::node::BalancingContext<K,V>::merge_tracking_child_edge
           0.00%        [.] rav1e::predict::luma_ac
           0.00%        [.] rav1e_inv_adst_4h_x4_neon
           0.00%        [.] rav1e_ipred_dc_left_8bpc_neon
           0.00%        [.] <&T as core::fmt::Display>::fmt
           0.00%        [.] alloc::collections::vec_deque::VecDeque<T,A>::grow
           0.00%        [.] <rav1e::ec::WriterBase<S> as rav1e::ec::Writer>::write_signed_subexp_with_ref
           0.00%        [.] rav1e_sad64x32_neon
           0.00%        [.] rav1e_sad32x64_neon
           0.00%        [.] rav1e::asm::aarch64::transform::forward::daala_fdst8
           0.00%        [.] rav1e_sad32x8_neon
           0.00%        [.] rav1e_ipred_cfl_ac_420_8bpc_neon
           0.00%        [.] alloc::raw_vec::RawVec<T,A>::reserve_for_push
           0.00%        [.] alloc::raw_vec::finish_grow
           0.00%        [.] rayon_core::latch::LockLatch::wait_and_reset
           0.00%        [.] core::ptr::drop_in_place<alloc::vec::Vec<(rav1e::tiling::tiler::TileContextMut<u16>,&mut rav1e::context::cdf_context::CDFContext)>>
           0.00%        [.] <rayon::vec::IntoIter<T> as rayon::iter::IndexedParallelIterator>::with_producer
           0.00%        [.] rav1e_inv_txfm_add_dct_dct_64x32_8bpc_neon
           0.00%        [.] rav1e_inv_txfm_add_adst_adst_8x8_8bpc_neon
           0.00%        [.] <rav1e::ec::WriterBase<S> as rav1e::ec::Writer>::symbol_with_update
           0.00%        [.] rav1e::quantize::select_ac_qi
           0.00%        [.] rav1e::encoder::FrameState<T>::new_with_frame
           0.00%        [.] <rav1e::ec::WriterBase<S> as rav1e::ec::Writer>::symbol_with_update
           0.00%        [.] rav1e::util::kmeans::scan
           0.00%        [.] core::ptr::drop_in_place<rayon::vec::Drain<rav1e::tiling::tiler::TileContextMut<u16>>>
           0.00%        [.] rav1e::rate::RCState::calc_flat_quantizer
           0.00%        [.] y4m::Decoder<R>::read_frame
           0.00%        [.] rav1e::segmentation::segmentation_optimize
           0.00%        [.] rav1e::rate::QuantizerParameters::new_from_log_q
           0.00%        [.] rav1e_inv_txfm_add_dct_dct_16x32_8bpc_neon
           0.00%        [.] rayon::iter::plumbing::Folder::consume_iter
           0.00%        [.] rav1e::encoder::FrameInvariants<T>::set_quantizers
           0.00%        [.] core::fmt::Formatter::write_formatted_parts
           0.00%        [.] rav1e_satd16x16_neon
           0.00%        [.] pow@plt
           0.00%        [.] core::option::Option<&T>::cloned
           0.00%        [.] inv_txfm_horz_scale_16x8_neon
           0.00%        [.] <rayon::vec::IntoIter<T> as rayon::iter::IndexedParallelIterator>::with_producer
           0.00%        [.] memmove@plt
           0.00%        [.] alloc::collections::btree::map::entry::OccupiedEntry<K,V,A>::remove_kv
           0.00%        [.] <arrayvec::arrayvec::ArrayVec<T,_> as core::iter::traits::collect::FromIterator<T>>::from_iter
           0.00%        [.] <rav1e::ec::WriterBase<S> as rav1e::ec::Writer>::symbol_bits
           0.00%        [.] rav1e::lrf::RestorationPlane::restoration_unit_by_stripe
           0.00%        [.] <rav1e::ec::WriterBase<S> as rav1e::ec::Writer>::symbol_with_update
           0.00%        [.] alloc::collections::btree::node::Handle<alloc::collections::btree::node::NodeRef<alloc::collections::btree::node::marker::Mut,K,V,alloc::collections::btree::node::marker::Leaf>,alloc::collections::btree::node::marker::Edge>::insert_recursing
           0.00%        [.] <v_frame::frame::Frame<T> as rav1e::frame::FrameAlloc>::new
           0.00%        [.] core::cmp::PartialOrd::le
           0.00%        [.] rav1e::util::logexp::bexp64
           0.00%        [.] <bitstream_io::write::BitWriter<W,bitstream_io::BigEndian> as rav1e::header::UncompressedHeader>::write_deblock_filter_b
           0.00%        [.] crossbeam_deque::deque::Injector<T>::push
           0.00%        [.] rayon::iter::plumbing::bridge_producer_consumer::helper
           0.00%        [.] rayon_core::registry::Registry::inject_or_push
           0.00%        [.] rayon::iter::plumbing::bridge_producer_consumer::helper
           0.00%        [.] rav1e::rate::RCState::ready
           0.00%        [.] <bitstream_io::BigEndian as bitstream_io::Endianness>::write_signed
           0.00%        [.] <core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::fold
           0.00%        [.] core::ptr::drop_in_place<rav1e::encoder::ReferenceFramesSet<u8>>
           0.00%        [.] rav1e::api::internal::ContextInner<T>::finalize_packet
           0.00%        [.] fern::log_impl::Dispatch::shallow_enabled
           0.00%        [.] rav1e::encoder::encode_show_existing_frame
           0.00%        [.] <rav1e::api::util::FrameType as core::fmt::Display>::fmt
           0.00%        [.] <v_frame::frame::Frame<T> as core::clone::Clone>::clone
           0.00%        [.] alloc::collections::btree::remove::<impl alloc::collections::btree::node::Handle<alloc::collections::btree::node::NodeRef<alloc::collections::btree::node::marker::Mut,K,V,alloc::collections::btree::node::marker::LeafOrInternal>,alloc::collectio>
           0.00%        [.] core::num::bignum::Big32x40::mul_pow2
           0.00%        [.] write@plt
           0.00%        [.] <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
           0.00%        [.] <std::io::stdio::StderrRaw as std::io::Write>::write_all
           0.00%        [.] rav1e_cdef_filter4_8bpc_neon
           0.00%        [.] crossbeam_epoch::internal::Global::try_advance
           0.00%        [.] <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
           0.00%        [.] rayon_core::registry::in_worker
           0.00%        [.] std::sys::unix::os::getenv::{{closure}}
           0.00%        [.] alloc::sync::Arc<T,A>::drop_slow
           0.00%        [.] __aarch64_ldset8_acq_rel
           0.00%        [.] core::ptr::drop_in_place<rav1e::encoder::FrameState<u8>>
           0.00%        [.] rayon_core::scope::ScopeBase::complete
           0.00%        [.] <rayon_core::job::StackJob<L,F,R> as rayon_core::job::Job>::execute
           0.00%        [.] <alloc::collections::btree::map::Keys<K,V> as core::iter::traits::double_ended::DoubleEndedIterator>::next_back
           0.00%        [.] rav1e::quantize::select_dc_qi
           0.00%        [.] v_frame::plane::Plane<T>::copy_from_raw_u8
           0.00%        [.] sched_yield@plt
           0.00%        [.] <console::utils::StyledObject<D> as core::fmt::Display>::fmt
           0.00%        [.] core::ptr::drop_in_place<rayon::vec::SliceDrain<rav1e::tiling::tiler::TileContextMut<u16>>>
           0.00%        [.] <rayon_core::job::HeapJob<BODY> as rayon_core::job::Job>::execute
           0.00%        [.] rayon_core::join::join_context::{{closure}}
           0.00%        [.] rav1e::scenechange::SceneChangeDetector<T>::analyze_next_frame
           0.00%        [.] core::ptr::drop_in_place<rav1e::encoder::FrameInvariants<u8>>
           0.00%        [.] rav1e::encoder::FrameState<T>::new_with_frame_and_me_stats_and_rec
           0.00%        [.] <rav1e::muxer::ivf::IvfMuxer as rav1e::muxer::Muxer>::flush
           0.00%        [.] alloc::vec::Vec<T,A>::into_boxed_slice
           0.00%        [.] __aarch64_cas8_acq
           0.00%        [.] clap_builder::builder::command::Command::_build_self

@barrbrain
Copy link
Collaborator Author

Noting here for future work. Perf report for 10-bit on Graviton2:

# Samples: 271K of event 'cycles'
# Event count (approx.): 152473617210
#
#       Overhead  Command / Shared Object / Symbol
# ..............  ...............................................................................................................................................................................................................
#
   100.00%        rav1e  
       94.41%        rav1e                
          17.57%        [.] rav1e::dist::rust::get_satd
            |          
            |--9.25%--rav1e::api::internal::ContextInner<T>::receive_packet
            |          rav1e::api::internal::ContextInner<T>::compute_block_importances (inlined)
            |          <core::slice::iter::Iter<T> as core::iter::traits::iterator::Iterator>::for_each (inlined)
            |          rav1e::api::internal::ContextInner<T>::compute_block_importances::{{closure}} (inlined)
            |          rav1e::api::internal::ContextInner<T>::update_block_importances (inlined)
            |          core::iter::traits::iterator::Iterator::for_each (inlined)
            |          <core::iter::adapters::flatten::FlatMap<I,U,F> as core::iter::traits::iterator::Iterator>::fold (inlined)
            |          <core::iter::adapters::flatten::FlattenCompat<I,U> as core::iter::traits::iterator::Iterator>::fold (inlined)
            |          core::iter::adapters::flatten::FlattenCompat<I,U>::iter_fold (inlined)
            |          <core::iter::adapters::fuse::Fuse<I> as core::iter::traits::iterator::Iterator>::fold (inlined)
            |          <core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::fold
            |          <core::iter::adapters::enumerate::Enumerate<I> as core::iter::traits::iterator::Iterator>::fold (inlined)
            |          core::iter::traits::iterator::Iterator::fold (inlined)
            |          <core::iter::adapters::enumerate::Enumerate<I> as core::iter::traits::iterator::Iterator>::fold::enumerate::{{closure}} (inlined)
            |          core::iter::adapters::map::map_fold::{{closure}} (inlined)
            |          core::iter::adapters::flatten::FlattenCompat<I,U>::iter_fold::flatten::{{closure}} (inlined)
            |          <core::iter::adapters::flatten::FlattenCompat<I,U> as core::iter::traits::iterator::Iterator>::fold::flatten::{{closure}} (inlined)
            |          <core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::fold
            |          <core::iter::adapters::enumerate::Enumerate<I> as core::iter::traits::iterator::Iterator>::fold (inlined)
            |          core::iter::traits::iterator::Iterator::fold (inlined)
            |          <core::iter::adapters::enumerate::Enumerate<I> as core::iter::traits::iterator::Iterator>::fold::enumerate::{{closure}} (inlined)
            |          core::iter::adapters::map::map_fold::{{closure}} (inlined)
            |          rav1e::api::internal::ContextInner<T>::update_block_importances::{{closure}}::{{closure}} (inlined)
            |          rav1e::asm::aarch64::dist::get_satd (inlined)
            |          rav1e::asm::aarch64::dist::get_satd::{{closure}} (inlined)
            |          rav1e::dist::rust::get_satd
            |          |          
            |          |--2.19%--<core::iter::adapters::zip::Zip<A,B> as core::iter::traits::iterator::Iterator>::next (inlined)
            |          |          <core::iter::adapters::zip::Zip<A,B> as core::iter::adapters::zip::ZipImpl<A,B>>::next (inlined)
            |          |          |          
            |          |           --0.51%--<core::iter::adapters::zip::Zip<A,B> as core::iter::traits::iterator::Iterator>::next (inlined)
            |          |                     <core::iter::adapters::zip::Zip<A,B> as core::iter::adapters::zip::ZipImpl<A,B>>::next (inlined)
            |          |          
            |           --1.63%--core::iter::traits::iterator::Iterator::sum (inlined)
            |                     <u64 as core::iter::traits::accum::Sum>::sum (inlined)
            |                     <core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::fold (inlined)
            |                     <core::slice::iter::Iter<T> as core::iter::traits::iterator::Iterator>::fold (inlined)
            |          
            |--6.63%--rav1e::me::estimate_motion
            |          |          
            |          |--5.99%--rav1e::me::sub_pixel_me (inlined)
            |          |          rav1e::me::subpel_diamond_search (inlined)
            |          |          rav1e::me::get_subpel_mv_rd (inlined)
            |          |          rav1e::me::compute_mv_rd (inlined)
            |          |          rav1e::asm::aarch64::dist::get_satd (inlined)
            |          |          rav1e::asm::aarch64::dist::get_satd::{{closure}} (inlined)
            |          |          rav1e::dist::rust::get_satd
            |          |          |          
            |          |          |--1.32%--<core::iter::adapters::zip::Zip<A,B> as core::iter::traits::iterator::Iterator>::next (inlined)
            |          |          |          <core::iter::adapters::zip::Zip<A,B> as core::iter::adapters::zip::ZipImpl<A,B>>::next (inlined)
            |          |          |          |          
            |          |          |           --0.53%--<core::iter::adapters::zip::Zip<A,B> as core::iter::traits::iterator::Iterator>::next (inlined)
            |          |          |                     <core::iter::adapters::zip::Zip<A,B> as core::iter::adapters::zip::ZipImpl<A,B>>::next (inlined)
            |          |          |          
            |          |           --1.31%--core::iter::traits::iterator::Iterator::sum (inlined)
            |          |                     <u64 as core::iter::traits::accum::Sum>::sum (inlined)
            |          |                     <core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::fold (inlined)
            |          |                     <core::slice::iter::Iter<T> as core::iter::traits::iterator::Iterator>::fold (inlined)
            |          |          
            |           --0.64%--rav1e::me::get_fullpel_mv_rd
            |                     rav1e::me::compute_mv_rd (inlined)
            |                     rav1e::asm::aarch64::dist::get_satd (inlined)
            |                     rav1e::asm::aarch64::dist::get_satd::{{closure}} (inlined)
            |                     rav1e::dist::rust::get_satd
            |          
             --0.98%--rav1e::encoder::encode_partition_topdown
                       |          
                        --0.98%--rav1e::rdo::rdo_partition_decision
                                  |          
                                   --0.52%--rav1e::rdo::rdo_partition_simple (inlined)
                                             rav1e::rdo::rdo_mode_decision

          11.96%        [.] rav1e::dist::rust::hadamard8x8
            |          
            |--5.50%--rav1e::api::internal::ContextInner<T>::receive_packet
            |          rav1e::api::internal::ContextInner<T>::compute_block_importances (inlined)
            |          <core::slice::iter::Iter<T> as core::iter::traits::iterator::Iterator>::for_each (inlined)
            |          rav1e::api::internal::ContextInner<T>::compute_block_importances::{{closure}} (inlined)
            |          rav1e::api::internal::ContextInner<T>::update_block_importances (inlined)
            |          core::iter::traits::iterator::Iterator::for_each (inlined)
            |          <core::iter::adapters::flatten::FlatMap<I,U,F> as core::iter::traits::iterator::Iterator>::fold (inlined)
            |          <core::iter::adapters::flatten::FlattenCompat<I,U> as core::iter::traits::iterator::Iterator>::fold (inlined)
            |          core::iter::adapters::flatten::FlattenCompat<I,U>::iter_fold (inlined)
            |          <core::iter::adapters::fuse::Fuse<I> as core::iter::traits::iterator::Iterator>::fold (inlined)
            |          <core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::fold
            |          <core::iter::adapters::enumerate::Enumerate<I> as core::iter::traits::iterator::Iterator>::fold (inlined)
            |          core::iter::traits::iterator::Iterator::fold (inlined)
            |          <core::iter::adapters::enumerate::Enumerate<I> as core::iter::traits::iterator::Iterator>::fold::enumerate::{{closure}} (inlined)
            |          core::iter::adapters::map::map_fold::{{closure}} (inlined)
            |          core::iter::adapters::flatten::FlattenCompat<I,U>::iter_fold::flatten::{{closure}} (inlined)
            |          <core::iter::adapters::flatten::FlattenCompat<I,U> as core::iter::traits::iterator::Iterator>::fold::flatten::{{closure}} (inlined)
            |          <core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::fold
            |          <core::iter::adapters::enumerate::Enumerate<I> as core::iter::traits::iterator::Iterator>::fold (inlined)
            |          core::iter::traits::iterator::Iterator::fold (inlined)
            |          <core::iter::adapters::enumerate::Enumerate<I> as core::iter::traits::iterator::Iterator>::fold::enumerate::{{closure}} (inlined)
            |          core::iter::adapters::map::map_fold::{{closure}} (inlined)
            |          rav1e::api::internal::ContextInner<T>::update_block_importances::{{closure}}::{{closure}} (inlined)
            |          rav1e::asm::aarch64::dist::get_satd (inlined)
            |          rav1e::asm::aarch64::dist::get_satd::{{closure}} (inlined)
            |          rav1e::dist::rust::get_satd
            |          rav1e::dist::rust::hadamard8x8
            |          |          
            |           --5.36%--rav1e::dist::rust::hadamard2d (inlined)
            |                     rav1e::dist::rust::hadamard8_1d (inlined)
            |                     |          
            |                      --3.04%--rav1e::dist::rust::butterfly (inlined)
            |          
            |--5.15%--rav1e::me::estimate_motion
            |          |          
            |          |--4.62%--rav1e::me::sub_pixel_me (inlined)
            |          |          rav1e::me::subpel_diamond_search (inlined)
            |          |          rav1e::me::get_subpel_mv_rd (inlined)
            |          |          rav1e::me::compute_mv_rd (inlined)
            |          |          rav1e::asm::aarch64::dist::get_satd (inlined)
            |          |          rav1e::asm::aarch64::dist::get_satd::{{closure}} (inlined)
            |          |          rav1e::dist::rust::get_satd
            |          |          rav1e::dist::rust::hadamard8x8
            |          |          |          
            |          |           --4.47%--rav1e::dist::rust::hadamard2d (inlined)
            |          |                     rav1e::dist::rust::hadamard8_1d (inlined)
            |          |                     |          
            |          |                      --2.55%--rav1e::dist::rust::butterfly (inlined)
            |          |          
            |           --0.53%--rav1e::me::get_fullpel_mv_rd
            |                     rav1e::me::compute_mv_rd (inlined)
            |                     rav1e::asm::aarch64::dist::get_satd (inlined)
            |                     rav1e::asm::aarch64::dist::get_satd::{{closure}} (inlined)
            |                     rav1e::dist::rust::get_satd
            |                     rav1e::dist::rust::hadamard8x8
            |                     |          
            |                      --0.51%--rav1e::dist::rust::hadamard2d (inlined)
            |                                rav1e::dist::rust::hadamard8_1d (inlined)
            |          
             --0.77%--rav1e::encoder::encode_partition_topdown
                       rav1e::rdo::rdo_partition_decision

           6.03%        [.] rav1e::dist::rust::cdef_dist_kernel
            |          
             --5.95%--rav1e::rdo::rdo_mode_decision
                       |          
                        --5.81%--rav1e::rdo::inter_frame_rdo_mode_decision (inlined)
                                  <core::iter::adapters::take::Take<I> as core::iter::traits::iterator::Iterator>::for_each (inlined)
                                  core::iter::traits::iterator::Iterator::try_fold (inlined)
                                  <core::iter::adapters::take::Take<I> as core::iter::traits::iterator::Iterator>::for_each::check::{{closure}} (inlined)
                                  rav1e::rdo::inter_frame_rdo_mode_decision::{{closure}} (inlined)
                                  rav1e::rdo::luma_chroma_mode_rdo
                                  rav1e::rdo::luma_chroma_mode_rdo::{{closure}}
                                  rav1e::rdo::compute_distortion
                                  rav1e::rdo::cdef_dist_wxh (inlined)
                                  rav1e::dist::rust::cdef_dist_kernel
                                  |          
                                   --4.64%--<core::iter::adapters::zip::Zip<A,B> as core::iter::traits::iterator::Iterator>::next (inlined)
                                             <core::iter::adapters::zip::Zip<A,B> as core::iter::adapters::zip::ZipImpl<A,B>>::next (inlined)
                                             |          
                                              --1.07%--<core::iter::adapters::take::Take<I> as core::iter::traits::iterator::Iterator>::next (inlined)

           5.86%        [.] <core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::fold
            |          
            |--4.33%--rav1e::me::estimate_motion
            |          rav1e::me::full_pixel_me (inlined)
            |          |          
            |           --4.21%--rav1e::me::full_pixel_me::{{closure}}
            |                     |          
            |                     |--2.23%--rav1e::me::get_best_predictor (inlined)
            |                     |          rav1e::me::get_fullpel_mv_rd
            |                     |          rav1e::me::compute_mv_rd (inlined)
            |                     |          rav1e::asm::aarch64::dist::get_sad (inlined)
            |                     |          rav1e::asm::aarch64::dist::get_sad::{{closure}} (inlined)
            |                     |          rav1e::dist::rust::get_sad (inlined)
            |                     |          core::iter::traits::iterator::Iterator::sum (inlined)
            |                     |          <u32 as core::iter::traits::accum::Sum>::sum (inlined)
            |                     |          <core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::fold
            |                     |          |          
            |                     |           --2.17%--core::iter::traits::iterator::Iterator::fold (inlined)
            |                     |                     |          
            |                     |                      --1.93%--core::iter::adapters::map::map_fold::{{closure}} (inlined)
            |                     |                                |          
            |                     |                                 --1.93%--rav1e::dist::rust::get_sad::{{closure}} (inlined)
            |                     |                                           core::iter::traits::iterator::Iterator::sum (inlined)
            |                     |                                           <u32 as core::iter::traits::accum::Sum>::sum (inlined)
            |                     |                                           <core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::fold
            |                     |                                           core::iter::traits::iterator::Iterator::fold (inlined)
            |                     |          
            |                      --1.98%--rav1e::me::fullpel_diamond_search (inlined)
            |                                rav1e::me::get_fullpel_mv_rd
            |                                rav1e::me::compute_mv_rd (inlined)
            |                                rav1e::asm::aarch64::dist::get_sad (inlined)
            |                                rav1e::asm::aarch64::dist::get_sad::{{closure}} (inlined)
            |                                rav1e::dist::rust::get_sad (inlined)
            |                                core::iter::traits::iterator::Iterator::sum (inlined)
            |                                <u32 as core::iter::traits::accum::Sum>::sum (inlined)
            |                                <core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::fold
            |                                |          
            |                                 --1.91%--core::iter::traits::iterator::Iterator::fold (inlined)
            |                                           |          
            |                                            --1.73%--core::iter::adapters::map::map_fold::{{closure}} (inlined)
            |                                                      |          
            |                                                       --1.73%--rav1e::dist::rust::get_sad::{{closure}} (inlined)
            |                                                                 core::iter::traits::iterator::Iterator::sum (inlined)
            |                                                                 <u32 as core::iter::traits::accum::Sum>::sum (inlined)
            |                                                                 <core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::fold
            |                                                                 core::iter::traits::iterator::Iterator::fold (inlined)
            |          
             --1.54%--rav1e::api::internal::ContextInner<T>::send_frame
                       rav1e::api::internal::ContextInner<T>::compute_frame_invariants (inlined)
                       rav1e::api::internal::ContextInner<T>::compute_lookahead_motion_vectors (inlined)
                       rav1e::api::lookahead::compute_motion_vectors
                       rayon::iter::ParallelIterator::for_each (inlined)
                       rayon::iter::for_each::for_each (inlined)
                       <rayon::vec::IntoIter<T> as rayon::iter::ParallelIterator>::drive_unindexed (inlined)
                       rayon::iter::plumbing::bridge (inlined)
                       <rayon::vec::IntoIter<T> as rayon::iter::IndexedParallelIterator>::with_producer
                       <rayon::vec::Drain<T> as rayon::iter::IndexedParallelIterator>::with_producer (inlined)
                       <rayon::iter::plumbing::bridge::Callback<C> as rayon::iter::plumbing::ProducerCallback<I>>::callback (inlined)
                       rayon::iter::plumbing::bridge_producer_consumer (inlined)
                       rayon::iter::plumbing::bridge_producer_consumer::helper
                       rayon::iter::plumbing::Producer::fold_with (inlined)
                       <rayon::iter::for_each::ForEachConsumer<F> as rayon::iter::plumbing::Folder<T>>::consume_iter (inlined)
                       core::iter::traits::iterator::Iterator::for_each (inlined)
                       core::iter::traits::iterator::Iterator::fold (inlined)
                       core::iter::traits::iterator::Iterator::for_each::call::{{closure}} (inlined)
                       core::ops::function::impls::<impl core::ops::function::FnMut<A> for &F>::call_mut
                       rav1e::api::lookahead::compute_motion_vectors::{{closure}} (inlined)
                       rav1e::me::estimate_tile_motion
                       rav1e::me::refine_subsampled_sb_motion (inlined)
                       rav1e::me::refine_subsampled_motion_estimate (inlined)
                       rav1e::me::full_search
                       rav1e::me::compute_mv_rd (inlined)
                       rav1e::asm::aarch64::dist::get_sad (inlined)
                       rav1e::asm::aarch64::dist::get_sad::{{closure}} (inlined)
                       rav1e::dist::rust::get_sad (inlined)
                       core::iter::traits::iterator::Iterator::sum (inlined)
                       <u32 as core::iter::traits::accum::Sum>::sum (inlined)
                       <core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::fold
                       |          
                        --1.52%--core::iter::traits::iterator::Iterator::fold (inlined)
                                  |          
                                   --1.41%--core::iter::adapters::map::map_fold::{{closure}} (inlined)
                                             |          
                                              --1.41%--rav1e::dist::rust::get_sad::{{closure}} (inlined)
                                                        core::iter::traits::iterator::Iterator::sum (inlined)
                                                        <u32 as core::iter::traits::accum::Sum>::sum (inlined)
                                                        <core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::fold
                                                        core::iter::traits::iterator::Iterator::fold (inlined)

           5.41%        [.] put_8tap_neon
            |          
            |--4.42%--rav1e::me::estimate_motion
            |          rav1e::me::sub_pixel_me (inlined)
            |          rav1e::me::subpel_diamond_search (inlined)
            |          rav1e::me::get_subpel_mv_rd (inlined)
            |          put_8tap_neon
            |          
             --0.51%--put_8tap_neon
                       put_8tap_neon

           3.70%        [.] <core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::fold
            |          
             --3.65%--rav1e::rdo::rdo_mode_decision
                       |          
                        --3.52%--rav1e::rdo::inter_frame_rdo_mode_decision (inlined)
                                  <core::iter::adapters::take::Take<I> as core::iter::traits::iterator::Iterator>::for_each (inlined)
                                  core::iter::traits::iterator::Iterator::try_fold (inlined)
                                  <core::iter::adapters::take::Take<I> as core::iter::traits::iterator::Iterator>::for_each::check::{{closure}} (inlined)
                                  rav1e::rdo::inter_frame_rdo_mode_decision::{{closure}} (inlined)
                                  rav1e::rdo::luma_chroma_mode_rdo
                                  rav1e::rdo::luma_chroma_mode_rdo::{{closure}}
                                  rav1e::rdo::compute_distortion
                                  rav1e::rdo::sse_wxh (inlined)
                                  rav1e::dist::rust::get_weighted_sse
                                  core::iter::traits::iterator::Iterator::sum (inlined)
                                  <u64 as core::iter::traits::accum::Sum>::sum (inlined)
                                  <core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::fold
                                  core::iter::traits::iterator::Iterator::fold (inlined)
                                  core::iter::adapters::map::map_fold::{{closure}} (inlined)
                                  rav1e::dist::rust::get_weighted_sse::{{closure}} (inlined)
                                  core::iter::traits::iterator::Iterator::sum (inlined)
                                  <u64 as core::iter::traits::accum::Sum>::sum (inlined)
                                  <core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::fold
                                  |          
                                   --3.28%--core::iter::traits::iterator::Iterator::fold (inlined)
                                             |          
                                              --3.06%--core::iter::adapters::map::map_fold::{{closure}} (inlined)
                                                        |          
                                                         --3.06%--rav1e::dist::rust::get_weighted_sse::{{closure}}::{{closure}} (inlined)
                                                                   |          
                                                                    --2.97%--core::iter::traits::iterator::Iterator::sum (inlined)
                                                                              <u32 as core::iter::traits::accum::Sum>::sum (inlined)
                                                                              <core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::fold
                                                                              core::iter::traits::iterator::Iterator::fold (inlined)
                                                                              |          
                                                                               --2.71%--core::iter::adapters::map::map_fold::{{closure}} (inlined)
                                                                                         |          
                                                                                          --2.63%--rav1e::dist::rust::get_weighted_sse::{{closure}}::{{closure}}::{{closure}} (inlined)
                                                                                                    core::iter::traits::iterator::Iterator::sum (inlined)
                                                                                                    <u32 as core::iter::traits::accum::Sum>::sum (inlined)
                                                                                                    <core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::fold
                                                                                                    core::iter::traits::iterator::Iterator::fold (inlined)
                                                                                                    |          
                                                                                                     --0.75%--core::iter::adapters::map::map_fold::{{closure}} (inlined)
                                                                                                               |          
                                                                                                                --0.75%--rav1e::dist::rust::get_weighted_sse::{{closure}}::{{closure}}::{{closure}}::{{closure}} (inlined)

           3.00%        [.] rav1e::asm::aarch64::transform::forward::daala_fdct32
            |
            ---rav1e::asm::aarch64::transform::forward::forward_transform_neon
               rav1e::asm::aarch64::transform::forward::daala_fdct32
               |          
                --2.45%--rav1e::asm::aarch64::transform::forward::daala_fdct_ii_32 (inlined)
                          |          
                           --1.67%--rav1e::asm::aarch64::transform::forward::daala_fdst_iv_16_asym (inlined)

           2.73%        [.] <core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::fold
            |
            ---rav1e::api::internal::ContextInner<T>::receive_packet
               rav1e::api::internal::ContextInner<T>::compute_block_importances (inlined)
               <core::slice::iter::Iter<T> as core::iter::traits::iterator::Iterator>::for_each (inlined)
               rav1e::api::internal::ContextInner<T>::compute_block_importances::{{closure}} (inlined)
               rav1e::api::internal::ContextInner<T>::update_block_importances (inlined)
               core::iter::traits::iterator::Iterator::for_each (inlined)
               <core::iter::adapters::flatten::FlatMap<I,U,F> as core::iter::traits::iterator::Iterator>::fold (inlined)
               <core::iter::adapters::flatten::FlattenCompat<I,U> as core::iter::traits::iterator::Iterator>::fold (inlined)
               core::iter::adapters::flatten::FlattenCompat<I,U>::iter_fold (inlined)
               <core::iter::adapters::fuse::Fuse<I> as core::iter::traits::iterator::Iterator>::fold (inlined)
               <core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::fold
               <core::iter::adapters::enumerate::Enumerate<I> as core::iter::traits::iterator::Iterator>::fold (inlined)
               core::iter::traits::iterator::Iterator::fold (inlined)
               <core::iter::adapters::enumerate::Enumerate<I> as core::iter::traits::iterator::Iterator>::fold::enumerate::{{closure}} (inlined)
               core::iter::adapters::map::map_fold::{{closure}} (inlined)
               core::iter::adapters::flatten::FlattenCompat<I,U>::iter_fold::flatten::{{closure}} (inlined)
               <core::iter::adapters::flatten::FlattenCompat<I,U> as core::iter::traits::iterator::Iterator>::fold::flatten::{{closure}} (inlined)
               <core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::fold
               |          
                --2.72%--<core::iter::adapters::enumerate::Enumerate<I> as core::iter::traits::iterator::Iterator>::fold (inlined)
                          |          
                           --2.72%--core::iter::traits::iterator::Iterator::fold (inlined)
                                     |          
                                      --2.64%--<core::iter::adapters::enumerate::Enumerate<I> as core::iter::traits::iterator::Iterator>::fold::enumerate::{{closure}} (inlined)
                                                |          
                                                 --2.64%--core::iter::adapters::map::map_fold::{{closure}} (inlined)
                                                           rav1e::api::internal::ContextInner<T>::update_block_importances::{{closure}}::{{closure}} (inlined)
                                                           |          
                                                            --0.81%--<v_frame::plane::Plane<T> as rav1e::frame::plane::AsRegion<T>>::region (inlined)
                                                                      |          
                                                                       --0.54%--rav1e::tiling::plane_region::PlaneRegion<T>::new (inlined)
                                                                                 rav1e::tiling::plane_region::PlaneRegion<T>::from_slice (inlined)

           2.56%        [.] rav1e::asm::aarch64::transform::forward::daala_fdct64
            |
            ---rav1e::asm::aarch64::transform::forward::forward_transform_neon
               rav1e::asm::aarch64::transform::forward::daala_fdct64
               |          
                --1.42%--rav1e::asm::aarch64::transform::forward::daala_fdst_iv_32_asym (inlined)

           2.27%        [.] rav1e::asm::aarch64::transform::forward::forward_transform_neon
            |          
             --2.25%--rav1e::asm::aarch64::transform::forward::forward_transform_neon

           2.23%        [.] rav1e::encoder::encode_block_post_cdef
            |          
             --1.79%--rav1e::encoder::encode_partition_topdown
                       rav1e::rdo::rdo_partition_decision
                       |          
                       |--0.98%--rav1e::rdo::rdo_partition_simple (inlined)
                       |          rav1e::rdo::rdo_mode_decision
                       |          |          
                       |           --0.95%--rav1e::rdo::inter_frame_rdo_mode_decision (inlined)
                       |                     <core::iter::adapters::take::Take<I> as core::iter::traits::iterator::Iterator>::for_each (inlined)
                       |                     core::iter::traits::iterator::Iterator::try_fold (inlined)
                       |                     <core::iter::adapters::take::Take<I> as core::iter::traits::iterator::Iterator>::for_each::check::{{closure}} (inlined)
                       |                     rav1e::rdo::inter_frame_rdo_mode_decision::{{closure}} (inlined)
                       |                     rav1e::rdo::luma_chroma_mode_rdo
                       |                     rav1e::rdo::luma_chroma_mode_rdo::{{closure}}
                       |                     rav1e::encoder::encode_block_post_cdef
                       |          
                        --0.81%--rav1e::rdo::rdo_partition_none (inlined)
                                  rav1e::rdo::rdo_mode_decision
                                  |          
                                   --0.79%--rav1e::rdo::inter_frame_rdo_mode_decision (inlined)
                                             <core::iter::adapters::take::Take<I> as core::iter::traits::iterator::Iterator>::for_each (inlined)
                                             core::iter::traits::iterator::Iterator::try_fold (inlined)
                                             <core::iter::adapters::take::Take<I> as core::iter::traits::iterator::Iterator>::for_each::check::{{closure}} (inlined)
                                             rav1e::rdo::inter_frame_rdo_mode_decision::{{closure}} (inlined)
                                             rav1e::rdo::luma_chroma_mode_rdo
                                             rav1e::rdo::luma_chroma_mode_rdo::{{closure}}
                                             rav1e::encoder::encode_block_post_cdef

           2.14%        [.] rav1e::rdo::compute_distortion
            |          
             --2.11%--rav1e::rdo::rdo_mode_decision
                       |          
                        --2.05%--rav1e::rdo::inter_frame_rdo_mode_decision (inlined)
                                  <core::iter::adapters::take::Take<I> as core::iter::traits::iterator::Iterator>::for_each (inlined)
                                  core::iter::traits::iterator::Iterator::try_fold (inlined)
                                  <core::iter::adapters::take::Take<I> as core::iter::traits::iterator::Iterator>::for_each::check::{{closure}} (inlined)
                                  rav1e::rdo::inter_frame_rdo_mode_decision::{{closure}} (inlined)
                                  rav1e::rdo::luma_chroma_mode_rdo
                                  rav1e::rdo::luma_chroma_mode_rdo::{{closure}}
                                  rav1e::rdo::compute_distortion
                                  |          
                                  |--0.99%--rav1e::rdo::cdef_dist_wxh (inlined)
                                  |          |          
                                  |           --0.62%--rav1e::rdo::compute_distortion::{{closure}} (inlined)
                                  |          
                                   --0.78%--rav1e::rdo::sse_wxh (inlined)
                                             |          
                                              --0.62%--rav1e::rdo::compute_distortion::{{closure}} (inlined)

           1.51%        [.] core::ops::function::impls::<impl core::ops::function::FnMut<A> for &mut F>::call_mut
            |
            ---rav1e::api::internal::ContextInner<T>::receive_packet
               rav1e::api::internal::ContextInner<T>::compute_block_importances (inlined)
               <core::slice::iter::Iter<T> as core::iter::traits::iterator::Iterator>::for_each (inlined)
               rav1e::api::internal::ContextInner<T>::compute_block_importances::{{closure}} (inlined)
               rav1e::api::internal::ContextInner<T>::update_block_importances (inlined)
               core::iter::traits::iterator::Iterator::for_each (inlined)
               <core::iter::adapters::flatten::FlatMap<I,U,F> as core::iter::traits::iterator::Iterator>::fold (inlined)
               <core::iter::adapters::flatten::FlattenCompat<I,U> as core::iter::traits::iterator::Iterator>::fold (inlined)
               core::iter::adapters::flatten::FlattenCompat<I,U>::iter_fold (inlined)
               <core::iter::adapters::fuse::Fuse<I> as core::iter::traits::iterator::Iterator>::fold (inlined)
               <core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::fold
               <core::iter::adapters::enumerate::Enumerate<I> as core::iter::traits::iterator::Iterator>::fold (inlined)
               core::iter::traits::iterator::Iterator::fold (inlined)
               <core::iter::adapters::enumerate::Enumerate<I> as core::iter::traits::iterator::Iterator>::fold::enumerate::{{closure}} (inlined)
               core::iter::adapters::map::map_fold::{{closure}} (inlined)
               core::iter::adapters::flatten::FlattenCompat<I,U>::iter_fold::flatten::{{closure}} (inlined)
               <core::iter::adapters::flatten::FlattenCompat<I,U> as core::iter::traits::iterator::Iterator>::fold::flatten::{{closure}} (inlined)
               <core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::fold
               <core::iter::adapters::enumerate::Enumerate<I> as core::iter::traits::iterator::Iterator>::fold (inlined)
               core::iter::traits::iterator::Iterator::fold (inlined)
               <core::iter::adapters::enumerate::Enumerate<I> as core::iter::traits::iterator::Iterator>::fold::enumerate::{{closure}} (inlined)
               core::iter::adapters::map::map_fold::{{closure}} (inlined)
               core::ops::function::impls::<impl core::ops::function::FnMut<A> for &mut F>::call_mut
               |          
                --1.48%--core::iter::traits::iterator::Iterator::for_each::call::{{closure}} (inlined)
                          rav1e::api::internal::ContextInner<T>::update_block_importances::{{closure}} (inlined)
                          |          
                           --0.55%--rav1e::api::internal::ContextInner<T>::update_block_importances::{{closure}}::{{closure}} (inlined)

           1.43%        [.] rav1e::context::block_unit::<impl rav1e::context::cdf_context::ContextWriter>::write_coeffs_lv_map
            |
            ---rav1e::encoder::encode_tx_block
               rav1e::context::block_unit::<impl rav1e::context::cdf_context::ContextWriter>::write_coeffs_lv_map
               |          
                --0.59%--rav1e::context::block_unit::<impl rav1e::context::cdf_context::ContextWriter>::encode_coeffs (inlined)

           1.42%        [.] rav1e::asm::aarch64::transform::forward::daala_fdct_ii_16
            |
            ---rav1e::asm::aarch64::transform::forward::forward_transform_neon
               |          
                --0.96%--rav1e::asm::aarch64::transform::forward::daala_fdct16
                          rav1e::asm::aarch64::transform::forward::daala_fdct_ii_16

           1.38%        [.] <rav1e::ec::WriterBase<S> as rav1e::ec::Writer>::symbol_with_update
            |          
             --1.35%--rav1e::encoder::encode_tx_block
                       rav1e::context::block_unit::<impl rav1e::context::cdf_context::ContextWriter>::write_coeffs_lv_map
                       rav1e::context::block_unit::<impl rav1e::context::cdf_context::ContextWriter>::encode_coeffs (inlined)
                       <rav1e::ec::WriterBase<S> as rav1e::ec::Writer>::symbol_with_update

           1.33%        [.] rav1e::quantize::QuantizationContext::quantize
            |          
             --1.31%--rav1e::encoder::encode_tx_block
                       rav1e::quantize::QuantizationContext::quantize
                       |          
                        --0.51%--core::iter::traits::iterator::Iterator::max (inlined)
                                  core::iter::traits::iterator::Iterator::max_by (inlined)
                                  core::iter::traits::iterator::Iterator::reduce (inlined)
                                  |          
                                   --0.51%--<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::fold (inlined)
                                             core::iter::traits::iterator::Iterator::fold (inlined)

           0.95%        [.] rav1e::encoder::encode_tx_block
            |          
             --0.92%--rav1e::encoder::encode_tx_block
                       |          
                        --0.60%--rav1e::encoder::diff (inlined)

           0.88%        [.] rav1e::quantize::rust::dequantize
            |          
             --0.87%--rav1e::encoder::encode_tx_block
                       rav1e::quantize::rust::dequantize
                       |          
                        --0.68%--<core::iter::adapters::enumerate::Enumerate<I> as core::iter::traits::iterator::Iterator>::next (inlined)
                                  <core::iter::adapters::zip::Zip<A,B> as core::iter::traits::iterator::Iterator>::next (inlined)
                                  <core::iter::adapters::zip::Zip<A,B> as core::iter::adapters::zip::ZipImpl<A,B>>::next (inlined)

           0.73%        [.] rav1e::cdef::cdef_filter_superblock
            |          
             --0.69%--rav1e::encoder::encode_frame
                       rav1e::encoder::encode_tile_group (inlined)
                       rav1e::encoder::FrameState<T>::apply_tile_state_mut (inlined)
                       rav1e::encoder::encode_tile_group::{{closure}} (inlined)
                       rav1e::cdef::cdef_filter_tile
                       rav1e::cdef::cdef_filter_superblock

           0.73%        [.] prep_neon
            |          
             --0.53%--rav1e::rdo::rdo_partition_decision

           0.72%        [.] rav1e::rdo::luma_chroma_mode_rdo::{{closure}}
            |          
             --0.55%--rav1e::encoder::encode_partition_topdown
                       rav1e::rdo::rdo_partition_decision

           0.72%        [.] rav1e::lrf::rust::sgrproj_box_ab_r1
           0.70%        [.] rav1e::asm::aarch64::transform::forward::daala_fdct_ii_8
            |
            ---rav1e::asm::aarch64::transform::forward::forward_transform_neon
               |          
                --0.60%--rav1e::asm::aarch64::transform::forward::daala_fdct32
                          rav1e::asm::aarch64::transform::forward::daala_fdct_ii_32 (inlined)
                          rav1e::asm::aarch64::transform::forward::daala_fdct_ii_16_asym (inlined)
                          rav1e::asm::aarch64::transform::forward::daala_fdct_ii_8

           0.60%        [.] rav1e::asm::aarch64::transform::forward::daala_fdst_iv_16
            |
            ---rav1e::asm::aarch64::transform::forward::forward_transform_neon
               |          
                --0.58%--rav1e::asm::aarch64::transform::forward::daala_fdct64
                          rav1e::asm::aarch64::transform::forward::daala_fdct_ii_32_asym (inlined)
                          rav1e::asm::aarch64::transform::forward::daala_fdst_iv_16

           0.58%        [.] rav1e::me::get_fullpel_mv_rd
            |
            ---rav1e::me::estimate_motion
               |          
                --0.57%--rav1e::me::full_pixel_me (inlined)
                          |          
                           --0.55%--rav1e::me::full_pixel_me::{{closure}}

           0.56%        [.] rav1e::deblock::sse_size14
           0.56%        [.] rav1e::context::transform_unit::<impl rav1e::context::cdf_context::ContextWriter>::get_nz_map_contexts
            |          
             --0.55%--rav1e::encoder::encode_tx_block
                       rav1e::context::block_unit::<impl rav1e::context::cdf_context::ContextWriter>::write_coeffs_lv_map
                       rav1e::context::block_unit::<impl rav1e::context::cdf_context::ContextWriter>::encode_coeffs (inlined)
                       rav1e::context::transform_unit::<impl rav1e::context::cdf_context::ContextWriter>::get_nz_map_contexts
                       |          
                        --0.52%--rav1e::context::transform_unit::<impl rav1e::context::cdf_context::ContextWriter>::get_nz_map_ctx (inlined)

           0.51%        [.] rav1e::me::full_pixel_me::{{closure}}
            |
            ---rav1e::me::estimate_motion
               rav1e::me::full_pixel_me (inlined)
               rav1e::me::full_pixel_me::{{closure}}

           0.49%        [.] rav1e::asm::aarch64::transform::forward::daala_fdst_iv_8
           0.49%        [.] rav1e::context::transform_unit::<impl rav1e::context::cdf_context::ContextWriter>::get_nz_mag
           0.47%        [.] rav1e_avg_16bpc_neon
           0.45%        [.] put_neon
           0.41%        [.] <core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::fold
           0.38%        [.] rav1e::lrf::rust::sgrproj_box_f_r1
           0.36%        [.] rav1e::me::get_subset_predictors
           0.36%        [.] rav1e::predict::PredictionMode::predict_inter
           0.36%        [.] rav1e::predict::PredictionMode::predict_inter_single
           0.35%        [.] rav1e::asm::aarch64::transform::forward::daala_fdct16
           0.33%        [.] prep_8tap_neon
           0.32%        [.] rav1e::deblock::filter_v_edge
           0.29%        [.] <rav1e::ec::WriterBase<S> as rav1e::ec::Writer>::symbol_with_update
           0.28%        [.] rav1e::deblock::sse_size6
           0.26%        [.] rav1e::encoder::encode_block_pre_cdef
           0.25%        [.] rav1e::me::estimate_motion
           0.25%        [.] rav1e::lrf::rust::sgrproj_box_ab_r2
           0.24%        [.] rav1e::deblock::filter_h_edge
           0.22%        [.] rav1e::encoder::write_tx_tree
           0.21%        [.] rav1e::rdo::rdo_mode_decision
           0.20%        [.] rav1e::deblock::sse_v_edge
           0.20%        [.] rav1e::encoder::motion_compensate
           0.18%        [.] rav1e::context::block_unit::BlockContext::get_txb_ctx
           0.17%        [.] rav1e::encoder::encode_block_post_cdef
           0.16%        [.] rav1e::api::lookahead::estimate_importance_block_difference
           0.16%        [.] rav1e::deblock::sse_h_edge
           0.16%        [.] rav1e::partition::BlockSize::largest_chroma_tx_size
           0.15%        [.] rav1e::deblock::filter_wide14_12
           0.14%        [.] rav1e::deblock::deblock_size14_inner
           0.13%        [.] rav1e::me::estimate_tile_motion
           0.13%        [.] rav1e::me::full_search
           0.12%        [.] rav1e::lrf::rust::sgrproj_box_f_r2
           0.12%        [.] inv_dct_4s_x16_neon
           0.11%        [.] rav1e::context::block_unit::FrameBlocks::new
           0.11%        [.] rav1e::lrf::sgrproj_solve
           0.11%        [.] rav1e::partition::get_intra_edges
           0.10%        [.] rav1e::context::partition_unit::<impl rav1e::context::cdf_context::ContextWriter>::write_segmentation
           0.10%        [.] rav1e::rdo::rdo_tx_size_type
           0.10%        [.] rav1e::context::block_unit::<impl rav1e::context::cdf_context::ContextWriter>::fill_neighbours_ref_counts
           0.10%        [.] rav1e::context::block_unit::<impl rav1e::context::cdf_context::ContextWriter>::find_mvrefs
           0.10%        [.] rav1e::context::frame_header::<impl rav1e::context::cdf_context::ContextWriter>::write_ref_frames
           0.09%        [.] inv_dct32_odd_4s_x16_neon
           0.09%        [.] rav1e::context::transform_unit::<impl rav1e::context::cdf_context::ContextWriter>::get_br_ctx
           0.09%        [.] rav1e_inv_dct_8h_x16_neon
           0.09%        [.] rav1e::deblock::deblock_size6_inner
           0.08%        [.] rav1e::lrf::sgrproj_stripe_filter
           0.08%        [.] rav1e::activity::variance_8x8
           0.08%        [.] rav1e::context::partition_unit::<impl rav1e::context::cdf_context::ContextWriter>::get_segment_pred
           0.08%        [.] rav1e::quantize::QuantizationContext::update
           0.08%        [.] rav1e::context::partition_unit::<impl rav1e::context::block_unit::BlockContext>::reset_skip_context
           0.08%        [.] rav1e::dist::rust::get_weighted_sse
           0.07%        [.] rav1e::transform::forward_shared::Txfm2DFlipCfg::fwd
           0.07%        [.] rav1e_inv_dct32_odd_8h_x16_neon
           0.07%        [.] rav1e::deblock::deblock_size
           0.06%        [.] inv_txfm_horz_dct_32x4_neon
           0.06%        [.] rav1e::rdo::rdo_loop_plane_error
           0.06%        [.] inv_txfm_add_vert_dct_8x32_neon
           0.06%        [.] rav1e::context::block_unit::BlockContext::intra_inter_context
           0.06%        [.] rav1e::rdo::spatiotemporal_scale
           0.06%        [.] rav1e::tiling::plane_region::PlaneRegionMut<T>::scratch_copy
           0.05%        [.] v_frame::plane::Plane<T>::downsampled
           0.05%        [.] <v_frame::frame::Frame<T> as rav1e::frame::FrameAlloc>::new
           0.05%        [.] rav1e::context::partition_unit::<impl rav1e::context::block_unit::BlockContext>::skip_context
           0.05%        [.] memset@plt
           0.05%        [.] rav1e::lrf::setup_integral_image
           0.05%        [.] rav1e::context::block_unit::BlockContext::set_coeff_context
           0.05%        [.] rav1e::rdo::rdo_loop_decision
           0.04%        [.] rav1e::rdo::clip_visible_bsize
           0.04%        [.] rav1e::me::MotionEstimationSubsets::all_mvs
           0.04%        [.] rav1e::context::block_unit::<impl rav1e::context::cdf_context::ContextWriter>::encode_eob
           0.04%        [.] memcpy@plt
           0.04%        [.] rav1e::asm::aarch64::transform::forward::daala_fdct8
           0.04%        [.] rav1e::context::block_unit::<impl rav1e::context::cdf_context::ContextWriter>::scan_row_mbmi
           0.04%        [.] core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &mut F>::call_once
           0.04%        [.] rav1e::predict::PredictionMode::predict_intra
           0.04%        [.] rav1e::api::lookahead::estimate_inter_costs
           0.03%        [.] rav1e::context::block_unit::<impl rav1e::context::cdf_context::ContextWriter>::add_ref_mv_candidate
           0.03%        [.] inv_dct64_step1_neon
           0.03%        [.] rav1e::deblock::deblock_filter_optimize
           0.03%        [.] rav1e::encoder::save_block_motion
           0.03%        [.] inv_txfm_add_vert_dct_8x64_neon
           0.03%        [.] rav1e::context::block_unit::<impl rav1e::context::cdf_context::ContextWriter>::scan_col_mbmi
           0.03%        [.] rav1e::api::internal::ContextInner<T>::receive_packet
           0.03%        [.] rav1e::context::transform_unit::get_tx_set
           0.03%        [.] rav1e::asm::aarch64::mc::mc_avg
           0.03%        [.] rav1e::context::partition_unit::<impl rav1e::context::block_unit::BlockContext>::partition_plane_context
           0.03%        [.] inv_dct64_step2_neon
           0.03%        [.] rav1e::context::partition_unit::<impl rav1e::context::cdf_context::ContextWriter>::write_partition
           0.03%        [.] rav1e_ipred_z2_fill1_16bpc_neon
           0.03%        [.] rav1e::rdo::luma_chroma_mode_rdo
           0.03%        [.] core::cmp::PartialOrd::lt
           0.03%        [.] rav1e::context::block_unit::<impl rav1e::context::cdf_context::ContextWriter>::write_coeffs_lv_map
           0.03%        [.] core::ops::function::impls::<impl core::ops::function::FnMut<A> for &F>::call_mut
           0.03%        [.] <rav1e::ec::WriterBase<S> as rav1e::ec::Writer>::symbol_with_update
           0.03%        [.] rav1e::encoder::encode_block_pre_cdef
           0.02%        [.] <rav1e::ec::WriterBase<S> as rav1e::ec::Writer>::symbol_with_update
           0.02%        [.] rav1e::partition::BlockSize::from_width_and_height
           0.02%        [.] <rav1e::ec::WriterBase<S> as rav1e::ec::Writer>::symbol_with_update
           0.02%        [.] inv_dct64_step1_neon
           0.02%        [.] rav1e::api::lookahead::estimate_intra_costs
           0.02%        [.] core::cmp::PartialOrd::ge
           0.02%        [.] rav1e::context::block_unit::<impl rav1e::context::cdf_context::ContextWriter>::get_comp_ref_type_ctx
           0.02%        [.] rav1e::ec::rust::update_cdf
           0.02%        [.] inv_txfm_add_vert_8x16_neon
           0.02%        [.] <rav1e::ec::WriterBase<S> as rav1e::ec::Writer>::symbol_with_update
           0.02%        [.] rav1e_inv_txfm_dct_8h_x64_neon
           0.02%        [.] <arrayvec::arrayvec::ArrayVec<T,_> as core::iter::traits::collect::FromIterator<T>>::from_iter
           0.02%        [.] inv_txfm_horz_16x4_neon
           0.02%        [.] rav1e::ec::rust::update_cdf
           0.02%        [.] rav1e::asm::aarch64::transform::forward::daala_fdct4
           0.02%        [.] inv_dct64_step2_neon
           0.02%        [.] inv_txfm_dct_clear_4s_x64_neon
           0.02%        [.] rav1e::asm::aarch64::transform::inverse::inverse_transform_add
           0.02%        [.] inv_txfm_horz_dct_64x4_neon
           0.02%        [.] rav1e::rdo::rdo_cfl_alpha::{{closure}}::{{closure}}
           0.02%        [.] rav1e::rdo::rdo_partition_decision
           0.02%        [.] __aarch64_ldadd4_rel
           0.02%        [.] rav1e::encoder::encode_partition_bottomup
           0.02%        [.] rav1e::encoder::encode_partition_topdown
           0.02%        [.] rav1e::encoder::write_tx_blocks
           0.02%        [.] rav1e::context::partition_unit::<impl rav1e::context::cdf_context::ContextWriter>::write_segmentation
           0.02%        [.] <rav1e::ec::WriterBase<S> as rav1e::ec::Writer>::symbol_with_update
           0.02%        [.] __aarch64_cas4_acq
           0.02%        [.] rav1e_ipred_paeth_16bpc_neon
           0.02%        [.] rav1e_ipred_z1_fill1_16bpc_neon
           0.02%        [.] rav1e::context::block_unit::<impl rav1e::context::cdf_context::ContextWriter>::write_compound_mode
           0.01%        [.] rav1e::encoder::CodedFrameData<T>::compute_spatiotemporal_scores
           0.01%        [.] rav1e::context::block_unit::<impl rav1e::context::cdf_context::ContextWriter>::write_inter_mode
           0.01%        [.] <core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::fold
           0.01%        [.] v_frame::plane::Plane<T>::pad
           0.01%        [.] rav1e::deblock::sse_size4
           0.01%        [.] rav1e::deblock::sse_size8
           0.01%        [.] rav1e::context::frame_header::<impl rav1e::context::cdf_context::ContextWriter>::write_ref_frames
           0.01%        [.] rav1e_ipred_z3_fill1_16bpc_neon
           0.01%        [.] rav1e::encoder::encode_block_with_modes
           0.01%        [.] rav1e::activity::ActivityMask::fill_scales
           0.01%        [.] rav1e::context::block_unit::<impl rav1e::context::cdf_context::ContextWriter>::get_comp_mode_ctx
           0.01%        [.] cdef_filter8_pri_16bpc_neon
           0.01%        [.] inv_txfm_add_8x8_neon
           0.01%        [.] rav1e_ipred_smooth_16bpc_neon
           0.01%        [.] rav1e::cdef::cdef_analyze_superblock
           0.01%        [.] rav1e::partition::has_tr
           0.01%        [.] core::slice::sort::insertion_sort_shift_left
           0.01%        [.] rav1e::encoder::encode_tx_block
           0.01%        [.] rav1e::context::block_unit::<impl rav1e::context::cdf_context::ContextWriter>::write_mv
           0.01%        [.] rav1e::asm::aarch64::cdef::cdef_filter_block
           0.01%        [.] rav1e::encoder::check_lf_queue
           0.01%        [.] cdef_filter4_sec_16bpc_neon
           0.01%        [.] rav1e_cdef_find_dir_16bpc_neon
           0.01%        [.] rav1e_ipred_cfl_128_16bpc_neon
           0.01%        [.] <rav1e::ec::WriterBase<S> as rav1e::ec::Writer>::symbol_with_update
           0.01%        [.] rav1e::context::transform_unit::<impl rav1e::context::cdf_context::ContextWriter>::write_tx_type
           0.01%        [.] <T as alloc::vec::spec_from_elem::SpecFromElem>::from_elem
           0.01%        [.] rav1e::ec::rust::update_cdf
           0.01%        [.] rav1e::partition::BlockSize::largest_chroma_tx_size
           0.01%        [.] rav1e_inv_txfm_add_dct_dct_32x32_16bpc_neon
           0.01%        [.] rav1e::partition::supersample_chroma_bsize
           0.01%        [.] rav1e::context::partition_unit::<impl rav1e::context::cdf_context::ContextWriter>::write_partition
           0.01%        [.] inv_dct_4s_x8_neon
           0.01%        [.] rav1e::deblock::deblock_size8_inner
           0.01%        [.] <arrayvec::arrayvec::ArrayVec<T,_> as core::clone::Clone>::clone
           0.01%        [.] rav1e_ipred_dc_128_16bpc_neon
           0.01%        [.] rav1e::deblock::deblock_adjusted_level
           0.01%        [.] <rav1e::ec::WriterBase<rav1e::ec::WriterEncoder> as rav1e::ec::StorageBackend>::store
           0.01%        [.] <rav1e::ec::WriterBase<S> as rav1e::ec::Writer>::symbol_with_update
           0.01%        [.] <rav1e::ec::WriterBase<S> as rav1e::ec::Writer>::symbol_with_update
           0.01%        [.] rav1e::context::<impl rav1e::context::cdf_context::ContextWriter>::encode_mv_component
           0.01%        [.] <rav1e::ec::WriterBase<S> as rav1e::ec::Writer>::symbol_with_update
           0.01%        [.] <rav1e::ec::WriterBase<S> as rav1e::ec::Writer>::symbol_with_update
           0.01%        [.] rav1e_ipred_smooth_h_16bpc_neon
           0.01%        [.] rav1e_cdef_padding4_16bpc_neon
           0.01%        [.] rav1e::lrf::rust::sgrproj_box_f_r0
           0.01%        [.] cdef_filter8_sec_16bpc_neon
           0.01%        [.] rav1e::context::block_unit::BlockContext::checkpoint
           0.01%        [.] arrayvec::arrayvec::ArrayVec<T,_>::push
           0.00%        [.] rav1e::api::internal::ContextInner<T>::send_frame
           0.00%        [.] rav1e_inv_dct_8h_x8_neon
           0.00%        [.] rav1e_ipred_z1_filter_edge_16bpc_neon
           0.00%        [.] rav1e::activity::ActivityMask::from_plane
           0.00%        [.] rav1e_cdef_padding8_16bpc_neon
           0.00%        [.] rav1e::context::partition_unit::<impl rav1e::context::block_unit::BlockContext>::update_partition_context
           0.00%        [.] inv_adst_4s_x16_neon
           0.00%        [.] alloc::collections::btree::node::Handle<alloc::collections::btree::node::NodeRef<alloc::collections::btree::node::marker::Mut,K,V,alloc::collections::btree::node::marker::Leaf>,alloc::collections::btree::node::marker::Edge>::insert_recursing
           0.00%        [.] crossbeam_deque::deque::Stealer<T>::steal
           0.00%        [.] core::slice::sort::merge_sort
           0.00%        [.] rav1e::util::logexp::blog32_q11
           0.00%        [.] inv_txfm_horz_scale_dct_32x4_neon
           0.00%        [.] rav1e_ipred_cfl_16bpc_neon
           0.00%        [.] rav1e::ec::rust::update_cdf
           0.00%        [.] <rav1e::ec::WriterBase<S> as rav1e::ec::Writer>::symbol_with_update
           0.00%        [.] rav1e::asm::aarch64::predict::ipred_z1
           0.00%        [.] rav1e_ipred_dc_16bpc_neon
           0.00%        [.] rav1e::partition::BlockSize::subsize
           0.00%        [.] rav1e::ec::rust::update_cdf
           0.00%        [.] rav1e::ec::rust::update_cdf
           0.00%        [.] __aarch64_ldadd8_rel
           0.00%        [.] rav1e::deblock::deblock_size4_inner
           0.00%        [.] alloc::raw_vec::RawVec<T,A>::reserve_for_push
           0.00%        [.] core::cmp::PartialOrd::ge
           0.00%        [.] inv_txfm_add_4x4_neon
           0.00%        [.] rav1e::context::frame_header::<impl rav1e::context::cdf_context::ContextWriter>::write_lrf
           0.00%        [.] rav1e::context::block_unit::<impl rav1e::context::cdf_context::ContextWriter>::write_intra_mode_kf
           0.00%        [.] rav1e_ipred_cfl_ac_420_16bpc_neon
           0.00%        [.] crossbeam_epoch::default::with_handle
           0.00%        [.] core::slice::sort::merge_sort
           0.00%        [.] inv_txfm_add_16x16_neon
           0.00%        [.] rav1e::context::block_unit::<impl rav1e::context::cdf_context::ContextWriter>::write_inter_mode
           0.00%        [.] rav1e::asm::aarch64::transform::forward::daala_fdst16
           0.00%        [.] rav1e_ipred_smooth_v_16bpc_neon
           0.00%        [.] rav1e_ipred_h_16bpc_neon
           0.00%        [.] core::slice::sort::insertion_sort_shift_left
           0.00%        [.] rav1e::asm::aarch64::predict::ipred_z2
           0.00%        [.] rav1e::asm::aarch64::predict::pred_cfl_ac
           0.00%        [.] alloc::raw_vec::finish_grow
           0.00%        [.] rav1e::context::block_unit::<impl rav1e::context::cdf_context::ContextWriter>::encode_eob
           0.00%        [.] rayon_core::registry::WorkerThread::wait_until_cold
           0.00%        [.] rav1e_inv_txfm_add_dct_dct_64x64_16bpc_neon
           0.00%        [.] rav1e::predict::rust::dr_intra_derivative
           0.00%        [.] <alloc::boxed::Box<[I]> as core::iter::traits::collect::FromIterator<I>>::from_iter
           0.00%        [.] core::cmp::PartialOrd::ge
           0.00%        [.] rav1e_put_8tap_regular_16bpc_neon
           0.00%        [.] rav1e_inv_adst_8h_x16_neon
           0.00%        [.] __aarch64_ldadd8_relax
           0.00%        [.] rav1e::do_encode
           0.00%        [.] crossbeam_deque::deque::Injector<T>::steal
           0.00%        [.] rav1e_ipred_v_16bpc_neon
           0.00%        [.] inv_txfm_dct_clear_scale_4s_x64_neon
           0.00%        [.] inv_adst_4s_x8_neon
           0.00%        [.] alloc::collections::btree::map::entry::OccupiedEntry<K,V,A>::remove_kv
           0.00%        [.] rav1e::recon_intra::has_top_right
           0.00%        [.] rav1e_inv_txfm_add_dct_dct_16x16_16bpc_neon
           0.00%        [.] <rav1e::ec::WriterBase<S> as rav1e::ec::Writer>::symbol_with_update
           0.00%        [.] idct_dc_w8_neon
           0.00%        [.] rav1e::encoder::encode_frame
           0.00%        [.] core::cmp::PartialOrd::le
           0.00%        [.] alloc::collections::btree::map::entry::VacantEntry<K,V,A>::insert
           0.00%        [.] rav1e_ipred_z3_fill2_16bpc_neon
           0.00%        [.] <rav1e::ec::WriterBase<S> as rav1e::ec::Writer>::symbol_with_update
           0.00%        [.] <core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::fold
           0.00%        [.] rav1e::lrf::RestorationState::lrf_filter_frame
           0.00%        [.] rav1e::context::cdf_context::CDFContext::new
           0.00%        [.] rayon_core::sleep::Sleep::sleep
           0.00%        [.] idct_dc_w32_neon
           0.00%        [.] rav1e::context::block_unit::<impl rav1e::context::cdf_context::ContextWriter>::write_compound_mode
           0.00%        [.] core::slice::sort::insertion_sort_shift_left
           0.00%        [.] rav1e_ipred_z2_fill3_16bpc_neon
           0.00%        [.] <rav1e::ec::WriterBase<S> as rav1e::ec::Writer>::count_signed_subexp_with_ref
           0.00%        [.] core::slice::sort::insertion_sort_shift_left
           0.00%        [.] rav1e::asm::aarch64::transform::forward::daala_fdst8
           0.00%        [.] alloc::collections::btree::remove::<impl alloc::collections::btree::node::Handle<alloc::collections::btree::node::NodeRef<alloc::collections::btree::node::marker::Mut,K,V,alloc::collections::btree::node::marker::Leaf>,alloc::collections::btree:>
           0.00%        [.] malloc@plt
           0.00%        [.] rav1e::tiling::tile_state::TileStateMut<T>::new
           0.00%        [.] rav1e::asm::aarch64::predict::ipred_z3
           0.00%        [.] rav1e::encoder::FrameInvariants<T>::set_ref_frame_sign_bias
           0.00%        [.] alloc::sync::Arc<T,A>::make_mut
           0.00%        [.] <rayon_core::job::StackJob<L,F,R> as rayon_core::job::Job>::execute
           0.00%        [.] rav1e::encoder::FrameInvariants<T>::new_inter_frame
           0.00%        [.] <core::iter::adapters::chain::Chain<A,B> as core::iter::traits::iterator::Iterator>::try_fold
           0.00%        [.] rav1e_inv_dct_4h_x4_neon
           0.00%        [.] <rav1e::ec::WriterBase<S> as rav1e::ec::Writer>::symbol_with_update
           0.00%        [.] rav1e_ipred_z2_fill2_16bpc_neon
           0.00%        [.] cdef_filter4_pri_16bpc_neon
           0.00%        [.] rav1e::tiling::tile_restoration_state::TileRestorationPlaneMut::restoration_unit_offset
           0.00%        [.] <rav1e::ec::WriterBase<S> as rav1e::ec::Writer>::symbol_with_update
           0.00%        [.] rav1e::predict::luma_ac
           0.00%        [.] rav1e::rate::RCState::calc_flat_quantizer
           0.00%        [.] <rav1e::ec::WriterBase<S> as rav1e::ec::Writer>::symbol_bits
           0.00%        [.] rayon::iter::plumbing::Folder::consume_iter
           0.00%        [.] rav1e_inv_adst_8h_x8_neon
           0.00%        [.] rav1e::util::logexp::blog64
           0.00%        [.] rayon_core::latch::LockLatch::wait_and_reset
           0.00%        [.] <std::io::stdio::StdinLock as std::io::Read>::read_exact
           0.00%        [.] rav1e::rate::QuantizerParameters::new_from_log_q
           0.00%        [.] <alloc::collections::btree::map::Keys<K,V> as core::iter::traits::double_ended::DoubleEndedIterator>::next_back
           0.00%        [.] crossbeam_deque::deque::Worker<T>::pop
           0.00%        [.] rayon_core::job::StackJob<L,F,R>::run_inline
           0.00%        [.] <rayon_core::latch::CountLatch as rayon_core::latch::Latch>::set
           0.00%        [.] <rayon_core::job::StackJob<L,F,R> as rayon_core::job::Job>::execute
           0.00%        [.] rav1e::context::<impl rav1e::context::cdf_context::ContextWriter>::encode_mv_component
           0.00%        [.] inv_txfm_horz_scale_16x4_neon
           0.00%        [.] rav1e::recon_intra::has_bottom_left
           0.00%        [.] <rav1e::ec::WriterBase<S> as rav1e::ec::Writer>::symbol_with_update
           0.00%        [.] rav1e_inv_adst_4h_x4_neon
           0.00%        [.] rav1e::asm::aarch64::transform::forward::daala_fdst_vii_4
           0.00%        [.] rav1e::ec::rust::update_cdf
           0.00%        [.] rav1e_ipred_z2_upsample_edge_16bpc_neon
           0.00%        [.] idct_dc_w16_neon
           0.00%        [.] idct_dc_w64_neon
           0.00%        [.] rayon_core::registry::global_registry
           0.00%        [.] <rav1e::ec::WriterBase<S> as rav1e::ec::Writer>::write_golomb
           0.00%        [.] <rav1e::ec::WriterBase<S> as rav1e::ec::Writer>::symbol_with_update
           0.00%        [.] memmove@plt
           0.00%        [.] <T as alloc::vec::spec_from_elem::SpecFromElem>::from_elem
           0.00%        [.] rav1e::context::transform_unit::<impl rav1e::context::cdf_context::ContextWriter>::write_tx_type
           0.00%        [.] rav1e::context::frame_header::<impl rav1e::context::cdf_context::CDFContext>::count_lrf_switchable
           0.00%        [.] core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &mut F>::call_once
           0.00%        [.] core::fmt::write
           0.00%        [.] rav1e::util::logexp::bexp64
           0.00%        [.] rav1e::cdef::cdef_filter_tile
           0.00%        [.] rav1e::util::kmeans::scan
           0.00%        [.] <alloc::vec::Vec<T> as alloc::vec::spec_from_iter::SpecFromIter<T,I>>::from_iter
           0.00%        [.] <bitstream_io::write::BitWriter<W,bitstream_io::BigEndian> as rav1e::header::ULEB128Writer>::write_uleb128
           0.00%        [.] rav1e::lrf::RestorationState::new
           0.00%        [.] <rav1e::stats::ProgressInfo as core::fmt::Display>::fmt
           0.00%        [.] rayon::iter::plumbing::bridge_producer_consumer::helper
           0.00%        [.] <bitstream_io::write::BitWriter<W,bitstream_io::BigEndian> as rav1e::header::UncompressedHeader>::write_frame_size
           0.00%        [.] <alloc::vec::Vec<T> as alloc::vec::spec_from_iter::SpecFromIter<T,I>>::from_iter
           0.00%        [.] rav1e::api::lookahead::compute_motion_vectors
           0.00%        [.] <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
           0.00%        [.] rav1e::encoder::FrameState<T>::new_with_frame
           0.00%        [.] rav1e::encoder::FrameInvariants<T>::new_key_frame
           0.00%        [.] rav1e::tiling::tile::Tile<T>::subregion::{{closure}}
           0.00%        [.] <bitstream_io::write::BitWriter<W,bitstream_io::BigEndian> as rav1e::header::UncompressedHeader>::write_frame_header_obu
           0.00%        [.] core::ptr::drop_in_place<rav1e::encoder::FrameInvariants<u16>>
           0.00%        [.] rav1e::rate::RCState::update_state
           0.00%        [.] <rayon::iter::unzip::UnzipFolder<OP,FA,FB> as rayon::iter::plumbing::Folder<T>>::consume
           0.00%        [.] <fern::log_impl::Dispatch as log::Log>::log
           0.00%        [.] rav1e_inv_txfm_add_dct_dct_16x32_16bpc_neon
           0.00%        [.] rav1e::me::FrameMEStats::new_arc_array
           0.00%        [.] core::cmp::PartialOrd::gt
           0.00%        [.] <rayon::vec::IntoIter<T> as rayon::iter::IndexedParallelIterator>::with_producer
           0.00%        [.] rav1e::context::block_unit::<impl rav1e::context::cdf_context::ContextWriter>::get_cdf_intra_mode_kf
           0.00%        [.] pow@plt
           0.00%        [.] rav1e::context::partition_unit::<impl rav1e::context::cdf_context::ContextWriter>::write_cfl_alphas
           0.00%        [.] rav1e::rate::RCState::ready
           0.00%        [.] <rayon::vec::IntoIter<T> as rayon::iter::IndexedParallelIterator>::with_producer
           0.00%        [.] rav1e::cdef::cdef_analyze_superblock_range
           0.00%        [.] free@plt
           0.00%        [.] <rayon::iter::plumbing::bridge::Callback<C> as rayon::iter::plumbing::ProducerCallback<I>>::callback
           0.00%        [.] rav1e_ipred_z1_fill2_16bpc_neon
           0.00%        [.] alloc::collections::vec_deque::VecDeque<T,A>::grow
           0.00%        [.] rav1e::context::block_unit::<impl rav1e::context::cdf_context::ContextWriter>::write_mv
           0.00%        [.] std::io::Write::write_all
           0.00%        [.] alloc::collections::btree::remove::<impl alloc::collections::btree::node::Handle<alloc::collections::btree::node::NodeRef<alloc::collections::btree::node::marker::Mut,K,V,alloc::collections::btree::node::marker::LeafOrInternal>,alloc::collectio>
           0.00%        [.] rav1e_inv_txfm_add_dct_dct_64x32_16bpc_neon
           0.00%        [.] rav1e_ipred_reverse_16bpc_neon
           0.00%        [.] rav1e_inv_txfm_add_dct_dct_16x8_16bpc_neon
           0.00%        [.] <bitstream_io::write::BitWriter<W,E> as bitstream_io::write::BitWrite>::write
           0.00%        [.] rav1e::quantize::select_dc_qi
           0.00%        [.] alloc::collections::btree::node::BalancingContext<K,V>::merge_tracking_child_edge
           0.00%        [.] crossbeam_epoch::internal::Global::collect
           0.00%        [.] <alloc::vec::Vec<T> as alloc::vec::spec_from_iter::SpecFromIter<T,I>>::from_iter
           0.00%        [.] rav1e_ipred_dc_left_16bpc_neon
           0.00%        [.] <bitstream_io::write::BitWriter<W,E> as bitstream_io::write::BitWrite>::write_bit
           0.00%        [.] rav1e_inv_txfm_add_dct_dct_32x64_16bpc_neon
           0.00%        [.] rayon::math::simplify_range
           0.00%        [.] posix_memalign@plt
           0.00%        [.] rayon_core::registry::Registry::in_worker_cold
           0.00%        [.] <arrayvec::arrayvec::ArrayVec<T,_> as core::iter::traits::collect::FromIterator<T>>::from_iter
           0.00%        [.] calloc@plt
           0.00%        [.] alloc::collections::btree::map::entry::OccupiedEntry<K,V,A>::remove_kv
           0.00%        [.] <bitstream_io::write::BitWriter<W,bitstream_io::BigEndian> as rav1e::header::UncompressedHeader>::write_segment_data
           0.00%        [.] std::io::Write::write_fmt
           0.00%        [.] alloc::raw_vec::RawVec<T,A>::reserve_for_push
           0.00%        [.] rav1e::segmentation::segmentation_optimize
           0.00%        [.] core::ops::function::impls::<impl core::ops::function::FnMut<A> for &F>::call_mut
           0.00%        [.] core::slice::sort::merge_sort
           0.00%        [.] <console::utils::StyledObject<D> as core::fmt::Display>::fmt
           0.00%        [.] core::ptr::drop_in_place<rayon::vec::Drain<rav1e::tiling::tiler::TileContextMut<u16>>>
           0.00%        [.] core::ptr::drop_in_place<alloc::vec::Vec<rav1e::tiling::tiler::TileContextMut<u16>>>
           0.00%        [.] alloc::collections::btree::map::BTreeMap<K,V,A>::get
           0.00%        [.] <rav1e::api::util::FrameType as core::fmt::Display>::fmt
           0.00%        [.] <rav1e::stats::EncoderStats as core::ops::arith::AddAssign<&rav1e::stats::EncoderStats>>::add_assign
           0.00%        [.] core::ptr::drop_in_place<rav1e::encoder::ReferenceFramesSet<u16>>
           0.00%        [.] <alloc::vec::Vec<T> as alloc::vec::spec_from_iter::SpecFromIter<T,I>>::from_iter
           0.00%        [.] core::ptr::drop_in_place<v_frame::frame::Frame<u16>>
           0.00%        [.] <v_frame::frame::Frame<T> as core::clone::Clone>::clone
           0.00%        [.] crossbeam_epoch::sync::queue::Queue<T>::try_pop_if
           0.00%        [.] alloc::raw_vec::RawVec<T,A>::reserve::do_reserve_and_handle
           0.00%        [.] <bitstream_io::write::BitWriter<W,E> as bitstream_io::write::BitWrite>::write
           0.00%        [.] alloc::collections::btree::remove::<impl alloc::collections::btree::node::Handle<alloc::collections::btree::node::NodeRef<alloc::collections::btree::node::marker::Mut,K,V,alloc::collections::btree::node::marker::Leaf>,alloc::collections::btree:>
           0.00%        [.] alloc::collections::btree::navigate::LeafRange<BorrowType,K,V>::perform_next_checked
           0.00%        [.] std::sys::unix::locks::futex_mutex::Mutex::lock_contended
           0.00%        [.] core::fmt::num::imp::<impl core::fmt::Display for usize>::fmt
           0.00%        [.] <alloc::vec::Vec<T,A> as alloc::vec::spec_extend::SpecExtend<T,alloc::vec::into_iter::IntoIter<T>>>::spec_extend
           0.00%        [.] core::ptr::drop_in_place<rayon::vec::SliceDrain<rav1e::tiling::tiler::TileContextMut<u16>>>
           0.00%        [.] <alloc::collections::btree::map::Iter<K,V> as core::iter::traits::iterator::Iterator>::next
           0.00%        [.] alloc::collections::btree::map::BTreeMap<K,V,A>::insert
           0.00%        [.] alloc::raw_vec::finish_grow
           0.00%        [.] rayon_core::sleep::Sleep::wake_specific_thread
           0.00%        [.] v_frame::plane::Plane<T>::probe_padding
           0.00%        [.] exp@plt
           0.00%        [.] rav1e::encoder::FrameState<T>::new_with_frame_and_me_stats_and_rec
           0.00%        [.] rav1e::scenechange::SceneChangeDetector<T>::analyze_next_frame
           0.00%        [.] __aarch64_ldset8_acq_rel
           0.00%        [.] rayon_core::registry::Registry::inject_or_push
           0.00%        [.] rav1e::scenechange::SceneChangeDetector<T>::run_comparison
           0.00%        [.] <alloc::boxed::Box<[T],A> as core::clone::Clone>::clone
           0.00%        [.] __aarch64_cas8_acq_rel
           0.00%        [.] <core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::fold
           0.00%        [.] <rayon_core::job::HeapJob<BODY> as rayon_core::job::Job>::execute
           0.00%        [.] rav1e::context::cdf_context::CDFContext::reset_counts
           0.00%        [.] rayon_core::join::join_context::{{closure}}
           0.00%        [.] __aarch64_ldadd4_relax
           0.00%        [.] clap_builder::mkeymap::MKeyMap::_build
           0.00%        [.] clap_builder::parser::arg_matcher::ArgMatcher::start_custom_arg

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants