1. 10 Nov, 2012 - 1 commit
    • Deb Mukherjee's avatar
      New b-intra mode where direction is contextual · d01357bb
      Deb Mukherjee authored
      Preliminary patch on a new 4x4 intra mode B_CONTEXT_PRED where the
      dominant direction from the context is used to encode. Various decoder
      changes are needed to support decoding of B_CONTEXT_PRED in conjunction
      with hybrid transforms since the scan order and tokenization depends on
      the actual direction of prediction obtained from the context. Currently
      the traditional directional modes are used in conjunction with the
      B_CONTEXT_PRED, which also seems to provide the best results.
      
      The gains are small - in the 0.1% range.
      
      Change-Id: I5a7ea80b5218f42a9c0dfb42d3f79a68c7f0cdc2
      d01357bb
  2. 09 Nov, 2012 - 8 commits
  3. 08 Nov, 2012 - 5 commits
    • Yaowu Xu's avatar
      enable build on windows with msvc · 7798aef5
      Yaowu Xu authored
      Change-Id: I34057b87d9713dc819b8c69990dd1408b8c79342
      7798aef5
    • Jim Bankoski's avatar
    • Jim Bankoski's avatar
      remove macros obfuscating mv costing · c72be96b
      Jim Bankoski authored
      cleanup
      
      Change-Id: I565eee40d900e0441ad211b65ac829fc5b93d94a
      c72be96b
    • Ronald S. Bultje's avatar
      Implement tx_select for superblock encoding. · 1d4fbeb3
      Ronald S. Bultje authored
      Also split superblock handling code out of decode_macroblock() into
      a new function decode_superblock(), for easier readability.
      
      Derf +0.05%, HD +0.2%, STDHD +0.1%. We can likely get further gains
      by allowing to select mb_skip_coeff for a subset of the complete SB
      or something along those lines, because although this change allows
      coding smaller transforms for bigger predictors, it increases the
      overhead of coding EOBs to skip the parts where the residual is
      near-zero, and thus the overall gain is not as high as we'd expect.
      
      Change-Id: I552ce1286487267f504e3090b683e15515791efa
      1d4fbeb3
    • Yunqing Wang's avatar
      Optimize 16x16 dequant and idct · 6c17c9fa
      Yunqing Wang authored
      As suggested by Yaowu, simplified 16x16 dequant and idct. In decoder,
      after detoken step, we know the number of non-zero dct coefficients
      (eobs) in a macroblock. Idct calculation can be skipped or simplified
      based on eobs, which improves the decoder performance.
      
      Change-Id: I9ffa1cb134bcb5a7d64fcf90c81871a96d1b4018
      6c17c9fa
  4. 07 Nov, 2012 - 6 commits
    • John Koleszar's avatar
      Merge with upstream experimental changes (2) · 8959c8b1
      John Koleszar authored
      Include upstream changes (variance fixes) into the merged code base.
      
      Change-Id: I4182654c1411c1b15cd23235d3822702613abce1
      8959c8b1
    • James Zern's avatar
    • John Koleszar's avatar
      Merge with upstream experimental changes · 2c08c281
      John Koleszar authored
      Include upstream changes (unit test fixes, in particular) into the
      merged code base.
      
      Change-Id: I096f8a9d09e2532fbec0c95d7a995ab22fa54b29
      2c08c281
    • John Koleszar's avatar
      Rough merge of master into experimental · 7b8dfcb5
      John Koleszar authored
      Creates a merge between the master and experimental branches. Fixes a
      number of conflicts in the build system to allow *either* VP8 or VP9
      to be built. Specifically either:
      
        $ configure --disable-vp9 $ configure --disable-vp8
        --disable-unit-tests
      
      VP9 still exports its symbols and files as VP8, so that will be
      resolved in the next commit.
      
      Unit tests are broken in VP9, but this isn't a new issue. They are
      fixed upstream on origin/experimental as of this writing, but rebasing
      this merge proved difficult, so will tackle that in a second merge
      commit.
      
      Change-Id: I2b7d852c18efd58d1ebc621b8041fe0260442c21
      7b8dfcb5
    • Yaowu Xu's avatar
      merge full pixel refmv experiment · 0cedaa36
      Yaowu Xu authored
      Change-Id: Ib39ad47a7d188f3b45416937b7eeb28c3e79b74c
      0cedaa36
    • James Zern's avatar
      Fix variance (signed integer) overflow · 98473443
      James Zern authored
      In the variance calculations the difference is summed and later squared.
      When the sum exceeds sqrt(2^31) the value is treated as a negative when
      it is shifted which gives incorrect results.
      
      To fix this we force the multiplication to be unsigned.
      
      The alternative fix is to shift sum down by 4 before multiplying.
      However that will reduce precision.
      
      For 16x16 blocks the maximum sum is 65280 and sqrt(2^31) is 46340 (and
      change).
      
      This change is based on:
      16982342 Missed some variance casts
      fea3556e Fix variance overflow
      
      Change-Id: I2c61856cca9db54b9b81de83b4505ea81a050a0f
      98473443
  5. 06 Nov, 2012 - 16 commits
  6. 05 Nov, 2012 - 4 commits