1. 21 Nov, 2013 1 commit
  2. 20 Nov, 2013 1 commit
  3. 19 Nov, 2013 2 commits
    • Jingning Han's avatar
      Use restore_dst_buf in handle_inter_mode · 82c32fe1
      Jingning Han authored
      There are many places in handle_inter_mode that need to restore the
      dst buffer pointers, due to buffer pointer swap and early rd search
      breakout. This commit wraps these operations into an inline function
      for clean-up.
      
      Change-Id: I0462e8c41c8bc3cd8db07395489cac03d8e5be54
      82c32fe1
    • Dmitry Kovalev's avatar
      Removing raster_block_offset_uint8() function. · 953b1e96
      Dmitry Kovalev authored
      There is no need to use that function, it is much clear to pass offset
      directly to the buffer.
      
      Change-Id: I9026cb0c5094c46f97df5d7f7daeb952f2843b24
      953b1e96
  4. 18 Nov, 2013 1 commit
    • Yaowu Xu's avatar
      Fixed a bug in commit a4a5a210 · e63aaf9a
      Yaowu Xu authored
      Commit a4a5a210 enabled lossless coding, but the commit incorrectly
      disabled the usage of skip in encoder even when skip should be used.
      This commit make sure that skip is enabled even in lossless mode.
      
      Change-Id: I276954f952c6ac68f17a316ebc72f09001228a08
      e63aaf9a
  5. 15 Nov, 2013 1 commit
  6. 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
  7. 12 Nov, 2013 3 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
    • Dmitry Kovalev's avatar
      Cleaning up joint_motion_search function. · 14f2cf17
      Dmitry Kovalev authored
      Change-Id: I70a0878b23bda0ac3ff8733b4c96d5c636bc551c
      14f2cf17
  8. 11 Nov, 2013 1 commit
  9. 08 Nov, 2013 1 commit
  10. 06 Nov, 2013 1 commit
  11. 05 Nov, 2013 2 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
  12. 04 Nov, 2013 1 commit
    • 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
  13. 03 Nov, 2013 2 commits
  14. 30 Oct, 2013 3 commits
  15. 29 Oct, 2013 2 commits
    • Dmitry Kovalev's avatar
      Fixing wrongly initialized tx_type variable. · e6dcf2ae
      Dmitry Kovalev authored
      Wrong value was used in get_tx_type_4x4() function, so making
      initialization before that call.
      
      Change-Id: Ief30bb1e0c03b2f23d993bbf9ae18d7150ba9a83
      e6dcf2ae
    • Dmitry Kovalev's avatar
      Removing is_intra_mode() function. · aa76cd1e
      Dmitry Kovalev authored
      It is enough to check just block type: intra or inter. Intra block implies
      intra prediction mode, and inter block implies inter mode.
      
      Change-Id: I3cf98731a3935f670a3cd8e2b2443483eb944be4
      aa76cd1e
  16. 28 Oct, 2013 2 commits
    • Dmitry Kovalev's avatar
      Cleaning up vp9_regular_quantize_b_4x4. · 8253532c
      Dmitry Kovalev authored
      Passing scan & iscan as parameters, adding useful local variables.
      
      Change-Id: Ia2a87906941db9557350d273669ce5c3cdb7235d
      8253532c
    • 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
  17. 24 Oct, 2013 1 commit
  18. 23 Oct, 2013 1 commit
    • Jingning Han's avatar
      Use inter mode flag in super_block_yrd · f3b31380
      Jingning Han authored
      Use a flag variable to determine if coded in inter mode, thus avoiding
      multiple inter mode checks in super_block_yrd.
      
      Change-Id: I0ef998b2811c38e185a2e0583f0f636cee45d2cf
      f3b31380
  19. 22 Oct, 2013 3 commits
    • Yunqing Wang's avatar
      Improve scale_factors struct · 175c313a
      Yunqing Wang authored
      The ref's scale_factors are set at frame level, and then copied for
      each partition block. Since the struct members are mostly constant,
      this patch separated the constant and non-constant members, and
      reduced struct copying. This gave 0.5% ~ 1.4% decoder speed gain.
      
      Change-Id: I94043bf5a6995c8042da52e5c661818dfa6f6d4c
      175c313a
    • Dmitry Kovalev's avatar
      Removing quantize_b_4x4 function pointer. · ec414372
      Dmitry Kovalev authored
      The pointer was asigned only once with vp9_regular_quantize_b_4x4, calling
      this function directly now. Also removing unused declarations:
        prototype_quantize_block
        prototype_quantize_block_pair
        prototype_quantize_mb
        vp9_regular_quantize_b_4x4_pair
        vp9_regular_quantize_b_8x8
      
      Change-Id: I14325bc2f082336820671eafbc06126651b79f73
      ec414372
    • Jingning Han's avatar
      Prevent left_block_mode stepping into left tile · c8079494
      Jingning Han authored
      This commit uses left_available flag to decide if the left mode_info
      struct is available for left_block_mode. As discussed with James
      Zern (jzern@), this prevents the codec from fetching mode_info from
      blocks in the left tile, which although effectively not used might
      present concerns for multi-threaded tile decoding.
      
      This is NOT a bit-stream change.
      
      Change-Id: I1dc8cf1bcbf056688eee27c7bc5706ac4b4e0125
      c8079494
  20. 21 Oct, 2013 3 commits
  21. 19 Oct, 2013 1 commit
    • Dmitry Kovalev's avatar
      Removing NUM_ prefix from constant names. · 6d2a0da7
      Dmitry Kovalev authored
      Renames for consistency with other constants:
        NUM_FRAME_TYPES -> FRAME_TYPES
        NUM_PARTITION_CONTEXTS -> PARTITION_CONTEXTS
      
      Change-Id: I3db30acb2868eb0a424237c831087b2e264ec47f
      6d2a0da7
  22. 18 Oct, 2013 1 commit
    • 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
  23. 17 Oct, 2013 2 commits
  24. 16 Oct, 2013 2 commits
    • Guillaume Martres's avatar
      Get rid of "this_mi", use "mi_8x8[0]" everywhere instead · acf0d56f
      Guillaume Martres authored
      The only case where they were intentionally pointing to different
      structures was in mbgraph, and this didn't have the expected behavior
      because both of these pointers are used interchangeably through the code
      
      Change-Id: I979251782f90885fe962305bcc845bc05907f80c
      acf0d56f
    • Dmitry Kovalev's avatar
      Adding get_band_translate() function. · 9deb614a
      Dmitry Kovalev authored
      Moving code that gets band_translate array from get_scan_and_band()
      function to get_band_translate() function. Renaming get_scan_and_band() to
      get_scan().
      
      Change-Id: I43047c205a1ca2a6e24be44db39dc04b7a385008
      9deb614a