1. 26 Sep, 2017 3 commits
    • Cheng Chen's avatar
      Add threshold to superblock filter level selection · c7855b1a
      Cheng Chen authored
      Signal one bit to indicate whether current superblock reuses filter
      level of previous superblock.
      Try filtering and compute sse using previous filter level and search
      the best possible filter level. If their diff is less than predefined
      threshold, current superblock reuses previous level. Otherwise,
      signal the best filter level.
      
      Change-Id: Ibf125860883b774ef2464b62bb8b799b48258c64
      c7855b1a
    • Debargha Mukherjee's avatar
      Add experiment to restrict compressed header · 2eada612
      Debargha Mukherjee authored
      The compressed header is now used only when the refresh
      type is set as forward, i.e. in error resilience and
      frame parallel modes. As long as backward updates are
      used the header is disabled thereby saving bits.
      
      Change-Id: Iee9f66ffbd30ef3552ea41b75e4b51537cd9ff97
      2eada612
    • Debargha Mukherjee's avatar
      Fix cmake experimental flags · 8f4b2167
      Debargha Mukherjee authored
      Change-Id: Ifb0e4363136779092fcf5e9b27318f1b83df7ad7
      8f4b2167
  2. 25 Sep, 2017 4 commits
  3. 24 Sep, 2017 4 commits
  4. 23 Sep, 2017 11 commits
    • Debargha Mukherjee's avatar
      Setup ref mode after reading uncompressed header · 6f3c898f
      Debargha Mukherjee authored
      Removes setup in compressed header so that the compressed
      header can be skipped.
      
      Change-Id: I8d7ed63944a4f75704222f4ad7d0159db1cec0d1
      6f3c898f
    • Debargha Mukherjee's avatar
      Fix kf y mode costing · 801cc926
      Debargha Mukherjee authored
      Change-Id: I3d6a440b13473b0d1e8b18c6629c7e8e3fb446ae
      801cc926
    • Yushin Cho's avatar
      Improve dist-8x8 · 8e75e8bb
      Yushin Cho authored
      Improve dist-8x8 when computing 8x8 yuv dist for sub8x8.
      
      To apply dist-8x8 for sub8x8 partitions, once mode decision for
      sub8x8 partitions are finished then dist-8x8 is computed on 8x8 window.
      Since dist-8x8 is only for luma, chroma distortion should be identified.
      
      Previously, it has been hard to be free from potential bugs doing this,
      due to the complex inter mode search code.
      
      The new method is less-error-prone, which computes uv distortion (in MSE) after
      the mode decisions for all of sub8x8 blocks in a 8x8 window are finished,
      when the dist-8x8 distortion for luma 8x8 pixels are computed with
      new distortion metric.
      
      All the code separating y and uv distortion in inter mode search has
      been removed in this commit.
      
      Change-Id: Ieaccb7915df5faeb5e89a7e70b2b7cbac65231af
      8e75e8bb
    • Debargha Mukherjee's avatar
      Move sb_size to the keyframe (sequence) header · d2630fa4
      Debargha Mukherjee authored
      This patch moves the sb_size to the keyframe header from all frame
      headers as discussed in the AOM Codec WG meeting.
      
      Change-Id: Ia0190e57b36b98e51ab61ad4ff14f24f9c294877
      d2630fa4
    • Hui Su's avatar
      Remove unused arrays in entropymode.h · 787eb3d1
      Hui Su authored
      Change-Id: I7f2c0bfc12451710622161bd52ff689e642d1e52
      787eb3d1
    • Hui Su's avatar
      Move local functions out of blockd.h · 032ab8b3
      Hui Su authored
      Change-Id: Id667950de84ad6a0b55222264a0ce8473cd10bcc
      032ab8b3
    • Debargha Mukherjee's avatar
      Add new experimental flag ext_partition_types_ab · de5bdcad
      Debargha Mukherjee authored
      Change-Id: Ib85b2a778e1306444ac0cbbfb212e739a0f0009c
      de5bdcad
    • Rupert Swarbrick's avatar
      Simplify implementation of rd_test_partition3 · 0e653f9f
      Rupert Swarbrick authored
      The rd_test_partition3 function basically calls rd_pick_sb_modes on
      each of three sub-blocks of a partition (this is one of the mixed size
      partitions like PARTITION_HORZ_A) and adds up the cost. There's also
      some extra book-keeping to do with stopping early if we know the
      partition is more expensive than what we've already seen.
      
      Before this patch, each call and its supporting code was written out
      in rd_test_partition3 with lots of repetition (made even more
      unreadable because of the #if/#endif blocks). This patch moves the
      "per-subblock" logic into a new function, rd_try_subblock, and
      replaces the code with calls to that function.
      
      The patch also rewrites the nested conditionals
      
        if (A) { if (B) { if (C) { X; } } } return;
      
      as
      
        if (! A) return; if (! B) return; if (! C) return; X;
      
      which means the code for X doesn't need to be so indented.
      
      The patch also uses the new function to replace the bodies of the
      PARTITION_HORZ_4 and PARTITION_VERT_4 partition types.
      
      Note that lots of the remaining ugliness is to do with supporting
      CONFIG_SUPERTX with ext-partition types. These explicitly aren't
      supported together at the moment, so another option would be to rip
      out that code entirely.
      
      Change-Id: I9af40d96aa1384f24a088a73a711311638490250
      0e653f9f
    • Cheng Chen's avatar
      Signal delta loop filter level between superblocks · a4b27de4
      Cheng Chen authored
      For the first superblock, signal a filter level (6 bit).
      For other superblocks, signal the delta (3 bit) and sign (1 bit).
      To guarantee the delta can be represented by 3 bits, the search
      range of current superblock filter level is capped as
      curr_lvl = prev_lvl +- ((1 << 3) - 1)
      
      Change-Id: Ibbe2941aa96ec1220ed2adb7edf3d29cb032f0ec
      a4b27de4
    • James Zern's avatar
      test.cmake: add resize_test.cc · a87d186d
      James Zern authored
      this was enabled in test.mk in:
      c9ac07f6 Re-enable resize test.
      
      Change-Id: I0836e533c77570c5176b2c99fe7a3d19d73ac8af
      a87d186d
    • Yushin Cho's avatar
      [dist-8x8] Enable early-exit, if MSE is used · c00769a9
      Yushin Cho authored
      If dist-8x8 is enabled, it has disabled early-exit during the RD
      of sub8x8 tx block in 8x8 or larger partition for plane 0.
      
      However, for the sanity check mode of dist-8x8 which still use MSE,
      this can cause different bdrate from the reference (i.e
      dist-8x8 off). Hence, if tune-metirc is MSE then
      regular early-exit will perform for all cases.
      
      Note that the rd cost used for early-exit condition during tx mode
      decision does not include rate for mode itself but only coefficints.
      So, when the total distortion for a partition is very small, the rd cost
      of mode can exceed that of distortion.
      
      Change-Id: Ie25c64064b78d2d1582dbb0c286212fbc52dbdb9
      c00769a9
  5. 22 Sep, 2017 6 commits
    • Yi Luo's avatar
      Highbd rectangle intrapred V/DC sse2 optimization · bdddf33a
      Yi Luo authored
      Function speedup (i7-6700),  sse2 verse C:
      Predictor      V_PRED    DC_PRED
      4x8            ~1.5x     ~4.9x
      8x4            ~2.5x     ~4.8x
      8x16           ~1.9x     ~9.1x
      16x8           ~1.9x     ~4.4x
      16x32          ~2.1x     ~5.8x
      32x16          ~2.0x     ~3.6x
      
      Change-Id: I6deffd0637e57ee5d0bd533502f5705148c4cdd4
      bdddf33a
    • Jingning Han's avatar
      Add opt_ref_mv experimental flag · 1727fac4
      Jingning Han authored
      Change-Id: I24cb257367775608b2b6e4d45d07c30b511af251
      1727fac4
    • Jingning Han's avatar
      Fix merge conflict · 75a6f87a
      Jingning Han authored
      Fix the missing the compiler fix in 772cb136.
      
      Change-Id: I2e1d0576964483c7890fb87e3db5451816883b9b
      75a6f87a
    • Hui Su's avatar
      ext-tx: combine the index and type mapping tables · 4a9be2a0
      Hui Su authored
      Combine the index and type mapping tables for intra and inter.
      
      Change-Id: I4274f0b5afac26f7e395467bdf5cf18077eacbee
      4a9be2a0
    • Hui Su's avatar
      Remove probablity model for tx type · 98b0b3e9
      Hui Su authored
      It's not being used anymore, replaced by the CDF model.
      The counters are moved under the entropy-stats experiment, so that they
      can be used to tune the default CDF values.
      
      Change-Id: I50cb170c4c8699cf7317fd77853b3fedf2342d3e
      98b0b3e9
    • Hui Su's avatar
      Refactor the ext-tx experiment · ddbcde28
      Hui Su authored
      Use common structure for inter and intra tx type information when
      possible.
      
      Change-Id: I1fd3bc86033871ffbcc2b496a31dca00b7d64b31
      ddbcde28
  6. 21 Sep, 2017 3 commits
  7. 20 Sep, 2017 9 commits
    • Jingning Han's avatar
      Fix av1_get_txb_entropy_context check condition · 339cf93b
      Jingning Han authored
      Return 0 when eob is 0. It is possible that when eob is 0, the
      fed in quantization matrix is uninitialized in the rate distortion
      optimization process.
      
      Change-Id: I2dcf558203bf60ba7332c6bf585a978f7c7309b5
      339cf93b
    • Jingning Han's avatar
      Constrain motion field referencing region · 83c27ecd
      Jingning Han authored
      Limit the motion field referencing region to be within a 64x64
      coding block region to reduce line buffer requirement. The coding
      performance loss numbers are 0.028% for lowres and 0.064% for
      midres.
      
      Change-Id: I4fe1a915c5710b763591b7046c45459b02543377
      83c27ecd
    • Jingning Han's avatar
      Use integer multiplier to replace division in mfmv · 00d5868d
      Jingning Han authored
      Use integer multipliciation to replace the division operation in
      the linear projection in mfmv. The coding performance change is
      around 0.01% level.
      
      Change-Id: I901fd3a2b349f1babccb88dbf74f84091079b8d3
      00d5868d
    • Angie Chiang's avatar
      Revert "Fix warning about sub8x8tx_in_gte8x8blk_in_plane0" · 3bbcedec
      Angie Chiang authored
      This reverts commit 863efacc.
      
      Reason for revert: <INSERT REASONING HERE>
      
      Change-Id: I3d9efef938fe0a2ec4914adc23d0e53b873109d4
      3bbcedec
    • Angie Chiang's avatar
      Fix warning about sub8x8tx_in_gte8x8blk_in_plane0 · 863efacc
      Angie Chiang authored
      This CL fix warning: unused variable
      ‘sub8x8tx_in_gte8x8blk_in_plane0’
      when DISABLE_TRELLISQ_SEARCH is on
      Change-Id: I64908513d58287e53ae5fd040e8099089176aace
      863efacc
    • Tom Finegan's avatar
      Add mingw-w64 CMake toolchain files. · 2f61fc84
      Tom Finegan authored
      BUG=aomedia:707
      
      Change-Id: I9b819e630a1c56b5df359c6e65acb6f80ae513e3
      2f61fc84
    • Cheng Chen's avatar
      Search for deblocking filter level for superblock · f572cd30
      Cheng Chen authored
      Search and pick filter level for each superblock after the entire
      frame has been encoded. And then apply loop filtering using
      selected filter levels.
      
      Now it can't work with LOOPFILTER_LEVEL. Y, U, V planes share the
      same filter level.
      
      Per superblock, filter levels are signaled via bitstream.
      
      Future work: move selecting filter level into each superblock
      rather than wait for the whole frame encoded.
      
      Change-Id: I46cb994ec4866abb0456146f7c3cae8813c1d52e
      f572cd30
    • Soo-Chul Han's avatar
      initial implementation of HLS based on R18 · 65c00ae1
      Soo-Chul Han authored
      Change-Id: I78bb38e3d61d74442278bd5ed1c4f695b7c8e24a
      65c00ae1
    • Jingning Han's avatar
      Customize prob model control for lv-map · b3c189b9
      Jingning Han authored
      Make the probability model update system better customized for the
      level map coding scheme. This improves the level map coding
      performance by 0.2% for lowres and 0.1% for midres.
      
      Change-Id: Ib6d3abb36d50ff7485c4ceb411fe94e8fb060416
      b3c189b9