1. 19 Jun, 2017 1 commit
    • Timothy B. Terriberry's avatar
      encoder: Remove 64x upsampled reference buffers · 5d24b6f0
      Timothy B. Terriberry authored
      They do not handle border extension correctly (interpolation and
      border extension do not commute unless you upsample into the
      border), nor do they handle crop dimensions that are not a multiple
      of 8 (the upsampled version is not sufficiently large), in addition
      to using massive amounts of memory and being a criminal waste of
      cache (1 byte used for every 8 bytes fetched).
      This commit reimplements use_upsampled_references by computing the
      subpixel samples on the fly. This implementation not only corrects
      the border handling, but is also faster, while maintaining the
      same quality.
      HL AWCY results are basically noise:
          PSNR | PSNR HVS |   SSIM | MS SSIM | CIEDE 2000
        0.0188 |   0.0187 | 0.0045 |  0.0063 |     0.0228
      Change-Id: I7527db9f83b87a7bb8b35342f7e6457cd0bef9cd
  2. 24 May, 2017 1 commit
    • David Barker's avatar
      ext-inter: Further cleanup · f19f35f7
      David Barker authored
      * Rename the 'masked_compound_*' functions to just 'masked_*'.
        The previous names were intended to be temporary, to distinguish
        the old and new masked motion search pipelines. But now that the
        old pipeline has been removed, we can reuse the old names.
      * Simplify the new ext-inter compound motion search pipeline
        a bit.
      * Harmonize names: Rename
        aom_highbd_masked_compound_sub_pixel_variance* to
        aom_highbd_8_masked_sub_pixel_variance*, to match the naming of
        the corresponding non-masked functions
      Change-Id: I988768ffe2f42a942405b7d8e93a2757a012dca3
  3. 23 May, 2017 1 commit
    • David Barker's avatar
      ext-inter: Delete dead code · 0f3c94e1
      David Barker authored
      Patches https://aomedia-review.googlesource.com/c/11987/
      and https://aomedia-review.googlesource.com/c/11988/
      replaced the old masked motion search pipeline with
      a new one which uses different SAD/SSE functions.
      This resulted in a lot of dead code.
      This patch removes the now-dead code. Note that this
      includes vectorized SAD/SSE functions, which will need
      to be rewritten at some point for the new pipeline. It
      also includes the masked_compound_variance_* functions
      since these turned out not to be used by the new pipeline.
      To help with the later addition of vectorized functions, the
      masked_sad/variance_test.cc files are kept but are modified
      to work with the new functions. The tests are then disabled
      until we actually have the vectorized functions.
      Change-Id: I61b686abd14bba5280bed94e1be62eb74ea23d89
  4. 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
  5. 28 Apr, 2017 2 commits
    • James Zern's avatar
      Resolve -Wshorten-64-to-32 in highbd obmc/ext-inter variance. · b7e7c044
      James Zern authored
      For 8-bit the subtrahend is small enough to fit into uint32_t.
      Prevent negative variance in 10/12-bit.
      51e0c54e Resolve -Wshorten-64-to-32 in highbd variance.
      Change-Id: Ibb9bfc5e926de354bbab80127012e5e1861348a3
    • James Zern's avatar
      Resolve -Wshorten-64-to-32 in highbd variance. · 51e0c54e
      James Zern authored
      For 8-bit the subtrahend is small enough to fit into uint32_t.
      cherry-picked from libvpx:
      47b9a0912 Resolve -Wshorten-64-to-32 in highbd variance.
      This is the same that was done for:
      c0241664a Resolve -Wshorten-64-to-32 in variance.
      For 10/12-bit apply:
      63a37d16f Prevent negative variance
      Change-Id: Iab35e3f3f269035e17c711bd6cc01272c3137e1d
  6. 27 Apr, 2017 1 commit
    • Yue Chen's avatar
      Clear test failures and compiler warnings of MOTION_VAR · dead17d2
      Yue Chen authored
      (1) Properly set params to default values to clear a unit test
      failure when seg feature and motion_var are both on.
      (2) Silenced compiling warnings in obmc variance functions.
      Change-Id: Iaf4ee47c9941a228638d6046bcd1206f4a4f566a
  7. 25 Apr, 2017 1 commit
  8. 12 Apr, 2017 1 commit
  9. 31 Mar, 2017 1 commit
  10. 20 Dec, 2016 1 commit
  11. 15 Dec, 2016 1 commit
  12. 07 Dec, 2016 1 commit
  13. 14 Oct, 2016 1 commit
    • Alex Converse's avatar
      Resolve -Wshorten-64-to-32 in variance. · 2176b7ac
      Alex Converse authored
      The subtrahend is small enough to fit into uint32_t.
      Change-Id: Ic4d7128aaa665eaf6b25d562610ba8942c46137f
      (cherry picked from commit c0241664aac3a1805db9bd8e09e071ac326531e0)
  14. 13 Oct, 2016 1 commit
    • Yue Chen's avatar
      Renamings for OBMC experiment · cb60b185
      Yue Chen authored
      To get ready for pulling AV1 to nextgenv2
      Replace the experimental flag by MOTION_VAR. Rename major variables.
      Change-Id: If6cf4f37b9319c46d8f90df551cc7295d66ca205
  15. 02 Sep, 2016 1 commit
  16. 01 Sep, 2016 2 commits
  17. 10 Aug, 2016 1 commit
  18. 13 Jul, 2016 1 commit
  19. 04 Jul, 2016 1 commit
    • Geza Lore's avatar
      Refactoring in preparation for OBMC optimizations. · 007aa7dd
      Geza Lore authored
      - Use int32_t instead of int in vpx_obmc{variance,sad} functions
      - Remove weigthed_src and obmc mask strides and assume contiguous
        buffers. These inputs can always be packed as contiguous arrays.
      Change-Id: I74c09b3fb3337f13d39e13a9cb61e140536f345d
  20. 22 Jun, 2016 1 commit
    • Yaowu Xu's avatar
      Prevent negative variance · ef665996
      Yaowu Xu authored
      Due to rounding used computation, HDB variance computation may produce
      slightly negative values. This commit adds clamping to make sure
      output variance values for 10 and 12 to be non-negative.
      Change-Id: Id679aa55a4c201958c4c7d28cd8733b9246a71c8
  21. 16 Jun, 2016 1 commit
    • Yaowu Xu's avatar
      vpx_dsp/variance.c: change to use correct type · e5e998a6
      Yaowu Xu authored
      This commit change to use int64_t to represent the sum of pixel
      differences, which can be negative.
      This fixes a number of ubsan warnings.
      Change-Id: I885f245ae895ab92ca5f3b9848d37024b07aac98
  22. 11 May, 2016 1 commit
    • Yue Chen's avatar
      Add single motion search for OBMC predictor · 370f203a
      Yue Chen authored
      Weighted single motion search is implemented for obmc predictor.
      When NEWMV mode is used, to determine the MV for the current block,
      we run weighted motion search to compare the weighted prediction
      with (source - weighted prediction using neighbors' MVs), in which
      the distortion is the actual prediction error of obmc prediction.
      Coding gain: 0.404/0.425/0.366 for lowres/midres/hdres
      Speed impact: +14% encoding time
                    (obmc w/o mv search 13%-> obmc w/ mv search 27%)
      Change-Id: Id7ad3fc6ba295b23d9c53c8a16a4ac1677ad835c
  23. 07 May, 2016 1 commit
  24. 08 Apr, 2016 1 commit
  25. 04 Apr, 2016 1 commit
  26. 22 Mar, 2016 1 commit
  27. 15 Mar, 2016 1 commit
  28. 12 Mar, 2016 1 commit
  29. 03 Mar, 2016 1 commit
  30. 02 Mar, 2016 1 commit
  31. 29 Feb, 2016 1 commit
    • 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
  32. 28 Jan, 2016 1 commit
  33. 21 Jan, 2016 1 commit
  34. 13 Jan, 2016 1 commit
  35. 25 Nov, 2015 1 commit
    • Alex Converse's avatar
      Change highbd variance rounding to prevent negative variance. · 022c848b
      Alex Converse authored
      Always round sum error and sum square error toward zero in variance
      calculations. This prevents variance from becoming negative.
      Avoiding rounding variance at all might be better but would be far
      more invasive.
      Change-Id: Icf24e0e75ff94952fc026ba6a4d26adf8d373f1c
  36. 07 Jul, 2015 1 commit
  37. 26 May, 2015 1 commit