1. 21 Jun, 2013 2 commits
  2. 20 Jun, 2013 3 commits
    • Ronald S. Bultje's avatar
      SSE2/SSSE3 optimizations and unit test for sub_pixel_avg_variance(). · 1e6a32f1
      Ronald S. Bultje authored
      Encoding of bus @ 1500kbps (first 50 frames) goes from 3min57 to
      3min35, i.e. approximately a 10.5% speedup. Note that the SIMD versions
      which use a bilinear filter (x_offset & 7 || y_offset & 7) aren't
      perfectly interleaved, and can probably be improved further in the
      future. I've marked this with a few TODOs/FIXMEs in the code.
      
      Change-Id: I5c9e900c0f0d32e431a50fecae213b510b2549f9
      1e6a32f1
    • Ronald S. Bultje's avatar
      Implement sse2 and ssse3 versions for all sub_pixel_variance sizes. · 8fb6c581
      Ronald S. Bultje authored
      Overall speedup around 5% (bus @ 1500kbps first 50 frames 4min10 ->
      3min58). Specific changes to timings for each function compared to
      original assembly-optimized versions (or just new version timings if
      no previous assembly-optimized version was available):
      
      sse2   4x4:    99 ->   82 cycles
      sse2   4x8:           128 cycles
      sse2   8x4:           121 cycles
      sse2   8x8:   149 ->  129 cycles
      sse2   8x16:  235 ->  245 cycles (?)
      sse2  16x8:   269 ->  203 cycles
      sse2  16x16:  441 ->  349 cycles
      sse2  16x32:          641 cycles
      sse2  32x16:          643 cycles
      sse2  32x32: 1733 -> 1154 cycles
      sse2  32x64:         2247 cycles
      sse2  64x32:         2323 cycles
      sse2  64x64: 6984 -> 4442 cycles
      
      ssse3  4x4:           100 cycles (?)
      ssse3  4x8:           103 cycles
      ssse3  8x4:            71 cycles
      ssse3  8x8:           147 cycles
      ssse3  8x16:          158 cycles
      ssse3 16x8:   188 ->  162 cycles
      ssse3 16x16:  316 ->  273 cycles
      ssse3 16x32:          535 cycles
      ssse3 32x16:          564 cycles
      ssse3 32x32:          973 cycles
      ssse3 32x64:         1930 cycles
      ssse3 64x32:         1922 cycles
      ssse3 64x64:         3760 cycles
      
      Change-Id: I81ff6fe51daf35a40d19785167004664d7e0c59d
      8fb6c581
    • Jingning Han's avatar
      Add unit tests for 4x4 ADST · 362809df
      Jingning Han authored
      Enable sign bias check and round-trip error unit tests for 4x4 hybrid
      transform modules.
      
      Change-Id: Icd3d839f098d4b92b00ff76eac146765b039d0d3
      362809df
  3. 19 Jun, 2013 1 commit
    • John Koleszar's avatar
      Add some unaligned test vectors · 639db571
      John Koleszar authored
      Tests resolutions of 8, 10, 16, 18, 32, 34, 64, 66 to exercise the
      border conditions, as well as non-SB aligned sizes.
      
      Change-Id: Ie7c2b7860ac3727e23202042f2e86792652912f8
      639db571
  4. 18 Jun, 2013 2 commits
  5. 17 Jun, 2013 1 commit
    • Jeff Petkau's avatar
      Change the encryption feature to use a callback for decryption. · 368c7237
      Jeff Petkau authored
      This allows code calling the library can choose an arbitrary
      encryption algorithm.
      
      Decoder control parameter VP8_SET_DECRYPT_KEY is renamed to
      VP8D_SET_DECRYPTOR, and now takes an small config struct instead
      of just a byte array.
      
      Change-Id: I0462b3388d8d45057e4f79a6b6777fe713dc546e
      368c7237
  6. 14 Jun, 2013 1 commit
    • Jingning Han's avatar
      Enable sse2 version of sad8x4/4x8 · c43af9a8
      Jingning Han authored
      The encoding time for bus at CIF goes from 661s to 625s. This commit
      also enabled unit test of sad8x4/4x8 in sad_test.cc.
      
      Change-Id: If3d10ebb56bda584bdb69bcf056599d580b12cb1
      c43af9a8
  7. 13 Jun, 2013 2 commits
    • Jingning Han's avatar
      Enable sse2 version of sad8x4/4x8 · 15f50e7b
      Jingning Han authored
      The encoding time for bus at CIF goes from 661s to 625s. This commit
      also enabled unit test of sad8x4/4x8 in sad_test.cc.
      
      Change-Id: If3d10ebb56bda584bdb69bcf056599d580b12cb1
      15f50e7b
    • John Koleszar's avatar
      Add vp9 test vectors unit test · 119c9812
      John Koleszar authored
      These files can stand in until we get proper syntax vectors. They
      should provide some additional assurance against inadvertant
      bitstream changes.
      
      Change-Id: I12f6c9a5f054e30df40a7ff1f33145abf7e1d59d
      119c9812
  8. 12 Jun, 2013 1 commit
  9. 10 Jun, 2013 1 commit
    • Deb Mukherjee's avatar
      Cosmetic cleanups of filters · 995ce523
      Deb Mukherjee authored
      No bitstream change.
      
      Removes unused filters and the code for the case of 2 switchable filters;
      also changes the 8tap-smooth filter coefficients for integer shifts to be
      interpolating to be consistent with the way it is implemented currently.
      
      Change-Id: I96c542fd8c06f4e0df507a645976f58e6de92aae
      995ce523
  10. 07 Jun, 2013 2 commits
    • Jingning Han's avatar
      Handle partition type coding of boundary blocks · 78b8190c
      Jingning Han authored
      The partition types of blocks sitting on the frame boundary are
      constrained by the block size and the position of each sub-block
      relative to the frame. Hence we use truncated probability models
      to handle the coding of such information.
      
      100 frames run:
      yt 0.138%
      
      Change-Id: I85d9b45665c15280069c0234ea6f778af586d87d
      78b8190c
    • John Koleszar's avatar
      Add marker bit to bool-coded partition start · a425e2cc
      John Koleszar authored
      Adds a marker bit to allow distinguishing the frame header from its residual
      data.
      
      Change-Id: Id75d47acc9e5a97007e4690c4f8748a4ce63e641
      a425e2cc
  11. 06 Jun, 2013 1 commit
  12. 30 May, 2013 2 commits
    • James Zern's avatar
      sad_test: fix msvc compile · 5e3439bb
      James Zern authored
      Fixes:
      error C2121: '#' : invalid character : possibly the result of a macro expansion
      
      Change-Id: I63d7ebba29f3a3cbb546406be39270290e9dc47d
      (cherry picked from commit a91e5b4f)
      5e3439bb
    • James Zern's avatar
      sad_test: fix msvc compile · a91e5b4f
      James Zern authored
      Fixes:
      error C2121: '#' : invalid character : possibly the result of a macro expansion
      
      Change-Id: I63d7ebba29f3a3cbb546406be39270290e9dc47d
      a91e5b4f
  13. 22 May, 2013 1 commit
    • Yunqing Wang's avatar
      Optimize variance functions · f4fcfe30
      Yunqing Wang authored
      Added SSE2 version of variance functions for super blocks.
      
      Change-Id: Ibeaae8771ca21c99d41dd74067574a51e97b412d
      f4fcfe30
  14. 20 May, 2013 1 commit
    • Scott LaVarnway's avatar
      WIP: 4x4 idct/recon merge · ba48a111
      Scott LaVarnway authored
      This patch eliminates the intermediate diff buffer usage by
      combining the short idct and the add residual into one function.
      The encoder can use the same code as well.
      
      Change-Id: I296604bf73579c45105de0dd1adbcc91bcc53c22
      ba48a111
  15. 16 May, 2013 1 commit
    • Scott LaVarnway's avatar
      WIP: 8x8 idct/recon merge · 794a7bed
      Scott LaVarnway authored
      This patch eliminates the intermediate diff buffer usage by
      combining the short idct and the add residual into one function.
      The encoder can use the same code as well.
      
      Change-Id: Iacfd57324fbe2b7beca5d7f3dcae25c976e67f45
      794a7bed
  16. 15 May, 2013 1 commit
    • Scott LaVarnway's avatar
      WIP: 16x16 idct/recon merge · a272ff25
      Scott LaVarnway authored
      This patch eliminates the intermediate diff buffer usage by
      combining the short idct and the add residual into one function.
      The encoder can use the same code as well.
      
      Change-Id: Iea7976b22b1927d24b8004d2a3fddae7ecca3ba1
      a272ff25
  17. 14 May, 2013 1 commit
    • Scott LaVarnway's avatar
      WIP: 32x32 idct/recon merge · 2cf0d4be
      Scott LaVarnway authored
      This patch eliminates the intermediate diff buffer usage by
      combining the short idct and the add residual into one function.
      The encoder can use the same code as well.
      
      Change-Id: I4ea09df0e162591e420d869b7431c2e7f89a8c1a
      2cf0d4be
  18. 09 May, 2013 1 commit
  19. 08 May, 2013 1 commit
  20. 07 May, 2013 3 commits
    • John Koleszar's avatar
      Partially disable error resilience test · 9fba0345
      John Koleszar authored
      Disables the part of the error-resilient test that tests the
      quality after dropping undroppable frames. It's not clear how
      to set the threshold for this correctly at the moment.
      
      Change-Id: I3ee4a0d475498f44711fdef05749f305e8d08591
      9fba0345
    • John Koleszar's avatar
      Revert "Adjust error resilience test data rate." · c0490a5c
      John Koleszar authored
      This reverts commit b24735c6
      since the adjusted threshold doesn't allow the existing tests
      to pass. Will disable the failing test in a separate commit.
      
      Change-Id: I26d41cf6175f300bbad493cecdc96e6b0dd6f2fe
      c0490a5c
    • Paul Wilkins's avatar
      Adjust error resilience test data rate. · b24735c6
      Paul Wilkins authored
      Note that the pass fail criteria for this test seems a bit
      arbitrary to me.
      
      Change-Id: Idc695c39dd7542e851a7732b2810b45e0bdf91ae
      b24735c6
  21. 06 May, 2013 1 commit
  22. 04 May, 2013 1 commit
  23. 03 May, 2013 2 commits
  24. 02 May, 2013 1 commit
    • James Zern's avatar
      convolve_test: remove unnecessary memset · b0e5775e
      James Zern authored
      input_ is filled with random values just afterward.
      the size was wrong anyway as input_ is allocated with memalign so
      sizeof(input_)==sizeof(uint8_t*)
      
      Change-Id: I014b832ac60960cd22b6f369dbc9fd648d4055b5
      b0e5775e
  25. 19 Apr, 2013 1 commit
  26. 18 Apr, 2013 1 commit
    • John Koleszar's avatar
      convolve: support larger blocks, fix asm saturation bug · a9ebbcc3
      John Koleszar authored
      Updates the common convoloution code to support blocks larger than
      16x16, and rectangular blocks. This uncovered a bug in the SSSE3
      filtering routines due to the order of application of saturation.
      This commit fixes that bug, adjusts the unit test to bias its
      random values towards the extremes, and adds a test to ensure that
      all filters conform to the expected pairwise addition structure.
      
      Change-Id: I81f69668b1de0de5a8ed43f0643845641525c8f0
      a9ebbcc3
  27. 15 Apr, 2013 1 commit
  28. 05 Apr, 2013 1 commit
    • James Zern's avatar
      tests: use a portable rand() implementation · c4195e0e
      James Zern authored
      the one from gtest in this case: testing::internal::Random.
      this will make the tests deterministic between platforms. addresses
      issue #568.
      
      Change-Id: I5a8a92f5c33f52cb0a219c1dd3d02335acbbf163
      c4195e0e
  29. 27 Mar, 2013 1 commit
  30. 18 Mar, 2013 1 commit