1. 16 Aug, 2016 1 commit
    • Yaowu Xu's avatar
      Port commits related to clpf and qm experiments · 0818a7c8
      Yaowu Xu authored
      Manually cherry-picked following commits from AOMedia git repository:
      bb2727c2 Sort includess for "clpf.h"
      c297fd00 Add quantisation matrix range parameters.
      0527894f Add encoder option and signaling for quant matrix control.
      4106232b Turn off trellis coding for quantization matrices.
      4017fca3 Modify tests to allow quantization matrices.
      1c122c24 Add quant and dequant functions for new quant matrices.
      95a89994 Enable CLPF
      f72782bb Fix a build issue
      73bae509 Add quantisation matrices and selection functions
      33208d20 Added support for constrained low pass filter (CLPF)
      
      Change-Id: I60fc1ee1ac40e6b9d1d00affd97547ee5d5dd6be
      0818a7c8
  2. 11 Aug, 2016 1 commit
    • Angie Chiang's avatar
      Bitstream debug tool · 4de81ee1
      Angie Chiang authored
      This is a debug tool used to detect bitstream error. On encoder side, it pushes
      each bit and probability into a queue before the bit is written into the
      Arithmetic coder. On decoder side, whenever a bit is read out from the
      Arithmetic coder, it pops up the reference bit and probability from the queue as
      well. If the two results do not match, this debug tool will report an error.
      This tool can be used to pin down the bitstream error precisely. By combining
      gdb's backtrace method, we can detect which module causes the bitstream error.
      
      Change-Id: I133a4371fafdd48c488f2ca47f9e395676c401f2
      4de81ee1
  3. 10 Aug, 2016 1 commit
    • James Zern's avatar
      remove SVC · cc73e1fc
      James Zern authored
      spatial/temporal scalability are not supported in VP10 currently.
      + remove the unused vp10/encoder/skin_detection.[hc]
      
      this also enables DatarateTestLarge for VP10 which passes with no
      experiments enabled. these were removed previously when only the SVC
      tests should have been:
      134710af Disable tests not applicable to VP10
      
      Change-Id: I9ee7a0dd5ad3d8cc1e8fd5f0a90260fa43da387c
      cc73e1fc
  4. 06 Aug, 2016 1 commit
    • James Zern's avatar
      configure: test for -Wfloat-conversion · a9d98483
      James Zern authored
      supported by clang, gcc-4.9+
      
      Change-Id: I893766de7307fef9a8b68c0cfae137c9d3b0dbe8
      (cherry picked from commit 889ed5b158fc280927f2de9172d48245c3b735a7)
      a9d98483
  5. 03 Aug, 2016 1 commit
  6. 28 Jul, 2016 1 commit
  7. 21 Jul, 2016 1 commit
    • Debargha Mukherjee's avatar
      Rectangular transforms 4x8 & 8x4 · e5848dea
      Debargha Mukherjee authored
      Added a new expt rect-tx to be used in conjunction with ext-tx.
      [rect-tx is a temporary config flag and will eventually be
      merged into ext-tx once it works correctly with all other
      experiments].
      
      Added 4x8 and 8x4 tranforms for use initially with rectangular
      sub8x8 y blocks as part of this experiment.
      
      There is about a -0.2% BDRATE improvement on lowres, others pending.
      
      When var-tx is on rectangular transforms are currently not used.
      That will be enabled in a subsequent patch.
      
      Change-Id: Iaf3f88ede2740ffe6a0ffb1ef5fc01a16cd0283a
      e5848dea
  8. 18 Jul, 2016 1 commit
    • Johann's avatar
      Merge changes from libvpx/master by cherry-pick · 2967bf35
      Johann authored
      This commit bring all up-to-date changes from master that are
      applicable to nextgenv2. Due to the remove VP10 code in master,
      we had to cherry pick the following commits to get those changes:
      
      Add default flags for arm64/armv8 builds
      
      Allows building simple targets with sane default flags.
      
      For example, using the Android arm64 toolchain from the NDK:
      https://developer.android.com/ndk/guides/standalone_toolchain.html
      ./build/tools/make-standalone-toolchain.sh --arch=arm64 \
        --platform=android-24 --install-dir=/tmp/arm64
      CROSS=/tmp/arm64/bin/aarch64-linux-android- \
        ~/libvpx/configure --target=arm64-linux-gcc --disable-multithread
      
      BUG=webm:1143
      
      vpx_lpf_horizontal_4_sse2: Remove dead load.
      
      Change-Id: I51026c52baa1f0881fcd5b68e1fdf08a2dc0916e
      
      Fail early when android target does not include --sdk-path
      
      Change-Id: I07e7e63476a2e32e3aae123abdee8b7bbbdc6a8c
      
      configure: clean up var style and set_all usage
      
      Use quotes whenever possible and {} always for variables.
      
      Replace multiple set_all calls with *able_feature().
      
      Conflicts:
      	build/make/configure.sh
      
      vp9-svc: Remove some unneeded code/comment.
      
      datarate_test,DatarateTestLarge: normalize bits type
      
      quiets a msvc warning:
      conversion from 'const int64_t' to 'size_t', possible loss of data
      
      mips added p6600 cpu support
      
      Removed -funroll-loops
      
      psnr.c: use int64_t for sum of differences
      
      Since the values can be negative.
      
      *.asm: normalize label format
      
      add a trailing ':', though it's optional with the tools we support, it's
      more common to use it to mark a label. this also quiets the
      orphan-labels warning with nasm/yasm.
      
      BUG=b/29583530
      
      Prevent negative variance
      
      Due to rounding, hbd variance may become negative. This commit put in
      check and clamp of negative values to 0.
      
      configure: remove old visual studio support (<2010)
      
      BUG=b/29583530
      
      Conflicts:
      	configure
      
      configure: restore vs_version variable
      
      inadvertently lost in the final patchset of:
      078dff7 configure: remove old visual studio support (<2010)
      
      this prevents an empty CONFIG_VS_VERSION and avoids make failure
      
      Require x86inc.asm
      
      Force enable x86inc.asm when building for x86. Previously there were
      compatibility issues so a flag was added to simplify disabling this
      code.
      
      The known issues have been resolved and x86inc.asm is the preferred
      abstraction layer (over x86_abi_support.asm).
      
      BUG=b:29583530
      
      convolve_test: fix byte offsets in hbd build
      
      CONVERT_TO_BYTEPTR(x) was corrected in:
      003a9d2 Port metric computation changes from nextgenv2
      to use the more common (x) within the expansion. offsets should occur
      after converting the pointer to the desired type.
      
      + factorized some common expressions
      
      Conflicts:
      	test/convolve_test.cc
      
      vpx_dsp: remove x86inc.asm distinction
      
      BUG=b:29583530
      
      Conflicts:
      	vpx_dsp/vpx_dsp.mk
      	vpx_dsp/vpx_dsp_rtcd_defs.pl
      	vpx_dsp/x86/highbd_variance_sse2.c
      	vpx_dsp/x86/variance_sse2.c
      
      test: remove x86inc.asm distinction
      
      BUG=b:29583530
      
      Conflicts:
      	test/vp9_subtract_test.cc
      
      configure: remove x86inc.asm distinction
      
      BUG=b:29583530
      
      Change-Id: I59a1192142e89a6a36b906f65a491a734e603617
      
      Update vpx subpixel 1d filter ssse3 asm
      
      Speed test shows the new vertical filters have degradation on Celeron
      Chromebook. Added "X86_SUBPIX_VFILTER_PREFER_SLOW_CELERON" to control
      the vertical filters activated code. Now just simply active the code
      without degradation on Celeron. Later there should be 2 set of vertical
      filters ssse3 functions, and let jump table to choose based on CPU type.
      
      improve vpx_filter_block1d* based on replace paddsw+psrlw to pmulhrsw
      
      Make set_reference control API work in VP9
      
      Moved the API patch from NextGenv2. An example was included.
      To try it, for example, run the following command:
      $ examples/vpx_cx_set_ref vp9 352 288 in.yuv out.ivf 4 30
      
      Conflicts:
      	examples.mk
      	examples/vpx_cx_set_ref.c
      	test/cx_set_ref.sh
      	vp9/decoder/vp9_decoder.c
      
      deblock filter : moved from vp8 code branch
      
      The deblocking filters used in vp8 have been moved to vpx_dsp for
      use by both vp8 and vp9.
      
      vpx_thread.[hc]: update webp source reference
      
      + drop the blob hash, the updated reference will be updated in the
      commit message
      
      BUG=b/29583578
      
      vpx_thread: use native windows cond var if available
      
      BUG=b/29583578
      
      original webp change:
      
      commit 110ad5835ecd66995d0e7f66dca1b90dea595f5a
      Author: James Zern <jzern@google.com>
      Date:   Mon Nov 23 19:49:58 2015 -0800
      
          thread: use native windows cond var if available
      
          Vista / Server 2008 and up. no speed difference observed.
      
      100644 blob 4fc372b7bc6980a9ed3618c8cce5b67ed7b0f412 src/utils/thread.c
      100644 blob 840831185502d42a3246e4b7ff870121c8064791 src/utils/thread.h
      
      vpx_thread: use InitializeCriticalSectionEx if available
      
      BUG=b/29583578
      
      original webp change:
      
      commit 63fadc9ffacc77d4617526a50c696d21d558a70b
      Author: James Zern <jzern@google.com>
      Date:   Mon Nov 23 20:38:46 2015 -0800
      
          thread: use InitializeCriticalSectionEx if available
      
          Windows Vista / Server 2008 and up
      
      100644 blob f84207d89b3a6bb98bfe8f3fa55cad72dfd061ff src/utils/thread.c
      100644 blob 840831185502d42a3246e4b7ff870121c8064791 src/utils/thread.h
      
      vpx_thread: use WaitForSingleObjectEx if available
      
      BUG=b/29583578
      
      original webp change:
      
      commit 0fd0e12bfe83f16ce4f1c038b251ccbc13c62ac2
      Author: James Zern <jzern@google.com>
      Date:   Mon Nov 23 20:40:26 2015 -0800
      
          thread: use WaitForSingleObjectEx if available
      
          Windows XP and up
      
      100644 blob d58f74e5523dbc985fc531cf5f0833f1e9157cf0 src/utils/thread.c
      100644 blob 840831185502d42a3246e4b7ff870121c8064791 src/utils/thread.h
      
      vpx_thread: use CreateThread for windows phone
      
      BUG=b/29583578
      
      original webp change:
      
      commit d2afe974f9d751de144ef09d31255aea13b442c0
      Author: James Zern <jzern@google.com>
      Date:   Mon Nov 23 20:41:26 2015 -0800
      
          thread: use CreateThread for windows phone
      
          _beginthreadex is unavailable for winrt/uwp
      
          Change-Id: Ie7412a568278ac67f0047f1764e2521193d74d4d
      
      100644 blob 93f7622797f05f6acc1126e8296c481d276e4047 src/utils/thread.c
      100644 blob 840831185502d42a3246e4b7ff870121c8064791 src/utils/thread.h
      
      vp9_postproc.c missing extern.
      
      BUG=webm:1256
      
      deblock: missing const on extern const.
      
      postproc - move filling of noise buffer to vpx_dsp.
      
      Fix encoder crashes for odd size input
      
      clean-up vp9_intrapred_test
      
      remove tuple and overkill VP9IntraPredBase class.
      
      postproc: noise style fixes.
      
      gtest-all.cc: quiet an unused variable warning
      
      under windows / mingw builds
      
      vp9_intrapred_test: follow-up cleanup
      
      address few comments from ce050afaf3e288895c3bee4160336e2d2133b6ea
      
      Change-Id: I3eece7efa9335f4210303993ef6c1857ad5c29c8
      2967bf35
  9. 30 Jun, 2016 1 commit
    • James Zern's avatar
      configure: remove old visual studio support (<2010) · f8876a22
      James Zern authored
      BUG=b/29583530
      
      Change-Id: If08ce6ca352f377ac4db6b9b1909b507bba6d872
      (cherry picked from commit 078dff72ca7bff079cb3c56d98c588c6ea6d2814)
      (cherry picked from commit 046226376533b610ddc700f14409f195aa6abd51)
      f8876a22
  10. 17 Jun, 2016 2 commits
    • Johann's avatar
      Configuration: Use 'is_in' instead of echo | grep · 1de5ba75
      Johann authored
      Change-Id: I38f7684969f12a624980f4e06698379a49e61bdf
      1de5ba75
    • Johann's avatar
      Parse codec options in order of occurrence. · 0146fa95
      Johann authored
      Each time a codec is enabled or disabled with the umbrella
      --enable-vpN flag, set the encoder and decoder configurations as well.
      This was done as a post-processing step but doing that lost the order of
      the arguments.
      
      BUG=webm:1205
      
      Change-Id: Ic629bfdd06acc04bc5a7227309f36bba54dad8b1
      0146fa95
  11. 09 Jun, 2016 1 commit
  12. 12 May, 2016 1 commit
    • Brion Vibber (WMF)'s avatar
      Add --enable-shared option to iosbuild.sh to build dynamic framework · 992e4b70
      Brion Vibber (WMF) authored
      Also allows use of --enable-shared when configuring for Mac OS X,
      producing a bare .dylib.
      
      Enabling the shared framework bumps the iOS deployment target to 8.0,
      the minimum required to support dynamic framework deployment in apps.
      
      When not using --enable-shared, a static library for iOS 6.0+ will still
      be built.
      
      Minimum version settings have been moved into ios-version.sh so they
      can be updated in a single place.
      
      As with the static build, unless header search paths are manually
      tweaked, users must add a VPX prefix on includes, such as:
      
        #include <VPX/vpx/vpx_decoder.h>
      
      A module map for headers is not yet included as inttypes.h is not
      modular; this means that VPX cannot be used directly in Swift code,
      but can still be pulled in through an Objective-C wrapper.
      
      BUG=https://bugs.chromium.org/p/webm/issues/detail?id=1092
      Change-Id: I28fb06ce65e48ed167a88c14a7bfb2861989317e
      992e4b70
  13. 05 May, 2016 3 commits
  14. 03 May, 2016 1 commit
  15. 02 May, 2016 1 commit
    • Tom Finegan's avatar
      configure.sh: Remove armv6-darwin target. · b05158d6
      Tom Finegan authored
      - iOS SDKs no longer ship with armv6 support.
      - Our minimum iOS version means all target devices have neon.
      - Remove armv6 darwin LD workaround.
        - This removes a TODO.
      
      Change-Id: I2fcb5b82c96213364275475be021c7dd8459d5c0
      b05158d6
  16. 12 Apr, 2016 1 commit
  17. 23 Mar, 2016 1 commit
  18. 18 Mar, 2016 1 commit
  19. 15 Mar, 2016 1 commit
    • hui su's avatar
      Add "entropy" experiment flag · 08d7f44c
      hui su authored
      For experiments to improve compression efficiency of entropy coding.
      
      Change-Id: Idf30dc554bd7eea3a79d21d18515c3e6b8f64b26
      08d7f44c
  20. 12 Mar, 2016 1 commit
  21. 08 Mar, 2016 1 commit
  22. 29 Feb, 2016 1 commit
    • Yunqing Wang's avatar
      Do sub-pixel motion search in up-sampled reference frames · 342a368f
      Yunqing Wang authored
      Up-sampled the reference frames to 8 times in each dimension using
      the 8-tap interpolation filter. In sub-pixel motion search, use the
      up-sampled reference frames to find the best matching blocks. This
      largely improved the motion search precision, and thus, improved
      the compression quality. There was no change in decoder side.
      
      Borg test and speed test results:
      1. On derflr set,
      Overall PSNR gain: 1.306%, and SSIM gain: 1.512%.
      Average speed loss on derf set was 6.0%.
      2. On stdhd set,
      Overall PSNR gain: 0.754%, and SSIM gain: 0.814%.
      On hevchd set,
      Overall PSNR gain: 0.465%, and SSIM gain: 0.527%.
      Speed loss on HD clips was 3.5%.
      
      Change-Id: I300ebaafff57e88914f3dedc8784cb21d316b04f
      342a368f
  23. 10 Feb, 2016 1 commit
    • Yue Chen's avatar
      Adding the config tag for the OBMC experiment · e25ccffc
      Yue Chen authored
      obmc: We add an obmc prediction mode at superblock level.
      When it is enabled, predictors of the above and left blocks
      are used to refine the regular block-based motion compensation.
      
      Change-Id: I6310104ea3dfece16d736351e368861471dd1c9b
      e25ccffc
  24. 05 Feb, 2016 2 commits
    • Yaowu Xu's avatar
      Fixed warnings of unused functions · 4d90ae4b
      Yaowu Xu authored
      And enabled the warning flag in configure for vp10.
      
      Change-Id: If556d6fac65755af3d6ed7fe71b8eca0ef1b1965
      4d90ae4b
    • Yaowu Xu's avatar
      Fix bad merge artifacts · 105da412
      Yaowu Xu authored
      Temporaly disable warning for unused function for vp10, needs clean
      out the warnings before re-enable the flag for vp10.
      
      Change-Id: I5636f8cd607423f6ea6963db9c2cbd688e30b495
      105da412
  25. 04 Feb, 2016 1 commit
  26. 15 Jan, 2016 1 commit
    • Debargha Mukherjee's avatar
      Adding experimental tags for new experiments · 6a5a08ee
      Debargha Mukherjee authored
      ext-partition: to hold partition extensions (ex. ext-partition,
      ext-coding-unit-size from nextgen)
      loop-restore: to hold in-loop restoration filter (ex. loop-postfilter
      from nextgen and other Wiener restoration filters)
      
      Change-Id: I71c7f1588f05fb0f2b00f7004a78e90c9cceae3f
      6a5a08ee
  27. 12 Jan, 2016 1 commit
  28. 08 Jan, 2016 2 commits
  29. 05 Jan, 2016 1 commit
    • Yaowu Xu's avatar
      Assert no 8x4/4x8 partition for scaled references · 03a021a6
      Yaowu Xu authored
      This commit adds a new configure option:
      
      --enable-better-hw-compatibility
      
      The purpose of the configure option is to provide information on known
      hardware decoder implementation bugs, so encoder implementers may
      choose to implement their encoders in a way to avoid triggering these
      decoder bugs.
      
      The WebM team were made aware of that a number of hardware decoders
      have trouble in handling the combination of scaled frame reference
      frame and 8x4 or 4x8 partitions. This commit added asserts to vp9
      decoder, so when built with above configure option, the decoder can
      assert if an input bitstream triggers such decoder bug.
      
      Change-Id: I386204cfa80ed16b50ebde57f886121ed76200bf
      03a021a6
  30. 18 Dec, 2015 2 commits
  31. 19 Nov, 2015 1 commit
  32. 18 Nov, 2015 1 commit
    • James Zern's avatar
      configure: simplify x86 asm dependencies · 6e6dbbc6
      James Zern authored
      --disable-XXX has the effect of disabling all extensions above it, e.g.,
      --disable-ssse3 disables ssse3-avx2.
      
      Change-Id: If02b44ca71ee12e4acb12010db8593a7989f2a9d
      6e6dbbc6
  33. 13 Nov, 2015 1 commit
  34. 02 Nov, 2015 1 commit