1. 11 Sep, 2014 2 commits
  2. 10 Sep, 2014 1 commit
  3. 09 Sep, 2014 5 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
  4. 08 Sep, 2014 1 commit
    • Paul Wilkins's avatar
      Fix VS build issue. · f2405457
      Paul Wilkins authored
      Compile fails when CONFIG_INTERNAL_STATS
      flag is set.
      
      Change-Id: Iba7701c058169ca3fc0b9008619ac55a1fe1a8b6
      f2405457
  5. 06 Sep, 2014 7 commits
  6. 05 Sep, 2014 2 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
  7. 04 Sep, 2014 5 commits
    • 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
    • JackyChen's avatar
      Map motion magnitude in VP9 denoiser. · b1153f34
      JackyChen authored
      This is to keep the same with VP8 denoiser.
      If motion magnitude is small,
      make denoiser more aggressive.
      
      Change-Id: I942a6e2f2ed9aec6f0c4c1f9e5fa47066cadcc0c
      b1153f34
    • JackyChen's avatar
      Update the condition when COPY_BLOCK is chosen. · d75266f1
      JackyChen authored
      The change is just to keep the condition the same with VP8.
      
      Change-Id: I9662b40996126605945dd853c0cbe8916c1ce578
      d75266f1
    • JackyChen's avatar
      Fix a bug in VP9 denoiser. · e30f7698
      JackyChen authored
      When the first try of denoising turns out to be too much,
      we will use a softer filter by adopting an adjustment to
      make the result closer to original pixel (as in VP8 denoiser).
      The old code made the adjustment in the wrong direction.
      
      Change-Id: I84e28fa9e01eef47c5a37d5a2e6d3d378a06786b
      e30f7698
    • Dmitry Kovalev's avatar
      Adding sse2 variant for vp9_mse{8x8, 8x16, 16x8}. · 48197f0a
      Dmitry Kovalev authored
      Change-Id: I6786d25ce4f32b8d8912f2d239a45ca15b310c4b
      48197f0a
  8. 03 Sep, 2014 9 commits
    • Jingning Han's avatar
      Speed up compound inter prediction mode check · d62d804e
      Jingning Han authored
      This commit allows the encoder to store outcomes of single reference
      frame modes and compares them to decide if the inter prediction
      filter, forward transform, and quantization can be skipped.
      
      The compression performance of speed 3 is down
      derf  -0.364%
      stdhd -0.198%
      
      For test sequences, the speed 3 runtime is reduced
      highway CIF 100 kbps, 51976 ms -> 45033 ms, 13% speed-up
      stockholm 720p 1000 kbps, 71826 ms -> 67838 ms, 5.5% speed-up
      pedestrian 1080p 2000 kbps, 154924 ms -> 150702 ms, 2.6% speed-up
      
      Change-Id: I5aa26f918d2b4b5197a2c0afa2779319f1c88e44
      d62d804e
    • Dmitry Kovalev's avatar
      Small cleanup: reusing existing code. · a7ccc129
      Dmitry Kovalev authored
      Change-Id: Iac4775ad98e988f2b9cf5bd0dc91ab994d0262ce
      a7ccc129
    • Dmitry Kovalev's avatar
      Initializing intra modes without vpx_once(). · bf778e7d
      Dmitry Kovalev authored
      Change-Id: I0a9d52432f2500f1bd8f43f229e70e38bb9a0343
      bf778e7d
    • Yaowu Xu's avatar
      Merge two similar functions into one · e759d957
      Yaowu Xu authored
      intra_super_block_yrd() and inter_super_block_yrd() are largely same,
      this commit merges them into one to reduce code duplication.
      
      Change-Id: I64d7042a5b099345627cf55663010c185b25ec37
      e759d957
    • Yaowu Xu's avatar
      Change last_partition_redo_frequency for speed 3 · 7a337124
      Yaowu Xu authored
      From 3 to 2, which seems to be slightly positive on compression for
      all test sets, also reduces encoding time by 2%-5%, varying on the
      test clips.
      
      Change-Id: If045417bd27311700c919b4a335eff0dc1130ae0
      7a337124
    • Yaowu Xu's avatar
      Remove redundant code · cdda17ed
      Yaowu Xu authored
      Change-Id: I453b167f03811a3cd3592089593b3f2823f62ab3
      cdda17ed
    • Yaowu Xu's avatar
      select_tx_mode(): remove special case for key frame · c1058e5b
      Yaowu Xu authored
      This commit removes the special case for key frame, as transform size
      decision is controlled by the appropriate speed feature for all lossy
      coding modes: tx_size_search_method.
      
      Change-Id: I9677171e3f2432ec23705f7c5ea8170dd4562fae
      c1058e5b
    • Jingning Han's avatar
      Skip comp inter mode test in RD loop with same frame bias signs · 801fef26
      Jingning Han authored
      This commit allows the encoder to skip check on compound inter
      modes in the rate-distortion optimization loop, if the reference
      frame bias signs are the same.
      
      Change-Id: Ib753e6bb11cbdd338aee69dbe2b649671f75a6b0
      801fef26
    • Dmitry Kovalev's avatar
      Removing duplicated code. · 070210e2
      Dmitry Kovalev authored
      Change-Id: I7b5c776d5e6f5ca428b87fa9411ae4012a9538ba
      070210e2
  9. 02 Sep, 2014 6 commits
    • Dmitry Kovalev's avatar
      Removing MMX SAD calculation code. · 318fc0c3
      Dmitry Kovalev authored
      Removed functions:
      * vp9_sad_16x16_mmx
      * vp9_sad_8x16_mmx
      * vp9_sad_16x8_mmx
      * vp9_sad_8x8_mmx
      * vp9_sad_4x4_mmx
      
      Change-Id: Ic5174b93b64d65d846f0c11e72cab149e9472bc3
      318fc0c3
    • Deb Mukherjee's avatar
      Adds config opt for highbitdepth + misc. vpx · 5acfafb1
      Deb Mukherjee authored
      Adds config parameter vp9_highbitdepth, to support highbitdepth profiles.
      Also includes most vpx level high bit-depth functions. However
      encode/decode in the highbitdepth profiles will not work until
      the rest of the code is in place.
      
      Change-Id: I34c53b253c38873611057a6cbc89a1361b8985a6
      5acfafb1
    • Dmitry Kovalev's avatar
      Replacing asm 16x16 variance calculation with intrinsics. · 6f6bd282
      Dmitry Kovalev authored
      New code is 20% faster for 64-bit and 15% faster for 32-bit. Compiled
      using clang.
      
      Change-Id: Icfea461238411001fd093561293dbfedfbf8d0bb
      6f6bd282
    • Minghai Shang's avatar
      [svc] Temporal svc with two pass rate control · be3b08da
      Minghai Shang authored
      It's built based on current spatial svc code.
      We only support one spatial two temporal layers at this time.
      Change-Id: I1fdc8584354b910331e626bfae60473b3b701ba1
      be3b08da
    • Jingning Han's avatar
      Skip comp inter mode tests for arf coding · 33176fef
      Jingning Han authored
      This commit skips the compound inter mode prediction check in the
      rate-distortion optimization loop for ARF coding. It reduces the
      runtime for certain test clips at speed 3, at no compression
      performance change:
      
      bus CIF 1000 kbps, 8260 ms -> 8090 ms, 1.8% speed-up
      stockholm 720p 1000 kbps, 74453 ms -> 71826 ms, 2.9% speed-up
      
      No visible speed-up for pedestrian area 1080p at 2000 kbps.
      
      Change-Id: Ic68aa56837159b726563b784e2e3729e846465ad
      33176fef
    • Dmitry Kovalev's avatar
      Cleaning up vp9_variance_avx2.c. · 5c937db0
      Dmitry Kovalev authored
      Change-Id: I75eb47dd21f87015efd673dbd2aa71f4386afdf5
      5c937db0
  10. 30 Aug, 2014 2 commits