1. 29 Sep, 2014 1 commit
  2. 25 Sep, 2014 2 commits
    • hkuang's avatar
      Avoid calling vp9_is_scaled two times in a function. · c53a95ad
      hkuang authored
      Use a local variable to hold the result of vp9_is_scaled.
      
      Change-Id: I5e203909805923e20eefef596bc84424da47dbe2
      c53a95ad
    • Yaowu Xu's avatar
      Fix a couple of comments · 845d4f33
      Yaowu Xu authored
      The first comment is obselete given the way is now normative in VP9
      bitstream. The second comment line was too long.
      
      Change-Id: I6546585babf60d466485ddcf2daa6d2fa79e999a
      845d4f33
  3. 24 Sep, 2014 1 commit
    • Yaowu Xu's avatar
      Correct the condition for border extension · d237d483
      Yaowu Xu authored
      As reported in issue #850, the condition for border extension was not
      complete. This commit added the case when the scaling is enabled.
      
      This fixes issue #850.
      
      Change-Id: I67768b23f0dcc4ac9a9aa0a0825b0fe8cb85a72e
      d237d483
  4. 20 Sep, 2014 1 commit
    • hkuang's avatar
      Remove mi_grid_* structures. · c70cea97
      hkuang authored
      mi_grid_* are arrays of pointer to pointer. They save the pointers that point
      to the MIs in cm->mi. But they are unnecessary and complicated. The original
      goal was to remove MODE_INFO_t copy. But with an extra MODE_INFO_t pointer
      inside MODE_INFO_t, same goal could be achieved.
      
      This commit totally removes the mi_grid_* structures. But there are still
      many dummy MODE_INFO_t inside cm->mi which are a waste of memory. Next commit
      will do on-demand MODE_INFO_t allocation in order to save these memories.
      
      Change-Id: I3a05cf1610679fed26e0b2eadd315a9ae91afdd6
      c70cea97
  5. 18 Sep, 2014 1 commit
  6. 15 Sep, 2014 1 commit
    • Alexander Voronov's avatar
      Fix invalid memory access on 2x downscale. · 29071a41
      Alexander Voronov authored
      The issue was discovered on bitstream with 2x vertical downscale. For
      zero MVs, y_pad is set to 1 only when vertical convolution is
      required. The original code assumes that for y_step_q4 == 32 we don't
      perform vertical convolution. But vp9_setup_scale_factors_for_frame()
      sets convolve functions so that when x_step and y_step are both not
      equal to 16, convolve in both directions is performed. And convolve()
      unconditionally subtracts one stride from source pointer when calls
      convolve_horiz(). This leads to invalid memory access.
      
      Change-Id: I882dfa6081a58e172b5ffa55842bfcd6727f10bf
      29071a41
  7. 11 Jul, 2014 1 commit
  8. 10 Jul, 2014 1 commit
  9. 18 Jun, 2014 1 commit
    • Alex Converse's avatar
      BITSTREAM: Handle transform size and motion vectors more logically for non-420. · 7557a65d
      Alex Converse authored
      This breaks the profile 1 bitstream.
      
      Don't force non420 uv transform size to 1/4 y size. In the 4:2:0 case the
      chroma corresponding to a luma block is 1/4 its size. In the 4:4:4 case
      chroma and luma planes are the same size. Disallowing larger transforms
      can result in a loss of compression efficiency and is inconsistent.
      
      For sub-8x8 blocks only average corresponding motion vectors.
      
      4:2:0 and profile 0 behavior remains unchanged.
      
      Change-Id: I560ae07183012c6734dd1860ea54ed6f62f3cae8
      7557a65d
  10. 16 May, 2014 1 commit
  11. 03 Apr, 2014 1 commit
  12. 02 Apr, 2014 1 commit
  13. 24 Mar, 2014 1 commit
    • hkuang's avatar
      Change back the scaling calculation. · 22232ec6
      hkuang authored
      Let the calculation to be compatible with Google's HW implementation.
      
      Change-Id: I22e179888cdb0419e230351c0a47661b37051fef
      22232ec6
  14. 17 Mar, 2014 1 commit
  15. 13 Mar, 2014 2 commits
  16. 03 Mar, 2014 1 commit
  17. 01 Mar, 2014 1 commit
  18. 14 Feb, 2014 1 commit
  19. 04 Feb, 2014 3 commits
  20. 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
  21. 18 Jan, 2014 1 commit
  22. 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
  23. 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
  24. 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
  25. 16 Dec, 2013 1 commit
  26. 11 Dec, 2013 1 commit
    • hkuang's avatar
      Fix valgrind error. · 1339f384
      hkuang authored
      Temporarily change memcpy to memmove.
      
      Change-Id: I700a197bc1ce496be1ddad7118429c5da465b0ca
      1339f384
  27. 10 Dec, 2013 2 commits
  28. 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
  29. 04 Dec, 2013 1 commit
  30. 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
  31. 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
  32. 20 Nov, 2013 1 commit
  33. 19 Nov, 2013 1 commit
  34. 12 Nov, 2013 1 commit
  35. 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