1. 04 Oct, 2013 5 commits
    • Dmitry Kovalev's avatar
      Giving consistent names to IDCT/IWHT functions. · 3a060257
      Dmitry Kovalev authored
      The idea is to have the following names for each transform size:
      
      vp9_idct4x4_add
        vp9_idct4x4_1_add
        vp9_idct4x4_10_add
        vp9_idct4x4_16_add
      
      vp9_idct8x8_add
        vp9_idct8x8_1_add
        vp9_idct8x8_10_add
        vp9_idct8x8_64_add
      
      etc for 16x16, 32x32
      
      The actual list of renames in this patch:
      
      vp9_idct_add_lossless     -> vp9_iwht4x4_add
      vp9_short_iwalsh4x4_add   -> vp9_iwht4x4_16_add
      vp9_short_iwalsh4x4_1_add -> vp9_iwht4x4_1_add
      
      vp9_idct_add            -> vp9_idct4x4_add
      vp9_short_idct4x4_add   -> vp9_idct4x4_16_add
      vp9_short_idct4x4_1_add -> vp9_idct4x4_1_add
      
      Change-Id: I6f43f7437c68dd30cdd05d72e213765578ed30b1
      3a060257
    • Paul Wilkins's avatar
      Remove mode_skip_start and mask code for sub 8x8 · 8abd92f1
      Paul Wilkins authored
      This code serves no purpose in the re-factored sub 8x8 code.
      
      Change-Id: I5364986224d1a28b71bcb046ec8557a3d14aaa47
      8abd92f1
    • Paul Wilkins's avatar
      Selective masking of split modes. · de6ecc5a
      Paul Wilkins authored
      Allow selective masking of individual split modes rather than
      just a single on / off flag.
      
      For speed 2 recovers the large speed loss seen for some derf
      clips  in change Ie6bdfa0a370148dd60bd800961077f7e97e67dd4
      and a small quality gain.
      
      For speed 1 10 % speed increase observed locally on some derf clips
      for minimal quality change.
      
      Change-Id: If86191087b93cbc05351c26c60c7933e2149e485
      de6ecc5a
    • Paul Wilkins's avatar
      Missing threshold case for disable split. · 03dd2818
      Paul Wilkins authored
      In relation to change:
      Refactor inter mode rate-distortion search
       Ie6bdfa0a370148dd60bd800961077f7e97e67dd4
      
      sf->thresh_mult_sub8x8[THR_INTRA] = INT_MAX missing;
      
      Change-Id: Ia86b68a5073368a3e2ca124a27b632243b525c8b
      03dd2818
    • Dmitry Kovalev's avatar
      Replacing duplicated code with get_scan_and_band call. · 8b344375
      Dmitry Kovalev authored
      Change-Id: I2cc3684f416a63dc99b9303109f9850f34a470d5
      8b344375
  2. 03 Oct, 2013 12 commits
    • Dmitry Kovalev's avatar
      BITSTREAM - "update_map" SEMANTICS BROKEN IN 398ddafb · 0e230483
      Dmitry Kovalev authored
      This patch reverts old commit 398ddafb
      "New way of updating last frame segmentation map.".
      
      Change-Id: Iba730f433c30ed7f5e5449d6768049cbf9a2b2c5
      0e230483
    • Jingning Han's avatar
      Remove redundant second_ref_frame check in sub8x8 · 2952b7d1
      Jingning Han authored
      This commit removes the redundant second reference frame check in
      the rate-distortion optimization loop for sub8x8 blocks.
      
      Change-Id: I13a57a6f624c4a9bcef02ff2a867fa30d8b44a93
      2952b7d1
    • Jingning Han's avatar
      Use vp9_zero in sub8x8 RD optimiazion loop · b9daef91
      Jingning Han authored
      Change-Id: Ic23a705e48cadaa7151f2bd8536d56636cb973e3
      b9daef91
    • Jingning Han's avatar
      Change b_mode_info definition from union to struct · 4093192e
      Jingning Han authored
      This commit defines b_mode_info as a struct type. This will allow
      us to further remove the use of PARTITION_INFO in the encoding process.
      
      Change-Id: I975b0f7d557b5e0f66545a61b472def76b671cce
      4093192e
    • Jingning Han's avatar
      Remove unused variables in inter_mode rd loops · 793c2d84
      Jingning Han authored
      Remove redundant variable definition/use in rate-distortion search
      loop for regular and sub8x8 blocks, respectively.
      
      Change-Id: Ic0eb3660bb6851ba2eb8d702ba9fd11595000d01
      793c2d84
    • Jingning Han's avatar
      Refactor inter mode rate-distortion search · 11abab35
      Jingning Han authored
      This commit separates the rate-distortion optimization loop of
      superblocks from that of sub8x8 blocks. This allows better design
      rate-distortion optimization search loop for each setting. It also
      removes the use of SPLITMV and I4X4_PRED therein.
      
      No performance change in speed 0 settings. For bus@CIF at 2000kbps,
      the speed 1 runtime goes from 48009ms to 43894ms (about 10% faster).
      The overall compression performance on derf changed by -0.021%.
      
      Speed 2 runtime goes from 27114ms to 28700ms (6% slower), while the
      overall coding efficiency goes up by 1.629% for derf, 1.236% for yt.
      
      Change-Id: Ie6bdfa0a370148dd60bd800961077f7e97e67dd4
      11abab35
    • Dmitry Kovalev's avatar
      Using vp9_zero instead of vpx_memset. · 9250d152
      Dmitry Kovalev authored
      Change-Id: I9a0d0e9c3459954aa7b9c68f92cc5d56385ebd18
      9250d152
    • Dmitry Kovalev's avatar
      Reading diff update flag inside vp9_diff_update_prob. · 6f1bb224
      Dmitry Kovalev authored
      Change-Id: I5ae659c1bfb132428a7272d094b5287d144ec7c8
      6f1bb224
    • Yunqing Wang's avatar
      Rewrite HORIZx4 and HORIZx8 in subpixel filter functions · ed22179a
      Yunqing Wang authored
      In subpixel filters, prefetched source data, unrolled loops,
      and interleaved instructions.
      
      In HORIZx4, integrated the idea in Scott's CL (commit:
      d22a504d), which was suggested by
      Erik/Tamar from Intel. Further tweaking was done to combine row 0,
      2, and row 1, 3 in registers to do more 2-row-in-1 operations until
      the last add.
      
      Test showed a ~2% decoder speedup.
      
      Change-Id: Ib53d04ede8166c38c3dc744da8c6f737ce26a0e3
      ed22179a
    • Paul Wilkins's avatar
      Speed setting review. · 6253cc92
      Paul Wilkins authored
      Substantial reworking of the speed vs quality trade offs for
      speed 1 and 2.
      
      In this patch I am attempting to freeze the "quality" meaning of
      speeds 1 and 2 relative to speed 0 so that in future we can
      better evaluate progress.
      
      I am targeting :
      Speed 1 quality ~-5% vs speed 0.
      Speed 2 quality ~-10% vs speed 0
      
      It is inevitable that quality will still fluctuate a little as we adjust
      settings and add new features, but we will attempt to keep as
      close as possible to these values. Above speed 2 things will remain
      a bit more fluid for now.
      
      In this patch speed 1 is approximately 4-5x as fast as speed 0. This
      is similar to before but the quality hit is a lot less. Likewise speed 2
      is approximately 2x as fast as speed 1 but is similar in quality to the
      previous speed 1 configuration.
      
      Also slight change to behavior of FLAG_EARLY_TERMINATE to insure
      all reference frames get at least one rd test. Important for very low
      variance regions.
      
      WIP :- Added a new speed level with old speed 4 becoming speed 5.
      Speed 3 and 4 tradeoffs still WIP
      
      Change-Id: Ic7a38dd7b5b63ab1501f9352411972f480ac6264
      6253cc92
    • Jim Bankoski's avatar
      make use last partition consider motion · f1d3e5e4
      Jim Bankoski authored
      This commit causes use last partition to consider whether a 64x64 has
      motion that might make a new partitioning worth while.
      
      Change-Id: I3a57bedef4f3cd961fadbfa96651c206fa36da4a
      f1d3e5e4
    • Dmitry Kovalev's avatar
      BITSTREAM - RESTORING BILINEAR INTERPOLATION FILTER SUPPORT · 68a3e4a8
      Dmitry Kovalev authored
      Adding appropriate test vector vp90-2-06-bilinear.webm.
      
      Change-Id: Ia3bbf57318e0cc61a1b724fe751e3f9c7e11b337
      68a3e4a8
  3. 02 Oct, 2013 7 commits
  4. 01 Oct, 2013 8 commits
  5. 30 Sep, 2013 8 commits
    • Dmitry Kovalev's avatar
      Removing unused vp9_coeff_stats_model typedef. · c982a73b
      Dmitry Kovalev authored
      Change-Id: I6973e7121b6393379b5759f288632e8eab763d3e
      c982a73b
    • Dmitry Kovalev's avatar
      Adding const to function arguments. · c64e2383
      Dmitry Kovalev authored
      Function list:
        tx_counts_to_branch_counts_32x32
        tx_counts_to_branch_counts_8x8
        tx_counts_to_branch_counts_8x8
        update_ct
        update_ct2
        update_mode_probs
      
      Change-Id: I120d8945a34378cf285d6bd415e23de1d522cf2f
      c64e2383
    • Jingning Han's avatar
      Fix rectangular partition check in speed 1 · 195061fe
      Jingning Han authored
      Make encoder skip rectangular partition check in speed 1 and above,
      when early termination was triggered in partition split.
      Thanks Guillaume (gmartres@) for catching this issue.
      
      This change makes bus_cif at 2000kbps speed 1 runtime goes down from
      25612ms to 23438ms (about 9% speed-up), at the expense of -0.235%
      performance down.
      
      Change-Id: I98613fad081a261d30d5fa206f934ca70601c180
      195061fe
    • Dmitry Kovalev's avatar
      Using array of motion vectors instead of separate variables. · c151bdd4
      Dmitry Kovalev authored
      Change-Id: I7380a089105f658257bbb3e30a525da168e76952
      c151bdd4
    • Dmitry Kovalev's avatar
      Removing vp9_add_constant_residual_{8x8, 16x16, 32x32} functions. · 548671dd
      Dmitry Kovalev authored
      We don't need these functions anymore. The only one which was actually
      used is vp9_add_constant_residual_32x32. Addition of
      vp9_short_idct32x32_1_add eliminates this single usage. SSE2 optimized
      version of vp9_short_idct32x32_1_add will be added in the next patch set,
      right now it is only C implementation. Now we have all idct functions
      implemented in a consistent manner.
      
      Change-Id: I63df79a13cf62aa2c9360a7a26933c100f9ebda3
      548671dd
    • Paul Wilkins's avatar
      Improved auto_partition_range. · 65b93c7e
      Paul Wilkins authored
      The code now takes into account temporal and spatial
      information to determine the partition size range, but the
      frequency counts have been removed.
      
      The net effect is similar in quality but about 10% faster.
      
      Change-Id: I39a513fb79cec9177b73b2a7218f0da70963ae95
      65b93c7e
    • Paul Wilkins's avatar
      Alter Speed 3. · a76caa7f
      Paul Wilkins authored
      This patch deletes the variance based speed three partitioning.
      Speed 3 now uses the same partitioning method as speed 2
      but with some stricter conditions.
      
      The speed and quality are now somewhere between speeds 2 and 4
      whereas before it was worse in both than speed 4.
      
      Change-Id: Ia142e7007299d79db3ceee6ca8670540db6f7a41
      a76caa7f
    • Jim Bankoski's avatar
      vp9_entropy.c lint issues · 77746032
      Jim Bankoski authored
      Change-Id: I4e163cc4ce9ec2f3a5a8b9da478049c71b08d71f
      77746032