1. 04 Apr, 2016 3 commits
  2. 01 Apr, 2016 1 commit
  3. 31 Mar, 2016 3 commits
    • Jingning Han's avatar
      Refactor reference motion vector search process · aeb60057
      Jingning Han authored
      Unify the reference motion vector candidate search for row, column,
      and single block cases. Make it support later extended reference
      frame contexts.
      
      Change-Id: I1278a9f1ed8561eccc8460b4edff4b97d438ad9b
      aeb60057
    • Jingning Han's avatar
      Enable context analyzer for inter mode entropy coding · 3b4479eb
      Jingning Han authored
      It allows the codec to account for certain corner cases when
      processing inter prediction mode entropy coding.
      
      Change-Id: I51a1adda0d9e27bd1e18d912fd56ca4422b607b4
      3b4479eb
    • Jingning Han's avatar
      Enable adaptive prediction mode coding · de6741bf
      Jingning Han authored
      This commit allows the codec to analyze the reference motion vector
      candidate list and adaptively reduce the size of inter prediction
      mode set.
      
      Change-Id: I98f25bbf17cc844a84cfc568be27912f31fbe478
      de6741bf
  4. 30 Mar, 2016 2 commits
  5. 25 Mar, 2016 1 commit
  6. 24 Mar, 2016 1 commit
  7. 22 Mar, 2016 1 commit
    • Yaowu Xu's avatar
      vp10/ -> av1/ · cfea7dd7
      Yaowu Xu authored
      Change-Id: Ia055d03656ad1580447eced8687949583fdf4089
      cfea7dd7
  8. 28 Jan, 2016 1 commit
  9. 09 Nov, 2015 1 commit
    • Johann's avatar
      Release v1.5.0 · cbecf57f
      Johann authored
      Javan Whistling Duck release.
      
      Change-Id: If44c9ca16a8188b68759325fbacc771365cb4af8
      cbecf57f
  10. 20 Oct, 2015 1 commit
    • Ronald S. Bultje's avatar
      vp10: clip MVs before adding to find_ref_mvs() list. · 293e20df
      Ronald S. Bultje authored
      This causes the output of find_ref_mvs() to always be unique or zero.
      A nice side-effect of this is that it also causes the output of
      find_ref_mvs_sub8x8() to be unique-or-zero, and it will not ignore
      available candidate MVs under certain conditions.
      
      See issue 1012.
      
      Change-Id: If4792789cb7885dbc9db420001d95f9b91b63bfa
      293e20df
  11. 16 Oct, 2015 1 commit
    • Ronald S. Bultje's avatar
      vp10: allow MV refs to point outside visible image. · dea99899
      Ronald S. Bultje authored
      In VP9, the ref MV had to point to a block that itself fully resided
      within the visible image, i.e. all borders of the image had to be
      within the visible borders of the coded frame. This is somewhat
      illogical, and had obscure side effects, e.g. clamping of fairly
      reasonable motion vectors such as 0,0 were clipped to negative values
      if the block was overhanging on frame edges (such as the last rows
      on 1080p content), which makes no sense whatsoever.
      
      Instead, relax clamping constraints such that the ref MVs are allowed
      to point to blocks exactly outside the visible edges in both Y as well
      as UV planes, including the 8tap filter edges (that's why the offset is
      8 pixels + block size).
      
      See issue 1037.
      
      Change-Id: I2683eb2a18b24955e4dcce36c2940aa2ba3a1061
      dea99899
  12. 12 Oct, 2015 1 commit
  13. 16 Sep, 2015 1 commit
    • Ronald S. Bultje's avatar
      vp10: remove double MV value check. · 43be86db
      Ronald S. Bultje authored
      This has virtually no effect on coding efficiency, but it is more
      logical from a theoretical perspective (since it makes no sense to
      me that you would exclude a MV from a list just because it's sign-
      inversed value is identical to a value already in a list), and it
      also makes the code simpler (it removes a duplicate value check in
      cases where signbias is equal between the two MVs being compared).
      
      See issue 662.
      
      Change-Id: I23e607c6de150b9f11d1372fb2868b813c322d37
      43be86db
  14. 13 Aug, 2015 2 commits
  15. 12 Aug, 2015 2 commits
  16. 22 Jun, 2015 1 commit
  17. 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
  18. 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
  19. 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
  20. 23 Jan, 2015 1 commit
  21. 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
  22. 21 Oct, 2014 1 commit
  23. 12 Aug, 2014 1 commit
  24. 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
  25. 10 Mar, 2014 1 commit
  26. 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
  27. 10 Feb, 2014 1 commit
  28. 24 Jan, 2014 1 commit
  29. 21 Jan, 2014 1 commit
    • hkuang's avatar
      Seperate the border size for encoder and decoder. · 437004c7
      hkuang authored
      Encoder's boarder is still 160, while decoder's boarder will be 32.
      With on demand and separate boarder buffer for boarder extension.
      The decoder's boarder does not need to to 160 anymore.
      
      Change-Id: I93d5aaff15a33a2213e9761eaa37c5f2870747db
      437004c7
  30. 20 Dec, 2013 1 commit
  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. 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
  33. 04 Aug, 2013 1 commit
    • Jim Bankoski's avatar
      reworked find_mv_ref · f703f987
      Jim Bankoski authored
      This is an attempt at rewriting vp9_find_mv_refs_idx.   I believe that it gains
      about 1-2% decode speed
      
      Change-Id: Ia5359c94ce9bb43b32652890e605e9a385485c1b
      f703f987