1. 06 Jun, 2013 8 commits
    • Ronald S. Bultje's avatar
      New intra mode and partitioning probabilities. · ad343687
      Ronald S. Bultje authored
      Split partition probabilities between keyframes and non-keyframes,
      since they are fairly different. Also have per-blocksize interframe
      y intramode probabilities, since these vary heavily between different
      blocksizes.
      
      Lastly, replace default probabilities for partitioning and intra modes
      with new ones generated from current codec. Replace counts with actual
      probabilities also.
      
      Change-Id: I77ca996e25e4a28e03bdbc542f27a3e64ca1234f
      ad343687
    • Jingning Han's avatar
      Bug fix in rd_pick_inter_mode_sb_ · d03e974f
      Jingning Han authored
      Fix the calculation of step size in height.
      
      Change-Id: I0e0c0175f141f5a41214ae51cef233d13942d3c5
      d03e974f
    • Jim Bankoski's avatar
      signs reverted · b4c4f648
      Jim Bankoski authored
      Change-Id: Ieface458c83eb6e7ee95595d9fc662f372117c9a
      b4c4f648
    • Paul Wilkins's avatar
      Rd thresholds change with block size. · c3316c2b
      Paul Wilkins authored
      Added structures to support independent rd thresholds
      for different block sizes (and set experimental block
      size correction factors).
      
      Added structure to to allow dynamic adaptation of thresholds
      per mode and per block size basis depending on how often
      the mode/block size combination is seen (currently fixed factor).
      
      Removed some unused variables.
      
      TODO
      - Adaptation of thresholds based on how often each mode chosen.
      - The baseline mode values could also be adjusted based on
        the block size (e.g. for a particular intra mode use a low threshold
        for 4x4 prediction blocks but a relatively high value for 64x64.
      
      Change-Id: Iddee65ff3324ee309815ae7c1c5a8584720e7568
      c3316c2b
    • Paul Wilkins's avatar
      Turn off compound inter search refinement for good quality. · c880e02f
      Paul Wilkins authored
      Turn this feature off for some modes in  "good" quality.
      
      Change-Id: I3f262d62cca8f01736b977af1465291e8be29f0a
      c880e02f
    • Jim Bankoski's avatar
      don't tokenize & encode tokens for blocks in UMV · 5a88271b
      Jim Bankoski authored
      This avoids encoding tokens for blocks that are entirely
      in the UMV border. This changes the bitstream.
      
      Change-Id: I32b4df46ac8a990d0c37cee92fd34f8ddd4fb6c9
      5a88271b
    • Jingning Han's avatar
      Fix UV intra coding rd loop · f04b1548
      Jingning Han authored
      This commit makes the coding/reconstruction operations of intra
      coding rate-distortion loop for UV components consistent with those
      of the encoding process.
      
      key frame coding gains:
      derf:   0.11%
      stdhd:  0.42%
      
      Change-Id: I8d49f83924a320e3689ef2d60096c49d7f0c7a40
      f04b1548
    • Dmitry Kovalev's avatar
      Moving bits from compressed header to uncompressed one. · 12345cb3
      Dmitry Kovalev authored
      Bits moved: refresh_frame_flags, active_ref_idx[], ref_frame_sign_bias[],
      allow_high_precision_mv, mcomp_filter_type, ref_pred_probs[].
      
      Derf results: +0.040%
      
      Change-Id: I011f43c7eac0371d533b255fd99aee5ed75b85a5
      12345cb3
  2. 05 Jun, 2013 3 commits
  3. 04 Jun, 2013 1 commit
    • Jingning Han's avatar
      Make sb intra rd search consistent with encoding · 51b6e73a
      Jingning Han authored
      This commit makes operations of the superblock intra coding rate
      distortion optimization consistent with those used in the encoding
      process. Given the test prediction mode and transform size, the rd
      optimizer encodes and reconstructs each transformed block of the
      superblock consecutively, then computes the total rate-distortion
      costs accosicated with the current superblock to select the coding
      decisions.
      
      It achieves coding performance gains:
      derf 0.353%
      yt   1.111%
      
      Change-Id: I0da2eb7a71361dfb8c1384927fc536b0c2790d07
      51b6e73a
  4. 03 Jun, 2013 2 commits
  5. 31 May, 2013 14 commits
  6. 30 May, 2013 7 commits
    • Ronald S. Bultje's avatar
      Remove i4x4_pred. · 1efa79d3
      Ronald S. Bultje authored
      It remains as a local define in rdopt.c so we can distinguish between
      split and non-split modes in the RD loop, but disappears outside that
      scope in the codec.
      
      Change-Id: I98c18fe5ab7e4fbd1d6620ec5695e2ea20513ce9
      1efa79d3
    • Yaowu Xu's avatar
      Changed to use a new variant of WHT · 042e70e4
      Yaowu Xu authored
      The commit changed to use a new variant of Walsh-Hadamard Transform
      by Tim Terriberry. This new variant has the best compression among a
      number of variants that developed by Tim.
      
      Change-Id: Icb3a88515463cfc644b17ca046fcd139db2557e9
      042e70e4
    • Deb Mukherjee's avatar
      Bugfix in forward update with modeling on. · 84c5ed0e
      Deb Mukherjee authored
      Fixes an issue with reducing branch cts in the encoder causing
      a drop in performance. The bug was introduced in a previous
      clean up patch.
      
      Test: Went back to the offending patch, applied this same fix
      to it, and checked that results are identical to the parent
      of that patch.
      
      Change-Id: I0bad8e2d930235d0284300fcebf836ceb56f2498
      84c5ed0e
    • Ronald S. Bultje's avatar
      Merge all intra mode coding trees into a single one. · 98c192ae
      Ronald S. Bultje authored
      Also merge all counters. This removes a few unused probability updates
      from the bitstream.
      
      Change-Id: I20f58853e9dac84d8c0d9703ae012c55917516eb
      98c192ae
    • Paul Wilkins's avatar
      Patch to remove implicit segmentation. · 1b103f25
      Paul Wilkins authored
      This patch removes the implicit segmentation
      experiment from the code base as the benefits
      were still unproven as of the bitstream deadline.
      
      Change-Id: I273b99d8d621d1853eac4182f97982cb5957247e
      1b103f25
    • Jingning Han's avatar
      Enable iterative motion search for 4x4 inter pred · 87626a8f
      Jingning Han authored
      This commit enables iterative motion search for 4x4/4x8/8x4 block
      size compound inter-inter prediction.
      
      WIP: borg run testing
      
      Change-Id: I2b318db4a03cdca5a8002b3fa6c0fa89b129288b
      87626a8f
    • Adrian Grange's avatar
      Add intra_only and reset_frame_context flags · 9e5bb959
      Adrian Grange authored
      Added two flags to the frame header:
      
      intra_only:
      Signals that the frame is encoded using only INTRA
      coding modes.
      
      reset_frame_context:
      Indicates that the coding context specified
      in the frame header should be reset to default values before the
      frame is encoded/decoded.
      
      Change-Id: I182d46f1f84fb67a13c46ad767f246a38d7861a2
      9e5bb959
  7. 29 May, 2013 5 commits
    • Deb Mukherjee's avatar
      Balancing coef-tree to reduce bool decodes · b8b3f1a4
      Deb Mukherjee authored
      This patch changes the coefficient tree to move the EOB to below
      the ZERO node in order to save number of bool decodes.
      
      The advantages of moving EOB one step down as opposed to two steps down
      in the other parallel patch are: 1. The coef modeling based on
      the One-node becomes independent of the tree structure above it, and
      2. Fewer conext/counter increases are needed.
      
      The drawback is that the potential savings in bool decodes will be
      less, but assuming that 0s are much more predominant than 1's the
      potential savings is still likely to be substantial.
      
      Results on derf300: -0.237%
      
      Change-Id: Ie784be13dc98291306b338e8228703a4c2ea2242
      b8b3f1a4
    • Jim Bankoski's avatar
      valgrind - txfm_thresh not set · aae78c8a
      Jim Bankoski authored
      For 4x4 blocks valgrind points out the cache was uninitalized.
      This resolves the issue by setting it.
      
      Change-Id: I22733000da048643762813a84fbda66d8e4040d2
      aae78c8a
    • Jingning Han's avatar
      Refactor 4x4 block level rd loop · d0a38720
      Jingning Han authored
      This commit makes clean-ups in the rate-distortion loop for 4x4,
      4x8, and 8x4 block sizes for the use of iterative motion search.
      
      Removed unnecessary use of bmi in handle_inter_mode.
      
      Deprecated loop over labels in the 4x4/4x8/8x4 block rd search.
      
      Change-Id: I71203dbb68b65e66f073b37abd90d82ef5ae6826
      d0a38720
    • Scott LaVarnway's avatar
      Moved use_prev_in_find_mv_refs check to frame level · 353642bc
      Scott LaVarnway authored
      This patch checks at the frame level to see if the previous
      mode info context can be used.  This patch eliminates the
      flag check that was done for every mode and removes another
      check that was done prior to every vp9_find_mv_refs().
      
      Change-Id: I9da5e18b7e7e28f8b1f90d527cad087073df2d73
      353642bc
    • Jim Bankoski's avatar
      fix valgrind warning · 5e5470b2
      Jim Bankoski authored
      scales for second reference frame vars are unitialized if the
      second ref frame is one of of those disallowed by refframeflags
      
      Change-Id: I4ce42de391178c1699dcaede18c5f12c84993c61
      5e5470b2