1. 21 Feb, 2018 7 commits
    • Zoe Liu's avatar
      Add encoder support for frame_refs_signaling · 6b172bba
      Zoe Liu authored
      Currently set cm->frame_refs_short_signaling as 0 by default. It will
      write the one extra bit to the frame header, and leave all the encoder
      setup the same as the baseline. It is in the TODO list for the encoder
      side implementation for cm->frame_refs_short_signaling == 1.
      Change-Id: Iabcc7618c9a52b7bb975b69e2d134f49a969944b
    • Imdad Sardharwalla's avatar
      Don't read chroma delta_lflevels in mono mode · f74b4abd
      Imdad Sardharwalla authored
      There are 4 delta_lflevels (FRAME_LF_COUNT=4), corresponding to 2 for the luma
      plane and 1 for each of the U and V planes. In monochrome mode we do not need
      to use/encode/decode the last two values, and so in this case the for loops all
      terminate at FRAME_LF_COUNT - 2 rather than FRAME_LF_COUNT.
      Change-Id: Ieb60cce9e39287a385e7f74d9009aac1f0f23e54
    • Sebastien Alaiwan's avatar
      aomenc: add an option to disable loop-restoration · 1ed20248
      Sebastien Alaiwan authored
      This mirrors the behavior of the corresponding option for CDEF.
      Change-Id: Ifbdacb1bedbde2fa740086593384567a2f44b342
    • Sebastien Alaiwan's avatar
      Remove experimental flag of LV_MAP · cad5ebce
      Sebastien Alaiwan authored
      This experiment has been adopted, we can simplify the code
      by dropping the associated preprocessor conditionals.
      Change-Id: Ic3438799335c6cd05f170302f49bd47e1f705c24
    • Hui Su's avatar
      Change to names of some intra modes · 69ae7b86
      Hui Su authored
      To match the corresponding prediction angle.
      Change-Id: I0441a0a25f165c1fdeb4eba915c6ca83b0514c4d
    • Joe Young's avatar
      [NORMATIVE][intra-edge2] Add header disable flag · db5eb4cd
      Joe Young authored
      Add a flag disable_intra_edge_filter in the uncompressed header
      of key/all-intra frames to disable corner, edge, and upsampling
      filter with ext-intra modes.
      This adds an experiment flag: intra_edge2
      Change-Id: I799b541a92f8bc928c8c34e918de89313c22efb9
    • Yaowu Xu's avatar
      Add initializations for stack arrays · 637586ec
      Yaowu Xu authored
      Change-Id: I8ca90f1b0d7dfe92078c611f66dcb19e70a6c1e0
  2. 20 Feb, 2018 6 commits
  3. 19 Feb, 2018 3 commits
    • Hui Su's avatar
      Add cdf_update_mode experiment · 1cb1c002
      Hui Su authored
      Allow the CDF update to operate in different modes, e.g. update vs no
      The update mode is transmitted in the uncompressed frame header of
      every keyframe and intra-only frame.
      This patch only adds bitstream signaling and API support. The
      implementation of the update modes will be in later patches.
      Change-Id: Ic9fcd60e8a75f9c01f414253823d78cf9b3113dd
    • Hui Su's avatar
      Reset filter-intra flag when intrabc is on · 8ea6e5bf
      Hui Su authored
      Change-Id: I19c49e5a5f0df0d767f156dcf006e5bf105bf6a0
    • Andrey Norkin's avatar
      [NORMATIVE] Film grain scale parameter · a840cde6
      Andrey Norkin authored
      Change-Id: I9cf4f0de4fb15295e4acbd8b511d93abd7897165
  4. 17 Feb, 2018 2 commits
    • Zoe Liu's avatar
      [NORMATIVE] Unify context design for single ref · 3b353474
      Zoe Liu authored
      The CL makes the context design for single reference frame coding the
      same as that for the compound reference frame coding. There are 3
      contexts designed for each of the binary symbols for the single
      reference frame scenario, and the designed contexts simply rely on the
      counts of the references used in the neighboring two blocks.
      Once this CL is merged, the coding of the reference frames, regardless
      of single prediction or compound prediction, will all follow the same
      context design pattern for all the binary symbols. The design logic is
      much simpler and the lines of code for each binary symbol context
      identification are reduced by 80%.
      Further, this CL has obtained a small coding gain for 30 frames with
      the default coding tools:
      lowres: avg_psnr -0.015%; ovr_psnr -0.021%; ssim -0.002%
      midres: avg_psnr -0.108%; ovr_psnr -0.139%; ssim -0.135%
      Change-Id: Ia72a1d18e85ac3a05308675b60b95f80f2219c46
    • Jingning Han's avatar
      Fix rate estimate when optimize_b is off · 70e0fdea
      Jingning Han authored
      Fix the rate cost count when the optimize_b route is set off in
      the rate-distortion optimization process. Thanks to pohhsu@microsoft
      for finding this issue and pointing the fix.
      Change-Id: I54d9ec8102792a1575fc66bc6be2003e94eeb488
  5. 16 Feb, 2018 7 commits
  6. 15 Feb, 2018 3 commits
    • Jingning Han's avatar
      Reduce blk_skip array size · ca3f0395
      Jingning Han authored
      Reduce the blk_skip array size to the maximum txb numbers in a
      coding block. This makes the speed 1 about 5% faster for smaller
      resolution clips.
      Change-Id: I1812dc4d403e08f0566ead8a14c6046e505bb849
    • Yaowu Xu's avatar
      Remove CONFIG_TX64X64 · d3d4159f
      Yaowu Xu authored
      The experiment is fully adopted.
      Change-Id: I6cc80a2acf0c93c13b0e36e6f4a2378fe5ce33c3
    • 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.
      Change-Id: I55c4c8ace72ab3fac9417da5cf803883be7efb84
  7. 14 Feb, 2018 9 commits
    • Linfeng Zhang's avatar
      Implement fdct4x8_new_sse2 and fadst4x8_new_sse2 · 043f4964
      Linfeng Zhang authored
      Change-Id: I9ab260c5ca31fe7e06bfc0f806893463c5255c45
    • Linfeng Zhang's avatar
      Implement fdct4x4_new_sse2 · 1fffc1f4
      Linfeng Zhang authored
      Change-Id: I5b905d54f7e551b15dac5f9cfd4e6d96e19d52c3
    • 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
    • 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
    • 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
    • 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
      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
      Change-Id: I689476fc2fa781dc8ec6fc8da91926cc8cfd3dc2
    • Yunqing Wang's avatar
      [NORMATIVE] Consolidate reference mv clamping · 3e225434
      Yunqing Wang authored
      Clamp_mv_ref happens in multiple places in ref_mv search, which can be
      convoluted as reported in issue 1124. This change is to consolidate
      the clamping into one place.
      Borg test result on lowres set:
      avg_psnr:    ovr_psnr:   ssim:
        0.000       0.000      0.001
      Change-Id: I1649d5b5f37683c9c30e493c6eed13a808ab543a
    • Zoe Liu's avatar
      Use the correct macro for the context number · 95dfd0bf
      Zoe Liu authored
      Change-Id: I94f739840b90688506ebf5a4e7cf355cd6fb75ed
    • Hui Su's avatar
      Remove if() that is always true in select_tx_block() · 85e75f15
      Hui Su authored
      And some cosmetic changes.
      Change-Id: Ibbc62bbb023d80ceee83120b4f6eb2a95b1d1a64
  8. 13 Feb, 2018 3 commits