1. 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
  2. 26 May, 2015 1 commit
  3. 07 Nov, 2014 1 commit
    • Johann's avatar
      Remove asm offset dependencies · 6eec73a7
      Johann authored
      The obj_int_extract code is no longer worth maintaining. It creates
      significant issues when adapting for different build systems and no
      longer offers as significant of a performance benefit due to
      improvements in intrinsics.
      
      Source files will remain until the various third-party builds are updated.
      
      The neon fast quantizer has been moved to intrinsics. The armv6 version
      has been removed because so few remaining targets require it.
      
      Compilers and processors have improved significantly since the
      pack_tokens code was written. The assembly is no longer faster than the
      C code.
      
      pack_tokens were the only optimizations for the armv5te targets so the targets
      will be removed after the test infrastructure has been updated.
      
      BUG=710
      
      Change-Id: Ic785b167cd9f95eeff31c7c76b7b736c07fb30eb
      6eec73a7
  4. 31 Oct, 2014 2 commits
    • Johann's avatar
      Remove pair quantization · 2134eb2f
      Johann authored
      The intrinsics version of the pair quant is slower than running it
      individually.
      
      Change-Id: I7b4ea8599d4aab04be0a5a0c59b8b29a7fc283f4
      2134eb2f
    • Johann's avatar
      vp8 quantization -> intrinsics · 7ae75c3d
      Johann authored
      Use intrinsics for neon quantization. Slight loss (<5%) of performance
      compared to the assembly. Roughly 10x faster on arm64 because that was
      running C code before.
      
      Change-Id: I7cf5242d8f29b7eab5bca6a1c20c89c9fc9ca66d
      7ae75c3d
  5. 15 Sep, 2014 1 commit
  6. 08 Sep, 2014 1 commit
  7. 20 Aug, 2014 3 commits
  8. 12 May, 2014 1 commit
  9. 02 Jan, 2014 1 commit
  10. 16 Nov, 2012 1 commit
  11. 01 Nov, 2012 1 commit
  12. 06 Mar, 2012 1 commit
  13. 30 Jan, 2012 5 commits
    • John Koleszar's avatar
      RTCD: finalize removal of old RTCD system · 8aae2460
      John Koleszar authored
      This is the final commit in the series converting to the new RTCD
      system. It removes the encoder csystemdependent files and the remaining
      global function pointers that didn't conform to the old RTCD system.
      
      Change-Id: I9649706f1bb89f0cbf431ab0e3e7552d37be4d8e
      8aae2460
    • John Koleszar's avatar
      RTCD: add block subtraction functions · be8af188
      John Koleszar authored
      This commit continues the process of converting to the new RTCD
      system.
      
      Change-Id: Id8a287fdd4bd050ea4452e1582ad85520f3081be
      be8af188
    • John Koleszar's avatar
      RTCD: add quantizer functions · 61311e61
      John Koleszar authored
      This commit continues the process of converting to the new RTCD
      system.
      
      Change-Id: Iba9df4c03a508e51c37201c621be43523fae87d9
      61311e61
    • John Koleszar's avatar
      RTCD: add FDCT functions · 510e0ab4
      John Koleszar authored
      This commit continues the process of converting to the new RTCD
      system.
      
      Change-Id: I3f9c07db65eb206f6363d21bdb80e871570da767
      510e0ab4
    • John Koleszar's avatar
      RTCD: add variance functions · 83a91e78
      John Koleszar authored
      This commit continues the process of converting to the new RTCD
      system.
      
      Change-Id: Ie5c1aa480637e98dc3918fb562ff45c37a66c538
      83a91e78
  14. 20 Jan, 2012 1 commit
    • Fritz Koenig's avatar
      Disconnect ARM tgt_isa from dsp extensions · 89210284
      Fritz Koenig authored
      A processor with ARMv7 instructions does not
      necessarily have NEON dsp extensions.  This CL
      has the added side effect of allowing the ability
      to enable/disable the dsp extensions cleanly.
      
      Change-Id: Ie1e879b8fe131885bc3d4138a0acc9ffe73a36df
      89210284
  15. 20 Sep, 2011 2 commits
  16. 19 Sep, 2011 1 commit
    • Tero Rintaluoma's avatar
      Updated ARMv6 forward transforms to match C · 4c3ad66b
      Tero Rintaluoma authored
      - Updated walsh transform to match C
        (based on Change Id24f3392)
      - Changed fast_fdct4x4 and 8x4 to short_fdct4x4 and 8x4
        correspondingly
      
      Change-Id: I704e862f40e315b0a79997633c7bd9c347166a8e
      4c3ad66b
  17. 01 Aug, 2011 1 commit
  18. 21 Jun, 2011 1 commit
  19. 01 Jun, 2011 1 commit
    • Tero Rintaluoma's avatar
      neon fast quantize block pair · 61f0c090
      Tero Rintaluoma authored
      vp8_fast_quantize_b_pair_neon function added to quantize
      two adjacent blocks at the same time to improve performance.
       - Additional 3-6% speedup compared to neon optimized fast
         quantizer (Tanya VGA@30fps, 1Mbps stream, cpu-used=-5..-16)
      
      Change-Id: I3fcbf141e5d05e9118c38ca37310458afbabaa4e
      61f0c090
  20. 06 May, 2011 1 commit
    • Tero Rintaluoma's avatar
      neon fast quantizer updated · 33fa7c4e
      Tero Rintaluoma authored
      vp8_fast_quantize_b_neon function updated and further optimized.
       - match current C implementation of fast quantizer
       - updated to use asm_enc_offsets for structure members
       - updated ads2gas scripts to handle alignment issues
      
      Change-Id: I5cbad9c460ad8ddb35d2970a8684cc620711c56d
      33fa7c4e
  21. 01 Apr, 2011 1 commit
    • Tero Rintaluoma's avatar
      Wrapper function removed from vp8_subtract_b_neon function call · cec76a36
      Tero Rintaluoma authored
      Address calculations moved from encodemb_arm.c file to neon
      optimized assembly function to save cycles in function calls.
       - vp8_subtract_b_neon_func replaced with vp8_subtract_b_neon
         that contains all needed address calculations
       - unnecessary file encodemb_arm.c removed
       - consistent with ARMv6 optimized version
      
      Change-Id: I6cbc1a2670b56c2077f59995fcf8f70786b4990b
      cec76a36
  22. 29 Mar, 2011 1 commit
    • Tero Rintaluoma's avatar
      ARMv6 optimized subtract functions · 6fdc9aa7
      Tero Rintaluoma authored
      Adds following ARMv6 optimized functions to encoder:
        - vp8_subtract_b_armv6
        - vp8_subtract_mby_armv6
        - vp8_subtract_mbuv_armv6
      
      Gives 1-5% speed-up depending on input sequence and encoding
      parameters. Functions have one stall cycle inside the loop body
      on Cortex pipeline.
      
      Change-Id: I19cca5408b9861b96f378e818eefeb3855238639
      6fdc9aa7
  23. 28 Mar, 2011 2 commits
    • Johann's avatar
      add asm_enc_offsets.c for all targets · 4be062bb
      Johann authored
      now that we need asm_enc_offsets.c for x86 and arm and it is
      harmless to build it for other targets, add it unconditionally
      
      Change-Id: I320c5220afd94fee2b98bda9ff4e5e34c67062f3
      4be062bb
    • Tero Rintaluoma's avatar
      Half pixel variance further optimized for ARMv6 · f5e43346
      Tero Rintaluoma authored
      Half pixel interpolations optimized in variance calculations. Separate
      function calls to vp8_filter_block2d_bil_x_pass_armv6 are avoided.On
      average, performance improvement is 6-7% for VGA@30fps sequences.
      
      Change-Id: Idb5f118a9d51548e824719d2cfe5be0fa6996628
      f5e43346
  24. 21 Mar, 2011 1 commit
    • Tero Rintaluoma's avatar
      ARMv6 optimized fdct4x4 · a61785b6
      Tero Rintaluoma authored
      Optimized fdct4x4 (8x4) for ARMv6 instruction set.
        - No interlocks in Cortex-A8 pipeline
        - One interlock cycle in ARM11 pipeline
        - About 2.16 times faster than current C-code compiled with -O3
      
      Change-Id: I60484ecd144365da45bb68a960d30196b59952b8
      a61785b6
  25. 15 Mar, 2011 1 commit
  26. 14 Mar, 2011 1 commit
  27. 11 Mar, 2011 1 commit
    • Tero Rintaluoma's avatar
      ARMv6 optimized quantization · 7ab08e1f
      Tero Rintaluoma authored
      Adds new ARMv6 optimized function vp8_fast_quantize_b_armv6
      to the encoder.
      
      Change-Id: I40277ec8f82e8a6cbc453cf295a0cc9b2504b21e
      7ab08e1f
  28. 11 Feb, 2011 1 commit
    • Tero Rintaluoma's avatar
      ARMv6 optimized sad16x16 · 1ef86980
      Tero Rintaluoma authored
      Adds a new ARMv6 optimized function vp8_sad16x16_armv6 to encoder.
      
      Change-Id: Ibbd7edb8b25cb7a5b522d391b1e9a690fe150e57
      1ef86980
  29. 09 Feb, 2011 1 commit
    • Tero Rintaluoma's avatar
      Adds armv6 optimized variance calculation · cb14764f
      Tero Rintaluoma authored
      Adds vp8_sub_pixel_variance16x16_armv6 function to encoder. Integrates
      ARMv6 optimized bilinear interpolations from vp8/common/arm/armv6
      and adds new assembly file for variance16x16 calculation.
       - vp8_filter_block2d_bil_first_pass_armv6   (integrated)
       - vp8_filter_block2d_bil_second_pass_armv6  (integrated)
       - vp8_variance16x16_armv6 (new)
       - bilinearfilter_arm.h (new)
      Change-Id: I18a8331ce7d031ceedd6cd415ecacb0c8f3392db
      cb14764f
  30. 08 Feb, 2011 1 commit
    • Johann's avatar
      clarify *_offsets.asm differences · 40dcae9c
      Johann authored
      it's difficult to mux the *_offsets.c files because of header conflicts.
      make three instead, name them consistently and partititon the contents
      to allow building them as required.
      
      Change-Id: I8f9768c09279f934f44b6c5b0ec363f7943bb796
      40dcae9c
  31. 26 Jan, 2011 1 commit