1. 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
  2. 19 Oct, 2016 1 commit
  3. 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
  4. 03 Oct, 2016 1 commit
  5. 09 Sep, 2016 1 commit
  6. 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
  7. 01 Sep, 2016 2 commits
  8. 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
  9. 23 Aug, 2016 1 commit
  10. 18 Aug, 2016 1 commit
  11. 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
  12. 15 Aug, 2016 1 commit
  13. 12 Aug, 2016 1 commit
  14. 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
  15. 21 Mar, 2016 1 commit
    • Debargha Mukherjee's avatar
      Adds 1D transforms for ADST/FlipADST to make 16 · 1b175593
      Debargha Mukherjee authored
      Makes a set of 16 transforms total, adding all 1D
      combinations of ADST and FlipADST, and removng all DST
      transforms.
      
      lowres, midres both improve by about 0.1% and hdres by
      -0.378% in BDRATE but with fewer transforms that are also
      simpler.
      
      Further experiments to continue later.
      
      Change-Id: I7348a4c0e12078fdea5ae3a2d36a89a319ffcc6e
      1b175593
  16. 15 Mar, 2016 1 commit
    • Debargha Mukherjee's avatar
      Refactor 1D transforms · 9b88762b
      Debargha Mukherjee authored
      In preparation for adding more 1D variants with ADST/FlipADST/etc.
      
      BDRATE actually improves by 0.21% on lowres.
      
      Change-Id: I2fa4720c69fe001fa666119a284dfc6b17fffab2
      9b88762b
  17. 07 Mar, 2016 1 commit
    • Jingning Han's avatar
      Hybrid 1-D/2-D transform coding · a8dc9694
      Jingning Han authored
      This commit enables a hybrid 1-D/2-D transform coding scheme and
      the accompany entropy coding system. It currently uses hybrid
      1-D/2-D DCT transform coding. It provides coding performance gains:
      
      lowres_all  0.55%
      hdres_all   0.43%
      
      Change-Id: I2b30dcafd21eb2bb3371f6e854cbab440a4dfa78
      a8dc9694
  18. 17 Feb, 2016 1 commit
  19. 16 Feb, 2016 1 commit
  20. 15 Dec, 2015 1 commit
    • Debargha Mukherjee's avatar
      Replace DST1 in ext_tx experiment with DST2 · 49d9730f
      Debargha Mukherjee authored
      The DST2 is implemented by input alternate sign-flip, followed
      by DCT, followed by output reversal.
      Results are roughly the same, but it should be easier to optimize
      the DST2.
      [Interestingly a mtrix multuiply implementation is about 0.1%
      better].
      
      Change-Id: If9ae5fdba87767fb0e6c163a62b77ee66a8d3afc
      49d9730f
  21. 04 Dec, 2015 1 commit
    • Angie Chiang's avatar
      comment out range_check of fdct in dct.c · 08b157da
      Angie Chiang authored
      The range_check is not used because the bit range
      in fdct# is not correct. Since we are going to merge in a new version
      of fdct# from nextgenv2, we won't fix the incorrect bit range now.
      
      Change-Id: I54f27a6507f27bf475af302b4dbedc71c5385118
      08b157da
  22. 09 Nov, 2015 1 commit
    • Johann's avatar
      Release v1.5.0 · cbecf57f
      Johann authored
      Javan Whistling Duck release.
      
      Change-Id: If44c9ca16a8188b68759325fbacc771365cb4af8
      cbecf57f
  23. 03 Nov, 2015 2 commits
    • Geza Lore's avatar
      Eliminate copying for FLIPADST in fwd transforms. · 01bb4a31
      Geza Lore authored
      This patch eliminates the copying of data when using FLIPADST forward
      transforms, by incorporating the necessary data flipping into the
      load_buffer_* functions of the SSE2 optimized forward transforms. The
      load_buffer_* functions are normally inlined, so the overhead of copying
      the data is removed and the overhead of flipping is minimized. Left to
      right flipping is still not free, as the columns need to be shuffled in
      registers.
      
      To preserve identity between the C and SSE2 implementations, the
      appropriate C implementations now also do the data flipping as part of
      the transform, rather than relying on the caller for flipping the input.
      
      Overall speedup is about 1.5-2% in encode on my tests. Note that these
      are only the forward transforms. Inverse transforms to come in a later
      patch.
      
      There are also a few code hygiene changes:
      - Fixed some indents of switch statements.
      - DCT_DCT transform now always use vp10_fht* functions, which dispatch
        to vpx_fdct* for DCT_DCT (some of them used to call vpx_fdct*
        directly, some of them used to call vp10_fht*).
      
      Change-Id: I93439257dc5cd104ac6129cfed45af142fb64574
      01bb4a31
    • Geza Lore's avatar
      Fix transform tables in C implementations. · 2b39bcec
      Geza Lore authored
      These tables were out of sync with the indexing enum since the
      refactoring in commit 4f16f119 (change 303389), due to the removal
      of the ext_tx_to_txtype lookup table. This patch just puts them
      back in order.
      
      Change-Id: Ieb7d57654f61b99b511d54c9ba09abbd5e8d0d14
      2b39bcec
  24. 15 Oct, 2015 1 commit
  25. 30 Sep, 2015 1 commit
    • Debargha Mukherjee's avatar
      Speed up of DST and the search in ext_tx · 3e8cceb3
      Debargha Mukherjee authored
      Adds an early termination to the ext_tx search, and also
      implements the DST transforms more efficiently.
      
      About 4 times faster with the ext-tx experiment.
      
      There is a 0.09% drop in performance on derflr from 1.735% to
      1.648%, but worth it with the speedup achieved.
      
      Change-Id: I2ede9d69c557f25e0a76cd5d701cc0e36e825c7c
      3e8cceb3
  26. 29 Sep, 2015 1 commit
    • Yaowu Xu's avatar
      Merged branch 'master' into nextgenv2 · 7c514e2d
      Yaowu Xu authored
      Resolved Conflicts in the following files:
              configure
              vp10/common/idct.c
              vp10/encoder/dct.c
              vp10/encoder/encodemb.c
              vp10/encoder/rdopt.c
      
      Change-Id: I4cb3986b0b80de65c722ca29d53a0a57f5a94316
      7c514e2d
  27. 26 Sep, 2015 1 commit
    • Angie Chiang's avatar
      comment out fdct32 · 6a382101
      Angie Chiang authored
      comment out fdct32
      remove fdct32 test
      
      Change-Id: I31c47fb435377465cd3265e39621ca50d3aae656
      6a382101
  28. 24 Sep, 2015 1 commit
  29. 21 Sep, 2015 1 commit
    • Angie Chiang's avatar
      remove static from fdct4/8/16/32 · 8903b9fa
      Angie Chiang authored
      remove static from fdct4/8/16/32 in vp10/encoder/dct.c
      add prefix vp10_ to fdct4/8/16/32
      add vp10/encoder/dct.h
      
      Change-Id: I644827a191c1a7761850ec0b1da705638b618c66
      8903b9fa
  30. 15 Sep, 2015 1 commit
  31. 12 Sep, 2015 1 commit
    • Angie Chiang's avatar
      add range_check for fdct in vp10 · fe776ce6
      Angie Chiang authored
      Unify the style of fdct4() fdct8() fdct16()
      Add fdct32()
      Add range_check() at each stage
      Add unit test at ../../test/vp10_dct_test.cc
      
      Change-Id: I13f76d9046c3ea473c82024b09a5bc8662e2c28e
      fe776ce6
  32. 10 Sep, 2015 1 commit
    • Debargha Mukherjee's avatar
      Comprehensive support for symmetric DST · 4ce81d66
      Debargha Mukherjee authored
      Creates new hybrid transforms combining symmetric DST with
      ADST and DCT. Thus a total of 16 transforms are supported.
      
      derfl: +1.659% (up about 0.2%)
      
      Change-Id: Idde1cecdb59527890bf05da740099c3f6a5b9764
      4ce81d66
  33. 03 Sep, 2015 1 commit
  34. 02 Sep, 2015 1 commit
    • Angie Chiang's avatar
      add range_check for fdct in vp10 · f78d6aa7
      Angie Chiang authored
      Unify the style of fdct4() fdct8() fdct16()
      Add fdct32()
      Add range_check() at each stage
      Add unit test at ../../test/vp10_dct_test.cc
      
      Change-Id: I9e912b2c5683862e65c5a21abc3e1c260cca4576
      f78d6aa7
  35. 12 Aug, 2015 3 commits