1. 21 Feb, 2018 2 commits
    • 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
      cad5ebce
    • 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
      
      BUG=aom:1398
      
      Change-Id: I799b541a92f8bc928c8c34e918de89313c22efb9
      db5eb4cd
  2. 20 Feb, 2018 3 commits
    • Frederic Barbier's avatar
      Remove NEW_QUANT experiment · e111cba8
      Frederic Barbier authored
      This experiment has been abandonned for AV1.
      
      Change-Id: I924d172f7ce85b2422bace44684329fcbf71cb5e
      e111cba8
    • Zoe Liu's avatar
      [NORMATIVE] Add decoder support for frame_refs_signaling · b57fee02
      Zoe Liu authored
      One bit is added to the frame header, to signal whether the references
      for inter frames will be short-signaled.
      
      When the bit is set, only 6 bits are used at the frame header level to
      signal the choices of LAST_FRAME and GOLDEN_FRAME out of the eight
      buffered references. All the other 5 references will be specified
      using the frame offset info. Hence, compared to the baseline, the use
      of frame_refs_signaling provides 2 scenarios:
      
      (1) Reference short-signaling:
          3*7 - (1+3*2) = 14 bits are saved in the frame header;
      (2) Reference regular-signaling:
          1 bit is added to the frame header.
      
      BUG=aomedia:1392
      
      Change-Id: I2d4ff0e367a4df107235c1e7066dd28cb2c60431
      b57fee02
    • Yaowu Xu's avatar
      Remove CONFIG_EXT_QM · e11b68d1
      Yaowu Xu authored
      The experiment is now fully adopted.
      
      Change-Id: I09960ed25defae98d1c3e5ee8bc93691f79677ec
      e11b68d1
  3. 19 Feb, 2018 1 commit
    • 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
      update.
      
      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
      1cb1c002
  4. 15 Feb, 2018 1 commit
    • Yaowu Xu's avatar
      Remove CONFIG_TX64X64 · d3d4159f
      Yaowu Xu authored
      The experiment is fully adopted.
      
      Change-Id: I6cc80a2acf0c93c13b0e36e6f4a2378fe5ce33c3
      d3d4159f
  5. 14 Feb, 2018 2 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
    • 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
  6. 09 Feb, 2018 2 commits
  7. 07 Feb, 2018 1 commit
  8. 06 Feb, 2018 1 commit
    • Imdad Sardharwalla's avatar
      Move sb_size to sequence header · 4ec84aba
      Imdad Sardharwalla authored
      sb_size, mib_size and mib_size_log2 have been moved from the AV1_COMMON struct
      to the SequenceHeader struct, as they are sequence-level parameters. sb_size is
      now written to and read from the end of the sequence header.
      
      BUG=aomedia:996
      
      Change-Id: I9d450518a1b898677976acd80088b8ea9ee9d7ce
      4ec84aba
  9. 05 Feb, 2018 1 commit
    • Maxym Dmytrychenko's avatar
      Adding config file parsing implementation · cc6e0e16
      Maxym Dmytrychenko authored
      Parameters from config file will be added at --cfg options location to
      be processed
      
      Config file example:
       #ignore comment
       ext-partition   : 1 #ignore as well
       codec           : av1
       psnr            : ON
      
      Note(s):
          - Config file is a simple text file
          - Comment starts with hash(#)
            Can be full line or part of the line, after hash(#) details are
      ignored
          - Format: field : value
            colon(:) as delimeter, otherwise full line will be ignored
            Space(s) and tab(s) can be used, not inside field
          - long names for field are prefered
             existing --long_name option format
          - "no value" fields should contain ON as value
      
      Example of usage:
          aomenc --cfg=some.cfg src_filename
      
      Configurations support matrix:
      enable-ext-partition         : done
      enable-loop-restoration      : wip
      enable-deblocking            : wip
      ...
      
      Change-Id: Iad867c5d2da64271cdafa825c89f7d6444582f61
      cc6e0e16
  10. 01 Feb, 2018 1 commit
  11. 31 Jan, 2018 1 commit
  12. 29 Jan, 2018 2 commits
  13. 28 Jan, 2018 1 commit
    • David Michael Barr's avatar
      [CFL] allow for 4:1 rects if full tx available · d27f1e61
      David Michael Barr authored
      Disable CFL sub8x8 validation in this case, as it appears to give
      false-negatives for 4:1 blocks. All other tests pass.
      
      The coding gain on subset1 is quite significant.
      
         PSNR | PSNR Cb | PSNR Cr | PSNR HVS |    SSIM | MS SSIM | CIEDE 2000
      -0.1270 | -1.1386 | -1.1426 |  -0.1167 | -0.1157 | -0.1264 |    -0.4142
      
      Change-Id: Ic20c9b1a5ff28e0fbd4e6491ed2cd2d1f6b487c9
      d27f1e61
  14. 25 Jan, 2018 1 commit
    • Frank Bossen's avatar
      Do MV scaling on the fly for memory and run time reduction · 7b6bb947
      Frank Bossen authored
      This change is not normative and produces the same results as before.
      TPL_MV_REF data structure is about 5x smaller.
      Observed overall decoder run time reduction is about 4%.
      No observed change in encoder run time.
      
      Change-Id: Id68a492bac3bf28f48b7ceeedf85cd29981238ee
      7b6bb947
  15. 24 Jan, 2018 1 commit
  16. 23 Jan, 2018 4 commits
    • Yaowu Xu's avatar
      Remove Frame_ID_NUMBERS_PRESENT_FLAG · 6eb9da2c
      Yaowu Xu authored
      This commit replaces hard coded FRAME_ID_NUMBERS_PRESENT_FLAG with
      error_resilient_mode, which properly reflects the intention of the
      experiment, i.e. "signal the complete state of the reference buffer
      explicitly for each frame" to deal with possible frame losses.
      
      Change-Id: I7130c110d26c6a8e1cf1266c05482b768cf352f9
      6eb9da2c
    • Tom Finegan's avatar
      Revert "add scalability experiment" · 8695e987
      Tom Finegan authored
      This reverts commit 2eeadab1.
      
      Reason for revert: Did not address final review comments before landing.
      
      Change-Id: I29089767857bd20b3a3e42322e3887fb7027559d
      8695e987
    • Soo-Chul Han's avatar
      add scalability experiment · 2eeadab1
      Soo-Chul Han authored
      configure:  --enable-experimental --enable-scalability
      
      New applications:  scalable_encoder, scalable_decoder
      
      scalable_encoder:
        * Encodes inputs as 2-layer (same size) stream
        * Encodes as obu file (OBU_NO_IVF must be enabled)
        * Base layer encoded in IPPPP where P's reference
          only the previous (in time) base layer
        * Enhancement layer encoded using its base layer as
          sole reference frame
        * Base layer encoded with fixed high QP
        * Enhancement layer encoded with fixed low QP
      
      scalable_decoder:
        * Able to decode scalable stream generated by
          scalable_encoder
        * Able to decode any single-layer stream encoded
          by aomenc
        * Outputs base layer as out_lyr0.yuv, and enhancement
          layer (if they exist) as out_lyrN.yuv (N = 1, 2, 3, ..)
        * Able to decode N layers (more than 2)
      
      Change-Id: I8555735db71e5b9b6f900ffdf978e0ad6f6bfc00
      2eeadab1
    • Imdad Sardharwalla's avatar
      Don't calculate chroma data in monochrome mode · af8e2648
      Imdad Sardharwalla authored
      Encoder: Prior to this patch, some chroma data was calculated and
      later discarded when in monochrome mode. This patch ensures that
      the chroma planes are left uninitialised and that chroma
      calculations are not performed.
      
      Decoder: Prior to this patch, some chroma calculations were still
      being performed in monochrome mode (e.g. loop filtering). This
      patch ensures that calculations are only performed on the y
      plane, with the chroma planes being set to a constant.
      
      Change-Id: I394c0c9fc50f884e76a65e6131bd6598b8b21b10
      af8e2648
  17. 19 Jan, 2018 1 commit
    • David Barker's avatar
      obu: Use correct tile for CDF adaptation · 785d33a9
      David Barker authored
      Move the "largest tile size" value from read_tile_buffers()
      into the AV1_COMMON structure, so that it can be preserved across
      calls. Additionally, only reset the largest tile id once per frame,
      rather than once per tile group.
      
      BUG=aomedia:1245
      
      Change-Id: Ia9b96047bcd4e72b1bed24f78d2914505686262c
      785d33a9
  18. 18 Jan, 2018 2 commits
    • Debargha Mukherjee's avatar
      Temporary fix for failures with mono-video · 25e2663f
      Debargha Mukherjee authored
      Initialize all the 3 planes even if the video is monochrome.
      There were some unintended consequences with initializing
      only the luma plane for monochrome videos, which will be
      resolved subsequently.
      
      Change-Id: Id57445e3a5a62605511220600e749e662d080b49
      25e2663f
    • Yunqing Wang's avatar
      Remove compressed header related code · e7142e11
      Yunqing Wang authored
      Removed compressed header related code that is not used anymore.
      
      Change-Id: I8e4881ecf9a4e0a25bd59a456eab9815d4bdd418
      e7142e11
  19. 17 Jan, 2018 1 commit
    • Frank Bossen's avatar
      Move boundary info into separate data structure · 768d660e
      Frank Bossen authored
      Reduces cache misses in the decoder and hence reduces run time.
      Run time reduction has been measured to be about 15% for HD (1080p)
      content.
      
      Change-Id: Ic42de04e0943c0f89c856b61fe174dcea96af5e5
      768d660e
  20. 15 Jan, 2018 1 commit
    • Ralph Giles's avatar
      Mark AOM_QM matricies const. · 90243cf9
      Ralph Giles authored
      These large (200 KB) static stables are functionally read-only. Marking
      them const moves them to the read-only section of shared libraries,
      reducing memory footprint when multiple application processes are
      running simultaneously.
      
      Change-Id: I6b66ea8f512147f9762728ae01cea02a0fa71300
      90243cf9
  21. 13 Jan, 2018 1 commit
  22. 11 Jan, 2018 2 commits
  23. 10 Jan, 2018 1 commit
  24. 09 Jan, 2018 2 commits
  25. 08 Jan, 2018 2 commits
  26. 05 Jan, 2018 1 commit
  27. 27 Dec, 2017 1 commit