1. 03 Nov, 2017 11 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
    • Rupert Swarbrick's avatar
      Avoid some mismatched braces in bitstream.c · cf772765
      Rupert Swarbrick authored
      These play havoc with editors' "jump to start of function"
      commands. There should be no change to generated code.
      
      Change-Id: Ib6961bb952da02081a675d0a4fa01eea2c1ff6d1
      cf772765
    • Sebastien Alaiwan's avatar
      Simplify FRAME_ID constants · d418f68e
      Sebastien Alaiwan authored
      Change-Id: I75890c0f64f93f48299895d1e0bcfbf91846a4ab
      d418f68e
    • 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
    • Debargha Mukherjee's avatar
      Cleanup of speed 1 · 203016e8
      Debargha Mukherjee authored
      Removes features for now so that we only add features with very
      small loss.
      
      Change-Id: Ie50f6af2a6cc19dde5f682754a1f0adf4ec957a8
      203016e8
    • 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
    • Hui Su's avatar
      intrabc: remove unused counters · 7ac01f8f
      Hui Su authored
      The "use_intrabc" flag is signaled with CDF. No need to keep a counter
      for it.
      
      Change-Id: Ia62ef8f264aa5ce2f6fceddc0b2a7d2032c73044
      7ac01f8f
    • Sebastien Alaiwan's avatar
      Remove VAR_REFS experiment · 4be6cb32
      Sebastien Alaiwan authored
      This experiment has been abandonned.
      
      Change-Id: Ieabc6f365651e2d116a4505a3cc202add94d1386
      4be6cb32
    • Soo-Chul Han's avatar
      fix bug to add frame_marker in write_uncompressed_header_obu( ) · ebdbcb4c
      Soo-Chul Han authored
      Change-Id: Ifcc92df2e8c69752c1dbff2b447eb22035814389
      ebdbcb4c
    • Rupert Swarbrick's avatar
      Allow horzonly superres and striped loop restoration · 76c7800e
      Rupert Swarbrick authored
      We do this by upscaling the deblocked output as we save it into the
      RestorationStripeBoundaries line buffers. (See save_boundary_lines in
      restoration.c for the details)
      
      The upscaling is done by calling av1_convolve_horiz_rs, which reads
      off the edge of the frame and, of course, across tile boundaries. This
      means we need to extend the frame borders before saving boundary
      lines (hence the changes to decodeframe.c and encoder.c)
      
      Change-Id: Ia096846898b20afe4737433d772f7277d4f71724
      76c7800e
  2. 02 Nov, 2017 10 commits
    • Dake He's avatar
      [level map] cleanup and remove assertions · bd47bfaa
      Dake He authored
      Removed assertions were not properly set up and may cause decoding failure when USE_CASUAL_CTX is enabled. This CL does not change bitstream.
      
      Change-Id: Ib9193cbda32f342335a79aca39e9cc49204a0ec9
      bd47bfaa
    • Rupert Swarbrick's avatar
      Correct striped-loop-restoration with multiple tile rows · dee00eb0
      Rupert Swarbrick authored
      Before this patch, striped loop restoration didn't restart correctly
      on each tile row. Now, the loop restoration stripes start at the top
      of a tile row in the same way as if it were the top of the entire
      frame.
      
      Change-Id: I0a88a28d7804b2f09d792ecbbf4f22f666f67012
      dee00eb0
    • Yaowu Xu's avatar
      Fix a compiler warning of "unused variable" · 5f2749b8
      Yaowu Xu authored
      Change-Id: I299e2f2a1967f867a5452e0c449abe5243ac5d13
      5f2749b8
    • Rupert Swarbrick's avatar
      Get rid of RestorationInfo::procunit_height and width · cb493d82
      Rupert Swarbrick authored
      These are just RESTORATION_PROC_UNIT_SIZE shifted right by the
      vertical or horizontal subsampling for this plane and it's easier not
      to have to pass them around.
      
      Change-Id: I86441d6cd86bb146f3e5dcdf2c89e34dd9fed0e1
      cb493d82
    • Sebastien Alaiwan's avatar
      Remove experimental flag of EXT_TX · 3bac9928
      Sebastien Alaiwan authored
      This experiment has been adopted, we can simplify the code
      by dropping the associated preprocessor conditionals.
      
      Change-Id: I02ed47186bbc32400ee9bfadda17659d859c0ef7
      3bac9928
    • Pavel Frolov's avatar
      Fix delta_qindex and delta_lflevel signaling · 1dbe92d6
      Pavel Frolov authored
      BUG=aomedia:992
      
      Change-Id: Ifcaedaf312f056fcc29e6a8e020aac0ddc52affd
      1dbe92d6
    • Debargha Mukherjee's avatar
      Add an expt to remove allow high precision mv flag · b214775d
      Debargha Mukherjee authored
      Change-Id: I3873acafcd9539da96f67328cdb8faf7798be90f
      b214775d
    • David Barker's avatar
      Refactor search_selfguided_restoration · bfbd8b39
      David Barker authored
      Pull the per-unit processing out into a couple of new functions,
      to make the overall logic of search_selfguided_restoration()
      a bit more obvious
      
      Change-Id: Ib4ed9be7d4c76e22dc56f933f3f9d09160242f71
      bfbd8b39
    • Rupert Swarbrick's avatar
      Refactor border treatment in loop restoration · 5b401364
      Rupert Swarbrick authored
      Previously we were calling aom_extend_frame_borders to generate
      extended pixels for use in loop-restoration. This generates quite a
      large border, when we only need 3 pixels.
      
      In addition, we were also calling extend_frame, which does the same
      thing but with a smaller border, once (in the decoder) or multiple
      times (in the encoder) per plane.
      
      This patch tidies all of this up so that we only call extend_frame
      once per plane, with the largest border size we need (3px).
      
      It also adds two new #defines. RESTORATION_BORDER is the 3 pixel
      border needed to do filtering for a processing
      unit. RESTORATION_CTX_VERT is the number of rows saved for each stripe
      when doing striped loop restoration.
      
      Change-Id: I2c3ffcc19808f79db195f76d857e2f23da5d8a84
      5b401364
    • Dake He's avatar
      [level map] simplified context derivation · 03a32926
      Dake He authored
      This CL simplifies context derivation for nz and base level flags in
      level map.
      1. Reduce SIG_COEF_CONTEXTS from 58 to 42.
      2. NZ and base level flags share the same context offsets derived from a
      template of size 5 (down from 7).
      
      In limited runs, compression performance seems neutral if not better.
      Encoding time for a key frame on a local linux machine is reduced by about 25% or more.
      
      Change-Id: Ibd93b21c839154bc5ae26b993f9e66537cbf5942
      03a32926
  3. 01 Nov, 2017 13 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
    • Yaowu Xu's avatar
      Correct token allocation size for tiles · e39b3b8b
      Yaowu Xu authored
      With --enable-ext-partition, it is possible to have superblock size at
      both 64x64 and 128x128. But MAX_SB_SIZE_LOG2 is defined to be 7, i.e.
      128x128 size. In get_token_alloc(), the token count for a tile or a
      frame is always computed based on "tokens/superblock * number of
      superblocks", so it should use the actual superblock size, instead of
      128x128.
      
      The segfault in #988 is a result when every tile is defined at one
      single superblock of 64x64, the token size computation for each tile
      was assuming it is 128x128, resulting 4x overestimate of the token
      count for every tile. This caused the pointer for many tiles to go
      beyond the allocated token arrary, which is correctly allocated at
      frame level.
      
      BUG=aomedia:988
      
      Change-Id: I2da21f181446ad7117ce3269f01a43950c379028
      e39b3b8b
    • 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
    • Linfeng Zhang's avatar
      Remove nz/eob related uncalled functions · fa97083c
      Linfeng Zhang authored
      Change-Id: I12471d18544a9634c28ed139b7211c9af0762927
      fa97083c
    • 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
    • Soo-Chul Han's avatar
      remove writing/parsing superframe index with new HLS · 38427e8e
      Soo-Chul Han authored
      * add build-time option to add/read 4-byte size of every OBU
      * update to R19 by adding forbidden bit to obu header
      * add metadata OBU decoding
      
      Change-Id: I525264f53a8666b7bc29493fb29ae661841eba50
      38427e8e
    • Pavel Frolov's avatar
      Fix delta_qindex signalling · bfa2b8ce
      Pavel Frolov authored
      BUG=aomedia:992
      
      Change-Id: Ibac542608d9abd669d0e8cf871960b2cf0a6da6a
      bfa2b8ce
    • Pavel Frolov's avatar
      Signal sb_size for intra-only frames. · ef4af297
      Pavel Frolov authored
      BUG=aomedia:938
      
      Change-Id: Ic730ac1136e915d193f3b48f7788baa093e7ff0f
      ef4af297
    • 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
    • Arild Fuldseth (arilfuld)'s avatar
      Implement approved version of FRAME_SIZE experiment · 7193f020
      Arild Fuldseth (arilfuld) authored
      Change-Id: I5b7bb9983e1c613321704a579d459925bd6b9b2b
      7193f020
    • Jingning Han's avatar
      Re-design base level context modeling · e775b8bc
      Jingning Han authored
      Reduce the context model size required to code the base level
      syntax values from 42 to 32 per transform size.
      
      Change-Id: I08485fdb563bc5c3323b0e147d69b47c286b9bb5
      e775b8bc
  4. 31 Oct, 2017 5 commits
    • Sebastien Alaiwan's avatar
      Remove COEF_INTERLEAVE experiment · 6d5f2218
      Sebastien Alaiwan authored
      This experiment has been abandonned.
      
      Change-Id: Ifde0a76266af9f8c202c01805410b72d64594b0b
      6d5f2218
    • 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
      Simplify flow of control · e4984ffc
      Sebastien Alaiwan authored
      Avoid switch warning regarding fallthrough, add consts.
      
      Change-Id: Ie3a03e60420d962941abc4e144648f29401916b9
      e4984ffc
    • 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
  5. 30 Oct, 2017 1 commit