1. 22 Dec, 2017 2 commits
    • Luc Trudeau's avatar
      [CFL] Code cleaning and Fix for TXK_SEL · 439ba638
      Luc Trudeau authored
      Small code cleaning and partially resolves issue 1171. I can't confirm
      that it's a complete fix because the code asserts further a long
      
      aomenc: ../av1/common/blockd.h:1064: av1_get_tx_type:
        Assertion `tx_type < TX_TYPES' failed.
      
      BUG=aomedia:1171
      
      Change-Id: I3f1c91d751e937dd8e07f7e2f786a75eba4b6891
      439ba638
    • Cheng Chen's avatar
      Remove lpf_sb · 07365c9a
      Cheng Chen authored
      As loopfilter is not needed for intrabc, clean up related code.
      
      Change-Id: If89d4969a7795cd8993e6add8fd03ef1296699ef
      07365c9a
  2. 21 Dec, 2017 2 commits
    • Hui Su's avatar
      intrabc: enable 16x4 and 4x16 blocks · eb2fd5c5
      Hui Su authored
      0.15% gain on the screen_content testset.
      
      BUG=aomedia:998
      
      Change-Id: Ia6484a90b92a00bb0073ecf988b5c164fe8ba84c
      eb2fd5c5
    • Hui Su's avatar
      Palette: modify the context slightly · c1f411bc
      Hui Su authored
      Use the number of pixels in a block as context, rather than the bsize
      itself. The rectangular blocks therefore share the same context, e.g.
      BLOCK_8X16 and BLOCK_16X8.
      
      The number of contexts is reduced from 10 to 7.
      Almost no coding performance changes.
      
      Change-Id: Ib3241194580c2b93ad0e953957cdc9188393d055
      c1f411bc
  3. 20 Dec, 2017 3 commits
  4. 19 Dec, 2017 4 commits
    • Zoe Liu's avatar
      Exclude distance-weighted prediction for ext-skip · 5664419e
      Zoe Liu authored
      For ext-skip, the use of distance-weighted prediction has only shown
      a coding gain in the AMCY low delay scenario. It is hence not being
      considered and compound-average is used exlusively.
      
      Change-Id: I57439eda1246e179d6404bbec366c6c610af3a36
      5664419e
    • Lei's avatar
      add new experiment loopfiltering_across_tiles_ext · 7bb501d5
      Lei authored
      based on the latest discussion in the HW working group about how loop
      filter should be integrated with tiles, the following decisions have been
      made:
      1. two seperated flages should be added for
      loop_filter_across_tiles_enabled for horizontal tile boundary and
      vertical tile boundary.
      2. encoder and decoder should only check these two flags to determine
      whether loop filtering (including deblocking, CDEF and loop restoration)
      should cross tile boundaries (vertical and/or horizontal) or not
      regardless the horitontal depepdent tile flag.
      
      This change list implemented the support for two seperated
      loop_filter_across_tiles_enabled flags for vertical and horizontal tile
      boundaries. The new experiment is disabled as default before it is
      adopted.
      
      Change-Id: I814377947517f5419c08b004a3b71b950d01eadd
      7bb501d5
    • Yue Chen's avatar
      Remove filter_intra mode info for UV plane · b0571874
      Yue Chen authored
      Change-Id: I92f73b78dfd0e25a61897e8b6e9e28ff210376d5
      b0571874
    • Sebastien Alaiwan's avatar
      Remove ADAPT_SCAN experiment · 23c511e7
      Sebastien Alaiwan authored
      This experiment has been abandonned for AV1.
      
      Change-Id: Ib3bb07d62f2025ce50dc9bc1b3f9fc22488519a7
      23c511e7
  5. 18 Dec, 2017 5 commits
    • Cheng Chen's avatar
      LPF_SB: make it work with seg and ext_delta_q · 5dcef7d2
      Cheng Chen authored
      Clean up unused code. Now lpf_sb works as baseline loop filter. It
      is compatible with seg feature and ext_delta_q.
      
      Change-Id: If5deb10d9f35cc3037463e7e8420bcd6b2b0255e
      5dcef7d2
    • Luc Trudeau's avatar
      [CleanUp] Remove block from av1_mode_context_analyzer · 15a18e3d
      Luc Trudeau authored
      av1_mode_context_analyzer is always called with block == -1.
      
      Change-Id: Ibc9e7e87ea95f3651f7505b82674a6fd795ae985
      15a18e3d
    • Yushin Cho's avatar
      [dist-8x8] Disable asserts with CFL turned on · d2f281ba
      Yushin Cho authored
      The dist-8x8 has asserts which check whether the sum of distortions of
      sub8x8 partitions exactly match to the distortion directly measured on 8x8 pixels.
      Currently, these asserts fail if CFL is turned on and the reason is unknown.
      Until it is fixed, disable those asserts.
      
      Change-Id: I27ea52f8f6f651360cd1adc740d3964cf4bf9869
      d2f281ba
    • Zoe Liu's avatar
      Expand skip mode support for all comp frames · 4b847e19
      Zoe Liu authored
      All compound predicted frames now have the choice to either turn on
      or off the use of the skip mode. The current encoder design only
      turns on the use of skip mode when the temporal distances of the two
      reference frames to the current frame are only different by 1.
      
      This patch also includes a fix on the calculating of the temporal
      distance between the two reference frames to the current frame for
      skip mode.
      
      Performance wise, this patch does not have noticeable impact as the
      encoder stays with the same choice with the frame-level skip mode
      flag.
      
      Change-Id: I34f370940b3b25d2ab429b8721344133ae6288ad
      4b847e19
    • Cheng Chen's avatar
      LPF_SB: cleanup unused functions and code path · 76224b0e
      Cheng Chen authored
      Since we've decided to use guess filter levels for lpf_sb, I remove
      unused searching functions and coding paths to make codebase clean
      and easy to manage.
      
      Change-Id: I3497add59fc1eaf36acdd0acb85e3bcb6486d01d
      76224b0e
  6. 16 Dec, 2017 3 commits
    • Zoe Liu's avatar
      Remove the unused code on frame_distortion · c79088fb
      Zoe Liu authored
      Change-Id: I965ba1e9a4e286769ed1d492950ca8d6f7c73678
      c79088fb
    • Jingning Han's avatar
      Properly update global motion counts · 909e0f60
      Jingning Han authored
      Unify the global motion count for all coding block sizes.
      
      Change-Id: Ifbbbe6ad74de0a40c9f3f4a96672f54a5b18dfc6
      909e0f60
    • 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
  7. 15 Dec, 2017 2 commits
  8. 14 Dec, 2017 3 commits
    • Urvang Joshi's avatar
      Remove a number of unused macros. · de750837
      Urvang Joshi authored
      Change-Id: I3e6b13dcb8e5b5cf6ff4ba8010fe65e43336d33f
      de750837
    • Sarah Parker's avatar
      Add option for optimize_b only in final encode · 251c9dcb
      Sarah Parker authored
      This adds a third option to the optimize_coefficients speed
      feature, which turns off optimize_b in the search but uses
      it in the final encode. This option is not currently being
      used by default.
      
      Change-Id: Ic10c9fd8ef16bc453f5e232733cda34d0ddb7692
      251c9dcb
    • 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
  9. 13 Dec, 2017 2 commits
  10. 12 Dec, 2017 2 commits
    • Cheng Chen's avatar
      Make lpf_sb work with loopfilter_level · 765e34e3
      Cheng Chen authored
      Make lpf_sb compatible with loopfilter_level, when USE_GUESS_LEVEL = 1.
      
      Filter levels will be selected based on q index and applied for
      filtering on Y, U, V planes separately.
      
      Current model only allows to guess one filter level.
      Now Y_vert = Y_horz = U = V. In the future, we need to retrain the
      model and get filter levels for Y_vert, Y_horz, U and V separately.
      
      When USE_GUESS_LEVEL = 0, lpf_sb can't work with loopfilter_level yet.
      
      Change-Id: Icd774a147c07a4035cf8204a8754b2a99668bbfd
      765e34e3
    • 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
  11. 11 Dec, 2017 5 commits
  12. 10 Dec, 2017 2 commits
    • Yushin Cho's avatar
      [dist-8x8] Fix for other chroma formats than 4:2:0 · ecab98b5
      Yushin Cho authored
      Instead of applying different offsets for each of quadri-split, horizontal split,
      vertical split, store the start addresses of src and dst 8x8 blocks in each of
      YUV palnes then pass it to distortion compute function for dist-8x8, dist_8x8_yuv().
      
      Also, don't save decoded pixels for 8x8 block in additinal buffer but directly
      access the xd->dst buffer. Thus removed the decoded-8x8[8x8] buffer in struct macroblock.
      
      However, this patch does NOT fix the case where dist-8x8's assert fails with
      CfL enabled.
      
      Fix part of issue (i.e. 4:4:4 chroma iput) in
      BUG=aomedia:1094
      
      Change-Id: I6399d0eef3e17cacc9ec6467480a7959c85d419b
      ecab98b5
    • Debargha Mukherjee's avatar
      Make set_txfm_ctx aware of 4:1 transforms · 59eaa51d
      Debargha Mukherjee authored
      This change was missing before.
      
      Change-Id: Ie8aecb8d51284b32a02d76f6f3de5f1c77a5f692
      59eaa51d
  13. 09 Dec, 2017 2 commits
    • Debargha Mukherjee's avatar
      Enable 4:1 -> 2:1 -> 1:1 splits for 4:1 transforms · e4e18fcc
      Debargha Mukherjee authored
      Also, splits the sub_tx_size_map array into inter and intra
      in order to enable the new 4:1 transforms for inter and
      intra separately.
      Includes refactoring such as removing the intra_tx_size_cat_lookup
      array since it is unnecessary, and consolidating the
      max_txsize_rect_lookup array for convenience.
      
      Change-Id: I112553bab612dafb973611c87f36a43e1ac4be85
      e4e18fcc
    • Rostislav Pehlivanov's avatar
      Change q_segmentation to spatial_segmentation · 938710cb
      Rostislav Pehlivanov authored
      Adds spatial prediction to standard segmentation instead of a separate
      segmentation feature.
      When using temporal prediction skipped blocks are flagged as mispredicted.
      
      Change-Id: I0c32281286d3fbce66d339c9247bcc6516f37a63
      938710cb
  14. 08 Dec, 2017 3 commits