1. 09 Dec, 2017 1 commit
    • Rostislav Pehlivanov's avatar
      Change q_segmentation to spatial_segmentation · 938710cb
      Rostislav Pehlivanov authored
      Adds spatial prediction to standard segmentation instead of a separate
      segmentation feature.
      When using temporal prediction skipped blocks are flagged as mispredicted.
      
      Change-Id: I0c32281286d3fbce66d339c9247bcc6516f37a63
      938710cb
  2. 08 Dec, 2017 3 commits
  3. 06 Dec, 2017 1 commit
    • Zoe Liu's avatar
      JNT_COMP: Simplify logic on inter-inter comp modes · 5f11e915
      Zoe Liu authored
      This patch simplies the checking criteria for the two groups of
      compound modes. It also makes the encoder side cdf update inside the
      RD loop consistent with that in the bitstream.
      
      Experimental results on Google test sets (30 frames of lowres and
      midres) confirm this patch obtains identical coding performance.
      
      Change-Id: I170eea91f7d2be2170df544cfc2c692b09aa82d6
      5f11e915
  4. 05 Dec, 2017 7 commits
    • Luc Trudeau's avatar
      [CFL] Disable CfL for 4:1 and 1:4 Partitions · 4d6ea54e
      Luc Trudeau authored
      Moving CfL to using partition unit DC_PRED requires 4:1 and 1:4 DC_PRED,
      which are not currently implemented. A simple solution is to disable CfL
      for 4:1 and 1:4 partitions.
      
      CfL is also disabled for luma intra partitions < 4x4. This is inherent
      to luma intra prediction partition sizes. We add an assert to enforce
      this.
      
      Resulting in the following regression for Subset1
         PSNR | PSNR Cb | PSNR Cr | PSNR HVS |   SSIM | MS SSIM | CIEDE 2000
      -0.0093 |  0.1803 |  0.1519 |  -0.0180 | 0.0256 |  0.0226 |     0.0352
      
      https://two.arewecompressedyet.com/?job=CfL%402017-11-30T19%3A05%3A05.639Z&job=CfL-Disable-4to1%402017-11-30T19%3A04%3A00.761Z
      
      Change-Id: Ie2c8b4d9cb6b6f33a103b540209e1a2fb6df74a7
      4d6ea54e
    • Cheng Chen's avatar
      Change comp_group index context and save sending comp_group · 5a88172c
      Cheng Chen authored
      Extend context model for comp_group_idx.
      Save sending comp_group_idx when masked_compound is not allowed.
      
      Change-Id: Ia7ae53958c9e1c8fe07be4b14a425d9b8648082d
      5a88172c
    • Cheng Chen's avatar
      JNT_COMP: change COMPOUND_AVERAGE in cdf · 2ef24ea2
      Cheng Chen authored
      Remove COMPOUND_AVERAGE from compound_type_cdfs since it is now grouped
      to compound_idx. However, COMPOUND_AVERAGE is still used elsewhere.
      
      Change-Id: Ie0d460aabf9252e80eb4130cfef9aaf0efc3969d
      2ef24ea2
    • Cheng Chen's avatar
      JNT_COMP: divide compound modes into two groups · 33a13d9f
      Cheng Chen authored
      Divide compound inter prediction modes into two groups:
      Group A: jnt_comp, compound_average
      Group B: interintra, compound_segment, wedge
      
      Change-Id: I1142da2e3dfadf382d6b8183a87bde95119cf1b7
      33a13d9f
    • Dominic Symes's avatar
      max-tile: Fix issues discovered when testing max-tile · 917d6c06
      Dominic Symes authored
      max-tile remains off by default until more testing is performed but I would
      like to check in the fixes that are known so far to prevent this patch getting too big
      
      max_tile was provisionally adopted at the working group meeting 2017-Oct-10
      
      This patch fixes the following issues:
      - max_tile is fixed to suport superblock size 64x64 as well as 128x128 (ext_partition support)
      - max_tile is fixed in combination with loop_restoration
      - max_tile is fixed in combination with ext_tile (Bug: 1013)
      - max_tile is fixed in combination with lv_map and 64x64 subperblock (lv_map memory allocation
        fixed for 64x64 superblock)
      - max_tile reports the size of the first tile for inspection.c used by the analyzer
      
      Change-Id: Ib83ff613e5d66563c81452a085c7984d3b4813e4
      917d6c06
    • Jingning Han's avatar
      Re-design drl index coding to remove ctx parsing dep · b56b71ae
      Jingning Han authored
      Re-design the dynamic motion vector index coding system to remove
      the context parsing dependency on the reconstructed motion vectors.
      
      Change-Id: I01dd6eda239a0bed32d8dc98f0f10f18249a76d4
      b56b71ae
    • Sebastien Alaiwan's avatar
      Remove ANS experiment · b0460fa9
      Sebastien Alaiwan authored
      This experiment has been abandonned for AV1.
      
      Change-Id: I8110720cef1b56dbce4008a998d8f4281dd2fe44
      b0460fa9
  5. 04 Dec, 2017 1 commit
    • Debargha Mukherjee's avatar
      Fixes to make 4:1 rectangular intra work correctly · d2cfbefb
      Debargha Mukherjee authored
      This patch fixes and enables rectangular intra transform
      sizes for 4:1 partitions (that were turned off before).
      4:1 partitions can now use rectangular intra predictions with
      2:1 rectangular transform sizes.
      BDRATE lowres (single keyframe): -0.612%
      
      Change-Id: I6f062f7c08aae8eeb0a55d31e792c8f7e3f302a2
      d2cfbefb
  6. 02 Dec, 2017 2 commits
    • Yunqing Wang's avatar
      Modify the warped motion mode context · 3afbf3fb
      Yunqing Wang authored
      Modified the warped motion mode context based on neighbor's motion modes
      and current block's mode.
      
      Change-Id: I77ca35fab37ec640bb38661ff1799f643d5aafdc
      3afbf3fb
    • Cheng Chen's avatar
      Extend frame marker bits from 4 to 5 · d300f0e4
      Cheng Chen authored
      Although four bits are enough to represent current distances since
      Golden Frame Group is 16, for flexibility, we use 5 bits and allow
      frame distance up to 32.
      
      BUG=aomedia:1072
      
      Change-Id: I9f413baffd656eb8bd54333ba31a4e33faefd57a
      d300f0e4
  7. 01 Dec, 2017 1 commit
    • Steinar Midtskogen's avatar
      Change CDEF block skip condition and move signalling · 6c24b029
      Steinar Midtskogen authored
      Previously CDEF was implicitly disabled for a filter block if all its
      sub-blocks were skip, and no bits for that block was signalled.  That
      required the CDEF signal to be transmitted at the end of the block,
      and it was not possible to begin the filtering of the block before
      that.
      
      This patch moves the signalling to just after the first zero skip bit
      within a 64x64, 128x64, 64x128 or 128x128 block.  If sub-blocks are
      skip, then no CDEF bits will be signalled, as before.  Also, the skip
      condition flag has been removed so it's always known at the skip flag
      whether a coding block is to be filtered or not.
      
      Change-Id: I3adfa3d2d01e288b7db876198aa9985ee9f53917
      6c24b029
  8. 30 Nov, 2017 2 commits
  9. 29 Nov, 2017 2 commits
    • Zoe Liu's avatar
      Unify binary symbol design for LAST/LAST2 · 8781828b
      Zoe Liu authored
      Current encoding of single ref assigns bit 0 to LAST_FRAME and bit 1
      to LAST2_frame, whereas the encoding of compound ref assigns bit 1 to
      LAST_FRAME and bit 0 to LAST_FRAME. This patch unifies the design and
      makes the binary symbol assignment for LAST/LAST2 consistent
      regardless of the single/compound ref scenarios.
      
      This patch incurs a small syntax change but should not have noticeable
      coding performance impact. Once BUG 973 is fully addressed, default
      cdfs for reference frame coding will be updated.
      
      BUG=aomedia:973
      
      Change-Id: I1f3027965c0bb2d343bc8ad873f7c0015123f151
      8781828b
    • Sebastien Alaiwan's avatar
      Remove MRC_TX experiment · 9f001f35
      Sebastien Alaiwan authored
      This experiment has been abandonned for AV1.
      
      Change-Id: Ib9a8eea6b0ad5580dc81836be8fc5e898bb9bb45
      9f001f35
  10. 28 Nov, 2017 1 commit
    • Debargha Mukherjee's avatar
      Enhance option to handle chroma tx-size for vartx · 19619886
      Debargha Mukherjee authored
      Adds an option to split chroma tx size by one level if the luma
      transform size is split at least one level. Otherwise use the
      largest transform size for chroma.
      This option is enabled with DISABLE_VARTX_FOR_CHROMA set as 2,
      but is currently turned off until we finish testing.
      
      Change-Id: Ie048c4e33193e0cc7e1bbee37e4ccc085834433c
      19619886
  11. 27 Nov, 2017 2 commits
    • Debargha Mukherjee's avatar
      Add option to disable split partitions for chroma · 891a8774
      Debargha Mukherjee authored
      When the flag DISABLE_VARTX_FOR_CHROMA is on chroma is
      constrained to always use the largest transform size
      for the prediction unit size.
      This is meant to simnplify the logic for transform size
      selection for chroma with hopefully no loss.
      
      Results:
      lowres 30 frames, speed 1: -0.038% (a slight improvement).
      lowres 30 frames, speed 0: 0.000% (noise level difference).
      
      Change-Id: I14dd5b1983d908bd98e59b7d252e11f5755c97e6
      891a8774
    • Debargha Mukherjee's avatar
      Add chroma bsize modifications correctly · 3aa28111
      Debargha Mukherjee authored
      Change-Id: I807dc86489bc9219a24801841e66b555a2d7a51f
      3aa28111
  12. 24 Nov, 2017 1 commit
    • Rupert Swarbrick's avatar
      Disallow 4:1/1:4 partitions for BLOCK_128x128 · eb123933
      Rupert Swarbrick authored
      The change can be temporarily reverted by setting ALLOW_128X32_BLOCKS
      to 1 (for easy "is this better?" testing: we'll get rid of the option
      once it's clear what we're doing).
      
      Since this means we have to modify the "num_partition_types"
      calculation in functions like read_partition, we move it into a helper
      function called partition_cdf_length(). Doing this makes the bodies of
      read_partition and write_partition somewhat simpler than they were.
      
      Change-Id: I3573f62f71dc3344aed2dcb3e423e034eb56a7c5
      eb123933
  13. 22 Nov, 2017 2 commits
  14. 21 Nov, 2017 3 commits
  15. 20 Nov, 2017 1 commit
    • David Barker's avatar
      superres + frame-size: Fix experiment combination · 22171319
      David Barker authored
      The current code has two issues with this combination:
      i) The frame_size_override_flag was being set based on the downscaled
         frame size rather than the upscaled frame size
      ii) This flag was then being ignored in write_frame_size(), and we
          would always write a 16-bit size, even if the flag was 0.
          This lead to an encode/decode mismatch.
      
      This patch fixes these two issues, and rewrites write_frame_size()
      to be much clearer and more closely match setup_frame_size() from
      the decoder.
      
      Change-Id: Id6b8e51ef10f3285f8318e4acd8606060f29e9cb
      22171319
  16. 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
  17. 16 Nov, 2017 1 commit
    • Yunqing Wang's avatar
      Modify lightfield encoding example · b041d8a7
      Yunqing Wang authored
      Modified the lightfield encoding example to accommodate HW implementation
      requirements. Fixed the encoding scheme, generated a bitstream of a list
      of references followed by the surrounding large scale tile coded frames.
      All large scale tile coded frames use the same uncompressed frame header
      and the same set of frame contexts. This example also wrote out the frame
      header and frame contexts while encoding a large scale tile frame and
      setting EXT_TILE_DEBUG to 1.
      
      Change-Id: I7cc19099195d0a20335d5c6bfb9f493f1bf3a7b2
      b041d8a7
  18. 15 Nov, 2017 3 commits
    • Frederic Barbier's avatar
      Remove experimental flag of NEW_MULTISYMBOL · 749c21a1
      Frederic Barbier authored
      This experiment has been adopted, we can simplify the code
      by dropping the associated preprocessor conditionals.
      
      Change-Id: I6ac62c2825eabcba8f854cfa25c84638d9a73872
      749c21a1
    • 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
  19. 14 Nov, 2017 4 commits
  20. 13 Nov, 2017 1 commit