1. 23 Dec, 2017 1 commit
    • Sarah Parker's avatar
      Replace hbd adst4 with lbd adst4 · 95f52605
      Sarah Parker authored
      0.05% drop in performance for 10 bit
      0.03% drop in performance for 12 bit
      
      Updated relevant tests:
      - Use the fadst4 function from VP9 as the reference.
      - Update some max/avg error thresholds
      
      Change-Id: Ic8c5b591eea3309427d2bb42828d44e640f718a1
      95f52605
  2. 22 Dec, 2017 22 commits
    • Hui Su's avatar
      Palette: enable all partitions no larger than 64x64 · 8b618f62
      Hui Su authored
      Enable palette mode for
      4x4, 4x8, 8x4, 4x16, 16x4, 8x32, 32x8, 16x64, 64x16
      
      0.8% gain on screen_content keyframe coding.
      
      Change-Id: Ic3c089b74171ace9082a0d3ad9e27c8a27553789
      8b618f62
    • Debargha Mukherjee's avatar
      Add stage range configurations for fwd transforms · b31ff9b2
      Debargha Mukherjee authored
      Only the row transforms are needed since the forward transform
      is designed to do col first and then row. So the col transform
      can reuse the same configuration as the col transform of a
      square block of the same size.
      
      Change-Id: I35d88146d8f8afeb685e958cb8df447f4d2b7aa1
      b31ff9b2
    • 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
    • Sarah Parker's avatar
      Use new-quant lookup table in lv-map optimization · 3d75209a
      Sarah Parker authored
      Currently, optimize_txb does not use the new-quant
      lookup table when it updates the coefficients. This
      fixes the function to avoid a mismatch.
      
      With this patch, new-quant adds 0.28% gains on top of
      lv-map-multi on 40 frames of lowres.
      
      Change-Id: Ic4e76c28c7e4e007d277fe92b9030e078768bab3
      3d75209a
    • Zoe Liu's avatar
      Enable ext_skip by default · c70f6616
      Zoe Liu authored
      Change-Id: If84cd6da3f2ad9d989baac713e7bd1c50470acf1
      c70f6616
    • Sebastien Alaiwan's avatar
      decodeframe.c: simplify control flow · 86da7eba
      Sebastien Alaiwan authored
      Change-Id: I3faecc70004747a10cd51df9dbcb27b7c2d56703
      86da7eba
    • Yaowu Xu's avatar
      Make obu default again · 42659162
      Yaowu Xu authored
      This reverts commit b1bf64d5.
      
      Since the root cause of #1143 has been fixed.
      
      Change-Id: I067de02a0d8843e496613559adea126fc218d4dd
      42659162
    • Linfeng Zhang's avatar
      Add av1_get_nz_map_contexts_sse2() · 0ba23e86
      Linfeng Zhang authored
      10x - 50x faster than C code.
      
      av1_cost_coeffs_txb() is about 6% faster.
      
      av1_cost_coeffs() is about 3% faster.
      
      Change-Id: Ib9cbed02a65b9cb0c5deb7a5d99c95d0d8ba32c0
      0ba23e86
    • Linfeng Zhang's avatar
      Add av1_get_nz_map_contexts() · d67c13f8
      Linfeng Zhang authored
      Change-Id: I9228a10fb0c50010a64aeb2761771522f378f33e
      d67c13f8
    • Linfeng Zhang's avatar
      Skip av1_cost_coeffs_txb() when eob is 0 · c02b4112
      Linfeng Zhang authored
      Tested with 720p encoding and av1_cost_coeffs() saves 12% time.
      Tried inline av1_cost_coeffs_txb() first but has no help.
      
      Change-Id: Idb59de8563010be6f39e9c803ee2d5137c5160f7
      c02b4112
    • Debargha Mukherjee's avatar
      Make chroma loopfiltering tx_sizes consistent · 8aec7f30
      Debargha Mukherjee authored
      Removes existing inconsistencies between chroma tx_sizes
      used for chroma loopfiltering.
      Includes various refactoring to remove the uv_txsize_lookup
      array eventually.
      
      BUG=aomedia:1090
      
      Change-Id: Ib74299b41280ca3ebeaf9a9293242d531d68ad28
      8aec7f30
    • Debargha Mukherjee's avatar
      Option to disable small tx size for intra chroma · 80592c72
      Debargha Mukherjee authored
      This is essentially an implementation of Mozilla's big_chorma_tx
      proposal, and CFL is already using this.
      
      The option is turned on by default.
      Also includes some associated refactoring.
      
      AWCY Subset1 results:
      PSNR | PSNR Cb | PSNR Cr | PSNR HVS |    SSIM | MS SSIM | CIEDE 2000
      -0.0136 | -1.0317 | -1.3525 |  -0.0140 | -0.0188 | -0.0156 | -0.4665
      Link:
      https://beta.arewecompressedyet.com/?job=debargha-base-lvmap%402017-12-21T06%3A08%3A35.079Z&job=debargha-nosmltxi-lvmap%402017-12-21T06%3A10%3A57.767Z
      
      Also resolves the bug below:
      
      BUG=aomedia:1158
      
      Change-Id: I9b806b57c008b7a9bb79357f0bc44dbb091e5278
      80592c72
    • Ralph Giles's avatar
      Don't force inlining for msvc targets. · 1b63eb33
      Ralph Giles authored
      INLINE is defined as __forceinline for vs* configs, but is the
      normal, compiler-discretion inline for gcc/clang configs. This
      makes many functions very large when building for windows targets,
      much larger than they are elsewhere.
      
      Use '__inline' as a consistent definition to get consistent function
      sizes. Thanks to David Major for the diagnosis.
      
      Change-Id: Ibb4f7e3a58d65b844d65cbd2e487d9f9f4cedc91
      1b63eb33
    • Yunqing Wang's avatar
      Set AV1 convolve function pointers in JNT_COMP · 26b75145
      Yunqing Wang authored
      Set function pointers for AV1 convolve functions in JNT_COMP.
      
      Change-Id: I9042b09c7c0222660b18b3a9ebb1379fd05b52c8
      26b75145
    • Yue Chen's avatar
      Check tx_size before trying filter_intra in speed 3 setting · 4a8ea37b
      Yue Chen authored
      Bug=aomedia:1170
      
      Change-Id: I26a816c3d379ce0428967f2631c5c9282bf8f278
      4a8ea37b
    • Jingning Han's avatar
      Take out drl index control from opt-ref-mv · b4fc74da
      Jingning Han authored
      Removing the drl dependency on the candidate list length appears
      to incur more than 0.3% compression performance loss. Hence remove
      this option from opt-ref-mv to allow better latency vs compression
      performance trade off.
      
      Change-Id: I6edaeb2d437996082b7bdd6cda7351426c5584b9
      b4fc74da
    • Sebastien Alaiwan's avatar
      Move obu high-level to a dedicated file · e9644bee
      Sebastien Alaiwan authored
      Change-Id: I4630d402fccb645ae49da017aa56f5af56e25a11
      e9644bee
    • 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
    • Zoe Liu's avatar
      Add the syntax/decoder support for fwd-kf · a7c1b196
      Zoe Liu authored
      Forward-coded KEY_FRAME, served as a backward reference frame, is
      coded as intra-only. The show_existing_frame to show the buffered
      forward KEY_FRAME needs to reset the frame context as well as reset
      the reference frame buffer.
      
      One binary symbol, namely reset_decoder_state, is added to the frame
      header. Whenever a frame is a show_existing_frame, it reads out this
      binary symbol value from the bitstream. When this binary symbol is
      1, it indicates that the existing frame to show shall be an intra
      coded frame and will serve as a KEY_FRAME. The frame context is set
      to default and the reference buffer is updated the same way as a
      normal KEY_FRAME.
      
      Change-Id: I8b641220689459a104d2f5a03bbdb6820af8f990
      a7c1b196
    • Debargha Mukherjee's avatar
      Make space for range config for 2D transforms · 867f3120
      Debargha Mukherjee authored
      Change-Id: I62117adde6f403c02667903a31454b2e3cfea4aa
      867f3120
    • Yunqing Wang's avatar
      Set AV1 convolve function pointers · d790c809
      Yunqing Wang authored
      Set function pointers for AV1 convolve functions.
      
      Change-Id: I9241ef31fcd060a6b76e0cac8e2452b0207df929
      d790c809
    • Jingning Han's avatar
      Fix potential integer overflow in coeff dequant · 4e0b43e0
      Jingning Han authored
      This solves a potential integer overflow issue in the coefficient
      dequantization. It fixes an enc/dec mismatch issue.
      
      BUG=aomedia:1174
      
      Change-Id: Iea80f7fc2011ed35d2a44e360acd59cd8e85cf42
      4e0b43e0
  3. 21 Dec, 2017 17 commits
    • Urvang Joshi's avatar
      Swap new size 8 and 16 fwd/inv transforms for ADST · 4d5cf537
      Urvang Joshi authored
      This is to make them similar to the ones in VP9.
      
      Change-Id: Iaebf625f2dce4f159b8a8615f37003d773ee6450
      4d5cf537
    • 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
    • Luc Trudeau's avatar
      [CFL] SSE2/AVX2 versions of subtract_average · b4faea73
      Luc Trudeau authored
      Includes unit tests for conformance and speed.
      
      SSE2/CFLAverageSpeedTest:
      4x4: C time = 499 us, SIMD time = 156 us (~3.2x)
      8x8: C time = 1124 us, SIMD time = 221 us (~5.1x)
      16x16: C time = 4228 us, SIMD time = 620 us (~6.8x)
      32x32: C time = 8743 us, SIMD time = 2236 us (~3.9x)
      
      AVX2/CFLAverageSpeedTest:
      4x4: C time = 482 us, SIMD time = 180 us (~2.7x)
      8x8: C time = 1007 us, SIMD time = 227 us (~4.4x)
      16x16: C time = 3471 us, SIMD time = 324 us (~11x)
      32x32: C time = 8758 us, SIMD time = 1443 us (~6.1x)
      
      Change-Id: Id5ae80142a9764f388c0770ebcff4e46fa3a4dad
      b4faea73
    • Jingning Han's avatar
      Silence compiler warning · 0105c604
      Jingning Han authored
      Clear compiler warning when high bd is off.
      
      Change-Id: I46e35aa03ea7c50c8b98a75cd6d210b15ec5d9c4
      0105c604
    • Sebastien Alaiwan's avatar
      Inline function 'read_marker' · 64c23111
      Sebastien Alaiwan authored
      Change-Id: I7c06cf9050ebf3412860473ca16915c0fab580e5
      64c23111
    • Sebastien Alaiwan's avatar
      Drop support for decryption · 2b1ec180
      Sebastien Alaiwan authored
      This is a leftover from prior to media source extensions.
      Decryption in Chrome doesn't use this path.
      
      Change-Id: I95e07b5c93c380895bf017c7ebca4b2a0ca84949
      2b1ec180
    • Angie Chiang's avatar
      Fix unit test TestTell when lv_map is on · de849bdf
      Angie Chiang authored
      Change-Id: I9f09a186a1d8aee34acf1d4262c7bbe9917c2709
      de849bdf
    • 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
    • Zoe Liu's avatar
      Unify the check on decoder refresh_frame_flag · 47468d2f
      Zoe Liu authored
      For both KEY_FRAME and non-KEY_FRAME types, pbi->refresh_frame_flag has
      been set up accordingly. There is no need to further check on the frame
      type before using this flag.
      
      Change-Id: I909d367e2eb01b1b7f9c52f5c9cde5e6750d0de4
      47468d2f
    • Yue Chen's avatar
      Use SIMD function for smooth interintra blending · 592d19d0
      Yue Chen authored
      Tiny speedup: ~0.48%
      No performance change
      
      Change-Id: Icad3c3d25424a6570d1f134aa33d8d015e5b4a10
      592d19d0
    • Angie Chiang's avatar
      Remove all_zero check in read/write_inter_mode · ec9bebc1
      Angie Chiang authored
      This is a bitstream simplification.
      It will reduce motion vector context model generating latency.
      
      Change-Id: I98a496f5d72402ff51a478d5387a0653fa306dc1
      ec9bebc1
    • Jingning Han's avatar
      Fix clang warnings in lv-map/multi · 9480e7ba
      Jingning Han authored
      Change-Id: I6d7f2e51cff630acd88033f58931812052987c4b
      9480e7ba
    • Debargha Mukherjee's avatar
      Disable txfm domain dist for 64-pt transforms · d64e92c1
      Debargha Mukherjee authored
      Any 64-pt transforms only preserves half the coefficients.
      Therefore transform domain distortion is no longer valid
      for these transform sizes.
      
      BUG=aomedia:1170
      
      Change-Id: Ib99fad5497c766e2b9d2b432640c03cd49c99f50
      d64e92c1
    • Angie Chiang's avatar
      Fix jnt_comp compile error · 8d101833
      Angie Chiang authored
      Change-Id: I508c347f1e2f14cc6d6e36516aedac48a863ce4b
      8d101833
    • Steinar Midtskogen's avatar
      Add some missing unit tests for CDEF · 44a6c339
      Steinar Midtskogen authored
      Change-Id: Ia10411ad25ca058d7c7f99638d1820d2fda2a602
      44a6c339
    • Steinar Midtskogen's avatar
      Remove CDEF_SINGLEPASS defines · 8322ff04
      Steinar Midtskogen authored
      The experiment has been adopted and has been enabled by default for a
      while and the alternative code path has not been maintained for a long
      time, which is now removed.
      
      Change-Id: Iaf22f2969b45b71b2bf67707e131ab4c439b7fa6
      8322ff04
    • Debargha Mukherjee's avatar
      Remove DISABLE_VARTX_FOR_CHROMA = 2 option. · 27b5136f
      Debargha Mukherjee authored
      Removing code for this option since it is not better than the
      DISABLE_VARTX_FOR_CHROMA = 1 option and is more complex.
      
      Change-Id: Id39d23bc6130bbed0ac008c1c76a2ba5aaee4d22
      27b5136f