1. 22 Nov, 2017 1 commit
  2. 21 Nov, 2017 10 commits
  3. 20 Nov, 2017 11 commits
    • Cheng Chen's avatar
      JNT_COMP: refactor if statements · 8263f80c
      Cheng Chen authored
      Refactor if statement that use frame_offset == -1 to indicate
      jnt_comp is not chosen, as distance now can not be negative.
      Instead, add a variable use_jnt_comp_avg for the same functionality.
      
      Change-Id: Ie6b9c6ab36131b48bc9e066babada17046729cd8
      8263f80c
    • Monty Montgomery's avatar
      Remove use of av1_get_tx_scale in Daala TX · 27d1b373
      Monty Montgomery authored
      Daala TX does not scale coefficients based on TX size.  Although
      previous patches force av1_get_tx_scale() to always return zero when
      CONFIG_DAALA_TX is true, this patch removes the call entirely.  This
      represents no functional change.
      
      subset-1:
      monty-rest-of-stack-Q3-s1@2017-11-13T14:39:52.160Z ->
       monty-rest-of-stack-rmscale-s1@2017-11-13T14:40:20.646Z
      
        PSNR | PSNR Cb | PSNR Cr | PSNR HVS |   SSIM | MS SSIM | CIEDE 2000
      0.0000 |     N/A |  0.0000 |   0.0000 | 0.0000 |  0.0000 |     0.0000
      
      Change-Id: I5757282153c291c59510b17b5f71b3e0a56382ca
      27d1b373
    • Monty Montgomery's avatar
      Enable configurable fixed-depth coefficients in Daala TX · 57f6bfd0
      Monty Montgomery authored
      This patch turns on the fixed-depth TX code in the Daala toplevel TX
      
      A REGRESSION IS EXPECTED as this is temporarily dropping Daala TX back
      to Q3, which is reduced operating precision over current master.
      
      subset-1:
      monty-rest-of-stack-RDO-s1@2017-11-13T14:39:17.093Z ->
       monty-rest-of-stack-Q3-s1@2017-11-13T14:39:52.160Z
      
        PSNR | PSNR Cb | PSNR Cr | PSNR HVS |   SSIM | MS SSIM | CIEDE 2000
      0.0927 |     N/A | -0.0001 |   0.1390 | 0.0871 |  0.0835 |     0.0826
      
      objective-1-fast --limit=4:
      monty-rest-of-stack-RDO-o1f4@2017-11-13T14:38:57.951Z ->
       monty-rest-of-stack-Q3-o1f4@2017-11-13T14:39:32.205Z
      
        PSNR | PSNR Cb | PSNR Cr | PSNR HVS |   SSIM | MS SSIM | CIEDE 2000
      0.0981 |  0.2341 |  0.4784 |   0.1215 | 0.0761 |  0.1144 |     0.1444
      
      Change-Id: Ibbe17226dd47980da632814422d6201c9fc6fa36
      57f6bfd0
    • Monty Montgomery's avatar
      Modify RDO for use with Daala TX constant-depth coeffs · 4a05a58c
      Monty Montgomery authored
      Modify the portions of RDO using TX-domain coeff calaculations to deal
      with TX_COEFF_DEPTH and constant-depth coefficient scaling.  At
      present, this represents no functional change.
      
      subset-1:
      monty-rest-of-stack-quant-s1@2017-11-13T14:38:43.774Z ->
       monty-rest-of-stack-RDO-s1@2017-11-13T14:39:17.093Z
      
        PSNR | PSNR Cb | PSNR Cr | PSNR HVS |   SSIM | MS SSIM | CIEDE 2000
      0.0000 |  0.0000 |  0.0000 |   0.0000 | 0.0000 |  0.0000 |     0.0000
      
      objective-1-fast --limit=4:
      monty-rest-of-stack-quant-o1f4@2017-11-13T14:38:28.828Z ->
       monty-rest-of-stack-RDO-o1f4@2017-11-13T14:38:57.951Z
      
        PSNR | PSNR Cb | PSNR Cr | PSNR HVS |   SSIM | MS SSIM | CIEDE 2000
      0.0000 |  0.0000 |  0.0000 |   0.0000 | 0.0000 |  0.0000 |     0.0000
      
      Change-Id: I0fbc45e018f565f48e1fc8fdeabfcd6cb6fa62fe
      4a05a58c
    • Dake He's avatar
      [lv_map_multi] Base level alphabet adjustment · 3fe369c8
      Dake He authored
      At eob-1, coefficient must be non-zero. As such, this CL changes the
      alphabet for base levels at eob-1 from size 4 to size 3. Minor
      performance improvement is observed. In addition, changes in 33462 made
      by Ola Hugosson were also incorporated.
      
      Now with trained initial probability distributions.
      
      Change-Id: Id6b5d0908b5ff186ed88ab0733ce7cc0c4a468d5
      3fe369c8
    • Yue Chen's avatar
      New filter_intra implementation + entropy coding · da2eefc6
      Yue Chen authored
      Use 4x2 processing unit.
      Reduce # of modes from 6 to 5.
      
      Change-Id: I3c12e18084636de0e279c9102a8b212342faf4c7
      da2eefc6
    • David Barker's avatar
      superres + frame-size: Fix experiment combination · 22171319
      David Barker authored
      The current code has two issues with this combination:
      i) The frame_size_override_flag was being set based on the downscaled
         frame size rather than the upscaled frame size
      ii) This flag was then being ignored in write_frame_size(), and we
          would always write a 16-bit size, even if the flag was 0.
          This lead to an encode/decode mismatch.
      
      This patch fixes these two issues, and rewrites write_frame_size()
      to be much clearer and more closely match setup_frame_size() from
      the decoder.
      
      Change-Id: Id6b8e51ef10f3285f8318e4acd8606060f29e9cb
      22171319
    • Debargha Mukherjee's avatar
      Some RD fixes · 2c50f9ae
      Debargha Mukherjee authored
      Change-Id: Ie6b41ac068846da3c87bdcaa94180777edb27d1f
      2c50f9ae
    • Debargha Mukherjee's avatar
      Update cdf for intra blocks · a496c673
      Debargha Mukherjee authored
      This was missing before. Hopefully it will improve costing.
      
      Change-Id: Id7dbe963fe5e26798b853419804bdd128537a5d9
      a496c673
    • Monty Montgomery's avatar
      Add Daala TX fixed-coeff-depth capability to quantization · 60f2a229
      Monty Montgomery authored
      This patch completes the work to add fixed-depth TX domain support to
      the quantization and dequantization code.  At present, it is active but
      configured to behave identically to current AV1 master as RDO and TX
      have not yet been updated to also support this functionality.
      
      subset-1:
      monty-rest-of-stack-noshift-s1@2017-11-13T14:37:42.541Z ->
       monty-rest-of-stack-quant-s1@2017-11-13T14:38:43.774Z
      
        PSNR | PSNR Cb | PSNR Cr | PSNR HVS |   SSIM | MS SSIM | CIEDE 2000
      0.0000 |  0.0000 |  0.0000 |   0.0000 | 0.0000 |  0.0000 |     0.0000
      
      objective-1-fast --limit=4:
      monty-rest-of-stack-noshift-o1f4@2017-11-13T14:37:16.992Z ->
       monty-rest-of-stack-quant-o1f4@2017-11-13T14:38:28.828Z
      
        PSNR | PSNR Cb | PSNR Cr | PSNR HVS |   SSIM | MS SSIM | CIEDE 2000
      0.0000 |  0.0000 |  0.0000 |   0.0000 | 0.0000 |  0.0000 |     0.0000
      
      Change-Id: I3773a1fc128136c9fea227f4b547576a8aa6efa3
      60f2a229
    • Debargha Mukherjee's avatar
      Remove unused tx_size_implied count · 605d63f3
      Debargha Mukherjee authored
      Change-Id: Icca39f1d037a3aca4540e35b70fdfafeae2b094e
      605d63f3
  4. 19 Nov, 2017 1 commit
    • Alexander Bokov's avatar
      Add extra hashing mechanism on the TX size search level · c5ddf06e
      Alexander Bokov authored
      In TX size search the rate and distortion values are often computed for
      residuals that have already been seen before, with exactly the same
      entropy context. Such repeated computations occur when the residue
      signal is the same for 2 or more partitions for a given prediction mode.
      By saving previous RD search results we can achieve some encoder
      speed-up at the cost of higher RAM consumption (~20MB).
      
      Test results with all default experiments:
      Speedup      15% (measured on 4 lowres 30-frame sequences)
      compression   0%
      
      Change-Id: I8d9b8dd483cf862f0864b50ae80466beac978290
      c5ddf06e
  5. 18 Nov, 2017 3 commits
    • Jingning Han's avatar
      Properly scale the distortion in lv-map optimize_b · b433f4c4
      Jingning Han authored
      Account for the bit-depth in calculating the distortion for lv-map
      coefficient level optimization.
      
      Change-Id: I47c60f15bfda5aeba8e32f1ac898015650a057db
      b433f4c4
    • Jingning Han's avatar
      Fix av1_txb_init_levels clamping limit · 5cb408e5
      Jingning Han authored
      This solves an enc/dec mismatch issue due to the fact that
      SIMD implementation compares signed int8_t. Hence we need to
      limit the base level reference to be under 127, to avoid cmpt
      instruction taking it as a negative number.
      
      BUG=aomedia:1045
      
      Change-Id: I2ed616fda52415fbf50451660b9564df1adf77af
      5cb408e5
    • Zoe Liu's avatar
      Add motion selection to ext_skip · f40a9577
      Zoe Liu authored
      A new block mode, referred to as skip_mode is added. If a block is
      coded as skip_mode, it will be inter-coded, with its references and
      motion vectors derived from its neighboring blocks with zero-residue.
      Otherwise, the block can be coded in the current intra or inter mode.
      
      The computational load on skip_mode evaluation at the encoder should
      be kept minimum. No transform size / type evaluations are needed.
      
      Change-Id: I5aef0159c7d5ecd64258510835903375d6c536d6
      f40a9577
  6. 17 Nov, 2017 8 commits
    • Yunqing Wang's avatar
      Reuse neighbor's warped motion parameters · 876a8b0b
      Yunqing Wang authored
      If a block's motion_mode is WARPED_CAUSAL and its mode is NEARESTMV, search
      its immediate above and left neighbors to get the set of neighbor blocks
      using WARPED_CAUSAL motion mode, pick the one with largest block size, and
      use that neighbor's warped motion parameters directly for the current block.
      If none of the neighbors uses WARPED_CAUSAL motion mode, we estimate the
      current block's warped motion parameters.
      
      Before this patch, for every block, we estimate its warped motion parameters.
      With this patch, we reduce the number of blocks doing parameter estimation.
      Here are results by testing on clips with camera motions.
                          WARPED_CAUSAL blocks   blocks reusing parameters
      station2_240p(30f):     3857                    1678
      netflix_arieal(30f):     692                     223
      
      No noticable changes in coding gain. Borg test result showed a PSNR
      change of +0.006% on cam_lowres set, and -0.014% on lowres set.
      
      Change-Id: If12387ad0ca8a1996ea4c3f1bedcb269ebf78c6c
      876a8b0b
    • Hui Su's avatar
      Call aom_clear_system_state() before palette RD search · c3769e5c
      Hui Su authored
      BUG=aomedia:1042,aomedia:1043
      
      Change-Id: Ia7e82cbd280132bbeef41c90c38cbb585db8828a
      c3769e5c
    • Hui Su's avatar
      Remove prob table entries and counters for new mv · 21b67229
      Hui Su authored
      Change-Id: Ifa2cdc2d2230dfa11396ee3e547653180f96b795
      21b67229
    • Debargha Mukherjee's avatar
      Make forward 4:1 transforms txmg compliant · 69f914a8
      Debargha Mukherjee authored
      Change-Id: I9e55a9c9dd546e2e1d5e9c43e3e73fc44c3ba590
      69f914a8
    • David Barker's avatar
      striped-loop-restoration: Use consistent frame height · 9cf9e28c
      David Barker authored
      The stripes are intended to extend down to the full decoded
      height of the frame, which is always a multiple of 8 luma pixels,
      in order to avoid some nasty edge cases.
      
      This change was partially implemented in previous patches, but
      not everywhere was modified, leading to slightly inconsistent code.
      This patch finishes making the relevant changes, along with a
      slight bit of refactoring.
      
      Change-Id: Ibc8e2f5ace5415815625edbc224557a7c548c38a
      9cf9e28c
    • Ola Hugosson's avatar
      lv_map_multi: optimize_txb improvement · e5a9b381
      Ola Hugosson authored
      Corrected the nz_rate which is used to estimate the cost of changing
      the current coeff to EOB (as part of optimize_txb).
      (patch suggested by Dake He)
      
      Change-Id: I60d38d86744826e5c3bbc9eaea9ba6c520145f0b
      e5a9b381
    • Thomas Davies's avatar
      LV_MAP_MULTI: use reduced probability in EC. · 736ddef5
      Thomas Davies authored
      Do not round the lv_map probabilities but instead
      reduce the precision of the entropy coder to 9 bits
      for all CDFs, and modify operation so that the EC
      interval is never 0.
      
      Change-Id: I1b4e51019613106ae3b68519b20637bc0d7b51be
      736ddef5
    • Linfeng Zhang's avatar
      Add av1_get_br_level_counts_sse2() · ae7b2f3a
      Linfeng Zhang authored
      Change-Id: I6ce7aea19e3bdeef24d3fe66ac6eba7b8d585f9a
      ae7b2f3a
  7. 16 Nov, 2017 4 commits
    • Yaowu Xu's avatar
      Fix warning of unused function definition · 9b803916
      Yaowu Xu authored
      Change-Id: Ib82549c4fae8bca285062084ed7c9c43b84e1660
      9b803916
    • Monty Montgomery's avatar
      Eliminate tx_size dependant shifts for Daala TX · a26262c3
      Monty Montgomery authored
      short-circuit av1_get_tx_scale to always return zero when
      CONFIG_DAALA_TX, and remove it from the actual Daala TX toplevel
      
      This has potential overflow consequences for any metrics computation
      based on pixels; as such, also force use of the high-bitdepth path in
      each of these case.
      
      subset-1:
      monty-rest-of-stack-baseline-s1@2017-11-13T00:39:03.881Z ->
      monty-rest-of-stack-noshift-s1@2017-11-13T14:37:42.541Z
      
         PSNR | PSNR Cb | PSNR Cr | PSNR HVS |    SSIM | MS SSIM | CIEDE 2000
      -0.0030 | -0.0523 |  0.2656 |  -0.0239 | -0.0033 | -0.0029 |     0.0067
      
      objective-1-fast --limit=4:
      monty-rest-of-stack-baseline-o1f4@2017-11-13T00:37:06.999Z ->
      monty-rest-of-stack-noshift-o1f4@2017-11-13T14:37:16.992Z
      
         PSNR | PSNR Cb | PSNR Cr | PSNR HVS |    SSIM | MS SSIM | CIEDE 2000
      -0.0264 |  0.2303 |  0.0822 |  -0.0109 | -0.0395 | -0.0709 |     0.0538
      
      Change-Id: I57da71861f105dc7a404fa75a75bde573855ef79
      a26262c3
    • Yunqing Wang's avatar
      Modify lightfield encoding example · b041d8a7
      Yunqing Wang authored
      Modified the lightfield encoding example to accommodate HW implementation
      requirements. Fixed the encoding scheme, generated a bitstream of a list
      of references followed by the surrounding large scale tile coded frames.
      All large scale tile coded frames use the same uncompressed frame header
      and the same set of frame contexts. This example also wrote out the frame
      header and frame contexts while encoding a large scale tile frame and
      setting EXT_TILE_DEBUG to 1.
      
      Change-Id: I7cc19099195d0a20335d5c6bfb9f493f1bf3a7b2
      b041d8a7
    • Yunqing Wang's avatar
      Force to have a common frame header in large scale tile coding · b6e23bc4
      Yunqing Wang authored
      In large scale tile coding(namely, large_scale_tile = 1), forced
      all frames to generate a bit-exact uncompressed frame header.
      This patch modified parameters that could change from one frame to
      another.
      
      Change-Id: Ibe72519da0b8a4f5a4ef30a4303ad7d7e4992a65
      b6e23bc4
  8. 15 Nov, 2017 2 commits