1. 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:"""
      This reverts commit a18da976.
      Change-Id: I361442ffec1586d036ea2e0ee97ce4f077585f02
  2. 27 Jan, 2015 3 commits
  3. 23 Jan, 2015 1 commit
  4. 21 Jan, 2015 1 commit
  5. 15 Jan, 2015 1 commit
    • Frank Galligan's avatar
      Add Neon intrinsics for vp9_avg_8x8_neon · 6e7e1cf3
      Frank Galligan authored
      On Nexus 7 speed -5, -6, -7, and -8 saw about a 1% increase
      in perf for 480p. Speeds -5, -6, -7, and -8 saw about a 1.5%
      increase in perf for 720p.
      Tested on Nexus 7, built with ndk r10d, gcc 4.9.
      Change-Id: Ibf17ebfd952a6aec941719bd8306df8ec4574bee
  6. 14 Jan, 2015 2 commits
    • 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
    • Frank Galligan's avatar
      Add 64x64 sub_pel_variance Neon function · ec1d8387
      Frank Galligan authored
      On Nexus 7 speed -5, -6, -7, and -8 saw about a 15% increase
      in perf for 480p. Speeds -5, -6, -7, and -8 saw about a 10%
      increase in perf for 720p.
      Tested on Nexus 7, built with ndk r10d, gcc 4.9.
      Change-Id: I2fa5315845e3021c9a6e2ea47e52e68b398d8334
  7. 13 Jan, 2015 2 commits
    • 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
    • Frank Galligan's avatar
      Add 64x variance Neon functions · 74d40cd5
      Frank Galligan authored
      Add optimized Neon functions of:
      On Nexus 7 speed -5 and -6 saw about a 4% increase in perf.
      Speeds -7 and -8 saw about a 6% increase in perf.
      Tested on Nexus 7, built with ndk r10d, gcc 4.9.
      Change-Id: I5a81f13c9897eb927fa39662530f5524a0f768fa
  8. 12 Jan, 2015 1 commit
  9. 09 Jan, 2015 1 commit
  10. 08 Jan, 2015 1 commit
  11. 07 Jan, 2015 2 commits
  12. 06 Jan, 2015 2 commits
  13. 30 Dec, 2014 1 commit
    • Yaowu Xu's avatar
      Properly set size based on actual buffer layout · 32d88c22
      Yaowu Xu authored
      VP9FrameSizeTestsLarge.OneByOneVideo has been causing a failure in
      jenkins libvpx__unit_tests-valgrind_long for "using of uninitialized
      memory", the root cause was that the input image for this test was
      not initialized with proper size, therefore plan U and V were not
      initialized at all.
      This commit fixes the size initialization, and resolves the issue.
      Change-Id: Ic4dd1542b7bb0cb260a1e0aeeb505db21ae5edc8
  14. 23 Dec, 2014 1 commit
  15. 22 Dec, 2014 1 commit
  16. 19 Dec, 2014 5 commits
  17. 18 Dec, 2014 3 commits
  18. 17 Dec, 2014 3 commits
    • Deb Mukherjee's avatar
      Enhance the end to end psnr tests · b62064f3
      Deb Mukherjee authored
      Includes more speed settings and also real-time mode now.
      Change-Id: I71c77c4a2471d715c61cc30db092aa053cf012e1
    • Yunqing Wang's avatar
      Improve the libvpx encoder test driver · 36664781
      Yunqing Wang authored
      The encoder initialization is called in EncodeFrame(). Therefore,
      in the unit tests, the set control is done when video->frame() is 1.
      This didn't cause problem since current tests mainly test lag_frame
      > 0 case, or no encoding option that needs to allocate memory before
      1st frame is used. If use lag_frame = 0 and encoding multiple tiles,
      the unit tests crash. The issue is fixed by doing the initialization
      before encoding frames.
      Change-Id: I43102048f88448bcf27e9c60e0ec06c176b02e5c
    • James Yu's avatar
      VP9 common for ARMv8 by using NEON intrinsics 15 · aeeaa679
      James Yu authored
      - vp9_lpf_horizontal_4_dual_neon
      in vp9_loopfilter_16_neon.c
      Change-Id: Ie14f63d352f9564ad01db3939a61d91cf6d21a31
      Signed-off-by: default avatarJames Yu <james.yu@linaro.org>
  19. 15 Dec, 2014 4 commits
  20. 13 Dec, 2014 1 commit
  21. 12 Dec, 2014 3 commits