1. 14 Nov, 2017 13 commits
    • Ola Hugosson's avatar
      WIP: lv_map_multi: make br multi symbol · e72a2091
      Ola Hugosson authored
      The br_cdf and lps_cdf with a new 4-state symbol br_cdf.
      The br symbol indicates whether the level is k, k+1, k+2 or >k+2
      In the latter case, a new br symbol is read. Up to 4 br symbols are
      read which will reach level 14 at most. Levels greater than 14 are
      golomb coded.
      
      The adapted symbol count is reduced further by this commit.
      E.g. for the I-frame of ducks_take_off at cq=12, the number of adapted symbols
      is reduced from 4.27M to 3.85M. About 10% reduction.
      
      Gains seems about neutral on a limitied subset.
      
      Change-Id: I294234dbd63fb0fa26aef297a371cba80bd67383
      e72a2091
    • Ola Hugosson's avatar
      WIP: lv_map_multi: New experiment · 13892108
      Ola Hugosson authored
      This experiment modifies lv_map to make use of multi symbol.
      
      Replace the nz_map and coeff_base binary CDF with a new multi-symbol
      CDF of size 4. The new base_cdf indicates for each coeff if the level
      is 0, 1, 2 or >2. Two new special contexts are added to be used for the
      last coefficient (the EOB coeff). For the EOB coefficient we already know
      that it is non-zero. We use one context for DC EOB and one for AC EOB
      (this can potentially be refined more).
      
      The new symbol is read/written by special bitreader/bitwriter functions.
      Those functions reduce the probability precision from 15bit to 9bit before
      the invocation of the arithmetic coding engine.
      
      The adapted symbol count is significantly reduced by this experiment.
      E.g. for the I-frame of ducks_take_off at cq=12, the number of adapted symbols
      is reduced from 6.7M to 4.3M.
      
      Change-Id: Ifc3927d81ad044fb9b0733f1e54d713cb71a1572
      13892108
    • Sebastien Alaiwan's avatar
      aom_convolve.c: extract functions 'scalar_product' · b093b144
      Sebastien Alaiwan authored
      And make variable consts when possible.
      
      Change-Id: I823e56327e338ba669a0edd68c6c6d67077ebb7e
      b093b144
    • Rostislav Pehlivanov's avatar
      q_segmentation: disable delta_q encoding when enabled · da06779c
      Rostislav Pehlivanov authored
      The decoder side correctly disabled delta_q but the encoder didn't.
      
      Change-Id: I9f720c678d9e99d723c632095c058eaecd1a639d
      da06779c
    • Rostislav Pehlivanov's avatar
      q_segmentation: set seg->q_lvls to 0 when disabled · 30556193
      Rostislav Pehlivanov authored
      Otherwise the previous value ended up being used, creating a desync.
      
      Change-Id: I42d466474ce1a2567045720b8dfd413625f21cfa
      30556193
    • Monty Montgomery's avatar
      Simplify Daala inverse TX toplevel for constant shift · 359854fe
      Monty Montgomery authored
      Rather than backing out all the LGT-related shifting matrices
      throughout the existing TX code, separate out and simplify Daala
      inverse TX into a single dedicated entry point.  When DAALA_TX is
      enabled, CONFIG_HIGHBITDEPTH is also forced, and all of Daala TX
      (lowbd and highbd) uses this single TX dispatch.
      
      This patch is purely non-functional changes.
      
      subset 1:
      monty-TXtesting-fwd-s1@2017-11-12T05:25:09.557Z ->
       monty-TXtesting-inv-s1@2017-11-12T05:25:43.878Z
      
        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:
      monty-TXtesting-fwd-o1f@2017-11-12T05:25:29.386Z ->
       monty-TXtesting-inv-o1f@2017-11-12T05:25:58.897Z
      
        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: I790e8d7ac08eb214eb712f5441d6e5f76ebddf17
      359854fe
    • Hui Su's avatar
      Turn on q_adapt_probs by default · dc71d8c8
      Hui Su authored
      Change-Id: Idc201abd06cb1ac351a71bc723d9fed99c215b8e
      dc71d8c8
    • Cheng Chen's avatar
      JNT_COMP: reduce context model number · c87b340e
      Cheng Chen authored
      Reduce context model number from 9 to 6.
      Let context be two kinds: two reference frames are equal distance
      or not.
      Also, give equal distance compound weight {9, 7} instead of {8, 8}/16
      
      Reducing context model gives neutral performance.
      New compound weight provides -0.14% gain.
      
      Change-Id: I8a3f3021eac9e446ac826e5992f42931af4c8962
      c87b340e
    • Cheng Chen's avatar
      JNT_COMP: highbd simd and unit tests · cce312fb
      Cheng Chen authored
      Change-Id: I2c913198b7ad136cdf15d4af86b9b0b9e6850b72
      cce312fb
    • Hui Su's avatar
      Fix the logic for skipping in-loop filters in loopfilter_frame() · 27a4fb68
      Hui Su authored
      Change-Id: I976b4a684d6d309da6b1076627f7e1e058e72932
      27a4fb68
    • Debargha Mukherjee's avatar
      Support for 4:1 transforms with txmg · 845057f1
      Debargha Mukherjee authored
      Change-Id: I484121349af182f4f9525b1c992a6e77f6da7ea9
      845057f1
    • Yue Chen's avatar
      Add the option of using 1:4/4:1 tx_size+sb_type · 0797a208
      Yue Chen authored
      Change-Id: I96e5ff72caee8935efb7535afa3a534175bc425c
      0797a208
    • Cheng Chen's avatar
      Revert "JNT_COMP: turn off for one_sided_compound" · b09e55cf
      Cheng Chen authored
      This reverts commit 060e192b.
      
      Change-Id: I5700d351a3cbb682ec49a0efb9cca4d0e83f9a3a
      b09e55cf
  2. 13 Nov, 2017 10 commits
  3. 12 Nov, 2017 3 commits
    • Yaowu Xu's avatar
      Temporarily disable loopfiltering_across_tiles · db82c288
      Yaowu Xu authored
      This is to diagnose many nightly test failures.
      
      BUG=aomedia:1023
      
      Change-Id: Ibf2da2cfe0fbb0e52920a007200335d672435c82
      db82c288
    • Debargha Mukherjee's avatar
      Fix some loop-restoration valgrind errors · 35bcd517
      Debargha Mukherjee authored
      Re-introduces a check that was removed in the refactor in 1a96c3f5.
      
      BUG=aomedia:1021
      BUG=aomedia:1022
      
      Change-Id: I548a30dba7586cf220b2f5a3f1fddf2b6b57e68d
      35bcd517
    • Monty Montgomery's avatar
      Simplify Daala forward TX toplevel for constant shift · a2d40a39
      Monty Montgomery authored
      Rather than backing out all the LGT-related shifting matrices
      throughout the existing TX code, separate out and simplify Daala
      forward TX into a single dedicated entry point.  When DAALA_TX is
      enabled, CONFIG_HIGHBITDEPTH is also forced, and all of Daala TX
      (lowbd and highbd) uses this single TX dispatch.
      
      At present, this should result in no effective functional change,
      however rectangular transforms are now always column-first-- that
      has minor rounding effects.
      
      subset 1:
      monty-daalaTX-fulltest-DaalaRDO-s1@2017-11-07T00:02:56.282Z ->
       monty-daalaTX-fulltest-fwd-s1@2017-11-07T03:08:55.478Z
      
         PSNR | PSNR Cb | PSNR Cr | PSNR HVS |    SSIM | MS SSIM | CIEDE 2000
      -0.0576 |     N/A | -0.2646 |  -0.0125 | -0.0439 | -0.0479 |    -0.1798
      
      objective 1 fast:
      monty-daalaTX-fulltest-DaalaRDO-o1f4@2017-11-07T05:59:50.180Z ->
       monty-daalaTX-fulltest-fwd-o1f4@2017-11-07T06:00:08.500Z
      
        PSNR | PSNR Cb | PSNR Cr | PSNR HVS |    SSIM | MS SSIM | CIEDE 2000
      0.0036 |  0.0477 |  0.1132 |   0.0863 | -0.0017 |  0.0209 |     0.0240
      
      Change-Id: I182a5c4388c410cbea8810e2f9e36fd37a4a46e5
      a2d40a39
  4. 11 Nov, 2017 6 commits
    • Frederic Barbier's avatar
      Remove experimental flag of CDEF · 1aeee2e9
      Frederic Barbier authored
      This experiment has been adopted, we can simplify the code
      by dropping the associated preprocessor conditionals.
      
      Change-Id: I17bd46ebad7796d04fb4065fb36da0e1c4eeaf9b
      1aeee2e9
    • 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
    • Zoe Liu's avatar
      Add experiment of 'frame_refs' · 0492b99a
      Zoe Liu authored
      The target of this experiment is to fix and develop bitstream syntax
      changes related to reference frames, especially considering:
      (1) Fix various issues in aomedia bug 973;
      (2) Make according changes accomondating the adoption of frame_marker.
      
      BUG=aomedia:973
      
      Change-Id: Ia8731eaa3b3d2cdacbbe3c12b0793ac15928c054
      0492b99a
    • Monty Montgomery's avatar
      Fix bitrot in LBD Daala inverse TX · df08def5
      Monty Montgomery authored
      Cleanup/optimizations of the low-bitdepth inverse TX path for AV1 TX
      broke Daala TX in several places; this patch cleans up the cleanup.
      
      Tested against the New Daala TX code that unified LBD/HBD, restores
      bit-identical TX behavior.
      
      monty-daalaTX-invzerotest-LBD-s1-2@2017-11-10T08:46:01.822Z ->
        monty-daalaTX-invzerotest-test-s1@2017-11-09T05:09:05.483Z
      
        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: I58e4de4c71ec5251138ff7816f77777db6f869a3
      df08def5
    • Monty Montgomery's avatar
      Move all of LBD Daala TX to up-4, down-1 shift · 5500ce76
      Monty Montgomery authored
      Now that tran_low_t is assumed to be 32 bit when Daala TX is active,
      there's no reason for multi-stage shifting to fit coefficients into 16
      bits for the inter-tranform transpose matrix. Go to a consistent up by
      four, down by one shifting scheme for all TX block sizes.
      
      (Note this is for the current AV1 coefficient scaling scheme with
      av1_get_tx_scale and deeper coefficients for higher bitdepth input.
      Daala TX is moving to the long-intended constant-coefficient-depth in
      upcoming patches).
      
      subset 1:
      monty-4-1-baseline-s1@2017-11-11T05:57:15.857Z ->
       monty-4-1-test-s1@2017-11-11T05:57:52.983Z
      
         PSNR | PSNR Cb | PSNR Cr | PSNR HVS |   SSIM | MS SSIM | CIEDE 2000
      -0.0117 | -0.0246 |  0.0530 |   0.0238 | 0.0254 |  0.0447 |    -0.0442
      
      Change-Id: I2214e94ac822542c504d472276723277ed350abf
      5500ce76
    • 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
  5. 10 Nov, 2017 8 commits