1. 13 Dec, 2017 2 commits
    • Jingning Han's avatar
      Properly update the lv-map context in the RD loop · d7e99113
      Jingning Han authored
      Account for the txb_optimize effect on level map context modeling
      in the transform block rate distortion optimization search.
      Properly update such information in the txb hash rd cost.
      Change-Id: I16cf80c57fa37929f94291a7500d84f9e0778400
    • Hui Su's avatar
      tx block rd hash: fix tx block order · a4812acf
      Hui Su authored
      Previously the tx block order, i.e. the child index, was wrong for
      rectangular partition blocks.
      Re-eanbles tx rd hash for rectangular blocks, encoder speed up by 7%; no
      compression quality loss.
      Change-Id: I615b8c56744075088943d372e607c18795cedac4
  2. 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
    • Hui Su's avatar
      Fix floating point number error in palette RDO · 8265d70c
      Hui Su authored
      Change-Id: I130bc2087c32bd2d9087bf0dfe5919226f5fafa1
    • 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
    • Jingning Han's avatar
      Simplify logics in select_tx_type_yrd · 13c42779
      Jingning Han authored
      Remove unnecessary inter / intra condition check.
      Change-Id: I51b776a3df6ce45b31fe3d2f43fbf6ca7b1d14fb
    • 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
    • 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
    • Hui Su's avatar
      tx rd hash: store parent indices in mi resolution · cdb8983f
      Hui Su authored
      Change-Id: Ia069373be864cae7a283bce3d12ee10270e6beb3
    • 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.
      Change-Id: Ic2051a978eda5c8ce6a795a9d97d8d114c6edfe2
  3. 11 Dec, 2017 2 commits
  4. 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
    • Hui Su's avatar
      TX block hash: record the eob value · 8c2b913b
      Hui Su authored
      Change-Id: I0871c67d9a2ddc6aa9d3084f645305f6b74a999f
  5. 09 Dec, 2017 3 commits
  6. 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
    • 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.
      Change-Id: Ia4a415a0750bd60ee8ac4e56aa1cd39ec99e19c7
  7. 07 Dec, 2017 6 commits
  8. 05 Dec, 2017 5 commits
  9. 04 Dec, 2017 2 commits
    • 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
    • Angie Chiang's avatar
      Use macro to set txk_type · bce07f1c
      Angie Chiang authored
      This will make txk_sel support maximum bsize to 128x128
      Change-Id: I33941966cb1ae4406ac68a2124c859c833a084d8
  10. 02 Dec, 2017 5 commits
    • Hui Su's avatar
      intrabc: fix SB index calculation in RDO · 8de99a6e
      Hui Su authored
      It was wrong when ext-partition is on and sb_size=64, potentially causing
      big compression loss.
      Change-Id: I39cba439811bc0ab7c5532842887cf82bb3b5657
    • 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
    • Debargha Mukherjee's avatar
      Rd fix for returning skip correctly · 9c8decb5
      Debargha Mukherjee authored
      Change-Id: I7f108fce272b5bf416836d99430f07af801daada
    • Zoe Liu's avatar
      Overwrite frame level skip mode flag if no usage · 8a5d3437
      Zoe Liu authored
      Add a block level usage flag for skip mode. If no block has chosen the
      skip mode, the frame level flag for skip mode will be set off.
      This patch also includes a small code cleanup, including the check on
      whether the best RD mode is aligned with skip mode, if yes, the best
      RD mode will be replaced by skip mode.
      This patch slightly improves the coding performance of ext-skip.
      Change-Id: If06092d5e32f15e63dcb5f35d32e68bc0f827c2b
    • Angie Chiang's avatar
      Correct the skip rate in set_skip_flag for lv_map · 4639e080
      Angie Chiang authored
      Change-Id: I584694374a2468e0dcfe6e4fdb2582e5cae051ef
  11. 01 Dec, 2017 3 commits