1. 09 Apr, 2014 - 2 commits
    • Dmitry Kovalev's avatar
      Fixing broken build. · 0ba14e60
      Dmitry Kovalev authored
      Change-Id: I9b8f9a3f4fa9d48695149dd68ecb5e8d84accafe
      0ba14e60
    • 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
      SOURCE_VAR_BASED_PARTITION or FIXED_PARTITION based on motions
      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
      4e66293f
  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
      06ec873f
  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
      a9f324fa
    • Paul Wilkins's avatar
      Fix complexity Aq mode. · 009ee2b7
      Paul Wilkins authored
      This was broken by change
      Icc4b66f3935fad5ec4516a4d57e843d12c365e64
      
      Change-Id: I49e3fc525664eb7a433f55f76b8f8628fe251eab
      009ee2b7
  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
      12dd53d0
    • 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
      cost.
      
      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
      99893f24
  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
      abdb0650
    • Dmitry Kovalev's avatar
      Encapsulating CYCLIC_REFRESH struct into .c file. · fc25e4dc
      Dmitry Kovalev authored
      Change-Id: I32695ad703dcbbbbf5f122b403f3d3120a0be366
      fc25e4dc
    • Dmitry Kovalev's avatar
      Removing prev_mi_8x8 from MACROBLOCKD. · 63f86c14
      Dmitry Kovalev authored
      Change-Id: I32beb5f18c10b5771146c55933b5555487f53633
      63f86c14
  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
      eeed7e29
    • 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
      0d786875
    • 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
      6eb2cacf
    • Dmitry Kovalev's avatar
      Moving above_context to VP9_COMMON. · ed39c40a
      Dmitry Kovalev authored
      Change-Id: I713af99d1e17e05a20eab20df51d74ebfd1a68d2
      ed39c40a
    • 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
      c4e807ae
    • 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
      1b46f315
  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
      89cc421e
    • Marco Paniconi's avatar
      Rename the aq_mode files. · 03a9e5ed
      Marco Paniconi authored
      Change-Id: Id76a628495c822e23825b66a7589b4a3279680e2
      03a9e5ed
    • Dmitry Kovalev's avatar
      Removing redundant {above, left}_seg_context manipulation code. · 4cb37bff
      Dmitry Kovalev authored
      Change-Id: Ib3c1746e61220c629cbd971b2458aa686b5c9e36
      4cb37bff
    • Yaowu Xu's avatar
      Fix a valgrind error · e993fb5e
      Yaowu Xu authored
      Valgrind was complaining uninitialzed values are being used.
      
      Change-Id: Ia9eb619f4e67d1fb7af1057d50304f15adc02aab
      e993fb5e
    • 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
      2e05341a
    • 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
      0de216a9
  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
      60f9ebc3