1. 01 Mar, 2017 9 commits
    • Sebastien Alaiwan's avatar
      Fix integer overflow. · 07e33f4e
      Sebastien Alaiwan authored
      Found using the undefined behaviour sanitizer (-fsanitize=undefined).
      Change-Id: I5534a97c0e38f76b38c6a53b42759b0b676e360a
    • James Zern's avatar
      simd_cmp_impl,TestSimd*Arg: break on failure · 8c636c12
      James Zern authored
      check for googletest failures as well as mismatches. this greatly
      reduces the error output and time to failure.
      Change-Id: Ic617905430a8ec39fbee2af9ce6655a8ef6796c0
    • Jingning Han's avatar
      Make ec-multisymbol work with rectangular transform size · 07441df3
      Jingning Han authored
      Resolve the encoding failure when ec-multisymbol and rectangular
      (rect-tx or var-tx) are both turned on.
      Change-Id: I708ed66d907c5928adecfd2a53498566296594d6
    • James Zern's avatar
      make: fix missing headers in dist · fd2b1b81
      James Zern authored
      Change-Id: I259f2983d1e9446f3e29c74f44ae583a676ce81f
    • James Zern's avatar
      get_prob(): rationalize int types · 5f8361a7
      James Zern authored
      promote the unsigned int calculation to uint64_t rather than int64_t for
      type consistency
      cherry-picked from libvpx:
      47d6f16a0 get_prob(): rationalize int types
      Change-Id: Ic34dee1dc707d9faf6a3ae250bfe39b60bef3438
    • Fergus Simpson's avatar
      handle_inter_mode: add arguments struct · 073c6f33
      Fergus Simpson authored
      Adds the arguments struct HandleInterModeArgs to hold arguments that
      are conditional on compiled features. This means that there are no
      longer #if's in the function's argument list.
      Some of the array pointers that were optional arguments have been
      made array members in the new struct, but not all. This is due to the
      function being called with either references to arrays that are
      maintained between trying different modes OR with references to
      "dummy" arrays initialized to zero. The arrays that are always used
      are now members of the HandleInterModeArgs struct.
      Change-Id: I3076fd53c3cddf5a6d14bbe7d23a889465ed716d
    • James Zern's avatar
      codereview.settings: update gerrit info · 15c27e0b
      James Zern authored
      + disable squashing of commits
      Change-Id: If70d57a8bc71159b633a66bb18910d3425f668ff
    • Yaowu Xu's avatar
      Remove an unused declaration · 1772cf55
      Yaowu Xu authored
      Change-Id: I10cb9af13d50f2e5ac471af86a4393739c28b509
    • Jingning Han's avatar
      Fix compiling warnings in var-tx and coef-interleave · dddb21f9
      Jingning Han authored
      Resolve compiler warnings when the two experiments are turned on.
      Change-Id: I568ddd74afad6fe720e1f46d0119df08fd2f689b
  2. 28 Feb, 2017 9 commits
    • Angie Chiang's avatar
      Turn on SIMD implementation of av1_fht32x32 · e4f98f67
      Angie Chiang authored
      Change-Id: Ie1bfece43c81ee5d149ed25c3f7fd959a8f95030
    • Michael Bebenita's avatar
      Add SIMD code for PVQ search · 3a88de8f
      Michael Bebenita authored
      This reduces the runtime profile of pvq_search_rdo_double from 37%
      to 15% and improves overall encoding speed when PVQ is enabled by ~40%.
      The SIMD code is not bit accurate with the C version and introduces a
      slight PSNR regression on AWCY:
        PSNR | PSNR Cb | PSNR Cr | PSNR HVS | SSIM | MS SSIM | CIEDE 2000
      0.0607 |  0.1044 |     N/A |   0.0126 |  N/A | -0.0309 |        N/A
      Change-Id: Ie22cebc62df2e72618305f2268668d79167860c6
    • Angie Chiang's avatar
      Add av1_cost_coeffs_txb() for lv_map experiment · 47c72189
      Angie Chiang authored
      Change-Id: I44842387207b19f8e0c3894d3f4e8d0646a4cafd
    • Alex Converse's avatar
      Simplify rabs_read() · bff32ac0
      Alex Converse authored
      This is branchless on newer gcc and clang and is about 1% faster overall
      at cq-level=16 frame-parallel=1.
      Change-Id: I7f5608ab0f0abbc29aa3419a103addf945ea9f0a
    • Urvang Joshi's avatar
      SMOOTH_PRED: Use 8-bit weights. · 3e42acd4
      Urvang Joshi authored
      Using 8-bit weights gives similar results as 12-bit, with only noise
      level difference. Here's what 8-bit looks like compared to 12-bit:
      * AWCY Objective-1-fast:
                                high latency          low latency
      ALL keyframes             0.00                  0.01
      Video                     0.00                  0.04
      * Google sets:
      All Keyframes:
      lowres: 0
      midres: -0.001
      hdres: -0.001
      Video overall:
      lowres: 0
      midres: -0.063
      hdres: 0.026
      Change-Id: Ibed6015aa7cce12fcc6f314ffde76624df4ad2a1
    • Debargha Mukherjee's avatar
      Assign offsets correctly to compute warped motion · 246d2737
      Debargha Mukherjee authored
      Offsets for the least-squares for affine motion computation
      are now set at the top left corner of the current block.
      Improves stability and performance a little.
      Change-Id: I68ca7e74c6102502daa8ca3373af2b2dd59400c3
    • Jingning Han's avatar
      Disable compound mode in sub8x8 coding blocks · c41a549a
      Jingning Han authored
      Disable the support of compound prediction modes for sub8x8 codking
      blocks. Make the rate-distortion optimizations process account for
      such constraints.
      With the use 2x2 chroma prediction block, this makes the wrost case
      number of inter predictors same as vp9. It affects the coding
      gains by 0.35% for lowres, 0.17% for midres, and 0.08% for hdres.
      The encoding speed is up by 10%.
      Change-Id: Ieb2a83030676911baa403e586f1f800cbf485d81
    • Yaowu Xu's avatar
      Use correct segment · 1e2aae1a
      Yaowu Xu authored
      Segmment based lossless flag is used in select transform size, this
      commit fixes a bug where wrong segment_id is used in such selection.
      Change-Id: Ibc981c779739849bac00447155180abbd319eb28
    • Yaowu Xu's avatar
      Move asserts into correct scope · cdf8a14e
      Yaowu Xu authored
      The macro used in assert is defined under CONFIG_VAR_TX. This fixes a
      build issuse when --enable-var-tx and --enable-rd-debug are both on.
      Change-Id: I497fe4a8b1fa6c7b05ac2b41c97522f7bdedc0ce
  3. 27 Feb, 2017 13 commits
    • Angie Chiang's avatar
      Remove redundant return in set_offsets · 44701f2c
      Angie Chiang authored
      Change-Id: Idf8f03052a7e21b8a273986204038545573d7962
    • Debargha Mukherjee's avatar
      Better block center in gm_get_motion_vector fn · f6dd3c68
      Debargha Mukherjee authored
      Also supports homography models for future experiments.
      Change-Id: I4510540f54133e063891ed491c95c087222f7810
    • Adrian Grange's avatar
      Remove unnecessary #ifdef · d152fc04
      Adrian Grange authored
      The line of code is already within the scope
      of an #if CONFIG_EC_MULTISYMBOL.
      Change-Id: I62e28c8586f5d04a1e1be4ea5a2551d3123fde9f
    • Debargha Mukherjee's avatar
      Adds macro to test cb4x4 w/o sub8x8 txtype search · 094c9439
      Debargha Mukherjee authored
      USE_TXTYPE_SEARCH_FOR_SUB8X8_IN_CB4X4 macro added to turn
      tx_type search on/off for sub8x8 in cb4x4 mode.
      The purpose is mainly to analyze the coding gains from cb4x4
      but this later can be made into a speed feature as well.
      Change-Id: Ic22026c373eebba87f324689ac5686a2844315b6
    • Debargha Mukherjee's avatar
      Integerize warped motion computation · e6eb3b53
      Debargha Mukherjee authored
      Integerizes computation of the least squares for warped motion.
      The model is restricted to only Affine. Affine seems easiest
      to compute and integerize since it can be split into two 3-dim
      least squares problems, as opposed to rotation-zoom which needs
      a 4-dim least-squares problem to be solved.
      The current implementation requires only one division per block.
      BDRATE impact is mminimal. The upgrade to the affine model improves
      coding efficiency but integerization also degrades efficiency a
      little. Overall there is a net gain of about -0.07% BDRATE on
      the lowres set.
      BDRATE lowres: -1.113% with ----enable-warped-motion vs. without
      (up from -1.044%).
      Change-Id: I6b9216ac0737d76f59054293eabee48e17739ec4
    • Tom Finegan's avatar
      Move cmake build setup for testing into test/test.cmake. · 4db04d36
      Tom Finegan authored
      - Move source list vars.
      - Split source list vars into common/decoder/encoder sources.
      - Move target definitions into function.
      - Split targets into common/decoder/encoder targets.
      - Update CMakeLists.txt to include test.cmake and call
        setup_aom_test_targets() at the appropriate time.
      Change-Id: Icd9ce67593c2de7ebd5c8ef921e31517b6d20945
    • Yaowu Xu's avatar
      Remove const from int ext_tx_set · 7640f5f3
      Yaowu Xu authored
      The variable was later assigned value in the function.
      Change-Id: I93f283a134499a050b46d9dcd6f0c0b4e8d54049
    • Angie Chiang's avatar
      Prefer using get_tx_size() · 7fcfee40
      Angie Chiang authored
      Change-Id: Ifcdd3ce2953c1ecb1d0962da412a4b5ba2cda912
    • Yaowu Xu's avatar
      Correct a macro · 345a22db
      Yaowu Xu authored
      --enable-lowbitdepth defines the flag CONFIG_LOWBITDEPTH, not
      Change-Id: Ifa1c12847bee4978d08d010f4fc3601d75e59c31
    • Sebastien Alaiwan's avatar
      Remove dead option from configure script. · 58f80175
      Sebastien Alaiwan authored
      Change-Id: I93bfff59810fe2d8e880012de02921ae857f300b
    • Alex Converse's avatar
      Remove aom_realloc() · 7f094f10
      Alex Converse authored
      It only handles the realloc constraint (preserving low elements) by
      serendipity, and we don't actually rely on that behavior anyway.
      Meanwhile the calls may do extra copying that gets immediately clobbered
      by the callers.
      Cherry-pick from libvpx:
      3063c3760 Remove vpx_realloc()
      Change-Id: I8dfa89e4a81084b084889c27bd272fdf85184e8d
    • Alex Converse's avatar
      loop_restoration: Cleanup allocations · 232e3847
      Alex Converse authored
      Change-Id: Id3824c09cbaae814df1d8fb029215f28e8c7a6b1
    • Steinar Midtskogen's avatar
      CLPF: Add quality dependent damping in the constrain function · 4305e6be
      Steinar Midtskogen authored
      PSNR YCbCr:  -0.17%     -0.03%     -0.40%
      APSNR YCbCr: -0.17%     -0.02%     -0.39%
      PSNRHVS:     -0.06%
      SSIM:        -0.17%
      MSSSIM:      -0.07%
      CIEDE2000:   -0.12%
      Change-Id: I69a4b6a4e18c22c3930069396540a6fee45cb30d
  4. 25 Feb, 2017 7 commits
  5. 24 Feb, 2017 2 commits
    • James Zern's avatar
      aom_dsp/get_prob: relocate den == 0 test · 751f26a4
      James Zern authored
      to get_binary_prob(). the only other caller mode_mv_merge_probs() does
      its own test on 0.
      cherry-picked from libvpx:
      93c823e24 vpx_dsp/get_prob: relocate den == 0 test
      Change-Id: Ie0604ad405a97ed754e4b88c6d580eb4894ea0f6
    • James Zern's avatar
      aom_dsp/get_prob: make clip_prob branchless · 56310196
      James Zern authored
      + inline the function directly as there was only one consumer
      this is an attempt to reduce the amount of branches to workaround an amd
      bug. this change is mildly faster or neutral across x86-64, arm.
      665 Integer Divide Instruction May Cause Unpredictable Behavior
      cherry-picked from libvpx:
      7481edb33 vpx_dsp/get_prob: make clip_prob branchless
      Change-Id: I433059c61ce43ec5058cc16ca590d186bfa8aab5