1. 12 Sep, 2015 1 commit
    • Angie Chiang's avatar
      add range_check for fdct in vp10 · fe776ce6
      Angie Chiang authored
      Unify the style of fdct4() fdct8() fdct16()
      Add fdct32()
      Add range_check() at each stage
      Add unit test at ../../test/vp10_dct_test.cc
      
      Change-Id: I13f76d9046c3ea473c82024b09a5bc8662e2c28e
      fe776ce6
  2. 10 Sep, 2015 1 commit
    • Angie Chiang's avatar
      Isolate vp10's inv_txfm from vp9 · 87175ed5
      Angie Chiang authored
      1) copy following files from vpx_dsp/ to vp10/common/
      vp10_inv_txfm.c
      vp10_inv_txfm.h
      vp10_inv_txfm_sse2.c
      vp10_inv_txfm_sse2.h
      
      2) change the function prefix "vpx_" to "vp10_" in above files
      
      3) add unit test at vp10_inv_txfm_test.cc
      
      Change-Id: I206f10f60c8b27d872c84b7482c3bb1d1cb4b913
      87175ed5
  3. 03 Sep, 2015 1 commit
  4. 02 Sep, 2015 1 commit
    • Angie Chiang's avatar
      add range_check for fdct in vp10 · f78d6aa7
      Angie Chiang authored
      Unify the style of fdct4() fdct8() fdct16()
      Add fdct32()
      Add range_check() at each stage
      Add unit test at ../../test/vp10_dct_test.cc
      
      Change-Id: I9e912b2c5683862e65c5a21abc3e1c260cca4576
      f78d6aa7
  5. 27 Jul, 2015 1 commit
  6. 17 Jul, 2015 1 commit
  7. 07 Jul, 2015 1 commit
    • Jingning Han's avatar
      Unify subtract function used in VP8/9 · 0ede9f52
      Jingning Han authored
      This commit replaces the vp8_ prefixed subtract function with the
      common vpx_subtract_block function. It removes redundant SIMD
      optimization codes and unit tests.
      
      Change-Id: I42e086c32c93c6125e452dcaa6ed04337fe028d9
      0ede9f52
  8. 06 Jul, 2015 1 commit
    • Debargha Mukherjee's avatar
      Expose params min-gf-interval/max-gf-interval · 98526433
      Debargha Mukherjee authored
      Adds two new vp9 parameters --min-gf-interval and --max-gf-interval
      to enable testing based on frequency of alt-ref frames.
      
      Also adds a unit-test to test enforcement of min-gf-interval.
      
      For both these parameters the default value is 0, which indicates
      they are picked by the encoder, based on resolution and framerate
      considerations. If they are greater than zero, the specified
      parameter is honored.
      
      (Additional note by paulwilkins)
      Note that there is a slight oddity in that key frames are also GFs and
      considered part of  GF only group. However they are treated as not
      being part of an arf group because for arf groups the previous GF is
      assumed to be the terminal or overlay frame for the previous group.
      
      (end note)
      
      Change-Id: Ibf0c30b72074b3f71918ab278ccccc02a95a70a0
      98526433
  9. 05 Jun, 2015 1 commit
    • Frank Galligan's avatar
      Add control to skip loop filter in VP9 decoder. · bfb6d488
      Frank Galligan authored
      This control allows the application to skip the loop filter in the
      decoder. This is an advanced control that should only be used in
      extreme circumstances as it may introduce and accumulate decode
      artifacts.
      
      Change-Id: I278c65c60826f84c9141ebe06c6eeed3c2335fa8
      bfb6d488
  10. 14 May, 2015 1 commit
    • James Zern's avatar
      tests: add test_intra_pred_speed · 0d2f3483
      James Zern authored
      useful for speed testing / verifying individual function optimizations;
      currently tests non-high-bitdepth VP9 intra predictors
      
      Change-Id: Ibd247765e43a31894697d43f1d39d312e0ba2090
      0d2f3483
  11. 21 Apr, 2015 1 commit
  12. 17 Apr, 2015 1 commit
  13. 19 Mar, 2015 1 commit
  14. 13 Mar, 2015 1 commit
  15. 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
  16. 23 Jan, 2015 1 commit
  17. 19 Dec, 2014 1 commit
    • Yunqing Wang's avatar
      vp9_ethread: add the multi-threaded encoder unit tests · 7c2c2bea
      Yunqing Wang authored
      The unit tests for VP9 multi-threaded encoder are added, which
      carry out tests for all three modes(i.e. kTwoPassGood, kOnePassGood
      and kRealTime), and speeds ranging from 1 to 8. A 1280x720 test
      clip is used, which is encoded into multiple tiles. The number of
      threads is num_of_tiles.
      
      Change-Id: I04419eeca145ad841c9c527603668239a82e7fbd
      7c2c2bea
  18. 15 Dec, 2014 2 commits
  19. 13 Dec, 2014 1 commit
  20. 12 Dec, 2014 2 commits
  21. 09 Dec, 2014 1 commit
  22. 08 Dec, 2014 1 commit
  23. 20 Nov, 2014 2 commits
  24. 14 Nov, 2014 1 commit
  25. 07 Nov, 2014 1 commit
  26. 03 Nov, 2014 1 commit
    • Johann's avatar
      vp8 quantize test · 53b68de5
      Johann authored
      Test for Regular, Fast and Pair quantization
      
      Change-Id: I0a26c164afe632db869099402189826c0d43f9a2
      53b68de5
  27. 16 Oct, 2014 1 commit
    • Deb Mukherjee's avatar
      Adds a set of end-to-end encode tests · 50c59cda
      Deb Mukherjee authored
      Covers all profiles and input formats. The tests check if the
      encode succeeds and if the psnr is sane.
      
      Change-Id: I195a5330debf92562846121819b6eaf961e27c01
      50c59cda
  28. 09 Oct, 2014 1 commit
    • James Zern's avatar
      add test-data.mk · a51d45a7
      James Zern authored
      splits the test sources (test.mk) and the test data.
      
      Change-Id: Id614cfe68bfbc09b0e429a37a21ec7a9dcdfadc6
      a51d45a7
  29. 08 Oct, 2014 1 commit
    • JackyChen's avatar
      Add unit test for VP8 denoiser. · 09fbe886
      JackyChen authored
      The unit test is to check the bitexactness of SSE2 code with C code.
      
      Change-Id: I13cc08a557b02357e5d6c2db7a49e93ce0d8e16f
      09fbe886
  30. 07 Oct, 2014 1 commit
    • Jim Bankoski's avatar
      experimental : partition using 1/8 x 1/8 image · 0ce51d82
      Jim Bankoski authored
      The concept:
      
      There's too much noise in source pixels for variance and at low bitrate
      the reconstructed looks nothing like the source so we have problems
      getting good partitionings with either.   This skirts the issue by using
      a box blur scaled down version for variance calculations.  To compare
      against source_var_ moved keyframe to be rd based like source_var.
      
      Change-Id: Ie3babdbfadae324b7b5a76bea192893af27f0624
      0ce51d82
  31. 06 Oct, 2014 1 commit
    • JackyChen's avatar
      Add SSE2 code and unit test for VP9 denoiser. · 80465dae
      JackyChen authored
      This SSE2 is based on VP8 denoiser's SSE2 code. In VP8, there are
      only 16x16 blocks in denoiser, while in VP9, there are 13 different
      block sizes.
      
      By adding this SSE2 code, the improvement of encoder speed is around
      20%(using C code vs using SSE2 code), vary for different clips.
      
      The unit test for VP9 denoiser is to confirm that the SSE2 code is
      bit-exact with the C code. The unit test covers all block size.
      
      Change-Id: Ic8d8ac26db4ea40a5f146b5678a065af07eaaa3d
      80465dae
  32. 23 Sep, 2014 1 commit
  33. 22 Sep, 2014 1 commit
  34. 16 Sep, 2014 1 commit
  35. 10 Sep, 2014 1 commit
  36. 08 Sep, 2014 1 commit
  37. 05 Sep, 2014 1 commit
    • James Zern's avatar
      vp9: correct context buffer resize check · bb4950df
      James Zern authored
      allocations within vp9_alloc_context_buffers() rely on mi_rows/mi_cols
      individually, use those to determine whether to realloc rather than
      stride and stride * rows. this fixes a crash with some fuzzed files for
      invalid accesses into last_frame_seg_map and above_context.
      
      Change-Id: I7b9f40dcf170d443890f3bd2acd285507943c7d4
      bb4950df