1. 07 Nov, 2013 - 2 commits
    • 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
    • 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
  2. 06 Nov, 2013 - 5 commits
  3. 05 Nov, 2013 - 7 commits
  4. 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
  5. 03 Nov, 2013 - 2 commits
  6. 02 Nov, 2013 - 1 commit
  7. 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
  8. 31 Oct, 2013 - 6 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
    • Tamar Levy's avatar
      mb_lpf_horizontal_edge AVX2 optimization · 54f92056
      Tamar Levy authored
      This CL contains two AVX2 optimized loop filter functions,
      mb_lpf_horizontal_edge_w_avx2_8 and mb_lpf_horizontal_edge_w_avx2_16.
      
      Change-Id: I604e4fe6e99752b7800c2ea98721d97f7e0b931b
      54f92056
    • Deb Mukherjee's avatar
      Remove one shot q experiment · 1df7ef29
      Deb Mukherjee authored
      The experiment is no longer used and can be removed.
      
      Change-Id: I9feab378fc895c120aa375353c68f93cad090609
      1df7ef29
  9. 30 Oct, 2013 - 8 commits
    • Marco Paniconi's avatar
      Updates to 1-pass: · b26ce8b1
      Marco Paniconi authored
         -Don't reduce maxQ for gold/alt in CBR mode.
      
         -Fix to min/maxQ for first/initial key frame.
      
         -Add more speeds to datarate test and reduce the starting bitrate for test.
      
      Change-Id: Id2a333d76dd3f6a51b322ca984588e2a22159c58
      b26ce8b1
    • Dmitry Kovalev's avatar
      Replacing (SWITCHABLE_FILTERS + 1) with SWITCHABLE_FILTER_CONTEXTS. · 6761872e
      Dmitry Kovalev authored
      Change-Id: I9781a62bc1a4cd9176554d1271d87dbcafda9cb0
      6761872e
    • 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
    • Dmitry Kovalev's avatar
      Reducing the number of recursive calls. · 2901bf2d
      Dmitry Kovalev authored
      Both decode_modes_sb and decode_modes_b had conditions to immediately
      return at the beginning. Eliminating these conditions here and calling
      these functions only to do a real work. Also unrolling loop for
      PARTITION_SPLIT.
      
      Change-Id: I2fc41cb74ac491f045a2f04fe68d30ff4aaa555d
      2901bf2d
    • James Zern's avatar
      vp9/decode: align tile worker data allocation · 54c2854f
      James Zern authored
      fixes a crash in assembly on 32-bit linux/windows
      
      Change-Id: I0c27e6c0ece9732b5eb2ee5b59ff42c3c8016c50
      54c2854f
    • Yunqing Wang's avatar
      Fix x_offset_q4/y_offset_q4 calculation · 9ed2d0a5
      Yunqing Wang authored
      "<< SUBPEL_BITS" needs to be added in the calculation. Call
      set_scaled_offsets() to calculate x_offset_q4 and y_offset_q4.
      
      Change-Id: Ied130ea771510e918f51cd1dc3abe57f4c0962b5
      9ed2d0a5
    • James Zern's avatar
      vp9: add multi-threaded tile decoder · fb484524
      James Zern authored
      tiles are decoded in parallel within a single frame
      
      Change-Id: I7aca87cb1c239b74eceef72bdc9f672faebac373
      fb484524
    • James Zern's avatar
      vp9/decode: add get_tile() · 6b00202f
      James Zern authored
      factorizes the code in decode_tiles(). reading the offsets backwards
      wasn't doing anything to prove tile independence
      
      Change-Id: I0395d3c77205852ebdc55efedc68291e93cef85c
      6b00202f
  10. 29 Oct, 2013 - 3 commits