1. 24 Aug, 2013 1 commit
  2. 23 Aug, 2013 2 commits
    • Yaowu Xu's avatar
      Limit mv range to be based on partition size · 13930cf5
      Yaowu Xu authored
      Previous change c4048dbd limits the mv search range assuming max block
      size of 64x64, this commit change the search range using actual block
      size instead.
      
      Change-Id: Ibe07ab02b62bf64bd9f8675d2b997af20a2c7e11
      13930cf5
    • Jingning Han's avatar
      Fix rectangular partition check flag · 84f3b76e
      Jingning Han authored
      Put rectangular partition check flag change according to the rd
      costs of NONE and SPLIT partition types under the speed feature.
      
      Change-Id: If681e1e078a8d43d86961ea4b748da5cd1b6c331
      84f3b76e
  3. 22 Aug, 2013 5 commits
    • Dmitry Kovalev's avatar
      vp9_encodeframe.c cleanup. · 604022d4
      Dmitry Kovalev authored
      Removing unused get_sbuv_perpixel_variance function, using has_second_ref/
      is_inter_block functions, organizing includes.
      
      Change-Id: I016de4af12fbbb8b4ece26a70759b2392651b095
      604022d4
    • James Zern's avatar
      rename LOG2_* defines to *_LOG2 · 40ae02c2
      James Zern authored
      gets rid of a mix of styles
      
      Change-Id: I3591d312157bc6f53a25438bf047765c671fd8a8
      40ae02c2
    • Jingning Han's avatar
      Refactor rd_pick_partition for parameter control · 01a37177
      Jingning Han authored
      This commit changes the partition search order of superblocks from
      {SPLIT, NONE, HORZ, VERT} to {NONE, SPLIT, HORZ, VERT} for
      consistency with that of sub8x8 partition search. It enable the use
      of early termination in partition search for all block sizes.
      
      For ped_area_1080p 50 frames coded at 4000 kbps, it makes the runtime
      goes down from 844305ms -> 818003ms (3% speed-up) at speed 0.
      
      This will further move towards making the in-search partition types
      configurable, hence unifying various speed-up approaches.
      
      Some speed 1 and 2 features are turned off during the refactoring
      process, including:
      disable_split_var_thresh
      using_small_partition_info
      
      Stricter constraints are applied to use_square_partition_only for
      right/bottom boundary blocks. Will bring back/refine these features
      subsequently. At this point, it makes derf set at speed 1 about
      0.45% higher in compression performance, and 9% down in run-time.
      
      Change-Id: I3db9f9d1d1a0d6cbe2e50e49bd9eda1cf705f37c
      01a37177
    • Deb Mukherjee's avatar
      Fixes on feature disabling split based on variance · 8b810c7a
      Deb Mukherjee authored
      Adds a couple of minor fixes, which may be absorbed in Jingning's
      patch. Thanks to Guillaume for pointing these out.
      Also adjusts the thresholds for speed 1 and 2 to 16 and 32
      respectively, to keep quality drops small.
      
      Results:
      --------
      derfraw300:  threshold = 16, psnr -0.082%, speedup 2-3%
                   threshold = 32, psnr -0.218%, speedup 5-6%
      stdhdraw250: threshold = 16, psnr -0.031%, speedup 2-3%
                   threshold = 32, psnr -0.273%, speedup 5-6%
      
      Change-Id: I4b11ae8296cca6c2a9f644be7e40de7c423b8330
      8b810c7a
    • Scott LaVarnway's avatar
      Initialize mb_skip_coeff before picking modes · 94bfbaa8
      Scott LaVarnway authored
      It appears that the above/left mb_skip_coeff used during
      the pick modes, is left over from the previously
      encode frame.  This patch initializes the flag to the default
      value of zero.
      
      
      Change-Id: Ida4684cc99611d6e3e82628db35ed717e28ce550
      94bfbaa8
  4. 21 Aug, 2013 2 commits
  5. 20 Aug, 2013 2 commits
    • Paul Wilkins's avatar
      Changes to auto partition size selection. · e8923fe4
      Paul Wilkins authored
      Changes to code to auto select a partition size range
      based on data from spatial neighbors.
      
      Now looks at the sb_type in each 8x8 block of above
      and left SB64.
      
      The effect on speed 1 is now weaker giving better
      quality but less speed gain. Now also used in speed 2.
      
      Change-Id: Iace33a97d5c3498dd2a9a8a4067351941abcbabc
      e8923fe4
    • Yaowu Xu's avatar
      Change to limit the mv search range · c4048dbd
      Yaowu Xu authored
      As the pixel values beyond image border are duplicates of pixels
      on edge, the change limits the mv search range, any mv beyond
      the limits no longer produce new/different prediction values
      as entire block with pixels used for subpel interpolation are
      outside image border.
      
      Change-Id: I4c6fdf06e33c1cef1489f5470ce0fb4e5e01fb79
      c4048dbd
  6. 16 Aug, 2013 1 commit
  7. 15 Aug, 2013 2 commits
    • Dmitry Kovalev's avatar
      Moving segmentation struct from MACROBLOCKD to VP9_COMMON. · b7616e38
      Dmitry Kovalev authored
      VP9_COMMON is the right place to segmentatation struct because it has
      global segmentation parameters, not something specific to macroblock
      processing.
      
      Change-Id: Ib9ada0c06c253996eb3b5f6cccf6a323fbbba708
      b7616e38
    • Deb Mukherjee's avatar
      Speed feature to skip split partition based on var · 24856b6a
      Deb Mukherjee authored
      Adds a speed feature to disable split partition search based on a
      given threshold on the source variance. A tighter threshold derived
      from the threshold provided is used to also disable horizontal and
      vertical partitions.
      
      Results on derfraw300:
      threshold = 16, psnr = -0.057%, speedup ~1% (football)
      threshold = 32, psnr = -0.150%, speedup ~4-5% (football)
      threshold = 64, psnr = -0.570%, speedup ~10-12% (football)
      
      Results on stdhdraw250:
      threshold = 32, psnr = -0.18%, speedup is somewhat more than derf
      because of a larger number of smoother blocks at higher resolution.
      
      Based on these results, a threshold of 32 is chosen for speed 1,
      and a threshold of 64 is chosen for speeds 2 and above.
      
      Change-Id: If08912fb6c67fd4242d12a0d094783a99f52f6c6
      24856b6a
  8. 14 Aug, 2013 1 commit
    • Paul Wilkins's avatar
      Renaming in MB_MODE_INFO · 26fead7e
      Paul Wilkins authored
      The macro block mode info context originally contained an
      entry for each 16x16 macroblock. In VP9 each entry refers
      to an 8x8 region not a macro block, so the naming is misleading.
      
      This first stage clean up changes the names of 3 entries in the
      structure to remove the mb_ prefix.
      
      TODO clean up the nomenclature more widely in respect of
      mbmi and bmi.
      
      Change-Id: Ia7305c6d0cb805dfe8cdc98dad21338f502e49c6
      26fead7e
  9. 13 Aug, 2013 1 commit
  10. 12 Aug, 2013 1 commit
  11. 10 Aug, 2013 2 commits
  12. 09 Aug, 2013 2 commits
  13. 08 Aug, 2013 2 commits
    • 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
  14. 07 Aug, 2013 1 commit
    • 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
  15. 06 Aug, 2013 1 commit
  16. 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
  17. 03 Aug, 2013 1 commit
  18. 02 Aug, 2013 2 commits
  19. 01 Aug, 2013 6 commits