1. 11 Nov, 2013 - 2 commits
    • 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
    • hkuang's avatar
      Fix a bug in the assembly code. · c689a126
      hkuang authored
      Change-Id: Ic416e3f8a11e82ee298e6f709b2119a9ddf1e2f8
      c689a126
  2. 09 Nov, 2013 - 1 commit
  3. 08 Nov, 2013 - 2 commits
  4. 07 Nov, 2013 - 6 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
    • Yunqing Wang's avatar
      Remove TEXTREL from 32bit encoder · d7289658
      Yunqing Wang authored
      This patch fixed the issue reported in "Issue 655: remove textrel's
      from 32-bit vp9 encoder". The set of vp9_subpel_variance functions
      that used x86inc.asm ABI didn't build correctly for 32bit PIC. The
      fix was carefully done under the situation that there was not
      enough registers.
      
      After the change, we got
      $ eu-findtextrel libvpx.so
      eu-findtextrel: no text relocations reported in 'libvpx.so'
      
      Change-Id: I1b176311dedaf48eaee0a1e777588043c97cea82
      d7289658
    • 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
    • Paul Wilkins's avatar
      Removed unused rate parameter. · 84b3b037
      Paul Wilkins authored
      Change-Id: I6e4a266fdbad1d222eb45d45b67bbb82d091821a
      84b3b037
    • 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
  5. 06 Nov, 2013 - 6 commits
  6. 05 Nov, 2013 - 10 commits
  7. 04 Nov, 2013 - 3 commits
    • 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
    • Adrian Grange's avatar
      Remove unused members from VP9_COMP · 44e25155
      Adrian Grange authored
      Removed:
      goldfreq, avg_encode_time, avg_pick_mode_time,
      cpu_freq, interquantizer
      member variables from VP9_COMP since they are no longer
      used in the code.
      
      Change-Id: I010a82c217d0da03c3f53d1858d3462190c12dcf
      44e25155
    • 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
  8. 03 Nov, 2013 - 2 commits
  9. 02 Nov, 2013 - 1 commit
  10. 01 Nov, 2013 - 3 commits
    • Dmitry Kovalev's avatar
      Removing 'new' probability calculation from convert_distribution(). · df19c6b6
      Dmitry Kovalev authored
      We don't have to calculate 'new' probability in convert_distribution()
      because it is enough to calculate only 'new' counters which could be used
      to calculate probability if necessary. That's why removing a lot of unused
      temporary probability arrays and reducing number of get_binary_prob()
      calls.
      
      Change-Id: I4e14eb7203d1ace61bbddefd6b9b6326be83ba63
      df19c6b6
    • Yaowu Xu's avatar
      Convert filter kernel choice to lookup · 0f76ba55
      Yaowu Xu authored
      Also removed unused declaration related 6 tap filter
      
      Change-Id: Ic17f516141d885157918505f4204081e4c951fad
      0f76ba55
    • 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
  11. 31 Oct, 2013 - 4 commits
    • Yaowu Xu's avatar
      simplify read_coef_prob() · a49e77af
      Yaowu Xu authored
      Change-Id: I529c634db4f81ba5386092c126f53312b1e51b2b
      a49e77af
    • Dmitry Kovalev's avatar
      Cleaning up read_skip_coeff() function. · 970eb39b
      Dmitry Kovalev authored
      Making code easier to read and avoiding calculation of skip context twice.
      
      Change-Id: I42c376b1a1811bc842bf6420bf81d2de7a1bf980
      970eb39b
    • Dmitry Kovalev's avatar
      Cleanup. Adding const to function pointer arguments. · 7c524bbe
      Dmitry Kovalev authored
      Change-Id: I12c67c8c0fa1aa7fb3f7d6cc2ef65be29c4ea292
      7c524bbe
    • 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