1. 30 Nov, 2017 1 commit
    • Luc Trudeau's avatar
      [CFL] CfL Initialization Simplification · 1e84af52
      Luc Trudeau authored
      The CfL context is now stored inside MACROBLOCKD instead of
      MACROBLOCKD only storing a pointer to the CfL context.
      The intent is to avoid race conditions as MACROBLOCKD is stored
      inside ThreadData. This change also simplifies CfL Initialization.
      
      Change-Id: I991503716b21fc9aca60caddb2008b8bff397e6d
      1e84af52
  2. 29 Nov, 2017 1 commit
    • 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
  3. 23 Nov, 2017 1 commit
  4. 21 Nov, 2017 1 commit
  5. 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
  6. 17 Nov, 2017 3 commits
    • Zoe Liu's avatar
      Clean up decoder on NEWMV handling · 2854fe70
      Zoe Liu authored
      Change-Id: Idc72cff4ab9ba1691a7f5c72366a61be9569d370
      2854fe70
    • Yunqing Wang's avatar
      Reuse neighbor's warped motion parameters · 876a8b0b
      Yunqing Wang authored
      If a block's motion_mode is WARPED_CAUSAL and its mode is NEARESTMV, search
      its immediate above and left neighbors to get the set of neighbor blocks
      using WARPED_CAUSAL motion mode, pick the one with largest block size, and
      use that neighbor's warped motion parameters directly for the current block.
      If none of the neighbors uses WARPED_CAUSAL motion mode, we estimate the
      current block's warped motion parameters.
      
      Before this patch, for every block, we estimate its warped motion parameters.
      With this patch, we reduce the number of blocks doing parameter estimation.
      Here are results by testing on clips with camera motions.
                          WARPED_CAUSAL blocks   blocks reusing parameters
      station2_240p(30f):     3857                    1678
      netflix_arieal(30f):     692                     223
      
      No noticable changes in coding gain. Borg test result showed a PSNR
      change of +0.006% on cam_lowres set, and -0.014% on lowres set.
      
      Change-Id: If12387ad0ca8a1996ea4c3f1bedcb269ebf78c6c
      876a8b0b
    • Hui Su's avatar
      Remove prob table entries and counters for new mv · 21b67229
      Hui Su authored
      Change-Id: Ifa2cdc2d2230dfa11396ee3e547653180f96b795
      21b67229
  7. 16 Nov, 2017 1 commit
  8. 15 Nov, 2017 4 commits
  9. 14 Nov, 2017 2 commits
  10. 13 Nov, 2017 2 commits
    • Yue Chen's avatar
      Fix inefficient coding of filter_intra modes · 4eba69bb
      Yue Chen authored
      Include a few RDO fixes that properly account for the extra flag
      cost at the right place. Also entropy coding of the flag is made
      contexted on tx_size and based on cdf framework.
      
      Change-Id: I52f98ace7e253ccc08917a4a7b517515d1d58a98
      4eba69bb
    • Debargha Mukherjee's avatar
      Change tx_size encoding for intra modes · 6147b1b6
      Debargha Mukherjee authored
      Conveys depth from the largest transform size instead of the
      actual transform size. Besides, the max depth is now limited
      by the macro MAX_TX_DPETH set at 2.
      
      Results: BDRATE lowres (30 frames): -0.005%
      
      Change-Id: I1ccbac8ee18c77b816a6a8f500abfaa7892b21de
      6147b1b6
  11. 10 Nov, 2017 4 commits
    • Debargha Mukherjee's avatar
      MV entropy coding fixes and clean ups. · 62fcfab0
      Debargha Mukherjee authored
      Consistently uses cdfs for all mv symbols, and resolves
      some inconsistencies.
      
      All the legacy code dealing with probabilities and counts
      can now be removed.
      
      BDRATE (lowres 30 frames): -0.04% (a slight improvement).
      
      Change-Id: Ie27c8e3594e60080e4d155a3ea11c320caa1d85d
      62fcfab0
    • Cheng Chen's avatar
      JNT_COMP: Support new_multisymbol · 46970619
      Cheng Chen authored
      Support cdf for jnt_comp read/write.
      
      Change-Id: I2c29277a8b06b3e9f571355946b70ce0d492fbb2
      46970619
    • Cheng Chen's avatar
      JNT_COMP: turn off for one_sided_compound · 060e192b
      Cheng Chen authored
      One_sided_compound is less likely to provide gains for jnt_comp.
      Stop jnt_comp search when one_sided_compound is true. It saves coding
      time as well as bit overhead.
      
      Change-Id: I6714e5d211eba14a5793bdae7215ccfcc1d8f67a
      060e192b
    • Hui Su's avatar
      Do not allow palette mode for partition sizes larger than 64x64 · 473cf898
      Hui Su authored
      Tested on screen_content, it has very little impact on compression quality.
      
      Change-Id: I49c7d5e8de8420c0d2af1b327c084a2667cfea40
      473cf898
  12. 09 Nov, 2017 1 commit
    • Rostislav Pehlivanov's avatar
      Add the q_segmentation experiment · f624dd5a
      Rostislav Pehlivanov authored
      This experiment implements low-cost delta q signalling on a per-block basis
      for all non-inter frame types, which would allow for more efficient AQ
      which bases its decisions on temporal information.
      
      Based on an Intel proposal from March.
      
      Change-Id: I18e73d8b12f4caa0b165df12c58ab506271bec03
      f624dd5a
  13. 08 Nov, 2017 2 commits
    • Zoe Liu's avatar
      Remove ONE_SIDED_COMPOUND experimental flag · c01dddb7
      Zoe Liu authored
      Always assume ONE_SIDED_COMPOUND is true as it has been adopted
      officially. Further, this patch also fixes the cmake setup for
      the experiment of EXT_COMP_REFS, as when EXT_COMP_REFS is on, it
      shall always have ONE_SIDED_COMPOUND on (but that was not the case
      without this patch).
      
      We leave EXT_COMP_REFS for the time being, even though it is also
      adopted, since by keeping this flag, it may allow its turning off to
      tune the encoder speed. The experiment of EXT_COMP_REFS should be
      removed eventually at the closing of the bitstream.
      
      Change-Id: I0644318e522f5b48d5bba4e4391104a24d43cdc3
      c01dddb7
    • Sebastien Alaiwan's avatar
      Cleanup unreachable statement · fcebd49e
      Sebastien Alaiwan authored
      Change-Id: I48f45d47123c3eeea0684a5652bffec499408095
      fcebd49e
  14. 07 Nov, 2017 2 commits
  15. 06 Nov, 2017 1 commit
    • Sebastien Alaiwan's avatar
      Accept all global motion model settings · 8d88b297
      Sebastien Alaiwan authored
      When needed, fallback regular interp filter at reconstruction stage.
      
      Such bitstreams are valid.
      However, as we don't expect aomenc to generate them,
      print a helper warning.
      
      Change-Id: I7e818cf607d7d6f71df4ca7878d8976fb88c3282
      8d88b297
  16. 05 Nov, 2017 1 commit
  17. 04 Nov, 2017 1 commit
  18. 03 Nov, 2017 3 commits
    • Yunqing Wang's avatar
      Allow to disable the probability update · 0e141b56
      Yunqing Wang authored
      Added the function of allowing to disable the probability update while
      needed. This would be needed while encoding in multiple tiles, and
      enabling/disabling probability update can be set separately for every
      individual tile.
      
      Change-Id: Ic3c64e6cebac89c483d48b874761bd2e902d81e6
      0e141b56
    • 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
    • Sebastien Alaiwan's avatar
      Remove VAR_REFS experiment · 4be6cb32
      Sebastien Alaiwan authored
      This experiment has been abandonned.
      
      Change-Id: Ieabc6f365651e2d116a4505a3cc202add94d1386
      4be6cb32
  19. 02 Nov, 2017 2 commits
  20. 01 Nov, 2017 6 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
    • 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
    • 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
    • Pavel Frolov's avatar
      Fix delta_qindex signalling · bfa2b8ce
      Pavel Frolov authored
      BUG=aomedia:992
      
      Change-Id: Ibac542608d9abd669d0e8cf871960b2cf0a6da6a
      bfa2b8ce
    • 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