1. 14 Nov, 2017 2 commits
  2. 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
  3. 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
  4. 10 Nov, 2017 4 commits
  5. 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
  6. 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
  7. 07 Nov, 2017 3 commits
  8. 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
  9. 05 Nov, 2017 1 commit
  10. 04 Nov, 2017 2 commits
    • Yue Chen's avatar
      Remove NCOBMC_ADAPT_WEIGHT from AV1 · 80daf0c4
      Yue Chen authored
      Development of this experiment will be deferred to AV2.
      
      Change-Id: I3c4615a21b59508500bed8aab0a5c54413b4f284
      80daf0c4
    • Zoe Liu's avatar
      Speed up one-sided compound mode (ext-comp-refs) · 77fb5be1
      Zoe Liu authored
      One-sided compound ref prediction is used only when all reference
      frames are one-sided.
      
      This patch has demonstrated an encoder speedup of ~28%.
      
      Using the following configure setups, the coding performance has been
      dropped on Google test sets (50 frames) in BDRate by ~0.2% for lowres
      and by ~0.1% for midres (Corresponding performance impact should be
      smaller on AWCY):
      --enable-experimental --disable-convolve-round --disable-ext-partition
      --disable-ext-partition-types --disable-txk-sel --disable-txm
      
      Change-Id: I585bbffb2f8d154e8f52a1e79a84eff8bb4a471d
      77fb5be1
  11. 03 Nov, 2017 4 commits
    • Yue Chen's avatar
      Disable filter_intra mode in <8x8 tx blocks · 95e13e23
      Yue Chen authored
      0.159% gain on lowres 60 frames, compared to 0.236% gain if we don't
      restrict it in small tx blocks.
      (--disable-ext-partition --disable-ext-partition-types
       --disable-convolve-round --disable-ext-comp-refs)
      
      Change-Id: I1d1c5474ca27de9dec992ea30a9883afd7a56474
      95e13e23
    • Debargha Mukherjee's avatar
      Add two levels for selective ref frame sp. feature · 06b40cc3
      Debargha Mukherjee authored
      The first level is turned on for speed 1.
      
      Change-Id: I3dba0f0250b97a25e174cacc2a46ca7f76572c85
      06b40cc3
    • Alexander Bokov's avatar
      Add highbd support in predict_skip_flag · 80eedf2e
      Alexander Bokov authored
      Change-Id: I4270d1260854ac27b68c5694ca8102b92bee6faa
      80eedf2e
    • Alexander Bokov's avatar
      Introducing a model for pruning the TX size search · 79a37242
      Alexander Bokov authored
      Use a neural-network-based binary classifier to predict the first split
      decision on the highest level of the TX size RD search tree. Depending
      on how confident we are in the prediction we either keep full unmodified
      TX size search or use the largest possible TX size and stop any further
      search.
      
      Average speed-up: 3-4%
      Quality loss (lowres): 0.062%
      Quality loss (midres): 0.018%
      
      Change-Id: I64c0317db74cbeddfbdf772147c43e99e275891f
      79a37242
  12. 02 Nov, 2017 2 commits
  13. 01 Nov, 2017 6 commits
    • Sarah Parker's avatar
      Rename ZEROMV to GLOBALMV · 2b9ec2ea
      Sarah Parker authored
      This name better reflects the functionality of the mode.
      
      Change-Id: Idc2372e7c7b226f70f63fa4f272a88cb4d857089
      2b9ec2ea
    • Debargha Mukherjee's avatar
      Add speed feature to reduce tx size search depth · edc7346f
      Debargha Mukherjee authored
      The speed feature simply restricts the number of depths
      searched. Currently it is turned on by default for speeds>=1.
      The coding efficiency impact (tested on lowres 30 frames) seems
      to be ~0.15% and the speedup is in the order of 15%.
      
      Change-Id: I514832bd7df937292875f73d9c9026e49ac576f2
      edc7346f
    • Zoe Liu's avatar
      Remove redundant macro USE_UNI_COMP_REFS · c6b17d82
      Zoe Liu authored
      USE_UNI_COMP_REFS is always true when ext-comp-refs is enabled and is
      always false otherwise.
      
      Change-Id: Ic6061a4ab88a2ebfeb11f178872ab13909060c0b
      c6b17d82
    • Sarah Parker's avatar
      Use tx_size 1 level down for transform type search · 90024e44
      Sarah Parker authored
      This addresses an inconsistency between the set used
      to decode the tx_type in the bitstream and the set used
      for the tx_type search. Previously, the set used to
      read/write the tx_type was based on the smallest tx_size
      in the vartx partitioning, but the search uses a set
      based on the largest possible tx_size. This patch
      changes the tx_type search to use the transform type
      set associated with the tx_size 1 recursive level down from
      the max square tx_size to make the search more consistent
      with the bitstream syntax. If a tx_size is selected for an
      invalid tx_type, DCT_DCT is used for that partition instead.
      
      This patch also adds assertions to all exposed transform
      functions to ensure that no illegal transform type/size
      combinations occur.
      
      This currently gets a 0.1% drop in performance on lowres.
      The drop is due to the reduction of the tx_types available
      for 32x16 and 16x32 transform sizes. Before this patch,
      32x16 and 16x32 transforms were getting assigned a
      set of 12 tx_types, some of which we did not intend to
      support for these sizes.
      
      Change-Id: I44aca4876b261c345623cd04ad6235bca4532701
      90024e44
    • Yue Chen's avatar
      Remove CONFIG_INTERINTRA · 670b660d
      Yue Chen authored
      Change-Id: Icbedc16b01adf9b48f0f357ec89143462865d54e
      670b660d
    • Yue Chen's avatar
      Guard the limits in for-loops for setting inter_tx_size · c5252a69
      Yue Chen authored
      Always at least set the first row and the first col, otherwise will
      have unattended entries if we enable 4x16 or 16x4 txs.
      
      Change-Id: I403ea3694ccf8c7ee1584f55bbc3e9b8355d9272
      c5252a69
  14. 31 Oct, 2017 3 commits
    • Sebastien Alaiwan's avatar
      Remove experimental flag of WARPED_MOTION · 1f56b8e3
      Sebastien Alaiwan authored
      This experiment has been adopted, we can simplify the code
      by dropping the associated preprocessor conditionals.
      
      Change-Id: I54fee8a18afaec5333ae852eb6bd9ac0e2550db1
      1f56b8e3
    • Sebastien Alaiwan's avatar
      Remove experimental flag of MOTION_VAR · 1bc94fcc
      Sebastien Alaiwan authored
      This experiment has been adopted, we can simplify the code
      by dropping the associated preprocessor conditionals.
      
      Change-Id: I2dce80e1e1b2116708b6ba9feeacaacc12af8fc4
      1bc94fcc
    • Debargha Mukherjee's avatar
      Adding a speed feature for tx_size search · 51666866
      Debargha Mukherjee authored
      This patch factors out a function that computes the rd cost for
      a given transform type given the transform partition already
      computed. This is then used to develop a speed feature where the
      transform size search disables trellis optimization but once the
      transform sizes are decided, a final search is conducted with
      optimization turned back on.
      This patch does not change anything in speed 0 yet.
      
      Change-Id: I30acfc5e2dd353d711e5f4260d5b344847b03ade
      51666866
  15. 30 Oct, 2017 1 commit