1. 07 Dec, 2017 1 commit
    • Sarah Parker's avatar
      Remove ctx from new-quant profile lookup · e8d0d4cf
      Sarah Parker authored
      This simplifies the profile lookup table and removes the requirement
      of computing the ctx for new-quant. This change produces a
      0.01% drop in performance on 40 frames of lowres.
      
      Change-Id: Ifcbd7d6e427090e02bb43f6de15e551796aa74c4
      e8d0d4cf
  2. 30 Nov, 2017 2 commits
    • Jingning Han's avatar
      Make adaptive scan order support multi-threading · 0bd3bf69
      Jingning Han authored
      Count the non-zero appearance per tile and update per frame. This
      resolves an enc/dec mismatch in multi-threading coding.
      
      BUG=aomedia:1073
      
      Change-Id: I474f05913e6c3f75ca3fa1057bd4809ef51af164
      0bd3bf69
    • Debargha Mukherjee's avatar
      Refactor/Change the entropy context for transforms · b3eda2f4
      Debargha Mukherjee authored
      The change makes the entropy context for transforms use
      the same mechanism as with and without lv_map.
      For the non-lv-map case the context is now based on the
      the larger transform dim for 2:1 rect transforms. The context
      is now the average for 4:1 rect transforms for both lv-map and
      non-lv-map cases.
      There is one small fix for level map for getting the correct
      rate when skip is set.
      
      BDRATE: lowres, 30 frames, speed 1: -0.15% gain for the
      non-lv-map case on the baseline.
      
      Change-Id: I06a583d33bef68202d72a88e077f8d31cc5e7fe4
      b3eda2f4
  3. 29 Nov, 2017 1 commit
  4. 27 Nov, 2017 1 commit
    • Jingning Han's avatar
      Use sub-frame statistics for adaptive scan order update · 025c6c41
      Jingning Han authored
      Skip the last SB row counting for per frame adaptive scan order.
      This allows enough time window for HW decoder to process the
      scan order update for next frame decoding.
      
      Change-Id: I8a3b48fe452c68c921d55dc76cc787f0a8e00e29
      025c6c41
  5. 23 Nov, 2017 1 commit
    • Hui Su's avatar
      Fix int overflow in decode_coefs() · 8398023a
      Hui Su authored
      BUG=b/69205191
      
      Change-Id: I79e404dc2cd6db06e71a64338b74eb4b575ba431
      (cherry picked from commit 85f2a5ae4c15de5dd530766eb3933b9de976d9cf)
      8398023a
  6. 22 Nov, 2017 1 commit
  7. 20 Nov, 2017 1 commit
    • 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
  8. 15 Nov, 2017 1 commit
  9. 09 Nov, 2017 1 commit
    • 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
  10. 24 Oct, 2017 1 commit
  11. 21 Oct, 2017 1 commit
  12. 05 Oct, 2017 1 commit
  13. 02 Oct, 2017 1 commit
  14. 13 Sep, 2017 1 commit
    • David Barker's avatar
      aom-qm: Fix overflow in quantizer calculation · 568b7c7e
      David Barker authored
      By using a combination of a small qmlevel and large qindex,
      it is possible for the quantizer 'dqv' to end up > 2^15.
      This currently causes dqv to overflow, so widen its type
      to avoid that.
      
      Note that this is certainly an extreme case, but not entirely
      useless - if using a 32x32 transform, the dequantized value
      can be as small as dqv/2, which may still fit in 16 bits.
      
      Change-Id: I0451e70ba6b17620d94386a98d873f0a8c615635
      568b7c7e
  15. 11 Sep, 2017 1 commit
    • Sarah Parker's avatar
      Tokenize and write mrc mask · 99e7daa2
      Sarah Parker authored
      This allows a mask for mrc-tx to be sent in the bitstream for
      inter or intra 32x32 transform blocks. The option to send the mask
      vs build it from the prediction signal is currently controlled with
      a macro. In the future, it is likely the macro will be removed and it
      will be possible for a block to select either method. The mask building
      functions are still placeholders and will be filled in in a followup.
      
      Change-Id: Ie27643ff172cc2b1a9b389fd503fe6bf7c9e21e3
      99e7daa2
  16. 09 Sep, 2017 1 commit
  17. 29 Aug, 2017 1 commit
  18. 21 Aug, 2017 1 commit
  19. 19 Aug, 2017 1 commit
  20. 15 Aug, 2017 1 commit
    • Thomas Davies's avatar
      AOM_QM: enable by default · 181fc08f
      Thomas Davies authored
      No change to metrics, as quantization matrices are not used
      unless --enable-qm=1 is set on the command line.
      
      Fix no highbitdepth compilation, and fix compile errors and
      warnings for PVQ and NEW_QUANT experiments.
      
      Change-Id: I49aceb5acf6ca6790c81e760e5b208788f87086d
      181fc08f
  21. 10 Aug, 2017 2 commits
    • Urvang Joshi's avatar
      Remove PALETTE flag · c6300aa1
      Urvang Joshi authored
      This experiment is now adopted as it was cleared by Tapas.
      
      Note: Palette use can still be controlled by command-line option
      "--tune-content=..." in 'aomenc'.
      
      Change-Id: I832f49f20f60c34bdef5b424755849c496687e87
      c6300aa1
    • Urvang Joshi's avatar
      Make palette work correctly with chroma sub8x8 blocks. · c9e71d4d
      Urvang Joshi authored
      The problem was that some functions were using scale_chroma_bsize()
      function to turn sub-8x8 'bsize' to 8x8 'bsize', and then the modified
      'bsize' was being passed to rd_pick_intra_sbuv_mode() for example.
      
      In such cases, we cannot rely on the 'bsize' value passed to the
      function; instead, we need to look at the original mbmi->sb_type
      directly.
      
      Also:
      - Added created a common function can_use_palette() to refactor this
      logic into one place.
      - Added more asserts to easily catch such coding errors in future.
      
      BUG=aomedia:688
      
      Change-Id: I2e9f20c8c5fbc4b3ff41b703a91a02758c3c632f
      c9e71d4d
  22. 08 Aug, 2017 1 commit
    • Thomas Davies's avatar
      AOM_QM: use SIMD for flat matrices and re-enable tests. · 1870382c
      Thomas Davies authored
      When AOM_QM is enabled, by default quantization matrices are
      flat unless enabled with --enable-qm=1. Re-use existing SIMD
      functions when a flat matrix is used, so that there is no
      speed deficit when AOM_QM is enabled.
      
      SIMD for the non-flat case is TBC.
      
      Change-Id: I1bb8da70d3dd5858dac15099610ddf61662e3d0d
      1870382c
  23. 26 Jul, 2017 1 commit
  24. 20 Jul, 2017 1 commit
    • hui su's avatar
      Palette: remove palette_first_color_idx[] in PALETTE_MODE_INFO · 40b9e7fe
      hui su authored
      Handle the first color index in the tokenization process, along with the
      other color indeices.
      
      This patch also includes some minor refactoring changes.
      
      Test results verify that there is no implact on compression efficiency.
      
      Change-Id: I7de51c18a52f337320331b5e8d63dfea3cf510f0
      40b9e7fe
  25. 11 Jul, 2017 2 commits
    • Nathan E. Egge's avatar
      Remove the EC_ADAPT experimental flags. · 6bdc40f1
      Nathan E. Egge authored
      Removing these flags make the EC_ADAPT experiment an integral part of
       the draft AV1 bitstream definition
      This commit has no effect on metrics.
      
      Change-Id: Ice78520935e8bfa9d25cf4b8384a1b872069d09c
      6bdc40f1
    • Thomas Davies's avatar
      NEW_MULTISYMBOL: use CDFs for palette tree coding. · ce7272d2
      Thomas Davies authored
      AWCY results, 1 frame, tune-content=1
      
      objective-1-fast:
      PSNR (Y, Cb, Cr) : -0.26%, -0.24%, -0.26%
      PSNR-HVS         : -0.26%
      MS-SSIM          : -0.25%
      
      screenshots:
      PSNR (Y, Cb, Cr) :  -2.28%, -2.29%, -2.29%
      PSNR-HVS         :  -2.30%
      MS-SSIM          :  -2.26%
      
      twitch-1 :
      PSNR (Y, Cb, Cr) : -0.73%, -0.73%, -0.73%
      PSNR-HVS         : -0.75%
      MS-SSIM          : -0.74%
      
      Change-Id: I7aac475710ab3895778d7ff05d9113f5713133b1
      ce7272d2
  26. 06 Jul, 2017 1 commit
    • Sebastien Alaiwan's avatar
      Remove #if guard · 2cbf1a20
      Sebastien Alaiwan authored
      The preprocessor symbol is already tested in check_range implementation.
      
      Change-Id: I34079c6450fee2c137d78ad5a8c924f8f6aba7be
      2cbf1a20
  27. 13 Jun, 2017 1 commit
  28. 25 May, 2017 1 commit
  29. 24 May, 2017 2 commits
    • Thomas Davies's avatar
      AOM_QM: redesign matrices and support CB_4X4 and RECT-TX. · 6675adff
      Thomas Davies authored
      All matrices are derived by subsampling 32x32 and 32x16 matrices.
      Inter and intra matrices now use the same matrix set.
      
      BUG=aomedia:520
      
      AWCY results for default setting (qm-min=5, qm-max=9):
      
        PSNR  | PSNR Cb | PSNR Cr | PSNR HVS | SSIM  | MS SSIM | CIEDE 2000
         2.75 |  7.98   |    -    |  -3.52   |  0.73 |   -2.21 |   4.22
      
      Change-Id: I8414d19eaf50cfe80d4fe2290da6cdf4ebb406cb
      6675adff
    • Nathan E. Egge's avatar
      Fix EC_ADAPT bug introduced in ad66b816. · 9e9682fa
      Nathan E. Egge authored
      When merging NEW_TOKENSET into EC_MULTISYMBOL a bug was introduced when
       EC_MULTISYMBOL == 1 and EC_ADAPT == 0.
      This patch reverts that change and replaces CONFIG_EC_MULTISYMBOL with
       the equivalent flag (CONFIG_DAALA_EC || CONFIG_ANS).
      
      BUG=aomedia:550
      
      Change-Id: I164df42121ca0959247af34e65287b1d230346f7
      9e9682fa
  30. 20 May, 2017 1 commit
  31. 16 May, 2017 1 commit
  32. 04 May, 2017 1 commit
    • Sebastien Alaiwan's avatar
      Remove some special cases for CONFIG_HIGHBITDEPTH · cd167c4e
      Sebastien Alaiwan authored
      This also avoids having 'bit_depth'/'bd' members whose presence
      is decided by the preprocessor.
      
      The goal is to simplify statements accessing the bitdepth value.
      (instead of forcing them to also rely on the preprocessor to query
      the member presence through #if CONFIG_HIGHBIDEPTH).
      
      Change-Id: I68b822bbaa2b1c67bde81cb4f3f8b9988b798b0d
      cd167c4e
  33. 29 Apr, 2017 1 commit
  34. 28 Apr, 2017 1 commit
  35. 20 Apr, 2017 1 commit
  36. 14 Apr, 2017 1 commit