1. 06 Mar, 2017 1 commit
  2. 05 Mar, 2017 1 commit
    • Jingning Han's avatar
      Decouples rect-tx from var-tx · 8b77d04e
      Jingning Han authored
      With this patch, --enable-var-tx only enables recursive transform
      partitioning without using rectangular transforms.
      To enable use of rectangular transforms in addition, use:
      --enable-var-tx --enable-rect-tx
      
      The RD selection process is not fully tested under the var-tx flag
      only. We might expect certain performance loss there.
      
      Change-Id: Ie6aa17f1bbc3e8563b9990bc9ff79cc860d9a361
      8b77d04e
  3. 04 Mar, 2017 1 commit
  4. 03 Mar, 2017 1 commit
    • Yue Chen's avatar
      Restrict the number of neighbors in obmc mode · 5329a2bf
      Yue Chen authored
      Enable obmc mode only when there are <= 2 left neighbors and <=2
      above neighbors. Also disable it when there is no overlappable
      neighbors.
      
      Gain in AWCY test: 1.60%, was 1.64% when there is no restriction
      
      Change-Id: I2d82ef4fb4daa9b0843ac8844f99b9f412c4f379
      5329a2bf
  5. 02 Mar, 2017 5 commits
    • Debargha Mukherjee's avatar
      Some optimizations on integer affine estimation · 93105538
      Debargha Mukherjee authored
      1. Adds a limit on number of candidate samples used for the
      estimation.
      2. Adds a limit on max mv magnitude for use in the least-squares
      3. Makes some of the internal variables 32-bit.
      
      Impact on coding efficiency in the noise range.
      
      Change-Id: I8c1c3216368ceb2e3548660a3b8c159df54a8312
      93105538
    • David Barker's avatar
      Remove double rounding in selfguided filter · 7dcd7f5e
      David Barker authored
      In av1_selfguided_restoration, the values stored into 'dgd' are
      unnecessarily rounded twice. This patch replaces this by a single
      rounding operation.
      
      Change-Id: I188d283137b74823f5d5447d441250520d6ee294
      7dcd7f5e
    • Jingning Han's avatar
      Avoid the use of undefined marco value · b83e64ba
      Jingning Han authored
      Always define USE_TXTYPE_SEARCH_FOR_SUB8X8_IN_CB4X4 to avoid the
      use of undefined value.
      
      Change-Id: I0ad90c5b5316db231e9538487bb4591dfd6a9ce7
      b83e64ba
    • Yue Chen's avatar
      Use 3-tap spatial filter in FILTER_INTRA experiment · 8d8638a1
      Yue Chen authored
      3-tap recursive intra prediction filters are added.
      Macro USE_3TAP_INTRA_FILTER is set to 1 to use 3-tap by default.
      Coding gain of FILTER_INTRA experiment in AWCY, high delay 150f
      3-tap: 0.51%
      4-tap: 0.68%
      
      Change-Id: I44192dd08bfd8155f58a9b0b5cf1de88fceb762e
      8d8638a1
    • Sarah Parker's avatar
      Turn off global motion for sub8x8 blocks · ae7c458a
      Sarah Parker authored
      Lowres: 0.03% improvement, 1% improvement on waterfall_cif.y4m
      Midres: 0.085% overall improvement, 1.253% improvement on station2_480p25.y4m
      Change-Id: I3872934d978bb4ca828c6b9acd2fdb951d9da299
      ae7c458a
  6. 01 Mar, 2017 4 commits
    • Ryan Lei's avatar
      implement combined parallel_deblocking experiment · 392d0ff7
      Ryan Lei authored
      The parallel_deblocking experiment is proposed jointly by Intel
      and Microsoft. The following changes are implemented in this
      experiment:
      
      - deblocking filter order is changed to filter all vertical edges
        of the whole frame followed by filtering all horizontal edges
        of the whole frame
      
      - filter length decision is made based on the transform block size
        on both sides of the edge. block with smaller transform size
        determines the final filter length.
      
      - transform blocks on both sides of the edge are checked, only when
        both blocks are skipped and they belong to the same prediction
        block, filtering of that edge can be skipped.
      
      - 15-tap filter and extended flat area detection are removed.
      
      - special rule for handling 4x4 transform block on the super block
        boundary in VP9 is removed.
      
      Change-Id: I1aa82c6b5335d47c2f73eec8fc8bee2c08a1cf74
      392d0ff7
    • Jingning Han's avatar
      Fix compiling warnings in var-tx and pvq · ab77e73b
      Jingning Han authored
      Change-Id: Ie836a113978028f3bde2acd31061d9a663547087
      ab77e73b
    • Sebastien Alaiwan's avatar
      Fix potential integer overflow in range checking · cb57c95a
      Sebastien Alaiwan authored
      Change-Id: I20b951bb67f4c2147055751a8cd9534ceddc7215
      cb57c95a
    • Yaowu Xu's avatar
      Remove an unused declaration · 1772cf55
      Yaowu Xu authored
      Change-Id: I10cb9af13d50f2e5ac471af86a4393739c28b509
      1772cf55
  7. 28 Feb, 2017 3 commits
    • 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
      3a88de8f
    • 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
      246d2737
    • 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
      c41a549a
  8. 27 Feb, 2017 7 commits
    • 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
      f6dd3c68
    • 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
      094c9439
    • 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
      e6eb3b53
    • Angie Chiang's avatar
      Prefer using get_tx_size() · 7fcfee40
      Angie Chiang authored
      Change-Id: Ifcdd3ce2953c1ecb1d0962da412a4b5ba2cda912
      7fcfee40
    • 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
      7f094f10
    • Alex Converse's avatar
      loop_restoration: Cleanup allocations · 232e3847
      Alex Converse authored
      Change-Id: Id3824c09cbaae814df1d8fb029215f28e8c7a6b1
      232e3847
    • 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
      4305e6be
  9. 25 Feb, 2017 5 commits
  10. 24 Feb, 2017 12 commits