1. 11 Dec, 2013 1 commit
    • James Zern's avatar
      vp9 mt decode: reorder tile decode · 345fbfef
      James Zern authored
      reorder the tiles based on size and their presumed complexity. this
      minimizes the cases where the main thread is waiting on a worker to
      complete.
      
      Change-Id: Ie80642c6a1d64ece884f41683d23a3708ab38e0c
      345fbfef
  2. 10 Dec, 2013 1 commit
  3. 09 Dec, 2013 1 commit
  4. 06 Dec, 2013 3 commits
  5. 05 Dec, 2013 1 commit
    • Frank Galligan's avatar
      Fix the initial references to frame buffers. · 9ed616a5
      Frank Galligan authored
      The old code would start in a mixed state, where all the reference
      frames were pointing to frame buffer 0, but the reference counts
      were 0. This is why we needed special code for the first frame.
      
      Change-Id: I734961012917654ff8c0c8b317aac00ab75ded1a
      9ed616a5
  6. 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
  7. 02 Dec, 2013 1 commit
    • Dmitry Kovalev's avatar
      Using local variable for token_cache. · 5ab920d2
      Dmitry Kovalev authored
      The difference with the old code is that originally the whole token_cache
      was initialized with zeros at the beginning of decode_coefs() function.
      Now we set several zero values explicitly with "token_cache[scan[c]] = 0".
      
      Change-Id: I88cc5031f01d13012d1a4491739c36cb44f9401e
      5ab920d2
  8. 27 Nov, 2013 2 commits
  9. 26 Nov, 2013 1 commit
    • Dmitry Kovalev's avatar
      Deleting vp9_treereader.h file. · d7efe068
      Dmitry Kovalev authored
      Renaming treed_read() to consistent vp9_read_tree() and moving it from
      deleted vp9_treereader.h to vp9_dboolhuff.h file.
      
      Change-Id: Iedd8655acbe25e4fcf62b79e5a13bdea69b6b004
      d7efe068
  10. 25 Nov, 2013 1 commit
    • Jingning Han's avatar
      Use separate inter predictors for enc/dec · ba8b5e8d
      Jingning Han authored
      The decoder will construct inter predictor using lazy border extension,
      while the encoder, going with multiple runs of motion search in the rate-
      distortion optimization loop for each block, does border extension at
      frame level. This commit makes separate the inter predictors for encoder
      and decoder, respectively.
      
      Change-Id: Ieca2fecba3a7201a6d64ef9f219e5d91e50559c3
      ba8b5e8d
  11. 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
  12. 22 Nov, 2013 2 commits
  13. 21 Nov, 2013 1 commit
  14. 20 Nov, 2013 1 commit
  15. 19 Nov, 2013 1 commit
  16. 18 Nov, 2013 1 commit
  17. 15 Nov, 2013 1 commit
    • Yaowu Xu's avatar
      Renamed two files · 49cbe458
      Yaowu Xu authored
      from vp9_decodframe.{c,h} to vp9_decodeframe.{c,h}
      
      Change-Id: I21ac4b14fc90246e3f16bd90c52c12d126d791f8
      49cbe458
  18. 14 Nov, 2013 3 commits
  19. 12 Nov, 2013 3 commits
  20. 11 Nov, 2013 1 commit
    • 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
  21. 09 Nov, 2013 1 commit
  22. 08 Nov, 2013 1 commit
  23. 07 Nov, 2013 3 commits
    • Dmitry Kovalev's avatar
      Replacing (raster_block >> tx_size) with (block >> (tx_size << 1)). · d28f30ef
      Dmitry Kovalev authored
      The new expression is much more logical than previous one. Surprisingly
      both expressions give exactly the same set of dependent values
      -- have_top, have_left, have_right -- in vp9_predict_intra_block.
      
      Change-Id: I63eb1b592b8c37883b3a0dbb1f3daa271e446109
      d28f30ef
    • Dmitry Kovalev's avatar
      Unifying tile decoding for both direct and inverse tile order. · 672ba3dd
      Dmitry Kovalev authored
      Now tile decoding consists of two stages:
      1. Find tile buffer start and its size, put this info into tile_buffers.
      2. Decode each tile based on information from tile_buffers.
      
      It seems that stage 1 can also be reused by multithreaded tile decoder.
      
      Change-Id: If0cdaefdd6d10bb41c63561346c9ae4cfac081dd
      672ba3dd
    • Dmitry Kovalev's avatar
      Using pd->dqcoeff instead of pd->qcoeff in the decoder. · a1dc97be
      Dmitry Kovalev authored
      It is more logical to use dqcoeff buffer to put there *dequantized*
      transform coefficients (inside inverse_transform_block and
      decode_coefs functions). Dequantization happens inside WRITE_COEF_CONTINUE
      macro.
      
      qcoeff buffer should be only used in the encoder for *quantized*
      transform coefficients.
      
      Change-Id: Ifd54bef272bbf5311ced6669c4f1079f998af5d7
      a1dc97be
  24. 05 Nov, 2013 2 commits
  25. 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
  26. 01 Nov, 2013 1 commit
    • Yaowu Xu's avatar
      Two optimizations: · a272530b
      Yaowu Xu authored
      1. Reduced the size memset based on eob for 32x32 transform. The reset
      of non-zero coefficient should probably go into where they are read in
      inverse transform functions. (TODO)
      2. Removed a redundant level of indirection.
      vp9_iht4x4_add() checks transform type and call vp9_iht4x4_16_add()
      for tranforms other than DCT_DCT. In this case, the DCT_DCT case
      has been already handled here.
      
      Change-Id: Iacbc77da761f0b308df5acea0f20c9add9f33d20
      a272530b
  27. 31 Oct, 2013 2 commits
    • Yaowu Xu's avatar
      simplify read_coef_prob() · a49e77af
      Yaowu Xu authored
      Change-Id: I529c634db4f81ba5386092c126f53312b1e51b2b
      a49e77af
    • Dmitry Kovalev's avatar
      Reducing the number of foreach_transformed_block() calls. · 47b6030d
      Dmitry Kovalev authored
      The change doesn't affect the bitstream. It changes the order or function
      calls and affects how we reconstruct intra- and inter-blocks. Speed up is
      about 1...1.5%.
      
      For intra-blocks:
        Before:
          for each transform block read tokens
          for each transform block do prediction
          for each transform block do inverse transform
        Now:
          for each transform block
            read tokens
            do prediction
            do inverse transform
      
      For inter-blocks:
        Before:
          for each transform block read tokens
          for each transform block do inverse transform
        Now:
          for each transform block
            read tokens
            do inverse transform
      
      Change-Id: I12a79bf1aa5a18c351b8010369bd3ff1deae1570
      47b6030d
  28. 30 Oct, 2013 1 commit