1. 04 Dec, 2014 1 commit
  2. 21 Nov, 2014 1 commit
    • Johann's avatar
      Correctly initialize "ones" value in neon quantize · 08ad7e4d
      Johann authored
      By using 0xff for a short it was not setting the high bits. When
      comparing the output with vtst to find non-zero elements it was skipping
      vaules which had no low bits set such as -512 / 0xFE00.
      
      Using -8191 as the first element of coeff will generate this condition.
      
      BUG=883
      
      Change-Id: Ia1e10fb809d1e7866f28c56769fe703e6231a657
      08ad7e4d
  3. 07 Nov, 2014 1 commit
    • Johann's avatar
      Remove asm offset dependencies · 6eec73a7
      Johann authored
      The obj_int_extract code is no longer worth maintaining. It creates
      significant issues when adapting for different build systems and no
      longer offers as significant of a performance benefit due to
      improvements in intrinsics.
      
      Source files will remain until the various third-party builds are updated.
      
      The neon fast quantizer has been moved to intrinsics. The armv6 version
      has been removed because so few remaining targets require it.
      
      Compilers and processors have improved significantly since the
      pack_tokens code was written. The assembly is no longer faster than the
      C code.
      
      pack_tokens were the only optimizations for the armv5te targets so the targets
      will be removed after the test infrastructure has been updated.
      
      BUG=710
      
      Change-Id: Ic785b167cd9f95eeff31c7c76b7b736c07fb30eb
      6eec73a7
  4. 04 Nov, 2014 1 commit
    • Johann's avatar
      Avoid divide-by-zero in vp8 initialization · b4957234
      Johann authored
      Check that the numerator is not zero. If it is, guess 30fps.
      
      Fixes a clang IOC error in the quantize test. It's very unlikely for
      this to occur in the wild because the setup in the quantize test is very
      nonstandard.
      
      Change-Id: Icdab7b81d4e168d3423e14db20787f960052e0c3
      b4957234
  5. 31 Oct, 2014 2 commits
    • Johann's avatar
      Remove pair quantization · 2134eb2f
      Johann authored
      The intrinsics version of the pair quant is slower than running it
      individually.
      
      Change-Id: I7b4ea8599d4aab04be0a5a0c59b8b29a7fc283f4
      2134eb2f
    • Johann's avatar
      vp8 quantization -> intrinsics · 7ae75c3d
      Johann authored
      Use intrinsics for neon quantization. Slight loss (<5%) of performance
      compared to the assembly. Roughly 10x faster on arm64 because that was
      running C code before.
      
      Change-Id: I7cf5242d8f29b7eab5bca6a1c20c89c9fc9ca66d
      7ae75c3d
  6. 24 Oct, 2014 1 commit
    • Marco's avatar
      vp8: Updates to noise level estimate. · fe2fd37b
      Marco authored
      -Use full bandwidth (when temporal layers is on) for checking switching.
      -Normalize metric wrt num_blocks.
      -Rounding fix to update of average noise level metric.
      -Make default internal denoiser mode == kDenoiserOnYUV (in denoiser set_parameters()).
      -Adjust some thresholds.
      
      Change-Id: Ib827512b25a7bf1f66c76d3045f3a68ce56b1cd2
      fe2fd37b
  7. 22 Oct, 2014 2 commits
  8. 17 Oct, 2014 1 commit
    • Marco's avatar
      Updates to aggressive denoising mode. · 6f77bff6
      Marco authored
      Fix to the noise level and bitrate threshold settings per resolution.
      
      Change-Id: I25524b7f78afa1aeb76edef7be13c17bc8976508
      6f77bff6
  9. 13 Oct, 2014 1 commit
  10. 08 Oct, 2014 1 commit
    • Marco's avatar
      vp8: Suppress denoising with respect to old reference frames. · 3b789d36
      Marco authored
      If the GOLDEN or ALTREF frame was last updated > x frames in the past,
      don't use them for denoising (only consider LAST). Using an old reference
      frame for denoising, e.g., if it is a long-term reference or the last key frame,
      can cause some visible artifacts, in particular in the aggressive denoising mode.
      
      Change-Id: I239c9fbb092c36cba7e95328f1fa67a58d6a7ed9
      3b789d36
  11. 25 Sep, 2014 3 commits
    • Johann's avatar
      Fix build failure with Android NDK · 587ff646
      Johann authored
      The version of gcc4.6 included with the Android NDK through r10b
      fails to compile this function. Replace it with C code.
      
      BUG=860
      
      Change-Id: Ifcc0476664071aec46a171cdd5ad17305930986a
      587ff646
    • Johann's avatar
      Clarify GCC version check · f6be2f3c
      Johann authored
      The version check was incorrectly matching some versions of clang
      which reported as gcc 4.2
      
      Change-Id: I686d3576e71883fe1463206b56ab5e2aa9bb68a8
      f6be2f3c
    • Yaowu Xu's avatar
      Fix IOCs · e6165041
      Yaowu Xu authored
      A left shift of negative value causes IOC runtime warnings, this
      commit converts two such left shifts to multiply to avoid IOCs.
      
      Change-Id: I8811428768d7135e6e16af4b3094d0341589a995
      e6165041
  12. 19 Sep, 2014 1 commit
    • Marco's avatar
      vp8: Update to the adaptive denoising mode. · 06fce6b6
      Marco authored
      Allow for option to apply spatial blur for temporal
      denoising, under the aggressive denoising mode.
      
      Change-Id: I41c5fdc0b6cf32d8f8d1d4236b25fa5aa406e89e
      06fce6b6
  13. 16 Sep, 2014 1 commit
  14. 15 Sep, 2014 1 commit
  15. 13 Sep, 2014 2 commits
  16. 12 Sep, 2014 1 commit
  17. 10 Sep, 2014 1 commit
  18. 09 Sep, 2014 2 commits
  19. 08 Sep, 2014 1 commit
  20. 05 Sep, 2014 2 commits
  21. 04 Sep, 2014 4 commits
  22. 03 Sep, 2014 4 commits
  23. 02 Sep, 2014 2 commits
    • Deb Mukherjee's avatar
      Adds config opt for highbitdepth + misc. vpx · 5acfafb1
      Deb Mukherjee authored
      Adds config parameter vp9_highbitdepth, to support highbitdepth profiles.
      Also includes most vpx level high bit-depth functions. However
      encode/decode in the highbitdepth profiles will not work until
      the rest of the code is in place.
      
      Change-Id: I34c53b253c38873611057a6cbc89a1361b8985a6
      5acfafb1
    • Marco's avatar
      Updates to adaptive/aggressive denoiser mode. · 54575d65
      Marco authored
      Parameter changes and modification to zero_last bias.
      
      Change-Id: I50a408d47fde049c562bbe95075194cb0f17c31b
      54575d65
  24. 29 Aug, 2014 1 commit
  25. 28 Aug, 2014 1 commit
    • Dmitry Kovalev's avatar
      Removing alg_priv from vpx_codec_priv struct. · 73edeb03
      Dmitry Kovalev authored
      In order to understand memory layout consider the declaration of the
      following structs. The first one is a part of our API:
      
      struct vpx_codec_ctx {
        // ...
        struct vpx_codec_priv *priv;
      };
      
      The second one is defined in vpx_codec_internal.h:
      
      struct vpx_codec_priv {
        // ...
      };
      
      The following struct is defined 4 times for encoder/decoder VP8/VP9:
      
      struct vpx_codec_alg_priv {
        struct vpx_codec_priv base;
        // ... 
      };
      
      Private data allocation for the given ctx:
      
      struct vpx_codec_ctx *ctx = <get>
      struct vpx_codec_alg_priv *alg_priv = <allocate>
      ctx->priv = (struct vpx_codec_priv *)alg_priv;
      
      The cast works because vpx_codec_alg_priv has a
      vpx_codec_priv instance as a first member 'base'.
      
      Change-Id: I10d1afc8c9a7dfda50baade8c7b0296678bdb0d0
      73edeb03
  26. 26 Aug, 2014 1 commit