1. 14 Jul, 2017 1 commit
  2. 12 Jul, 2017 1 commit
    • Rupert Swarbrick's avatar
      ext-partition-types: Add 4:1 partitions · 93c39e91
      Rupert Swarbrick authored
      This patch adds support for 4:1 rectangular blocks to various common
      data arrays, and adds new partition types to the EXT_PARTITION_TYPES
      experiment which will use them.
      
      This patch has the following restrictions, which can be lifted in
      future patches:
      
        * ext-partition-types is incompatible with fp_mb_stats and supertx
          for the moment
      
        * Currently only 32x32 superblocks can use the new partition types
      
      There's a slightly odd restriction about when we allow
      PARTITION_HORZ_4 or PARTITION_VERT_4. Since these both live in the
      EXT_PARTITION_TYPES CDF, read_partition() can only return them if both
      has_rows and has_cols is true. This means that at least half of the
      width and height of the block must be visible. It might be nice to
      relax that restriction but that would imply a change to how we encode
      partition types, which seems already to be in a state of flux, so
      maybe it's better to wait until that has settled down.
      
      Change-Id: Id7fc3fd0f762f35f63b3d3e3bf4e07c245c7b4fa
      93c39e91
  3. 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
      5d24b6f0
  4. 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
      f19f35f7
  5. 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
      0f3c94e1
  6. 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
  7. 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.
      Previously:
      51e0c54e Resolve -Wshorten-64-to-32 in highbd variance.
      
      BUG=aomedia:445
      
      Change-Id: Ibb9bfc5e926de354bbab80127012e5e1861348a3
      b7e7c044
    • 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
      
      BUG=aomedia:445
      
      Change-Id: Iab35e3f3f269035e17c711bd6cc01272c3137e1d
      51e0c54e
  8. 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
      dead17d2
  9. 25 Apr, 2017 1 commit
  10. 12 Apr, 2017 1 commit
  11. 31 Mar, 2017 1 commit
  12. 20 Dec, 2016 1 commit
  13. 15 Dec, 2016 1 commit
  14. 07 Dec, 2016 1 commit
  15. 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)
      2176b7ac
  16. 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
      cb60b185
  17. 02 Sep, 2016 1 commit
  18. 01 Sep, 2016 2 commits
  19. 10 Aug, 2016 1 commit
  20. 13 Jul, 2016 1 commit
  21. 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
      007aa7dd
  22. 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
      ef665996
  23. 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.
      
      BUG=webm:1219
      
      Change-Id: I885f245ae895ab92ca5f3b9848d37024b07aac98
      e5e998a6
  24. 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
      370f203a
  25. 07 May, 2016 1 commit
  26. 08 Apr, 2016 1 commit
  27. 04 Apr, 2016 1 commit
  28. 22 Mar, 2016 1 commit
  29. 15 Mar, 2016 1 commit
  30. 12 Mar, 2016 1 commit
  31. 03 Mar, 2016 1 commit
  32. 02 Mar, 2016 1 commit
  33. 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
      342a368f
  34. 28 Jan, 2016 1 commit
  35. 21 Jan, 2016 1 commit
  36. 13 Jan, 2016 1 commit
  37. 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
      022c848b
  38. 07 Jul, 2015 1 commit