1. 19 Oct, 2016 2 commits
    • Urvang Joshi's avatar
      Move STAT_TYPE enum to source file. · b5ed3500
      Urvang Joshi authored
      In the header, all we need is number of stat types, not the names for actual
      types.
      
      Removing it avoids names like 'Y', 'U', 'V' and 'ALL' being visible
      in all files that include the encoder.h header.
      
      Change-Id: I874a73a3cfe6bcb29aedea102077a52addc49af6
      b5ed3500
    • Urvang Joshi's avatar
      Code cleanup: mainly rd_pick_partition and methods called from there. · 52648448
      Urvang Joshi authored
      - Const correctness
      - Refactoring
      - Make variables local when possible etc
      - Remove -Wcast-qual to allow explicitly casting away const.
      
      Cherry-picked from aomedia/master: c27fcccc
      And then a number of more const correctness changes to make sure other
      experiments build OK.
      
      Change-Id: I77c18d99d21218fbdc9b186d7ed3792dc401a0a0
      52648448
  2. 18 Oct, 2016 9 commits
  3. 17 Oct, 2016 7 commits
    • Yue Chen's avatar
      Refactor motion estimation in MOTION_VAR experiment · e9638ccf
      Yue Chen authored
      To get ready for pulling AV1 to nextgenv2. Refactoring is done to
      make the code structures similar, especially for the motion search
      part.
      
      Change-Id: I5d7636394408d97de55394d668540f5627827983
      e9638ccf
    • Nathan E. Egge's avatar
      Rename aom_write_tree_cdf() to aom_write_symbol(). · 56eeaa5d
      Nathan E. Egge authored
      Change-Id: I7c088c55f1c461063976d5bd84ff2026c4f3bc69
      56eeaa5d
    • Yushin Cho's avatar
      Bug fix in super_block_uvrd(). · 09de28b4
      Yushin Cho authored
      In super_block_uvrd(),if is_cost_valid == 0, all return parameters,
      i.e. rate, distortion, skippable, and sse, are reset.
      So, should not call txfm_rd_in_plane() if is_cost_valid == 0.
      Also, the bug causes av1_xform_quant() to see invalid diff signal
      since av1_subtract_plane() is not called in super_block_uvrd().
      
      Change-Id: Iaa06061e2e9aa8876b4611a54f4ae6b8d499332b
      09de28b4
    • Nathan E. Egge's avatar
      Update partition_cdf per frame. · fba2be69
      Nathan E. Egge authored
      Move computing the partition_cdf tables per symbol to
       computing them only when the probabilities are updated.
      
      Change-Id: I442f9230ba00be7f5d0558d7c38d7324ad009ee8
      fba2be69
    • Nathan E. Egge's avatar
      Update inter_ext_tx_cdf per frame. · 93878c42
      Nathan E. Egge authored
      Move computing the inter_ext_tx_cdf tables per symbol to
       computing them only when the probabilities are updated.
      
      Change-Id: I5e1e62f8eae8f6b2edbbd378beeb786649502c10
      93878c42
    • Nathan E. Egge's avatar
      Update intra_ext_tx_cdf per frame. · 7c5b4c16
      Nathan E. Egge authored
      Move computing the intra_ext_tx_cdf tables per symbol to
       computing them only when the probabilities are updated.
      
      Change-Id: I26d5e419e103093e98a7d896c196176305b50fc9
      7c5b4c16
    • Nathan E. Egge's avatar
      Update switchable_interp_cdf once per frame. · 4947c296
      Nathan E. Egge authored
      Move from computing the switchable_interp_cdf per symbol to
       computing once per frame when the probabilities are adapted.
      
      Change-Id: I6571126239f0327e22bb09ee8bad94114291683e
      4947c296
  4. 14 Oct, 2016 11 commits
  5. 13 Oct, 2016 11 commits
    • Steinar Midtskogen's avatar
      Move CLPF block signals from frame to SB level. · 97535038
      Steinar Midtskogen authored
      These signals were in the uncompressed frame header (as a temporary
      hack), which caused two problems:
      
      * We don't want that header to be duplicated in the slice header
      * It was necessary to signal the number of bits to transmit up front
      
      However, the filter size can be 128x128 which is greater than the SB
      size, and a decoder wouldn't be able to know whether to read a bit or
      not until the final SB of that 128x128 block has been decoded
      (depending on whether the 128x128 is all skip or not).  Therefore the
      signalling was changed for 128x128 blocks so that every top left SB of
      a 128x128 filter block contains a signal regardless of whether the
      block is all skip or not.  Also, all the MB's of 128x128 block are
      filtered even if they are skip MB's.  This gives the signal a purpose
      even when the 128x128 block is all skip, and it also gives a slight
      coding gain as it leaves a way to filter skip blocks, which was
      previously forbidden.
      
      Low latency:
      PSNR YCbCr:     -0.19%     -0.14%     -0.06%
         PSNRHVS:     -0.15%
            SSIM:     -0.13%
          MSSSIM:     -0.15%
       CIEDE2000:     -0.19%
      
      High latency:
      PSNR YCbCr:     -0.03%     -0.01%     -0.09%
         PSNRHVS:      0.04%
            SSIM:      0.00%
          MSSSIM:      0.02%
       CIEDE2000:     -0.02%
      
      Change-Id: I69ba7144d07d388b4f0968f6a53558f480979171
      97535038
    • Yue Chen's avatar
      Renamings for OBMC experiment · cb60b185
      Yue Chen authored
      To get ready for pulling AV1 to nextgenv2
      Replace the experimental flag by MOTION_VAR. Rename major variables.
      
      Change-Id: If6cf4f37b9319c46d8f90df551cc7295d66ca205
      cb60b185
    • Jean-Marc Valin's avatar
      Removing some useless loops in deringing filter · a8ce2c91
      Jean-Marc Valin authored
      No change in the output
      
      Change-Id: I1627feaa163d65da0df90e9dacbc5e39ee755de8
      a8ce2c91
    • Jean-Marc Valin's avatar
      Fix deringing level choice for 10-bit and 12-bit · 209f830d
      Jean-Marc Valin authored
      Making sure we never exceed a base level of 63
      
      Change-Id: I821254b8d970446bd40fdd6e4d7073c69760a86d
      209f830d
    • Jean-Marc Valin's avatar
      Don't dering superblocks that have deringing disabled · 3cfec90d
      Jean-Marc Valin authored
      Doesn't change the output, but avoids useless deringing with threshold=0
      
      Change-Id: I69f3e54abad2d2493cfbc76c188ad7d190f0aeff
      3cfec90d
    • Michael Bebenita's avatar
      Add SSE4.1 code for deringing functions. · 7227b65c
      Michael Bebenita authored
      Change-Id: I363f7fb610a5c86ea9f417e34b57c6373af877e5
      7227b65c
    • Zoe Liu's avatar
      Clean code a bit and fix a couple of small bugs in ext-refs · f0e4669e
      Zoe Liu authored
      Currently the patch does not have any impact on the RD performance. The
      fix could however potentially help on the next step of work, especially
      when the extra altref frames allow non-zero temporal filtering strength
      and their corresponding OVERLAY frames, i.e. the INTNL_OVERLAY frames
      are being added.
      
      Change-Id: I2e07fb3d0aa547a0b5dd05bb4ba865cd46309076
      f0e4669e
    • David Barker's avatar
      Add sse2 forward and inverse 16x32 and 32x16 transforms · 33231d48
      David Barker authored
      Change-Id: I1241257430f1e08ead1ce0f31db8272b50783102
      33231d48
    • Alex Converse's avatar
      Remove custom rans types · 9ed1a2ff
      Alex Converse authored
      (cherry picked from aom/master commit 11206c60)
      
      Includes renames in a bunch of places not handled by the original
      due to differing tree states.
      
      Change-Id: Ic74d9d8850b8c80a51e55e425bbf472a67e2653f
      9ed1a2ff
    • Jean-Marc Valin's avatar
      Simpler threshold calculation for the second filter · 4713d8d0
      Jean-Marc Valin authored
      PSNR YCbCr:      0.03%     -0.00%      0.07%
         PSNRHVS:      0.06%
            SSIM:      0.12%
          MSSSIM:      0.09%
       CIEDE2000:      0.05%
      
      Change-Id: I15ef9598a08f6713bc28ab98b0182310433e97ef
      4713d8d0
    • Jean-Marc Valin's avatar
      Make 4x4 deringing (chroma) use shorter filters · ea64c342
      Jean-Marc Valin authored
      Avoids blurring chroma for 4:2:0
      
      PSNR YCbCr:      0.03%     -0.31%     -0.29%
         PSNRHVS:      0.02%
            SSIM:      0.03%
          MSSSIM:      0.02%
       CIEDE2000:      0.01%
      
      Change-Id: If744fb902b5f24404479def22b9ca8a19baec722
      ea64c342