1. 09 Oct, 2014 1 commit
  2. 18 Sep, 2014 1 commit
  3. 16 May, 2014 1 commit
  4. 03 Mar, 2014 1 commit
  5. 10 Feb, 2014 1 commit
  6. 04 Feb, 2014 1 commit
    • James Zern's avatar
      vp9_filter.h: rename interp_kernel type · cca4276d
      James Zern authored
      -> InterpKernel
      avoids conflicts in variable names, fixing the build with various
      toolchains.
      
      broken since:
      86915654 Removing subpix_fn_table struct.
      
      Change-Id: Ib5f6fdbcb494a97b62c75b99d4d826ff25d4c981
      cca4276d
  7. 28 Jan, 2014 1 commit
  8. 25 Jan, 2014 1 commit
    • Dmitry Kovalev's avatar
      Removing subpix_fn_table struct. · 86915654
      Dmitry Kovalev authored
      We don't use different filter kernels for x and y, it is always one kernel
      for both directions.
      
      Change-Id: Iefcbb02ec74bf46ea20d9dca672a3efd5d631517
      86915654
  9. 24 Jan, 2014 1 commit
  10. 22 Jan, 2014 1 commit
  11. 03 Jan, 2014 1 commit
    • Dmitry Kovalev's avatar
      Adding RefBuffer struct. · ba41e9d4
      Dmitry Kovalev authored
      Adding RefBuffer to simplify reference buffer management. The struct has a
      pointer to image data and scale factors relative to the current frame.
      
      Change-Id: If38eb1491ff687cc11428aee339f3e052e2c5d9e
      ba41e9d4
  12. 26 Dec, 2013 1 commit
  13. 20 Dec, 2013 1 commit
    • Dmitry Kovalev's avatar
      Using single struct to represent scale factors. · a3fbcc88
      Dmitry Kovalev authored
      Moving back to scale_factors struct. We don't need anymore x_offset_q4 and
      y_offset_q4 because both values are calculated locally inside vp9_scale_mv
      function.
      
      Change-Id: I78a2122ba253c428a14558bda0e78ece738d2b5b
      a3fbcc88
  14. 19 Dec, 2013 1 commit
    • Dmitry Kovalev's avatar
      Call set_scaled_offsets() just before scale_mv() call. · c872d2be
      Dmitry Kovalev authored
      Before mv scaling it is required to calculate x_offset_q4/y_offset_q4
      by calling set_scaled_offsets(). Now offset configuration can not be
      missed because it happens just before scale_mv().
      
      Change-Id: I7dd1a85b85811a6cc67c46c9b01e6ccbbb06ce3a
      c872d2be
  15. 25 Nov, 2013 1 commit
    • Jingning Han's avatar
      Use separate inter predictors for enc/dec · ba8b5e8d
      Jingning Han authored
      The decoder will construct inter predictor using lazy border extension,
      while the encoder, going with multiple runs of motion search in the rate-
      distortion optimization loop for each block, does border extension at
      frame level. This commit makes separate the inter predictors for encoder
      and decoder, respectively.
      
      Change-Id: Ieca2fecba3a7201a6d64ef9f219e5d91e50559c3
      ba8b5e8d
  16. 19 Nov, 2013 1 commit
  17. 24 Oct, 2013 1 commit
  18. 22 Oct, 2013 1 commit
    • Yunqing Wang's avatar
      Improve scale_factors struct · 175c313a
      Yunqing Wang authored
      The ref's scale_factors are set at frame level, and then copied for
      each partition block. Since the struct members are mostly constant,
      this patch separated the constant and non-constant members, and
      reduced struct copying. This gave 0.5% ~ 1.4% decoder speed gain.
      
      Change-Id: I94043bf5a6995c8042da52e5c661818dfa6f6d4c
      175c313a
  19. 26 Aug, 2013 1 commit
  20. 09 Aug, 2013 1 commit
  21. 02 Aug, 2013 1 commit
  22. 18 Jul, 2013 1 commit
    • Ronald S. Bultje's avatar
      Merge scale_factors and scale_factors_uv. · 5ebe503f
      Ronald S. Bultje authored
      This prevents a duplicate memcpy of a 128-byte struct every time
      set_scale_factors() is called (which is a lot), thus leading to a
      decrease from 3.7 MB to 1.85 MB of struct copying per 64x64 block
      RD/partition loop.
      
      Overall, this decreases encoding time of the first 50 frames of bus
      @ 1500kbps (speed 0) from 1min5.9 to 1min4.9, i.e. about a 1.5%
      overall speedup. We can likely get more gains by removing the copy
      of the other struct (and replacing it with an indexing) as well.
      
      Change-Id: I3dceb7e79f71e6fe911b11cc994cf89a869dde7a
      5ebe503f
  23. 04 Jul, 2013 1 commit
  24. 27 Jun, 2013 1 commit
    • Dmitry Kovalev's avatar
      Decoder's code cleanup. · 3231da0a
      Dmitry Kovalev authored
      Using vp9_set_pred_flag function instead of custom code, adding
      decode_tokens function which is now called from decode_atom,
      decode_sb_intra, and decode_sb.
      
      Change-Id: Ie163a7106c0241099da9c5fe03069bd71f9d9ff8
      3231da0a
  25. 21 Jun, 2013 1 commit
  26. 22 May, 2013 1 commit
  27. 17 May, 2013 1 commit
    • John Koleszar's avatar
      Initial version of alpha channel support · 679e4abd
      John Koleszar authored
      This is a mostly-working implementation of an extra channel in the
      bitstream. Configure with --enable-alpha to test. Notable TODOs:
      
       - Add extra channel to all mismatch tests, PSNR, SSIM, etc
       - Configurable subsampling
       - Variable number of planes (currently always uses all 4)
       - Loop filtering
       - Per-plane lossless quantizer
       - ARNR support
      
      This implementation just uses the same contents as the Y channel
      for the A channel, due to lack of content and general pain in
      playing back 4 channel content. A later patch will use the actual
      alpha channel passed in from outside the codec.
      
      Change-Id: Ibf81f023b1c570bd84b3064e9b4b8ae52e087592
      679e4abd
  28. 15 May, 2013 2 commits
  29. 08 May, 2013 2 commits
  30. 07 May, 2013 1 commit
  31. 26 Apr, 2013 1 commit
  32. 22 Apr, 2013 2 commits
  33. 19 Apr, 2013 5 commits
    • John Koleszar's avatar
      Move dst to per-plane MACROBLOCKD data · d12376aa
      John Koleszar authored
      First in a series of commits moving the framebuffers pointers to
      per-plane data, so that they can be indexed numerically rather than
      by name.
      
      Change-Id: I6e0d60fd4d51e6375c384eb7321776564df21775
      d12376aa
    • John Koleszar's avatar
      make build_inter_predictors block size agnostic (split) · 0053b46d
      John Koleszar authored
      All build_inter_predictors can now be serviced by the same inner
      function.
      
      Change-Id: I40b08bee8f047286db4b1aad9dcae37b879c3f2a
      0053b46d
    • John Koleszar's avatar
      make buid_inter_predictors block size agnostic (chroma) · fc49a377
      John Koleszar authored
      Updates to make non-SPLITMV inter predictors work for all
      plane types.
      
      Change-Id: I25dbef40b7ffcac30254b43eed1e22fc732378ae
      fc49a377
    • John Koleszar's avatar
      Removing rounding from UV MV calculation · 2987fa1d
      John Koleszar authored
      Consider the previous behavior for the MV 1 3/8 (11/8 pel). In the
      existing code, the fractional part of the MV is considered separately,
      and rounded is applied, giving a result of 6/8. Rounding is not required
      in this case, as we're increasing the precision from a q3 to a q4, and
      the correct value 11/16 can be represented exactly.
      
      Slight gain observed (+.033 average on derf)
      
      Change-Id: I320e160e8b12f1dd66aa0ce7966b5088870fe9f8
      2987fa1d
    • John Koleszar's avatar
      make buid_inter_predictors block size agnostic (luma) · 4924934d
      John Koleszar authored
      This commit converts the luma versions of vp9_build_inter_predictors_sb
      to use a common function. Update the convolution functions to support
      block sizes larger than 16x16, and add a foreach_predicted_block walker.
      
      Next step will be to calculate the UV motion vector and implement SBUV,
      then fold in vp9_build_inter16x16_predictors_mb and SPLITMV.
      
      At the 16x16, 32x32, and 64x64 levels implemented in this commit, each
      plane is predicted with only a single call to vp9_build_inter_predictor.
      This is not yet called for SPLITMV. If the notion of SPLITMV/I8X8/I4X4
      goes away, then the prediction block walker can go away, since we'll
      always predict the whole bsize in a single step. Implemented using a
      block walker at this stage for SPLITMV, as a 4x4 "prediction block size"
      within the BLOCK_SIZE_MB16X16 macroblock. It would also support other
      rectangular sizes too, if the blocks smaller than 16x16 remain
      implemented as a SPLITMV-like thing. Just using 4x4 for now.
      
      There's also a potential to combine with the foreach_transformed_block
      walker if the logic for calculating the size of the subsampled
      transform is made more straightforward, perhaps as a consequence of
      supporing smaller macroblocks than 16x16. Will watch what happens there.
      
      Change-Id: Iddd9973398542216601b630c628b9b7fdee33fe2
      4924934d