1. 24 Sep, 2013 1 commit
    • Jingning Han's avatar
      Remove redundant mode update in sub8x8 decoding · e85eaf6a
      Jingning Han authored
      The probability model used to code prediction mode is conditioned
      on the immediate above and left 8x8 blocks' prediction modes. When
      the above/left block is coded in sub8x8 mode, we use the prediction
      mode of the bottom-right sub8x8 block as the reference to generate
      the context.
      This commit moves the update of mbmi.mode out of the sub8x8 decoding
      loop, hence removing redundant update steps and keeping the bottom-
      right block's mode for the decoding process of next blocks.
      Change-Id: I1e8d749684d201c1a1151697621efa5d569218b6
  2. 23 Sep, 2013 1 commit
    • Deb Mukherjee's avatar
      Improves constant qual, constrained qual turned on · d11221f4
      Deb Mukherjee authored
      Adds modeled functions to decide the qp for altref frames in constant q
      mode similar to other functions in use in bitrate mode.
      Also turns on the constrained quality mode (end-usage=2) option which
      was turned off before. Basic testing shows the mode works in principle,
      to cap bitrate to the target-bitrate specified, while allowing lower
      bitrate depending on the cq-level specified. The mode will need to be
      improved over time.
      Results for constant quality vs bitrate control mode:
      derfraw300/fullderfraw: +3.0% at constant quality over bitrate control.
      fullstdhdraw: +4.341%
      stdhdraw250: +5.361%
      Change-Id: If5027c9ec66c8e88d33e47062c6cb84a07b1cda9
  3. 20 Sep, 2013 2 commits
  4. 19 Sep, 2013 4 commits
    • Jingning Han's avatar
      Remove redundant mv_pred use for sub8x8 blocks · 44b708b4
      Jingning Han authored
      The sub8x8 blocks has its own motion vector reference scheme. The
      mv_pred is only used blocks of sizes 8x8 and above, to find the
      starting point for motion search.
      This change does not change any coding behavior. It makes the
      encoding process slightly faster. (0.5% speed-up for local test on
      speed 1.)
      Change-Id: I746ee6ef0eac19aa3621be014afa12be8d82cbb9
    • Yaowu Xu's avatar
      change to avoid invalid memory read. · 79af5913
      Yaowu Xu authored
      The fake token EOSB may cause invaild memory read in pack token, this
      commit reworked the loop to avoid such invalid read.
      Change-Id: I37fdfce869b44a7f90003f82a02f84c45472a457
    • Yaowu Xu's avatar
      fix integer overflow errors · 014acfa2
      Yaowu Xu authored
      Change-Id: I76f440a917832c02d7a727697b225bac66b99f56
    • Dmitry Kovalev's avatar
      Adding get_scan_and_band function. · a23c2a9e
      Dmitry Kovalev authored
      Extracting get_scan_and_band function from get_entropy_context to
      remove duplicated code.
      Change-Id: I5da1f5a60263017e887da68bc834317b5f084cb2
  5. 18 Sep, 2013 4 commits
    • Yunqing Wang's avatar
      Fix x86inc.asm to build PIC code correctly · 9d901217
      Yunqing Wang authored
      Current x86inc.asm didn't handle 32bit PIC build properly.
      TEXTRELs were seen in the library built. The PIC macros from
      libvpx's x86_abi_support.asm was used to fix this problem.
      The assembly code was modified to use the macros.
      Notes: We need this fix in for decoder building. Functions in
      encoder will be fixed later.
      Change-Id: Ifa548d37b1d0bc7d0528db75009cc18cd5eb1838
    • Dmitry Kovalev's avatar
      Removing redundant coef calculation + cleanup. · 98cf0145
      Dmitry Kovalev authored
      Adding temp variable for &x->plane[0], inlining src_diff values.
      Change-Id: I24c08a5425a6da6fd66f5b0278f2fce74f9989b2
    • Dmitry Kovalev's avatar
      Removing redundant code from vp9_mcomp.c. · 72fd127f
      Dmitry Kovalev authored
      Replacing ((1 << MV_MAX_BITS) - 1) with MV_MAX, adding const
      qualifiers, reusing computed values.
      Change-Id: I7b46d47f6c644b079d9c3478116a9de465a9baec
    • Dmitry Kovalev's avatar
      Fixing typo in the encoder. · 245ca04b
      Dmitry Kovalev authored
      Change-Id: I168efdc366eecf638694f357ccad2f4eba7e2fdb
  6. 17 Sep, 2013 3 commits
  7. 16 Sep, 2013 4 commits
    • hkuang's avatar
      Speed up iht8x8 by rearranging instructions. · 23e1a29f
      hkuang authored
      Speed improves from 282% to 302% faster based on assembly-perf.
      Change-Id: I08c5c1a542d43361611198f750b725e4303d19e2
    • Yaowu Xu's avatar
      fix a problem where an invalid mv used in search · eeae6f94
      Yaowu Xu authored
      The commit added reset of pred_mv at the beginning of each SB64x64
      partition mv search, also limited the usage of pred_mv only when
      search on the largest partition is already done. This is to fix
      a crash at speed 1/2 encoder where an invalid mv is used in mv
      Change-Id: I39010177da76d054e3c90b7899a44feb2e3a5b1b
    • Paul Wilkins's avatar
      Minor clean up. · cb50dc7f
      Paul Wilkins authored
      Removed some unused code and minor cleanup
      / reordering.
      Change-Id: I4083ae56aeb8edfe9b85aa2f42a16aa28d19da94
    • Paul Wilkins's avatar
      Adjustment to mode_skip_start. · 3b017784
      Paul Wilkins authored
      Corrected values relating to modified mode order.
      Change-Id: I24fccba3af4bc16721d5e7e51888a66305bfa7fe
  8. 13 Sep, 2013 3 commits
    • James Zern's avatar
      Revert "Improved 8t filters" · 2d587619
      James Zern authored
      This is incompatible with most toolchains other than gcc.
      Revert "Deleted #include <inttypes.h>"
      This reverts commit 4d018be9.
      This reverts commit d22a504d.
      Change-Id: I1751dc6831f4395ee064e6748281418e967e1dcf
    • Jingning Han's avatar
      Adaptive motion search control · c4826c59
      Jingning Han authored
      This commit enables adaptive constraint on motion search range for
      smaller partitions, given the motion vectors of collocated larger
      partition as a candidate initial search point.
      It makes speed 0 runtime of bus at CIF and 2000 kbps goes from
      167s down to 162s (3% speed-up), at 0.01dB performance gains. In
      the settings of speed 1, this makes the runtime goes from 33687 ms
      to 32142 ms (4.5% speed-up), at 0.03dB performance gains.
      Compression performance wise, it gains at speed 1:
      derf  0.118%
      yt    0.237%
      hd    0.203%
      stdhd 0.438%
      Change-Id: Ic8b34c67810d9504a9579bef2825d3fa54b69454
    • Paul Wilkins's avatar
      Fix VP9_mode_order[] · 1407cf85
      Paul Wilkins authored
      Mis-merge of the following change managed to break mode order
      and delete two mode options (new alt ref and near alt ref)
      It also created a situation where we could test two undefined
      modes off the end of the VP9_mode_order[] data structure.
        "clang warnings : remove split and i4x4_pred fake modes"
        "Change Id: I8ef3c*"
      Initial testing on Akiyo at speed 2.
      101.35	 44.567	 44.447 improves to
      96.82	 44.915	 44.815
      Approx 0.3-0.4db gain and 2.5% size reduction
      Change-Id: Icff813e7c0778d140ad4f0eea18cf1ed203c4e34
  9. 12 Sep, 2013 4 commits
  10. 11 Sep, 2013 7 commits
    • Jim Bankoski's avatar
      clang warnings : remove split and i4x4_pred fake modes · 7fb42d90
      Jim Bankoski authored
      Change-Id: I8ef3c7c0f08f0f1f4ccb8ea4deca4cd8143526ee
    • Christian Duvivier's avatar
      First draft of vp9_short_idct32x32_add_neon. · 6a501462
      Christian Duvivier authored
      Lots of TODO which will be taken care in upcoming changes. As is,
      about 6x faster than C version.
      Change-Id: Ie2557b72fd2d8edca376dbf400a4d173aa5e63e0
    • Deb Mukherjee's avatar
      Clean up of the search best filter speed feature · b9646467
      Deb Mukherjee authored
      Removes this speed feature since it is very slow and unlikely
      to be used in practice. This cleanup removes a bunch of unnecessary
      complications in the outer encode loop.
      Change-Id: I3c66ef1ca924fbfad7dadff297c9e7f652d308a1
    • Scott LaVarnway's avatar
      Improved 8t filters · d22a504d
      Scott LaVarnway authored
      Reformatted version of a patch submitted by Erik/Tamar
      from Intel.  For the test clips used, the decoder
      performance improved by ~2%.
      Change-Id: Ifbc37ac6311bca9ff1cfefe3f2e9b7f13a4a511b
    • Deb Mukherjee's avatar
      Changes in speed 2 settings · 69fe840e
      Deb Mukherjee authored
      Propose some changes to the speed 2 settings to improve quality.
      In particular, turns off the adjust_thresholds_by_speed feature
      which improves results by 6%. Also removes the code for
      adjust_thresholds_by_speed since it conflicts with the adaptive
      rd thresh feature.
      Overall, with this change speed 2 is -15.2% from speed 0 settings,
      on derf, which is significantly better than -21.6% down before.
      Change-Id: I6e90a563470979eb0c258ec32d6183ed7ce9a505
    • Scott LaVarnway's avatar
      New mode_info_context storage -- undo revert · ac6093d1
      Scott LaVarnway authored
      mode_info_context was stored as a grid of MODE_INFO structs.
      The grid now constists of pointers to MODE_INFO structs.  The
      MODE_INFO structs are now stored as a stream (decoder only),
      eliminating unnecessary copies and is a little more cache
      Change-Id: I031d376284c6eb98a38ad5595b797f048a6cfc0d
    • Yunqing Wang's avatar
      code cleanup · 079183c1
      Yunqing Wang authored
      Removed unused function.
      Change-Id: Icb12a09e4d303968be6aec9fae1ef05935913a4f
  11. 10 Sep, 2013 7 commits
    • Jingning Han's avatar
      Remove redundant condition check in 32x32 quant · 5d93feb6
      Jingning Han authored
      The c code implementation of 32x32 quantization does the zbin check
      of all coefficients prior to the quant/dequant loop, hence removing
      the redundant zbin check inside the loop. This only affects the
      c code version. SSSE3 version does not separate the zbin check out.
      Change-Id: Ic197a7d61d0b25fcac3cc092987651378cb56e4e
    • Deb Mukherjee's avatar
      Small tweaks on the constant quality mode · 09830aa0
      Deb Mukherjee authored
      Improves results a little.
      derf is now +1.078% over bitrate control.
      Change-Id: I4812136f3e67be21d14ec089419976a32a841785
    • Yunqing Wang's avatar
      Stop partition checking when distortion is small · 0607abc3
      Yunqing Wang authored
      If the current obtained distortion is very small, which happens
      for static image case, we pick the current partition type without
      further split checking.
      This won't affect regular videos. For static videos, we got 10%~12%
      encoding speed gain. PSNR was better for some clips, and worse for
      others. Overall it was even.
      Change-Id: If787a57bedf46fc595ca4f5ded2b0c0a69e9fdef
    • Yunqing Wang's avatar
      Modify encode breakout for static frames · 939791a1
      Yunqing Wang authored
      Thank Paul for the suggestions. While turning on static-thresh
      for static-image videos, a big jump on bitrate was seen. In this
      patch, we detected static frames in the video using first-pass
      stats. For different cases, disable encode breakout or reduce
      encode breakout threshold to limit the skipping.
      More modification need be done to break incorrect partition
      picking pattern for static frames while skipping happens.
      Change-Id: Ia25f47041af0f04e229c70a0185e12b0ffa6047f
    • Paul Wilkins's avatar
      Modified mode skip functionality. · 4f660cc0
      Paul Wilkins authored
      A previous speed feature skipped modes not used in earlier
      partitions but this not longer worked as intended following
      changes to the partition coding order and in conjunction
      with some other speed features (Especially speed 2 and above).
      This modified mode skip feature sets a mask after the first X
      modes have been tested in each partition depending on the
      reference frame of the current best case.
      This patch also makes some changes to the order modes are
      tested to fit better with this skip functionality.
      Initial testing suggests speed and rd hit count improvements
      of up to 20% at speed 1. Quality results. (derf -1.9%, std hd  +0.23%).
      Change-Id: Idd8efa656cbc0c28f06d09690984c1f18b1115e1
    • Paul Wilkins's avatar
      Added extra check to rd_auto_partition_range() · 901c4954
      Paul Wilkins authored
      Added check that the returned max and minimum are
      valid in bottom and right border cases.
      Change-Id: I2d6cdc9b5f04c7d0ff512ddcf3228331e028bf9b
    • hkuang's avatar
      Speed up idct16x16 by rearrange instructions. · fc5ec206
      hkuang authored
      Speed improve from 376% to 400% faster base on assembly-perf.
      Change-Id: If0b2eccc39d5793dc101ce9feb7fcadf88396ea2