1. 12 May, 2014 1 commit
  2. 08 May, 2014 1 commit
  3. 07 May, 2014 3 commits
  4. 06 May, 2014 2 commits
    • Johann's avatar
      Revert "VP8 for ARMv8 by using NEON intrinsics 10" · 677fb512
      Johann authored
      This reverts commit c500fc22
      
      There is an issue with gcc 4.6 in the Android NDK:
      loopfiltersimpleverticaledge_neon.c: In function 'vp8_loop_filter_bvs_neon':
      loopfiltersimpleverticaledge_neon.c:176:1: error: insn does not satisfy its constraints:
      
      Change-Id: I95b6509d12f075890308914cc691b813d2e5cd9f
      677fb512
    • Johann's avatar
      Revert "VP8 for ARMv8 by using NEON intrinsics 08" · 928ff038
      Johann authored
      This reverts commit a5d79f43
      
      There is an issue with gcc 4.6 in the Android NDK:
      loopfilter_neon.c: In function 'vp8_loop_filter_vertical_edge_y_neon':
      loopfilter_neon.c:394:1: error: insn does not satisfy its constraints:
      
      Change-Id: I2b8c6ee3fa595c152ac3a5c08dd79bd9770c7b52
      928ff038
  5. 05 May, 2014 2 commits
    • Adrian Grange's avatar
      Fix generic-gnu target build · 93a8a1eb
      Adrian Grange authored
      Added macro to conditionally compile some of the
      post-processing functions only when CONFIG_POSTPROC
      is defined.
      
      This was causing the build for the generic-gnu target
      to fail.
      
      Change-Id: Ibfa447feceb7a0528135025f105be48f97e9965c
      93a8a1eb
    • Adrian Grange's avatar
      Fix rounding in ARNR calculation · 928b34e8
      Adrian Grange authored
      The rounding of the ARNR filter output prior to
      normalization by the filter strength was incorrect
      when strength = 0.
      
      In this case 1 << (strength - 1) would not create the
      required rounding of 0, rather it would outrange. This
      patch fixes this issue.
      
      Change-Id: I771809ba34d6052b17d34c870ea11ff67b418dab
      928b34e8
  6. 04 May, 2014 6 commits
  7. 03 May, 2014 4 commits
  8. 02 May, 2014 5 commits
    • Scott LaVarnway's avatar
      Remove struct params from vp8_denoiser_filter · e516a425
      Scott LaVarnway authored
      This eliminates the asm_offsets dependency for future
      all-assembly versions of this function.
      
      Change-Id: I3227073ecfcb8ee6e593934fab941e9081abdda0
      e516a425
    • James Yu's avatar
      VP8 for ARMv8 by using NEON intrinsics 08 · a5d79f43
      James Yu authored
      Add loopfilter_neon.c
      - vp8_loop_filter_horizontal_edge_y_neon
      - vp8_loop_filter_horizontal_edge_uv_neon
      - vp8_loop_filter_vertical_edge_y_neon
      - vp8_loop_filter_vertical_edge_uv_neon
      
      Change-Id: I50b57dedabd42d2a3c183c1738cc5346f0e71ed8
      Signed-off-by: default avatarJames Yu <james.yu@linaro.org>
      a5d79f43
    • James Yu's avatar
      VP8 for ARMv8 by using NEON intrinsics 07 · 930557be
      James Yu authored
      Add iwalsh_neon.c
      - vp8_short_inv_walsh4x4_neon
      
      Change-Id: I8beda6ce11ad8ce9e80cc0a38d40161938359162
      Signed-off-by: default avatarJames Yu <james.yu@linaro.org>
      930557be
    • Johann's avatar
      Remove asm_offsets dependency in quantize_b_ssse3 · 570d43c0
      Johann authored
      Replace it with some intrinsic code and inline assembly.
      
      Change-Id: I81b4df146db3d01039059be7dae31083e2943b97
      570d43c0
    • James Yu's avatar
      VP8 for ARMv8 by using NEON intrinsics 06 · 81ad047e
      James Yu authored
      Add idct_dequant_full_2x_neon.c
      - idct_dequant_full_2x_neon
      
      ==== Summary of apply VP8 decode patch series ====
      Benchmark on Samsung Chromebook, Cortex-A15, 1.7GHz, Dual core
      Toolchain: linaro-1.13.1-4.8-2014.01
      Compile argument: CROSS=arm-linux-gnueabihf- ../libvpx/configure
                           --target=armv7-linux-gcc --prefix=$HOME/out
                           --enable-shared --cpu=cortex-a7
      Test argument: vpxdec --summary --noblit ./tears_of_steel_1080p.webm
      
      NEON assembly   46.68 (fps)
      Apply patch 06  46.65, -0.03
      Apply patch 07  46.86, +0.21
      Apply patch 08  46.58, -0.28
      Apply patch 09  46.57, -0.01
      Apply patch 10  46.51, -0.06
      Apply patch 11  46.13, -0.38
      Apply patch 12  45.42, -0.71
      Apply patch 13  46.06, +0.64
      Apply patch 14  45.19, -0.87
      Apply patch 15  45.93, +0.74
      Apply patch 16  45.48, -0.45
      Apply patch 17  45.84, +0.36
      Apply patch 18  45.91, +0.07  <= With all NEON intrinsics patches
                       Total -0.77 fps, 1.65% performance regression
      
      Change-Id: I77bfc9eaccfb97b8d401e949ceff8795e26ca6b7
      Signed-off-by: default avatarJames Yu <james.yu@linaro.org>
      81ad047e
  9. 30 Apr, 2014 1 commit
  10. 29 Apr, 2014 1 commit
    • Yunqing Wang's avatar
      Remove VP8 save_reg_neon function · 096eaba7
      Yunqing Wang authored
      This patch did a cleanup following the commit "Save NEON registers
      in VP8 NEON functions". The pushing/poping of callee-saved NEON
      registers was moved into individual NEON functions. Therefore,
      we don't need to save those registers at the beginning of codec.
      The related code was removed.
      
      Change-Id: I5648166514fc9beffb780aa138495597731f49ea
      096eaba7
  11. 28 Apr, 2014 1 commit
    • Yunqing Wang's avatar
      Save NEON registers in VP8 NEON functions · 33df6d1f
      Yunqing Wang authored
      The recent compiler can generate optimized code that uses NEON registers
      for various operations besides floating-point operations. Therefore,
      only saving callee-saved registers d8 - d15 at the beginning of the
      encoder/decoder is not enough anymore. This patch added register saving
      code in VP8 NEON functions that use those registers.
      
      Change-Id: Ie9e44f5188cf410990c8aaaac68faceee9dffd31
      33df6d1f
  12. 23 Apr, 2014 1 commit
  13. 22 Apr, 2014 1 commit
    • Yunqing Wang's avatar
      Fix dr memory VP8 encode/decode errors · 1893122e
      Yunqing Wang authored
      This patch fixed errors reported in Issue 746: "dr memory VP8
      encode errors" and Issue 745: "dr memory VP8 decode errors".
      The "UNINITIALIZED READ" errors were fixed in x86 assembly
      code. The list of files fixed is
      vp8_intra_pred_uv_tm_sse2
      vp8_intra_pred_uv_tm_ssse3
      
      vp8_intra_pred_uv_ho_mmx2
      vp8_intra_pred_uv_ho_ssse3
      
      vp8_intra_pred_y_tm_sse2
      vp8_intra_pred_y_tm_ssse3
      
      vp8_intra_pred_y_ho_sse2
      
      Change-Id: Ib6df7bf1d442077fe534edfd90e50ad16fadacdd
      1893122e
  14. 16 Apr, 2014 1 commit
    • Yaowu Xu's avatar
      Prevent reading of uninitialized value · 99230aeb
      Yaowu Xu authored
      This commit added a check of reference frame to make sure that pre
      buffer pointers are initialized only when necessary and make them
      to 0 if ref frame is intra, hence those buffer should never be used.
      
      Change-Id: Ieb474fcd9feb759f02e2f9c282b7348a8fa31117
      99230aeb
  15. 14 Apr, 2014 1 commit
    • Adrian Grange's avatar
      Enable vpxenc to specify internal coded frame size · f7bd1274
      Adrian Grange authored
      Added command line flags "resize-width" & "resize-height"
      to allow the user to specify the frame size to encode at.
      
      These two flags are ignored if the "resize-allowed" switch
      is not set to 1.
      
      All frames in the clip are then encoded at this size, which
      must be smaller than the raw frame size.
      
      Change-Id: I3d64bd9303d5c0bd678461a866a1ea621700d744
      f7bd1274
  16. 11 Apr, 2014 1 commit
  17. 10 Apr, 2014 1 commit
  18. 04 Apr, 2014 1 commit
  19. 24 Mar, 2014 1 commit
    • Yunqing Wang's avatar
      Fix uninitialized read in postprocessing · c8773416
      Yunqing Wang authored
      This patch fixed WebRTC Issue 3020: "Uninit error at
      vp8_mbpost_proc_down_xmm". The first 8 values in d were not initialized,
      but was accessed. This patch fixed c code as well as mmx and sse2 code.
      
      Change-Id: Iaa5b41a4ed3bea971b15fb826ce34b7ab4e36fb1
      c8773416
  20. 15 Mar, 2014 3 commits
  21. 03 Mar, 2014 1 commit
    • James Zern's avatar
      build: convert rtcd.sh to perl · 805078a1
      James Zern authored
      significantly speeds up file generation.
      
      the goal of this change is to convert rtcd.sh to perl as directly as
      possible to allow for simple comparison. future changes can make it more
      perl-like.
      
      ---
      Linux
          [CREATE] vpx_scale_rtcd.h
      real    0m0.485s ->    0m0.022s
          [CREATE] vp8_rtcd.h
      real    0m4.619s ->    0m0.060s
          [CREATE] vp9_rtcd.h
      real    0m10.102s ->    0m0.087s
      
      Windows
          [CREATE] vpx_scale_rtcd.h
      real    0m8.360s ->    0m0.080s
          [CREATE] vp8_rtcd.h
      real    1m8.083s ->    0m0.160s
          [CREATE] vp9_rtcd.h
      real    2m6.489s ->    0m0.233s
      
      Change-Id: Idfb71188206c91237d6a3c3a81dfe00d103f11ee
      805078a1
  22. 27 Feb, 2014 1 commit
    • Dmitry Kovalev's avatar
      Adding vpx_sse_to_psnr() function. · 7d5bffc4
      Dmitry Kovalev authored
      Removing all copies of identical vp8_mse2psnr/vp9_mse2psnr functions.
      Using vpx_sse_to_psnr() instead in all places.
      
      Change-Id: I15beef9834d43d8fc8a8a7a2d1fc5de3d658fed8
      7d5bffc4