1. 16 Dec, 2017 1 commit
    • Zoe Liu's avatar
      Support ext-skip for both low delay and high delay · 104d62e1
      Zoe Liu authored
      For both low delay and high delay scenarios, the reference pair in
      skip mode are specified as the closest fwd ref, together with the
      closest bwd ref if there is any bwd ref, otherwise with the two
      closest fwd refs.
      
      Skip mode by default uses COMPOUND_AVERAGE. When all the reference
      frames are on the same side, temporal-distance weighted compound is
      considered, and a compound index is signaled to indicate whether
      distance-weighted compound or compound-average is usd.
      
      Whether to use distance-weighted compound for skip mode is still
      under experimenting, hence a flag is temporarily added:
      SKIP_MODE_WITH_JNT_COMP.
      
      Following experimental results are obtained over 30 frames, using the
      setup of --disable-ext-partition --disable-ext-partition-types
      --disable-txmg --enable-jnt-comp --enable-mfmv --enable-ext-skip:
      
      (1) High Latency:
      For Google test sets (lowres/midres), the BDRate coding gain is ~0.2%;
      For AWCY, the coding gain is ~0.1%.
      (2) Low Latency:
      No gain has been observed over Google sets and ~0.1% gain is obtained
      only when temporal-distance weighted prediction is used.
      
      Change-Id: I8c433357adebed0126ebfdd5c4d51aa71e64be57
      104d62e1
  2. 15 Dec, 2017 4 commits
    • Debargha Mukherjee's avatar
      Remove sub-4x4 block sizes · 5d149e1d
      Debargha Mukherjee authored
      Removes unused BLOCK_2X2, BLOCK_2X4 and BLOCK_4X2 from the
      BLOCK_SIZE enum.
      
      Change-Id: I964d99718026c51a1eaf30d4a1fc83cc52f94083
      5d149e1d
    • Jingning Han's avatar
      Clean up intra mode context fetch functions · 9010e20d
      Jingning Han authored
      Following the cb4x4 design, the logic related to sub8x8 handling
      can be simplifed.
      
      Change-Id: I1ed0c0327a4498614408320a583ad37607bde4af
      9010e20d
    • Yue Chen's avatar
      Avoid trying filter_intra + >32x32 tx · 1a5ab9f2
      Yue Chen authored
      Filter intra mode is disabled if any dimention of tx_size is
      greater than 32. In this patch, the max qualified tx_size is
      found and set for testing filter_intra in intra_model_yrd().
      
      BUG=aomedia:1058
      
      Change-Id: I105aa68e722fce74b8828860a40040764cf20118
      1a5ab9f2
    • Yaowu Xu's avatar
      Fix msvc compiler warnings · a967ebb7
      Yaowu Xu authored
      Change-Id: I7ce37b2e43b4607c77515d802a6ad330047fc4c2
      a967ebb7
  3. 14 Dec, 2017 4 commits
    • Urvang Joshi's avatar
      Remove a number of unused macros. · de750837
      Urvang Joshi authored
      Change-Id: I3e6b13dcb8e5b5cf6ff4ba8010fe65e43336d33f
      de750837
    • Angie Chiang's avatar
      Add TXCOEFF_COST_TIMER · 4d55d76e
      Angie Chiang authored
      Measure the time spending on av1_cost_coeffs by turning on this
      flag
      
      Change-Id: Ide4171182d87bd52f00fe01abefc77cb2d730834
      4d55d76e
    • Luc Trudeau's avatar
      [Clean Up] Remove get_y_mode() · 2eb9b845
      Luc Trudeau authored
      The get_y_mode function, is superfluous, not used consistently, and requires a
      useless block_idx parameter than gets pass around a lot inside the
      codebase for no apparent reason.
      
      The block parameter is misleading, as it could cause people to think all these
      functions actually use this value.
      
      Change-Id: I7ae0a8d1282c009b9114c83771cce10f5c2ee397
      2eb9b845
    • David Michael Barr's avatar
      [CFL] Reorder alpha search for early termination · f2f3156f
      David Michael Barr authored
      This prepares the way for a heuristic to truncate the search.
      
      For a given joint sign value, each plane's alpha is coded
      independently and so the alpha choice is also independent.
      Rather than iterating over all possible pairs, first choose
      for each plane separately and then merge the choices.
      Merge with RD collection and continuously update the bound.
      
      On subset1, then encoder output is identical for most sequences:
        PSNR | PSNR Cb | PSNR Cr | PSNR HVS |   SSIM | MS SSIM | CIEDE 2000
      0.0002 | -0.0058 | -0.0016 |   0.0020 | 0.0025 |  0.0040 |    -0.0022
      
      Change-Id: Ie7d1e1622d46eaa8cf42f50c9a6bec6e59bdbc39
      f2f3156f
  4. 13 Dec, 2017 4 commits
  5. 12 Dec, 2017 8 commits
    • Hui Su's avatar
      intrabc: modify default ref dv · 2d46afcd
      Hui Su authored
      Make sure the ref dv is a valid dv.
      
      Improves compression by about 0.3% on screen_content keyframes.
      
      Change-Id: I3a20c1a04b0ebcad610276f21b410dcfc8ba4c4d
      2d46afcd
    • Hui Su's avatar
      Fix floating point number error in palette RDO · 8265d70c
      Hui Su authored
      BUG=aomedia:1112
      
      Change-Id: I130bc2087c32bd2d9087bf0dfe5919226f5fafa1
      8265d70c
    • Rupert Swarbrick's avatar
      Fix calculation of tx_type cost for rectangular transforms · ffbff57d
      Rupert Swarbrick authored
      This patch fixes up av1_tx_type_cost to match the code in
      av1_write_tx_type. Beforehand, we wrongly assumed a 32x16 block needed
      to signal its transform size (with rect-tx-ext & rect-tx-ext-intra)
      because we were passing 16x16 to get_ext_tx_types.
      
      I've also changed av1_write_tx_type to use get_min_tx_size rather than
      inlining its body. No functional change, but it's probably better to
      use the same helper function both times.
      
      Change-Id: Iff6ee0bff2d332d5270fe0219db88c95e0b051d0
      ffbff57d
    • Jingning Han's avatar
      Simplify logics in select_tx_type_yrd · 13c42779
      Jingning Han authored
      Remove unnecessary inter / intra condition check.
      
      Change-Id: I51b776a3df6ce45b31fe3d2f43fbf6ca7b1d14fb
      13c42779
    • Rupert Swarbrick's avatar
      Fix apparent typo in av1_rd_pick_inter_mode_sb · 6f14969a
      Rupert Swarbrick authored
      We should be selecting a transform size when tx_mode is TX_MODE_SELECT
      and we're not lossless. (In lossless mode, the transform size is
      forced to be TX_4X4).
      
      Change-Id: I65b346fb2116689598e2251e97897be91f481ceb
      6f14969a
    • Rupert Swarbrick's avatar
      Use block_signals_txsize() in two more places · 8e5b39a1
      Rupert Swarbrick authored
      The change in encodeframe.c has no effect (it's the same test), but
      the change in rdopt.c fixes a miscalculated rate for (say) 8x4 blocks
      which must signal whether to use TX_8X4 or TX_4X4.
      
      Change-Id: I1dd2556bb90e86e690dd1fabaad278813ba73ea6
      8e5b39a1
    • Hui Su's avatar
      tx rd hash: store parent indices in mi resolution · cdb8983f
      Hui Su authored
      Change-Id: Ia069373be864cae7a283bce3d12ee10270e6beb3
      cdb8983f
    • Hui Su's avatar
      enable skip prediction for large blocks · 00966436
      Hui Su authored
      This patch enables the skip prediction feature for blocks larger than
      16x16; but the tx size used in this module is still limited to 16x16.
      
      Also makes it exit early upon large quantized coeff.
      
      Test results:
      -encoding speed up by 0~17%, on average 8.6%, based on several lowres
      test sequences;
      -no quality loss observed, encoding 30 frames on lowres and midres.
      
      BUG=aomedia:1106
      
      Change-Id: Ic2051a978eda5c8ce6a795a9d97d8d114c6edfe2
      00966436
  6. 11 Dec, 2017 2 commits
  7. 10 Dec, 2017 2 commits
    • Zoe Liu's avatar
      Enable skip mode work with JNT_COMP · 50c810d5
      Zoe Liu authored
      This patch updates also the default cdfs for skip mode. It also remove
      the unneeded checking on whether the best obtained RD mode aligned
      with the skip mode.
      
      For 30 frames, on both AWCY and Google lowres/midres test sets, with
      the following config, the coding gain ranges from ~-0.15% to -0.23%:
      
      --disable-ext-partition --disable-ext-partition-types --disable-txmg
      --enable-jnt-comp --enable-mfmv
      
      Change-Id: I39aeeb9e7b27ca679c1b3f9c0eea67b5e1f694e2
      50c810d5
    • Hui Su's avatar
      TX block hash: record the eob value · 8c2b913b
      Hui Su authored
      BUG=aomedia:1093
      
      Change-Id: I0871c67d9a2ddc6aa9d3084f645305f6b74a999f
      8c2b913b
  8. 09 Dec, 2017 3 commits
  9. 08 Dec, 2017 2 commits
    • Debargha Mukherjee's avatar
      Misc refactors to support 4:1->2:1->1:1 tx splits · 0fa057f8
      Debargha Mukherjee authored
      Currently 4:1 transforms have max 2 split levels:
      4:1 -> 1:1 -> 0.5:0.5.
      
      This refactor enables split levels:
      4:1 -> 2:1 -> 1:1,
      
      by simply changing the tables in common_data.h.
      
      The actual switch will be made in a subsequent patch.
      
      Change-Id: I33f8d9ca5159ba3e7d02ced449ddf6f804a8f12a
      0fa057f8
    • Jingning Han's avatar
      Constrain hash table access within tile boundary · 3de5353c
      Jingning Han authored
      Limit the prediction residual hash table access within the same
      tile. This resolves a data race issue across tiles in multi-threading
      encoding that triggers instable encoding results.
      
      BUG=aomedia:1088
      
      Change-Id: Ia4a415a0750bd60ee8ac4e56aa1cd39ec99e19c7
      3de5353c
  10. 07 Dec, 2017 6 commits
  11. 05 Dec, 2017 4 commits