1. 11 Oct, 2013 1 commit
    • Dmitry Kovalev's avatar
      Replacing {VP9_COEF, MODE}_UPDATE_PROB with DIFF_UPDATE_PROB. · 4a0f9478
      Dmitry Kovalev authored
      Values of MODE_UPDATE_PROB and VP9_COEF_UPDATE_PROB are equal, so replacing
      them with one constant. Inlining appropriate arguments for functions:
        vp9_cond_prob_diff_update (encoder)
        vp9_diff_update_prob (decoder)
      
      Change-Id: I1255a1cb477743b799b3bfbbcd8de6b32b067338
      4a0f9478
  2. 10 Oct, 2013 1 commit
  3. 06 Oct, 2013 1 commit
  4. 04 Oct, 2013 2 commits
    • Dmitry Kovalev's avatar
      Giving consistent names to IDCT/IWHT functions. · 3a060257
      Dmitry Kovalev authored
      The idea is to have the following names for each transform size:
      
      vp9_idct4x4_add
        vp9_idct4x4_1_add
        vp9_idct4x4_10_add
        vp9_idct4x4_16_add
      
      vp9_idct8x8_add
        vp9_idct8x8_1_add
        vp9_idct8x8_10_add
        vp9_idct8x8_64_add
      
      etc for 16x16, 32x32
      
      The actual list of renames in this patch:
      
      vp9_idct_add_lossless     -> vp9_iwht4x4_add
      vp9_short_iwalsh4x4_add   -> vp9_iwht4x4_16_add
      vp9_short_iwalsh4x4_1_add -> vp9_iwht4x4_1_add
      
      vp9_idct_add            -> vp9_idct4x4_add
      vp9_short_idct4x4_add   -> vp9_idct4x4_16_add
      vp9_short_idct4x4_1_add -> vp9_idct4x4_1_add
      
      Change-Id: I6f43f7437c68dd30cdd05d72e213765578ed30b1
      3a060257
    • Dmitry Kovalev's avatar
      Adding vp9_get_filter_kernel() function. · 9ec09700
      Dmitry Kovalev authored
      Moving INTERPOLATIONFILTERTYPE enum and subpix_fn_table struct to
      vp9_filter.h. Adding convenient typedef for subpel kernels.
      
      Function vp9_setup_interp_filters() besides setting xd->subpix.filter_x &
      xd->subpix.filter_y has a side effect of also setting scale factors. This
      is not required inside decode_modes_b() because scale factors have been
      already set by set_ref() calls. That's why replacing
      vp9_setup_interp_filters() call with newly created vp9_get_filter_kernel()
      call. The behavior of vp9_setup_interp_filters() is unchanged (it
      is used from the encoder).
      
      Change-Id: I3f36d3f7cd8d15195a6e2fafd1777cdaf9ecb847
      9ec09700
  5. 03 Oct, 2013 3 commits
  6. 02 Oct, 2013 2 commits
  7. 01 Oct, 2013 1 commit
    • Dmitry Kovalev's avatar
      Making decode_modes_b function more straightforward. · aeb603f2
      Dmitry Kovalev authored
      Moving out decode_tokens function calls and adding decode_blocks boolean
      variable. We only have to decode if eobtotal > 0, i.e. we have at least one
      non-zero coefficient. Also inlining and remove vp9_set_pred_flag_mbskip
      function.
      
      Change-Id: I7be38b12ee8206faf0beea2bbf4d52be42575b03
      aeb603f2
  8. 29 Sep, 2013 1 commit
  9. 27 Sep, 2013 1 commit
  10. 11 Sep, 2013 1 commit
    • Scott LaVarnway's avatar
      New mode_info_context storage -- undo revert · ac6093d1
      Scott LaVarnway authored
      mode_info_context was stored as a grid of MODE_INFO structs.
      The grid now constists of pointers to MODE_INFO structs.  The
      MODE_INFO structs are now stored as a stream (decoder only),
      eliminating unnecessary copies and is a little more cache
      friendly.
      
      Change-Id: I031d376284c6eb98a38ad5595b797f048a6cfc0d
      ac6093d1
  11. 09 Sep, 2013 1 commit
  12. 06 Sep, 2013 1 commit
    • Scott LaVarnway's avatar
      New mode_info_context storage · dae17734
      Scott LaVarnway authored
      mode_info_context was stored as a grid of MODE_INFO structs.
      The grid now constists of a pointer to a MODE_INFO struct and
      a "in the image" flag.  The MODE_INFO structs are now stored
      as a stream, eliminating unnecessary copies and is a little
      more cache friendly.
      
      For the test clips used, the decoder performance improved
      by ~4.3% (1080p) and ~9.7% (720p).
      
      Patch Set 2: Re-encoded clips with latest. Now ~1.7% (1080p)
      and 5.9% (720p).
      
      Change-Id: I846f29e88610fce2523ca697a9a9ef2a182e9256
      dae17734
  13. 04 Sep, 2013 2 commits
  14. 29 Aug, 2013 1 commit
  15. 28 Aug, 2013 1 commit
    • Dmitry Kovalev's avatar
      General code cleanup. · b62ddd5f
      Dmitry Kovalev authored
      Switching from mi_{width, height}_log2 and b_{width, height}_log2 to
      num_8x8_blocks_{wide, high} and num_4x4_blocks_{wide, high}. Removing
      redundant code, adding const.
      
      Change-Id: Iaab2207590fd24d0b76999071778d1395dc5cd5d
      b62ddd5f
  16. 27 Aug, 2013 1 commit
  17. 26 Aug, 2013 2 commits
  18. 24 Aug, 2013 1 commit
  19. 23 Aug, 2013 1 commit
  20. 22 Aug, 2013 4 commits
    • Dmitry Kovalev's avatar
      check_bsize_coverage cleanup. · 335b1d36
      Dmitry Kovalev authored
      Change-Id: Ib7803857b35c00e317c9deb8630e777e25eb278f
      335b1d36
    • Dmitry Kovalev's avatar
      Checking scale factors on access. · 3c426572
      Dmitry Kovalev authored
      It is possible to have invalid scale factors and not access them
      during decoding. Error is reported if we really try to use invalid scale
      factors.
      
      Change-Id: Ie532d3ea7325ee0c7a6ada08269f804350c80fdf
      3c426572
    • Dmitry Kovalev's avatar
      Removing useless calls to setup_{pre, dst}_planes. · 09858c23
      Dmitry Kovalev authored
      Comment is wrong, we don't initialize any xd pointers. We only initialize
      xd->planes[i]->dst and xd->planes[i]->pre[], which are actually initialized
      for every block during the decoding.
      
      Change-Id: If152ea872ebef1f83ca70712fa6f8df1b6855f56
      09858c23
    • James Zern's avatar
      vp9: remove unnecessary wait w/threaded loopfilter · 85640f1c
      James Zern authored
      the final macroblock rows are scheduled in the main thread. prior to
      this change one additional macroblock row would be scheduled in the
      worker forcing the main thread to wait before finishing.
      
      Change-Id: I05f3168e5c629b898fcebb0d77eb6d6a90d6105e
      85640f1c
  21. 19 Aug, 2013 2 commits
    • Dmitry Kovalev's avatar
      Passing plane_bsize to foreach_transformed_block_visitor. · 82d4d9a0
      Dmitry Kovalev authored
      Updating all foreach_transformed_block_visitor functions to work with
      plane block size instead of general block. Removing a lot of duplicated
      code.
      
      Change-Id: I6a9069e27528c611f5a648e1da0c5a5fd17f1bb4
      82d4d9a0
    • Dmitry Kovalev's avatar
      Using plane_bsize instead of bsize. · 2e3478a5
      Dmitry Kovalev authored
      This change set is intermediate. The next one will remove all repetitive
      plane_bsize calculations, because it will be passed as argument to
      foreach_transformed_block_visitor.
      
      Change-Id: Ifc12e0b330e017c6851a28746b3a5460b9bf7f0b
      2e3478a5
  22. 16 Aug, 2013 1 commit
    • Dmitry Kovalev's avatar
      Moving from ss_txfrm_size to tx_size. · afd9bd3e
      Dmitry Kovalev authored
      Updating foreach_transformed_block_visitor and corresponding functions
      to accept tx_size instead of ss_txfrm_size. List of functions per file:
      
      vp9_decodframe.c
        decode_block
        decode_block_intra
      
      vp9_detokenize.c
        decode_block
      
      vp9_encodemb.c
        optimize_block
        vp9_xform_quant
        vp9_encode_block_intra
      
      vp9_rdopt.c
        dist_block
        rate_block
        block_yrd_txfm
      
      vp9_tokenize.c
        set_entropy_context_b
        tokenize_b
        is_skippable
      
      Change-Id: I351bf563eb36cf34db71c3f06b9bbc9a61b55b73
      afd9bd3e
  23. 15 Aug, 2013 3 commits
  24. 14 Aug, 2013 2 commits
    • Dmitry Kovalev's avatar
      foreach_transformed_block_in_plane cleanup, explicit tx_size var. · bb072000
      Dmitry Kovalev authored
      Making foreach_transformed_block_in_plane more clear (it's not finished
      yet). Using explicit tx_size variable consistently instead of
      (ss_txfrm_size / 2) or (ss_txfrm_size >> 1) expression.
      
      Change-Id: I1b9bba2c0a9f817fca72c88324bbe6004766fb7d
      bb072000
    • Paul Wilkins's avatar
      Renaming in MB_MODE_INFO · 26fead7e
      Paul Wilkins authored
      The macro block mode info context originally contained an
      entry for each 16x16 macroblock. In VP9 each entry refers
      to an 8x8 region not a macro block, so the naming is misleading.
      
      This first stage clean up changes the names of 3 entries in the
      structure to remove the mb_ prefix.
      
      TODO clean up the nomenclature more widely in respect of
      mbmi and bmi.
      
      Change-Id: Ia7305c6d0cb805dfe8cdc98dad21338f502e49c6
      26fead7e
  25. 13 Aug, 2013 1 commit
  26. 12 Aug, 2013 1 commit
  27. 09 Aug, 2013 1 commit