1. 01 Sep, 2016 1 commit
  2. 26 Aug, 2016 1 commit
    • Geza Lore's avatar
      Use rectangular transforms for >= 8x8 blocks · d21982c8
      Geza Lore authored
      For rectangular blocks between 8x8 and 32x32, we can now code the
      transform size as one bigger than the largest square that fits in
      the block (eg, for 16x8, we can code a transform size of 16x16
      rather than the previous maximum of 8x8), when this oversized
      transform is coded in the bitstream, the codec will use the full
      size rectangular transform for that block (eg 16x8 transform in
      the above example).
      
      Also fixes a scaling bug in 16x8/8x16 transforms.
      
      Change-Id: I62ce75f1b01c46fe2fbc727ce4abef695f4fcd43
      d21982c8
  3. 18 Aug, 2016 1 commit
  4. 15 Aug, 2016 1 commit
  5. 12 Aug, 2016 1 commit
  6. 22 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. 25 May, 2016 1 commit
    • Yi Luo's avatar
      Integrate HBD inverse HT flip types sse4.1 optimization · bfe4c0ae
      Yi Luo authored
      - tx_size: 4x4, 8x8, 16x16.
      - tx_type: FLIPADST_DCT, DCT_FLIPADST, FLIPADST_FLIPADST,
        ADST_FLIPADST, FLIPADST_ADST.
      - Encoder speed improvement:
        park_joy_1080p_12: ~11%, crowd_run_1080p_12: ~7%.
      - Add unit test cases for bit-exact against C.
      
      Change-Id: Ia69d069031fa76c4625e845bfbfe7e6f6ed6e841
      bfe4c0ae
  10. 18 May, 2016 1 commit
  11. 10 May, 2016 2 commits
  12. 14 Apr, 2016 1 commit
  13. 04 Apr, 2016 2 commits
    • Angie Chiang's avatar
      Branch dct to new implementation for bd12 · ff8c490b
      Angie Chiang authored
      Change-Id: I9281935653aacce22ac3100f79fb956c249e2bf3
      ff8c490b
    • Angie Chiang's avatar
      Change dct32x32's range · f1060f5b
      Angie Chiang authored
      Bitdepth 10/12:
      Fit coefficient range into 32 bits
      Fit codfficient * const range into 32 bits
      
      Bitdepth 8:
      Fit coefficient range into 16 bits
      Fit codfficient * constant range into 32 bits
      
      Change-Id: I50b5a3132e8a9f5155c971ab0f6eb52876d2b5ca
      f1060f5b
  14. 30 Mar, 2016 1 commit
  15. 28 Mar, 2016 1 commit
  16. 23 Mar, 2016 1 commit
  17. 21 Mar, 2016 1 commit
    • Debargha Mukherjee's avatar
      Adds 1D transforms for ADST/FlipADST to make 16 · 1b175593
      Debargha Mukherjee authored
      Makes a set of 16 transforms total, adding all 1D
      combinations of ADST and FlipADST, and removng all DST
      transforms.
      
      lowres, midres both improve by about 0.1% and hdres by
      -0.378% in BDRATE but with fewer transforms that are also
      simpler.
      
      Further experiments to continue later.
      
      Change-Id: I7348a4c0e12078fdea5ae3a2d36a89a319ffcc6e
      1b175593
  18. 15 Mar, 2016 1 commit
    • Debargha Mukherjee's avatar
      Refactor 1D transforms · 9b88762b
      Debargha Mukherjee authored
      In preparation for adding more 1D variants with ADST/FlipADST/etc.
      
      BDRATE actually improves by 0.21% on lowres.
      
      Change-Id: I2fa4720c69fe001fa666119a284dfc6b17fffab2
      9b88762b
  19. 10 Mar, 2016 1 commit
    • Jingning Han's avatar
      Enable hybrid 1-D/2-D transform coding for highbd setting · c453ae53
      Jingning Han authored
      This commit enables the hybrid 1-D/2-D transform coding scheme for
      high bit-depth setting. It improves the compression performance of
      ext-tx experiment by 0.98% for lowres_all set.
      
      Change-Id: Ic27f5037f2c36b095a93b9f15dbae34bdcdf00aa
      c453ae53
  20. 07 Mar, 2016 1 commit
    • Jingning Han's avatar
      Hybrid 1-D/2-D transform coding · a8dc9694
      Jingning Han authored
      This commit enables a hybrid 1-D/2-D transform coding scheme and
      the accompany entropy coding system. It currently uses hybrid
      1-D/2-D DCT transform coding. It provides coding performance gains:
      
      lowres_all  0.55%
      hdres_all   0.43%
      
      Change-Id: I2b30dcafd21eb2bb3371f6e854cbab440a4dfa78
      a8dc9694
  21. 17 Feb, 2016 1 commit
  22. 16 Feb, 2016 1 commit
  23. 15 Dec, 2015 1 commit
    • Debargha Mukherjee's avatar
      Replace DST1 in ext_tx experiment with DST2 · 49d9730f
      Debargha Mukherjee authored
      The DST2 is implemented by input alternate sign-flip, followed
      by DCT, followed by output reversal.
      Results are roughly the same, but it should be easier to optimize
      the DST2.
      [Interestingly a mtrix multuiply implementation is about 0.1%
      better].
      
      Change-Id: If9ae5fdba87767fb0e6c163a62b77ee66a8d3afc
      49d9730f
  24. 25 Nov, 2015 1 commit
    • Angie Chiang's avatar
      Add facade to inverse txfm · a245d9f8
      Angie Chiang authored
      Add inv_txfm and highbd_inv_txfm as facades of inverse transform
      such that the code flow in encodemb.c can be simpler
      
      Change-Id: Iea45fd22dd8b173f8eb3919ca6502636f7bcfcf7
      a245d9f8
  25. 24 Nov, 2015 1 commit
  26. 09 Nov, 2015 1 commit
    • Johann's avatar
      Release v1.5.0 · cbecf57f
      Johann authored
      Javan Whistling Duck release.
      
      Change-Id: If44c9ca16a8188b68759325fbacc771365cb4af8
      cbecf57f
  27. 04 Nov, 2015 1 commit
    • Geza Lore's avatar
      Flip the result of the inverse transform for FLIPADST. · 4f510809
      Geza Lore authored
      When using FLIPADST, the vp10_inv_txfm_add functions used to flip
      the destination array, add the result of the inverse transform, to it
      and then flip the destination back. This has been replaced by
      flipping the result of the inverse transform before adding it to the
      destination. Up-Down flipping is done by negating the destination
      stride, and staring from the bottom, so it should now be free.
      Left-right flipping is done with the usual SSE2 instructions in the
      optimized code.
      
      The C functions match the SSE2 functions as expected, so the C functions
      now do the flipping as well when required. Adding this cleanly required
      some refactoring of the C functions, but there is no measurable
      performance impact when ext-tx is not enabled.
      
      Encode speedup with ext-tx enabled is about 3%.
      
      Change-Id: I5b04e5d720f0b9f0d54fd8607a8764f2314c7234
      4f510809
  28. 03 Nov, 2015 1 commit
    • Geza Lore's avatar
      Fix transform tables in C implementations. · 2b39bcec
      Geza Lore authored
      These tables were out of sync with the indexing enum since the
      refactoring in commit 4f16f119 (change 303389), due to the removal
      of the ext_tx_to_txtype lookup table. This patch just puts them
      back in order.
      
      Change-Id: Ieb7d57654f61b99b511d54c9ba09abbd5e8d0d14
      2b39bcec
  29. 29 Oct, 2015 1 commit
  30. 23 Oct, 2015 1 commit
  31. 01 Oct, 2015 1 commit
  32. 30 Sep, 2015 1 commit
    • Debargha Mukherjee's avatar
      Speed up of DST and the search in ext_tx · 3e8cceb3
      Debargha Mukherjee authored
      Adds an early termination to the ext_tx search, and also
      implements the DST transforms more efficiently.
      
      About 4 times faster with the ext-tx experiment.
      
      There is a 0.09% drop in performance on derflr from 1.735% to
      1.648%, but worth it with the speedup achieved.
      
      Change-Id: I2ede9d69c557f25e0a76cd5d701cc0e36e825c7c
      3e8cceb3
  33. 29 Sep, 2015 1 commit
    • Yaowu Xu's avatar
      Merged branch 'master' into nextgenv2 · 7c514e2d
      Yaowu Xu authored
      Resolved Conflicts in the following files:
              configure
              vp10/common/idct.c
              vp10/encoder/dct.c
              vp10/encoder/encodemb.c
              vp10/encoder/rdopt.c
      
      Change-Id: I4cb3986b0b80de65c722ca29d53a0a57f5a94316
      7c514e2d
  34. 25 Sep, 2015 1 commit
  35. 15 Sep, 2015 1 commit
  36. 10 Sep, 2015 1 commit
    • Debargha Mukherjee's avatar
      Comprehensive support for symmetric DST · 4ce81d66
      Debargha Mukherjee authored
      Creates new hybrid transforms combining symmetric DST with
      ADST and DCT. Thus a total of 16 transforms are supported.
      
      derfl: +1.659% (up about 0.2%)
      
      Change-Id: Idde1cecdb59527890bf05da740099c3f6a5b9764
      4ce81d66
  37. 09 Sep, 2015 1 commit
  38. 24 Aug, 2015 1 commit
    • hui su's avatar
      Refactoring on transform types · d76e5b36
      hui su authored
      Prepare for adding more transform varieties (EXT_TX and TX_SKIP in nextgen).
      
      Change-Id: I2dfe024f6be7a92078775917092ed62abc2e7d1e
      d76e5b36