1. 12 Dec, 2013 1 commit
  2. 06 Dec, 2013 1 commit
    • James Zern's avatar
      add tile test vectors · 937c3b99
      James Zern authored
      3840x2160
      
      vp90-2-08-tile_1x8_frame_parallel.webm
      vp90-2-08-tile_1x8.webm
      
      vpxenc crowd_run_2160p50.y4m \
        --codec=vp9 -p 2 \
        --frame-parallel=${fpm} \
        --tile-columns=${tc} \
        --limit=10 \
        --auto-alt-ref=1 \
        --lag-in-frames=5 \
        --target-bitrate=2500
      
      Change-Id: I6dc19b4fca483d03ef9a897a843bf9037d095c8e
      937c3b99
  3. 04 Dec, 2013 2 commits
    • Jingning Han's avatar
      Add a test vector for loopfilter · ebb583d2
      Jingning Han authored
      The test vector exercises the loopfilter behavior at frame boundary.
      
      blue_sky_1080p25.y4m --good --cpu-used=2 --threads=0 --profile=0
      --lag-in-frames=25 --limit=300 --min-q=0 --max-q=63 --cq-level=20
      --end-usage=0 --auto-alt-ref=1 -p 2 --kf-max-dist=9999 --kf-min-dist=0
      --drop-frame=0 --static-thresh=0 --bias-pct=50 --minsection-pct=0
      --maxsection-pct=2000 --arnr-maxframes=7 --arnr-strength=5
      --arnr-type=3 --sharpness=0 --undershoot-pct=100 --target-bitrate=6000
      
      Change-Id: Ibd0807395d2fe87f24f81f990369678df3de7c23
      ebb583d2
    • Yaowu Xu's avatar
      Fix VP8 border replication for very small image · a0f77f6a
      Yaowu Xu authored
      Also added a test vector for this issue.
      
      Change-Id: I8a8654f9d33b27afd53c295f1ea44d198550d067
      a0f77f6a
  4. 26 Nov, 2013 1 commit
    • Yunqing Wang's avatar
      Add a noise test vector · f2341364
      Yunqing Wang authored
      Added the test vector provided by Attila, which caught the bug in
      Issue 661 "Decoder produces mismatched outputs with ssse3 enabled
      and disabled"
      
      vp90-hantro-stream-001.ivf
      size: 320x180; 20 frames
      
      Change-Id: Ic0d2b57ac7596ecb938dd55abc8c706fc2dd6d8f
      f2341364
  5. 19 Nov, 2013 1 commit
  6. 12 Nov, 2013 1 commit
    • Jingning Han's avatar
      Add test vector for row/col tile decoding · 458951d8
      Jingning Han authored
      1920x1080
      
      vp90-2-08-tile-4x4.webm
      vp90-2-08-tile-4x4.webm.md5
      
      vpxenc blue_sky_1080p25 --frame-parallel=0 \
      --tile-columns=2 --tile-rows=2 \
      --lossless=0 --error-resilient=0 \
      --min-q=0 --max-q=30 --kf-min-dist=0 --kf-max-dist=9999 \
      --cpu-used=0 --codec=vp9 -p 2 --good --fps=25/1 --limit=5
      
      vp90-2-08-tile-4x1.webm
      vp90-2-08-tile-4x1.webm.md5
      
      vpxenc blue_sky_1080p25 --frame-parallel=0 \
      --tile-columns=0 --tile-rows=2 \
      --lossless=0 --error-resilient=0 \
      --min-q=0 --max-q=30 --kf-min-dist=0 --kf-max-dist=9999 \
      --cpu-used=0 --codec=vp9 -p 2 --good --fps=25/1 --limit=5
      
      Change-Id: I77d0ccf9b721ae5cfa72781fe0d3c534ea43b756
      458951d8
  7. 06 Nov, 2013 1 commit
    • Ivan Maltz's avatar
      Move SVC per-frame loop from sample app into libvpx proper · 1ed0e1be
      Ivan Maltz authored
      SVC multiple layer per frame encoding is invoked with vpx_svc_init and
      vpx_svc_encode. These interfaces are designed to be invoked from ffmpeg.
      Additional improvements:
      - make dummy frame handling a bit more explicit
      - fixed bug with single layer encodes
      - track individual frame sizes and psnrs instead of averages
      - parameterized quantizer, 16th scalefactors, more logging,
      - enabled single layer encodes to generate baseline
      - include new mode for 3 layer I frame with 5 total layers
      
      Change-Id: I46cfa600d102e208c6af8acd6132e0cc25cda8d4
      1ed0e1be
  8. 28 Oct, 2013 1 commit
    • James Zern's avatar
      add tile test vectors · ea9b2c03
      James Zern authored
      1920x1080
      
      vp90-2-08-tile_1x2_frame_parallel.webm
      vp90-2-08-tile_1x2.webm
      vp90-2-08-tile_1x4_frame_parallel.webm
      vp90-2-08-tile_1x4.webm
      
      vpxenc blue_sky_1080p25.y4m \
        --codec=vp9 -p 2 \
        --frame-parallel=${fpm} \
        --tile-columns=${tc} \
        --limit=10 \
        --auto-alt-ref=1 \
        --lag-in-frames=5 \
        --target-bitrate=2500
      
      Change-Id: Id9c94b722cc553a6865d443a94e8482c78b038bb
      ea9b2c03
  9. 22 Oct, 2013 1 commit
    • James Zern's avatar
      Revert "Merge "SVC improvements"" · cd74a901
      James Zern authored
      This reverts commit a82001b1, reversing
      changes made to f6d870f7.
      
      This commit breaks windows builds and needs some work to fix those and
      some additional comments.
      
      Change-Id: Ic0b0228e36704b127e5e399ce59db26182cfffe7
      cd74a901
  10. 21 Oct, 2013 1 commit
    • Ivan Maltz's avatar
      SVC improvements · 663916ce
      Ivan Maltz authored
      These changes were originally made in the Stratacaster team-review repository
      
      commit e114bffcd82ad74c3696ec58e13c0ac895d6c82d
      Author: Charles 'Buck' Krasic <ckrasic@google.com>
      Date:   Mon Oct 14 16:52:13 2013 -0700
      
          Make dummy frame handling a bit more explicit, fixing bug
          with single layer encodes.
      
      Squashed commit of the following:
      
      commit 1ebbfd976c0fadb02bf1ea562a2d0e3f0206daad
      Merge: ac468dde 54e88b7
      Author: Ivan Maltz <ivanmaltz@google.com>
      Date:   Fri Oct 11 17:29:58 2013 -0700
      
          Move SVC code from vp9_spatial_scalable_encoder to libvpx module accessible from ffmpeg
      
      commit 54e88b78b160becc9569fc3c6cb6b0a8c95dc357
      Author: Ivan Maltz <ivanmaltz@google.com>
      Date:   Tue Oct 8 09:08:40 2013 -0700
      
          common svc encoding code for sample app and ffmpeg
      
          added svc_encodeframe.c, svc_context.h, svc_test.cc
      
          vp9_spatial_scalable_encoder uses vpx_svc_encode
      
      commit 5616ec8e2e3d3e8d277333d8a9242f6c70151162
      Merge: 4528014 e29137df
      Author: Ivan Maltz <ivanmaltz@google.com>
      Date:   Tue Oct 8 08:47:58 2013 -0700
      
          Merge branch 'master' into stratacaster
      
      commit 45280148450b1f3d61e390df8aadedf85cd5bce1
      Merge: bb2b675 1ab60f7b
      Author: Sujeevan Rajayogam <sujee@google.com>
      Date:   Fri Oct 4 10:22:31 2013 -0700
      
          Merge branch 'master' into stratacaster
      
      commit bb2b675e595dc9bfc8551e963edf56800c3aea61
      Author: Sujeevan Rajayogam <sujee@google.com>
      Date:   Wed Oct 2 12:37:26 2013 -0700
      
          Track individual frame sizes and psnrs instead of averages.
      
      commit c6d303b714795c81e7ceb4173967115c9f8ff5b7
      Merge: fa87df9 35830879
      Author: Sujeevan Rajayogam <sujee@google.com>
      Date:   Fri Sep 27 10:05:35 2013 -0700
      
          Merge branch 'master' into stratacaster
      
      commit fa87df94fba923d9f7aeb8ae20c6e15f777e00b5
      Merge: bf22d71 3c465af2
      Author: Sujeevan Rajayogam <sujee@google.com>
      Date:   Thu Sep 26 16:10:31 2013 -0700
      
          Merge branch 'master' into stratacaster
      
      commit bf22d7144895a82e0c348ac177c8a261b9e2b88e
      Author: Sujeevan Rajayogam <sujee@google.com>
      Date:   Thu Sep 26 11:10:34 2013 -0700
      
          Parameterized quantizer, 16th scalefactors, more logging, enabled single layer encodes to generate baseline.
      
      commit ceffd7e6025b765f9886b5ea0f324248aa37e327
      Author: Sujeevan Rajayogam <sujee@google.com>
      Date:   Thu Sep 19 10:04:49 2013 -0700
      
          - Include new mode for 3 layer I frame with 5 total layers.
          - Refactor svc api.
      
      Change-Id: Ie4d775e21e006fa597d884c59488dc999478e9b5
      663916ce
  11. 14 Oct, 2013 1 commit
    • James Zern's avatar
      add a test vector with frame parallel mode enabled · 798cf80c
      James Zern authored
      vp90-2-07-frame_parallel.webm:
      vpxenc stefan_sif.y4m \
        --codec=vp9 -p 2 \
        --frame-parallel=1 \
        --limit=10 \
        --auto-alt-ref=1 \
        --lag-in-frames=5
      
      Change-Id: I7381a69aaaec238b309169a51b34cb6bf29a9c50
      798cf80c
  12. 03 Oct, 2013 1 commit
  13. 17 Sep, 2013 1 commit
    • Adrian Grange's avatar
      Modified resize unit test to output test vector · 88c8ff25
      Adrian Grange authored
      Modified the resize unit test so that it optionally
      writes the encoded bitstream to file. The macro
      WRITE_COMPRESSED_STREAM should be set to 1 to enable
      output of the test bitstream; it is set to 0 by default.
      
      Change-Id: I7d436b1942f935da97db6d84574a98d379f57fb1
      88c8ff25
  14. 10 Sep, 2013 1 commit
    • Adrian Grange's avatar
      Enable and fix resize_test for VP9 · 93ffd371
      Adrian Grange authored
      Added the resize_test unit test to the VP9 set.
      
      Set g_in_frames = 0 to avoid a problem when the total
      number of frames being encoded is smaller than
      g_in_frames. In this case the test will not have
      access to the encoded frames and will not be able to
      compare them for testing for encoder/decoder mismatch.
      
      Change-Id: I0d2ff8ef058de7002c5faa894ed6ea794d5f900b
      93ffd371
  15. 04 Sep, 2013 1 commit
  16. 26 Aug, 2013 1 commit
  17. 05 Aug, 2013 1 commit
    • James Zern's avatar
      vp9/decoder: add thread worker · 183b77d5
      James Zern authored
      vp9/decoder/vp9_thread.[hc]
      Original source:
       http://git.chromium.org/webm/libwebp.git
       100644 blob b1615d0fb8d311666b2fa4561076c62d72c2e3ff  src/utils/thread.c
       100644 blob 13a61a4c84194c3374080cbf03d881d3cd6af40d  src/utils/thread.h
      
      Local modifications:
       - s/WebP/VP9/g
       - camelcase functions -> lower with _'s
      
      Change-Id: Ib6932640ee34f8b4782c6fbd15864a59d5d4c5fe
      183b77d5
  18. 13 Jul, 2013 1 commit
  19. 09 Jul, 2013 1 commit
    • Yaowu Xu's avatar
      Added a lossless test · 9ce6de19
      Yaowu Xu authored
      It does encodings with min and max q set at 0, and check to make sure
      output PSNR at MAX_PSNR (100).
      
      Change-Id: Ia2418353cccf6e487204ea4ff874a7e71e55cb3e
      9ce6de19
  20. 08 Jul, 2013 1 commit
    • John Koleszar's avatar
      Fix loopfilter bug · 527fc5ca
      John Koleszar authored
      In the rare case were 4x4 interior filtering was called for but no
      8x8 or larger filtering takes place, the previous code was skipping
      the filtering. This patch fixes the issue by including the interior
      mask in the overall mask for the filter application loops.
      
      Change-Id: I4a0b65056c64f97478827c2ff41e0914fc7779d0
      527fc5ca
  21. 02 Jul, 2013 1 commit
    • Jim Bankoski's avatar
      new unit test for cpu-speed · b0520b61
      Jim Bankoski authored
      Tests q0 ( lossless),  very high bitrate and low bitrates at cpu speed
      0, 1 and 2.
      
      Change-Id: I0c5cdca00acd8d01e7b13f124b3b08d4b1ae9f6d
      b0520b61
  22. 24 Jun, 2013 1 commit
    • John Koleszar's avatar
      Fix loopfilter of leftmost 4x4 edges in SB · 858475a0
      John Koleszar authored
      For cases where there's no transform set in bit 0 (the left edge of
      the SB) but bit 0 of mask_4x4_int is set (the edge 4 pixels from the
      left edge needs filtering), it was incorrectly being skipped before.
      This situation only happens on the leftmost edge of the image, as
      the edge at column 0 is intentionally skipped since there aren't
      pixels to the left to read.
      
      Change-Id: Ib2fbbcb40166e90af31b1a0e13b85b68c226cbd3
      858475a0
  23. 21 Jun, 2013 1 commit
  24. 19 Jun, 2013 1 commit
    • John Koleszar's avatar
      Add some unaligned test vectors · 639db571
      John Koleszar authored
      Tests resolutions of 8, 10, 16, 18, 32, 34, 64, 66 to exercise the
      border conditions, as well as non-SB aligned sizes.
      
      Change-Id: Ie7c2b7860ac3727e23202042f2e86792652912f8
      639db571
  25. 18 Jun, 2013 1 commit
  26. 13 Jun, 2013 1 commit
    • John Koleszar's avatar
      Add vp9 test vectors unit test · 119c9812
      John Koleszar authored
      These files can stand in until we get proper syntax vectors. They
      should provide some additional assurance against inadvertant
      bitstream changes.
      
      Change-Id: I12f6c9a5f054e30df40a7ff1f33145abf7e1d59d
      119c9812
  27. 06 Jun, 2013 1 commit
  28. 16 Mar, 2013 1 commit
  29. 13 Mar, 2013 1 commit
    • Yaowu Xu's avatar
      removed reference to "LLM" and "x8" · 00555263
      Yaowu Xu authored
      The commit changed the name of files and function to remove obselete
      reference to LLM and x8.
      
      Change-Id: I973b20fc1a55149ed68b5408b3874768e6f88516
      00555263
  30. 05 Mar, 2013 1 commit
    • John Koleszar's avatar
      Add 'superframe' index · 522d4bf8
      John Koleszar authored
      A 'superframe' is a group of frames that share the same PTS, but have a
      defined decoding order. This commit adds the ability to append an index
      to such a group of frames, allowing for random access to the constituent
      frames. This could be useful for frame-level parallelism or partial
      decoding in a multilayer scenario.
      
      Decoding the stream serially without such an index should work as a
      fallback, and VP9/TestSuperframeIndexIsOptional verifies that.
      
      Change-Id: Idff83b7560e1a7077d8fb067bfbc45b567e78b1c
      522d4bf8
  31. 02 Mar, 2013 1 commit
  32. 26 Feb, 2013 1 commit
    • Yaowu Xu's avatar
      Enable 32x32 dct tests · 3dbc78b1
      Yaowu Xu authored
      Also
      1. Removed the test code for fDCT from the iDCT test.
      2. changed the criteria of round trip error to be below 1/block, this
      is quite strict comparing to smaller transforms when size differences
      are accounted for.
      
      Change-Id: Idb46a6380b04c93fc8e2845c75f5a850366b0090
      3dbc78b1
  33. 25 Feb, 2013 1 commit
    • Yaowu Xu's avatar
      optimize forward 16x16 DCT for accuracy · 499fe05d
      Yaowu Xu authored
      This commit added pre/post scaling for first half of fDCT16x16 to
      reduce error, by simulation of 100,000 blocks for random inputs,
      the average sse reduced from 2.1/block to 0.0498/block.
      
      also enabled tests for 16x16 fDCT and iDCT
      
      Change-Id: Id2a95f0464c6dd4118797d456237ae90274c0f02
      499fe05d
  34. 23 Feb, 2013 2 commits
    • Yaowu Xu's avatar
      optimize 8x8 fdct rounding for accuracy · 22012ee9
      Yaowu Xu authored
      The commit added a final rounding choice for 8x8 forward dct to get
      rid of a sign bias at DC position and improve the accuracry in term
      of round trip error for 8x8 fDCT/iDCT.
      
      This commit also enabled forward 8x8 dct test.
      
      Change-Id: Ib67f99b0a24d513e230c7812bc04569d472fdc50
      22012ee9
    • James Zern's avatar
      add vp8 variance test · 1711cf2d
      James Zern authored
      Change-Id: I4e94ee2c4e2360d6a11a454c323f2899c1bb6f72
      1711cf2d
  35. 22 Feb, 2013 1 commit
    • Yaowu Xu's avatar
      changes related fdct/idct tests · 4e2697f5
      Yaowu Xu authored
      1. changed 4x4 test name to Vp9Fdct4x4Test to be consistent
      2. remove forward 8x8 dct test code from idct8x8_test.cc
      3. temporarily disable other forward dct tests to allow fdct work in
      progress
      
      Change-Id: I566aeed9c7c34da5a206190aa7d0e847a4008b36
      4e2697f5
  36. 05 Feb, 2013 2 commits
    • Ronald S. Bultje's avatar
      [WIP] Add column-based tiling. · 1407bdc2
      Ronald S. Bultje authored
      This patch adds column-based tiling. The idea is to make each tile
      independently decodable (after reading the common frame header) and
      also independendly encodable (minus within-frame cost adjustments in
      the RD loop) to speed-up hardware & software en/decoders if they used
      multi-threading. Column-based tiling has the added advantage (over
      other tiling methods) that it minimizes realtime use-case latency,
      since all threads can start encoding data as soon as the first SB-row
      worth of data is available to the encoder.
      
      There is some test code that does random tile ordering in the decoder,
      to confirm that each tile is indeed independently decodable from other
      tiles in the same frame. At tile edges, all contexts assume default
      values (i.e. 0, 0 motion vector, no coefficients, DC intra4x4 mode),
      and motion vector search and ordering do not cross tiles in the same
      frame.
      t log
      
      Tile independence is not maintained between frames ATM, i.e. tile 0 of
      frame 1 is free to use motion vectors that point into any tile of frame
      0. We support 1 (i.e. no tiling), 2 or 4 column-tiles.
      
      The loopfilter crosses tile boundaries. I discussed this briefly with Aki
      and he says that's OK. An in-loop loopfilter would need to do some sync
      between tile threads, but that shouldn't be a big issue.
      
      Resuls: with tiling disabled, we go up slightly because of improved edge
      use in the intra4x4 prediction. With 2 tiles, we lose about ~1% on derf,
      ~0.35% on HD and ~0.55% on STD/HD. With 4 tiles, we lose another ~1.5%
      on derf ~0.77% on HD and ~0.85% on STD/HD. Most of this loss is
      concentrated in the low-bitrate end of clips, and most of it is because
      of the loss of edges at tile boundaries and the resulting loss of intra
      predictors.
      
      TODO:
      - more tiles (perhaps allow row-based tiling also, and max. 8 tiles)?
      - maybe optionally (for EC purposes), motion vectors themselves
        should not cross tile edges, or we should emulate such borders as
        if they were off-frame, to limit error propagation to within one
        tile only. This doesn't have to be the default behaviour but could
        be an optional bitstream flag.
      
      Change-Id: I5951c3a0742a767b20bc9fb5af685d9892c2c96f
      1407bdc2
    • John Koleszar's avatar
      Add 8-tap generic convolver · 5ca6a366
      John Koleszar authored
      This commit introduces a new convolution function which will be used to
      replace the existing subpixel interpolation functions. It is much the
      same as the existing functions, but allows for changing the filter
      kernel on a per-pixel basis, and doesn't bake in knowledge of the
      filter to be applied or the size of the resulting block into the
      function name.
      
      Replacing the existing subpel filters will come in a later commit.
      
      Change-Id: Ic9a5615f2f456cb77f96741856fc650d6d78bb91
      5ca6a366
  37. 04 Feb, 2013 1 commit
    • Yaowu Xu's avatar
      enable 16x16 iDCT unit test · ebd58089
      Yaowu Xu authored
      test for forward transform will be enabled later after re-do forward
      transform
      
      Change-Id: Ie7c7cf88baf7ecbebbe52fe027e1c3b33d3b9d49
      ebd58089