1. 09 Apr, 2014 2 commits
    • Dmitry Kovalev's avatar
      Fixing broken build. · 0ba14e60
      Dmitry Kovalev authored
      Change-Id: I9b8f9a3f4fa9d48695149dd68ecb5e8d84accafe
    • Yunqing Wang's avatar
      Use source frame difference to make partition decision · 4e66293f
      Yunqing Wang authored
      Calculate the difference variance between last source frame and
      current source frame. The variance is calculated at 16x16 block
      level. The variances are compared to several thresholds to decide
      final partition sizes.
      An adaptive strategy is implemented to decide using
      in the video. The switching test is done once every
      search_type_check_frequency frames.
      The selection of source_var_thresh needs to be investigated
      further later.
      RTC set Borg test showed 0.424% overall psnr gain, and 0.357%
      ssim gain. For clips with large enough static area, the
      encoding speedup is around 2% to 15%.
      Change-Id: Id7d268f1d8cbca7fb8026aa4a53b3c77459dc156
  2. 08 Apr, 2014 1 commit
    • Jingning Han's avatar
      Select prediction filter type in non-RD mode decision · 06ec873f
      Jingning Han authored
      This commit allows the non-RD mode decision flow to  select
      prediction filter type in NEWMV mode. It provides 8.14% compression
      performance gains in both settings of AQ=0 and 3. The current speed
      impact is about 5% to 10% slower.
      Change-Id: Id66ecebf77abd8f90fb3f6a066c0e8dfb4bf1c42
  3. 07 Apr, 2014 3 commits
  4. 04 Apr, 2014 1 commit
  5. 03 Apr, 2014 2 commits
    • Dmitry Kovalev's avatar
      Removing interp_kernel from MACROBLOCKD. · a9f324fa
      Dmitry Kovalev authored
      Now interp_kernel is obtained when it is really required (based on
      mbmi->interp_filter value).
      Change-Id: I4c7a93c179d1045eba16e7526c293d02c9b8b47e
    • Paul Wilkins's avatar
      Fix complexity Aq mode. · 009ee2b7
      Paul Wilkins authored
      This was broken by change
      Change-Id: I49e3fc525664eb7a433f55f76b8f8628fe251eab
  6. 02 Apr, 2014 4 commits
  7. 01 Apr, 2014 1 commit
  8. 31 Mar, 2014 2 commits
    • Alex Converse's avatar
      Propagate active map state. · 12dd53d0
      Alex Converse authored
      This fixes active map for non-rd realtime speeds.
      Change-Id: I1bf416de3f7ef2e5dd2eabde052cce3c0683a52c
    • 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
  9. 27 Mar, 2014 2 commits
  10. 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
  11. 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
  12. 24 Mar, 2014 5 commits
  13. 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
  14. 20 Mar, 2014 1 commit
  15. 19 Mar, 2014 1 commit
    • 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