1. 16 Jul, 2018 1 commit
  2. 20 Jun, 2018 1 commit
  3. 07 Jun, 2018 1 commit
  4. 06 Jun, 2018 1 commit
  5. 04 Jun, 2018 1 commit
  6. 01 Jun, 2018 2 commits
  7. 11 May, 2018 1 commit
  8. 30 Apr, 2018 9 commits
  9. 15 Feb, 2018 7 commits
    • Debargha Mukherjee's avatar
      Stop using VP9 convolve scheme in AV1 encoder. · 1fc3df55
      Debargha Mukherjee authored
      Discontinue all VP9 style convolve rounding operations in the non-normative
      parts of the encoder.
      
      The function av1_convolve_2d_sr_c is forced instead of SIMD versions
      of the same function, because of incompatibility when round_1 > 0.
      
      In the -DCONFIG_LOWPRECISION_BLEND=2 -DCONFIG_HIGHPRECISION_INTBUF=1
      setting, results on 15 frames of lowres (cpu-used=1) is -0.019% better.
      
      Change-Id: I72154bd896357c352c944fb2cd3b25bafafba46a
      1fc3df55
    • Dominic Symes's avatar
      film-grain: fix buffer overflow · aa5904ba
      Dominic Symes authored
      When bit_depth is 8 the copy_rect function was setting the size to
      2 bytes per sample. This causes a buffer overflow as each line copied
      in the loop is twice the number of bytes it should be and the last
      line writes off the end of the buffer.
      
      BUG=aomedia:1389
      
      Change-Id: Ib9fa11d1dd13806dedbce2cd47dd8d562007428d
      aa5904ba
    • David Barker's avatar
      [NORMATIVE-SYNTAX, intrabc] Disallow intrabc+superres · 218556e2
      David Barker authored
      Superres should not be used together with intrabc, for the same
      reasons why the other loop filters are disabled when intrabc is
      used. However, we actually read superres information first,
      so the simplest change is to only read allow_intrabc if superres is off.
      
      BUG=aomedia:1384
      
      Change-Id: I55c4c8ace72ab3fac9417da5cf803883be7efb84
      218556e2
    • Yaowu Xu's avatar
      align a stack array to prevent segfault · 1e2084a2
      Yaowu Xu authored
      BUG=aomedia:1383
      
      Change-Id: I8c3de068fd158b4706b578f7609c8ef939364525
      1e2084a2
    • Luc Trudeau's avatar
      [CFL] SSE2/AVX2 Versions of Sum and Subtract Average · 365f73bb
      Luc Trudeau authored
      Includes unit tests for conformance and speed.
      
      SSSE2/CFLSubAvgTest
      4x4: C time = 234 us, SIMD time = 152 us (~1.5x)
      8x8: C time = 664 us, SIMD time = 208 us (~3.2x)
      16x16: C time = 1687 us, SIMD time = 581 us (~2.9x)
      32x32: C time = 6118 us, SIMD time = 2119 us (~2.9x)
      
      AVX2/CFLSubAvgTest
      4x4: C time = 250 us, SIMD time = 221 us (~1.1x)
      8x8: C time = 683 us, SIMD time = 284 us (~2.4x)
      16x16: C time = 1727 us, SIMD time = 1091 us (~1.6x)
      32x32: C time = 6092 us, SIMD time = 2107 us (~2.9x)
      
      Change-Id: I44ffedc683829d2c16089854ac43d4ddb4415bcd
      365f73bb
    • Andrey Norkin's avatar
      [NORMATIVE] Film grain bug-fixes · 2e8ae05c
      Andrey Norkin authored
      BUG=aomedia:1366
      BUG=aomedia:1368
      
      Change-Id: I63f84dca86ca426b9c6927b056657741022d5f68
      2e8ae05c
    • Angie Chiang's avatar
      Simplify the for loop of reading lower levels · 1b1c4a3c
      Angie Chiang authored
      Move tcoeff reconstruction from the for loop of reading lower
      levels to the loop of reading signs
      
      This is to facilitate the potential simd optimization of
      reading lower levels
      
      Change-Id: I61e41ea95d30a948243fb13e3d708dd9860a058a
      1b1c4a3c
  10. 14 Feb, 2018 16 commits
    • David Barker's avatar
      [NORMATIVE-DECODING] Fix above/left chroma block selection · d3afdb90
      David Barker authored
      As pointed out by rsbultje, my previous patch to is_smooth()
      (a883e6ea) was not quite correct. This is because, when we're
      making a chroma prediction, the uv_mode for the above/left chroma
      predictions is not necessarily in above_mbmi/left_mbmi. Instead,
      it may be in any of several places, depending on subsampling and
      the values of mi_row/mi_col.
      
      The cleanest solution is to explicitly maintain pointers to the
      above and left chroma blocks. Then we can simply look at those
      pointers when we want to know the above or left uv_mode.
      
      Also include a bit of refactoring of get_filt_type: It seems
      to be recalculating what's already in xd->{above,left}_mi,
      so just use those directly.
      
      BUG=aomedia:1362
      
      Change-Id: I0230474a50d43b78cb587a2b553da9ca78cec0c6
      d3afdb90
    • Cheng Chen's avatar
      Fix jnt_comp in warp function · 5c4848d6
      Cheng Chen authored
      Fixed a bug in jnt_comp simd function.
      Re-write the function based on existing av1_warp_affine_ssse3.
      The function is almost the same as av1_warp_affine_ssse3, only
      difference is the weighted computation of final value.
      
      Change-Id: I65f2fadc9142f6c264a7d0e59250602636c9808b
      5c4848d6
    • Peng Bin's avatar
      Refactor inv_cos_bit for speedup · 28744b5c
      Peng Bin authored
      Replace the last parameter cos_bit for all 1D inv_txfm funcions with
      a macro define, as it is actually always equal to 12. By changing it
      to const value, compiler can do further optimization.
      
      Change-Id: If8a9fd99c7ac7eb6f485dafbce22b4803efda62e
      28744b5c
    • Linfeng Zhang's avatar
      Implement fdct4x8_new_sse2 and fadst4x8_new_sse2 · 043f4964
      Linfeng Zhang authored
      Change-Id: I9ab260c5ca31fe7e06bfc0f806893463c5255c45
      043f4964
    • Linfeng Zhang's avatar
      Implement fdct4x4_new_sse2 · 1fffc1f4
      Linfeng Zhang authored
      Change-Id: I5b905d54f7e551b15dac5f9cfd4e6d96e19d52c3
      1fffc1f4
    • Linfeng Zhang's avatar
      Enable av1_lowbd_fwd_txfm2d_4x8_sse2 · 686c5979
      Linfeng Zhang authored
      Forgot to put it in the function table.
      
      Change-Id: I86192158f74df84fca6c4a3dbda8b01659f6c9bd
      686c5979
    • Linfeng Zhang's avatar
      Implement av1_lowbd_fwd_txfm2d_8x4_sse2 · 7bd00743
      Linfeng Zhang authored
      So far the implemented av1_lowbd_fwd_#x#_sse2 provides 10% encoder
      speed up on speed 1.
      
      Change-Id: I3dab438c4498059262b065300743ba1519db64b4
      7bd00743
    • Michelle Findlay-Olynyk's avatar
      hash_based_trellis speed feature update · dea531da
      Michelle Findlay-Olynyk authored
      Add speed feature that uses hash tables to
      reuse deltas from previously found optimized
      coefficients in av1_optimize_txb. This skips some
      expensive optimize_txb calls.
      
      Work stopped (no current benefit):
      Current setup has worse speed (~1%), and is
      turned off by default in speed_features.c.
      Overall PSNR was ~0.1% worse. See
      go/hashBasedTrellis for feature details.
      
      Requires hash_me.
      
      Change-Id: Id12ada82984ea6682e2b6f27534fa57f3a3abb4a
      dea531da
    • Ola Hugosson's avatar
      [NORMATIVE] Enable CONFIG_EXT_INTRA_MOD2 by default · 63f1216a
      Ola Hugosson authored
      CONFIG_EXT_INTRA_MOD2 was provisionally adopted 16th of January
      
      Change-Id: I11f96cdff29a772813f0cc7cd4cae684e9a07448
      63f1216a
    • Peng Bin's avatar
      Refactor pair_set_epi16 for speedup · 8b8aaffc
      Peng Bin authored
      Use _mm_set1_epi32 instead of _mm_set_epi16, less instructions produced
      by compiler. This patch also removes the duplicate define of the same
      function.
      
      Speed test results:
      1. Unittest for each test cases in SSE2/AV1LbdInvTxfm2d shows 60%~80%
      speedup (except those case with TX_TYPE include iidentity)
      2. A brief speed test shows that with this CL, for speed1 encoder speeds up
      ~3% and decoder speeds up ~1.8%.
      (Baseline is 18976fa5)
      
      Change-Id: I2b0e12973fda05a21d6b6eb0f0efe11df6edfb84
      8b8aaffc
    • Yaowu Xu's avatar
      Remove unused variables · cbfffa8e
      Yaowu Xu authored
      Change-Id: I5290f94da6c1a0319357f84b2ec70b4331a0e4af
      cbfffa8e
    • Yaowu Xu's avatar
      Remove two more LPF macros · 8ec5c077
      Yaowu Xu authored
      Change-Id: I60278e399f4f65aa63526e459947e88084f0e889
      8ec5c077
    • Yaowu Xu's avatar
      Remove CONFIG_PARALLEL_DEBLOCKING · 6d0ed3ed
      Yaowu Xu authored
      The experiment is fully adopted now.
      
      Change-Id: I27906d2af4c746ce55aa17f64d1c0ef281e23ab2
      6d0ed3ed
    • Imdad Sardharwalla's avatar
      Increase seg_feature_data_max[SEG_LVL_REF_FRAME] · e4cf4fa4
      Imdad Sardharwalla authored
      Previously, segments using SEG_LVL_REF_FRAME were unable to signal the choices
      of GOLDEN = 4, BWDREF = 5, ALTREF2 = 6 and ALTREF = 7, as
      seg_feature_data_max[SEG_LVL_REF_FRAME] was set to 3. This patch increases the
      value to 7 to account for these options.
      
      BUG=aomedia:951
      
      Change-Id: I9732fa2be96ead2d4b6efdbce34a92e43c7dd04e
      e4cf4fa4
    • Imdad Sardharwalla's avatar
      Prevent undefined behaviour for AMVR experiment · bf2cc016
      Imdad Sardharwalla authored
      Sequences starting with intra-only frames previously resulted in undefined
      behaviour with CONFIG_AMVR == 1, as seq_force_integer_mv was only read for
      keyframes.
      
      This patch makes changes as follows:
      
      - The syntax element force_screen_content_tools has been added to the
        SequenceHeader struct, and is read and written correspondingly
      
      - seq_force_integer_mv has been renamed to force_integer_mv and moved to the
        SequenceHeader struct, and is read and written correspondingly (provided that
        force_screen_content_tools != 0)
      
      - The conditional reading/writing of allow_screen_content_tools now happens for
        every frame after reading/writing error_resilient_mode (CONFIG_OBU == 1) or
        the sequence header (CONFIG_OBU == 0)
      
      - The conditional reading/writing of cur_frame_force_integer_mv now happens for
        every frame after reading/writing allow_screen_content_tools
      
      BUG=aomedia:1048
      
      Change-Id: I689476fc2fa781dc8ec6fc8da91926cc8cfd3dc2
      bf2cc016
    • Yunqing Wang's avatar
      Remove redundancy code · 8da5addb
      Yunqing Wang authored
      Removed redundancy code in ref_mv finding.
      
      Change-Id: I4f9d0257a217e764cce820c01d66985778010de7
      8da5addb