1. 13 Mar, 2013 - 1 commit
    • John Koleszar's avatar
      fix superframe index marker masks · bd9cd9a1
      John Koleszar authored
      The superframe index marker byte carries data in the lower 5 bits. Only the
      upper 3 should be used as part of the mask to detect it. By masking with
      0xf0, the previous code was incorrect for frames over 65k bytes.
      
      Change-Id: I6248889f5af227457f359a56b2348ef6db87a3b4
      bd9cd9a1
  2. 12 Mar, 2013 - 12 commits
  3. 11 Mar, 2013 - 10 commits
  4. 10 Mar, 2013 - 1 commit
    • John Koleszar's avatar
      Optimize vp9_tree_probs_from_distribution · bd84685f
      John Koleszar authored
      The previous implementation visited each node in the tree multiple times
      because it used each symbol's encoding to revisit the branches taken and
      increment its count. Instead, we can traverse the tree depth first and
      calculate the probabilities and branch counts as we walk back up. The
      complexity goes from somewhere between O(nlogn) and O(n^2) (depending on
      how balanced the tree is) to O(n).
      
      Only tested one clip (256kbps, CIF), saw 13% decoding perf improvement.
      
      Note that this optimization should port trivially to VP8 as well. In VP8,
      the decoder doesn't use this function, but it does routinely show up
      on the profile for realtime encoding.
      
      Change-Id: I4f2848e4f41dc9a7694f73f3e75034bce08d1b12
      bd84685f
  5. 09 Mar, 2013 - 2 commits
  6. 08 Mar, 2013 - 6 commits
  7. 07 Mar, 2013 - 8 commits
    • Yunqing Wang's avatar
      Optimize add_constant_residual function · f2407826
      Yunqing Wang authored
      Optimized adding constant diff to predictor, which gave about
      2% decoder performance gain.
      
      Change-Id: I47db20c31428e8c4a8f16214a85cbe386a6e9303
      f2407826
    • Yunqing Wang's avatar
    • Yunqing Wang's avatar
      Allocate 16-byte aligned diff buffer · b339aea6
      Yunqing Wang authored
      This was done based on John's suggestion.
      
      Change-Id: I62516a513c31fe3dbea0d6cd063df79d9e819ec8
      b339aea6
    • Dmitry Kovalev's avatar
      Consistent usage of ROUND_POWER_OF_TWO macro. · 3603dfb6
      Dmitry Kovalev authored
      Change-Id: I44660975e9985310d8c654c158ee7a61291b5a08
      3603dfb6
    • Ronald S. Bultje's avatar
      Update ADST selection if tx_size < block_size. · 89e4ce20
      Ronald S. Bultje authored
      Change-Id: Ic9b336486774c95ffbb92adcb110cc0fc2a83cc5
      89e4ce20
    • Ronald S. Bultje's avatar
      Re-add support for ADST in superblocks. · d3724abe
      Ronald S. Bultje authored
      This also changes the RD search to take account of the correct block
      index when searching (this is required for ADST positioning to work
      correctly in combination with tx_select).
      
      Change-Id: Ie50d05b3a024a64ecd0b376887aa38ac5f7b6af6
      d3724abe
    • Yunqing Wang's avatar
      Fix issue in add_residual intrinsic function · 31623715
      Yunqing Wang authored
      Yaowu found this function had a compiling issue with MSVC because
      of using _mm_storel_pi((__m64 *)(dest + 0 * stride), (__m128)p0).
      To be safe, changed back to use integer store instruction.
      
      Also, for some build, diff could not always be 16-byte aligned.
      Changed that in the code.
      
      Change-Id: I9995e5446af15dad18f3c5c0bad1ae68abef6c0d
      31623715
    • Deb Mukherjee's avatar
      Coding con-zero count rather than EOB for coeffs · eb6ef241
      Deb Mukherjee authored
      This patch revamps the entropy coding of coefficients to code first
      a non-zero count per coded block and correspondingly remove the EOB
      token from the token set.
      
      STATUS:
      Main encode/decode code achieving encode/decode sync - done.
      Forward and backward probability updates to the nzcs - done.
      Rd costing updates for nzcs - done.
      Note: The dynamic progrmaming apporach used in trellis quantization
      is not exactly compatible with nzcs. A suboptimal approach has been
      used instead where branch costs are updated to account for changes
      in the nzcs.
      
      TODO:
      Training the default probs/counts for nzcs
      
      Change-Id: I951bc1e22f47885077a7453a09b0493daa77883d
      eb6ef241