1. 20 Jan, 2016 1 commit
  2. 13 Jan, 2016 1 commit
  3. 12 Jan, 2016 1 commit
    • Scott LaVarnway's avatar
      VP9: Eliminate unnecessary nearest/near searches · d8aa4063
      Scott LaVarnway authored
      Prior to this patch, read_inter_block_mode_info() would
      find the nearmv and nearestmv for all modes.  Now it does not
      search for ZEROMV modes and breaks out early for NEARMV and
      NEWMV modes.
      
      Change-Id: Ifa7b1eaf58bb03b9c7792ea5012fef477527d0fd
      d8aa4063
  4. 22 Jun, 2015 1 commit
  5. 04 Jun, 2015 1 commit
    • Scott LaVarnway's avatar
      Reducing size of MODE_INFO struct · baaaa575
      Scott LaVarnway authored
      Reduced size from 124 bytes to 104 bytes.  For decode only builds,
      it is reduced to 68 bytes.
      
      Change-Id: If9e6b92285459425fa086ab5a743d0a598a69de3
      baaaa575
  6. 20 May, 2015 1 commit
  7. 29 Apr, 2015 1 commit
    • James Zern's avatar
      vpx_mem: remove vpx_memset · f58011ad
      James Zern authored
      vestigial. replace instances with memset() which they already were being
      defined to.
      
      Change-Id: Ie030cfaaa3e890dd92cf1a995fcb1927ba175201
      f58011ad
  8. 21 Apr, 2015 1 commit
    • Scott LaVarnway's avatar
      Revert "Remove mi_grid_* structures." · 8b17f7f4
      Scott LaVarnway authored
      (see I3a05cf1610679fed26e0b2eadd315a9ae91afdd6)
      
      For the test clip used, the decoder performance improved by ~2%.
      This is also an intermediate step towards adding back the
      mode_info streams.
      
      Change-Id: Idddc4a3f46e4180fbebddc156c4bbf177d5c2e0d
      8b17f7f4
  9. 06 Mar, 2015 1 commit
  10. 31 Jan, 2015 1 commit
    • hkuang's avatar
      Try again to merge branch 'frame-parallel' into master branch. · be6aeada
      hkuang authored
      In frame parallel decode, libvpx decoder decodes several frames on all
      cpus in parallel fashion. If not being flushed, it will only return frame
      when all the cpus are busy. If getting flushed, it will return all the
      frames in the decoder. Compare with current serial decode mode in which
      libvpx decoder is idle between decode calls, libvpx decoder is busy
      between decode calls.
      
      Current frame parallel decode will only speed up the decoding for frame
      parallel encoded videos. For non frame parallel encoded videos, frame
      parallel decode is slower than serial decode due to lack of loopfilter
      worker thread.
      
      There are still some known issues that need to be addressed. For example:
      decode frame parallel videos with segmentation enabled is not right sometimes.
      
      * frame-parallel:
        Add error handling for frame parallel decode and unit test for that.
        Fix a bug in frame parallel decode and add a unit test for that.
        Add two test vectors to test frame parallel decode.
        Add key frame seeking to webmdec and webm_video_source.
        Implement frame parallel decode for VP9.
        Increase the thread test range to cover 5, 6, 7, 8 threads.
        Fix a bug in adding frame parallel unit test.
        Add VP9 frame-parallel unit test.
        Manually pick "Make the api behavior conform to api spec." from master branch.
        Move vp9_dec_build_inter_predictors_* to decoder folder.
        Add segmentation map array for current and last frame segmentation.
        Include the right header for VP9 worker thread.
        Move vp9_thread.* to common.
        ctrl_get_reference does not need user_priv.
        Seperate the frame buffers from VP9 encoder/decoder structure.
        Revert "Revert "Revert "Revert 3 patches from Hangyu to get Chrome to build:"""
       Conflicts:
             test/codec_factory.h
             test/decode_test_driver.cc
             test/decode_test_driver.h
             test/invalid_file_test.cc
             test/test-data.sha1
             test/test.mk
             test/test_vectors.cc
             vp8/vp8_dx_iface.c
             vp9/common/vp9_alloccommon.c
             vp9/common/vp9_entropymode.c
             vp9/common/vp9_loopfilter_thread.c
             vp9/common/vp9_loopfilter_thread.h
             vp9/common/vp9_mvref_common.c
             vp9/common/vp9_onyxc_int.h
             vp9/common/vp9_reconinter.c
             vp9/decoder/vp9_decodeframe.c
             vp9/decoder/vp9_decodeframe.h
             vp9/decoder/vp9_decodemv.c
             vp9/decoder/vp9_decoder.c
             vp9/decoder/vp9_decoder.h
             vp9/encoder/vp9_encoder.c
             vp9/encoder/vp9_pickmode.c
             vp9/encoder/vp9_rdopt.c
             vp9/vp9_cx_iface.c
             vp9/vp9_dx_iface.c
      
      This reverts commit a18da976.
      
      Change-Id: I361442ffec1586d036ea2e0ee97ce4f077585f02
      be6aeada
  11. 30 Jan, 2015 1 commit
    • James Zern's avatar
      vp9: rename 'near' parameters · f6c2a6c5
      James Zern authored
      + nearest for consistency
      
      near is a reserved word in windows builds so using it as a parameter
      name may cause build failures with some configurations
      
      Change-Id: Iddf1d4ecdb39843f14e95dbfd9dca55f07f81403
      f6c2a6c5
  12. 23 Jan, 2015 1 commit
  13. 01 Nov, 2014 1 commit
    • hkuang's avatar
      Bind motion vectors with frame buffer structure. · 55577431
      hkuang authored
      This will save a lot of memory for decoder due to removing of prev_mi,
      but prev_mi is still needed in encoder. So this will increase a little bit
      memory for encoder.
      
      Change-Id: I24b2f1a423ebffa55a9bd2fcee1077dac995b2ed
      55577431
  14. 22 Oct, 2014 1 commit
    • Hangyu Kuang's avatar
      Implement frame parallel decode for VP9. · 9ce3a7d7
      Hangyu Kuang authored
      Using 4 threads, frame parallel decode is ~3x faster than single thread
      decode and around 30% faster than tile parallel decode for frame parallel
      encoded video on both Android and desktop with 4 threads. Decode speed is
      scalable to threads too which means decode could be even faster with more threads.
      
      Change-Id: Ia0a549aaa3e83b5a17b31d8299aa496ea4f21e3e
      9ce3a7d7
  15. 21 Oct, 2014 1 commit
  16. 10 Oct, 2014 2 commits
  17. 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
  18. 08 Aug, 2014 1 commit
  19. 26 Jun, 2014 1 commit
    • Jingning Han's avatar
      Enable real-time version reference motion vector search · 46ea9ec7
      Jingning Han authored
      This commit enables a fast reference motion vector search scheme.
      It checks the nearest top and left neighboring blocks to decide the
      most probable predicted motion vector. If it finds the two have
      the same motion vectors, it then skip finding exterior range for
      the second most probable motion vector, and correspondingly skips
      the check for NEARMV.
      
      The runtime of speed -5 goes down
      pedestrian at 1080p 29377 ms -> 27783 ms
      vidyo at 720p       11830 ms -> 10990 ms
      i.e., 6%-8% speed-up.
      
      For rtc set, the compression performance
      goes down by about -1.3% for both speed -5 and -6.
      
      Change-Id: I2a7794fa99734f739f8b30519ad4dfd511ab91a5
      46ea9ec7
  20. 09 Apr, 2014 1 commit
  21. 07 Apr, 2014 1 commit
  22. 02 Apr, 2014 1 commit
  23. 28 Mar, 2014 1 commit
  24. 26 Mar, 2014 1 commit
  25. 10 Mar, 2014 1 commit
  26. 28 Feb, 2014 1 commit
    • Dmitry Kovalev's avatar
      Cleaning up vp9_mvref_common.c. · d689f2ad
      Dmitry Kovalev authored
      different_ref_found is always equal to one (if calculated) because
      ref_frame[0] != ref_frame[1] for each mi-block.
      
      Change-Id: Ibd7625b7b29dec2fd3c40edbc3de1169abb78585
      d689f2ad
  27. 19 Feb, 2014 1 commit
    • Dmitry Kovalev's avatar
      Cleaning up vp9_mvref_common.{h, c}. · d43c5cc5
      Dmitry Kovalev authored
      Hiding vp9_find_mv_refs_idx() inside vp9_mvref_common.c, moving definition
      of vp9_find_mv_refs() to vp9_mvref_common.c.
      
      Change-Id: I0c9f34b03648785a7d18edf6d4fddd34e55dfcc5
      d43c5cc5
  28. 13 Feb, 2014 1 commit
    • Yaowu Xu's avatar
      Removed the reset of mode_info from previous frame · 896d79a5
      Yaowu Xu authored
      Prior to this commit, both encoder and decoder reset mode/mv info from
      previous frame in error resilient mode to ensure bitstreams are able to
      decode when there is loss of frame in decoder side. However, this is
      not necessary. This commit changed to remove the reset, so encoder can
      continue to use mode/mv/partition information from previously encoded
      frame without affecting decodeablilty under loss of frame.
      
      Change-Id: I0279f862900dc647fb471ae3389770bb1b9f454f
      896d79a5
  29. 20 Dec, 2013 1 commit
  30. 17 Dec, 2013 1 commit
    • Yaowu Xu's avatar
      Define POSITION to differentiate from MV · 3cce4643
      Yaowu Xu authored
      MV struct was ussed to indicate the postition of a MI_BLOCK with row
      and col components. The expression was confusing, this commit added a
      new stucture "POSITION" with row and col component to better describe
      the position of a mi_block.
      
      Change-Id: I59fdd4b45010fe7d85a8db22a55503265c4f5b2b
      3cce4643
  31. 28 Oct, 2013 1 commit
    • James Zern's avatar
      vp9: add TileInfo · 58a0f6db
      James Zern authored
      replaces use of cur_tile_mi_(row|col)_(start|end) by VP9_COMMON, making
      it less stateful and more reusable for parallel tile decoding
      
      Change-Id: I1df09382b4567a0e5f4434825d47c79afe2399be
      58a0f6db
  32. 30 Sep, 2013 1 commit
  33. 17 Sep, 2013 1 commit
  34. 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
  35. 09 Sep, 2013 1 commit
  36. 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
  37. 24 Aug, 2013 1 commit
    • Dmitry Kovalev's avatar
      Renaming D27 to D207. · 50ee61db
      Dmitry Kovalev authored
      I've already renamed d27_predictor to d207_predictor but forgot about the
      corresponding constant.
      
      Change-Id: Id312aa80fc5b5a1ab8a709a33418a029552a6857
      50ee61db
  38. 23 Aug, 2013 1 commit
    • Dmitry Kovalev's avatar
      Cleanup in mvref_common.{h, c}. · 21d8e859
      Dmitry Kovalev authored
      Making code more compact, adding consts, removing redundant arguments,
      adding do/while(0) for macros.
      
      Change-Id: Ic9ec0bc58cee0910a5450b7fb8cfbf35fa9d0d16
      21d8e859
  39. 20 Aug, 2013 1 commit