1. 22 Nov, 2017 1 commit
  2. 21 Nov, 2017 3 commits
  3. 20 Nov, 2017 5 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
      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
    • 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
    • Debargha Mukherjee's avatar
      Some RD fixes · 2c50f9ae
      Debargha Mukherjee authored
      Change-Id: Ie6b41ac068846da3c87bdcaa94180777edb27d1f
      2c50f9ae
    • 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
  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 1 commit
    • 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 2 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
  7. 16 Nov, 2017 1 commit
    • 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
  8. 15 Nov, 2017 2 commits
    • Sebastien Alaiwan's avatar
      Remove COMPOUND_SINGLEREF experiment · 34d5566a
      Sebastien Alaiwan authored
      This experiment has been abandonned for AV1.
      
      Change-Id: I3501181d096873dec35ea58e4b55530fa76e683f
      34d5566a
    • Debargha Mukherjee's avatar
      Replace RECT_TX_EXT experiment · 35a4db38
      Debargha Mukherjee authored
      Remove the previous experiment and now use the same name for a
      simpler experiment that only enables 4:1 transforms for 4:1
      partitions when ext_partition_types is on, and that which was
      previously enabled with the USE_RECT_TX_EXT macro.
      
      Change-Id: Iccc35744bd292abf3c187da6f23b787692d50296
      35a4db38
  9. 14 Nov, 2017 4 commits
  10. 13 Nov, 2017 2 commits
    • Yue Chen's avatar
      Fix inefficient coding of filter_intra modes · 4eba69bb
      Yue Chen authored
      Include a few RDO fixes that properly account for the extra flag
      cost at the right place. Also entropy coding of the flag is made
      contexted on tx_size and based on cdf framework.
      
      Change-Id: I52f98ace7e253ccc08917a4a7b517515d1d58a98
      4eba69bb
    • Debargha Mukherjee's avatar
      Change tx_size encoding for intra modes · 6147b1b6
      Debargha Mukherjee authored
      Conveys depth from the largest transform size instead of the
      actual transform size. Besides, the max depth is now limited
      by the macro MAX_TX_DPETH set at 2.
      
      Results: BDRATE lowres (30 frames): -0.005%
      
      Change-Id: I1ccbac8ee18c77b816a6a8f500abfaa7892b21de
      6147b1b6
  11. 11 Nov, 2017 2 commits
    • Monty Montgomery's avatar
      Add is_hbd field to TxfmParam · 26b8a99e
      Monty Montgomery authored
      In preparation for Daala unified LBD/HBD TX, add (and use) is_hbd
      field in TxfmPama structure.  This field indicates whether or not
      pixel data is using 8 or 16 bit reference buffers (currently ambiguous
      in the case of 8 bit input).
      
      Change-Id: I28bca792a48ffa00e208617adb072b08ff816e3c
      26b8a99e
    • David Michael Barr's avatar
      [CFL] basic early termination for alpha search · 9134586f
      David Michael Barr authored
      This causes no change in the encoder output.
      Comparing simple SSE-based RDO with the switch to
      txfm_rd_in_plane, the overhead is reduced by 23% ~ 50%.
      The total encode time increase is now 2.3% ~ 3.1%.
      
      Change-Id: I48c76216871f8ed68631815fd781697139305e94
      9134586f
  12. 10 Nov, 2017 4 commits
  13. 09 Nov, 2017 5 commits
    • Luc Trudeau's avatar
      [CFL] Remove custom DC_PRED · 8e232aad
      Luc Trudeau authored
      Results on Subset 1
         PSNR | PSNR Cb | PSNR Cr | PSNR HVS |    SSIM | MS SSIM | CIEDE 2000
      -0.0354 | -0.2567 | -0.3941 |   0.0104 | -0.0084 |  0.0120 |    -0.0996
      
      https://arewecompressedyet.com/?job=master%402017-11-03T15%3A57%3A30.643Z&job=cfl-av1-DC_PRED%402017-11-03T16%3A00%3A10.866Z
      
      BUG=aomedia:928
      
      Change-Id: I4e26e8c56d2246ca32b8d86145ef67f6df90d8d1
      8e232aad
    • Sarah Parker's avatar
      Avoid skipping MRC_DCT for 32X32 blocks · 4f9ead8c
      Sarah Parker authored
      The transform search set is being determined based on the square
      transform size one level below the block size. MRC_DCT is not
      included in the transform set for 16x16 so it will be skipped in
      the transform search for 32x32 blocks. This change allows it to
      be included in the search.
      
      Change-Id: I82395790dde9288531336a56e93575071d070572
      4f9ead8c
    • Jingning Han's avatar
      Remove unnecessary handle_inter_mode call · 5d0320f7
      Jingning Han authored
      Remove the redundant handle_inter_mode calls from the jnt-comp
      encoding route.
      
      Change-Id: I1f4fded525cfd3ead7d06c977ab8d99cb7f02273
      5d0320f7
    • Debargha Mukherjee's avatar
      Reorder ext_comp_ref modes · c1077e9c
      Debargha Mukherjee authored
      Change-Id: Ie392e88609554fea99e74c94812799f72b78725b
      c1077e9c
    • Monty Montgomery's avatar
      Separate quantizers used for quantization from RDO · 125c0fca
      Monty Montgomery authored
      Generalize quantizer setup so that quantization and TX can use
      different coefficient shifts/scalings without inpacting RDO lambda
      generation.
      
      This patch is documentaiton + a minor refactor setting up later
      work; it causes no functional change.
      
      monty-daalaTX-fulltest-Daalabaseline-o1f@2017-11-07T00:01:20.779Z ->
       monty-daalaTX-fulltest-DaalaRDO-o1f@2017-11-07T00:02:31.347Z
      
      PSNR | PSNR Cb | PSNR Cr | PSNR HVS | SSIM | MS SSIM | CIEDE 2000
       N/A |  0.0000 |  0.0000 |      N/A |  N/A |     N/A |        N/A
      (note-- the numbers above were collected using --cpu-used=3, which
       appears to be newly broken.)
      
      monty-daalaTX-fulltest-Daalabaseline-o1f4@2017-11-07T05:59:16.553Z ->
       monty-daalaTX-fulltest-DaalaRDO-o1f4@2017-11-07T05:59:50.180Z
      
        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
      
      monty-daalaTX-fulltest-Daalabaseline-s1@2017-11-07T00:01:46.582Z ->
       monty-daalaTX-fulltest-DaalaRDO-s1@2017-11-07T00:02:56.282Z
      
        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: Ia5a3c052eacd17184ca1b0fe6d032cfb9afdb77f
      125c0fca
  14. 08 Nov, 2017 2 commits
    • Debargha Mukherjee's avatar
      Fix to hashing function to support highbitdepth · fd65c8dc
      Debargha Mukherjee authored
      Change-Id: Ib5de3d1c1acce676b3fcc12b4c237d681ac9a845
      fd65c8dc
    • Zoe Liu's avatar
      Remove ONE_SIDED_COMPOUND experimental flag · c01dddb7
      Zoe Liu authored
      Always assume ONE_SIDED_COMPOUND is true as it has been adopted
      officially. Further, this patch also fixes the cmake setup for
      the experiment of EXT_COMP_REFS, as when EXT_COMP_REFS is on, it
      shall always have ONE_SIDED_COMPOUND on (but that was not the case
      without this patch).
      
      We leave EXT_COMP_REFS for the time being, even though it is also
      adopted, since by keeping this flag, it may allow its turning off to
      tune the encoder speed. The experiment of EXT_COMP_REFS should be
      removed eventually at the closing of the bitstream.
      
      Change-Id: I0644318e522f5b48d5bba4e4391104a24d43cdc3
      c01dddb7
  15. 07 Nov, 2017 3 commits
  16. 06 Nov, 2017 1 commit
    • Cheng Chen's avatar
      JNT_COMP: Refactor code · f78632e0
      Cheng Chen authored
      The refactoring serves two purposes:
      1. Separate code paths for jnt_comp and original compound average
      computation. It provides function interface for jnt_comp while leaving
      original compound average computation unchanged. In near future, SIMD
      functions can be added for jnt_comp using the interface.
      
      2. Previous implementation uses a hack on second_pred. But it may cause
      segmentation fault when the test clip is small. As reported in Issue
      944. This refactoring removes hacking and make it possible to address
      the seg fault problem in the future.
      
      Change-Id: Idd2cb99f6c77dae03d32ccfa1f9cbed1d7eed067
      f78632e0
  17. 05 Nov, 2017 1 commit