1. 12 Sep, 2014 1 commit
  2. 11 Sep, 2014 8 commits
  3. 10 Sep, 2014 2 commits
  4. 09 Sep, 2014 11 commits
    • Jingning Han's avatar
      Fix a bug in vp9_rd_pick_inter_mode_sb · 68d79146
      Jingning Han authored
      This commit fixes a bug related to skipping intra mode checking, by
      using a separate variable to store the best prediction error from
      inter mode. It avoids unintentionally overwriting intra mode
      rate-distortion cost, and hence affecting other speed features.
      
      Change-Id: I99e12993339c84c8b4f597996b372012e5858fae
      68d79146
    • Jingning Han's avatar
      Remove redundant ref frame pointer assignment · 9a9e2aef
      Jingning Han authored
      Assigning selected reference frame pointer is done in the
      encode_superblock function. No need to do this at the end of
      rate-distortion optimization search.
      
      Change-Id: I33fcede0fd304b4a4c4deef2d126d79546a9c070
      9a9e2aef
    • Jingning Han's avatar
      Remove dependency of intra mode search skip check on mode order · 33593d1f
      Jingning Han authored
      This commit refactors the vp9_rd_pick_inter_mode_sb function to
      remove the intra mode early termination dependency on the mode
      search order.
      
      Change-Id: If6ac49aa7c530c7b9a5bd31b0ab84db83e192bec
      33593d1f
    • Jingning Han's avatar
      Replace best_mode_index table retrieve with fetching best_mbmode · d96228a0
      Jingning Han authored
      This commit allows the encoder to find current best prediction mode
      state using best_mbmode, instead of fetching from the static mode
      search table via best_mode_index.
      
      Change-Id: Ibefeab83aed33a49c2be03e83f09153856ca4271
      d96228a0
    • Yunqing Wang's avatar
      Remove the use of use_lastframe_partitioning at speed 4 · f10d7eed
      Yunqing Wang authored
      The use of use_lastframe_partitioning is totally removed in good-
      quality encoding. Its usage in real-time encoding needs to be
      evaluated to see if it can be removed too.
      
      The Borg tests at speed 4 showed:
      stdhd set: 0.220% psnr gain, 0.166% ssim gain;
      derf set:  0.329% psnr gain, 0.476% ssim gain.
      
      Speed test on selected clips showed 1.54% speedup.(Worst case:
      pedestrian_area_1080p25.y4m, speed loss: 1.5%)
      
      Change-Id: I1c844d329b0b5678558439b887297c1be7ddab00
      f10d7eed
    • James Zern's avatar
      vp9_loop_filter_frame_mt: defer allocations · a46ca6ec
      James Zern authored
      the code currently checks whether the allocation has been done instead
      of allocating on the first frame.
      since:
      4f27202d vp9: fix crash in mt loopfilter w/corrupt file
      
      this change defers the allocation until the loop filter is used.
      
      Change-Id: I660c1b7f34e713a8dd9884483f01d23b9847366e
      a46ca6ec
    • James Zern's avatar
      vp9_loop_filter_alloc: reorder parameters · 958a15f0
      James Zern authored
      VP9LfSync lf_sync is being operated on, make it the first parameter as
      in dealloc
      
      Change-Id: Id3cdf6b6a48157627780ae0d5d4b7dfa94a78078
      958a15f0
    • James Zern's avatar
      LoopFilterWorkerData: remove misleading 'const' · 7b572c98
      James Zern authored
      'frame_buffer' is modified indirectly via 'planes'.
      
      + do the same for vp9_loop_filter_rows
      
      Change-Id: Ibb7daa2e261064e4a5317a2969e3490e59891b82
      7b572c98
    • James Zern's avatar
      vp9_dthread: simplify loop_filter_row_worker signature · a5da7dea
      James Zern authored
      use the type names directly in the function declaration rather than
      (void *arg1, void *arg2)
      
      Change-Id: If8887e1dbcdf84842783a92f91668bef6223c9e5
      a5da7dea
    • James Zern's avatar
      simplify vp9_loop_filter_worker signature · 48662747
      James Zern authored
      use the type names directly in the function declaration rather than
      (void *arg1, void *arg2)
      
      Change-Id: I36bfc9c886310ce370bf0ca7c679ebd6e95109cc
      48662747
    • James Zern's avatar
      vp9_decodeframe: simplify tile_work_hook signature · f853117b
      James Zern authored
      use the type names directly in the function declaration rather than
      (void *arg1, void *arg2)
      
      Change-Id: I3d1e6c42d384d8e628d7f2075fa561c2c5e20749
      f853117b
  5. 08 Sep, 2014 3 commits
  6. 06 Sep, 2014 8 commits
  7. 05 Sep, 2014 6 commits
    • Yunqing Wang's avatar
      No longer use use_lastframe_partitioning speed feature · 10921403
      Yunqing Wang authored
      The speedup in rd_pick_partition() function makes it possible
      to drop use_lastframe_partitioning feature. By doing that, we
      achieve good PSNR gain with small speed loss. Also, this makes
      encoding loop less complicated. The code cleanup patch will
      follow.
      
      Borg tests showed:
      1. At speed 2,
         stdhd set: 0.201% PSNR gain, 0.133% SSIM gain;
         derf set:  0.262% PSNR gain, 0.276% SSIM gain.
      2. At speed 3,
         stdhd set: 0.139% PSNR gain, 0.109% SSIM gain;
         derf set:  0.447% PSNR gain, 0.442% SSIM gain.
      
      The average speed loss over selected test clips is within 1%
      with the worst case of 4%.
      
      Change-Id: Icfd2ded7869372b585a6972855d933b3d0280d90
      10921403
    • Yunqing Wang's avatar
      Correct the mode decisions in special cases · 1dd9a639
      Yunqing Wang authored
      The rate costs calculated for inter modes are not precise in some
      cases, which causes NEWMV is chosen instead of NEARESTMV, NEARMV,
      and ZEROMV. This patch added checks for these cases, and corrected
      the mode decisions.
      
      Borg tests at speed 3 showed:
      1. stdhd set: 0.102% PSNR gain and 0.088% SSIM gain.
      2. derf set:  0.147% PSNR gain and 0.132% SSIM gain.
      No speed change.
      
      Change-Id: I35d17684b89ad4734fb610942d707899146426db
      1dd9a639
    • Dmitry Kovalev's avatar
      Removing postproc mmx code. · 1100e262
      Dmitry Kovalev authored
      Removed functions:
      * vp9_post_proc_down_and_across_mmx
      * vp9_mbpost_proc_down_mmx
      * vp9_plane_add_noise_mmx
      
      They all have sse2 equivalent.
      
      Change-Id: I59c1fac12b7c96ca4538d455e4400c2b7875feff
      1100e262
    • James Zern's avatar
      fix x86-darwin* build · a8083449
      James Zern authored
      vp9_variance_sse2.c contains a mix of intrinsics and references to
      assembly which uses x86inc.asm; it's conditionally included as a result.
      
      Change-Id: I254451483a65881c0b8e18e27bf0c3ddef60c4ec
      a8083449
    • James Zern's avatar
      vp9: correct context buffer resize check · bb4950df
      James Zern authored
      allocations within vp9_alloc_context_buffers() rely on mi_rows/mi_cols
      individually, use those to determine whether to realloc rather than
      stride and stride * rows. this fixes a crash with some fuzzed files for
      invalid accesses into last_frame_seg_map and above_context.
      
      Change-Id: I7b9f40dcf170d443890f3bd2acd285507943c7d4
      bb4950df
    • James Zern's avatar
      vp9: fail decode if block/frame refs are corrupt · 440f5097
      James Zern authored
      proceeding using a corrupt (incompletely decoded) frame reference may
      lead to incorrect assumptions about allocation sizes leading to a crash.
      
      Change-Id: I76e74f2e1be127c2e2c7e1174bb3307497dfd23d
      440f5097
  8. 04 Sep, 2014 1 commit
    • Jingning Han's avatar
      Enable adaptive motion search for ARF coding · d435148f
      Jingning Han authored
      This commit turns on adaptive motion search for ARF coding, in
      addition to other normal inter frame coding. It improves the
      average compression efficiency:
      
      stdhd 0.1%
      derf  0.04%
      
      For the test sequences, the speed 3 runtime is reduced:
      
      pedestrian 1080p 2000 kbps, 149932 ms -> 144580 ms, (3.3% speed-up)
      bus CIF 1000 kbps, 8050 ms -> 7895 ms, (1.9%)
      highway CIF 100 bkps, 45033 ms -> 44078 ms, (2.2%)
      
      Change-Id: I5228565b609f99e8ae04f6140a2bf2b64a831d21
      d435148f