1. 19 Feb, 2015 1 commit
    • Yunqing Wang's avatar
      Improve skip_txfm thresholds in the non-rd mode selection · 81fc5bf8
      Yunqing Wang authored
      Modified the thresholds of deciding whether or not to skip
      the transforms in model_rd_for_sb_y(). Used zbin[] instead
      of dequant[] to be more precise. Also, modified the checking
      coditions.
      
      Rtc set borg test results (at speed 6) showed:
      average PSNR gain: 0.138%, overall PSNR gain: 0.158%,
      and SSIM gain: 0.177%.
      
      The data rate test was modified slightly as suggested by
      Marco.
      
      Change-Id: Ieaf633ab77f4838cb3c45cf69065b29d55f8ae6c
      81fc5bf8
  2. 17 Feb, 2015 1 commit
    • hkuang's avatar
      Fix the frame parallel invalid file test failure on ARM. · 2fa9e9e2
      hkuang authored
      There is a corner case that when a frame is corrupted, the following
      inter frame decode worker will miss the previous failure. To solve
      this problem, a need_resync flag needs to be added to master thread
      to keep control of that.
      
      Change-Id: Iea9309b2562e7b59a83dd6b720607410286c90a6
      2fa9e9e2
  3. 14 Feb, 2015 1 commit
  4. 13 Feb, 2015 1 commit
  5. 05 Feb, 2015 1 commit
    • James Zern's avatar
      vp9: fix segfault w/corrupt data post frame-parallel merge · 0261fb4c
      James Zern authored
      cm->frame_bufs[].idx values were made consistent in:
      61c5e94e Use -1 consistently as invalid buffer idx
      update the initialization in swap_frame_buffers() to match.
      additionally:
        - remove some shadowed variables in the former and marked them volatile
      
      Change-Id: Ie3f9636c405bd822112bb56bd22d28024ae98909
      0261fb4c
  6. 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
  7. 29 Jan, 2015 1 commit
  8. 27 Jan, 2015 3 commits
  9. 23 Jan, 2015 1 commit
  10. 21 Jan, 2015 1 commit
  11. 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
      6e7e1cf3
  12. 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
      e94b415c
    • 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
      ec1d8387
  13. 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
      6b223fcb
    • Frank Galligan's avatar
      Add 64x variance Neon functions · 74d40cd5
      Frank Galligan authored
      Add optimized Neon functions of:
      vp9_variance32x64
      vp9_variance64x32
      vp9_variance64x64
      
      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
      74d40cd5
  14. 12 Jan, 2015 1 commit
  15. 09 Jan, 2015 1 commit
  16. 08 Jan, 2015 1 commit
  17. 07 Jan, 2015 2 commits
  18. 06 Jan, 2015 2 commits
  19. 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
      32d88c22
  20. 23 Dec, 2014 1 commit
  21. 22 Dec, 2014 1 commit
  22. 19 Dec, 2014 6 commits
  23. 18 Dec, 2014 3 commits
  24. 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
      b62064f3
    • 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
      36664781
    • James Yu's avatar
      VP9 common for ARMv8 by using NEON intrinsics 15 · aeeaa679
      James Yu authored
      Re-write
      - vp9_lpf_horizontal_4_dual_neon
      in vp9_loopfilter_16_neon.c
      
      Change-Id: Ie14f63d352f9564ad01db3939a61d91cf6d21a31
      Signed-off-by: 's avatarJames Yu <james.yu@linaro.org>
      aeeaa679
  25. 15 Dec, 2014 1 commit