1. 11 Dec, 2014 1 commit
  2. 06 Nov, 2014 1 commit
    • hkuang's avatar
      Totally remove prev_mi in VP9 decoder. · 4cc7c5a1
      hkuang authored
      This will save the memory and improve the decode speed due to
      removing unnecessary memset of big prev_mi array for
      all the key frames.
      
      Decoding a all key frames 1080p video shows speed improve around 2%.
      
      Change-Id: I6284a445c1291056e3c15135c3c20d502f791c10
      4cc7c5a1
  3. 22 Oct, 2014 1 commit
    • Yunqing Wang's avatar
      vp9_ethread: allocate frame contexts outside VP9_COMMON struct · 7c7e4d4e
      Yunqing Wang authored
      This patch allocated frame contexts outside VP9_COMMON. This allows
      multiple threads to share the same copy of frame contexts, and
      reduces the overhead. It also guarantees the correct update of
      these contexts during bitstream packing. This patch doesn't change
      encoding result.
      
      Change-Id: Ic181a2460b891d1d587278a6d02d8057b9dbd353
      7c7e4d4e
  4. 02 Apr, 2014 1 commit
  5. 28 Feb, 2014 1 commit
  6. 13 Feb, 2014 1 commit
    • Yaowu Xu's avatar
      Removed the reset of mode_info from previous frame · 896d79a5
      Yaowu Xu authored
      Prior to this commit, both encoder and decoder reset mode/mv info from
      previous frame in error resilient mode to ensure bitstreams are able to
      decode when there is loss of frame in decoder side. However, this is
      not necessary. This commit changed to remove the reset, so encoder can
      continue to use mode/mv/partition information from previously encoded
      frame without affecting decodeablilty under loss of frame.
      
      Change-Id: I0279f862900dc647fb471ae3389770bb1b9f454f
      896d79a5
  7. 10 Feb, 2014 1 commit
  8. 29 Jan, 2014 1 commit
  9. 24 Jan, 2014 1 commit
    • Dmitry Kovalev's avatar
      Renaming INTERPOLATION_TYPE to INTERP_FILTER. · 4264c938
      Dmitry Kovalev authored
      Corresponding renames:
        subpel_kernel              => interp_kernel
        vp9_get_filter_kernel()    => vp9_get_interp_kernel()
        pred_filter_type           => pred_interp_filter
        adaptive_pred_filter_type  => adaptive_pred_interp_filter
        mcomp_filter_type          => interp_filter
        read_interp_filter_type()  => read_interp_filter()
        write_interp_filter_type() => write_interp_filter()
        fix_mcomp_filter_type()    => fix_interp_filter()
      
      Change-Id: I1fa61fa1dc81ebbf043457c3ee2d8d4515bee6d3
      4264c938
  10. 06 Dec, 2013 1 commit
    • Dmitry Kovalev's avatar
      Renaming constants. · 0d4b8d7e
      Dmitry Kovalev authored
      NUM_YV12_BUFFERS        => FRAME_BUFFERS
      ALLOWED_REFS_PER_FRAME  => REFS_PER_FRAME
      NUM_REF_FRAMES_LOG2     => REF_FRAMES_LOG2
      NUM_REF_FRAMES          => REF_FRAMES
      NUM_FRAME_CONTEXTS_LOG2 => FRAME_CONTEXTS_LOG2
      NUM_FRAME_CONTEXTS      => FRAME_CONTEXTS
      
      Change-Id: I4e1ada08f25d8fa30fdf03aebe1b1c9df0f87e63
      0d4b8d7e
  11. 05 Dec, 2013 1 commit
  12. 26 Nov, 2013 1 commit
  13. 21 Nov, 2013 1 commit
    • Dmitry Kovalev's avatar
      Removing redundant call of vp9_init_mbmode_probs(). · c90b6bb1
      Dmitry Kovalev authored
      This function is called from vp9_setup_past_independence() which is called
      before the modified piece of code. Moving reset of inter_mode_probs  into
      vp9_init_mbmode_probs() for consistency.
      
      Change-Id: Ib188e8798e1fbe15407fd501406761b746fdda95
      c90b6bb1
  14. 05 Nov, 2013 2 commits
    • Dmitry Kovalev's avatar
      Localizing NEARESTMV special cases in the code. · 81518961
      Dmitry Kovalev authored
      Removing special case handling from vp9_tree_probs_from_distribution(),
      tree_merge_probs(), and vp9_tokens_from_tree_offset() functions. Replacing
      inter_mode_offset() function with macro INTER_OFFSET which is used now for
      vp9_inter_mode_tree definition.
      
      Change-Id: Iff75a1499d460beb949ece543389c8754deaf178
      81518961
    • Dmitry Kovalev's avatar
      Unified approach for backward probability update. · c622e1d1
      Dmitry Kovalev authored
      Replacing update_mode_probs() and adapt_probs() with tree_merge_probs().
      
      Change-Id: I50b2c968d67c9265f5216c700cbeba25fb014654
      c622e1d1
  15. 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
  16. 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
  17. 30 Oct, 2013 1 commit
  18. 22 Oct, 2013 1 commit
  19. 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
  20. 11 Oct, 2013 1 commit
    • Dmitry Kovalev's avatar
      Adding TREE_SIZE macro + cleanup. · 860e4676
      Dmitry Kovalev authored
      Using TREE_SIZE for the following trees:
        vp9_intra_mode_tree
        vp9_inter_mode_tree
        vp9_partition_tree
        vp9_switchable_interp_tree
        vp9_mv_joint_tree
        vp9_mv_class_tree
        vp9_mv_class0_tree
        vp9_mv_fp_tree
      
      Change-Id: I0212bb4c1ee6648249f68517e28a67a56591ee1b
      860e4676
  21. 30 Sep, 2013 1 commit
    • Dmitry Kovalev's avatar
      Adding const to function arguments. · c64e2383
      Dmitry Kovalev authored
      Function list:
        tx_counts_to_branch_counts_32x32
        tx_counts_to_branch_counts_8x8
        tx_counts_to_branch_counts_8x8
        update_ct
        update_ct2
        update_mode_probs
      
      Change-Id: I120d8945a34378cf285d6bd415e23de1d522cf2f
      c64e2383
  22. 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
  23. 09 Sep, 2013 1 commit
  24. 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
  25. 24 Aug, 2013 2 commits
  26. 15 Aug, 2013 2 commits
  27. 09 Aug, 2013 2 commits
    • Dmitry Kovalev's avatar
      Moving loopfilter struct to VP9_COMMON. · 816d6c98
      Dmitry Kovalev authored
      Loop filter configuration doesn't belong to macroblock, so moving it from
      MACROBLOCKD to VP9_COMMON. Also moving the declaration of loopfilter struct
      from vp9_blockd.h to vp9_loopfilter.h.
      
      Change-Id: I4b3e34be9623b47cda35f9b1f9951f8c5b1d5d28
      816d6c98
    • Dmitry Kovalev's avatar
      General code cleanup. · 6a8ec3ea
      Dmitry Kovalev authored
      Removing redundant parenthesis and curly braces. Combining declarations
      with initializations. Adding useful intermediate variables instead of
      recalculating expressions every time.
      
      Change-Id: I00106f404afd60bfc189905b0fded881684f941a
      6a8ec3ea
  28. 05 Aug, 2013 1 commit
    • Dmitry Kovalev's avatar
      Changing the order switchable filter enum constants. · 3f611555
      Dmitry Kovalev authored
      This changeset allows to remove vp9_switchable_interp and
      vp9_switchable_interp_map arrays and make code much clear. Actually we
      still have to use these mapping but only inside read_interp_filter_type and
      write_interp_filter_type functions.
      
      Change-Id: I4026c6f8c4acefba6c81421b7bacbaa52cc45f50
      3f611555
  29. 01 Aug, 2013 1 commit
  30. 31 Jul, 2013 1 commit
  31. 29 Jul, 2013 1 commit
  32. 25 Jul, 2013 3 commits
  33. 24 Jul, 2013 1 commit
  34. 23 Jul, 2013 1 commit