1. 14 Nov, 2013 1 commit
  2. 13 Nov, 2013 1 commit
    • 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
  3. 12 Nov, 2013 2 commits
    • 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
  4. 11 Nov, 2013 1 commit
    • 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
  5. 07 Nov, 2013 1 commit
    • 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
  6. 30 Oct, 2013 1 commit
    • 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
  7. 26 Oct, 2013 1 commit
    • Dmitry Kovalev's avatar
      Adding fht{4x4, 8x8, 16x16} functions. · ae2f732e
      Dmitry Kovalev authored
      Adding these functions to encapsulate tx_type check. Changing TX_TYPE to
      int to match the declaration in vo9_rtch.h.
      
      Change-Id: I6f3a2df6e35595ca73b6aaa9e3909ee7bc3fd16f
      ae2f732e
  8. 23 Oct, 2013 4 commits
  9. 21 Oct, 2013 1 commit
  10. 18 Oct, 2013 2 commits
  11. 17 Oct, 2013 1 commit
  12. 16 Oct, 2013 4 commits
  13. 11 Oct, 2013 2 commits
  14. 10 Oct, 2013 1 commit
  15. 08 Oct, 2013 1 commit
    • Dmitry Kovalev's avatar
      Removing inv_txm4x4_1_add and inv_txm4x4_add function pointers. · c983c966
      Dmitry Kovalev authored
      We already have itxm_add member in MACROBLOCKD structure. Both
      inv_txm4x4_1_add and inv_txm4x4_add are just its special cases for
      different eob values. But eob logic is already implemented in
      vp9_iwht4x4_add and vp9_idct4x4_add (that's why also removing
      inverse_transform_b_4x4_add).
      
      Change-Id: I80bec9b6f7d40c5e5033c613faca5c819c3e6326
      c983c966
  16. 07 Oct, 2013 2 commits
  17. 06 Oct, 2013 2 commits
  18. 02 Oct, 2013 1 commit
    • Dmitry Kovalev's avatar
      Moving all idct/iht functions in one place. · be7eec79
      Dmitry Kovalev authored
      Moving functions from vp9_idct_blk to vp9_idct because these functions are
      used from both encoder and decoder. Removing duplicated code from
      vp9_encodemb.c and reusing existing functions.
      
      Change-Id: Ia0a6782f8c4c409efb891651b871dd4bf22d5fe8
      be7eec79
  19. 27 Sep, 2013 2 commits
  20. 26 Sep, 2013 1 commit
  21. 25 Sep, 2013 1 commit
  22. 23 Sep, 2013 1 commit
    • Jingning Han's avatar
      Enable per transformed block zero coeffs forcing · a517343c
      Jingning Han authored
      This commit enables forcing all coefficients zero per transformed
      block, when its rate-distortion cost is lower than regular coeff
      quantization.
      
      The overall performance improvement (including its parent patch on
      calculating rd cost per transformed block) at speed 1:
      derf:  0.298%
      yt:    0.452%
      hd:    0.741%
      stdhd: 0.006%
      
      Change-Id: I66005fe0fd7af192c3eba32e02fd6d77952accb5
      a517343c
  23. 19 Sep, 2013 1 commit
  24. 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
  25. 09 Sep, 2013 1 commit
  26. 07 Sep, 2013 1 commit
    • Jingning Han's avatar
      Fix overflow issue in 16x16 quantization SSSE3 · 09bc942b
      Jingning Han authored
      The 16x16 transform unit test suggested that the peak coefficient
      value can reach 32639. This could cause potential overflow issue
      in the SSSE3 implmentation of 16x16 block quantization. This commit
      fixes this issue by replacing addition with saturated addition.
      
      Change-Id: I6d5bb7c5faad4a927be53292324bd2728690717e
      09bc942b
  27. 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
  28. 28 Aug, 2013 1 commit