1. 20 Apr, 2017 10 commits
    • Alex Converse's avatar
      Lowercase cpi->Source and cpi->Last_Source · f77fd0b0
      Alex Converse authored
      BUG=aomedia:449
      
      Change-Id: I8d1a0342e11877e466a1fb771f9a1941598c95d5
      f77fd0b0
    • Urvang Joshi's avatar
      quantize_b_c: Refactor highbd and lowbd versions. · e78b6f4d
      Urvang Joshi authored
      The two functions were exactly the same.
      
      BUG=aomedia:442
      
      Change-Id: I8062dc06ec054d58a97be7396fc07bafc13e5fd5
      e78b6f4d
    • Yue Chen's avatar
      Always use above predictor in under 8x8 chroma obmc · f7ba6470
      Yue Chen authored
      Change-Id: Ic23c96b78112ef9fbd7adad69f63bdbe3a56ce23
      f7ba6470
    • Alex Converse's avatar
      intrabc: Add initial skeleton · 28744309
      Alex Converse authored
      Missing features:
      * RDOPT (Forced on for certain blocks)
      * Any form of border extension
      * Non MI sized right and bottom edges
      * MV prediction
      
      Present features:
      * Force intrabc for some blocks
      * Carry intrabc in the bitstream
      * Validate DV is causal
      * Reconstruct intrabc block assuming border extension is unnecessary
      
      Change-Id: Ib1f6868e89bfacc2a4edfc876485bad1b347263b
      28744309
    • Zoe Liu's avatar
      Fix the build failure combining ext-refs and xiphrc · e04abf72
      Zoe Liu authored
      Change-Id: I815d37986119b20ff386c640fe60e41aef785be3
      e04abf72
    • Zoe Liu's avatar
      Fix the build failure combining ext-refs and tempmv-signaling · 453aef6e
      Zoe Liu authored
      Change-Id: I3673e84faccc0d4e1a7c433660f783f1eccbdb85
      453aef6e
    • Yushin Cho's avatar
      Fix daala-dist in sub8x8 inter rdo without cb4x4 · 4483e3dd
      Yushin Cho authored
      Fixes several bugs in daala-dist, sub8x8 inter mode
      with --disable-cb4x4.
      
      Changes on BD-Rate are:
      (objective-1-fast, high delay mode, --disalble-cb4x4):
      
         PSNR | PSNR Cb | PSNR Cr | PSNR HVS |    SSIM | MS SSIM | CIEDE 2000
      14.0337 | 13.0132 | 14.6055 |  -3.2030 | -2.2092 | -9.3902 |    10.3399
      
      Additionally, BD-Rate change by daala-dist in enforced MSE mode
      which can show the correctness of implementation is
      
        PSNR | PSNR Cb | PSNR Cr | PSNR HVS |   SSIM | MS SSIM | CIEDE 2000
      0.0048 |  0.0789 |  0.0209 |   0.0443 | 0.0137 |  0.0411 |     0.0441
      
      Change-Id: I68ec90c6072aa3564522c2b8e87b62a998cec47c
      4483e3dd
    • David Barker's avatar
      Harmonize ext-inter and ref-mv · 3dfba994
      David Barker authored
      This changes the behavior of the ext-inter compound modes
      as follows:
      * NEAREST_NEARESTMV, NEAR_NEARMV, NEW_NEWMV, ZERO_ZEROMV
        work the same as the corresponding compound modes without
        ext-inter
      * NEAREST_NEWMV and NEW_NEARESTMV keep their current behavior,
        which is to use the first ref-mv candidate pair for their
        particular reference frames
      * NEAR_NEWMV and NEW_NEARMV select between the second, third,
        and fourth candidate pairs.
      * NEAREST_NEARMV and NEAR_NEARESTMV use the first candidate
        pair for the NEAREST component and the second, third, or
        fourth candidate pair for the NEAR component.
      
      Also do some minor refactoring and fix compile errors
      with --enable-ext-inter --disable-ref-mv
      
      Change-Id: If0d2a60559083b7c1189909d426b705af42d2d0e
      3dfba994
    • hui su's avatar
      palette-delta-encoding experiment · d13c24a5
      hui su authored
      Transmit palette colors with delta encoding.
      Coding gain on scrren_content testset:
      overall 0.67%  keyframe 1.37%
      
      Change-Id: I72ce9061dfddf933e9f7530f069955afcb07edf8
      d13c24a5
    • Yunqing Wang's avatar
      ext_tile: add 2 tile encoding modes · d8cd55f4
      Yunqing Wang authored
      Added 2 tile encoding modes:
      TILE_NORMAL mode supports the large-scale tile coding up to 1024 x 1024
      tiles;
      TILE_VR mode supports the large-scale tile coding and also the decoding
      of a single tile.
      
      TILE_NORMAL mode allows the non-vr content to be encoded in multiple tiles
      without using the coding tool that are designed for vr applications.
      
      Change-Id: Id804806a1bbcb916b7f5dc7e2c5509d88f3defcb
      d8cd55f4
  2. 19 Apr, 2017 2 commits
    • David Barker's avatar
      Fix some rdopt bugs in ext-inter · cb03dc34
      David Barker authored
      * Refactor write_inter_mode and cost_mv_ref slightly
      
      * In handle_inter_mode: When discount_newmv_test returns 1,
        ext-inter is enabled, and we're costing up a compound mode,
        we would previously call cost_mv_ref with mode=NEARESTMV and
        comp_pred=1. But this is inconsistent when ext-inter is enabled!
      
        Fix this by changing the behaviour of cost_mv_ref to (effectively)
        derive comp_pred from the mode passed in, and switch to
        mode=NEAREST_NEARESTMV in the above case.
      
      * Fix incorrect motion vector costing for some compound modes
      
      * Fix a case where compound blocks were mis-costed. This primarily
        affects ext-inter *without* wedge or compound-segment enabled,
        but should still have some small impact when those experiments
        are enabled.
      
        The cause of this is that we only spend bits to send the
        interinter compound type if is_any_masked_compound_used(bsize)
        returns true. But the rdopt loop forgot to check this condition
        in one case.
      
      Change-Id: I8b54cb3552f9ec384fd5ea260e12685168fbccc1
      cb03dc34
    • Steinar Midtskogen's avatar
      Signal CDEF damping in the frame header · 0c966a50
      Steinar Midtskogen authored
      Change-Id: I57f232623e647f029b007de8ddb203c47ca3c11c
      0c966a50
  3. 18 Apr, 2017 4 commits
    • Angie Chiang's avatar
      Redo txfm/quant in av1_txk_search · 2ed03a37
      Angie Chiang authored
      Change-Id: I622d499187f3881b274ca6cf3745f51fa0103b18
      2ed03a37
    • Angie Chiang's avatar
      Add txk_sel exp · cd9b03fb
      Angie Chiang authored
      This will separate the transform kernel selection from lv_map
      experiment such that we can evaluate each feature's performance
      separately
      
      Note that txk_sel is build on top of lv_map
      
      Change-Id: I5bd1ea99be30000efcdc2bcd42de002b78b1c3c8
      cd9b03fb
    • Timothy B. Terriberry's avatar
      ec_smallmul: Convert CDFs to iCDFs. · f6c807c5
      Timothy B. Terriberry authored
      Hoists the iCDF conversion outside of the daala code.
      We directly store 32768 - cdf[i] in each cdf, to avoid having to
      convert the whole array every time a symbol is coded.
      
      This works with ec_multisymbol, new_tokenset, and ec_adapt.
      
      Compared to Change-Id Idbbd3743e9189146cb519d5b984bdabd69e3f4c0,
      this improves decoder runtimes by 1.15% at QP=55 and 2.64% at
      QP=20.
      
      The overall slowdown of ec_smallmul is now 0.12% at QP=55 and
      0.44% at QP=20.
      
      Encoder output should not change, and all streams should remain
      decodable without decoder changes.
      
      Change-Id: I06b8b75b667bb1bc4ddffc78f895e48a09f4c578
      f6c807c5
    • Yi Luo's avatar
      Deliver the eob threshold to inverse transform · f8e87b46
      Yi Luo authored
      Change-Id: Iaa8ab77eb4a982759939fb5fc475f699cb21a4e1
      f8e87b46
  4. 17 Apr, 2017 4 commits
    • Thomas Daede's avatar
      Remove rt deadline. · 8082614e
      Thomas Daede authored
      The "good" speed levels are universally better than the "rt" ones,
      running faster to achieve the same quality.
      
      rt mode also turned off alt refs and lag-in-frames, but these
      are still accessible separately (and the low latency test case
      explicitly sets them).
      
      Some features were used by the rt scale and not the good scale.
      Two additional "good" levels, 7 and 8, were added to accomidate
      these features and not reduce test coverage.
      
      Change-Id: I3a6a78ddb664511762c197bc41f3a9909665b565
      8082614e
    • Sarah Parker's avatar
      Avoid exiting tx size search when tx-size is square · 36661926
      Sarah Parker authored
      This fixes a mismatch in ext-tx + rect-tx introduced
      by a refactor in 2d147c16.
      
      BUG=aomedia:422
      
      Change-Id: I5bc40b2dcd7bf53b20c1bea454aae49f2d5dfe67
      36661926
    • Yaowu Xu's avatar
      Fix build for motion-var and ext-inter · a631722c
      Yaowu Xu authored
      Change-Id: If7a3dc0006543c30f55f4ed2b33f28b69395bd60
      a631722c
    • Jingning Han's avatar
      Singularity handling in Gaussian elimination · 041c67b9
      Jingning Han authored
      When the fwd Gaussian elimination process encounters diagonal
      element as zero value, the linear equation does not have unique
      solution. Return the linear solver state as unsolvable in such
      case. This resolves a floating point exception issue due to divided
      by zero in the loop restoration filter.
      
      BUG=aomedia:437
      
      Change-Id: I3c67525691a3003f9f470e8a0d5b4ee187cba963
      041c67b9
  5. 16 Apr, 2017 2 commits
  6. 15 Apr, 2017 1 commit
  7. 14 Apr, 2017 9 commits
    • Debargha Mukherjee's avatar
      Reduce array sizes for Wiener update steps · 6ae588f6
      Debargha Mukherjee authored
      Change-Id: Iff0cb1d492c7a8c2035b9bd752b1d00260135672
      6ae588f6
    • Timothy B. Terriberry's avatar
      daala_ec: Remove non-dyadic functions. · 033e5368
      Timothy B. Terriberry authored
      Encoder output should not change, and all streams should remain
      decodable without decoder changes.
      
      Change-Id: Id1f1b0f2f02c3b46f150a93c451bf48abd0782ca
      033e5368
    • Zoe Liu's avatar
      Adjust encoder rate allocations for ext-refs · c3571bc8
      Zoe Liu authored
      This CL is targeted to improve the objective/subjective quality of the
      "ext-refs" coding tool.
      
      Tuned the frame rate factors as follows:
      
      (1) BRF_UPDATE:
          Decreased from INTER_HIGH (1.5) to GF_ARF_LOW (1.25);
      (2) Both LAST_BIPRED_UPDATE and BIPRED_UPDATE:
          Increased from INTER_LOW (0.80) to INTER_NORMAL (1.00)
      , which is to reduce the bits allocated to the BWEDREF frame whereas
      to increase the bits allocated to the bi-directionally predicted
      frames.
      
      Obtained a coding gain in overall PSNR as follows, compared against
      the original ext-refs:
      
      lowres: BDRate -0.181%
      midres: BDRate -0.090%
      hdres:  BDRate -0.701%
      
      Change-Id: Id001f3b124d833da9f80eba4cdec2ca3f6ba9d82
      c3571bc8
    • Sarah Parker's avatar
      Refactor gm/wm/obmc for cleaner warping interactions · 4c10a3c2
      Sarah Parker authored
      This creates a central function which defines when a
      block should be warped. It also refactors the
      WARPED_MOTION code so that all calls to av1_warp_plane
      happen in the same location.
      
      No change in performance.
      
      Change-Id: Icaf9ec7700d34523809258594bb9843bb2975f46
      4c10a3c2
    • Dake He's avatar
      [optimize-b] Use a greedy search method · 97f56645
      Dake He authored
      The greedy search method improves the BD-rate over the baseline by
      more than 0.2% for lowres test set. Larger gain 0.55% is observed for hdres test set.
      
      [2017.04.06] Cleanup to remove redundant computation. On a local linux
      machine, the greedy method is now faster than the trellis method in
      encoding the first 100 frames of foreman_cif. However, the BD-rate seems
      to become smaller due to the recent changes to the codebase.
      [2017.04.06-2] Style changes to meet the requirements.
      remove "greedy-optimize-b" in configure
      [2017.04.10] Move the changes under the macro USE_GREEDY_OPTIMIZE_B
      [2017.04.11] Adjust rdmult to accommodate CpuSpeedTest
      [2017.04.12] Set USE_GREEDY_OPTIMIZE_B to 0 at the request of debargha@.
      [2017.04.13] Move greedy implementation of optimize_b into a separate
      function with the same name (selected by USE_GREEDY_OPTIMIZE_B, default
      is 0)
      
      Change-Id: Ic15534f8d696d5f02e8f2e3e9f08b52e41e9efd2
      97f56645
    • Angie Chiang's avatar
      Write/update tx_type per txb in lv_map exp · 1628fccb
      Angie Chiang authored
      Change-Id: I052721017cddd57ff9995e8dd442e4b3436a0b48
      1628fccb
    • Angie Chiang's avatar
      Add av1_update_tx_type_count() · b14b73f9
      Angie Chiang authored
      This will make the code cleaner and lv_map experiment will be able
      to reuse this function.
      
      Change-Id: I885336117daa0090e16f1bb7a0c3e7bb54105410
      b14b73f9
    • Angie Chiang's avatar
      Modify av1_write_tx_type for lv_map experiment · c31ea682
      Angie Chiang authored
      Change-Id: If129748d918995efcc58169d153a0950eeec5efb
      c31ea682
    • Jean-Marc Valin's avatar
      Only filter the blocks we need to filter (rather than use threshold=0) · 70f0e5eb
      Jean-Marc Valin authored
      Change-Id: Iddb2103452817e9624a28794cab923f00c3e9924
      70f0e5eb
  8. 13 Apr, 2017 3 commits
    • Angie Chiang's avatar
      Use max_block_wide/high in av1_write_coeffs_mb · 8d6bc80b
      Angie Chiang authored
      This fix the invalid tx_type error happened when mb_to_right_edge
      is negative
      
      The invalid tx_type error will cause bitstream error and then
      let the decoder hang in the while loop of read_golomb()
      
      Change-Id: Ide6c3497cdd5b69b20b4b093241ed89ccc1b0f00
      8d6bc80b
    • Jingning Han's avatar
      Align frame_context to 16 bytes in TileData · 9f07be16
      Jingning Han authored
      BUG=aomedia:432
      
      Change-Id: Ide94ffbf5ed0f25ac64892f02364b67cefa5fd15
      9f07be16
    • Sarah Parker's avatar
      Disable neighbor warping for gm + obmc · a036d86f
      Sarah Parker authored
      Adds an option to disable warp when obmc is used with a
      global motion neighbor.
      
      Change in BDRATE on cam_lowres
      gm + obmc enabled: 0.035%
      gm + obmc + wm enabled: -0.005%
      
      Change-Id: I1d6de75c7ead325cec31ed3748b5532f3658d8a7
      a036d86f
  9. 12 Apr, 2017 5 commits