Announcement

Collapse
No announcement yet.

libvpx 1.4.0 Brings Faster VP9 Encode/Decode

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

  • #11
    Originally posted by nanonyme View Post
    I vote on curaga getting to figure out code names from now on, laughed out loud at those ones
    Meh, Masturbating Money is not new, it's been used for a long time already when making fun of Ubuntu.

    On codenames in general, the only area where I use those is Intel CPUs and GPUs. Here names like Sandy Bridge and Haswell immediately tell me what it's about, more than numbers. For example do you immediately know what an i3-3210 or a Pentium N3510 is?

    And on libvpx, once I'm with my Haswell desktop next week, I will test this 1.4.0 release in both vp8 and vp9 modes, and I'll also throw in x264 and x265 into the mix, to see how they all compare in visual quality as well as speed.
    Last edited by Gusar; 05 April 2015, 07:44 AM.

    Comment


    • #12
      VP9 rocks

      Well, I like how VP9 performs in terms of quality. Beats H.264 any day, yet it is not patent encumbered.

      Not to mention good reference codec and patent grant. Something you can't expect from IEEE. Thank you, Google.

      Comment


      • #13
        HW acceleration is what we need. And AFAIK no card supports it thus far.

        Comment


        • #14
          Originally posted by SystemCrasher View Post
          Beats H.264 any day,
          No way. They've only now started working on psychovisual enhancements, whereas x264 has had them for many years, and has tuned them into oblivion.

          Originally posted by SystemCrasher View Post
          Not to mention good reference codec
          Sorry, but no. When it comes to decoding ffvp9 is much faster, and when it comes to encoding it used to be unusably slow. Like *really* unusably slow. It's supposed to be multi-threaded now, but unless this gives it a 15x boost (which is doubtful), it's still slow.

          Wait a few days, I'll post some actual results rather than baseless claims. Hmm, actually, I got an old external DVD drive going, I can do a test today. My usual test is Serenity chapter 3, but I don't have the Serenity DVD here right now, so I've chosen Firefly, chapter 6 of the first episode. It's 5:17 long, encoding will be done on an i3-530 (Clarkdale) machine. I'll be back in a while with the results.

          Comment


          • #15
            Well, from what I know, vp9 should be of slightly better quality (not visually, pure average delta from original), at the cost of slightly lower decoding speed and (likely) lower encoding speed.
            Afaik vp9 does few extra passes on each full frame (and i'm talking about baseline formats only, no idea about xyz extensions and improvements that were developed over the years).

            If I had to choose as content creator, I would go for vp9. If I could choose as a consumer, I would go for x264 (better, yet proprietary support, in hardware support...).
            Quite frankly, until people develop hardware true decoding/encoding chips that are on every CE board, most graphics card and android phone, I don't see vp9 "winning" over x264.

            Comment


            • #16
              First thing, omfg is the i3-530 slow. Can't wait until I'm back at my Haswell i5-4570S. Not only is that one a true quad-core, it also has AVX2! That should provide a very nice performance increase. Anyway...

              Settings:

              x264:
              Code:
              --preset slower --tune film --bframes 5 --pass [1|2] --bitrate 2200
              vp8:
              Code:
              --codec=vp8 --i420 -w 720 -h 576 -p 2 --pass=[1|2] --fpf=vp8pass.txt -t 4 --good --cpu-used=[4|1] --target-bitrate=2200 --end-usage=vbr --auto-alt-ref=1 --fps=25000/1000 -v --minsection-pct=5 --maxsection-pct=800 --lag-in-frames=16 --kf-min-dist=0 --kf-max-dist=250 --token-parts=2 --static-thresh=0 --drop-frame=0 --min-q=0 --max-q=60
              vp9:
              Code:
              --codec=vp9 --i420 -w 720 -h 576 -p 2 --pass=[1|2] --fpf=vp9pass.txt -t 4 --good --cpu-used=[4|1] --target-bitrate=2200 --end-usage=vbr --auto-alt-ref=1 --fps=25000/1000 -v --minsection-pct=5 --maxsection-pct=800 --lag-in-frames=25 --kf-min-dist=0 --kf-max-dist=250 --tile-columns=6 --frame-parallel=1 --static-thresh=0 --drop-frame=0 --min-q=0 --max-q=60
              The vpx settings are based on this and this. Though I'm kinda thinking I should activate aq-mode for vp9 (don't know which though, variance or complexity), but the encoding guide explicitly disables it. If the encoder was any faster I'd try both modes.


              Encoding speed:

              x264:
              Code:
              encoded 7936 frames, 65.97 fps, 2140.54 kb/s
              
              encoded 7936 frames, 9.69 fps, 2197.75 kb/s
              vp8:
              Code:
              Pass 1/2 frame 7936/7937 1142928B    1152b/f   28803b/s  131006 ms (60.58 fps)
              
              Pass 2/2 frame 7936/8379 87158209B  416528 ms 19.05 fps [ETA  unknown]
              Pass 2/2 frame 7936/8394 87159244B   87862b/f 2196553b/s  416763 ms (19.04 fps)
              That is very impressive!

              vp9:
              Code:
              Pass 1/2 frame 7936/7937 1269920B    1280b/f   32004b/s  213534 ms (37.16 fps)
              
              Pass 2/2 frame 7936/7912 106493729B 4179017 ms 1.90 fps [ETA  unknown]
              Pass 2/2 frame 7936/7936 106494433B  107353b/f 2683831b/s 4179470 ms (1.90 fps)
              In contrast to vp8, this is anything but impressive. Still unusably slow territory.


              And finally, visual comparison. Just one pic, and I fully realize that one pic does not tell the whole story, but I'm too tired right now to do more.

              original: http://i.imgur.com/m7BYL76.jpg
              vp8: http://i.imgur.com/j8X1oFt.jpg
              vp9: http://i.imgur.com/Arqipkv.jpg
              x264: http://i.imgur.com/Klrnmny.jpg

              If you look at the face, it's more washed out in vp9 than vp8! Neither comes close to x264 though, which is the only one that doesn't turn the background into mush.


              I'll do another test in a few days. Then I'll use the quite difficult to encode chapter 3 of Serenity. And I'll throw x265 into the mix, until then I'll research which settings to use.
              Last edited by Gusar; 05 April 2015, 06:08 PM.

              Comment


              • #17
                Originally posted by Gusar View Post
                I fully realize that one pic does not tell the whole story,
                FWIW - it tells me the whole story. I couldn't really tell those apart (even the original). You probably shouldn't have used lossy jpg for the screen capture, though. Still codec-heads are like petrol heads. Those 20 horse power *matter* even when you're stuck in a traffic jam.

                Intel claim to have "some" VP9 acceleration in their latest drivers (probably only means that they do some image processing in a shader). VP8 is pretty standard in Android hardware, though. I'm sure at some point VP9 will make it to desktop GPUs... if Google can hold off on producing VP10 long enough, that is...

                Comment


                • #18
                  Originally posted by OneTimeShot View Post
                  FWIW - it tells me the whole story. I couldn't really tell those apart (even the original).
                  Really?

                  Originally posted by OneTimeShot View Post
                  You probably shouldn't have used lossy jpg for the screen capture, though.
                  Unless imgur converted them, they're png. And I just now saw the jpg extension, so indeed imgur converted them.

                  Let me re-upload to a different host...

                  original: http://www.imagebam.com/image/f3b691402073724
                  vp8: http://www.imagebam.com/image/08ecbc402073739
                  vp9: http://www.imagebam.com/image/59be90402073748
                  x264: http://www.imagebam.com/image/cb201e402073758

                  Comment


                  • #19
                    For kicks, I encoded with xvid and theora.

                    Settings:

                    xvid:
                    Code:
                    xvid_encraw -type 0 -csp i420 -framerate 25 -w 720 -h 576 -pass1 -turbo -qtype 1 -metric 1 -masking 2 -par 64:45 -nopacked -progress
                    xvid_encraw -type 0 -csp i420 -framerate 25 -w 720 -h 576 -pass2 -bitrate 2200 -vhqmode 4 -bvhq -qtype 1 -metric 1 -masking 2 -par 64:45 -nopacked -progress -o xvid.m4v
                    theora:
                    Code:
                    encoder_example [--first-pass|--second-pass] theora_pass.log -V 2200 -k 250 -s 64 -S 45 -o theora.ogg

                    Encoding speed:

                    xvid:
                    Code:
                       7931 frames encoded,  89.90 fps, Average Bitrate =  3535kbps
                    
                       7931 frames encoded,  29.19 fps, Average Bitrate =  2183kbps
                    Theora doesn't provide a report at the end, but it wasn't particularly fast because it's single-threaded and there's no "fast first pass" or similar option. It was about 24fps for each pass.


                    And the visual comparison.

                    xvid: http://www.imagebam.com/image/abcf94402077651
                    theora: http://www.imagebam.com/image/3f78f4402080620

                    You know what? Xvid looks better than vp8/vp9!! If it weren't for the blocking, which isn't noticeable at all in motion, it's basically on par with x264.

                    Comment


                    • #20
                      Originally posted by Gusar View Post
                      You know what? Xvid looks better than vp8/vp9!! If it weren't for the blocking, which isn't noticeable at all in motion, it's basically on par with x264.
                      LOL - I've opened them all in different tabs to switch between them, and I really can't tell which one looks better than another. They all just look like slightly-too-compressed images to me. Honest!

                      I guess that I have a slight preference for VP9 which seems to have removed the high-frequency noise. Xvid looks a bit darker than the others. It might be fun to strip off the _[codecId].png tags and play "guess the video codec" for the same bit-rate.

                      Meh... I wasted money on a "very good" HiFi Amp too. I grabbed the subsequent years' store catalogues - The year after the amp I bought was mid-range, the year after that it was "manager's special cheapo".

                      TLDR - if you want to see bad quality video: dig out your old VHS player...

                      Comment

                      Working...
                      X