1. 10 Aug, 2013 - 2 commits
  2. 09 Aug, 2013 - 8 commits
  3. 08 Aug, 2013 - 4 commits
    • Deb Mukherjee's avatar
      Adds a new subpel motion function · 1ba91a84
      Deb Mukherjee authored
      Adds a new subpel motion estimation function that uses a 2-level
      tree-structured decision tree to eliminate redundant computations.
      It searches fewer points than iterative search (which can search
      the same point multiple times) but has the same quality roughly.
      
      This is made the default setting at speeds 0 and 1, while at
      speed 2 and above only a 1-level search is used.
      
      Also includes various cleanups for consistency and redundancy removal.
      
      Results:
      derf: +0.012% psnr
      stdhd: +0.09% psnr
      Speedup of about 2-3%
      
      Change-Id: Iedde4866f5475586dea0f0ba4cb7428fba24eee9
      1ba91a84
    • Adrian Grange's avatar
      Moved fast motion search level decision to function · 83ee80c0
      Adrian Grange authored
      Moving this block of code into a function makes the
      code easier to read and change.
      
      Change-Id: If4ede570cce1eab1982b188c4d3e4fd3d4db236e
      83ee80c0
    • Adrian Grange's avatar
      Simplify & fix potential bug in rd_pick_partition · aae6a4c8
      Adrian Grange authored
      Different partitionings were not being evaluated against
      best_rd and there were unnecessary calls to RDCOST. This
      could have resulted in a non-optimal partioning being
      selected.
      
      I simplified the variables used to track the rate,
      distortion and RD values throughout the function.
      
      Change-Id: Ifa7085ee80d824e86791432a5bc6d8fea5a3e313
      aae6a4c8
    • Dmitry Kovalev's avatar
      Removing plane_block_{width, height}_log2by4 functions. · 61c33d0a
      Dmitry Kovalev authored
      Change-Id: I040b82b8e32aee272d10cbb021c7ba1c76343d7a
      61c33d0a
  4. 07 Aug, 2013 - 3 commits
    • Jingning Han's avatar
      Use low precision 32x32fdct for encodemb in speed1 · debb9c68
      Jingning Han authored
      The low precision 32x32 fdct has all the intermediate steps within
      16-bit depth, hence allowing faster SSE2 implementation, at the
      expense of larger round-trip error. It was used in the rate-distortion
      optimization search loop only.
      
      Using the low precision version, in replace of the high precision one,
      affects the compression performance by about 0.7% (derf, stdhd) at
      speed 0. For speed 1, it makes derf set down by only 0.017%.
      
      Change-Id: I4e7d18fac5bea5317b91c8e7dabae143bc6b5c8b
      debb9c68
    • Dmitry Kovalev's avatar
      Adding ss_size_lookup table. · 8db2675b
      Dmitry Kovalev authored
      Removing the old one bsize_from_dim_lookup. Now we have a way to determine
      block size for plane using its subsampling values (ss_size_lookup). And
      then we can find the number of pixels in the block (num_pels_log2_lookup).
      
      Change-Id: I6fc981da2ae093de81741d3d78eaefed11015db9
      8db2675b
    • Deb Mukherjee's avatar
      Clean ups of the subpel search functions · 71b43b0f
      Deb Mukherjee authored
      Removes some unused code and speed features, and organizes the
      interfaces for fractional mv step functions for use in new speed
      features to come.
      
      In the process a new speed feature - number of iterations per
      step during the subpel search - is exposed.
      
      No change when this parameter is set as the original value of 3.
      
      Results:
      subpel_iters_per_step = 3: baseline
      subpel_iters_per_step = 2: psnr -0.067%, 1% speedup
      subpel_iters_per_step = 1: psnr -0.331%, 3-4% speedup
      
      Change-Id: I2eba8a21f6461be8caf56af04a5337257a5693a8
      71b43b0f
  5. 06 Aug, 2013 - 5 commits
    • Jim Bankoski's avatar
      variance x86inc guards · 5b307886
      Jim Bankoski authored
      also fixed bug in sad calcs
      
      Change-Id: I6571fcbe37556c16ae32be66dc0fd879852aac1d
      5b307886
    • Deb Mukherjee's avatar
      Flexible support for various pattern searches · 15b5a6a2
      Deb Mukherjee authored
      Adds a few pattern searches to achieve various tradeoffs
      between motion estimation complexity and performance.
      The search framework is unified across these searches so that a
      common pattern search function is used for all. Besides it will
      be easier to experiment with various patterns or combinations
      thereof at different scales in the future.
      
      The new pattern search is multi-scale and is capable of using
      different patterns at different scales.
      
      The new hex search uses 8 points at the smallest scale
      and 6 points at other scales.
      Two other pattern searches - big-diamond and square are
      also added. Big diamond uses 4 points at the smallest scale and
      8 points in diamond shape at the larger scales.
      Square is very similar conceptually to the default n-step search
      but is somewhat faster since it keeps only one survivor across
      all scales.
      
      Psnr/speed-up results on derf300:
      
      hex: -1.6% psnr%, 6-8% speed-up
      big-diamond: -0.96% psnr, 4-5% speedup
      square: -0.93% psnr, 4-5% speedup
      
      Change-Id: I02a7ef5193f762601e0994e2c99399a3535a43d2
      15b5a6a2
    • Jingning Han's avatar
      Place holder for high-precision 32x32 fdct · 28566a6c
      Jingning Han authored
      Resolve compile warnings on re-define FDCT32x32_2D template.
      
      Change-Id: Idb3a54ef8d2710ce7245b726379a0e5c875f5cad
      28566a6c
    • Dmitry Kovalev's avatar
      Inlining vp9_get_pred_probs_switchable_interp function. · 0c800656
      Dmitry Kovalev authored
      There was no benefit having this function. For example, inside
      read_switchable_filter_type switchable filter context was calculated twice.
      
      Change-Id: I79cd5bf95cbc0f6d8bf91a2e32289e01b18dcff1
      0c800656
    • Christian Duvivier's avatar
      Move fdct32x32 SSE2 implementation in separate file. · 3d98205f
      Christian Duvivier authored
      This is in preparation for the SSE2 version of the high-precision
      32x32 forward DCT which will share a lot of code with the existing
      low precision version used for rate-distortion search.
      
      Change-Id: I7084b6bdfb480b1fabb8493fb14e3f7fcc7888c0
      3d98205f
  6. 05 Aug, 2013 - 5 commits
    • Dmitry Kovalev's avatar
      Finally removing all old block size constants. · b9c7d04e
      Dmitry Kovalev authored
      Change-Id: I3aae21e88b876d53ecc955260479980ffe04ad8d
      b9c7d04e
    • Deb Mukherjee's avatar
      Add variance based mode/skipping · 8b3faccb
      Deb Mukherjee authored
      Adds a speed feature to skip all intra modes other than
      DC_PRED if the source variance is small. This feature is
      made part of speed 1 and up.
      
      Results on derf300: psnr -0.07%, speedup about 1-2%
      
      Also uses the source variance to fine-tune the early
      termination criteria when FLAG_EARLY_TERMINATE is on.
      This feature is made part of speed 2 and up.
      
      Results on derf300: psnr -0.52%, speedup about 5-7%
      
      Change-Id: I59e38aa836557cfa5405ae706fc64815cbfe4232
      8b3faccb
    • Dmitry Kovalev's avatar
      Changing the order switchable filter enum constants. · 3f611555
      Dmitry Kovalev authored
      This changeset allows to remove vp9_switchable_interp and
      vp9_switchable_interp_map arrays and make code much clear. Actually we
      still have to use these mapping but only inside read_interp_filter_type and
      write_interp_filter_type functions.
      
      Change-Id: I4026c6f8c4acefba6c81421b7bacbaa52cc45f50
      3f611555
    • Jim Bankoski's avatar
      cleanups after bw bh code · 5d2cb7ea
      Jim Bankoski authored
      Cons bw/bh parms that should have been const. Additional formatting.
      
      Change-Id: Icd36a5c9dc17dadd7284315ac0d6fef1a565ca16
      5d2cb7ea
    • Dmitry Kovalev's avatar
      Replacing long block size enum values with shorter ones (2). · d007446b
      Dmitry Kovalev authored
      Change-Id: I428c4d42212b757112e3acfe5b81314cfbb5fd6b
      d007446b
  7. 03 Aug, 2013 - 2 commits
  8. 02 Aug, 2013 - 6 commits
  9. 01 Aug, 2013 - 5 commits