1. 04 Nov, 2016 1 commit
  2. 21 Oct, 2016 1 commit
  3. 19 Oct, 2016 1 commit
    • Urvang Joshi's avatar
      Code cleanup: mainly rd_pick_partition and methods called from there. · 52648448
      Urvang Joshi authored
      - Const correctness
      - Refactoring
      - Make variables local when possible etc
      - Remove -Wcast-qual to allow explicitly casting away const.
      
      Cherry-picked from aomedia/master: c27fcccc
      And then a number of more const correctness changes to make sure other
      experiments build OK.
      
      Change-Id: I77c18d99d21218fbdc9b186d7ed3792dc401a0a0
      52648448
  4. 11 Oct, 2016 1 commit
    • Debargha Mukherjee's avatar
      Refactor expand dry_run types to return coef rate · ceebb701
      Debargha Mukherjee authored
      Adds the functionality to return the rate cost due to
      coefficients without doing full search of all modes.
      This will be subsequently used in various experiments,
      including in new_quant experiment to search quantization
      profiles at the superblock level without repeating the
      full mode/partition search.
      
      Change-Id: I4aad3f3f0c8b8dfdea38f8f4f094a98283f47f08
      ceebb701
  5. 02 Sep, 2016 1 commit
  6. 01 Sep, 2016 2 commits
  7. 12 Aug, 2016 1 commit
  8. 13 Jul, 2016 1 commit
    • Geza Lore's avatar
      Optimize and cleanup obmc predictor and rd search. · 4c4f04ac
      Geza Lore authored
      Use vpx_blend_a64_hmask and vpx_blend_a64_vmask to speed up
      computing the obmc predictor. Clean up calc_target_weighted_pred.
      
      Encoder speedup: 1.3%
      Decoder speedup: 6.5%
      
      Change-Id: I0c774fe53d22399e92a10d1daf3af0010d88d2c5
      4c4f04ac
  9. 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
  10. 18 May, 2016 1 commit
  11. 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
  12. 09 May, 2016 1 commit
    • Zoe Liu's avatar
      Turn on the use of upsampled refs for ext-refs · b9d0d3f4
      Zoe Liu authored
      Without this patch, the experiment of ext-refs showed almost no coding
      gains compared to the baseline. This is because when ext-refs is on, the
      use of upsampled reference is off.
      
      With this patch, the ext-refs experiment works with the upsampled
      references and shows coding gains in Overall PSNR as follows, with ~5%
      slow down for encoding time:
      
      lowres: Avg - -0.965;  BDRate - -0.844
      derflr: Avg - -0.847;  BDRate - -0.669
      
      Note that the previous patch a912c6ec
      that "Make LAST_FRAME always point to the newly coded frame in ext-refs"
      made ext-refs work with the upsampled refereces.
      
      Change-Id: Id79248d71760109fb9198af4f45718b17455555f
      b9d0d3f4
  13. 22 Mar, 2016 1 commit
    • Yue Chen's avatar
      Refactor prediction functions of OBMC · 2e3f7731
      Yue Chen authored
      Merge the functions that generate prediction by above/left predictors
      for the encoder and the decoder.
      
      Change-Id: I57e53a8f2eb8d3028c4ed0c9abdcbf00503f95a0
      2e3f7731
  14. 12 Mar, 2016 1 commit
  15. 01 Mar, 2016 1 commit
  16. 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
  17. 23 Feb, 2016 1 commit
  18. 12 Feb, 2016 1 commit
    • Yue Chen's avatar
      Overlapped block motion compensation experiment · d1cad9c3
      Yue Chen authored
      In this experiment, an obmc inter prediction mode is enabled for
      >= 8X8 inter blocks. When the obmc flag is on, the regular block-
      based motion compensation will be refined by using predictors of
      the above and left blocks.
      Fixed some compatibility issues with vp9_highbitdepth, supertx,
      ref_mv, and ext_interp.
      
      Coding gain (%) on derflr/hevcmr/hevchd
      OBMC:
      1.047/1.022/0.708
      OBMC + SUPERTX:
      1.652/1.616/1.137
      SUPERTX:
      0.862/0.779/0.630
      
      Change-Id: I5d8d3c4729c6d3ccb03ec7034563107893103b7f
      d1cad9c3
  19. 11 Feb, 2016 1 commit
  20. 10 Feb, 2016 1 commit
    • Jingning Han's avatar
      Resolve conflict between var-tx and super-tx · 4c6c82a2
      Jingning Han authored
      This commit aligns the rate-distortion metric for the recursive
      transform block partitioning and the super transform. It resolves
      the conflicts between these two experiments. The coding performance
      gains of the combined experiments (var-tx + super-tx) has been
      improved:
      
      derf   0.89%  ->  1.9%
      hevcmr 1.06%  ->  1.8%
      stdhd  0.29%  ->  1.4%
      hevchr 0.80%  ->  2.3%
      
      Change-Id: I7e33994ad70c1b2751435620815f867d82172f41
      4c6c82a2
  21. 05 Jan, 2016 1 commit
    • Debargha Mukherjee's avatar
      Super transform - ported from nextgen branch · 3787b174
      Debargha Mukherjee authored
      Various additional changes were made to make the experiment
      compatible with misc_fixes.
      
      derflr: +0.979%
      hevcmr: +0.865%
      
      Speed-wise with --enable-supertx the encoder is only about 10%
      slower than without. Decoding impact is about 30% slowdown.
      
      Note this does not work with ext-tx or var-tx yet. That is
      a TODO.
      
      Change-Id: If25af4241a7a9efbd28f58eda3c4f044c7a7ef4b
      3787b174
  22. 09 Nov, 2015 1 commit
    • Johann's avatar
      Release v1.5.0 · cbecf57f
      Johann authored
      Javan Whistling Duck release.
      
      Change-Id: If44c9ca16a8188b68759325fbacc771365cb4af8
      cbecf57f
  23. 13 Aug, 2015 2 commits
  24. 12 Aug, 2015 2 commits
  25. 08 Jul, 2015 2 commits
    • paulwilkins's avatar
      Changes to use of rectangular partitions. · 8dd466ed
      paulwilkins authored
      Changes to allow more use of rectangular partitions at
      speeds 1 and 2 for content classed by the first pass as
      animation and for blocks near the active image edge.
      
      This has quite a big impact in quality for the animated
      test sequence but also hurts encode speed for speed 2.
      
      For other content types the impact on both speed and
      quality is small.
      
      Added some plumbing for detection of internal vertical
      image edges.
      
      Change-Id: I3fc48de2349f8cb87946caaf0b06dbb0ea261a9a
      8dd466ed
    • paulwilkins's avatar
      Change speed and rd features for formatting bars. · a126b6ce
      paulwilkins authored
      Change speed features / behavior for split mode when there
      is an internal active edge (e.g. formatting bars).
      
      Remove some threshold constraints in rd code near the active
      edge of the image.
      
      Add some plumbing for left and right active edge detection.
      
      Patch set 5. Limit rd pass through for sub 8x8 to internal active edges.
      This takes away any speed penalty for most clips but keeps the enhanced
      edge coding for the more critical case of internal image edges
      
      Change-Id: If644e4762874de4fe9cbb0a66211953fa74c13a5
      a126b6ce
  26. 20 Mar, 2015 1 commit
    • paulwilkins's avatar
      Experimental rd bias based on source vs recon variance. · 9a1ce7be
      paulwilkins authored
      This experiment biases the rd decision based on the impact
      a mode decision has on the relative spatial complexity of the
      reconstruction vs the source.
      
      The aim is to better retain a semblance of texture even if it
      is slightly misaligned / wrong, rather than use a simple rd
      measure that tends to favor use of a flat predictor if a perfect
      match can't be found.
      
      This improves the appearance of texture and visual quality
      on specific test clips but is hidden under a flag and currently
      off by default pending visual quality testing on a wider Yt set.
      
      Change-Id: Idf6e754a8949bf39ed9d314c6f2daaa20c888aad
      9a1ce7be
  27. 28 Oct, 2014 1 commit
  28. 24 Oct, 2014 1 commit
    • Jingning Han's avatar
      Tile based adaptive mode search in RD loop · eee201c2
      Jingning Han authored
      Make the spatially adaptive mode search in rate-distortion
      optimization loop inter tile independent. Experiments suggest that
      this does not significantly change the coding staticstics.
      
      Single tile, speed 3:
      pedestrian_area 1080p 1500 kbps
      59192 b/f, 40.611 dB, 101689 ms
      
      blue_sky 1080p 1500 kbps
      58505 b/f, 36.347 dB, 62458 ms
      
      mobile_cal 720p 1000 kbps
      13335 b/f, 35.646 dB, 45655 ms
      
      as compared to 4 column tiles, speed 3:
      pedestrian_area 1080p 1500 kbps
      59329 b/f, 40.597 dB, 101917 ms
      
      blue_sky 1080p 1500 kbps
      58712 b/f, 36.320 dB, 62693 ms
      
      mobile_cal 720p 1000 kbps
      13191 b/f, 35.485 dB, 45319 ms
      
      Change-Id: I35c6e1e0a859fece8f4145dec28623cbc6a12325
      eee201c2
  29. 13 Oct, 2014 2 commits
    • Jingning Han's avatar
      Fix vp9_rd_pick_inter/intra function types · 3bdb6bfc
      Jingning Han authored
      The returned value is not used anywhere, hence changing the function
      type into void.
      
      Change-Id: I0ece49ed61e7aab6df01140135503ad41d4ef4a4
      3bdb6bfc
    • Jingning Han's avatar
      Refactor rate distortion cost structure · 811cef97
      Jingning Han authored
      This commit makes a struct that contains rate value, distortion
      value, and the rate-distortion cost. The goal is to provide a
      better interface for rate-distortion related operation. It is
      first used in rd_pick_partition and saves a few RDCOST calculations.
      
      Change-Id: I1a6ab7b35282d3c80195af59b6810e577544691f
      811cef97
  30. 25 Sep, 2014 1 commit
  31. 02 Jul, 2014 1 commit
    • Alex Converse's avatar
      Split vp9_rdopt into vp9_rdopt and vp9_rd. · 03c276ea
      Alex Converse authored
      vp9_rdopt is for making rd optimal mode decisions. vp9_rd is for all
      other rd related routines. Anything used outside of making an rd optimal
      decision belongs in rd.
      
      Change-Id: I772a3073f7588bdf139f551fb9810b6864d8e64b
      03c276ea
  32. 29 Jun, 2014 1 commit
  33. 24 Jun, 2014 1 commit
  34. 20 Jun, 2014 1 commit
  35. 13 Jun, 2014 1 commit