1. 02 Aug, 2017 1 commit
    • Todd Nguyen's avatar
      Refactor bgsprite. · 1fd99c2f
      Todd Nguyen authored
      Changes:
      - Refactored alignment and blending out of stitch_image function
      - Variable name changes in stitch_image to increase readability
      - Changes to temporal_filter (under CONFIG_BGSPRITE flag) in preparation
      for blending of bgsprite and temporal filtered arf.
      
      Change-Id: I3c4e76f26d6586684079ae7e666881b6ce14b2db
      1fd99c2f
  2. 01 Aug, 2017 1 commit
    • Zoe Liu's avatar
      Add encoder support to ALTREF2 · e9b15e2b
      Zoe Liu authored
      This CL adds the use of ALTREF2_FRAME to both single / comp reference
      prediction at the encoder side. In particular, the encoder keeps the
      distant altref as ALTREF, and uses the internal extra altrefs to
      refresh ALTREF2.
      
      Compared with the baseline (ext_tx and global_motion disabled simply
      for speed concern):
      (a) lowres: avg_psnr -0.395% ovr_psnr -0.393% ssim -0.329%
      (b) midres: avg_psnr -0.419% ovr_psnr -0.431% ssim -0.444%
      (c) AWCY High Latency:
         PSNR | PSNR Cb | PSNR Cr | PSNR HVS |    SSIM | MS SSIM | CIEDE 2000
      -0.6661 | -0.5988 | -0.6669 |  -0.6993 | -0.6988 | -0.7303 | -0.6051
      (d) AWCY Low Latency:
        PSNR | PSNR Cb | PSNR Cr | PSNR HVS |   SSIM | MS SSIM | CIEDE 2000
      0.0720 | -0.0505 |  0.1501 |   0.0670 | 0.0842 |  0.0517 |     0.0158
      
      TODO list:
      (1) To have altref2 incorporated with ext-comp-refs;
      (2) To have altref2 fully work with new-multisymbol;
      (3) To re-collect the initial default probs/cdfs;
      (4) To tune the encoder gf group structure design for altref2.
      
      Change-Id: I6ad63fd65afa903d3bba20acdb68e3b67acf7fdf
      e9b15e2b
  3. 24 Jul, 2017 1 commit
    • Todd Nguyen's avatar
      Add temporal filtering/interpolation to bgsprite · 8493f916
      Todd Nguyen authored
      - Modified temporal filter to take extra buffer parameter
      - Added bilinear interpolation, can be turned on by setting
      BGSPRITE_INTERPOLATION define to 1.
      - Added mean filter to bgsprite for blending modes
      - Bilinear interpolation is turned OFF by default
      - Mean filtering turned ON by default (was previously median filtering)
      - Allow for multiple references for alt_ref in encodeframe
      
      Change-Id: Icfe9054049339d353b4befff11e96c12ca73ed4e
      8493f916
  4. 09 Jun, 2017 1 commit
    • David Barker's avatar
      Add 'do_average' to ConvolveParams structure · e64d51a9
      David Barker authored
      The 'ref' member of ConvolveParams currently serves two purposes:
      * To indicate which component of a compound we're currently predicting,
        eg. for fetching interpolation filters with dual-filter enabled.
      * To determine whether we should average into the destination buffer.
      
      But there are two cases where we want to separate these out:
      * In joint_motion_search, we want to try combining a fixed second
        prediction with various first predictions.
      * When searching masked interinter compounds, we want to predict
        each component separately then try different combinations.
      
      In these cases, we set 'ref' to 0 and use temporary variables to
      make sure we use the correct interpolation filters. But this is
      quite fragile.
      
      This patch separates out the two uses into separate members.
      This allows us to remove some temporary variables, but more
      importantly gives easy fixes to two bugs in
      build_inter_predictors_single_buf (used by rdopt):
      
      * We previously set ref=0 but didn't fix up the interpolation filters
      * For ZERO_ZEROMV modes, the second component would accidentally
        average into the (uninitialized!) second prediction buffer
      
      BUG=aomedia:577
      BUG=aomedia:584
      BUG=aomedia:595
      
      Change-Id: Ibc31d1ac701a029ea5efaa1197dd402bc4b7af1e
      e64d51a9
  5. 07 Jun, 2017 1 commit
  6. 31 May, 2017 1 commit
  7. 18 May, 2017 1 commit
    • David Barker's avatar
      ext-inter: Use joint_motion_search for masked compounds · c155e018
      David Barker authored
      Add functions which take both components of a masked compound and
      compute the resulting SAD/SSE. Extend joint_motion_search to understand
      masked compounds, and use it to evaluate NEW_NEWMV modes.
      
      Change-Id: I782199a20d119a6c61c6567df157508125ac7ce7
      c155e018
  8. 05 May, 2017 1 commit
  9. 24 Apr, 2017 2 commits
  10. 14 Apr, 2017 1 commit
    • 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
  11. 12 Apr, 2017 1 commit
  12. 23 Mar, 2017 1 commit
  13. 14 Mar, 2017 1 commit
    • Sarah Parker's avatar
      Fix sub8x8 rd costing to include global motion prediction · b3ebed1c
      Sarah Parker authored
      One codepath originally skipped a function which forks between
      gm prediction and regular inter prediction. This change fixes this
      for both high bit depth and regular bit depth.
      
      Change-Id: I741d67a7c89eb6eb0cd35c02219739dc3ddb3841
      b3ebed1c
  14. 13 Feb, 2017 2 commits
  15. 18 Jan, 2017 1 commit
  16. 16 Nov, 2016 1 commit
  17. 19 Oct, 2016 1 commit
  18. 04 Oct, 2016 1 commit
  19. 09 Sep, 2016 1 commit
    • James Zern's avatar
      s/INTERP_FILTER/InterpFilter/ · 7b9407a8
      James Zern authored
      this matches style guidelines and stabilizes successive runs of
      clang-format across the tree. remaining types should be address in
      successive commits.
      
      Change-Id: I6ad3f69cf0a22cb9a9b895b272195f891f71170f
      7b9407a8
  20. 02 Sep, 2016 1 commit
  21. 01 Sep, 2016 2 commits
  22. 22 Aug, 2016 1 commit
  23. 19 Aug, 2016 1 commit
    • Wei-ting Lin's avatar
      Insert extra ARFs' in a gf group · 41d5d52d
      Wei-ting Lin authored
      Insert multiple arfs in a gf group to emulate multi-layer backward
      reference frames structure. At maximum, two extra ARF's are inserted
      in a gf group.
      
      It improves the RD performance by 0.317% in Avg in lowres dataset.
      
      Change-Id: I62c32e1b0f25b978484dd113b319bebcd959bf60
      41d5d52d
  24. 16 Aug, 2016 1 commit
    • Yaowu Xu's avatar
      Port dering experiment from aom · 253c001f
      Yaowu Xu authored
      Mannually cherry-picked:
      15791332 Use OD_DIVU for small divisions in temporal_filter.
      03122298 Replace divides by small values with multiplies.
      9c48eec7 Removing divisions from od_dir_find8()
      0950ed82 Merge "Port active map / cyclic refresh fixes to vp10."
      efefdad7 Port active map / cyclic refresh fixes to vp10.
      1eaf748c Port switch to 9-bit rate cost to aom.
      0b1606e7 Only build deringing code when --enable-dering.
      e2511e15 Deringing cleanup: don't hardcode the number of levels
      8fe5c5d6 Rename dering_in to od_dering_in to sync with Daala
      4eb1380d Makes second filters for 45-degree directions horizontal
      7f4c3f58 Removes the superblock variance contribution to the threshold
      3dc56f93 Simplifying arithmetic by using multiply+shift
      cf2aaba9 Return 0 explicitly for OD_ILOG(0).
      49ca22aa Use the Daala implementation of OD_ILOG().
      85187243 Fix compiler warning in od_dering.c.
      485d6a69 Prevent multiple inclusion of odintrin.h.
      51b7a998 Adds the Daala deringing filter as experimental
      
      Note that a few of the changes were already in libvpx codebse.
      
      Change-Id: I1c32ee7694e5ad22c98b06ff97737cd792cd88ae
      253c001f
  25. 12 Aug, 2016 1 commit
  26. 29 Jul, 2016 1 commit
  27. 19 Jul, 2016 1 commit
    • Wei-ting Lin's avatar
      Allow OVERLAY frames to use the show_exsiting_frame flag · ccc9e7cf
      Wei-ting Lin authored
      ARF with zero strength temporal filter can be reused by setting the
      show_existing_frame = 1, and in this case, there is no need to
      refresh the reference frame buffer. However, we used the flag
      "refresh_golden_frame" as the identifier for the starting point of a gf
      group.
      
      A new flags "is_arf_filter_off" is used to record if the filter with
      strengrh zero is used.
      
      Change-Id: I25971a760f6e1638d5147fe30488c48125512b1a
      ccc9e7cf
  28. 13 Jul, 2016 1 commit
    • hui su's avatar
      Refactor codes about motion search · 581636d7
      hui su authored
      1. Add "best_mv" in MACROBLOCK to store the best motion vector
      during motion search, so that we don't need to pass its pointer
      to various motion search functions.
      
      2. Declare some functions as static when possible.
      
      3. Fix some indents.
      
      Change-Id: I0778146c0866cbc55e245988c59222577ea8260e
      581636d7
  29. 07 May, 2016 1 commit
  30. 22 Mar, 2016 2 commits
    • Yaowu Xu's avatar
      vp10/ -> av1/ · cfea7dd7
      Yaowu Xu authored
      Change-Id: Ia055d03656ad1580447eced8687949583fdf4089
      cfea7dd7
    • Yaowu Xu's avatar
      Rename vpx to aom · bf4202ed
      Yaowu Xu authored
      Change-Id: Ibc7933fba85feeb30ef9b14b302d932aff19f54e
      bf4202ed
  31. 16 Mar, 2016 1 commit
    • Nathan Egge's avatar
      Use OD_DIVU for small divisions in temporal_filter. · 15791332
      Nathan Egge authored
      Replaces an approximate unsigned integer division with the bit exact
       OD_ILOG() implementation.
      Removes the need to call vp10_temporal_filter_init() before calling
       vp10_temporal_filter_apply_c() by using a static table of constants.
      
      ntt-short-1:
      
                MEDIUM (%) HIGH (%)
          PSNR -0.023045   0.115705
       PSNRHVS  0.023327   0.110230
          SSIM -0.039964   0.083594
      FASTSSIM  0.037416  -0.100936
      
      subset1:
      
               RATE (%) DSNR (dB)
          PSNR 0.00000  0.00000
       PSNRHVS 0.00000  0.00000
          SSIM 0.00000  0.00000
      FASTSSIM 0.00000  0.00000
      
      Change-Id: I97c5817463fcd8cb557c403a143b9cfaee4f102c
      15791332
  32. 12 Mar, 2016 1 commit
  33. 29 Feb, 2016 2 commits
    • Yunqing Wang's avatar
      Do sub-pixel motion search in up-sampled reference frames · 342a368f
      Yunqing Wang authored
      Up-sampled the reference frames to 8 times in each dimension using
      the 8-tap interpolation filter. In sub-pixel motion search, use the
      up-sampled reference frames to find the best matching blocks. This
      largely improved the motion search precision, and thus, improved
      the compression quality. There was no change in decoder side.
      
      Borg test and speed test results:
      1. On derflr set,
      Overall PSNR gain: 1.306%, and SSIM gain: 1.512%.
      Average speed loss on derf set was 6.0%.
      2. On stdhd set,
      Overall PSNR gain: 0.754%, and SSIM gain: 0.814%.
      On hevchd set,
      Overall PSNR gain: 0.465%, and SSIM gain: 0.527%.
      Speed loss on HD clips was 3.5%.
      
      Change-Id: I300ebaafff57e88914f3dedc8784cb21d316b04f
      342a368f
    • Debargha Mukherjee's avatar
      A build fix and some other cosmetic changes · db084506
      Debargha Mukherjee authored
      Fixes some issues introduced by a merge of two patches.
      Also decouples the temporal interpolation filter from the switchable
      filters for now for ease of experimentation with both separately.
      
      Change-Id: If1c7c08adf00e0cf818fe8d0d3656c26ea65eb32
      db084506
  34. 26 Feb, 2016 1 commit
  35. 25 Feb, 2016 1 commit
    • Jingning Han's avatar
      Use sharp filter for alter reference frame generation · 72eda13e
      Jingning Han authored
      This commit uses 12-tap sharp filter to generate alter reference
      frame. It improves the compression performance by
      derf    0.45%
      hevcmr  0.35%
      stdhd   0.79%
      
      No encoding time change is observed.
      
      Change-Id: Ia5dc26d5aae6b9b0cb782e5a28dc5066eeeb2ec8
      72eda13e