1. 29 Sep, 2014 1 commit
  2. 26 Sep, 2014 2 commits
    • Deb Mukherjee's avatar
      Fix a bug introduced in a previous patch on highbd · d4713f1d
      Deb Mukherjee authored
      Change-Id: Ice692334f75157446a44a6e81503cada977934f4
      d4713f1d
    • Jingning Han's avatar
      Skip certain ALTREF inter modes in ARF coding · ccdb518f
      Jingning Han authored
      This commit enables the encoder to skip checking ALTREF inter modes
      in ARF coding, if the predicted motion vectors suggest that the
      GOLDEN_FRAME provides higher prediction accuracy than ALTREF_FRAME.
      
      It improves the speed 3 encoding speed by about 5%, at the expense
      of compression performance loss -0.041% and -0.225% for derf and
      stdhd, respectively.
      
      pedestrian_area 1080p 2000 kbps
      66705 b/f, 40.909 dB, 118738 ms ->
      66732 b/f, 40.908 dB, 113688 ms
      
      old_town_cross 720p 1500 kbps
      14427 b/f, 36.256 dB, 62746 ms ->
      14412 b/f, 36.252 dB, 60690 ms
      
      blue_sky 1080p 1500 kbps
      51026 b/f, 35.897 dB, 73310 ms ->
      50921 b/f, 35.893 dB, 70406 ms
      
      bus CIF 1000 kbps
      21301 b/f, 34.841 dB, 7326 ms ->
      21248 b/f, 34.837 dB, 7196 ms
      
      Change-Id: I76cf88b4d655e1ee3c0cb03c8a5745493040e8d2
      ccdb518f
  3. 25 Sep, 2014 4 commits
  4. 24 Sep, 2014 5 commits
  5. 23 Sep, 2014 4 commits
    • Deb Mukherjee's avatar
      High bit-depth loop/arf/postproc filter functions · 931ed516
      Deb Mukherjee authored
      Adds high-bitdepth loopfilter, temporal filter and postproc functions
      
      Change-Id: I81c8a9176890784686bc4f2af0d550d243b3b2d3
      931ed516
    • Yaowu Xu's avatar
      Adapt mode based rd_threshold for similar block size · 4a101310
      Yaowu Xu authored
      The rd_thresholds are adaptively changed based on best mode tested.
      It was only changed for the same block size, this commit makes the
      adaptation for similar block sizes too. The commit also made minor
      adjustment and code cleanups.
      
      The impact on encoding time for _ped:
      118089 ms -> 111927 ms
      
      The impact on compression:
      derf:  -0.339%
      stdhd: -0.303%
      
      Change-Id: I8817fed1102350497f2ec631849e43f753878e5d
      4a101310
    • Yaowu Xu's avatar
      Fix an IOC · 56032b47
      Yaowu Xu authored
      Change-Id: I0ca6746696d81657c035b0f6523c9af370da3c95
      56032b47
    • Deb Mukherjee's avatar
      Pruned subpel search for speed 3. · c94b17f4
      Deb Mukherjee authored
      Adds code to return an integer cost list for NSTEP search. Then
      uses it for pruned subpel search in speed 3.
      
      derf: -0.06%
      Speed on mobcal 720p increaes from 10.28 fps to 10.65 fps.
      [Subject to further testing].
      
      Change-Id: Ib591382d25b2c11bcaba9d3a27a93a9d1ab27a96
      c94b17f4
  6. 22 Sep, 2014 4 commits
    • Yaowu Xu's avatar
      Remove code duplication · c7ab18fe
      Yaowu Xu authored
      Change-Id: I453b3e0d946951665d5919248445fc4f3222d2ad
      c7ab18fe
    • Yaowu Xu's avatar
      Simplify rd_pick_intra_sby_mode() · f46326c7
      Yaowu Xu authored
      Change-Id: Ifb0915c94c2db48827ddbd446314cb6e3155b99c
      f46326c7
    • Jingning Han's avatar
      Remove unnecessary local variable declaration · f7023ea0
      Jingning Han authored
      This commit removes a repetitive local variable declaration in
      vp9_rd_pick_inter_mode_sb.
      
      Change-Id: I1b0afa98ff1ecbfb46e17d3d1cee95d32c4309db
      f7023ea0
    • Jingning Han's avatar
      Adaptive mode search scheduling · eee904c9
      Jingning Han authored
      This commit enables an adaptive mode search order scheduling scheme
      in the rate-distortion optimization. It changes the compression
      performance by -0.433% and -0.420% for derf and stdhd respectively.
      It provides speed improvement for speed 3:
      
      bus CIF 1000 kbps
      24590 b/f, 35.513 dB, 7864 ms ->
      24696 b/f, 35.491 dB, 7408 ms (6% speed-up)
      
      stockholm 720p 1000 kbps
      8983 b/f, 35.078 dB, 65698 ms ->
      8962 b/f, 35.054 dB, 60298 ms (8%)
      
      old_town_cross 720p 1000 kbps
      11804 b/f, 35.666 dB, 62492 ms ->
      11778 b/f, 35.609 dB, 56040 ms (10%)
      
      blue_sky 1080p 1500 kbps
      57173 b/f, 36.179 dB, 77879 ms ->
      57199 b/f, 36.131 dB, 69821 ms (10%)
      
      pedestrian_area 1080p 2000 kbps
      74241 b/f, 41.105 dB, 144031 ms ->
      74271 b/f, 41.091 dB, 133614 ms (8%)
      
      Change-Id: Iaad28cbc99399030fc5f9951eb5aa7fa633f320e
      eee904c9
  7. 20 Sep, 2014 1 commit
    • hkuang's avatar
      Remove mi_grid_* structures. · c70cea97
      hkuang authored
      mi_grid_* are arrays of pointer to pointer. They save the pointers that point
      to the MIs in cm->mi. But they are unnecessary and complicated. The original
      goal was to remove MODE_INFO_t copy. But with an extra MODE_INFO_t pointer
      inside MODE_INFO_t, same goal could be achieved.
      
      This commit totally removes the mi_grid_* structures. But there are still
      many dummy MODE_INFO_t inside cm->mi which are a waste of memory. Next commit
      will do on-demand MODE_INFO_t allocation in order to save these memories.
      
      Change-Id: I3a05cf1610679fed26e0b2eadd315a9ae91afdd6
      c70cea97
  8. 19 Sep, 2014 2 commits
  9. 18 Sep, 2014 5 commits
    • Scott LaVarnway's avatar
      FIX: vp9_loopfilter_intrin_sse2.c · 13284311
      Scott LaVarnway authored
      Fixes Visual Studio build failures
      
      Change-Id: I233719cd63b3ad0db16e2834bf1d7ea1df805880
      13284311
    • Minghai Shang's avatar
      [spatial svc] Use same golden frame for all temporal layers · f780b16b
      Minghai Shang authored
      Overhead goes down from 8% to 3% for 1080 60p
      
      Change-Id: Idf3e5ca8712402a914a8cb79df17d3cdab63b163
      f780b16b
    • Deb Mukherjee's avatar
      Adds high bitdepth convolve, interpred & scaling · 0d3c3d3c
      Deb Mukherjee authored
      Change-Id: Ie51c352a6b250547207cbc1ebba833a01ed053e3
      0d3c3d3c
    • Paul Wilkins's avatar
      Substantial reworking of code for arf and kf groups. · c389b37b
      Paul Wilkins authored
      Substantial restructuring of the way we estimate
      the rate of decay in prediction quality and determine
      the arf interval and amount of boost used.
      
      Also other changes to support moving to a lower first pass
      Q which exposes some new features and allows us to better
      distinguish genuinely static blocks from low motion or noisy
      blocks.
      
      Net gains now visible on all the test sets with std-hd PSNR up
      1.87%. There are still some bad outlier cases but most of these
      are low motion or slide show type content where the metrics
      are already high at any given rate. The best + case is up by
      more than 10%.
      
      Change-Id: I18e25170053bdf3188f493ff8062f48a74515815
      c389b37b
    • Scott LaVarnway's avatar
      Improved mb_lpf_horizontal_edge_w_sse2_16() #2 · 217e3cb1
      Scott LaVarnway authored
      The decoder performance improved up to 1% for the
      test clips used.
      
      Change-Id: I4621112bdccfba01640322facfa4ba8da8290ea5
      217e3cb1
  10. 17 Sep, 2014 1 commit
  11. 16 Sep, 2014 7 commits
    • Deb Mukherjee's avatar
      Adding high-bitdepth intra prediction functions · 81a8138f
      Deb Mukherjee authored
      Change-Id: I6f5cb101e2dc57c3d3f4d7e0ffb4ddbed027d111
      81a8138f
    • Deb Mukherjee's avatar
      Adds high bitdepth quantization functions · 5cd0aab8
      Deb Mukherjee authored
      Adds various high bitdepth quantization functions.
      
      Change-Id: I36fc0bf75a1bd15128ed271df8723de0ac134b0c
      5cd0aab8
    • Dmitry Kovalev's avatar
      Speeding up decode_coeffs(). · adaec4d0
      Dmitry Kovalev authored
      1080p decoding speedup -- 1.25%, 4K decoding speedup -- 2.5%.
      
      Change-Id: I5f02f521cbf7758d4d1886a93bc5b074abdff03d
      adaec4d0
    • Yaowu Xu's avatar
      Fix a performance regression · 601f3a88
      Yaowu Xu authored
      This commit adds back sse2 or ssse3 optimized versio of a couple of
      functions, fixes a ~10% performance regression.
      
      Change-Id: I049786906e5a641224dced63c6492aec9d86d183
      601f3a88
    • Adrian Grange's avatar
      Fix ARF construction when scaling · 1def634f
      Adrian Grange authored
      The ARF frame should always be the same size as the
      native resolution of the input frames.
      
      It will be scaled to the required resolution at
      encode time.
      
      Change-Id: I0afe858129aa6ef65b1648f43476331715346896
      1def634f
    • Jingning Han's avatar
      Use non-zero mode threshold for NEARESTMV modes · 56fa3ab8
      Jingning Han authored
      This commit makes the encoder to use non-zero mode threshold for
      NEARESTMV modes. The runtime for test clips of speed 3 is reduced
      by about 1%.
      
      pedestrian 1080p 2000 kbps, 143239 ms -> 141989 ms
      bus CIF 1000 kbps, 7835 ms -> 7749 ms
      
      The compression performance change is about -0.02% for both derf
      and stdhd.
      
      Change-Id: Ib71808922c41ae2997100cb7c561f68dcebfa08e
      56fa3ab8
    • Yunqing Wang's avatar
      Simplify the skip flag cost code · 200ec69a
      Yunqing Wang authored
      Code refactoring.
      
      Change-Id: Idad53cb80497d13551a142a642f7529fc305b0bc
      200ec69a
  12. 15 Sep, 2014 4 commits
    • Yunqing Wang's avatar
      Set the skip flag to 1 for skippable blocks · 46aed7b8
      Yunqing Wang authored
      If the partition block is skippable, which means no coefficients
      for Y, U, and V planes, its skip flag is set to 1. No quality
      change (verified by borg tests), and no noticeable speed change.
      
      Change-Id: I9231f720f8dd6364384cf05aa148ca24d75450f1
      46aed7b8
    • Frank Galligan's avatar
      Remove memset of every external frame buffer. · 175d9dfe
      Frank Galligan authored
      Libvpx was memseting every external frame buffer before decode. This
      was to work around a valgrind issue in our C loop filter. Most of
      the time this was not needed and we have noticed some significant
      performance loss on some platforms. Now we require the application to
      zero out the buffers if it is using external frame buffers.
      
      Change-Id: I7330d00a315e65137ed30edd5f813e8929b76242
      175d9dfe
    • Jingning Han's avatar
      Add ARF validation for compound inter mode check · f1581b3b
      Jingning Han authored
      This commit enforces ARF validation check for compound inter modes.
      It avoids potential access to ARF in the encoding process if it
      is not allowed.
      
      Change-Id: I055fec946b5d19d97937dc9001e1e564923e2439
      f1581b3b
    • Jingning Han's avatar
      Remove redundant reference frame check in sub8x8 RD search · 252822e8
      Jingning Han authored
      The valid reference frame check in sub8x8 rate-distortion
      optimization search has been included in the ref_frame_skip_mask
      scheme. This commit removes the later further validation checks
      that are not in effect.
      
      Change-Id: I853b477c44037d3dc0afec6cbfce08a96c597a75
      252822e8