1. 08 Nov, 2013 1 commit
  2. 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
  3. 01 Nov, 2013 1 commit
    • 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
  4. 30 Oct, 2013 1 commit
  5. 28 Oct, 2013 2 commits
  6. 25 Oct, 2013 3 commits
  7. 24 Oct, 2013 2 commits
  8. 22 Oct, 2013 1 commit
    • Jingning Han's avatar
      Prevent left_block_mode stepping into left tile · c8079494
      Jingning Han authored
      This commit uses left_available flag to decide if the left mode_info
      struct is available for left_block_mode. As discussed with James
      Zern (jzern@), this prevents the codec from fetching mode_info from
      blocks in the left tile, which although effectively not used might
      present concerns for multi-threaded tile decoding.
      
      This is NOT a bit-stream change.
      
      Change-Id: I1dc8cf1bcbf056688eee27c7bc5706ac4b4e0125
      c8079494
  9. 21 Oct, 2013 2 commits
    • Dmitry Kovalev's avatar
      Inlining set_partition_seg_context function. · a0be71c7
      Dmitry Kovalev authored
      We used set_partition_seg_context() only before calls to:
       1. update_partition_context()
       2. partition_plane_context()
      
      Moving these functions from vp9_blockd.h to vp9_onyxc_int.h and
      inlining  set_partition_seg_context into them. After that it is not
      necessary to have {above, left}_seg_context fields in MACROBLOCKD struture,
      so removing them also.
      
      Change-Id: I4723f59e1c8f3788432b7f51185d8d747b3a97f9
      a0be71c7
    • Dmitry Kovalev's avatar
      Moving allow_high_precision_mv from MACROBLOCKD to VP9_COMMON. · d1b65c6b
      Dmitry Kovalev authored
      This value is a global frame-level flag, not a macroblock-level.
      
      Change-Id: Ie8c5790a931150741c2167c00c3e3dd2cf26744d
      d1b65c6b
  10. 19 Oct, 2013 1 commit
    • Dmitry Kovalev's avatar
      Removing NUM_ prefix from constant names. · 6d2a0da7
      Dmitry Kovalev authored
      Renames for consistency with other constants:
        NUM_FRAME_TYPES -> FRAME_TYPES
        NUM_PARTITION_CONTEXTS -> PARTITION_CONTEXTS
      
      Change-Id: I3db30acb2868eb0a424237c831087b2e264ec47f
      6d2a0da7
  11. 18 Oct, 2013 1 commit
  12. 16 Oct, 2013 1 commit
    • Guillaume Martres's avatar
      Get rid of "this_mi", use "mi_8x8[0]" everywhere instead · acf0d56f
      Guillaume Martres authored
      The only case where they were intentionally pointing to different
      structures was in mbgraph, and this didn't have the expected behavior
      because both of these pointers are used interchangeably through the code
      
      Change-Id: I979251782f90885fe962305bcc845bc05907f80c
      acf0d56f
  13. 15 Oct, 2013 2 commits
    • Alexander Voronov's avatar
      Updated encoder to handle intra-only frames · d6a59fb1
      Alexander Voronov authored
      Updated the encoder to handle frames that are coded
      intra-only. Intra-only frames must be non-showable,
      that is, the "show frame" flag must be set to 0 in
      the frame header.
      
      Tested by forcing the ARF frames to be coded intra-
      only.
      
      Note: The rate control code will need to be modified
      to account for intra-only frames better than they
      are currently handled.
      
      Change-Id: I6a9dd5337deddcecc599d3a44a7431909ed21079
      d6a59fb1
    • Dmitry Kovalev's avatar
      Removing print_prob_tree function and vp9_coeff_probs typedef. · 6965e6f3
      Dmitry Kovalev authored
      Change-Id: If14265084e9b4c85c75b43e8d33a6fafad468cbc
      6965e6f3
  14. 11 Oct, 2013 1 commit
    • Dmitry Kovalev's avatar
      Replacing {VP9_COEF, MODE}_UPDATE_PROB with DIFF_UPDATE_PROB. · 4a0f9478
      Dmitry Kovalev authored
      Values of MODE_UPDATE_PROB and VP9_COEF_UPDATE_PROB are equal, so replacing
      them with one constant. Inlining appropriate arguments for functions:
        vp9_cond_prob_diff_update (encoder)
        vp9_diff_update_prob (decoder)
      
      Change-Id: I1255a1cb477743b799b3bfbbcd8de6b32b067338
      4a0f9478
  15. 10 Oct, 2013 1 commit
  16. 09 Oct, 2013 1 commit
    • Jingning Han's avatar
      Deprecate the use of PARTITION_INFO from encoder · 03fe08ca
      Jingning Han authored
      Use b_mode_info to store the inter prediction mode of sub8x8 block,
      in replacement of the use of partition_info. Remove redundant buffer
      update for partition_info. For bus_cif at 2000 kbps, this seem to make
      speed 0 about 1% faster.
      
      Change-Id: Id1b3be45e75a24fb4b42335ac480c23e440978f6
      03fe08ca
  17. 07 Oct, 2013 2 commits
  18. 03 Oct, 2013 1 commit
  19. 20 Sep, 2013 1 commit
  20. 19 Sep, 2013 1 commit
    • Yaowu Xu's avatar
      change to avoid invalid memory read. · 79af5913
      Yaowu Xu authored
      The fake token EOSB may cause invaild memory read in pack token, this
      commit reworked the loop to avoid such invalid read.
      
      Change-Id: I37fdfce869b44a7f90003f82a02f84c45472a457
      79af5913
  21. 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
  22. 09 Sep, 2013 2 commits
    • Ivan Maltz's avatar
      API extensions and sample app for spacial scalable encoder · 01b35c3c
      Ivan Maltz authored
      Sample app: vp9_spatial_scalable_encoder
      vpx_codec_control extensions:
        VP9E_SET_SVC
        VP9E_SET_WIDTH, VP9E_SET_HEIGHT, VP9E_SET_LAYER
        VP9E_SET_MIN_Q, VP9E_SET_MAX_Q
      expanded buffer size for vp9_convolve
      
      modified setting of initial width in vp9_onyx_if.c so that layer size
      can be set prior to initial encode
      
      Default number of layers set to 3 (VPX_SS_DEFAULT_LAYERS)
      Number of layers set explicitly in vpx_codec_enc_cfg.ss_number_layers
      
      Change-Id: I2c7a6fe6d665113671337032f7ad032430ac4197
      01b35c3c
    • James Zern's avatar
      Revert "New mode_info_context storage" · 54a03e20
      James Zern authored
      This reverts commit dae17734
      
      Encode crashes, leaks and increases integer overflow errors.
      
      Change-Id: I595aa2649bb8d0b6552ff91652837a74c103fda2
      54a03e20
  23. 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
  24. 29 Aug, 2013 2 commits
  25. 28 Aug, 2013 3 commits
    • Dmitry Kovalev's avatar
      General code cleanup. · b62ddd5f
      Dmitry Kovalev authored
      Switching from mi_{width, height}_log2 and b_{width, height}_log2 to
      num_8x8_blocks_{wide, high} and num_4x4_blocks_{wide, high}. Removing
      redundant code, adding const.
      
      Change-Id: Iaab2207590fd24d0b76999071778d1395dc5cd5d
      b62ddd5f
    • Deb Mukherjee's avatar
      Adds a speed feature for fast 1-loop forw updates · e02dc84c
      Deb Mukherjee authored
      Incorporates a speed feature for fast forward updates of
      coefficients. This feature takes 3 values:
      0 - use standard 2-loop version
      1 - use a 1-loop version
      2 - use a 1-loop version with reduced updates
      
      Results: derfraw300 +0.007% (on speed 0) at feature value = 1
                          -0.160% (on speed 0) at feature value = 2
      
      There is substantial speed up at speeds 2 and above for low
      resolution sequences where the entropy updates are a big part
      of the overall computations.
      
      Change-Id: Ie96fc50777088a5bd441288bca6111e43d03bcae
      e02dc84c
    • Dmitry Kovalev's avatar
      Renaming txfm_size to tx_size. · 851a2fd7
      Dmitry Kovalev authored
      Change-Id: I752e374867d459960995b24d197301d65ad535e3
      851a2fd7
  26. 27 Aug, 2013 1 commit
  27. 24 Aug, 2013 1 commit
  28. 22 Aug, 2013 1 commit
  29. 15 Aug, 2013 1 commit