1. 24 Apr, 2017 1 commit
  2. 20 Apr, 2017 1 commit
    • Yunqing Wang's avatar
      ext_tile: add 2 tile encoding modes · d8cd55f4
      Yunqing Wang authored
      Added 2 tile encoding modes:
      TILE_NORMAL mode supports the large-scale tile coding up to 1024 x 1024
      tiles;
      TILE_VR mode supports the large-scale tile coding and also the decoding
      of a single tile.
      
      TILE_NORMAL mode allows the non-vr content to be encoded in multiple tiles
      without using the coding tool that are designed for vr applications.
      
      Change-Id: Id804806a1bbcb916b7f5dc7e2c5509d88f3defcb
      d8cd55f4
  3. 11 Apr, 2017 1 commit
  4. 28 Mar, 2017 1 commit
    • Fergus Simpson's avatar
      frame_superres: Add scale to uncompressed header · e7508413
      Fergus Simpson authored
      A bit and a three bit literal have been added to the uncompressed frame
      header for use by the frame superres experiment.
      
      The bit is true if scaling is to be used, and is immediately followed by
      a three bit literal that encodes the scale to use. If the first bit is
      false, scaling is disabled and the scale factor numerator is set to the
      denominator (ie. 1:1 scaling). No literal follows if scaling is
      disabled.
      
      The denominator has been defined as a constant 16. The literal is biased
      by a defined constant of 8 - allowing fractions from 1/2 to 15/16
      scaling in steps of 1/16 when scaling is used. Experimentation will be
      needed to discover which of these are useful.
      
      The bit and literal are immediately after the optional render_width and
      render_height, so that the superres parameters can be written and read
      just after the regular width and height, without interfering with the
      render_size parameters.
      
      This patch also adds an arbitrary write to make the scale 1:1, so as to
      not trigger any scaling until it's ready.
      
      Accompanying encode and decode helper functions are added.
      
      Change-Id: I8caa6247c73f5c7f84ef1fde1e80eb9b20bde0e3
      e7508413
  5. 23 Mar, 2017 1 commit
    • Fergus Simpson's avatar
      frame_superres: Add members to AV1_COMMON · 7a71d0a0
      Fergus Simpson authored
      Adds the superres scale numerator, width, and height to the AV1_COMMON
      struct for later use in encoding and decoding. This value will also be
      added to the uncompressed frame header.
      
      A #define statement is also added to represent the denominator - 16.
      
      Change-Id: I4acec39ef3c67fa9f7118dac28daec3a2d734ed5
      7a71d0a0
  6. 17 Mar, 2017 1 commit
    • Steinar Midtskogen's avatar
      Merge dering/clpf rdo and filtering · a9d41e88
      Steinar Midtskogen authored
      * Dering and clpf were merged into a single pass.
      * 32x32 and 128x128 filter block sizes for clpf were removed.
      * RDO for dering and clpf merged and improved:
        - "0" no longer required to be in the strength selection
        - Dering strength can now be 0, 1 or 2 bits per block
      
                    LL    HL
      PSNR:       -0.04 -0.01
      PSNR HVS:   -0.27 -0.18
      SSIM:       -0.15 +0.01
      CIEDE 2000: -0.11 -0.03
      APSNR:      -0.03 -0.00
      MS SSIM:    -0.18 -0.11
      
      Change-Id: I9f002a16ad218eab6007f90f1f176232443495f0
      a9d41e88
  7. 09 Mar, 2017 1 commit
  8. 06 Mar, 2017 1 commit
  9. 18 Feb, 2017 1 commit
  10. 17 Feb, 2017 1 commit
    • Debargha Mukherjee's avatar
      Replace division in self-guided filter · 4be12628
      Debargha Mukherjee authored
      Replaces division with multiplication in self-guided
      filter.
      
      The guided filter requires computation of:
      n^2.s^2/(n^2.s^2 + n^2.e).
      This is now implemented by computation of n^2.s^2/n^2.e followed
      by using a lookup table for the function f(x) = x/(x+1).
      To compute n^2.s^2/n^2.e, we use an integer multiplication based
      implementation which becomes feasible since n^2.e can only
      take a few values and their corresponding multipliers can be
      pre-computed.
      There is also another divison by n, that is also integerized.
      
      Change-Id: Id7b81bbafead0b8f04a1853ec69b9dec423bb66a
      4be12628
  11. 14 Feb, 2017 1 commit
  12. 03 Feb, 2017 1 commit
  13. 23 Jan, 2017 1 commit
    • Emil Keyder's avatar
      Rename NONE to NONE_FRAME. · 01770b3e
      Emil Keyder authored
      This follows the naming for the other frame types, and allows libaom
      to be compiled against other libraries that also #define NONE.
      
      Change-Id: Ic2e2814587bbc5ea67385a9af775396d29b7dde0
      01770b3e
  14. 18 Jan, 2017 1 commit
    • Alex Converse's avatar
      Add unpoison_partition_ctx experiment · 55c6bdeb
      Alex Converse authored
      At the edges of the picture only a subset of partitions are legal. Add
      new contexts for these borders so they don't distort the probabilities of
      the interior of the image where all partitions are legal.
      
      Only include one context for each block size of each border direction
      because so few blocks fall into these contexts to begin with.
      
      objective-1-fast:
         PSNR | PSNR Cb | PSNR Cr | PSNR HVS |    SSIM | MS SSIM | CIEDE 2000
      -0.0294 | -0.0911 | -0.2382 |  -0.0481 | -0.0441 | -0.0450 |    -0.0454
      
      derf144: -0.135
      lowres: -0.124
      midres: -0.076
      hdres: -0.078
      
      Change-Id: I909b98eebb7e49273cde90154c8408febe334158
      55c6bdeb
  15. 04 Jan, 2017 2 commits
    • Jingning Han's avatar
      Enable cb4x4 mode support to ext-tx experiment · 1a00cffd
      Jingning Han authored
      This commit enables the cb4x4 mode to support ext-tx experiment. The
      coding performance gains are:
      
             ext-tx   cb4x4    ext-tx + cb4x4
      lowres  2.7%     2.6%      4.9%
      midres  2.1%     1.2%      3.0%
      
      Change-Id: I6c566b6073527262abcdbb1a0c6bcb8729988f3b
      1a00cffd
    • Ryan Lei's avatar
      Add an experiment to disable lpf on tile boundaries · 7386eda0
      Ryan Lei authored
      This commit adds a new experiment to allow disabling of loop filtering
      on tile boundaries. It is implemented by adding a syntax field
      "loopfilter_across_tiles_enabled" into the uncompressed frame header. 
      If it is set to 0, decoder and encoder will disables loop filtering for
      block edges that are also tile boundaries.
      
      Change-Id: Ib80bfd82d49c74f1ba46ae18ceedb30704ac8aa5
      7386eda0
  16. 21 Dec, 2016 1 commit
  17. 14 Dec, 2016 1 commit
  18. 12 Dec, 2016 1 commit
    • Debargha Mukherjee's avatar
      Replace bilateral filter with domain transform RF · 0e67b25c
      Debargha Mukherjee authored
      The main objective is to reduce computational complexity.
      The domain transform filter has an effect of edge preserving smoothing
      at a lower computational cost than the bilateral filter, and can be
      readily paralelized.
      
      A little drop in coding efficiency about 0.06% for lowres, 0.16% for
      midres.
      
      Change-Id: Id949406b7e5afe9b64588d130065c63a76e4f3f9
      0e67b25c
  19. 10 Dec, 2016 1 commit
  20. 06 Dec, 2016 2 commits
  21. 02 Dec, 2016 2 commits
  22. 01 Dec, 2016 1 commit
    • Jingning Han's avatar
      Add 2x2 block unit syntax · f1702dde
      Jingning Han authored
      Add 2x2 block size syntax to the codec system. It prepares for the
      4x4 coding block unit for 420 format. This change retains the same
      coding statistics.
      
      Change-Id: If8e9a31bd6b4b75bc994539dc4dd8021d455ba57
      f1702dde
  23. 30 Nov, 2016 1 commit
  24. 28 Nov, 2016 1 commit
    • Urvang Joshi's avatar
      Add a new intra prediction mode "smooth". · 6be4a54b
      Urvang Joshi authored
      This is added as part of ALT_INTRA experiment.
      
      This uses interpolation between top row and estimated bottom row; as
      well as left column and estimated right column to generate the
      predicted block.The interpolation is done using a predefined weight
      array.
      
      Based on experiments, the currently chosen weight array was created
      to represent a quadratic curve, but can be tuned further if needed.
      
      Improvement from baseline on Derf set:
      ALL Keyframes: 1.279%
      
      Improvement from existing ALT_INTRA:
      ALL Keyframes: 1.146%
      
      Change-Id: I12637fa1b91bd836f1c59b27d6caee2004acbdd4
      6be4a54b
  25. 18 Nov, 2016 2 commits
    • Debargha Mukherjee's avatar
      Various table updates to support 64x64 transforms · 18d38f6c
      Debargha Mukherjee authored
      Includes:
      Various table updates and fixes to support 64x64 transforms.
      Entropymode updates to support tx_size expansion to 64x64.
      tx_mode changes to support an ALLOW_64sXx64 transform mode.
      
      Change-Id: Ib9098cfe27d0c015fe3be6ae13e7d09576771b9e
      18d38f6c
    • Debargha Mukherjee's avatar
      Add default 64x64 scan orders and entropy models · 153e1f86
      Debargha Mukherjee authored
      Adds 64x64 default scan orders
      Adds 64x64 coefficient entropy models (just copy the 32x32 ones)
      Entropy context updates for 64x64 transform
      Various misc. changes to support 64x64 transforms
      
      Change-Id: I2c0bc4ba540886dd196e87a78b205407ad3e866b
      153e1f86
  26. 11 Nov, 2016 1 commit
    • Sarah Parker's avatar
      Add ability to have multiple compound modes for interinter · 6fddd18f
      Sarah Parker authored
      This is currently just a refactor and creates no change in performance.
      It allows new compound types to be added easily in the future to
      facilitate experiments with segmentation masks.
      
      Change-Id: If48fed216d482454fabb45a304b4220ada0dbdee
      6fddd18f
  27. 10 Nov, 2016 1 commit
  28. 03 Nov, 2016 1 commit
  29. 02 Nov, 2016 1 commit
    • Jingning Han's avatar
      Simplify tx_size enums · aad298ff
      Jingning Han authored
      Remove redundant experimental flag. This does not change the coding
      statistics.
      
      Change-Id: I35b3cb04025c5c2d2744312e5efc00d0473c990d
      aad298ff
  30. 01 Nov, 2016 2 commits
  31. 26 Oct, 2016 1 commit
  32. 25 Oct, 2016 1 commit
  33. 24 Oct, 2016 1 commit
  34. 20 Oct, 2016 1 commit
    • hui su's avatar
      Seperate FILTER_INTRA from EXT_INTRA experiment · 5db9743f
      hui su authored
      Prepare for the av1/nextgenv2 merge.
      
      Coding gain (%):
      
                     lowres     midres
      ext-intra       0.69       0.97
      filter-intra    0.67       0.83
      both            1.05       1.48
      
      Change-Id: Ia24d6fafb3e484c4f92192e0b7eee5e39f4f4ee6
      5db9743f
  35. 19 Oct, 2016 1 commit
    • Thomas Davies's avatar
      Step size and arithmetic coding for delta quantization. · f693610a
      Thomas Davies authored
      Example performance: 1.8% bit rate savings using
      the AQ test mode aq-mode=4 :
      ./aomenc --codec=av1 --ivf --tile-columns=1 --tile-rows=1 \
                       --kf-max-dist=1000 --kf-min-dist=1000 --cpu-used=0 \
                       --passes=1 --threads=1 --lag-in-frames=0 \
                       --end-usage=q --limit=600 --cq-level=42 \
                       --aq-mode=4 --error-resilient=1 out.bits FourPeople_1280x720_60.y4m
      
      Change-Id: Iba01cf2732a57f3c27481ac2a3c8fc37bb9e5533
      f693610a