1. 04 Jun, 2015 1 commit
  2. 27 May, 2015 1 commit
  3. 20 May, 2015 1 commit
  4. 08 May, 2015 1 commit
    • hkuang's avatar
      Fix clang ioc warning due to NULL mi pointer. · d53fb0fd
      hkuang authored
      The warning only happens in VP9 encoder's first pass due to src_mi
      is not set up yet. But it will not fail the encoder as left_mi and
      above_mi are not used in the first_pass and they will be set up again
      in the second pass.
      
      Change-Id: I0713b4660d71e229e196654cb0970ba6b1574f28
      d53fb0fd
  5. 06 May, 2015 1 commit
  6. 05 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. 28 Apr, 2015 1 commit
  9. 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
  10. 19 Mar, 2015 1 commit
  11. 20 Feb, 2015 1 commit
  12. 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
  13. 23 Jan, 2015 1 commit
  14. 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
  15. 19 Dec, 2014 1 commit
  16. 18 Dec, 2014 1 commit
  17. 15 Dec, 2014 2 commits
  18. 12 Dec, 2014 3 commits
  19. 11 Dec, 2014 1 commit
    • JackyChen's avatar
      Multiframe Quality Enhancement(MFQE) in VP9. · 7ac3e3c1
      JackyChen authored
      It is the first version of MFQE in VP9. There are a few TODOs included
      in this version.
      Usage: Add flag --enable-vp9-postproc to config the project.
      In decoder, use flag --mfqe in the command line to enable
      MFQE in postproc.
      Note: Need to have key frame with low quality to see the effect of this
      new patch. In my experiment, I fixed the qindex to 200 in key frame.
      
      Change-Id: I021f9ce4616ed3574c81e48d968662994b56a396
      7ac3e3c1
  20. 09 Dec, 2014 1 commit
    • hkuang's avatar
      Fix clang ioc warning due to NULL src_mi pointer. · 4eee74d6
      hkuang authored
      The warning only happens in VP9 encoder's first pass due to src_mi
      is not set up yet. But it will not fail the encoder as left_mi and
      above_mi are not used in the first_pass and they will be set up again
      in the second pass.
      
      Change-Id: I12dffcd5fb1002b2b2dabb083c8726650e4b5f08
      4eee74d6
  21. 06 Dec, 2014 1 commit
  22. 04 Dec, 2014 1 commit
  23. 06 Nov, 2014 1 commit
    • hkuang's avatar
      Totally remove prev_mi in VP9 decoder. · 4cc7c5a1
      hkuang authored
      This will save the memory and improve the decode speed due to
      removing unnecessary memset of big prev_mi array for
      all the key frames.
      
      Decoding a all key frames 1080p video shows speed improve around 2%.
      
      Change-Id: I6284a445c1291056e3c15135c3c20d502f791c10
      4cc7c5a1
  24. 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
  25. 22 Oct, 2014 2 commits
    • Yunqing Wang's avatar
      vp9_ethread: allocate frame contexts outside VP9_COMMON struct · 7c7e4d4e
      Yunqing Wang authored
      This patch allocated frame contexts outside VP9_COMMON. This allows
      multiple threads to share the same copy of frame contexts, and
      reduces the overhead. It also guarantees the correct update of
      these contexts during bitstream packing. This patch doesn't change
      encoding result.
      
      Change-Id: Ic181a2460b891d1d587278a6d02d8057b9dbd353
      7c7e4d4e
    • 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
  26. 13 Oct, 2014 1 commit
  27. 07 Oct, 2014 2 commits
  28. 29 Sep, 2014 1 commit
  29. 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
  30. 02 Sep, 2014 1 commit
    • Deb Mukherjee's avatar
      Adds config opt for highbitdepth + misc. vpx · 5acfafb1
      Deb Mukherjee authored
      Adds config parameter vp9_highbitdepth, to support highbitdepth profiles.
      Also includes most vpx level high bit-depth functions. However
      encode/decode in the highbitdepth profiles will not work until
      the rest of the code is in place.
      
      Change-Id: I34c53b253c38873611057a6cbc89a1361b8985a6
      5acfafb1
  31. 14 Aug, 2014 2 commits
    • Adrian Grange's avatar
      get_ref_frame: fix test for valid buffer. · 89a213b4
      Adrian Grange authored
      In the current implementation of the encoder,
      frame buffers may come from the wider set of
      12 such buffers, and is not restricted to the
      8 allowed as reference frames. This is only
      an implementation detail and does not affect
      the constraint of having a total of 8 reference
      buffers overall.
      
      Change-Id: I075f777146c2df49c275d89232933f8127235175
      89a213b4
    • Adrian Grange's avatar
      Fix bug 837: realloc mode info buffers on resize · 4e30565a
      Adrian Grange authored
      The test to determine if the mode info buffers need
      to be resized when the frame size changes was
      incorrect, as per bug 837.
      
      By storing the size of the allocated data structure,
      a simple test determines whether to allocate more
      memory when the frame size changes.
      
      Change-Id: I1544698f2882cf958fc672485614f2f46e9719bd
      4e30565a
  32. 13 Aug, 2014 1 commit
    • James Zern's avatar
      get_ref_frame: check ref_frame_map value · 3caed4f8
      James Zern authored
      'ref_frame_map' is initialized to -1. avoids using an invalid index  if
      VP9_GET_REFERENCE/VP8_COPY_REFERENCE controls are issued after a decode
      error.
      
      Change-Id: I4599762c4d0b07a5943a72bf4a86ccb596cc062a
      3caed4f8
  33. 08 Aug, 2014 2 commits