1. 11 Jul, 2017 1 commit
    • Monty Montgomery's avatar
      Add CONFIG_DCT_ONLY experiment. · cb55dad1
      Monty Montgomery authored
      Building with --enable-dct_only will force the encoder to use only
       tx_type == DCT_DCT.
      This experiment gives a loss and is only added for testing.
      
      subset-1:
      
      master@2017-02-21T01:23:58.825Z ->
       master-dct_only@2017-02-21T02:57:28.585Z
      
        PSNR | PSNR Cb | PSNR Cr | PSNR HVS |   SSIM | MS SSIM | CIEDE 2000
      2.5467 |  1.0524 |  0.9171 |   1.8849 | 2.6626 |  2.4995 |     1.8402
      
      objective-1-fast:
      
      master@2017-02-21T01:47:43.790Z ->
       master-dct_only@2017-02-20T16:54:03.578Z
      
        PSNR | PSNR Cb | PSNR Cr | PSNR HVS |   SSIM | MS SSIM | CIEDE 2000
      1.6625 |  0.3948 |  0.3368 |   1.5268 | 1.7142 |  1.7097 |     1.0743
      
      Change-Id: I19b738f3d1a450bc50422149ac42bc184bfae08a
      cb55dad1
  2. 10 Jul, 2017 1 commit
    • Lester Lu's avatar
      Inter and intra LGTs · 708c1ec5
      Lester Lu authored
      Here we have an LGT to replace ADST for intra residual blocks, and
      another LGT to replace ADST for inter residual blocks. The changes
      are only applied to transform length 4 and 8, and only for the
      lowbitdepth path.
      
      lowres: -0.18%
      
      Change-Id: Iadc1e02b53e3756b44f74ca648cfa8b0e8ca7af4
      708c1ec5
  3. 07 Jul, 2017 1 commit
    • Lester Lu's avatar
      Signature changes for the LGT experiment · d8b1ddce
      Lester Lu authored
      The input arguments of av1_fht* and av1_iht* functions (and their
      HBD versions) are slightly changed. Input arguments tx_type and
      bd are carried by a struct fwd_txfm_param/inv_txfm_param. This
      struct is meant to later on carry other prediction information,
      such as intra top/left boundaries to the transform level, so
      that the choice of transforms can be more adaptive to the
      prediction mode and local video content.
      
      Change-Id: Ia42544248a51845be64b72855b642ef1fe5910a9
      d8b1ddce
  4. 28 Jun, 2017 1 commit
  5. 26 Jun, 2017 1 commit
    • Lester Lu's avatar
      New experiment: LGT · ad8290b8
      Lester Lu authored
      In previous ADSTs, DST-7 and DST-4 are used for length 4 and length
      8/16/32, respectively. In this LGT experiment we explore transforms
      between DST-4 and DST-7. When CONFIG_LGT flag is on, adst4 and adst8
      are replaced by lgt4 and lgt8, the intermediate transforms with
      pre-chosen parameters.
      
      The LGTs applied here are lgt4_160 and lgt8_170, where the numbers
      mean the self-loop weights times 100. The associated values for DST-7
      and DST-4 are 100 and 200.
      
      ovr_psnr:
      lowres: -0.140
      midres: -0.131
      hdres: -0.078
      
      These changes are not applied to the highbd scenario in the
      current version.
      
      Change-Id: I20600456da8766528b2b6b11aa28801e70af498e
      ad8290b8
  6. 12 Jun, 2017 1 commit
    • Sarah Parker's avatar
      Clean up hbd transform code · 30dfa883
      Sarah Parker authored
      Responding to some left over cosmetic comments from
      2b5cdb1cf87c933331a16cc0221455d0a8c255e1
      
      Change-Id: I42e126593526cedd6675adf35b9c1df78e1ddf54
      30dfa883
  7. 08 Jun, 2017 1 commit
    • Sarah Parker's avatar
      Remove deprecated high-bitdepth functions · 31c66502
      Sarah Parker authored
      This unifies the codepath for high-bitdepth transforms and deletes
      all calls to the old deprecated versions. This required reworking
      the way 1d configurations are combined in order to support rectangular
      transforms.
      
      There is one remaining codepath that calls the deprecated 4x4 hbd
      transform from encoder/encodemb.c. I need to take a closer look
      at what is happening there and will leave that for a followup
      since this change has already gotten so large.
      
      lowres 10 bit: -0.035%
      lowres 12 bit: 0.021%
      
      BUG=aomedia:524
      
      Change-Id: I34cdeaed2461ed7942364147cef10d7d21e3779c
      31c66502
  8. 20 May, 2017 1 commit
    • hui su's avatar
      DPCM intra coding experiment · b8a6fd6b
      hui su authored
      Encode a block line by line, horizontally or vertically. In the vertical
      mode, each row is predicted by the reconsturcted row above;
      in the horizontal mode, each column is predicted by the reconstructed
      column to the left.
      
      The DPCM modes are enabled automatically for blocks with horizontal or
      vertical prediction mode, and 1D transform types (ext-tx).
      
      Change-Id: I133ab6b537fa24a6e314ee1ef1d2fe9bd9d56c13
      b8a6fd6b
  9. 19 May, 2017 1 commit
    • Sarah Parker's avatar
      Add configurations for hbd identity transform · 3eed4175
      Sarah Parker authored
      This adds the proper cfgs to av1_{inv/fwd}_txfm1d_cfg for
      the identity transform so all hbd transforms can use
      the same codepath. This has no impact on performance
      since the new identity transforms that correspond with
      the cfgs are not yet being called. Once this is checked in,
      we should be able to delete all deprecated transform functions
      and have a single code flow for all hbd transforms.
      
      BUG=aomedia:524
      
      Change-Id: I3d1bfbc8bc29b367e8ddf7dcd27525af0bd31067
      3eed4175
  10. 18 May, 2017 1 commit
    • Sarah Parker's avatar
      Refactor hbd txfm configurations to be 1D · eec47e65
      Sarah Parker authored
      The hbd transform configurations were originally written for all possible
      2d transforms. Now that there are many more possible 2d transforms
      due to EXT_TX and RECT_TX, it is simpler to write the cfg for the
      4 1D transform types and compose them to make all new possible transform
      types. This will allow for an easier integration of the identity transform
      for EXT_TX and rectangular transforms for RECT_TX into the current
      hbd transform codepath and facilitate the removal of obsolete transforms.
      This has no impact on performance.
      
      BUG=aomedia:524
      
      Change-Id: I1e217bcd217fd637b1df94fae62d9c59a0523c1a
      eec47e65
  11. 12 Apr, 2017 1 commit
  12. 25 Jan, 2017 1 commit
  13. 09 Jan, 2017 2 commits
  14. 14 Dec, 2016 2 commits
    • Debargha Mukherjee's avatar
      Adding 4:1 rectangular transforms · 751de386
      Debargha Mukherjee authored
      Change-Id: Ic4775ed7e9470230deda2d8f656d94e3f81df99a
      751de386
    • Debargha Mukherjee's avatar
      Change scaling of rectangular fwd transforms · f0aa420c
      Debargha Mukherjee authored
      Modifies the C fwd txfms to have correct scaling. Rectangular
      transforms now are always implemented in a way that the samller
      side is transformed first.
      
      The SSE2 tests are temporarily disabled until the SSSE2 code
      is modified to be consistent with the C code.
      
      Also includes a fdct32 fix.
      
      borgtest results show a slight improvement.
      
      Change-Id: I9417fd0b833d79e0ab13c85d3210d9ea8f2029a4
      f0aa420c
  15. 23 Nov, 2016 1 commit
    • David Barker's avatar
      Improve rectangular transform accuracy · 838a53d6
      David Barker authored
      By adjusting the internal scaling and rounding in the transforms,
      we can adjust the maximum round-trip errors to:
      * 8x16 and 16x8: 0 pixel values (ie, transforms are exact)
      * 16x32: 1 pixel value
      * 32x16: 2 pixel values
      
      Change-Id: I0ba691a8d27042dcf1dd5ae81568d07a92d68781
      838a53d6
  16. 21 Nov, 2016 1 commit
    • Yi Luo's avatar
      Fix rectangle transform computation overflow · 63bd6dc9
      Yi Luo authored
      - Add 16-bit saturation in fdct_round_shift().
      - Add extreme value tests and round trip error tests.
      - Fix inv 4x8 txfm calculation accuracy.
      - Fix 4x8, 8x4, 8x16, 16x8, 16x32, 32x16 extreme value tests.
      - BDRate: lowres: -0.034
                midres: -0.036
                hdres:  -0.013
      BUG=webm:1340
      
      Change-Id: I48365c1e50a03a7b1aa69b8856b732b483299fb5
      63bd6dc9
  17. 09 Nov, 2016 2 commits
  18. 02 Nov, 2016 2 commits
  19. 20 Oct, 2016 1 commit
    • Yi Luo's avatar
      Fix the overflow of av1_fht32x32() in 2D DCT_DCT · 157e45a4
      Yi Luo authored
      - Use range check function to avoid DCT_DCT overflow.
        We need to re-develop the column txfm side scaling/rounding. Now,
        we prefer to maintain the current BDRate level.
      - Encoder user level time reduction <1% owing to av1_fht32x32_avx2.
      - Add MemCheck unit test and fdct32() unit test.
      
      Change-Id: I1e67030f67bc637859798ebe2f6698afffb8531c
      157e45a4
  20. 19 Oct, 2016 1 commit
  21. 06 Oct, 2016 1 commit
    • Yi Luo's avatar
      Hybrid forward transforms 16x16 AVX2 optimization · e8e8cd8f
      Yi Luo authored
      - Unit tests are added for AVX2 SIMD.
      - Encoder speed improvement:
        AV1 baseline and EXT_TX, three 1080p sequences at bitrate:
        800 Kbps, 2 Mbps, 6 Mbps, on i7-6700 CPU, average
        user level time reduction: 3.86%.
      
      Change-Id: Ibbd7837ee3a831c6b1e4e471bf6c8d3fa3a19ff4
      e8e8cd8f
  22. 03 Oct, 2016 1 commit
  23. 23 Sep, 2016 1 commit
  24. 09 Sep, 2016 1 commit
  25. 02 Sep, 2016 2 commits
    • Yaowu Xu's avatar
      Change to use AOM copyright notice · 2ab7ff05
      Yaowu Xu authored
      Change-Id: I2b2b70e756b7eb9611b7b33b7d5f19b3b30e0a50
      2ab7ff05
    • Geza Lore's avatar
      Minor transform code cleanup · a1ddae59
      Geza Lore authored
      - Localize static lookup tables in the sole functions that use them.
      - Remove dead high bit-depth IDST functions.
      - Apply clang-format
      
      Change-Id: Ibbd7db4259f9ea64d695b2f13f5c118aac8f1cf9
      a1ddae59
  26. 01 Sep, 2016 2 commits
  27. 26 Aug, 2016 1 commit
    • Geza Lore's avatar
      Use rectangular transforms for >= 8x8 blocks · d21982c8
      Geza Lore authored
      For rectangular blocks between 8x8 and 32x32, we can now code the
      transform size as one bigger than the largest square that fits in
      the block (eg, for 16x8, we can code a transform size of 16x16
      rather than the previous maximum of 8x8), when this oversized
      transform is coded in the bitstream, the codec will use the full
      size rectangular transform for that block (eg 16x8 transform in
      the above example).
      
      Also fixes a scaling bug in 16x8/8x16 transforms.
      
      Change-Id: I62ce75f1b01c46fe2fbc727ce4abef695f4fcd43
      d21982c8
  28. 23 Aug, 2016 1 commit
  29. 18 Aug, 2016 1 commit
  30. 16 Aug, 2016 1 commit
    • Yaowu Xu's avatar
      Port commits related to clpf and qm experiments · 0818a7c8
      Yaowu Xu authored
      Manually cherry-picked following commits from AOMedia git repository:
      bb2727c2 Sort includess for "clpf.h"
      c297fd00 Add quantisation matrix range parameters.
      0527894f Add encoder option and signaling for quant matrix control.
      4106232b Turn off trellis coding for quantization matrices.
      4017fca3 Modify tests to allow quantization matrices.
      1c122c24 Add quant and dequant functions for new quant matrices.
      95a89994 Enable CLPF
      f72782bb Fix a build issue
      73bae509 Add quantisation matrices and selection functions
      33208d20 Added support for constrained low pass filter (CLPF)
      
      Change-Id: I60fc1ee1ac40e6b9d1d00affd97547ee5d5dd6be
      0818a7c8
  31. 15 Aug, 2016 1 commit
  32. 12 Aug, 2016 1 commit
  33. 21 Jul, 2016 1 commit
    • Debargha Mukherjee's avatar
      Rectangular transforms 4x8 & 8x4 · e5848dea
      Debargha Mukherjee authored
      Added a new expt rect-tx to be used in conjunction with ext-tx.
      [rect-tx is a temporary config flag and will eventually be
      merged into ext-tx once it works correctly with all other
      experiments].
      
      Added 4x8 and 8x4 tranforms for use initially with rectangular
      sub8x8 y blocks as part of this experiment.
      
      There is about a -0.2% BDRATE improvement on lowres, others pending.
      
      When var-tx is on rectangular transforms are currently not used.
      That will be enabled in a subsequent patch.
      
      Change-Id: Iaf3f88ede2740ffe6a0ffb1ef5fc01a16cd0283a
      e5848dea
  34. 22 Mar, 2016 1 commit
    • Yaowu Xu's avatar
      vp10/ -> av1/ · cfea7dd7
      Yaowu Xu authored
      Change-Id: Ia055d03656ad1580447eced8687949583fdf4089
      cfea7dd7