1. 23 Mar, 2017 2 commits
  2. 22 Mar, 2017 1 commit
  3. 21 Mar, 2017 2 commits
  4. 20 Mar, 2017 1 commit
  5. 19 Mar, 2017 1 commit
  6. 17 Mar, 2017 3 commits
    • Steinar Midtskogen's avatar
      Fix -fsanitize=integer warnings in v64_intrinsics_c.h · 95f1c2ab
      Steinar Midtskogen authored
      Change-Id: I8134c0ac4bd18478b266a0058e00bc6b1e6f8e9e
    • Steinar Midtskogen's avatar
      Fix ubsan warnings · 6c795765
      Steinar Midtskogen authored
      Change-Id: Ief69f220ec5b6cf15443f872ad2f9a63336c185d
    • Steinar Midtskogen's avatar
      Merge dering/clpf rdo and filtering · a9d41e88
      Steinar Midtskogen authored
      * Dering and clpf were merged into a single pass.
      * 32x32 and 128x128 filter block sizes for clpf were removed.
      * RDO for dering and clpf merged and improved:
        - "0" no longer required to be in the strength selection
        - Dering strength can now be 0, 1 or 2 bits per block
                    LL    HL
      PSNR:       -0.04 -0.01
      PSNR HVS:   -0.27 -0.18
      SSIM:       -0.15 +0.01
      CIEDE 2000: -0.11 -0.03
      APSNR:      -0.03 -0.00
      MS SSIM:    -0.18 -0.11
      Change-Id: I9f002a16ad218eab6007f90f1f176232443495f0
  7. 15 Mar, 2017 1 commit
    • Thomas Davies's avatar
      EC_ADAPT: Perform backwards updates directly on CDFs. · 028b57f5
      Thomas Davies authored
      The initial CDF for each frame is stored in
      the frame context. CDFs for actual coding are
      stored in the tile structures, and these are
      what get adapted. The initial CDF is replaced
      by an average CDF derived from these tile CDFs.
      This is carried forward to future frames when
      backward adaptation is on.
      CDFs are no longer set from the 8 bit probabilities
      in backwards adaptation.
      For now, 8 bit probabilities are maintained for
      use in the encoder and for symbols which do not
      have a CDF.
      Change-Id: I106b30510bfad1fa57d077f7702acc1864378a09
  8. 14 Mar, 2017 2 commits
  9. 10 Mar, 2017 2 commits
    • Thomas Davies's avatar
      Add a symbol decode call count to accounting. · f7f87ff2
      Thomas Davies authored
      This keeps track of how many calls have been made
      to read symbols or bits. A given syntax element
      may make multiple calls to symbol decoding functions,
      and these variables keep track of the entropy
      decoding engine throughput.
      Change-Id: Iab3a720cbfe68f8d5ca3e4c415f7baa683b24268
    • Urvang Joshi's avatar
      SMOOTH_PRED: Use get_msb() to get log2 of block dimension. · ee7ee7f4
      Urvang Joshi authored
      Apart from being inefficient, the floating point operation log2()
      was resulting in an assertion failure due to an unrelated floating
      point exception that happens earlier.
      Related: update the MD5s in test_intra_pred_speed to fix that failure
      Change-Id: I18dc0733e880bac21b3d07ad874f8ae341f59f06
  10. 07 Mar, 2017 1 commit
  11. 06 Mar, 2017 1 commit
    • Urvang Joshi's avatar
      SMOOTH_PRED: Use 8-bit weights for real. · 4d5bbbd9
      Urvang Joshi authored
      Use 255 instead of 256, to restrict to 8-bits.
      Only noise level differences in performance.
                         High Latency     Low Latency
        All Keyframes    -0.01            -0.01
        Video overall    -0.01            -0.07
      Google Set:
                        All KF            Video
      lowres            -0.005            -0.029
      midres            -0.008             0.028
      hdres             -0.010            -0.022      
      Note: By moving from 18-bit to 8-bit and then
      cutting off at 255 (this change, overall effect is
      noise level too (neutral or better).
      Change-Id: I9f2852023015e36c01203bafe486ec400b2ba46f
  12. 03 Mar, 2017 1 commit
  13. 01 Mar, 2017 6 commits
    • Ryan Lei's avatar
      implement combined parallel_deblocking experiment · 392d0ff7
      Ryan Lei authored
      The parallel_deblocking experiment is proposed jointly by Intel
      and Microsoft. The following changes are implemented in this
      - deblocking filter order is changed to filter all vertical edges
        of the whole frame followed by filtering all horizontal edges
        of the whole frame
      - filter length decision is made based on the transform block size
        on both sides of the edge. block with smaller transform size
        determines the final filter length.
      - transform blocks on both sides of the edge are checked, only when
        both blocks are skipped and they belong to the same prediction
        block, filtering of that edge can be skipped.
      - 15-tap filter and extended flat area detection are removed.
      - special rule for handling 4x4 transform block on the super block
        boundary in VP9 is removed.
      Change-Id: I1aa82c6b5335d47c2f73eec8fc8bee2c08a1cf74
    • Tom Finegan's avatar
      Fix naming inconsistency in aom_dsp cmake source list vars. · 919caadb
      Tom Finegan authored
      The AVX2 intrinsics vars were violating the pattern.
      Change-Id: I0bd2e270b7dbb173d753b2f5aeb48823efac4feb
    • Tom Finegan's avatar
      Move aom_dsp.cmake lib list updates into setup_aom_dsp_targets(). · 5abae0a7
      Tom Finegan authored
      Change-Id: I5eb53ef88fb136bf8e06aa2cdc2c1feae9bec956
    • Tom Finegan's avatar
      Remove test support from aom_dsp.cmake. · 188880b6
      Tom Finegan authored
      Removes a dupe. The CONFIG_MOTION_VAR testing support exists
      in test/test.cmake.
      - Remove the source file references.
      - Remove setup_aom_dsp_test_targets().
      Change-Id: Ifa034582223641d6d89a3274ff293c1e65cbb73d
    • Tom Finegan's avatar
      Fix high bit depth build in cmake. · 9af968fc
      Tom Finegan authored
      Fix the mistyped variable name that smashed a source list.
      Change-Id: Id654ec06d2a1c479de5f61bb8c48e9e1df51086b
    • James Zern's avatar
      get_prob(): rationalize int types · 5f8361a7
      James Zern authored
      promote the unsigned int calculation to uint64_t rather than int64_t for
      type consistency
      cherry-picked from libvpx:
      47d6f16a0 get_prob(): rationalize int types
      Change-Id: Ic34dee1dc707d9faf6a3ae250bfe39b60bef3438
  14. 28 Feb, 2017 2 commits
    • Alex Converse's avatar
      Simplify rabs_read() · bff32ac0
      Alex Converse authored
      This is branchless on newer gcc and clang and is about 1% faster overall
      at cq-level=16 frame-parallel=1.
      Change-Id: I7f5608ab0f0abbc29aa3419a103addf945ea9f0a
    • Urvang Joshi's avatar
      SMOOTH_PRED: Use 8-bit weights. · 3e42acd4
      Urvang Joshi authored
      Using 8-bit weights gives similar results as 12-bit, with only noise
      level difference. Here's what 8-bit looks like compared to 12-bit:
      * AWCY Objective-1-fast:
                                high latency          low latency
      ALL keyframes             0.00                  0.01
      Video                     0.00                  0.04
      * Google sets:
      All Keyframes:
      lowres: 0
      midres: -0.001
      hdres: -0.001
      Video overall:
      lowres: 0
      midres: -0.063
      hdres: 0.026
      Change-Id: Ibed6015aa7cce12fcc6f314ffde76624df4ad2a1
  15. 27 Feb, 2017 1 commit
  16. 25 Feb, 2017 1 commit
    • Timothy B. Terriberry's avatar
      Fix signed left-shifts added in e93acb2d. · 4e6a8f30
      Timothy B. Terriberry authored
      Since we now require C99, this is undefined behavior.
      Thanks to Luc Trudeau for the report and Alex Converse for the
      suggestion on how to make the macro safe for all integer sizes.
      Change-Id: I99a1342dfedb3e17a6869269be317c2ed26bfe9b
  17. 24 Feb, 2017 4 commits
  18. 23 Feb, 2017 2 commits
    • Tom Finegan's avatar
      Move aom_dsp cmake stuff into aom_dsp/aom_dsp.cmake. · 85ac13e4
      Tom Finegan authored
      - Move source list vars.
      - Split source list vars into common/decoder/encoder sources.
      - Move target definitions into function.
      - Split targets into common/decoder/encoder targets.
      - Update CMakeLists.txt to include aom_dsp.cmake and call
        setup_aom_dsp_targets() at the appropriate time.
      Change-Id: I434d2e76b04cbccdbdcec7ca818b36b8ee1f840e
    • Urvang Joshi's avatar
      SMOOTH_PRED: Use 12-bit multiplications instead of 18-bit. · 81760810
      Urvang Joshi authored
      Compression performance is roughly neutral:
                       High Latency     Low Latency
        All Keyframes  0.00             0.00
        Video overall  0.01            -0.01
      Google sets:
      - All Keyframes:
        lowres  -0.001
        midres   0.000
        hdres    0.001
      - Video overall:
        lowres   0.019
        midres   0.000
        hdres   -0.013
      Change-Id: I89be2739203bf3e2848e4ba7ae2988c625f54513
  19. 18 Feb, 2017 1 commit
  20. 16 Feb, 2017 3 commits
    • Nathan E. Egge's avatar
      Rename aom_read_tree_bits() to aom_read_tree_as_bits(). · c4e9e473
      Nathan E. Egge authored
      Rename the aom_read_tree_bits() function to match aom_read_tree_as_cdf().
      Change-Id: I779f544615b1c19bb1f781c1f7a0f59dda7bd466
    • Thomas Davies's avatar
      EC_ADAPT: do faster adaptation initially. · 27713d93
      Thomas Davies authored
      Symbol count is maintained in the position after the
      last CDF value.
      Change-Id: I1882e48bfb1404ea7b83ef410298484939601796
    • Nathan E. Egge's avatar
      Fix DAALA_EC when EC_MULTISYMBOL disabled. · 0f11c78d
      Nathan E. Egge authored
      When DAALA_EC is enabled, calls to aom_read_tree() and aom_write_tree()
       would automatically convert the aom_tree_index and aom_prob into a CDF
       and call the aom_read_cdf() or aom_write_cdf(), which causes an
       error if DAALA_EC is enabled without EC_MULTISYMBOL.
      This patch moves the conversion functions from daalaboolreader.h and
       daalaboolwriter.h into bitreader.h and bitwriter.h respectively, and
       only calls the conversion functions if EC_MULTISYMBOL is enabled.
      This allows DAALA_EC to be enabled without EC_MULTISYMBOL and is a
       bitstream change when both ANS and EC_MULTISYMBOL are enabled as calls
       to read and write trees will automatically be converted into calls that
       read and write cdfs.
      Change-Id: Id2f9aa9b5113292998cadfe69e4ba547324643ac
  21. 15 Feb, 2017 1 commit
    • Nathan E. Egge's avatar
      Add flag for RAWBITS to use raw bits with DAALA_EC. · 24f1a904
      Nathan E. Egge authored
      The use of raw bits is now disabled by default and can be turned on with:
       ./configure --enable-experimental --enable-rawbits
      This commit has a negligible impact on rate.
      master@2017-02-14T18:57:22.282Z -> no_rawbits@2017-02-14T18:57:41.977Z
         PSNR | PSNR Cb | PSNR Cr | PSNR HVS |    SSIM | MS SSIM | CIEDE 2000
      -0.0000 | -0.0000 | -0.0000 |  -0.0000 | -0.0000 | -0.0000 |    -0.0000
      master@2017-02-14T18:52:48.425Z -> no_rawbits@2017-02-14T18:52:04.489Z
         PSNR | PSNR Cb | PSNR Cr | PSNR HVS |    SSIM | MS SSIM | CIEDE 2000
      -0.0001 | -0.0001 | -0.0001 |  -0.0001 | -0.0001 | -0.0001 |    -0.0001
      Change-Id: I01e79e9f314565a64b224ca41047f7bd7fe33f70
  22. 13 Feb, 2017 1 commit