1. 03 Feb, 2017 1 commit
  2. 23 Jan, 2017 1 commit
  3. 20 Jan, 2017 2 commits
  4. 19 Jan, 2017 1 commit
  5. 18 Jan, 2017 1 commit
    • Alex Converse's avatar
      Add unpoison_partition_ctx experiment · 55c6bdeb
      Alex Converse authored
      At the edges of the picture only a subset of partitions are legal. Add
      new contexts for these borders so they don't distort the probabilities of
      the interior of the image where all partitions are legal.
      
      Only include one context for each block size of each border direction
      because so few blocks fall into these contexts to begin with.
      
      objective-1-fast:
         PSNR | PSNR Cb | PSNR Cr | PSNR HVS |    SSIM | MS SSIM | CIEDE 2000
      -0.0294 | -0.0911 | -0.2382 |  -0.0481 | -0.0441 | -0.0450 |    -0.0454
      
      derf144: -0.135
      lowres: -0.124
      midres: -0.076
      hdres: -0.078
      
      Change-Id: I909b98eebb7e49273cde90154c8408febe334158
      55c6bdeb
  6. 12 Jan, 2017 1 commit
  7. 06 Jan, 2017 2 commits
    • Jingning Han's avatar
      Rework the txfm partition context to support cb4x4 mode · 581d1697
      Jingning Han authored
      This commit reworks the transform block partition context update
      to support cb4x4 mode in the recursive transform block partition.
      It resolves the remaining enc/dec mismatch issue when both cb4x4
      and var-tx are turned on.
      
      Change-Id: I850d121204fe4c68e81488f1d2848c570d9d08b9
      581d1697
    • Debargha Mukherjee's avatar
      Add UV wiener loop restoration · a43a2d98
      Debargha Mukherjee authored
      Enables Wiener based loop restoration only for the UV
      frames. The selfguided and domaintranform filters do not
      work very well for UV components, hence they are disabled.
      For each UV frame a single set of wiener parameters are
      sent. They are applied tile-wise, but all tiles use the
      same parameters.
      
      BDRATE (Global PSNR) results:
      -----------------------------
      lowres: -1.266% (up from -0.666%, good improvement)
      midres: -1.815% (up from -1.792%, tiny improvement)
      
      Tiling on UV components will be explored subsequently.
      
      Change-Id: Ib5be93121c4e88e05edf3c36c46488df3cfcd1e2
      a43a2d98
  8. 05 Jan, 2017 1 commit
  9. 04 Jan, 2017 1 commit
    • Ryan Lei's avatar
      Add an experiment to disable lpf on tile boundaries · 7386eda0
      Ryan Lei authored
      This commit adds a new experiment to allow disabling of loop filtering
      on tile boundaries. It is implemented by adding a syntax field
      "loopfilter_across_tiles_enabled" into the uncompressed frame header. 
      If it is set to 0, decoder and encoder will disables loop filtering for
      block edges that are also tile boundaries.
      
      Change-Id: Ib80bfd82d49c74f1ba46ae18ceedb30704ac8aa5
      7386eda0
  10. 09 Dec, 2016 1 commit
  11. 07 Dec, 2016 4 commits
  12. 18 Nov, 2016 2 commits
  13. 11 Nov, 2016 1 commit
  14. 10 Nov, 2016 1 commit
  15. 09 Nov, 2016 1 commit
  16. 08 Nov, 2016 1 commit
  17. 07 Nov, 2016 1 commit
    • Yushin Cho's avatar
      New experiment: Perceptual Vector Quantization from Daala · 77bba8d3
      Yushin Cho authored
      PVQ replaces the scalar quantizer and coefficient coding with a new
      design originally developed in Daala. It currently depends on the
      Daala entropy coder although it could be adapted to work with another
      entropy coder if needed:
      ./configure --enable-experimental --enable-daala_ec --enable-pvq
      
      The version of PVQ in this commit is adapted from the following
      revision of Daala:
      https://github.com/xiph/daala/commit/fb51c1ade6a31b668a0157d89de8f0a4493162a8
      
      More information about PVQ:
      - https://people.xiph.org/~jm/daala/pvq_demo/
      - https://jmvalin.ca/papers/spie_pvq.pdf
      
      The following files are copied as-is from Daala with minimal
      adaptations, therefore we disable clang-format on those files
      to make it easier to synchronize the AV1 and Daala codebases in the future:
       av1/common/generic_code.c
       av1/common/generic_code.h
       av1/common/laplace_tables.c
       av1/common/partition.c
       av1/common/partition.h
       av1/common/pvq.c
       av1/common/pvq.h
       av1/common/state.c
       av1/common/state.h
       av1/common/zigzag.h
       av1/common/zigzag16.c
       av1/common/zigzag32.c
       av1/common/zigzag4.c
       av1/common/zigzag64.c
       av1/common/zigzag8.c
       av1/decoder/decint.h
       av1/decoder/generic_decoder.c
       av1/decoder/laplace_decoder.c
       av1/decoder/pvq_decoder.c
       av1/decoder/pvq_decoder.h
       av1/encoder/daala_compat_enc.c
       av1/encoder/encint.h
       av1/encoder/generic_encoder.c
       av1/encoder/laplace_encoder.c
       av1/encoder/pvq_encoder.c
       av1/encoder/pvq_encoder.h
      
      Known issues:
      - Lossless mode is not supported, '--lossless=1' will give the same result as
      '--end-usage=q --cq-level=1'.
      - High bit depth is not supported by PVQ.
      
      Change-Id: I1ae0d6517b87f4c1ccea944b2e12dc906979f25e
      77bba8d3
  18. 04 Nov, 2016 1 commit
    • Yushin Cho's avatar
      New experiment: Perceptual Vector Quantization from Daala · 09705fe7
      Yushin Cho authored
      PVQ replaces the scalar quantizer and coefficient coding with a new
      design originally developed in Daala. It currently depends on the
      Daala entropy coder although it could be adapted to work with another
      entropy coder if needed:
      ./configure --enable-experimental --enable-daala_ec --enable-pvq
      
      The version of PVQ in this commit is adapted from the following
      revision of Daala:
      https://github.com/xiph/daala/commit/fb51c1ade6a31b668a0157d89de8f0a4493162a8
      
      More information about PVQ:
      - https://people.xiph.org/~jm/daala/pvq_demo/
      - https://jmvalin.ca/papers/spie_pvq.pdf
      
      The following files are copied as-is from Daala with minimal
      adaptations, therefore we disable clang-format on those files
      to make it easier to synchronize the AV1 and Daala codebases in the future:
       av1/common/generic_code.c
       av1/common/generic_code.h
       av1/common/laplace_tables.c
       av1/common/partition.c
       av1/common/partition.h
       av1/common/pvq.c
       av1/common/pvq.h
       av1/common/state.c
       av1/common/state.h
       av1/common/zigzag.h
       av1/common/zigzag16.c
       av1/common/zigzag32.c
       av1/common/zigzag4.c
       av1/common/zigzag64.c
       av1/common/zigzag8.c
       av1/decoder/decint.h
       av1/decoder/generic_decoder.c
       av1/decoder/laplace_decoder.c
       av1/decoder/pvq_decoder.c
       av1/decoder/pvq_decoder.h
       av1/encoder/daala_compat_enc.c
       av1/encoder/encint.h
       av1/encoder/generic_encoder.c
       av1/encoder/laplace_encoder.c
       av1/encoder/pvq_encoder.c
       av1/encoder/pvq_encoder.h
      
      Known issues:
      - Lossless mode is not supported, '--lossless=1' will give the same result as
      '--end-usage=q --cq-level=1'.
      - High bit depth is not supported by PVQ.
      
      Change-Id: I1ae0d6517b87f4c1ccea944b2e12dc906979f25e
      09705fe7
  19. 01 Nov, 2016 2 commits
  20. 31 Oct, 2016 2 commits
  21. 29 Oct, 2016 1 commit
    • Thomas's avatar
      Add EC_ADAPT experiment for symbol-adaptive entropy coding. · 9ac5508f
      Thomas authored
      This experiment performs symbol-by-symbol statistics
      adaptation for non-binary symbols. It requires DAALA_EC or
      RANS and ANS to be enabled. The adaptation is currently
      based on a simple recursive filter and is taken from
      Daala. It has an adaptation rate dependent on alphabet size,
      taken from Daala. It applies wherever non-binary symbols
      are encoded using Cumulative Probability Functions rather
      than trees.
      
      Where symbols are adapted, forward updates in the compressed
      header are removed.
      
      In the case of RANS coefficient token values are adapted,
      with the exception of the zero token which remains a
      binary symbol. In the case of DAALA_EC other values
      such as inter and intra modes are adapted as CDFs are
      provided in those cases.
      
      The experiment is configured with:
      
      ./configure --enable-experimental --enable-daala-ec --enable-ec-adapt
      
      or
      
      ./configure --enable-experimental --enable-ans --enable-rans \
          --enable-ec-adapt
      
      EC_ADAPT is not currently compatible with tiles.
      
      BDR results on Objective-1-fast give a small loss:
      
      PSNR YCbCr:      0.51%      0.49%      0.48%
      PSNRHVS:      0.50%
      SSIM:      0.50%
      MSSSIM:      0.51%
      CIEDE2000:      0.50%
      
      Change-Id: I3888718e42616f3fd87144de7f125228446ac984
      9ac5508f
  22. 28 Oct, 2016 1 commit
    • Thomas Davies's avatar
      Encode and decode multiple tile groups · 80188d15
      Thomas Davies authored
      This is a manual adaptation of the following commit from aom/master:
      ce12003d
      
      The original commit message:
      
      A tile group is a set of tiles in scan order.
      
      Each tile group has a version of uncompressed and compressed headers,
      identical apart from tile group parameters.
      Encoding probability updates takes account of the number of
      headers to control overheads.
      
      The decoder supports arbitrary numbers of tile groups with
      arbitrary number of tiles. The number of tiles in a TG is
      signalled in the uncompressed header for that TG.
      
      The encoder currently only supports a fixed number
      of TGs (3, when error resilient mode is on) of equal size
      (except possibly for the last one).
      
      The average BDR performnce with 3 tile groups versus
      anchor with error resilient mode and up to 16 tiles is:
      
      NR YCbCr:      3.02%      3.04%      3.05%
      PSNRHVS:      3.09%
      SSIM:      3.06%
      MSSSIM:      3.05%
      CIEDE2000:      3.04%
      
      Change-Id: I9b97c5ed733103b9160a3a5d4370de5322c00c0b
      80188d15
  23. 26 Oct, 2016 1 commit
  24. 24 Oct, 2016 1 commit
  25. 21 Oct, 2016 3 commits
  26. 20 Oct, 2016 1 commit
    • Zoe Liu's avatar
      Sync with aom branch for ext-refs · 6cfaff95
      Zoe Liu authored
      Plus a small code clean up. The experiment of EXT_REFS, compared against
      the baseline, using Overall PSNR, now obtains a gain on lowres as:
      Avg: -5.818; BDRate: -5.653
      
      Compared against the previous EXT_REFS results on lowres, a tiny gain is
      obtained as:
      Avg: -0.047, BDRate: -0.063
      
      (1) 780952 Add encoder first pass support to bi-prediction in EXT_REFS
      (2) f91498 Add pred prob handling for new references in EXT_REFS
      (3) e91472 Add decoder support for bi-direct prediction in EXT_REFS
      (4) 0dbac9 Add encoder support to new references in EXT_REFS
      (5) ad70cc Remove hard-coded number for EXT_REFS
      (6) 9c1e2f Add the use of new reference frames at encoder in EXT_REFS
      (7) 6d4fde Add the experiment flag of EXT_REFS
      
      Change-Id: I26f7ca45b9ede7579fdb9d0d6a1a91f4334599bd
      6cfaff95
  27. 19 Oct, 2016 3 commits
    • Thomas Davies's avatar
      Step size and arithmetic coding for delta quantization. · f693610a
      Thomas Davies authored
      Example performance: 1.8% bit rate savings using
      the AQ test mode aq-mode=4 :
      ./aomenc --codec=av1 --ivf --tile-columns=1 --tile-rows=1 \
                       --kf-max-dist=1000 --kf-min-dist=1000 --cpu-used=0 \
                       --passes=1 --threads=1 --lag-in-frames=0 \
                       --end-usage=q --limit=600 --cq-level=42 \
                       --aq-mode=4 --error-resilient=1 out.bits FourPeople_1280x720_60.y4m
      
      Change-Id: Iba01cf2732a57f3c27481ac2a3c8fc37bb9e5533
      f693610a
    • Arild Fuldseth's avatar
      Support for delta-q at superblock level · 07441165
      Arild Fuldseth authored
      Change-Id: I4128af44776d1f361bddc1fdffb75ed2224dbfa5
      07441165
    • Yaowu Xu's avatar
      Reorder includes · caf2023a
      Yaowu Xu authored
      Change-Id: I97487bf353471bf9d245cd620780adfb1d3fc2b1
      caf2023a
  28. 18 Oct, 2016 1 commit