1. 27 May, 2015 1 commit
  2. 16 May, 2015 1 commit
  3. 15 May, 2015 2 commits
  4. 13 May, 2015 1 commit
    • Johann's avatar
      Relocate memory operations for common code · 1d7ccd53
      Johann authored
      With the sad functions, and hopefully the variance functions soon,
      moving to the vpx_dsp location, place the defines used in the
      reference C code in a common location.
      
      Change-Id: I4c8ce7778eb38a0a3ee674d2f1c488eda01cfeca
      1d7ccd53
  5. 11 May, 2015 1 commit
  6. 06 May, 2015 2 commits
  7. 30 Apr, 2015 1 commit
  8. 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
  9. 28 Apr, 2015 1 commit
  10. 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
  11. 09 Apr, 2015 1 commit
  12. 08 Apr, 2015 1 commit
    • Frank Galligan's avatar
      Refactor dec_build_inter_predictors · 5668dcc7
      Frank Galligan authored
      Refactor the loops in dec_build_inter_predictors to try and decrease
      the number of instructions. Limited testing saw about 1% perf
      increase on x86 and about 0.67 % perf increase on Arm.
      
      Change-Id: I69cfe6335bb562fbaaebf43fb3f5c5a2a28882a2
      5668dcc7
  13. 03 Apr, 2015 1 commit
  14. 04 Mar, 2015 1 commit
    • Adrian Grange's avatar
      Make encoder buffer allocation dynamic · 3807dd82
      Adrian Grange authored
      Frame buffers are now allocated dynamically on-demand.
      
      Entries in the reference frame map, cm->ref_frame_map,
      may now be set to -1 (INVALID_IDX) to indicate that
      there is not a valid reference buffer in that "slot".
      
      All slots in the reference frame map are now initialized
      to the empty state (-1) and each buffer is initialized
      to have a reference count of 0.
      
      Change-Id: Id1afe98de98db4ae8b2dfefed7889c3b28c68582
      3807dd82
  15. 03 Mar, 2015 2 commits
    • hkuang's avatar
      Fix a tsan error bug in frame parallel decode. · a723f5ec
      hkuang authored
      A frame may be waiting for an out of border pixel from another
      frame. A frame's row progress variable is set to -1 when start being decoded
      and another frame may be waiting for -2 row pixel from this frame.
      In this case, vp9_frameworker_wait will return directly and skip the waiting
      which leads to tsan error between threads.
      
      Change-Id: Id16604915fb598b823e34393f696e3aa46fb6422
      a723f5ec
    • hkuang's avatar
      Remove unnecessary loopfilter init. · f9420b45
      hkuang authored
      Loopfilters are init in vp9_decode_frame.
      
      Change-Id: I4fbf6286b9b231451452e4ef3c19877a7b9a6768
      f9420b45
  16. 23 Feb, 2015 1 commit
  17. 19 Feb, 2015 1 commit
  18. 10 Feb, 2015 1 commit
  19. 06 Feb, 2015 2 commits
  20. 04 Feb, 2015 1 commit
    • Yunqing Wang's avatar
      vp9_dthread: remove frame_parallel_decoding_mode requirement · b3b7645a
      Yunqing Wang authored
      This patch continues the work to remove frame_parallel_decoding_mode
      requirement in VP9 multi-threaded tile decoder. In order to do that,
      the frame counts associated to each thread need to be accumulated
      together after the frame is decoded.
      
      Change-Id: Idba1a756cedfed3c154aef52ed82c8da3bbf9e0c
      b3b7645a
  21. 03 Feb, 2015 2 commits
  22. 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
  23. 23 Jan, 2015 1 commit
  24. 17 Jan, 2015 1 commit
    • Yunqing Wang's avatar
      vp9_ethread: add parallel loopfilter · e76eaf05
      Yunqing Wang authored
      1. Added row-based loopfilter in encoder;
      2. Moved common multi-threaded loopfilter functions from decoder
         to common;
      3. Merged multi-threaded loopfilter code, and made encoder/
         decoder call same function to reduce code duplication.
      
      Encoder tests showed that 1% - 2% speedup was seen for good-quality
      2-pass mode(at speed 3); 1% - 3% speedup using 2 threads and 4% - 6%
      speedup using 4 threads were seen for real-time mode(at speed 7).
      
      Change-Id: I8a4ac51c2ad9bab9fa7b864e90743931c53ec1c4
      e76eaf05
  25. 14 Jan, 2015 1 commit
    • Yaowu Xu's avatar
      Add encoder control for setting color space · e94b415c
      Yaowu Xu authored
      This commit adds encoder side control for vp9 to set color space info
      in the output compressed bitstream.
      
      It also amends the "vp9_encoder_params_get_to_decoder" test to verify
      the correct color space information is passed from the encoder end to
      decoder end.
      
      Change-Id: Ibf5fba2edcb2a8dc37557f6fae5c7816efa52650
      e94b415c
  26. 13 Jan, 2015 1 commit
    • Yaowu Xu's avatar
      Enable decoder to pass through color space info · 6b223fcb
      Yaowu Xu authored
      This commit added a field to vpx_image_t for indicating color space,
      the field is also added to YUV_BUFFER_CONFIG. This allows the color
      space information pass through the decoder from input stream to the
      output buffer.
      
      The commit also updated compare_img() function with added verification
      of matching color space to ensure the color space information to be
      correctly passed from encode to decoder in compressed vp9 streams.
      
      Change-Id: I412776ec83defd8a09d76759aeb057b8fa690371
      6b223fcb
  27. 09 Jan, 2015 1 commit
    • Yaowu Xu's avatar
      Fix comments and color format · ecbca31a
      Yaowu Xu authored
      Replaced "color space" with "color format" in comments where color
      sampling format is concerned, so to differentiate from the concept
      defined in COLOR_SPACE.
      
      Change-Id: I8c935034c166b24307a99352dab1686531276bb8
      ecbca31a
  28. 30 Dec, 2014 1 commit
  29. 19 Dec, 2014 1 commit
  30. 15 Dec, 2014 2 commits
  31. 12 Dec, 2014 1 commit
    • Frank Galligan's avatar
      Add support for setting byte alignment. · 399823b6
      Frank Galligan authored
      Add support for setting byte alignment on the Y, U, and V plane of the
      reference buffers. The byte alignment must be a power of 2, from 32 to
      1024. A value of 0 sets legacy alignment.
      
      Change-Id: I7c1399622f7aa68e123646369216b32047dda73d
      399823b6
  32. 11 Dec, 2014 2 commits
  33. 08 Dec, 2014 1 commit