1. 18 Aug, 2015 1 commit
    • Johann's avatar
      Rename vp8 quantize.c · 79a00d71
      Johann authored
      Move it to vp8_quantize.c and make sure to
      use the full path for all vp8 includes of quantize.h
      
      Change-Id: I284651ff681707385f4924ea7db1541905c1624a
      79a00d71
  2. 07 Aug, 2015 1 commit
  3. 01 Aug, 2015 1 commit
  4. 31 Jul, 2015 2 commits
  5. 30 Jul, 2015 2 commits
  6. 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
  7. 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
  8. 18 Jun, 2014 1 commit
  9. 21 May, 2014 1 commit
    • Deb Mukherjee's avatar
      Renames x86_64 specific asm files · e2722734
      Deb Mukherjee authored
      Renames all x86_64 specific assembly files to consistently
      end in _x86_64.asm. This will be useful for build systems to
      handle these files differently.
      All new 64-bit specific assembly files should use the new
      naming convention.
      
      Change-Id: I36c89584967c82ffc4088b1b5044ac15d2bb7536
      e2722734
  10. 02 May, 2014 1 commit
  11. 27 Feb, 2014 1 commit
    • Dmitry Kovalev's avatar
      Adding vpx_sse_to_psnr() function. · 7d5bffc4
      Dmitry Kovalev authored
      Removing all copies of identical vp8_mse2psnr/vp9_mse2psnr functions.
      Using vpx_sse_to_psnr() instead in all places.
      
      Change-Id: I15beef9834d43d8fc8a8a7a2d1fc5de3d658fed8
      7d5bffc4
  12. 03 May, 2013 1 commit
  13. 24 Apr, 2013 1 commit
    • Johann's avatar
      Rename quantize_sse2_intrinsics.c · fe74c428
      Johann authored
      The only reason for the _intrinsics part of the file name was for the
      interim period where only one of the functions was redone and the base
      file name was the same.
      
      Change-Id: I7851154f1633d48821bee885b1cadb2148e65a23
      fe74c428
  14. 04 Mar, 2013 1 commit
  15. 02 Mar, 2013 1 commit
  16. 01 Mar, 2013 1 commit
    • Johann's avatar
      Use intrinsics for sse2 regular quantize · eca59cad
      Johann authored
      Remove dependency of this function on asm_offsets. ssse3/sse4 next.
      
      Change quant_shift calculation so it be done using SIMD. Pre-calculate
      as much as possible to simplify EOB selection.
      
      Take advantage of qcoeff being zero'd by tying the if statements
      together.
      
      Speed parity with previous implementation with gcc x86_64 linux
      
      Change-Id: Ife97556a1eca3a74b09def1a3d04084974dff1fb
      eca59cad
  17. 26 Feb, 2013 1 commit
    • Johann's avatar
      vp8 fast quantizer with intrinsics · ef887974
      Johann authored
      Reduce dependency on offsets file by using intrinsics. Disassembly shows
      improvements over previous assembly specifically in register management,
      preloading, and {pro,epi}log. Speed change is within margin of error.
      
      Change-Id: I8131b4b4d62bc092407fe847bfaa8f2c0e1384ff
      ef887974
  18. 29 Nov, 2012 1 commit
  19. 28 Nov, 2012 1 commit
  20. 16 Nov, 2012 1 commit
  21. 15 Nov, 2012 1 commit
    • John Koleszar's avatar
      make: flatten object file directories · b72373de
      John Koleszar authored
      Rather than building an object file directory heirarchy matching the
      source tree's layout, rename the object files so that the object
      file name contains the path in the source file tree. The intent here
      is to allow two files in different parts of the source tree to have
      the same name and still not collide when put into an ar archive.
      
      Change-Id: Id627737dc95ffc65b738501215f34a995148c5a2
      b72373de
  22. 01 Nov, 2012 1 commit
  23. 29 Oct, 2012 2 commits
    • Yaowu Xu's avatar
      fixed a build issue · d8bd0246
      Yaowu Xu authored
      Two head files dct.h and dct_x86.h were removed in a previous commit,
      this commit removed the build's dependency on the two files.
      
      Change-Id: Idd33712470912d39d42f133dc30b710cab6fa832
      d8bd0246
    • Jim Bankoski's avatar
      invoke macro removal encodemb · 1838d877
      Jim Bankoski authored
      Change-Id: I321280abcf48f3dc16e194d29bde2bd3baec6006
      1838d877
  24. 22 Oct, 2012 1 commit
  25. 16 Oct, 2012 1 commit
  26. 14 Oct, 2012 2 commits
  27. 21 Aug, 2012 1 commit
    • John Koleszar's avatar
      remove rotation experiment · 5055a161
      John Koleszar authored
      This is being reimplemented more generically in terms of affine
      transforms.
      
      Change-Id: I9300bfde5f8b93c708c64f59427087720f8ed782
      5055a161
  28. 30 May, 2012 1 commit
  29. 22 May, 2012 2 commits
    • John Koleszar's avatar
      Move all tests to test/ directory · 2d225689
      John Koleszar authored
      Consolodate the unit tests under vp8/ to the test/ directory
      
      Change-Id: I6d6a0fb60f5e3874a4d6710e9e121dd3e81a93db
      2d225689
    • John Koleszar's avatar
      Build unit tests monolithically · e82d261d
      John Koleszar authored
      Rework unit tests  to have a single executable rather than many, which
      should avoid pollution of the visual studio project namespace, improve
      build times, and make it easier to use the gtest test sharding system
      when we get these going on the continuous build cluster.
      
      Change-Id: If4c3e5d4b3515522869de6c89455c2a64697cca6
      e82d261d
  30. 21 May, 2012 1 commit
  31. 08 May, 2012 1 commit
    • Jim Bankoski's avatar
      vp8e - boolcoder unit test · 9851486b
      Jim Bankoski authored
      Adds a unit test to the boolcoder that tests encoding 
      and decoding thousands of different bits, with different 
      probabilities in different patterns.   
      
      Code borrowed from the webp project - and its committers.
      
      Change-Id: Icabbb884d57e666496490c961dd29b246144ab3e
      9851486b
  32. 04 May, 2012 2 commits
    • John Koleszar's avatar
      Formalize encodeframe.c forward delclarations · 22f56b93
      John Koleszar authored
      Change If4321cc5 fixed a bug caused by forward declarations not being
      kept in sync across C files, resulting in a function call with the
      wrong arguments. The commit moves the affected function declarations
      into a header file, along with the other symbols from encodeframe.c
      that were being sloppily shared.
      
      Change-Id: I76a7b4c66d4fe175f9cbef7e52148655e4bb9ba1
      22f56b93
    • Attila Nagy's avatar
      Make global data const · f039a85f
      Attila Nagy authored
      Removes all runtime initialization of global data. This commit is a
      squashed version of the following series cherry-picked from master.
      This is necessary because of a change that was merged to the tester
      that depends on the scaler being moved to the RTCD framework, which
      is a worthwhile thing to include in Eider anyway.
      
        - a91b42f0 Makes all global data in entropy.c const
        - b35a0db0 Makes all global data in tokenize.c const
        - 441cac8e Makes all mode token tables const
        - 5948a021 Ports vpx_xcaler to new RTCD method
        - 317d4244 Makes all mode token tables const part 2
      
      Change-Id: Ifeaea24df2b731e7c509fa6c6ef6891a374afc26
      f039a85f
  33. 17 Apr, 2012 1 commit
    • Attila Nagy's avatar
      Makes all global data in tokenize.c const · b35a0db0
      Attila Nagy authored
      Removes all runtime initialization of global data in tokenize.c.
      DCT token and cost tabels are pre-generated.
      
      Second patch in a series to make sure code is reentrant.
      
      Change-Id: Iab48b5fe290129823947b669413101f22a1bcac0
      b35a0db0
  34. 15 Mar, 2012 1 commit
    • Yaowu Xu's avatar
      WebM Experimental Codec Branch Snapshot · 6035da54
      Yaowu Xu authored
      This is a code snapshot of experimental work currently ongoing for a
      next-generation codec.
      
      The codebase has been cut down considerably from the libvpx baseline.
      For example, we are currently only supporting VBR 2-pass rate control
      and have removed most of the code relating to coding speed, threading,
      error resilience, partitions and various other features.  This is in
      part to make the codebase easier to work on and experiment with, but
      also because we want to have an open discussion about how the bitstream
      will be structured and partitioned and not have that conversation
      constrained by past work.
      
      Our basic working pattern has been to initially encapsulate experiments
      using configure options linked to #IF CONFIG_XXX statements in the
      code. Once experiments have matured and we are reasonably happy that
      they give benefit and can be merged without breaking other experiments,
      we remove the conditional compile statements and merge them in.
      
      Current changes include:
      * Temporal coding experiment for segments (though still only 4 max, it
        will likely be increased).
      * Segment feature experiment - to allow various bits of information to
        be coded at the segment level. Features tested so far include mode
        and reference frame information, limiting end of block offset and
        transform size, alongside Q and loop filter parameters, but this set
        is very fluid.
      * Support for 8x8 transform - 8x8 dct with 2nd order 2x2 haar is used
        in MBs using 16x16 prediction modes within inter frames.
      * Compound prediction (combination of signals from existing predictors
        to create a new predictor).
      * 8 tap interpolation filters and 1/8th pel motion vectors.
      * Loop filter modifications.
      * Various entropy modifications and changes to how entropy contexts and
        updates are handled.
      * Extended quantizer range matched to transform precision improvements.
      
      There are also ongoing further experiments that we hope to merge in the
      near future: For example, coding of motion and other aspects of the
      prediction signal to better support larger image formats, use of larger
      block sizes (e.g. 32x32 and up) and lossless non-transform based coding
      options (especially for key frames). It is our hope that we will be
      able to make regular updates and we will warmly welcome community
      contributions.
      
      Please be warned that, at this stage, the codebase is currently slower
      than VP8 stable branch as most new code has not been optimized, and
      even the 'C' has been deliberately written to be simple and obvious,
      not fast.
      
      The following graphs have the initial test results, numbers in the
      tables measure the compression improvement in terms of percentage. The
      build has  the following optional experiments configured:
      --enable-experimental --enable-enhanced_interp --enable-uvintra
      --enable-high_precision_mv --enable-sixteenth_subpel_uv
      
      CIF Size clips:
      http://getwebm.org/tmp/cif/
      HD size clips:
      http://getwebm.org/tmp/hd/
      (stable_20120309 represents encoding results of WebM master branch
      build as of commit#7a159071)
      
      They were encoded using the following encode parameters:
      --good --cpu-used=0 -t 0 --lag-in-frames=25 --min-q=0 --max-q=63
      --end-usage=0 --auto-alt-ref=1 -p 2 --pass=2 --kf-max-dist=9999
      --kf-min-dist=0 --drop-frame=0 --static-thresh=0 --bias-pct=50
      --minsection-pct=0 --maxsection-pct=800 --sharpness=0
      --arnr-maxframes=7 --arnr-strength=3(for HD,6 for CIF)
      --arnr-type=3
      
      Change-Id: I5c62ed09cfff5815a2bb34e7820d6a810c23183c
      6035da54