1. 13 Nov, 2013 - 1 commit
  2. 12 Nov, 2013 - 5 commits
    • Dmitry Kovalev's avatar
      Adding const to tree pointer inside vp9_extra_bit struct. · 20f34ff0
      Dmitry Kovalev authored
      Change-Id: I60e02fa3de930ff1f969687ab5af93dee40d86ad
      20f34ff0
    • Deb Mukherjee's avatar
      Removes conditional statements from band getting · 5ade4237
      Deb Mukherjee authored
      Implements scan order to band map with arrays in both the encoder
      and decoder to remove conditional statements.
      
      Encoding seems to be about 1% faster at speed 0, tested on football.
      Decoding seems to be about 0.5-1% faster on a set of 25 videos.
      
      Change-Id: Idb233ca0b9e0efd790e30880642e8717e1c5c8dd
      5ade4237
    • Jingning Han's avatar
      Enable dual buffer rd search and encoding scheme · 34b6abef
      Jingning Han authored
      This commit enables the dual buffer rate-distortion optimization
      and encoding scheme. It stacks the original transform coefficients,
      quantized levels, and reconstructed coefficients, in the rate-
      distortion optimization search process, hence eliminates the need
      to re-run residual generation, forward transform, and quantization
      in the encoding stage.
      
      Change-Id: I011bfad3a59a380a869ee552e91dae0394ec492e
      34b6abef
    • Jingning Han's avatar
      Allocate dual buffer sets for encoding · 3b3aea68
      Jingning Han authored
      Allocate memory space of dual buffer sets that store the coeff, qcoeff,
      dqcoeff, and eobs. Connect the pointers of macroblock_plane and
      macroblockd_plane to the actual buffer in use accordingly.
      
      Change-Id: I2f0b5f482ca879fae39095013eaf8901db20a5a4
      3b3aea68
    • Dmitry Kovalev's avatar
      Cleaning up joint_motion_search function. · 14f2cf17
      Dmitry Kovalev authored
      Change-Id: I70a0878b23bda0ac3ff8733b4c96d5c636bc551c
      14f2cf17
  3. 11 Nov, 2013 - 2 commits
    • Dmitry Kovalev's avatar
      Moving {sb, mb, b, ab}_index from MACROBLOCKD to MACROBLOCK. · 3551e250
      Dmitry Kovalev authored
      We use {sb, mb, b, ab}_index only inside encoder, so moving them into
      appropriate data structure.
      
      Change-Id: Ib5c1036716354d9d321e11a60c1634c1cb8f9716
      3551e250
    • Jingning Han's avatar
      Decouple macroblockd_plane buffer usage · d8b4c792
      Jingning Han authored
      Make the macroblockd_plane contain dynamic buffer pointers instead
      static pointers to the memory space allocated therein. The decoder
      uses the buffer allocated in pbi, while encoder will use a dual
      buffer approach for rate-distortion optimization search.
      
      Change-Id: Ie6f24be2dcda35df7c15b4014e5ccf236fb3f76c
      d8b4c792
  4. 08 Nov, 2013 - 2 commits
  5. 07 Nov, 2013 - 3 commits
    • Yunqing Wang's avatar
      Remove TEXTREL from 32bit encoder · d7289658
      Yunqing Wang authored
      This patch fixed the issue reported in "Issue 655: remove textrel's
      from 32-bit vp9 encoder". The set of vp9_subpel_variance functions
      that used x86inc.asm ABI didn't build correctly for 32bit PIC. The
      fix was carefully done under the situation that there was not
      enough registers.
      
      After the change, we got
      $ eu-findtextrel libvpx.so
      eu-findtextrel: no text relocations reported in 'libvpx.so'
      
      Change-Id: I1b176311dedaf48eaee0a1e777588043c97cea82
      d7289658
    • Jingning Han's avatar
      Fix the variable naming in encode_block · e91d7705
      Jingning Han authored
      The term x represents macroblock pointer across encode_block. Change
      the two local variable names to avoid confusion.
      
      Change-Id: Ic732e73023525d673c0a678ed2708ac1edf5a3f9
      e91d7705
    • Paul Wilkins's avatar
      Removed unused rate parameter. · 84b3b037
      Paul Wilkins authored
      Change-Id: I6e4a266fdbad1d222eb45d45b67bbb82d091821a
      84b3b037
  6. 06 Nov, 2013 - 5 commits
  7. 05 Nov, 2013 - 3 commits
    • 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
    • Jingning Han's avatar
      Avoid mv cost check for invalid mv values · c2217f22
      Jingning Han authored
      The compound inter prediction could potentially run with initial
      motion vectors of invalid value and check the mv_cost, which triggers
      overheap read. This commit resolves this issue by forcing a motion
      vector value check for compound inter modes of both superblock and
      sub8x8 block sizes.
      
      Change-Id: I4f4fc19ce83c8272782bc382f12c82a3f03212fc
      c2217f22
    • Dmitry Kovalev's avatar
      Removing old code. · ac115a1f
      Dmitry Kovalev authored
      Change-Id: Ie05cc5e2d8ce12eacdf482a8b75e5a6ce6f59f57
      ac115a1f
  8. 04 Nov, 2013 - 3 commits
    • Dmitry Kovalev's avatar
      Splitting partition_probs array into two arrays. · dde8069e
      Dmitry Kovalev authored
      We only update partition_probs for inter frames but they are constant
      for key frames. It is not necessary to have constants inside frame
      context and copy them every time. This change reduces FRAME_CONTEXT size
      by at least 48 bytes.
      
      
      Change-Id: If70a53be51043f37fe7d113853217937710932a7
      dde8069e
    • Adrian Grange's avatar
      Remove unused members from VP9_COMP · 44e25155
      Adrian Grange authored
      Removed:
      goldfreq, avg_encode_time, avg_pick_mode_time,
      cpu_freq, interquantizer
      member variables from VP9_COMP since they are no longer
      used in the code.
      
      Change-Id: I010a82c217d0da03c3f53d1858d3462190c12dcf
      44e25155
    • Adrian Grange's avatar
      Remove unused member variables from VP9_COMP · a0a6590e
      Adrian Grange authored
      Removed three members from the VP9_COMP data structure:
      inter_zz_count, gf_bad_count, gf_update_recommended.
      
      These were part of the VP8 real-time mode implementation
      that was removed from the initial VP9 codecbase.
      
      Change-Id: I866b083b88ef02c74837277d50ce532ca88492f3
      a0a6590e
  9. 03 Nov, 2013 - 2 commits
  10. 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
  11. 31 Oct, 2013 - 2 commits
  12. 30 Oct, 2013 - 4 commits
    • Marco Paniconi's avatar
      Updates to 1-pass: · b26ce8b1
      Marco Paniconi authored
         -Don't reduce maxQ for gold/alt in CBR mode.
      
         -Fix to min/maxQ for first/initial key frame.
      
         -Add more speeds to datarate test and reduce the starting bitrate for test.
      
      Change-Id: Id2a333d76dd3f6a51b322ca984588e2a22159c58
      b26ce8b1
    • Dmitry Kovalev's avatar
      Replacing (SWITCHABLE_FILTERS + 1) with SWITCHABLE_FILTER_CONTEXTS. · 6761872e
      Dmitry Kovalev authored
      Change-Id: I9781a62bc1a4cd9176554d1271d87dbcafda9cb0
      6761872e
    • Jingning Han's avatar
      Enable all-zero coeff block index for sub8x8 blk · 8c8381d5
      Jingning Han authored
      This commit makes zcoeff_blk cache the case where the entire block
      is quantized to be zero (without applying zero-forcing) in the rate-
      distortion optimization loop, and skip the forward DCT, quantization,
      inverse DCT, and reconstruction process in the encode_block stage.
      
      It now works for all the block sizes, including sub8x8 blocks.
      
      Change-Id: I5ae60a9c436ba3637d11666733554bec4580ef98
      8c8381d5
    • Yunqing Wang's avatar
      Fix x_offset_q4/y_offset_q4 calculation · 9ed2d0a5
      Yunqing Wang authored
      "<< SUBPEL_BITS" needs to be added in the calculation. Call
      set_scaled_offsets() to calculate x_offset_q4 and y_offset_q4.
      
      Change-Id: Ied130ea771510e918f51cd1dc3abe57f4c0962b5
      9ed2d0a5
  13. 29 Oct, 2013 - 4 commits
  14. 28 Oct, 2013 - 3 commits