1. 13 Jan, 2018 1 commit
  2. 11 Jan, 2018 5 commits
  3. 10 Jan, 2018 1 commit
    • Michelle Findlay-Olynyk's avatar
      hash_based_trellis speed feature · fbab0621
      Michelle Findlay-Olynyk authored
      Add speed feature that uses hash tables to
      reuse previously found optimized coefficients
      in av1_optimize_txb. This skips some expensive
      optimize_txb calls.
      
      Currently shows no significant quality
      degredation or speed improvement, and set to off
      by default. Requires hash_me, lv_map and
      lv_map_multi. Adding to speed features required
      changing AV1_COMMON *cm to AV1_COMP *cpi in a
      chain of functions.
      
      Variations that have been tried:
      -varying the maximum eob on which the feature
      activates: 16, 32, 64. 16 currently used. 64
      has best hit rate but longer execution time.
      -varying the data hashed and the length of hashes
      (first hash is 16 bit and based on context data,
      while second hash is 16 bit and based only on
      pre-optimized qcoeff values.)
      -softening the data used for the hashes: ideally
      this would raise the number of hits, without
      compromising quality too much.
      
      Change-Id: I94f22be82f3a46637c0489d512f2e334a307575f
      fbab0621
  4. 08 Jan, 2018 2 commits
  5. 05 Jan, 2018 2 commits
    • Jingning Han's avatar
      Make txk-sel support cfl in key frame coding · 60db3c95
      Jingning Han authored
      Properly store and update the luma component result in the key
      frame rate distortion optimization process for chroma component
      prediction. The txk-sel provides 0.15% gains for key frame coding
      on top of lv-map/multi and all other default experiments.
      
      Change-Id: I694860607b318d0a84333ed928d3de85c7676623
      60db3c95
    • Jingning Han's avatar
      Fix txk-sel rd search in the key frames · c5c37032
      Jingning Han authored
      If the transform block selects a transform kernel type that makes
      it all zero coefficients and hits the best rd cost, store such
      decision and force the transform block to be coded as all zero
      block in the final coding pass. This makes txk-sel improve the
      kf coding performance by 0.15% now.
      
      Change-Id: I4bc3c185b9c68daefb856276da45bbf9e317d02e
      c5c37032
  6. 27 Dec, 2017 1 commit
  7. 24 Dec, 2017 1 commit
  8. 23 Dec, 2017 1 commit
    • Sarah Parker's avatar
      Merge FINAL_PASS_TRELLIS_OPT with DISABLE_TRELLISQ_SEARCH · 792c2ec4
      Sarah Parker authored
      The speed feature FINAL_PASS_TRELLIS_OPT is meant to disable
      optimize_b during the transform search but allow it for the
      final encode of blocks. There was a previously existing macro
      called DISABLE_TRELLISQ_SEARCH, which does the same thing. This
      patch merges the functionality so the macro serves only to enable
      the speed feature.
      
      Change-Id: Ieee70f97f817998b7ca275f6e4647cc89a330ad6
      792c2ec4
  9. 22 Dec, 2017 1 commit
    • Debargha Mukherjee's avatar
      Make chroma loopfiltering tx_sizes consistent · 8aec7f30
      Debargha Mukherjee authored
      Removes existing inconsistencies between chroma tx_sizes
      used for chroma loopfiltering.
      Includes various refactoring to remove the uv_txsize_lookup
      array eventually.
      
      BUG=aomedia:1090
      
      Change-Id: Ib74299b41280ca3ebeaf9a9293242d531d68ad28
      8aec7f30
  10. 21 Dec, 2017 2 commits
  11. 18 Dec, 2017 3 commits
  12. 14 Dec, 2017 1 commit
    • Luc Trudeau's avatar
      [Clean Up] Remove get_y_mode() · 2eb9b845
      Luc Trudeau authored
      The get_y_mode function, is superfluous, not used consistently, and requires a
      useless block_idx parameter than gets pass around a lot inside the
      codebase for no apparent reason.
      
      The block parameter is misleading, as it could cause people to think all these
      functions actually use this value.
      
      Change-Id: I7ae0a8d1282c009b9114c83771cce10f5c2ee397
      2eb9b845
  13. 13 Dec, 2017 3 commits
  14. 11 Dec, 2017 2 commits
  15. 09 Dec, 2017 1 commit
    • Debargha Mukherjee's avatar
      Enable 4:1 -> 2:1 -> 1:1 splits for 4:1 transforms · e4e18fcc
      Debargha Mukherjee authored
      Also, splits the sub_tx_size_map array into inter and intra
      in order to enable the new 4:1 transforms for inter and
      intra separately.
      Includes refactoring such as removing the intra_tx_size_cat_lookup
      array since it is unnecessary, and consolidating the
      max_txsize_rect_lookup array for convenience.
      
      Change-Id: I112553bab612dafb973611c87f36a43e1ac4be85
      e4e18fcc
  16. 08 Dec, 2017 1 commit
    • Sarah Parker's avatar
      Remove bands from new-quant profiles · 6b56e99c
      Sarah Parker authored
      Rather than having a set of parameters for each of the 6
      COEF_BANDS, we have 1 for DC and 1 for AC coefficients.
      No change in performance since all of the bands had the
      same parameters.
      
      Change-Id: I3665e7c1b21f117be776f371d87d64b097715735
      6b56e99c
  17. 07 Dec, 2017 3 commits
  18. 06 Dec, 2017 1 commit
  19. 30 Nov, 2017 4 commits
    • Urvang Joshi's avatar
      optimize_b_greedy: Fix for TX64X64. · ebecbd3d
      Urvang Joshi authored
      Change-Id: Iff2780944e954973b9ee9ab3c04d1e6b44a7810d
      ebecbd3d
    • Luc Trudeau's avatar
      [CFL] CfL Initialization Simplification · 1e84af52
      Luc Trudeau authored
      The CfL context is now stored inside MACROBLOCKD instead of
      MACROBLOCKD only storing a pointer to the CfL context.
      The intent is to avoid race conditions as MACROBLOCKD is stored
      inside ThreadData. This change also simplifies CfL Initialization.
      
      Change-Id: I991503716b21fc9aca60caddb2008b8bff397e6d
      1e84af52
    • Debargha Mukherjee's avatar
      Do not use avx2 quantizer for 4:1 transforms · 24e31043
      Debargha Mukherjee authored
      Change-Id: I4b1a386ff989d63c7230923b36cb230b18466143
      24e31043
    • Debargha Mukherjee's avatar
      Refactor/Change the entropy context for transforms · b3eda2f4
      Debargha Mukherjee authored
      The change makes the entropy context for transforms use
      the same mechanism as with and without lv_map.
      For the non-lv-map case the context is now based on the
      the larger transform dim for 2:1 rect transforms. The context
      is now the average for 4:1 rect transforms for both lv-map and
      non-lv-map cases.
      There is one small fix for level map for getting the correct
      rate when skip is set.
      
      BDRATE: lowres, 30 frames, speed 1: -0.15% gain for the
      non-lv-map case on the baseline.
      
      Change-Id: I06a583d33bef68202d72a88e077f8d31cc5e7fe4
      b3eda2f4
  20. 29 Nov, 2017 1 commit
  21. 28 Nov, 2017 2 commits
  22. 27 Nov, 2017 1 commit
    • Debargha Mukherjee's avatar
      Add option to disable split partitions for chroma · 891a8774
      Debargha Mukherjee authored
      When the flag DISABLE_VARTX_FOR_CHROMA is on chroma is
      constrained to always use the largest transform size
      for the prediction unit size.
      This is meant to simnplify the logic for transform size
      selection for chroma with hopefully no loss.
      
      Results:
      lowres 30 frames, speed 1: -0.038% (a slight improvement).
      lowres 30 frames, speed 0: 0.000% (noise level difference).
      
      Change-Id: I14dd5b1983d908bd98e59b7d252e11f5755c97e6
      891a8774