1. 30 May, 2013 1 commit
    • 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
  2. 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
  3. 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
  4. 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
  5. 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
  6. 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
  7. 09 May, 2013 1 commit
  8. 08 May, 2013 1 commit
  9. 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
  10. 06 May, 2013 1 commit
  11. 04 May, 2013 1 commit
  12. 03 May, 2013 2 commits
  13. 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
  14. 19 Apr, 2013 1 commit
  15. 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
  16. 15 Apr, 2013 1 commit
  17. 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
  18. 27 Mar, 2013 1 commit
  19. 18 Mar, 2013 1 commit
  20. 16 Mar, 2013 1 commit
  21. 13 Mar, 2013 2 commits
    • Yaowu Xu's avatar
      removed reference to "LLM" and "x8" · 00555263
      Yaowu Xu authored
      The commit changed the name of files and function to remove obselete
      reference to LLM and x8.
      
      Change-Id: I973b20fc1a55149ed68b5408b3874768e6f88516
      00555263
    • John Koleszar's avatar
      fix superframe index marker masks · bd9cd9a1
      John Koleszar authored
      The superframe index marker byte carries data in the lower 5 bits. Only the
      upper 3 should be used as part of the mask to detect it. By masking with
      0xf0, the previous code was incorrect for frames over 65k bytes.
      
      Change-Id: I6248889f5af227457f359a56b2348ef6db87a3b4
      bd9cd9a1
  22. 05 Mar, 2013 2 commits
    • John Koleszar's avatar
      Update ResizeInternalTest threshold · 93e10c8e
      John Koleszar authored
      Improved coding performance made this test fail. Adjust the threshold
      so that it passes again. A more stable metric is an open TODO.
      
      Change-Id: I56e18749ced48123ee2488888a3eed631759912b
      93e10c8e
    • John Koleszar's avatar
      Add 'superframe' index · 522d4bf8
      John Koleszar authored
      A 'superframe' is a group of frames that share the same PTS, but have a
      defined decoding order. This commit adds the ability to append an index
      to such a group of frames, allowing for random access to the constituent
      frames. This could be useful for frame-level parallelism or partial
      decoding in a multilayer scenario.
      
      Decoding the stream serially without such an index should work as a
      fallback, and VP9/TestSuperframeIndexIsOptional verifies that.
      
      Change-Id: Idff83b7560e1a7077d8fb067bfbc45b567e78b1c
      522d4bf8
  23. 02 Mar, 2013 2 commits
  24. 01 Mar, 2013 1 commit
  25. 27 Feb, 2013 5 commits
    • John Koleszar's avatar
      convolve test: validate 1D filters are 1D · 04c24078
      John Koleszar authored
      Since the 8-tap lowpass filter is non-interpolating, the results are
      different between applying it at whole-pel values and not. This
      means that 1D-only versions are requried to be implemented, as
      opposed to being an optimization of the 2D case. Calling the 2D
      filter instead of the horizontal-only filter is not equivalent
      in this case. Update the test to pass invalid filters to the
      unused stage of the 1D-only calls, to verify they're unused.
      
      Change-Id: Idc1c490f059adadd4cc80dbe770c1ccefe628b0a
      04c24078
    • John Koleszar's avatar
      Run all filters through convolve test · 557a1b20
      John Koleszar authored
      Updates the convolve test to verify that all filters match the
      reference implementation. This verifies commit 30f866f4, which
      fixed some problems with the SSE3 version of the filters for
      the vp9_sub_pel_filters_8s and vp9_sub_pel_filters_8lp banks
      due to overflow and order of operations.
      
      Change-Id: I6b5fe1a41bc20062e2e64633b1355ae58c9c592c
      557a1b20
    • John Koleszar's avatar
      Test upscaling as well as downscaling · b683eecf
      John Koleszar authored
      Fixes a bug in vp9_set_internal_size() that prevented returning to
      the unscaled state. Updated the ResizeInternalTest to scale both
      down and up. Added a check that all frames are within 2.5% of the
      quality of the initial keyframe.
      
      Change-Id: I3b7ef17cdac144ed05b9148dce6badfa75cff5c8
      b683eecf
    • John Koleszar's avatar
      Use 256-byte aligned filter tables · 6fd7dd1a
      John Koleszar authored
      This avoids duplicating all the filters twice. Includes fixups to the
      convolve routines and associated tests to make this work.
      
      Change-Id: I922f86021594e55072ddb63b42b2313605db6e00
      6fd7dd1a
    • John Koleszar's avatar
      Spatial resamping of ZEROMV predictors · eb939f45
      John Koleszar authored
      This patch allows coding frames using references of different
      resolution, in ZEROMV mode. For compound prediction, either
      reference may be scaled.
      
      To test, I use the resize_test and enable WRITE_RECON_BUFFER
      in vp9_onyxd_if.c. It's also useful to apply this patch to
      test/i420_video_source.h:
      
        --- a/test/i420_video_source.h
        +++ b/test/i420_video_source.h
        @@ -93,6 +93,7 @@ class I420VideoSource : public VideoSource {
      
           virtual void FillFrame() {
             // Read a frame from input_file.
        +    if (frame_ != 3)
             if (fread(img_->img_data, raw_sz_, 1, input_file_) == 0) {
               limit_ = frame_;
             }
      
      This forces the frame that the resolution changes on to be coded
      with no motion, only scaling, and improves the quality of the
      result.
      
      Change-Id: I1ee75d19a437ff801192f767fd02a36bcbd1d496
      eb939f45
  26. 26 Feb, 2013 2 commits
    • John Koleszar's avatar
      Refactor inter recon functions to support scaling · 6a4f708c
      John Koleszar authored
      Ensure that all inter prediction goes through a common code path
      that takes scaling into account. Removes a bunch of duplicate
      1st/2nd predictor code. Also introduces a 16x8 mode for 8x8
      MVs, similar to the 8x4 trick we were doing before. This has an
      unexpected effect with EIGHTTAP_SMOOTH, so it's disabled in that
      case for now.
      
      Change-Id: Ia053e823a8bc616a988a0af30452e1e75a739cba
      6a4f708c
    • Yaowu Xu's avatar
      Enable 32x32 dct tests · 3dbc78b1
      Yaowu Xu authored
      Also
      1. Removed the test code for fDCT from the iDCT test.
      2. changed the criteria of round trip error to be below 1/block, this
      is quite strict comparing to smaller transforms when size differences
      are accounted for.
      
      Change-Id: Idb46a6380b04c93fc8e2845c75f5a850366b0090
      3dbc78b1
  27. 25 Feb, 2013 1 commit
    • Yaowu Xu's avatar
      optimize forward 16x16 DCT for accuracy · 499fe05d
      Yaowu Xu authored
      This commit added pre/post scaling for first half of fDCT16x16 to
      reduce error, by simulation of 100,000 blocks for random inputs,
      the average sse reduced from 2.1/block to 0.0498/block.
      
      also enabled tests for 16x16 fDCT and iDCT
      
      Change-Id: Id2a95f0464c6dd4118797d456237ae90274c0f02
      499fe05d
  28. 23 Feb, 2013 2 commits
    • Yaowu Xu's avatar
      optimize 8x8 fdct rounding for accuracy · 22012ee9
      Yaowu Xu authored
      The commit added a final rounding choice for 8x8 forward dct to get
      rid of a sign bias at DC position and improve the accuracry in term
      of round trip error for 8x8 fDCT/iDCT.
      
      This commit also enabled forward 8x8 dct test.
      
      Change-Id: Ib67f99b0a24d513e230c7812bc04569d472fdc50
      22012ee9
    • James Zern's avatar
      add vp8 variance test · 1711cf2d
      James Zern authored
      Change-Id: I4e94ee2c4e2360d6a11a454c323f2899c1bb6f72
      1711cf2d