1. 21 Aug, 2013 1 commit
  2. 20 Aug, 2013 9 commits
    • Dmitry Kovalev's avatar
      vp9_filter.{h, c} cleanup + adding SUBPEL_TAPS constant. · d19ac4b6
      Dmitry Kovalev authored
      Change-Id: Ib394ea23f464591dad50b5c65c316701378d06d7
    • hkuang's avatar
      Add neon optimize vp9_short_idct10_8x8_add. · 37cda6dc
      hkuang authored
      vp9_short_idct10_8x8_add is used to handle the block that only have valid data
      at top left 4x4 block. All the other datas are 0. So we could cut several
      unnecessary calculations in order to save instructions.
      Change-Id: I34fda95e29082b789aded97c2df193991c2d9195
    • Deb Mukherjee's avatar
      Cleanup/enhancements of switchable filter search · 2ffe64ad
      Deb Mukherjee authored
      Cleans up the switchable filter search logic. Also adds a
      speed feature - a variance threshold - to disable filter search
      if source variance is lower than this value.
      Results: derfraw300
      threshold = 16, psnr -0.238%, 4-5% speedup (tested on football)
      threshold = 32, psnr -0.381%, 8-9% speedup (tested on football)
      threshold = 64, psnr -0.611%, 12-13% speedup (tested on football)
      threshold = 96, psnr -0.804%, 16-17% speedup (tested on football)
      Based on these results, the threshold is chosen as 16 for speed 1,
      32 for speed 2, 64 for speed 3 and 96 for speed 4.
      Change-Id: Ib630d39192773b1983d3d349b97973768e170c04
    • Jim Bankoski's avatar
      fix the mv_ref_idx issue · f167433d
      Jim Bankoski authored
      The following issue was reported :
      This code makes the choice and code cleaner and removes any question
      about whether the border needs to be checked.
      Change-Id: Ia7aecfb3168e340618805bd318499176c2989597
    • 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
    • Dmitry Kovalev's avatar
      Adding VP9_FILTER_BITS constant. · 2612b99c
      Dmitry Kovalev authored
      constants. Using ROUND_POWER_OF_TWO for rounding.
      Change-Id: I2e8d6858dcd600a87096138209731137d7decc24
    • Dmitry Kovalev's avatar
      Adding has_second_ref function. · d8286dd5
      Dmitry Kovalev authored
      Updating implementation of vp9_get_pred_context_single_ref_p1 using
      has_second_ref function to make code easier to read.
      Change-Id: Ie8f60403a7195117ceb2c6c43176ca9a9e70b909
    • 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
    • Yaowu Xu's avatar
      fix a bug when null function pointer is used. · f70330a9
      Yaowu Xu authored
      For certain partition size, the function poniter may not be intialized
      at all. The patch prevent the call if the pointer is not set.
      Change-Id: I78b8c3992b639e8799a16b3c74f0973d07b8b9ac
  3. 19 Aug, 2013 5 commits
    • Dmitry Kovalev's avatar
      Moving plane_block_idx from vp9_blockd.h to vp9_quantize.c. · 569ca37d
      Dmitry Kovalev authored
      Change-Id: Ib8af21f2e7f603c2fb407e5d15a3bba64b545b49
    • Jingning Han's avatar
      Enable early termination in uv rd loop · 3275ad70
      Jingning Han authored
      This commit enables early termination in the rate-distortion
      optimization search loop for chroma components. When the cumulative
      rd cost is above the current best value, skip the rest per-block
      transform/quantization/coeff_cost and continue to the next
      prediction mode.
      For bus_cif at 2000 kbps, the average run-time goes down from
      168546ms -> 164678ms, (2% speed-up) at speed 0
       36197ms ->  34465ms, (4% speed-up) at speed 1
      Change-Id: I9d3043864126e62bd0166250d66b3170d520b3c0
    • Dmitry Kovalev's avatar
      Passing plane_bsize to foreach_transformed_block_visitor. · 82d4d9a0
      Dmitry Kovalev authored
      Updating all foreach_transformed_block_visitor functions to work with
      plane block size instead of general block. Removing a lot of duplicated
      Change-Id: I6a9069e27528c611f5a648e1da0c5a5fd17f1bb4
    • Dmitry Kovalev's avatar
      Using plane_bsize instead of bsize. · 2e3478a5
      Dmitry Kovalev authored
      This change set is intermediate. The next one will remove all repetitive
      plane_bsize calculations, because it will be passed as argument to
      Change-Id: Ifc12e0b330e017c6851a28746b3a5460b9bf7f0b
    • Jingning Han's avatar
      Fix potential use of uninitialized value · b34ce043
      Jingning Han authored
      Initialize the best mode and tx_size values in the rate-distortion
      optimization search loop.
      Change-Id: Ibfb5c0895691f172abcd4265c23aef4cb99fa8af
  4. 17 Aug, 2013 1 commit
    • Jingning Han's avatar
      Fix the returned distortion value in rd_pick_intra · f67919ae
      Jingning Han authored
      Return the distortion value in vp9_rd_pick_intra_mode_sb as sum of
      dist_y and dist_uv. Remove the right shift operation on dist_uv,
      and make it consistent with that of vp9_rd_pick_inter_mode_sb.
      Change-Id: I9d564e242d9add38e32595d33b0e0dddb1d55e5b
  5. 16 Aug, 2013 6 commits
  6. 15 Aug, 2013 11 commits
    • Adrian Grange's avatar
      Added resizing & initialization of last frame segment map · d5bec522
      Adrian Grange authored
      When the frame size changes the last frame segment map must
      be resized to match and initialized to 0.
      Change-Id: Idc10de109f55dbe9af3a6caae355a2974712243d
    • Jingning Han's avatar
      Refactor rd loop for chroma components · 68369ca8
      Jingning Han authored
      This commit makes the rate-distortion optimization search of chroma
      components consistent across all block sizes. It removes redundant
      Change-Id: I7e76f54d045e8efdd41d84a164c71f55b484471b
    • Dmitry Kovalev's avatar
      Converting code from using ss_txfrm_size to tx_size. · bb3b817c
      Dmitry Kovalev authored
      Updated function signatures:
      Change-Id: I7213f4c4b1b9ec802f90621d5ba61d5e4dac5e0a
    • Dmitry Kovalev's avatar
      Using { 0 } for initialization instead of memset. · 6f4fa44c
      Dmitry Kovalev authored
      Change-Id: I4fad357465022d14bfc7e13b348c6da267587314
    • Dmitry Kovalev's avatar
      Renaming d27 predictor to d207. · 81d7bd50
      Dmitry Kovalev authored
      27 degrees intra predictor is actually 207 degrees, so renaming it.
      Change-Id: Ife96a910437eb80ccdc0b7a5b7a62c77542ae5be
    • Mans Rullgard's avatar
      vp9: neon: optimise vp9_wide_mbfilter_neon · 67e53716
      Mans Rullgard authored
      Break up long dependency chains to improve instruction scheduling.
      Change-Id: I0e0cb66943df24af920767bb4167b25c38af9630
    • 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
      Change-Id: Ib9ada0c06c253996eb3b5f6cccf6a323fbbba708
    • Jingning Han's avatar
      Remove unused RDCOST_8X8 macro · b0646f9e
      Jingning Han authored
      Change-Id: I17c7d7eaa60fe69c543403c340f7c1078bfd339f
    • 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
    • Jingning Han's avatar
      Unify luma and chroma rd-cost estimation · ec01f52f
      Jingning Han authored
      This commit unifies the rate-distortion cost calculation process of
      luma and chroma components. It allows early termination to be enabled
      later in the rd search loop of chroma components, in consistent with
      luma pixels.
      Change-Id: I2e52a7c6496176bf2a5e3ef338d34ceb8aad9b3d
    • James Zern's avatar
      vp9_dx_iface: check for NULL/0-size input · 20395189
      James Zern authored
      avoids a crash caused by issue #585
      Change-Id: I301595ee0227699b0da6f0dad6d870dd546e94ef
  7. 14 Aug, 2013 6 commits
  8. 13 Aug, 2013 1 commit