Skip to content
Snippets Groups Projects
  1. Nov 06, 2013
  2. Nov 04, 2013
    • 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 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
  3. Nov 03, 2013
  4. Nov 02, 2013
  5. Nov 01, 2013
    • 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
  6. Oct 31, 2013
    • 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
  7. Oct 30, 2013
    • 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
  8. Oct 29, 2013
  9. Oct 28, 2013
  10. Oct 26, 2013
  11. Oct 25, 2013
    • Yunqing Wang's avatar
      Rewrite loop_filter_info_n struct · 00dbd369
      Yunqing Wang authored
      Restructured the storing of loopfilter information. Deleted
      loop_filter_info struct and reduced copying happened in every
      superblock.
      
      Tests showed a 0.5% ~ 0.8% decoder speed gain.
      
      Change-Id: Ie6a8e46bae71dc3a3cd8c6054f5de540b8e0ef5e
      00dbd369
Loading