1. 27 Nov, 2013 1 commit
  2. 20 Nov, 2013 2 commits
  3. 19 Nov, 2013 2 commits
  4. 14 Nov, 2013 1 commit
    • Deb Mukherjee's avatar
      Simplifies band-getting with a static array · cfcd5c4f
      Deb Mukherjee authored
      Simplifies the code by implementing band mapping with static arrays.
      A lot of the code complexity introduced in a previous patch
      disappears.
      
      Change-Id: Ia3fac36e594fb5ad2d55ae141c58bba4c55c2d28
      cfcd5c4f
  5. 05 Nov, 2013 1 commit
    • Dmitry Kovalev's avatar
      Localizing NEARESTMV special cases in the code. · 81518961
      Dmitry Kovalev authored
      Removing special case handling from vp9_tree_probs_from_distribution(),
      tree_merge_probs(), and vp9_tokens_from_tree_offset() functions. Replacing
      inter_mode_offset() function with macro INTER_OFFSET which is used now for
      vp9_inter_mode_tree definition.
      
      Change-Id: Iff75a1499d460beb949ece543389c8754deaf178
      81518961
  6. 01 Nov, 2013 1 commit
    • Dmitry Kovalev's avatar
      Removing 'new' probability calculation from convert_distribution(). · df19c6b6
      Dmitry Kovalev authored
      We don't have to calculate 'new' probability in convert_distribution()
      because it is enough to calculate only 'new' counters which could be used
      to calculate probability if necessary. That's why removing a lot of unused
      temporary probability arrays and reducing number of get_binary_prob()
      calls.
      
      Change-Id: I4e14eb7203d1ace61bbddefd6b9b6326be83ba63
      df19c6b6
  7. 15 Oct, 2013 2 commits
    • Alexander Voronov's avatar
      Updated encoder to handle intra-only frames · d6a59fb1
      Alexander Voronov authored
      Updated the encoder to handle frames that are coded
      intra-only. Intra-only frames must be non-showable,
      that is, the "show frame" flag must be set to 0 in
      the frame header.
      
      Tested by forcing the ARF frames to be coded intra-
      only.
      
      Note: The rate control code will need to be modified
      to account for intra-only frames better than they
      are currently handled.
      
      Change-Id: I6a9dd5337deddcecc599d3a44a7431909ed21079
      d6a59fb1
    • Dmitry Kovalev's avatar
      Using constants instead of plain numbers. · a97fe895
      Dmitry Kovalev authored
      Replacing
        22 with TREE_SIZE(MAX_ENTROPY_TOKENS)
        12 with MAX_ENTROPY_TOKENS
      
      Change-Id: If24919336e8ace9cf64991bd5ae33fa6656f7b93
      a97fe895
  8. 10 Oct, 2013 1 commit
  9. 07 Oct, 2013 1 commit
  10. 30 Sep, 2013 1 commit
  11. 27 Sep, 2013 1 commit
  12. 29 Aug, 2013 1 commit
  13. 09 Aug, 2013 1 commit
    • Dmitry Kovalev's avatar
      General code cleanup. · 6a8ec3ea
      Dmitry Kovalev authored
      Removing redundant parenthesis and curly braces. Combining declarations
      with initializations. Adding useful intermediate variables instead of
      recalculating expressions every time.
      
      Change-Id: I00106f404afd60bfc189905b0fded881684f941a
      6a8ec3ea
  14. 08 Aug, 2013 1 commit
  15. 01 Aug, 2013 1 commit
  16. 29 Jul, 2013 2 commits
  17. 25 Jul, 2013 2 commits
    • Dmitry Kovalev's avatar
      General cleanups. · 7131cb0e
      Dmitry Kovalev authored
      Removing unused constants, macros, and function declarations. Using
      ROUND_POWER_OF_TWO macro, vp9_zero, vp9_copy where possible. Moving
      #include from *.h to *.c. Merging for loops for motion vectors.
      
      Change-Id: Ic3bf841764a2bb177128bb3a6d7aa8f68229cd13
      7131cb0e
    • Dmitry Kovalev's avatar
      Removing duplicated code for merging two probabilities. · 40358dc4
      Dmitry Kovalev authored
      Adding common merge_probs and merge_probs2 functions. Changing ints to
      usigned ints in some places.
      
      Change-Id: Icf088ffdea7cf5b95284a128916409bdd53506b0
      40358dc4
  18. 24 Jul, 2013 2 commits
  19. 20 Jul, 2013 1 commit
  20. 16 Jul, 2013 1 commit
  21. 01 Jul, 2013 2 commits
    • Ronald S. Bultje's avatar
      Make get_coef_context() branchless. · 26b6318d
      Ronald S. Bultje authored
      This should significantly speedup cost_coeffs(). Basically what the
      patch does is to make the neighbour arrays padded by one item to
      prevent an eob check in get_coef_context(), then it populates each
      col/row scan and left/top edge coefficient with two times the same
      neighbour - this prevents a single/double context branch in
      get_coef_context(). Lastly, it populates neighbour arrays in pixel
      order (rather than scan order), so we don't have to dereference the
      scantable to get the correct neighbours.
      
      Total encoding time of first 50 frames of bus (speed 0) at 1500kbps
      goes from 2min10.1 to 2min5.3, i.e. a 2.6% overall speed increase.
      
      Change-Id: I42bcd2210fd7bec03767ef0e2945a665b851df56
      26b6318d
    • Ronald S. Bultje's avatar
      Quantize (64-bit only, for now) SSSE3 SIMD. · 7353ceab
      Ronald S. Bultje authored
      Total encoding time for first 50 frames of bus (speed 0) @ 1500kbps
      goes 2min34.8 to 2min14.4, i.e. a 10.4% overall speedup. The code is
      x86-64 only, it needs some minor modifications to be 32bit compatible,
      because it uses 15 xmm registers, whereas 32bit only has 8.
      
      Change-Id: I2df53770c2e850813ffa713e1a91b45b0082b904
      7353ceab
  22. 28 Jun, 2013 1 commit
    • Ronald S. Bultje's avatar
      Inline vp9_get_coef_context() (and remove vp9_ prefix). · d00b8e5f
      Ronald S. Bultje authored
      Makes cost_coeffs() a lot faster:
      4x4: 236 -> 181 cycles
      8x8: 888 -> 588 cycles
      16x16: 3550 -> 2483 cycles
      32x32: 17392 -> 12010 cycles
      
      Total encode time of first 50 frames of bus (speed 0) @ 1500kbps goes
      from 2min51.6 to 2min43.9, i.e. 4.7% overall speedup.
      
      Change-Id: I16b8d595946393c8dc661599550b3f37f5718896
      d00b8e5f
  23. 24 Jun, 2013 1 commit
  24. 21 Jun, 2013 1 commit
  25. 14 Jun, 2013 1 commit
  26. 10 Jun, 2013 1 commit
    • Adrian Grange's avatar
      Implement intra-coded frames · eac344ef
      Adrian Grange authored
      Implements ability to signal and decode frames that are
      encoded using only intra coding modes. Only the decode
      side has been implemented here.
      
      Change-Id: I53ac6a8d90422cd08ba389e5236e15b45f9e93de
      eac344ef
  27. 31 May, 2013 1 commit
  28. 30 May, 2013 1 commit
    • Sami Pietila's avatar
      Replace scatter scan 32x32 with HW friendly scan. · 5700b4ea
      Sami Pietila authored
      The first 240 coeff positions (15 top-left blocks) are scanned in the
      same order as in scatter scan, after that the coeffs are scanned in
      "block bands", each band at a time, all coeffs in one band before
      moving on to the next band. This brings down the amount of 4x4 coeff
      blocks that need to be buffered while scanning, from 15 blocks to 8 blocks.
      
      Change-Id: I478a991d63c48bd5e64d36e59fed7a00c9a651ba
      5700b4ea
  29. 29 May, 2013 2 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
    • Sami Pietila's avatar
      Residual coding to cache energy class of tokens. · 88a4d4c5
      Sami Pietila authored
      Proposal for tuning the residual coding by changing how the context
      from previous tokens is calculated. Storing the energy class of previous
      tokens instead of the token itself eases the critical path of
      HW implementations.
      
      Change-Id: I6d71d856b84518f6c88de771ddd818436f794bab
      88a4d4c5
  30. 28 May, 2013 1 commit
  31. 24 May, 2013 1 commit
  32. 23 May, 2013 1 commit