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
    • 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
  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
    • 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.
      Change-Id: I2d4ff0e367a4df107235c1e7066dd28cb2c60431
    • Yaowu Xu's avatar
      Remove CONFIG_EXT_QM · e11b68d1
      Yaowu Xu authored
      The experiment is now fully adopted.
      Change-Id: I09960ed25defae98d1c3e5ee8bc93691f79677ec
  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
      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
  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
  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.
      Change-Id: I0230474a50d43b78cb587a2b553da9ca78cec0c6
    • 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
  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.
      Change-Id: I9d450518a1b898677976acd80088b8ea9ee9d7ce
  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
          - Config file is a simple text file
          - Comment starts with hash(#)
            Can be full line or part of the line, after hash(#) details are
          - 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
  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
  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
  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
    • 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
    • Soo-Chul Han's avatar
      add scalability experiment · 2eeadab1
      Soo-Chul Han authored
      configure:  --enable-experimental --enable-scalability
      New applications:  scalable_encoder, scalable_decoder
        * 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
        * Able to decode scalable stream generated by
        * 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
    • 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
  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.
      Change-Id: Ia9b96047bcd4e72b1bed24f78d2914505686262c
  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
    • 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
  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)
      Change-Id: Ic42de04e0943c0f89c856b61fe174dcea96af5e5
  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
  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