1. 20 May, 2015 1 commit
    • paulwilkins's avatar
      Fix issues with mixed ARF and GF groups. · ade9693a
      paulwilkins authored
      This patch addresses two issues that can occur when the
      encoder chooses to use a mixture of ARF and GF groups.
      
      The first issue relates to a failure to reset the "ARF active" flag
      correctly when transitioning from coding ARF groups to coding
      GF groups. This caused some golden frames to be  encoded
      with an incorrect bit rate target as if they were ARF overlay frames.
      
      The second issue relates to the encoding of a single short GF group
      just before a key frame.  Where the last group before a key frame
      is an ARF group we expect the final frame before the key frame  to
      be an low data rate overlay frame. However, when the last  group
      is a GF group, the final frame before the key frame should be a normal
      frame with a normal bit allocation. This issue had the potential to cause
      a single poorly coded frame just before a key frame. If that key frame
      were a forced key frame rather than a real scene cut, this might cause
      pulsing.
      
      Change-Id: Idf1eb5eaf63a231495a74de7899236e1ead9fb00
      ade9693a
  2. 16 May, 2015 2 commits
    • James Zern's avatar
      dec_build_inter_predictors: don't return a void fn · 85076fc5
      James Zern authored
      split call of extend_and_predict() and return, fixes visual studio build
      warning since:
      0a80164c Move mc_buf to cut down size of MACROBLOCKD.
      
      Change-Id: I7cdf712941ef773a07f038539cb8080dc27861cd
      85076fc5
    • James Zern's avatar
      rename vp9_dct_impl_sse2.c to vp9_dct_sse2_impl.h · a989c66b
      James Zern authored
      this file shouldn't be built directly, it is included in vp9_dct_sse2.c
      to create a non-high-bitdepth and a high-bitdepth version
      
      silences missing prototype warnings for the unused FDCT* functions
      
      Change-Id: Ide6ff8c24ab31bdb0f833260505ae33660a1ad5b
      a989c66b
  3. 15 May, 2015 12 commits
  4. 14 May, 2015 2 commits
  5. 13 May, 2015 1 commit
    • Johann's avatar
      Relocate memory operations for common code · 1d7ccd53
      Johann authored
      With the sad functions, and hopefully the variance functions soon,
      moving to the vpx_dsp location, place the defines used in the
      reference C code in a common location.
      
      Change-Id: I4c8ce7778eb38a0a3ee674d2f1c488eda01cfeca
      1d7ccd53
  6. 12 May, 2015 2 commits
    • Yaowu Xu's avatar
      Protect new metric computation with use_highbitdepth flag · 3f42d108
      Yaowu Xu authored
      The computation of new metrics is not supported yet in highbitdepth
      mode. This commit adds protection to make sure the computation is
      done only when highbitdepth is not on. This protection shall be
      revised when support of highbitdpeth computation is added.
      
      This resolves the encoder crash when configured with both
      --enable-internal-stats
      --enable-vp9-highbitdepth
      
      Change-Id: Id9f4bcc4fa26d9ca0e9eabade83f3f88a5b212e6
      3f42d108
    • Yunqing Wang's avatar
      Remove unneeded variable declaration · 8ba2d2d5
      Yunqing Wang authored
      This patch fixed the following warning:
      src\third_party\libvpx\source\libvpx\vp9\encoder\vp9_pickmode.c(1607) :
      warning C6246: Local declaration of 'this_mode' hides declaration of the
      same name in outer scope.
      
      Change-Id: I1d93c4a47a13cb13089fec5bd61e8b58e6cd8d58
      8ba2d2d5
  7. 11 May, 2015 3 commits
    • Adrian Grange's avatar
      Recompute tile params on frame resize · 65b768fd
      Adrian Grange authored
      When the frame size changes we must recompute details
      of the tile dimensions.
      
      Change-Id: Ie519bd6da47b5cd43933c0bcfc0f2429bcb01986
      65b768fd
    • Jingning Han's avatar
      Sort variables dependency in read_uncompressed_header · 2b2b461d
      Jingning Han authored
      Remove a few repeated data structure reads from
      read_uncompressed_header.
      
      Change-Id: I6eb741b39f9415ad0aa4631dfbf4a1ace4eba56a
      2b2b461d
    • Marco's avatar
      Fix rate control issue with layers and aq-mode=3. · 913862be
      Marco authored
      When aq-mode=3 is enabled, only for base layer frames should the
      qp of the frame incorporate the segment delta-qp.
      
      This was causing more rate mismatch for the enhancement layer frames
      when running temporal layers with aq-mode=3 on.
      
      Change-Id: I1c5e69d1ef8a51188af8696753c17fd8f67699b3
      913862be
  8. 09 May, 2015 1 commit
    • James Zern's avatar
      build_intra_predictors*: reduce above_data size · a5e4ca83
      James Zern authored
      currently this needs to be 2x (NEED_ABOVERIGHT) the size of the largest
      block (32) + 1 (for above_left). reduce the buffer size from 128 + 16
      (alignment) to 64 + 16.
      
      Change-Id: Idaca1806c7e1214e9437de24e15edc2ebf18f95d
      a5e4ca83
  9. 08 May, 2015 3 commits
    • hkuang's avatar
      Fix clang ioc warning due to NULL mi pointer. · d53fb0fd
      hkuang authored
      The warning only happens in VP9 encoder's first pass due to src_mi
      is not set up yet. But it will not fail the encoder as left_mi and
      above_mi are not used in the first_pass and they will be set up again
      in the second pass.
      
      Change-Id: I0713b4660d71e229e196654cb0970ba6b1574f28
      d53fb0fd
    • paulwilkins's avatar
      Skip the last frame update for some frame repeats. · e5112b3a
      paulwilkins authored
      Where a frame appears to be a repeat of an earlier
      frame or frame buffer,  but the first pass code
      does not anticipate this (usually because it is matching
      the GF or ARF buffer not the last frame buffer), do not
      update the last frame buffer.
      
      This helps ensure that the content of the last frame buffer
      is kept "different" where possible, and not updated to
      match the GF or ARF. This is particularly helpful in some
      animated sequences where there are groups of repeating
      frames. Here it has quite a big impact. However, in most
      of our standard test clips it has little or no impact.
      
      Change-Id: I77332ee1a69f9ffc0c6080bfeb811c43fd8828e6
      e5112b3a
    • Parag Salasakar's avatar
      mips msa vp9 idct 8x8 optimization · 7c5f00f8
      Parag Salasakar authored
      average improvement ~4x-6x
      
      Change-Id: I5edf713721b9e24c7e0ce2e69d8fc3ecab625d91
      7c5f00f8
  10. 07 May, 2015 5 commits
    • James Zern's avatar
      build_intra_predictors*: reduce left_col size · 7e55ff15
      James Zern authored
      this should only need to be the size of the largest block, i.e., 32, not
      64.
      
      Change-Id: Ib8cb2424771fdd2a64c55379597248b2722a5ceb
      7e55ff15
    • James Zern's avatar
      replace DECLARE_ALIGNED_ARRAY w/DECLARE_ALIGNED · fd3658b0
      James Zern authored
      this macro was used inconsistently and only differs in behavior from
      DECLARE_ALIGNED when an alignment attribute is unavailable. this macro
      is used with calls to assembly, while generic c-code doesn't rely on it,
      so in a c-only build without an alignment attribute the code will
      function as expected.
      
      Change-Id: Ie9d06d4028c0de17c63b3a27e6c1b0491cc4ea79
      fd3658b0
    • Parag Salasakar's avatar
      mips msa vp9 idct 32x32 optimization · 1601c138
      Parag Salasakar authored
      average improvement ~4x-6x
      
      Change-Id: Idaba7e49fbd7f388caee0d73773ccf6e4807ef17
      1601c138
    • hkuang's avatar
      Add more sse2 code for intra prediction. · 7153b822
      hkuang authored
      vp9_dc_left_predictor_16x16
      vp9_dc_top_predictor_32x32
      vp9_dc_left_predictor_32x32
      vp9_dc_128_predictor_32x32
      
      Change-Id: Ib9861deefd01c3527235b92ff6b3d571ef6b4bc6
      7153b822
    • Marco's avatar
      Remvoe EIGHTTAP_SHARP filter check for non-rd mode. · 76fe5dfc
      Marco authored
      Using EIGHTTAP and EIGHTTAP_SMOOTH seem sufficient.
      Hard to see any visual gain from allowing EIGHTTAP_SHARP, and it is
      rarely selected.
      
      PSNR/SSIM metrics go up by ~0.18/0.14%.
      
      Change-Id: I96fa0d98f9321b913e3ebcd464d4ff3c63018791
      76fe5dfc
  11. 06 May, 2015 4 commits
  12. 05 May, 2015 4 commits