1. 12 Dec, 2014 1 commit
  2. 10 Dec, 2014 4 commits
  3. 09 Dec, 2014 1 commit
  4. 07 Nov, 2014 1 commit
  5. 09 Oct, 2014 1 commit
  6. 03 Oct, 2014 1 commit
    • Deb Mukherjee's avatar
      Incorporate WRAPLOW macro into non-highbitdepth tx · d50716fa
      Deb Mukherjee authored
      Incorporates the WRAPLOW macro into the non-highbitdepth transforms
      to aid hardware verification between a software C model and an
      intended hardware implementation though the use of the configure
      options: --enable-experimental --enable-emulate-hardware.
      Note that to avoid further discrepancies between the sse/sse2
      implementations of the transforms and the C implementation, when the
      emulate hardware option is invoked, we also disable sse/sse2/etc.
      
      Also incudes some minor cleanups/renaming etc.
      
      Change-Id: Ib864d8493313927d429cce402982f1c8e45b3287
      d50716fa
  7. 20 Sep, 2014 1 commit
    • hkuang's avatar
      Fix compile warning. · db71c1bd
      hkuang authored
      warning: comparison between signed and unsigned integer expressions.
      
      Change-Id: Ib6ee7500fe910983f290fc321ad89c0ab9989455
      db71c1bd
  8. 18 Sep, 2014 1 commit
  9. 12 Sep, 2014 1 commit
    • Deb Mukherjee's avatar
      Adds high bitdepth transform functions and tests · 10783d4f
      Deb Mukherjee authored
      Adds various high bitdepth transform functions and tests.
      Much of the changes are related to using typedefs tran_low_t
      and tran_high_t for the final transform cofficients and intermediate
      stages of the transform computation respectively rather than fixed
      types int16_t/int. When vp9_highbitdepth configure flag is off,
      these map tp int16_t/int32_t, but when the flag is on, they map
      to int32_t/int64_t to make space for needed extra precision.
      
      Change-Id: I3c56de79e15b904d6f655b62ffae170729befdd8
      10783d4f
  10. 11 Sep, 2014 1 commit
  11. 07 Aug, 2014 1 commit
    • levytamar82's avatar
      Fix bug 804 · 839911fb
      levytamar82 authored
      A bug in Microsoft compiler was found in the function
      vp9_filter_block1d16_v8_avx2 and a workaround applied.
      the bug occur when there was 4 consecutive maddubs + min + adds
      intrinsic instructions.
      
      Change-Id: I83499faeb70971e650e5663fd2490360ddb1a51b
      839911fb
  12. 19 Jul, 2014 1 commit
  13. 10 Jul, 2014 1 commit
    • James Zern's avatar
      tests: add API_REGISTER_STATE_CHECK · 29e1b1a4
      James Zern authored
      used to wrap API functions to ensure full environment consistency as
      opposed to the renamed ASM_REGISTER_STATE_CHECK which is used with
      assembly functions.
      currently checks the FPU tag word in x86/x86_64 gcc builds to ensure
      emms has been called.
      
      Change-Id: Ie241772dbf903d33d516a1add4c8c6783f2e1490
      29e1b1a4
  14. 10 Jun, 2014 1 commit
  15. 27 May, 2014 1 commit
  16. 23 May, 2014 1 commit
    • Yaowu Xu's avatar
      Use extreme values for input in convovle tests · 077144d2
      Yaowu Xu authored
      The intepolation filter functions can be better tested withe extreme
      values, especially given the optimization functions are prone to
      overflow signed 16 bit intermediate value when operation order is
      wrong.
      
      Change-Id: I712142b0bc1e5969c692c0486a57ffa37c9742b5
      077144d2
  17. 14 May, 2014 1 commit
  18. 12 May, 2014 1 commit
  19. 21 Apr, 2014 1 commit
  20. 24 Jan, 2014 1 commit
  21. 19 Nov, 2013 1 commit
  22. 10 Oct, 2013 1 commit
    • Yunqing Wang's avatar
      SSE2 8-tap sub-pixel filter optimization · 3fb728c7
      Yunqing Wang authored
      To ensure fast encoding/decoding on devices without ssse3 support,
      SSE2 optimization of sub-pixel filters was done. Test using 1080p
      clip showed the decoder speeds were ~70fps with ssse3 filters, ~60fps
      with sse2 filters, and ~15fps with c filters.
      
      Change-Id: Ie2088f87d83a889fba80a613e4d0e287aadd785c
      3fb728c7
  23. 02 Oct, 2013 1 commit
  24. 30 Aug, 2013 1 commit
    • Tero Rintaluoma's avatar
      Fix intermediate height in convolve_c · e326cecf
      Tero Rintaluoma authored
      - Intermediate height was not correct i.e. when block size is 4 and
        y_step_q4 is 6. In this case intermediate height was
        (4*6) >> 4 = 1 and vertical interpolation needs two source pixels
        plus 7 extra pixels for taps.
      - Also if the current output block is 16x16 and we are using 4x upscaling
        we need only 12 rows after horizontal filtering instead of 16.
      
        Patch Set 2: Intermediate_height updated after CL 66723
                     "Fix bug in convolution functions (filter selection)"
      
      Change-Id: I5a1a1bc2ac9d5edb3a6e0818de618bf318fdd589
      e326cecf
  25. 23 Aug, 2013 1 commit
    • Adrian Grange's avatar
      Fix bug in convolution functions (filter selection) · 3f108313
      Adrian Grange authored
      (In response to Issue 604:
       https://code.google.com/p/webm/issues/detail?id=604)
      
      There were bugs in the convolution code for two cases:
      
      1. Where the filter table was assumed to be aligned to a
         256 byte boundary. The offset of the pixel in the
         source buffer was computed incorrectly.
      
      2. Where no such alignment assumption was made. An
         incorrect address for the filter table base was used.
      
      To fix both problems, I now assume that the filter table is
      256-byte aligned and modify the pixel offset calculation to
      match.
      
      A later patch should remove the restriction that the filter
      table is aligned to a 256-byte boundary.
      
      There was also a bug in the ConvolveTest unit test
      (convolve_test.cc).
      
      (Bug & initial fix suggestion submitted by Tero Rintaluoma
      and Sami Pietilä).
      
      Change-Id: I71985551e62846e55e40de9e7e3959d4805baa82
      3f108313
  26. 05 Aug, 2013 1 commit
    • Jim Bankoski's avatar
      Begin to restrict x86inc.asm usage · c3809f3d
      Jim Bankoski authored
      Chromium does not support 32bit builds for Mac which use x86inc.asm.
      Make the files which include it work if 64bit or not PIC enabled
      starting with vp9_copy_sse2.asm
      
      Consolidate these targets in vp9_rtcd_defs.sh
      
      Change-Id: If18f0b957a611efd085a3ee7d245cf1eb91e8248
      c3809f3d
  27. 17 Jul, 2013 1 commit
    • Johann's avatar
      vp9_convolve8_neon placeholder · 59dc4e9c
      Johann authored
      Call the individually optimized horizontal and vertical functions. This
      implementation abuses the temp buffer.
      
      This will be replaced with a custom optimized function.
      
      Over 2x speedup.
      
      Change-Id: I5b908d2a73d264e9810d6022bbff73207a3055dd
      59dc4e9c
  28. 12 Jul, 2013 1 commit
    • Johann's avatar
      vp9_convolve8_[horiz|vert]_avg · a15bebfc
      Johann authored
      Super basic conversion from the other implementations. Any changes to
      one should be trivial to copy over keep in sync.
      
      Change-Id: I1720b4128e0aba4b2779e3761f6494f8a09d3ea8
      a15bebfc
  29. 11 Jul, 2013 2 commits
  30. 18 Jun, 2013 1 commit
  31. 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
  32. 03 May, 2013 1 commit
  33. 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
  34. 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
  35. 27 Feb, 2013 2 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