1. 31 Mar, 2014 1 commit
    • Jingning Han's avatar
      Apply finer quantizer to partition search frames in non-RD flow · 99893f24
      Jingning Han authored
      This commit optimizes the bit allocation for the non-RD coding flow.
      It applies slightly better quantizer to the frames, where all blocks
      run a non-RD partition search. Such frames typically have better
      rate-distortion trade off, thus improving the reconstruction quality
      for next few frames reference at reasonably low increment in rate
      The coding performance for rtc set at speed -5 with error-resilient
      tuned on and rate control set as cbr is improved by 19.58%. It improved
      the coding speed by about 10% for a portion of local test clips.
      Change-Id: I9d56696cd4359dc8136ca10aff10fff05aaa2686
  2. 27 Mar, 2014 2 commits
  3. 26 Mar, 2014 3 commits
    • Jingning Han's avatar
      Motion referenced partition search for non-RD coding flow · abdb0650
      Jingning Han authored
      This commit enables the non-RD mode decision coding flow to
      adaptively apply partition search in non-refresh frame, when the
      collocated block in previous frame suggests there might be a motion
      activity. It refactors the update_state_rt() function to support
      buffer swap of mode_info struct, thereby unifying the encoding
      stage across various non-RD coding modes.
      It provides 5% compression performance gains in speed -6 for rtc
      test set, at about 12% speed slow down.
      Change-Id: Iefa374aed5a11c4b7ff9a3ed36a98ea8bd184edb
    • Dmitry Kovalev's avatar
      Encapsulating CYCLIC_REFRESH struct into .c file. · fc25e4dc
      Dmitry Kovalev authored
      Change-Id: I32695ad703dcbbbbf5f122b403f3d3120a0be366
    • Dmitry Kovalev's avatar
      Removing prev_mi_8x8 from MACROBLOCKD. · 63f86c14
      Dmitry Kovalev authored
      Change-Id: I32beb5f18c10b5771146c55933b5555487f53633
  4. 25 Mar, 2014 6 commits
    • Marco Paniconi's avatar
      Fix to cylcic refresh: use correct/chosen mode for update_segment. · eeed7e29
      Marco Paniconi authored
      Fix so that vp9_update_segment_aq() will use the correct (i..e, chosen)
      encoding mode (from ctx struct) in update_state.
      Change-Id: Icc4b66f3935fad5ec4516a4d57e843d12c365e64
    • Jingning Han's avatar
      Apply early termination in non-RD partition search · 0d786875
      Jingning Han authored
      This commit allows the recursive non-RD partition search to early
      terminate sub search tree when the cumulative rate-distortion is
      already above the best available.
      Change-Id: Ifdbcbb4bee229f47fde3033200829577c9f1fc1d
    • Yaowu Xu's avatar
      Added a speed feature "allow_skip_recode" · 6eb2cacf
      Yaowu Xu authored
      This commit added a speed feature to make the logic of calculating
      skip_recode on a block level more explicit. This also enable the
      feature to be enabled at speed 5 where the previous logic is too
      conservative, help gain back the lost speed for --rt(-5).
      Change-Id: Ieb37ca3e85c2e7bda343486edf13d5f5395f2233
    • Dmitry Kovalev's avatar
      Moving above_context to VP9_COMMON. · ed39c40a
      Dmitry Kovalev authored
      Change-Id: I713af99d1e17e05a20eab20df51d74ebfd1a68d2
    • Jingning Han's avatar
      Fix compiling errors due to git merge · c4e807ae
      Jingning Han authored
      There were a few conflicts between the new non-RD partition search
      and recent clean-up patches, which were not caught by git control.
      This commit fixed these issues.
      Change-Id: Ieebefbd6c19d81d0d13e3c568877d5cce2ab7797
    • Jingning Han's avatar
      Always use adaptive motion search in non-RD coding mode · 1b46f315
      Jingning Han authored
      This commit takes out the if statements on using adaptive motion
      search flag. This feature is automatically enabled in non-RD mode
      decision flow for variable partition types search.
      Change-Id: I5a25cf9109d84d07aa61b3e02c8d32dda1e90cb0
  5. 24 Mar, 2014 5 commits
  6. 21 Mar, 2014 6 commits
    • Jingning Han's avatar
      Reformat non-RD coding flow · 89cc421e
      Jingning Han authored
      This commit reformats non-RD coding flow layout to allow mode
      decision with fixed and variable block sizes.
      Change-Id: I2cdd3bb9f26c499ee4a9849004fd925cdd195d09
    • Marco Paniconi's avatar
      Rename the aq_mode files. · 03a9e5ed
      Marco Paniconi authored
      Change-Id: Id76a628495c822e23825b66a7589b4a3279680e2
    • Dmitry Kovalev's avatar
      Removing redundant {above, left}_seg_context manipulation code. · 4cb37bff
      Dmitry Kovalev authored
      Change-Id: Ib3c1746e61220c629cbd971b2458aa686b5c9e36
    • Yaowu Xu's avatar
      Fix a valgrind error · e993fb5e
      Yaowu Xu authored
      Valgrind was complaining uninitialzed values are being used.
      Change-Id: Ia9eb619f4e67d1fb7af1057d50304f15adc02aab
    • Paul Wilkins's avatar
      Fix bad speed settings interaction. · 2e05341a
      Paul Wilkins authored
      The flag x->skip_recode interacts badly with
      the cpi->sf.use_nonrd_pick_mode and
      cpi->sf.skip_encode_sb speed settings.
      Restricting the use of the skip_decode flag when
      these other speed choices are in use helps quality
      for speeds 3 and 4 by a large amount with only a
      small impact on speed.
      Average improvmentes for 2 pass speed 4:
      Derf +8.8%
      Yt + 10.53%
      Std-Hd +6.95%
      yt-hd + 22.95%
      Change-Id: I8010876d8012042a11077c92e69d813c3dfa58eb
    • Yaowu Xu's avatar
      Use local vairable in rd_auto_partition_range() · 0de216a9
      Yaowu Xu authored
      In addition to a few cleanups.
      Change-Id: Ice5938ef494513921a47e7c64ba9928f2202e24e
  7. 20 Mar, 2014 1 commit
  8. 19 Mar, 2014 2 commits
    • Jingning Han's avatar
      Enable variable block size test in non-RD mode decision · 60f9ebc3
      Jingning Han authored
      This is an initial attempt to allow variable block size partition
      in non-RD coding flow. It tests 8x8, 16x16 and 32x32 block size per
      64x64 block, all using non-RD mode decision and the associated rate
      distortion costs from modeling, then selects the best block size to
      encode the entire 64x64 block. Such operations are triggered every
      other 3 frames. The blocks of intermediate frames will reuse the
      collocated block's partition type.
      It improves the compression performance by 13.2%. Note that the gains
      are not evenly distributed. For many hard clips, the compression
      performance is improved by 20% to 28%. Local speed test shows that
      it will also increase runtime by 50%, as compared to speed -7. It is
      now enabled in speed -6 setting.
      Change-Id: Ib4fb8659d21621c9075b3c369ddaa9ecb0a4b204
    • Dmitry Kovalev's avatar
      Moving common code into vp9_update_mv_count(). · c9ec26f1
      Dmitry Kovalev authored
      Change-Id: I512482853bdf2695fbdf1c705a2ada354ccf76cf
  9. 18 Mar, 2014 2 commits
  10. 17 Mar, 2014 1 commit
  11. 15 Mar, 2014 1 commit
  12. 14 Mar, 2014 4 commits
  13. 13 Mar, 2014 4 commits
  14. 12 Mar, 2014 2 commits
    • Deb Mukherjee's avatar
      Preliminary code for variance based paritioning · e39ecfaa
      Deb Mukherjee authored
      Brings back most of Jim's previous patch for choosing
      partitioning based on variance while making it compatible
      with the current state of the code. Also adds a
      nonrd_use_partition() function to recursively encode  for any
      arbitrary sb_type decisions within a 64x64 block; and
      includes some refactoring.
      Currently, when the VAR_BASED_PARTITIONING mode is turned on
      for speed 7, there is a 10+% speed-up observed.
      Experiments/improvements with this new partitioning method
      will be conducted subsequently.
      Change-Id: Ie6f43bfbde30583e941f450bf07c3b48828c9571
    • Yaowu Xu's avatar
      Increase redo_frequency to 4 and cleanups · 6f5a1e03
      Yaowu Xu authored
      Clean-ups include
      a. redundant code in rt -5 speed feature settings
      b. code that guarantees square block availability in
      Change-Id: Ic7b04d45b6dc15c461e0edbbb4e78aec20348291