1. 21 Nov, 2013 1 commit
  2. 14 Nov, 2013 3 commits
  3. 13 Nov, 2013 3 commits
    • Jingning Han's avatar
      Fix an overflow issue in SSE2 forward ADST · fabc7836
      Jingning Han authored
      The step that sums three input samples could potentially cause the
      intermediate result go beyond 16 bit limit, when operating as the
      second 1-D transform. This commit fixes the issue.
      
      Change-Id: Iaf512449ac2d25ddd8a806d760afab362c62a516
      fabc7836
    • Jingning Han's avatar
      Dual buffer encoding for intra modes · b6b91432
      Jingning Han authored
      Overall change (using dual buffer scheme for superblocks of both inter
      and intra modes) reduces speed 2 runtime:
      bluesky_1080p at 6000kbps:   263553ms -> 257441ms
      riverbed_1080p at 8000kbps:  233230ms -> 225308ms.
      
      Change-Id: Idf8d70f768a4b0d97b2a8506372c57b7b4022119
      b6b91432
    • Dmitry Kovalev's avatar
      Moving q_index from MACROBLOCKD to MACROBLOCK. · 3f3d14e1
      Dmitry Kovalev authored
      Moving because q_index is used only by encoder.
      
      Change-Id: I0b96175614ed4fd3d76ee56a0ba36258e1e896f6
      3f3d14e1
  4. 12 Nov, 2013 6 commits
  5. 11 Nov, 2013 3 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
    • Dmitry Kovalev's avatar
      Replacing raster_block with block in the encoder. · 94d4add1
      Dmitry Kovalev authored
      We only used "ib" to call get_scan() function, which in turn calls
      get_tx_type_4x4() function. The latter one only needs block index if
      bsize < BLOCK_8X8 -- under that condition raster_block == block.
      
      Change-Id: I697306a0c3cf937acdd4f5e623d4367c5acc0b2f
      94d4add1
  6. 08 Nov, 2013 2 commits
  7. 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
  8. 06 Nov, 2013 5 commits
  9. 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
  10. 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
  11. 03 Nov, 2013 2 commits
  12. 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
  13. 31 Oct, 2013 2 commits
  14. 30 Oct, 2013 3 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