Announcement

Collapse
No announcement yet.

Rav1e 0.3.1 Is 25~40% Faster At Low Speed Levels For Rust-Based AV1 Encoding

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • bug77
    replied
    Originally posted by AndyChow View Post

    But, can they really claim to be the "safest" encoder around, if they put some manual assembly in there?
    They didn't say "bulletproof" or "unbreakable". As long as it's safer than all other encoders, it's the safest of the bunch.

    The whole idea of safe code in Rust is not that all programs will magically work. They won't. The promise is to curb one specific category of problems related to memory management that are both pervasive at systems coding level and annoying to debug. Thus freeing the developer to shift their focus elsewhere.

    Leave a comment:


  • Toggleton
    replied
    Originally posted by AndyChow View Post

    But, can they really claim to be the "safest" encoder around, if they put some manual assembly in there?
    They use the assembly from dav1d(the widely used av1 decoder) so it will be tested a lot on the dav1d side. Not sure if they have any rav1e specific assembly.
    From the README
    you may set the environment variable RAV1E_CPU_TARGET to rust to disable all the assembly-optimized routines at the runtime.
    but i guess the speed impact will be big.(EDIT: on a core2quad speed10 tiles 2x2 sse2+ssse3 0.484fps->0.145fps 20m38s->68m44s)

    I think it compares against encoder mostly written in C
    svt-av1 has
    • C 92.0% C++ 6.5% Assembly 0.9%
    libaom(did check a github mirror from sep 2019 but should not have changed much)
    • C 77.3% C++ 14.0% Objective-C 3.1% Assembly 2.0%
    and rav1e has(i guess it would be more % rust if we look at the dependency that cargo will use while building )
    • Assembly 56.8% Rust 42.9%
    Last edited by Toggleton; 23 February 2020, 05:46 AM.

    Leave a comment:


  • AndyChow
    replied
    Originally posted by bug77 View Post

    It depends what you're after. Not having to worry too much about the input parameters (among other things) causing undesired effects surely puts Rust in a good light.
    But, can they really claim to be the "safest" encoder around, if they put some manual assembly in there?

    Leave a comment:


  • profoundWHALE
    replied
    Originally posted by Sin2x View Post
    This is not a showcase for Rust at all, since all the optimization is in Assembly.
    Welcome to the land of low-level programming

    Leave a comment:


  • bug77
    replied
    Originally posted by Sin2x View Post
    This is not a showcase for Rust at all, since all the optimization is in Assembly.
    It depends what you're after. Not having to worry too much about the input parameters (among other things) causing undesired effects surely puts Rust in a good light.

    Leave a comment:


  • Sin2x
    replied
    This is not a showcase for Rust at all, since all the optimization is in Assembly.

    Leave a comment:


  • bug77
    replied
    It's not that helpful to keep pointing out that a piece of software at v0.3 is not fast enough. At this point, focus is most likely on correctness, speed will come into play much later. You know, make it work -> make it good -> make it fast.

    Leave a comment:


  • Toggleton
    replied
    Originally posted by all3f0r1 View Post
    Well, considering:
    - this is an improvement made in a 2 weeks span
    - version is 0.3.1
    - there's still a handful of low-hanging fruits

    I'd say this release is satisfying.
    The Text for this Release is "This is a patch release correcting some balancing issues in speed/complexity tradeoffs."
    Looks to me like the work since the 0.3 release is not in 0.3.1 or at least not all https://github.com/xiph/rav1e/compare/v0.3.1...master
    Last edited by Toggleton; 20 February 2020, 12:07 PM.

    Leave a comment:


  • microcode
    replied
    I would like to see what could be done with AV1 at the same encode complexity as VP9.

    Leave a comment:


  • microcode
    replied
    Originally posted by Chugworth View Post
    Have AV1 encoders gotten usable yet or can the speeds still be measured in seconds per frame?
    It depends on your encode complexity. You can beat VP9/HEVC with SVT-AV1 at a non-insane encode speed. If you turn the encode complexity up to the max, the sky is the limit.

    Leave a comment:

Working...
X