1. 31 Mar, 2017 2 commits
  2. 30 Mar, 2017 6 commits
    • Yi Luo's avatar
      Add SSE2 av1_fht32x32 · 9a3d29ea
      Yi Luo authored
      BUG=aomedia:407
      
      Change-Id: I27a7a230bbc701920a996d1e22ae4d22ca8cfead
      9a3d29ea
    • Jean-Marc Valin's avatar
      Prevent PVQ SSE search from putting pulses beyond n-1 · 133a9878
      Jean-Marc Valin authored
      Change-Id: Ib9fec5f2e00ecd73006a603a61d3fddee5229cf8
      133a9878
    • Yunqing Wang's avatar
      Enable/disable unit tests correctly in decoder-only build case · 80360585
      Yunqing Wang authored
      While building the decoder-only AV1, the unit tests need to be the ones
      that only call decoder functions.
      
      BUG=aomedia:395
      
      Change-Id: Iac7b464aa222a177c06b2e037faa6717305cd59d
      80360585
    • Debargha Mukherjee's avatar
      A few fixes for global motion · 11f0e40d
      Debargha Mukherjee authored
      Handles a rare divisin by 0 case.
      Also adds a check on global motion parameters to disable
      if the parameters obtained are outside the range that the
      shear supports. This fixes a rare assert failure.
      Also changes the recode loop threshold somewhat.
      
      Change-Id: I4c6e74b914ac653cd9caa0563d78b0a19a2a8627
      11f0e40d
    • Steinar Midtskogen's avatar
      Optimise od_dir_find8() for SSE4.1 · 40fbd217
      Steinar Midtskogen authored
      Change-Id: I56a35b0d3d76294cc7b3d601770f7dcef12a8bc9
      40fbd217
    • Yue Chen's avatar
      Restrict # of neighbors in obmc blending · 1bd42be6
      Yue Chen authored
      Only blend with the first N neighbors at each side. If the size of
      one dimenstion is 8/16/32/64, the max # of neighbors to overlap
      with is 1/2/3/4.
      Previously we disable obmc mode if there are too many neighbors.
      
      Change of performance in AWCY, compared to disabling obmc if
      at any side there are more than 2 overlappable neighbors.
      HL improved by 0.02%
      LL improved by 0.09%
      
      Change-Id: I93d9a65c6c4aabf0b4a4946e2253d3e2ef21a662
      1bd42be6
  3. 29 Mar, 2017 6 commits
  4. 28 Mar, 2017 4 commits
    • Steinar Midtskogen's avatar
      Move dering strength mapping to od_dering() · 233ef947
      Steinar Midtskogen authored
      This patch also makes it easier to tune the mapping later.
      
      Change-Id: I69f49b9dd1fddb306931599a354526abe0232eb8
      233ef947
    • Thomas Davies's avatar
      NEW_MULTISYMBOL: Code extra_bits using multi-symbols. · 9b8393fd
      Thomas Davies authored
      Code the extra_bits using up to 5 non-adaptive symbols,
      starting from the LSB. The number of skipped bits is
      truncated to fit into the multi-symbol groups.
      
      Change-Id: I147b5b0c3815bd39c338ee9a4779638ae75d7ab5
      9b8393fd
    • Steinar Midtskogen's avatar
      Let od_dering() handle 16 to 8 bit conversion · 302d2c18
      Steinar Midtskogen authored
      Change-Id: Ief5df3d5b1b81f09190d34022a3cb7d500992da2
      302d2c18
    • Fergus Simpson's avatar
      frame_superres: Add scale to uncompressed header · e7508413
      Fergus Simpson authored
      A bit and a three bit literal have been added to the uncompressed frame
      header for use by the frame superres experiment.
      
      The bit is true if scaling is to be used, and is immediately followed by
      a three bit literal that encodes the scale to use. If the first bit is
      false, scaling is disabled and the scale factor numerator is set to the
      denominator (ie. 1:1 scaling). No literal follows if scaling is
      disabled.
      
      The denominator has been defined as a constant 16. The literal is biased
      by a defined constant of 8 - allowing fractions from 1/2 to 15/16
      scaling in steps of 1/16 when scaling is used. Experimentation will be
      needed to discover which of these are useful.
      
      The bit and literal are immediately after the optional render_width and
      render_height, so that the superres parameters can be written and read
      just after the regular width and height, without interfering with the
      render_size parameters.
      
      This patch also adds an arbitrary write to make the scale 1:1, so as to
      not trigger any scaling until it's ready.
      
      Accompanying encode and decode helper functions are added.
      
      Change-Id: I8caa6247c73f5c7f84ef1fde1e80eb9b20bde0e3
      e7508413
  5. 27 Mar, 2017 4 commits
  6. 25 Mar, 2017 3 commits
  7. 24 Mar, 2017 4 commits
  8. 23 Mar, 2017 7 commits
    • David Barker's avatar
      Re-enable av1_nmv_ctx() when ext-inter is enabled · 9620bcd5
      David Barker authored
      Currently, mbmi->ref_mv_idx can be set to a nonzero value
      on the encoder side if mbmi->mode is one of NEARMV, NEWMV,
      NEAR_NEARMV, or NEW_NEWMV. But it can only be nonzero on the
      decoder side if the mode is NEARMV or NEWMV. Hence av1_nmv_ctx
      has previously been disabled when ext-inter is enabled, to
      prevent a mismatch due to this.
      
      This patch changes the encoder behaviour to match the decoder
      behaviour.
      
      Change-Id: Icfe41fb72e76731ae373fe8c6065f5e003f6414f
      9620bcd5
    • Jingning Han's avatar
      Account for 2x2 tx_size in extrabits_size · 008ea46a
      Jingning Han authored
      Offset the transform block size with respect to TX_4X4 when
      counting the cat6 extra bit size. This accounts for the potential
      use of 2x2 transform block size in cb4x4.
      
      BUG=aomedia:405
      
      Change-Id: Ia15ac123e4f31dc66455c3aa6925ae5e754de493
      008ea46a
    • Jean-Marc Valin's avatar
      Do real chroma RDO search for CDEF · e9f77424
      Jean-Marc Valin authored
      Chroma now has a list of strenghts too, with the superblock signalling
      shared between luma and chroma.
      
      low-latency, cpu=4:
      
         PSNR | PSNR Cb | PSNR Cr | PSNR HVS |   SSIM | MS SSIM | CIEDE 2000
      -0.0114 | -1.4626 | -1.4745 |  -0.0423 | 0.0430 | -0.0001 |    -0.7416
      
      Change-Id: I389c77f1d80020f810e45f8502c656ad9d397c8c
      e9f77424
    • Debargha Mukherjee's avatar
      Simplify warped motion estimation to use 2d ls · b9370acd
      Debargha Mukherjee authored
      Use a simpler warped motion estimation scheme that uses a 2d
      least squares problem, where the underlying assumption
      applied is that the motion vector computed at the center
      of the current block using the warp model is exactly the same
      as the motion vector transmitted for the block.
      
      The main motivation is to reduce the complexity of the
      estimation process.
      
      Coding efficiency drop is about +0.25% on lowres:
      -1.152% (from -1.396%).
      
      Also, removes code for non-approximate division and bakes
      approximate divison in.
      
      Change-Id: Ie4ad8e32593b09f7e1920c70b0b92545236ddc54
      b9370acd
    • Fergus Simpson's avatar
      frame_superres: Add members to AV1_COMMON · 7a71d0a0
      Fergus Simpson authored
      Adds the superres scale numerator, width, and height to the AV1_COMMON
      struct for later use in encoding and decoding. This value will also be
      added to the uncompressed frame header.
      
      A #define statement is also added to represent the denominator - 16.
      
      Change-Id: I4acec39ef3c67fa9f7118dac28daec3a2d734ed5
      7a71d0a0
    • Alex Converse's avatar
      Fix Wundef warnings inside the codec · 64d7ef67
      Alex Converse authored
      Change-Id: I2f4a5c836905b089b91b211368bf3a0dea682b75
      64d7ef67
    • Debargha Mukherjee's avatar
      Split current block samples for warp estimation · e8e6cad7
      Debargha Mukherjee authored
      Change-Id: Iebc74024475c7cb88650b65df9f23b1a5e70021c
      e8e6cad7
  9. 22 Mar, 2017 4 commits
    • Yue Chen's avatar
      Remove check for identical neighboring mv field in WARPED_MOTION · dd6e402a
      Yue Chen authored
      This will allow us decode motion mode without knowing motion vectors
      in the neighborhood.
      Improves the performance by 0.3% (1.1->1.4)
      
      Change-Id: Ie18ee2b02b1d2f89615bc8fa423beb1f9bd9a678
      dd6e402a
    • Jean-Marc Valin's avatar
      Jointly optimizing deringing and clpf · 5f5c132f
      Jean-Marc Valin authored
      We now signal joint strengths and use a greedy algorithm for the search.
      
      low-latency, cpu-used=4:
      
      ll4-cdef@2017-03-22T03:42:10.815Z -> ll4-cdef-newsearch-var-header-newlambda-refine4@2017-03-22T15:56:46.471Z
      
         PSNR | PSNR Cb | PSNR Cr | PSNR HVS |    SSIM | MS SSIM | CIEDE 2000
      -0.0792 |  0.3551 |  0.4393 |  -0.0108 | -0.1338 | -0.0141 |     0.1452
      
      Change-Id: I619ae1c7c7d7ec04fe993cabc5773b07c3f5b201
      5f5c132f
    • Angie Chiang's avatar
      Change exit(0) to assert(0) in txb_common.h · 0eb767b8
      Angie Chiang authored
      This will provide better indication of abnormal code flow.
      
      Change-Id: I7e6cdcf77f13c709137e6524c94b0911cd5216ed
      0eb767b8
    • Angie Chiang's avatar
      Add av1_adapt_txb_probs() · bb100e27
      Angie Chiang authored
      This is for backward updating probability model of lv_map
      
      Change-Id: I0e943e271e3cb8a90c33263b4d62db90bf2e89b0
      bb100e27