1. 24 Sep, 2013 - 1 commit
    • Yaowu Xu's avatar
      Limit mv search range for first pass and mbgraph · 35c5d79e
      Yaowu Xu authored
      Both first pass and mbgraph search use block size 16x16 for motion
      estimation. This commit put a limit of motion vector range. The
      effective range allows the entire 16x16 with required subpel
      interpolation input to be completely outside image border, but
      not any further away from image border.
      
      Change-Id: Id70a5ed08be49e70959f064859d72adc7d775d08
      35c5d79e
  2. 23 Sep, 2013 - 1 commit
    • Deb Mukherjee's avatar
      Improves constant qual, constrained qual turned on · d11221f4
      Deb Mukherjee authored
      Adds modeled functions to decide the qp for altref frames in constant q
      mode similar to other functions in use in bitrate mode.
      
      Also turns on the constrained quality mode (end-usage=2) option which
      was turned off before. Basic testing shows the mode works in principle,
      to cap bitrate to the target-bitrate specified, while allowing lower
      bitrate depending on the cq-level specified. The mode will need to be
      improved over time.
      
      Results for constant quality vs bitrate control mode:
      derfraw300/fullderfraw: +3.0% at constant quality over bitrate control.
      fullstdhdraw: +4.341%
      stdhdraw250: +5.361%
      
      Change-Id: If5027c9ec66c8e88d33e47062c6cb84a07b1cda9
      d11221f4
  3. 19 Sep, 2013 - 1 commit
  4. 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
  5. 10 Sep, 2013 - 1 commit
    • Yunqing Wang's avatar
      Modify encode breakout for static frames · 939791a1
      Yunqing Wang authored
      Thank Paul for the suggestions. While turning on static-thresh
      for static-image videos, a big jump on bitrate was seen. In this
      patch, we detected static frames in the video using first-pass
      stats. For different cases, disable encode breakout or reduce
      encode breakout threshold to limit the skipping.
      
      More modification need be done to break incorrect partition
      picking pattern for static frames while skipping happens.
      
      Change-Id: Ia25f47041af0f04e229c70a0185e12b0ffa6047f
      939791a1
  6. 09 Sep, 2013 - 1 commit
  7. 06 Sep, 2013 - 2 commits
    • Deb Mukherjee's avatar
      Support a constant quality mode in VP9 · e378a89b
      Deb Mukherjee authored
      Adds a new end-usage option for constant quality encoding in vpx. This
      first version implemented for VP9, encodes all regular inter frames
      using the quality specified in the --cq-level= option, while encoding
      all key frames and golden/altref frames at a quality better than that.
      
      The current performance on derfraw300 is +0.910% up from bitrate control,
      but achieved without multiple recode loops per frame.
      
      The decision for qp for each altref/golden/key frame will be improved
      in subsequent patches based on better use of stats from the first pass.
      Further, the qp for regular inter frames may also be varied around the
      provided cq-level.
      
      Change-Id: I6c4a2a68563679d60e0616ebcb11698578615fb3
      e378a89b
    • 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
  8. 28 Aug, 2013 - 1 commit
  9. 16 Aug, 2013 - 1 commit
  10. 15 Aug, 2013 - 1 commit
  11. 05 Aug, 2013 - 1 commit
  12. 01 Aug, 2013 - 1 commit
  13. 25 Jul, 2013 - 1 commit
    • Dmitry Kovalev's avatar
      General cleanups. · 7131cb0e
      Dmitry Kovalev authored
      Removing unused constants, macros, and function declarations. Using
      ROUND_POWER_OF_TWO macro, vp9_zero, vp9_copy where possible. Moving
      #include from *.h to *.c. Merging for loops for motion vectors.
      
      Change-Id: Ic3bf841764a2bb177128bb3a6d7aa8f68229cd13
      7131cb0e
  14. 18 Jul, 2013 - 1 commit
    • Ronald S. Bultje's avatar
      Merge scale_factors and scale_factors_uv. · 5ebe503f
      Ronald S. Bultje authored
      This prevents a duplicate memcpy of a 128-byte struct every time
      set_scale_factors() is called (which is a lot), thus leading to a
      decrease from 3.7 MB to 1.85 MB of struct copying per 64x64 block
      RD/partition loop.
      
      Overall, this decreases encoding time of the first 50 frames of bus
      @ 1500kbps (speed 0) from 1min5.9 to 1min4.9, i.e. about a 1.5%
      overall speedup. We can likely get more gains by removing the copy
      of the other struct (and replacing it with an indexing) as well.
      
      Change-Id: I3dceb7e79f71e6fe911b11cc994cf89a869dde7a
      5ebe503f
  15. 16 Jul, 2013 - 1 commit
  16. 12 Jul, 2013 - 1 commit
    • Deb Mukherjee's avatar
      Some minor cleanups for efficiency · 94c481f9
      Deb Mukherjee authored
      Implements some of the helper functions more efficiently with
      lookups rathers than branches. Modeling function is consolidated
      to reduce some computations.
      
      Also merged the two enums BLOCK_SIZE_TYPES and BlockSize into
      one because there is no need to keep them separate (even though
      the semantics are a little different).
      
      No bitstream or output change.
      
      About 0.5% speedup
      
      Change-Id: I7d71a66e8031ddb340744dc493f22976052b8f9f
      94c481f9
  17. 04 Jul, 2013 - 1 commit
  18. 02 Jul, 2013 - 1 commit
  19. 26 Jun, 2013 - 1 commit
  20. 20 Jun, 2013 - 1 commit
  21. 08 Jun, 2013 - 1 commit
  22. 07 Jun, 2013 - 2 commits
    • Jingning Han's avatar
      Fix mv range border in pixels · c0167cbb
      Jingning Han authored
      WIP: trying to resolve the mismatch issue in extending frame
      dimension into multiples of 8.
      
      Change-Id: I24e7638ab3c50e21e6969c1eeed4f607d6f11f65
      c0167cbb
    • Ronald S. Bultje's avatar
      Change ref frame coding. · 6ef805eb
      Ronald S. Bultje authored
      Code intra/inter, then comp/single, then the ref frame selection.
      Use contextualization for all steps. Don't code two past frames
      in comp pred mode.
      
      Change-Id: I4639a78cd5cccb283023265dbcc07898c3e7cf95
      6ef805eb
  23. 31 May, 2013 - 1 commit
  24. 30 May, 2013 - 1 commit
    • Ronald S. Bultje's avatar
      Remove i4x4_pred. · 1efa79d3
      Ronald S. Bultje authored
      It remains as a local define in rdopt.c so we can distinguish between
      split and non-split modes in the RD loop, but disappears outside that
      scope in the codec.
      
      Change-Id: I98c18fe5ab7e4fbd1d6620ec5695e2ea20513ce9
      1efa79d3
  25. 16 May, 2013 - 2 commits
    • John Koleszar's avatar
      Remove vp9_extend_mb_row() · 16ac5a5c
      John Koleszar authored
      This code is no longer needed for correct intra prediction.
      
      Change-Id: I822d1a8b0ad0a00e7c4c6e7b2931790c39d1267d
      16ac5a5c
    • John Koleszar's avatar
      Add vp9_extend_frame_borders · 418564e7
      John Koleszar authored
      Adds a subsampling aware border extension function. This may be reworked
      soon to support more than 3 planes.
      
      Change-Id: I76b81901ad10bb1e678dd4f0d22740ca6c76c43b
      418564e7
  26. 15 May, 2013 - 1 commit
    • Jingning Han's avatar
      Fix first-pass encoding test · 9e49ba05
      Jingning Han authored
      Always initialize the mode_info with sb_type of BLOCK_SIZE_MB16X16
      for the first-pass encoding test.
      
      Change-Id: Ic86393eeef981bdd523a5b44cfac3f0b24c068b7
      9e49ba05
  27. 10 May, 2013 - 1 commit
    • John Koleszar's avatar
      Subsampling aware allocs and bitstream · da58436f
      John Koleszar authored
      Make framebuffer allocations according to the chroma subsamping
      factors in use. A bit is placed in the raw part of the frame header for
      each of the two subsampling factors. This will be moved in a future
      commit to make them part of the TBD feature set bits, probably only set
      on keyframes, etc.
      
      Change-Id: I59ed38d3a3c0d4af3c7c277617de28d04a001853
      da58436f
  28. 09 May, 2013 - 2 commits
    • John Koleszar's avatar
      Make firstpass encode Y-only · 236ec08c
      John Koleszar authored
      The chroma planes are not used during the first pass encode,
      but the vp9_encode_sb() function was operating on them anyway.
      This was causing the use of uninitialized memory.
      
      Change-Id: I5ebafcd3d5e34ed91a8336dad159b573995a939f
      236ec08c
    • Dmitry Kovalev's avatar
      Code cleanup inside vp9_firstpass.c. · dc541805
      Dmitry Kovalev authored
      Change-Id: Ia2814402e3c2ec97c24c536c05f0f526fe1a431c
      dc541805
  29. 07 May, 2013 - 2 commits
  30. 06 May, 2013 - 2 commits
    • John Koleszar's avatar
      Remove heap alloc of FIRSTPASS_STATS · 6462eebb
      John Koleszar authored
      There is only one instance of these structures, no need for them
      to be allocated separately on the heap.
      
      Change-Id: I1333cc92d06bbe21be643c2b2f0e3936f0264cac
      6462eebb
    • Scott LaVarnway's avatar
      Removed vp9_setup_intra_recon() · cb7955d8
      Scott LaVarnway authored
      This setup is now handled by vp9_build_intra_predictors()
      when left_available and/or up_available is zero.
      
      Change-Id: I59cec0ab95f8be69ce885fd20727510e4deef8a0
      cb7955d8
  31. 02 May, 2013 - 1 commit
    • John Koleszar's avatar
      Create common vp9_encode_sb{,y} · 3f4e8063
      John Koleszar authored
      Creates a common encode (subtract, transform, quantize, optimize,
      inverse transform, reconstruct) function for all sb sizes, including
      the old 16x16 path.
      
      Change-Id: I964dff1ea7a0a5c378046a069ad83495f54df007
      3f4e8063
  32. 26 Apr, 2013 - 2 commits
  33. 25 Apr, 2013 - 1 commit