1. 09 Dec, 2013 1 commit
  2. 06 Dec, 2013 3 commits
    • Yaowu Xu's avatar
      Disable early exit based on distortion in lossless · f8c06fb2
      Yaowu Xu authored
      In lossless coding, distortion is always 0. Early exit based on this
      metric was incorrect.
      
      This CL also changed to use best_rd instead of distortion as the metric
      for easly exit as requested by Jim.
      
      Change-Id: I8ef3e407ac03b4abc3283b273f936a68fad5c2ab
      f8c06fb2
    • Dmitry Kovalev's avatar
      Renaming reference mode context calculation function. · 63963f51
      Dmitry Kovalev authored
      Renames:
        vp9_get_pred_context_comp_inter_inter => vp9_get_reference_mode_context
        vp9_get_pred_prob_comp_inter_inter    => vp9_get_reference_mode_prob
      
      Change-Id: I3bbb69481e6b0c848028667c9269f567f293d3bd
      63963f51
    • Dmitry Kovalev's avatar
      vp9_get_pred_context_intra_inter() clean up. · 6fd71e1b
      Dmitry Kovalev authored
      Renaming:
       vp9_get_pred_context_intra_inter => vp9_get_intra_inter_context
       vp9_get_pred_prob_intra_inter    => vp9_get_intra_inter_prob
      
      Change-Id: I2c1affea2e84f4e616137c6df82adb11c7845781
      6fd71e1b
  3. 05 Dec, 2013 1 commit
  4. 04 Dec, 2013 1 commit
    • Dmitry Kovalev's avatar
      Moving eob array to the encoder. · f00d157c
      Dmitry Kovalev authored
      In the decoder we don't need to save eobs, we can pass eob as an argument.
      That's why removing eob arrays from VP9Decompressor and TileWorkerData,
      and moving eob pointer from macroblockd_plane to macroblock_plane.
      
      Change-Id: I8eb919acc837acfb3abdd8319af63d1bbca8217a
      f00d157c
  5. 02 Dec, 2013 1 commit
  6. 27 Nov, 2013 1 commit
  7. 25 Nov, 2013 1 commit
    • Paul Wilkins's avatar
      In frame Q adjustment experiment. · 644bd87e
      Paul Wilkins authored
      The idea here is to allow "in frame" adjustment of the final Q
      value used to encode each SB64, using segmentation.
      
      There is also adjustment of the rd mult in regions of overspend.
      
      Activated using aq_mode=2
      
      Change-Id: I2f140cd898c9f877c32cd6d2e667f5e11ada4b1c
      644bd87e
  8. 23 Nov, 2013 1 commit
    • Dmitry Kovalev's avatar
      Renaming COMPPREDMODE_TYPE enum and its members. · fb9c19c6
      Dmitry Kovalev authored
      List of renames:
        COMPPREDMODE_TYPE      => REFERENCE_MODE
        SINGLE_PREDICTION_ONLY => SINGLE_REFERENCE
        COMP_PREDICTION_ONLY   => COMPOUND_REFERENCE
        HYBRID_PREDICTION      => REFERENCE_MODE_SELECT (like TX_MODE_SELECT)
        NB_PREDICTION_TYPES    => REFERENCE_MODES
      
      Change-Id: If723dabe9435325d0165dcd028142a2c78b417b4
      fb9c19c6
  9. 22 Nov, 2013 1 commit
  10. 21 Nov, 2013 2 commits
  11. 18 Nov, 2013 1 commit
  12. 15 Nov, 2013 2 commits
  13. 13 Nov, 2013 2 commits
    • 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
  14. 12 Nov, 2013 2 commits
    • 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
  15. 11 Nov, 2013 1 commit
  16. 07 Nov, 2013 1 commit
  17. 06 Nov, 2013 2 commits
  18. 04 Nov, 2013 1 commit
    • 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
  19. 30 Oct, 2013 1 commit
  20. 29 Oct, 2013 1 commit
  21. 28 Oct, 2013 1 commit
    • James Zern's avatar
      vp9: add TileInfo · 58a0f6db
      James Zern authored
      replaces use of cur_tile_mi_(row|col)_(start|end) by VP9_COMMON, making
      it less stateful and more reusable for parallel tile decoding
      
      Change-Id: I1df09382b4567a0e5f4434825d47c79afe2399be
      58a0f6db
  22. 25 Oct, 2013 4 commits
  23. 24 Oct, 2013 2 commits
  24. 23 Oct, 2013 1 commit
  25. 21 Oct, 2013 1 commit
    • Dmitry Kovalev's avatar
      Inlining set_partition_seg_context function. · a0be71c7
      Dmitry Kovalev authored
      We used set_partition_seg_context() only before calls to:
       1. update_partition_context()
       2. partition_plane_context()
      
      Moving these functions from vp9_blockd.h to vp9_onyxc_int.h and
      inlining  set_partition_seg_context into them. After that it is not
      necessary to have {above, left}_seg_context fields in MACROBLOCKD struture,
      so removing them also.
      
      Change-Id: I4723f59e1c8f3788432b7f51185d8d747b3a97f9
      a0be71c7
  26. 18 Oct, 2013 2 commits
    • Jingning Han's avatar
      Make memory alloc in pick_mode_context bsize aware · 72033fcf
      Jingning Han authored
      This commit makes the buffer allocation of zcoeff_blk array in
      pick_mode_context block size aware. It calculates the number of
      4x4 blocks in the partition and assigns the memory space accordingly.
      This process (and the uninitialization) is done once for each encoding
      pass. It allows memory copy of smaller buffer when possible.
      
      For football at 600kbps, the runtimes improve by about 1%:
      speed 1, 45961ms -> 45472ms
      speed 2, 23863ms -> 23598ms
      
      Change-Id: Id2ca24906fa89f46fa5fe742ec4b8efc2a61f877
      72033fcf
    • Dmitry Kovalev's avatar
      Passing block index explicitly instead of using get_sb_index(). · a8ffa96e
      Dmitry Kovalev authored
      That makes decoder and encoder (only bitstream writing part) a little bit
      simpler and faster. Moving get_sb_index() function to the encoder.
      
      Change-Id: Ie91aaeefd69c84b085948267b33556a7666c6278
      a8ffa96e
  27. 17 Oct, 2013 2 commits