1. 12 Mar, 2015 1 commit
  2. 11 Mar, 2015 8 commits
    • Jingning Han's avatar
      Prevent integer overflow in choose_partitioning · 238b6be2
      Jingning Han authored
      Re-arrange the multiplication and right shift operations to avoid
      integer overflow in choose_partitioning.
      Change-Id: Ib4005cafb410a67c1960486471d75b6ebe38c4e0
    • Marco's avatar
      Fix visual studio build failure. · a291b0b4
      Marco authored
      Change-Id: Ifeb14f945d0f0300eb7b21b38e5720ac1c11a6cf
    • Jingning Han's avatar
      Remove unnecessary speed feature checking · 313c28f8
      Jingning Han authored
      This commit removes the pred_mv_sad comparison from rtc motion
      search, given that a stronger comparison has been done at the
      mode search level to eliminate unlikely selected reference frames.
      Change-Id: I49b8d24b2174303066fd8eff2102c0648f2869df
    • Jingning Han's avatar
      Apply fast motion search to golden reference frame · 54eda13f
      Jingning Han authored
      This commit enables the rtc coding mode to run integral projection
      based motion search for golden reference frame. It improves the
      speed -6 compression performance by 1.1% on average, 3.46% for
      jimred_vga, 6.46% for tacomascmvvga, and 0.5% for vidyo clips. The
      speed -6 is about 6% slower.
      Change-Id: I0fe402ad2edf0149d0349ad304ab9b2abdf0c804
    • Jingning Han's avatar
      Refactor to remove GLOBAL_MOTION · 1ca4d51b
      Jingning Han authored
      Make the vp9_int_pro_motion_estimation() function return zero
      motion vector if high bit depth is turned on, instead of removing
      it from compiled codes.
      Change-Id: Ia48f010eb590b2d517d5678c394110b326a1a95e
    • Adrian Grange's avatar
      Clamp rate correction factor after scaling it · 42a89eb8
      Adrian Grange authored
      Added clamp on the rate correction factor after
      it has been scaled.
      Change-Id: I5d4b46a101987b43c5bcfd7e0bd1b7b4d53640a4
    • Yaowu Xu's avatar
      Separate rd_thresh adaption by ref_frame · d549aa3b
      Yaowu Xu authored
      Only update the rd_thresh factors for modes sharing same reference
      frame. This helps overall compression of 6 and 7 by .13% and .19%
      respectively without any noticeable speed difference.
      Change-Id: Idb3a3879512c5d7d0880034516079949290690c5
    • Deb Mukherjee's avatar
      Some rate control adjustments to control overshoot · 0308e2ee
      Deb Mukherjee authored
      Some rate control adjustments to control overshoot
      in the constrained quality mode.
      Change-Id: I8907b9a883642d779009d0a138adfa6ba67e7f41
  3. 10 Mar, 2015 3 commits
    • Marco's avatar
      Modify update golden reference update under aq-mode=3 mode. · fb31aa09
      Marco authored
      For non-SVC 1 pass CBR: make the GF update interval a multiple of the
      cyclic refresh period, and use encoding stats to prevent GF update at certain times.
      Change-Id: I4c44cacc2f70f1d27391a47644837e1eaa065017
    • Adrian Grange's avatar
      Fix vp9_compute_qdelta_by_rate loop behavior · 78df7122
      Adrian Grange authored
      The return value from vp9_compute_qdelta_by_rate, which is
      a delta value for the quantizer, could never be 0 if
      (qindex == rc->worst_quality).
      This occurs because target_index was setup unconditionally
      in the loop and yet the loop counter stopped at
      (rc->worst_quality - 1).
      Change-Id: I6b59cd9b5811ff33357e71cd7d814c5e53d291f2
    • Yaowu Xu's avatar
      Enable using Golden reference in choose_partition() · 059a473b
      Yaowu Xu authored
      Choose_partition uses only the last frame as reference frame in making
      partition decision, this commit adds the check on how well Golden
      frame with (0,0) predicts the current block, and uses GF(0,0) as
      basis for partition decision if it produces better prediction.
      The commit improves rtc speed 6 and 7 encoding by 0.14% and 0.19%
      Change-Id: I156acf925bd6e0b586d48155d1940d27270a3915
  4. 09 Mar, 2015 3 commits
    • Jingning Han's avatar
      Skip golden ref frame check when it is same as last ref frame · 6245a91e
      Jingning Han authored
      When golden reference frame is refreshed, the next frame has both
      its last and golden reference frames point to the same reference
      frame in real-time coding mode. Experiments suggest that using
      two separate reference frames for frames right after golden refresh
      frame does not provide further compression performance advantage.
      This commit hence retains the current encoder implementation and
      shuts off the mode search over golden reference frame in this case.
      It makes the encoder run slightly faster at no coding performance
      Change-Id: I1561f7799253a10e675d05c63c1749fe9e85b472
    • Alex Converse's avatar
      Don't waste time partitioning skip superblocks. · 06b59299
      Alex Converse authored
      Force 64x64 partitioning when a whole superblock is SEGMENT_LVL_SKIP. This
      drops encode times of screens mostly at rest by 20%.
      Change-Id: Ieba554b0b8a0c1679aae784a8bd11f038ab942c3
    • paulwilkins's avatar
      Allow q adjustment for VPX_CQ and VPX_CBR. · 2cff9c4e
      paulwilkins authored
      Adjustment previously only enabled in VBR mode.
      This patch allows adjustment of min and max q for CBR
      and adjustment of max q only for CQ mode.
      Change-Id: Id5e583f3d50453cd544fc57249acacd946457482
  5. 07 Mar, 2015 1 commit
  6. 06 Mar, 2015 1 commit
    • Yunqing Wang's avatar
      Modify the setting of transform skip flags in non-rd mode · 268f260d
      Yunqing Wang authored
      While searching for the best mode in non-rd case, SSE of
      a partition block is calculated and the transform size is set.
      This patch rewrites the skip checking conditions based on
      transform size instead of partition size to be more precise.
      Small gains were seen in rtc set borg test (speed 6).
      AVG PSNR: 0.087%, overall PSNR: 0.073%, SSIM: 0.146%.
      No noticeable speed change.
      Change-Id: I5603ca5339c784dfa02263f4005988ccd8c32f6e
  7. 05 Mar, 2015 6 commits
  8. 04 Mar, 2015 5 commits
    • Adrian Grange's avatar
      Small rationalization of code in vp9_first_pass · fed9e1fe
      Adrian Grange authored
      Change-Id: I87cc0e038171c60a957298827e312fead500f7fb
    • Jingning Han's avatar
      Move integral projection motion search to vp9_mcomp.c · 2deecdd5
      Jingning Han authored
      Make it a general purpose fast motion estimation function, to be
      used in the mode search process.
      Change-Id: Ib354cb0e664dc61c30c0b2314297835ee75b157a
    • Jingning Han's avatar
      Use SAD value to set chroma cost flag · 7d8061a4
      Jingning Han authored
      This saves an extra 64x64 variance calculation and replaces two
      32x32 variance functions with sad functions. The compression
      performance change is unnoticeable.
      Change-Id: I6d33868695664ec73b56c42945162ae61c484856
    • Adrian Grange's avatar
      Make encoder buffer allocation dynamic · 3807dd82
      Adrian Grange authored
      Frame buffers are now allocated dynamically on-demand.
      Entries in the reference frame map, cm->ref_frame_map,
      may now be set to -1 (INVALID_IDX) to indicate that
      there is not a valid reference buffer in that "slot".
      All slots in the reference frame map are now initialized
      to the empty state (-1) and each buffer is initialized
      to have a reference count of 0.
      Change-Id: Id1afe98de98db4ae8b2dfefed7889c3b28c68582
    • Jingning Han's avatar
      Properly handle the boundary blocks for integral projection search · e5fe1658
      Jingning Han authored
      Use rectangular block size for integral projection motion estimation
      if the the 64x64 block has over half block outside the frame. This
      avoids the issue that the motion information of these blocks is
      dominated by the extended pixels, instead of the pixels of interest.
      Change-Id: I22f4d2bb7f6a20db9b3f5e2e5463a7f4b9d1b737
  9. 03 Mar, 2015 4 commits
  10. 01 Mar, 2015 1 commit
    • Jingning Han's avatar
      Use variance metric for integral projection vector match · 1790d452
      Jingning Han authored
      This commit replaces the SAD with variance as metric for the
      integral projection vector match. It improves the search accuracy
      in the presence of slight light change. The average speed -6
      compression performance for rtc set is improved by 1.7%. No speed
      changes are observed for the test clips.
      Change-Id: I71c1d27e42de2aa429fb3564e6549bba1c7d6d4d
  11. 27 Feb, 2015 2 commits
    • Jingning Han's avatar
      Fix source frame border extension · fe85fabb
      Jingning Han authored
      This commit fixes an issue in source frame border extension. It
      causes certain frame resolution such as 640x480 to have a portion
      of the right/bottom extension filled by zeros, which misleads
      motion search and degrades transform coding performance when large
      block size is used.
      This fix improves the speed 2 compression performance of a few
      yt sequence, typically ranging from 1% - 2%, up to 5% at median
      to low bit-rate.
      Change-Id: Id6b09a5695d9e7651c6dfbc2c6a72288b08af7fb
    • Adrian Grange's avatar
      Fix calc_highbd_psnr · 54293ee3
      Adrian Grange authored
      Should use the crop dimensions of the frame rather
      than the extended size.
      Change-Id: I49ed041a46ff0753d43e074020857b7ff2f95e17
  12. 26 Feb, 2015 4 commits
  13. 25 Feb, 2015 1 commit