Announcement

Collapse
No announcement yet.

SVT-AV1 1.6 Squeezes Out Even More Performance For CPU-Based AV1 Encoding

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

  • #11
    Originally posted by risho View Post
    is svt-av1 also good for encoding avif images? I'm currently using libaom which works well enough but i have many hundreds of thousands of images and it's quite slow. it's almost been made much harder to search these things up now that the av1 subreddit has been deleted from the universe. also, does nvidia's 40 series av1_nvenc support encoding avif or just av1 video?
    I personally wouldnt bother with avif unless you are doing animated images in the first place since JXL and hell, even jpegli are quite good. but typically you would want to use aomenc for avif since yuv444 doesn't exist and svtav1 is missing a decent amount of optimizations for stills, that being said, if you don't really care about quality svtav1 is fine for avif.

    keep in mind that a still AVIF is just an AV1 keyframe, so anything that can produce a keyframe (so any av1 encoder that works) will work for making avif images, that includes nvenc

    Comment


    • #12
      Originally posted by Quackdoc View Post

      I personally wouldnt bother with avif unless you are doing animated images in the first place since JXL and hell, even jpegli are quite good. but typically you would want to use aomenc for avif since yuv444 doesn't exist and svtav1 is missing a decent amount of optimizations for stills, that being said, if you don't really care about quality svtav1 is fine for avif.

      keep in mind that a still AVIF is just an AV1 keyframe, so anything that can produce a keyframe (so any av1 encoder that works) will work for making avif images, that includes nvenc


      I appreciate the response. Unfortunately since jpeg xl has been abandoned by chromium jpeg xl is not an option for me. Sounds like the things I've heard about svtav1 lacking as compared to libaom are true. I guess I'll stick with that. Currently I'm converting png files which are lossless and thus there is a lot of space to be saved. crf 23 seems to retain almost all of the quality from the lossless image with an 80 percent size reduction. if I were to convert a bunch of lossy jpegs into avif, do you think that using crf 15 or something lower would be able to retain most of the quality while still compressing them well enough or is recompressing jpegs to avif just a bad idea?

      Comment


      • #13
        Originally posted by risho View Post
        I appreciate the response. Unfortunately since jpeg xl has been abandoned by chromium jpeg xl is not an option for me. Sounds like the things I've heard about svtav1 lacking as compared to libaom are true. I guess I'll stick with that. Currently I'm converting png files which are lossless and thus there is a lot of space to be saved. crf 23 seems to retain almost all of the quality from the lossless image with an 80 percent size reduction. if I were to convert a bunch of lossy jpegs into avif, do you think that using crf 15 or something lower would be able to retain most of the quality while still compressing them well enough or is recompressing jpegs to avif just a bad idea?
        I dont reccomend converting jpegs to avif, the space savings aren't really there as for jpegs and you hit quality loss pretty fast. SVT is pretty optimized for specifically fast encoding on cpus for videos for stuff like live streams and what not, so I doubt it will change any time there soon. for aomenc using libavif is easier for most people

        also I would highly recommend holding onto your source files anyways if you have the ability to, since apple recently announced jxl support on safari and all their devices like, a week or two ago? gnome web(I know.) has stated they will be adding support, firefox has added "parity-safari" tag (admittedly doesn't actually mean much), however with all of this new development, there is a non insignificant that the sitatation might change for the better

        Comment


        • #14
          Originally posted by Quackdoc View Post

          if you don't mind slower encodes or using av1an, aomenc gets a good chunk better quaility:efficiency then svtav1
          AOM was folded into SVT-AV1 and the latter is the framework for all future codec development:

          Initiative to Focus on Enhancing Video Streaming Experiences at Scale by Developing a Production-Ready AV1 Encoder Model and Implementations Using the Open-Source SVT-AV1 Codec




          Comment


          • #15
            Originally posted by Quackdoc View Post
            still no 422/444 support T.T
            bruh 😐👎🏻

            Comment


            • #16
              Originally posted by sophisticles View Post

              AOM was folded into SVT-AV1 and the latter is the framework for all future codec development:

              Initiative to Focus on Enhancing Video Streaming Experiences at Scale by Developing a Production-Ready AV1 Encoder Model and Implementations Using the Open-Source SVT-AV1 Codec



              aomenc and svtav1 were not folded together, aomenc is developed here and is better for high fidelity encodes https://aomedia.googlesource.com/aom/

              aomenc, svtav1 and rav1e are all active projects (rav1e is slow, but is the best encoder for high fidelity high(er) bitrate encodes if you don't want to mess with a plethora of aom settings)

              (I say high bitrate, but still lower in comparison to hevc or avc(

              Comment


              • #17
                Originally posted by sophisticles View Post
                AOM was folded into SVT-AV1 and the latter is the framework for all future codec development:
                In context that made no sense. AOMedia and AOM are two different things all together. AOM is a codec implantation. AOMedia is an organization. There was no merging of any sorts.

                Comment


                • #18
                  Random question, as I'm a bit stuck getting AVX-512 to work with SVT-AV1 on my 7950X. Changed a few options prior to compiling -- but I'm still getting:

                  Code:
                  Svt[info]: [asm level on system : up to avx512]
                  Svt[info]: [asm level selected : up to avx2]
                  When running:

                  Code:
                  ffmpeg -i in.mkv -c:v libsvtav1 -preset 4 -crf 18 -svtav1-params asm=avx512 -c:a copy out.mkv
                  The changed options, from/to:

                  From:
                  Code:
                  option(ENABLE_AVX512 "Enable building avx512 code" OFF)

                  to:
                  Code:
                  option(ENABLE_AVX512 "Enable building avx512 code" ON)
                  From:
                  Code:
                   option(NATIVE "Build for native performance (march=native)" ON)
                  to:
                  Code:
                   option(NATIVE "Build for native performance (march=znver4)" ON)
                  Also tried compiling with changing only:
                  Code:
                  option(ENABLE_AVX512 "Enable building avx512 code" ON)
                  and leaving march=native

                  Any ideas on how to get AVX-512 working with a 7950X?

                  EDIT: Answering my own question - forgot to compile with the option -DENABLE_AVX512=ON.
                  Last edited by telarium; 25 June 2023, 02:12 PM.

                  Comment


                  • #19
                    Originally posted by telarium View Post
                    Random question, as I'm a bit stuck getting AVX-512 to work with SVT-AV1 on my 7950X. Changed a few options prior to compiling -- but I'm still getting:

                    Code:
                    Svt[info]: [asm level on system : up to avx512]
                    Svt[info]: [asm level selected : up to avx2]
                    When running:

                    Code:
                    ffmpeg -i in.mkv -c:v libsvtav1 -preset 4 -crf 18 -svtav1-params asm=avx512 -c:a copy out.mkv
                    The changed options, from/to:

                    From:
                    Code:
                    option(ENABLE_AVX512 "Enable building avx512 code" OFF)

                    to:
                    Code:
                    option(ENABLE_AVX512 "Enable building avx512 code" ON)
                    From:
                    Code:
                     option(NATIVE "Build for native performance (march=native)" ON)
                    to:
                    Code:
                     option(NATIVE "Build for native performance (march=znver4)" ON)
                    Also tried compiling with changing only:
                    Code:
                    option(ENABLE_AVX512 "Enable building avx512 code" ON)
                    and leaving march=native

                    Any ideas on how to get AVX-512 working with a 7950X?

                    EDIT: Answering my own question - forgot to compile with the option -DENABLE_AVX512=ON.
                    Did you measure how much of a difference it makes with and without it?

                    Comment

                    Working...
                    X