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
      Removing it avoids names like 'Y', 'U', 'V' and 'ALL' being visible
      in all files that include the encoder.h header.
      Change-Id: I874a73a3cfe6bcb29aedea102077a52addc49af6
    • 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
  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
      Change-Id: I5d7636394408d97de55394d668540f5627827983
    • Nathan E. Egge's avatar
      Rename aom_write_tree_cdf() to aom_write_symbol(). · 56eeaa5d
      Nathan E. Egge authored
      Change-Id: I7c088c55f1c461063976d5bd84ff2026c4f3bc69
    • 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
    • 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
    • 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
    • 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
    • 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
  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
    • 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
    • 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
    • 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
    • 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
    • Michael Bebenita's avatar
      Add SSE4.1 code for deringing functions. · 7227b65c
      Michael Bebenita authored
      Change-Id: I363f7fb610a5c86ea9f417e34b57c6373af877e5
    • 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
    • David Barker's avatar
      Add sse2 forward and inverse 16x32 and 32x16 transforms · 33231d48
      David Barker authored
      Change-Id: I1241257430f1e08ead1ce0f31db8272b50783102
    • 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
    • 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
    • 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