1. 16 Dec, 2013 1 commit
  2. 06 Dec, 2013 1 commit
    • Dmitry Kovalev's avatar
      Renaming constants. · 0d4b8d7e
      Dmitry Kovalev authored
      NUM_YV12_BUFFERS        => FRAME_BUFFERS
      ALLOWED_REFS_PER_FRAME  => REFS_PER_FRAME
      NUM_REF_FRAMES_LOG2     => REF_FRAMES_LOG2
      NUM_REF_FRAMES          => REF_FRAMES
      NUM_FRAME_CONTEXTS_LOG2 => FRAME_CONTEXTS_LOG2
      NUM_FRAME_CONTEXTS      => FRAME_CONTEXTS
      
      Change-Id: I4e1ada08f25d8fa30fdf03aebe1b1c9df0f87e63
      0d4b8d7e
  3. 04 Dec, 2013 1 commit
  4. 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
  5. 22 Nov, 2013 1 commit
    • Jingning Han's avatar
      Separate setup_scale_factor/extend_frame_borders · 86d2a9b9
      Jingning Han authored
      This commit takes out vp9_extend_frame_borders from
      vp9_setup_scale_factors.
      
      The refactoring is for the preparation of the use of lazy border
      extension at decoder. This makes it necessary to handle border
      extension separately at encoder/decoder. The use of
      vp9_extend_frame_borders will be removed, when lazy border extension
      is ready.
      
      Change-Id: Ia3baba3d179d5f11eee1634f19b3b319d2a59186
      86d2a9b9
  6. 20 Nov, 2013 1 commit
  7. 19 Nov, 2013 1 commit
  8. 12 Nov, 2013 1 commit
  9. 30 Oct, 2013 1 commit
    • Yunqing Wang's avatar
      Fix x_offset_q4/y_offset_q4 calculation · 9ed2d0a5
      Yunqing Wang authored
      "<< SUBPEL_BITS" needs to be added in the calculation. Call
      set_scaled_offsets() to calculate x_offset_q4 and y_offset_q4.
      
      Change-Id: Ied130ea771510e918f51cd1dc3abe57f4c0962b5
      9ed2d0a5
  10. 24 Oct, 2013 1 commit
  11. 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
  12. 16 Oct, 2013 1 commit
    • Guillaume Martres's avatar
      Get rid of "this_mi", use "mi_8x8[0]" everywhere instead · acf0d56f
      Guillaume Martres authored
      The only case where they were intentionally pointing to different
      structures was in mbgraph, and this didn't have the expected behavior
      because both of these pointers are used interchangeably through the code
      
      Change-Id: I979251782f90885fe962305bcc845bc05907f80c
      acf0d56f
  13. 04 Oct, 2013 2 commits
    • Dmitry Kovalev's avatar
      Cleaning up foreach_predicted_block_in_plane() function. · ee74054e
      Dmitry Kovalev authored
      Change-Id: Ibb3d9667eba56621667412f62097aa7a392659c2
      ee74054e
    • Dmitry Kovalev's avatar
      Adding vp9_get_filter_kernel() function. · 9ec09700
      Dmitry Kovalev authored
      Moving INTERPOLATIONFILTERTYPE enum and subpix_fn_table struct to
      vp9_filter.h. Adding convenient typedef for subpel kernels.
      
      Function vp9_setup_interp_filters() besides setting xd->subpix.filter_x &
      xd->subpix.filter_y has a side effect of also setting scale factors. This
      is not required inside decode_modes_b() because scale factors have been
      already set by set_ref() calls. That's why replacing
      vp9_setup_interp_filters() call with newly created vp9_get_filter_kernel()
      call. The behavior of vp9_setup_interp_filters() is unchanged (it
      is used from the encoder).
      
      Change-Id: I3f36d3f7cd8d15195a6e2fafd1777cdaf9ecb847
      9ec09700
  14. 26 Sep, 2013 1 commit
  15. 19 Sep, 2013 1 commit
  16. 11 Sep, 2013 1 commit
    • Scott LaVarnway's avatar
      New mode_info_context storage -- undo revert · ac6093d1
      Scott LaVarnway authored
      mode_info_context was stored as a grid of MODE_INFO structs.
      The grid now constists of pointers to MODE_INFO structs.  The
      MODE_INFO structs are now stored as a stream (decoder only),
      eliminating unnecessary copies and is a little more cache
      friendly.
      
      Change-Id: I031d376284c6eb98a38ad5595b797f048a6cfc0d
      ac6093d1
  17. 09 Sep, 2013 1 commit
  18. 06 Sep, 2013 1 commit
    • Scott LaVarnway's avatar
      New mode_info_context storage · dae17734
      Scott LaVarnway authored
      mode_info_context was stored as a grid of MODE_INFO structs.
      The grid now constists of a pointer to a MODE_INFO struct and
      a "in the image" flag.  The MODE_INFO structs are now stored
      as a stream, eliminating unnecessary copies and is a little
      more cache friendly.
      
      For the test clips used, the decoder performance improved
      by ~4.3% (1080p) and ~9.7% (720p).
      
      Patch Set 2: Re-encoded clips with latest. Now ~1.7% (1080p)
      and 5.9% (720p).
      
      Change-Id: I846f29e88610fce2523ca697a9a9ef2a182e9256
      dae17734
  19. 26 Aug, 2013 1 commit
  20. 22 Aug, 2013 2 commits
  21. 21 Aug, 2013 2 commits
  22. 16 Aug, 2013 1 commit
  23. 12 Aug, 2013 1 commit
    • Dmitry Kovalev's avatar
      Removing foreach_predicted_block_uv function. · 76d166e4
      Dmitry Kovalev authored
      Adding function build_inter_predictors_for_planes to build inter
      predictors for specified planes. This function allows to remove
      condition "#if CONFIG_ALPHA" and use MAX_MB_PLANE for general case.
      Renaming 'which_mv' local var to 'ref', and 'weight' argument to 'ref'.
      
      Change-Id: I1a97160c9263006929d38953f266bc68e9c56c7d
      76d166e4
  24. 09 Aug, 2013 2 commits
  25. 08 Aug, 2013 1 commit
    • Dmitry Kovalev's avatar
      Cleanup inside vp9_reconinter.c. · a766d891
      Dmitry Kovalev authored
      Using block width and block height instead of their logarithms. Using
      SUBPEL_BITS and SUBPEL_SHIFTS constants instead of magic numbers.
      
      Change-Id: I4e10e93c907c8a5e1cb27dfe74d1fcdcc4995448
      a766d891
  26. 06 Aug, 2013 1 commit
    • Dmitry Kovalev's avatar
      Using only one scale function in scale_factors struct. · 1c552e79
      Dmitry Kovalev authored
      Functions scale_mv_q4 and scale_mv_q3_to_q4 were almost identical except
      q3->q4 conversion in scale_mv_q3_to_q4. Now q3->q4 conversion happens
      directly in vp9_build_inter_predictor.
      
      Also adding useful constants: SUBPEL_BITS and SUBPEL_MASK.
      
      Change-Id: Ia0a6ad2ac07c45fdf95a5139ece6286c035e9639
      1c552e79
  27. 05 Aug, 2013 1 commit
  28. 02 Aug, 2013 2 commits
  29. 01 Aug, 2013 1 commit
  30. 27 Jul, 2013 1 commit
  31. 25 Jul, 2013 1 commit
    • Dmitry Kovalev's avatar
      General cleanups. · 7131cb0e
      Dmitry Kovalev authored
      Removing unused constants, macros, and function declarations. Using
      ROUND_POWER_OF_TWO macro, vp9_zero, vp9_copy where possible. Moving
      #include from *.h to *.c. Merging for loops for motion vectors.
      
      Change-Id: Ic3bf841764a2bb177128bb3a6d7aa8f68229cd13
      7131cb0e
  32. 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
  33. 16 Jul, 2013 1 commit
    • Yaowu Xu's avatar
      Change to extend full border only when needed · 5b915ebd
      Yaowu Xu authored
      This is a short term optimization till we work out a decoder
      implementation requiring no frame border extension.
      
      Change-Id: I02d15bfde4d926b50a4e58b393d8c4062d1be70f
      5b915ebd
  34. 11 Jul, 2013 1 commit
  35. 10 Jul, 2013 1 commit