1. 08 Mar, 2016 1 commit
    • Yi Luo's avatar
      Implemented DST 16x16 SSE2 intrinsics optimization · 50a164a1
      Yi Luo authored
      - Implemented fdst16_sse2(), fdst16_8col() against C version: fdst16().
      - Turned on 7 DST related hybrid txfm types in vp10_fht16x16_sse2().
      - Replaced vp10_fht10x10_c() with vp10_fht16x16_sse2() in
        fwd_txfm_16x16().
      - Added vp10_fht16x16_sse2() unit test against C version:
        vp10_fht16x16_c() (--gtest_filter=*VP10Trans16x16*).
      - Unit test passed.
      - Speed improvement: 2.4%, 3.2%, 3.2%, for city_cif.y4m, garden_sif.y4m,
        and mobile_cif.y4m.
      
      Change-Id: Ib30a67ce5d5964bef143d588d0f8fa438be8901f
      50a164a1
  2. 07 Mar, 2016 1 commit
    • Yi Luo's avatar
      Added vp10_fht8x8_sse2() unit test · 6ab06212
      Yi Luo authored
      - Inherited base class TransformTestBase to derived class VP10Trans8x8HT.
      - Employed RunCoeffCheck() to test vp10_fht8x8_sse2() against C reference
        function vp10_fht8x8_c().
      - fdst8_sse2() related seven hybrid transform cases are covered in this
        test.
      - Test passed (4 test cases w/o EXT_TX; 16 test cases with EXT_TX).
      
      Change-Id: Id9a9b308c707164a120d9ceb2c30e572026fb1d0
      6ab06212
  3. 04 Mar, 2016 1 commit
    • Yi Luo's avatar
      Added vp10_fht4x4_sse2() unit test · 267f73a1
      Yi Luo authored
      Inherited class TransformTestBase to derived class VP10Trans4x4HT.
      Employed RunCoeffCheck() to test vp10_fht4x4_sse2() against
      C reference vp10_fht4x4_c().
      fdst4_sse2() related seven hybrid transform cases are covered
       in this test.
      Wrote a header file for test base class. Some modification to
      make sure the base class can be used for 8x8, 16x16, 32x32 cases.
      All related tests passed.
      
      Change-Id: I6b19a39d3ea30b657847781e78e73b829998a57a
      267f73a1
  4. 02 Mar, 2016 1 commit
  5. 15 Feb, 2016 1 commit
    • Geza Lore's avatar
      Add optimized vpx_sum_squares_2d_i16 for vp10. · abd00505
      Geza Lore authored
      Using this we can eliminate large numbers of calls to predict intra,
      and is also faster than most of the variance functions it replaces.
      This is an equivalence transform so coding performance is unaffected.
      
      Encoder speedup is approx 7% when var_tx, super_tx and ext_tx are all
      enabled.
      
      Change-Id: I0d4c83afc4a97a1826f3abd864bd68e41bb504fb
      abd00505
  6. 10 Feb, 2016 1 commit
  7. 06 Feb, 2016 1 commit
  8. 28 Jan, 2016 1 commit
  9. 12 Jan, 2016 1 commit
  10. 14 Dec, 2015 1 commit
  11. 05 Dec, 2015 2 commits
    • James Zern's avatar
      test.mk: simplify vp8/9 checks · a046ba21
      James Zern authored
      use CONFIG_VP[89] to protect white-box tests and drop redundant
      uses of CONFIG_VP9 in variable assignments within that block
      
      Change-Id: Id3c6cf5c7822aa161b19768b295f58829a1c6447
      a046ba21
    • James Zern's avatar
      test.mk: regroup white box tests · 2c9c2e0b
      James Zern authored
      vp8/9/10/multi-config/unconditional
      
      Change-Id: I7970575e997da0b68c6c54741a221fbba5ad0b08
      2c9c2e0b
  12. 25 Nov, 2015 1 commit
  13. 18 Nov, 2015 1 commit
  14. 09 Nov, 2015 1 commit
  15. 04 Nov, 2015 2 commits
  16. 30 Sep, 2015 1 commit
  17. 25 Sep, 2015 1 commit
  18. 24 Sep, 2015 1 commit
  19. 21 Sep, 2015 1 commit
    • Angie Chiang's avatar
      remove static from fdct4/8/16/32 · 8903b9fa
      Angie Chiang authored
      remove static from fdct4/8/16/32 in vp10/encoder/dct.c
      add prefix vp10_ to fdct4/8/16/32
      add vp10/encoder/dct.h
      
      Change-Id: I644827a191c1a7761850ec0b1da705638b618c66
      8903b9fa
  20. 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
  21. 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
  22. 03 Sep, 2015 1 commit
  23. 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
  24. 27 Jul, 2015 1 commit
  25. 17 Jul, 2015 1 commit
  26. 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
  27. 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
  28. 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
  29. 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
  30. 21 Apr, 2015 1 commit
  31. 17 Apr, 2015 1 commit
  32. 19 Mar, 2015 1 commit
  33. 13 Mar, 2015 1 commit
  34. 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
  35. 23 Jan, 2015 1 commit
  36. 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
  37. 15 Dec, 2014 2 commits