1. 15 Jun, 2017 1 commit
    • Fergus Simpson's avatar
      frame_superres: Add aomenc argument · c4e78942
      Fergus Simpson authored
      Adds "superres-mode" and "superres-numerator" arguments to configure
      superres scaling.
      
      There are only two modes right now: SUPERRES_FIXED and SUPERRES_DYNAMIC.
      0 sets the fixed mode and 1 sets the dynamic mode.
      
      For the fixed mode superres will scale to the provided numerator where
      possible. The cumulative scale change over resizing and superres is
      limited to 1/2, so it may have to back off.
      
      For the dynamic mode, the provided numerator will be used as the initial
      numerator. Asides from that it's just random for now.
      
      Change-Id: Ibae01c77abba2599fbf51096459d09ddca458d4f
      c4e78942
  2. 14 Jun, 2017 1 commit
  3. 15 May, 2017 1 commit
    • Fergus Simpson's avatar
      frame-superres: Pre-encode downscaling · 3502d08b
      Fergus Simpson authored
      Adds handling needed for the pre-encode downscaling for superres
      encoding. Makes use of the existing resizing functionality, just
      adjusting the target resolution after the resize logic and before the
      resize has actually occurred.
      
      Since the upscaling portion of superres is not yet implemented, superres
      scaling is not yet allowed to trigger. The numerator is set to be equal
      to the denominator and the superres_pending flag is not set.
      
      Change-Id: Ia5dac752d653c3bda319f0c8196e95bac2c8c554
      3502d08b
  4. 26 Apr, 2017 1 commit
    • Yunqing Wang's avatar
      Add the motion vector unit test · ff4fa068
      Yunqing Wang authored
      This unit test was ported from VP9. To prevent the motion vector out of
      range bug, added a motion vector unit test. In the 4k video encoding,
      always forced to use extreme motion vectors and also encouraged to use
      INTER modes. In the decoding, checked if the motion vector was valid,
      and also checked the encoder/decoder mismatch.
      
      Change-Id: I1c72ea7c32a3cec9c67f1bbdc168e60507e57516
      ff4fa068
  5. 24 Apr, 2017 1 commit
    • Fangwen Fu's avatar
      Extend delta q with segments · 6160df29
      Fangwen Fu authored
      This is the first patch for ext_delta_q experiment.
      * Allow delta q to work with segment features
      
      Change-Id: I9455ebb3b5b23b41daa4afa1149672a20d3a3f2c
      6160df29
  6. 20 Apr, 2017 1 commit
    • Yunqing Wang's avatar
      ext_tile: add 2 tile encoding modes · d8cd55f4
      Yunqing Wang authored
      Added 2 tile encoding modes:
      TILE_NORMAL mode supports the large-scale tile coding up to 1024 x 1024
      tiles;
      TILE_VR mode supports the large-scale tile coding and also the decoding
      of a single tile.
      
      TILE_NORMAL mode allows the non-vr content to be encoded in multiple tiles
      without using the coding tool that are designed for vr applications.
      
      Change-Id: Id804806a1bbcb916b7f5dc7e2c5509d88f3defcb
      d8cd55f4
  7. 18 Apr, 2017 1 commit
    • Ralph Giles's avatar
      Don't export kMinCompressedSize. · 19944291
      Ralph Giles authored
      kMinCompressedSize was defined as a global constant, so it
      was exported by default and possibly causing duplicate
      symbol issues for applications. In particular, libvpx also
      exports this symbol.
      
      Instead, move the definition into the only function which
      references is. As a local variable it is hidden from the
      linker and not part of the global symbol table.
      
      Change-Id: If8b3bc4c487197237adb04749cd3dd4792e39893
      19944291
  8. 17 Apr, 2017 1 commit
    • Thomas Daede's avatar
      Remove rt deadline. · 8082614e
      Thomas Daede authored
      The "good" speed levels are universally better than the "rt" ones,
      running faster to achieve the same quality.
      
      rt mode also turned off alt refs and lag-in-frames, but these
      are still accessible separately (and the low latency test case
      explicitly sets them).
      
      Some features were used by the rt scale and not the good scale.
      Two additional "good" levels, 7 and 8, were added to accomidate
      these features and not reduce test coverage.
      
      Change-Id: I3a6a78ddb664511762c197bc41f3a9909665b565
      8082614e
  9. 12 Apr, 2017 1 commit
  10. 23 Mar, 2017 1 commit
  11. 21 Mar, 2017 1 commit
    • Thomas Daede's avatar
      Remove "best" deadline parameter from aomenc. · 6eca835f
      Thomas Daede authored
      This option increases runtime by 20% and is only marginally
      better than good cpu-used=0:
      
         PSNR | PSNR Cb | PSNR Cr | PSNR HVS |    SSIM | MS SSIM | CIEDE 2000
      -0.3382 | -0.3911 | -0.4875 |  -0.2982 | -0.2992 | -0.3164 |    -0.3686
      
      It is also not well integrated with speed_features.c, which is
      the main reason for the removal.
      
      Change-Id: If88c50367f63b860ad57f650869b978ec7734aad
      6eca835f
  12. 16 Mar, 2017 1 commit
    • Rostislav Pehlivanov's avatar
      Implement twopass support for the xiphrc system · 74021a5a
      Rostislav Pehlivanov authored
      This commit implements support for twopass encoding using the xiphrc
      experimental rate control system. Most of the code and logic comes
      from the theora project encoder.
      
      Currently support is limited to the bitrate targeting mode of the
      rate control system and while it does visibly improve quality and does
      bring rate closer to the target than the one pass mode there's still
      tuning and bug fixing to be done.
      
      Change-Id: Iae0d65bbce5ddfbb95b436e2238a43d6100a23b3
      74021a5a
  13. 17 Feb, 2017 1 commit
    • Rostislav Pehlivanov's avatar
      Implement a new rate control system · 002e7b7a
      Rostislav Pehlivanov authored
      This commit implements a new rate control system which was ported from
      Daala's rate control system (which was based off of Theora's rate
      control system) to the encoder. Its aim is to address the weaknesses of
      the current rate control system and eventually serve as its replacement.
      
      This is still work in progress. So far this commit only implements
      support for single pass encoding for constant quality and bitrate
      targeting.
      Additional commits which implement two-pass support and the rest to
      match the feature set of the current rate control system are coming
      soon.
      
      The rate control system hasn't been fully tuned (and will likely need
      additional tuning as the encoder's development progresses) and does
      contain some "hacks", to convert the quality to a quantizer value
      (empirical) and to tweak the quantizer in between golden frames (which
      uses some code from the current rate control system as well as code
      which attempts to model what that code does), the latter of which is
      only in the constant quality codepath.
      
      Bitrate targeting works much better than the current rate control
      system's targeting and will actually closely match the rate specified by
      the user without the current rate control system's bursty behaviour.
      
      Change-Id: I588fbfd2e80a3d21ce7176903115d6a96ef1700a
      002e7b7a
  14. 04 Feb, 2017 1 commit
  15. 03 Feb, 2017 2 commits
  16. 23 Jan, 2017 1 commit
  17. 19 Jan, 2017 1 commit
  18. 04 Jan, 2017 1 commit
    • Ryan Lei's avatar
      Add an experiment to disable lpf on tile boundaries · 7386eda0
      Ryan Lei authored
      This commit adds a new experiment to allow disabling of loop filtering
      on tile boundaries. It is implemented by adding a syntax field
      "loopfilter_across_tiles_enabled" into the uncompressed frame header. 
      If it is set to 0, decoder and encoder will disables loop filtering for
      block edges that are also tile boundaries.
      
      Change-Id: Ib80bfd82d49c74f1ba46ae18ceedb30704ac8aa5
      7386eda0
  19. 13 Dec, 2016 1 commit
  20. 10 Nov, 2016 1 commit
    • Thomas Davies's avatar
      Add options setting number of tile groups or MTU. · af6df175
      Thomas Davies authored
      Default MTU size is 0, which implies a fixed number
      of tile groups. MTU matching overrides fixed tile
      group. MTU matching will succeed unless a single
      tile is bigger than the MTU.
      
      --mtu-size is in bytes, and includes headers but
      not transport/wrapper overheads
      
      Change-Id: I2b70bd41b175b54273b02d836f2a84011f617a7c
      af6df175
  21. 09 Nov, 2016 1 commit
  22. 28 Oct, 2016 1 commit
    • Urvang Joshi's avatar
      RANGE_CHECK: "==" || ">" is simply ">=". · cd8ab904
      Urvang Joshi authored
      Also:
      - For unsigned ints, don't check value >= 0 as that is always true.
      - Add "-Wlogical-op" warning flag which would have warned that "logical
        'or' of collectively exhaustive tests is always true" before this
        patch.
      
      Change-Id: Idf3bd312464397f2df19256fc69b22f345dc7753
      cd8ab904
  23. 25 Oct, 2016 1 commit
  24. 24 Oct, 2016 2 commits
  25. 19 Oct, 2016 1 commit
  26. 30 Sep, 2016 1 commit
  27. 09 Sep, 2016 1 commit
  28. 02 Sep, 2016 1 commit
  29. 01 Sep, 2016 2 commits
  30. 16 Aug, 2016 1 commit
    • Yaowu Xu's avatar
      Port commits related to clpf and qm experiments · 0818a7c8
      Yaowu Xu authored
      Manually cherry-picked following commits from AOMedia git repository:
      bb2727c2 Sort includess for "clpf.h"
      c297fd00 Add quantisation matrix range parameters.
      0527894f Add encoder option and signaling for quant matrix control.
      4106232b Turn off trellis coding for quantization matrices.
      4017fca3 Modify tests to allow quantization matrices.
      1c122c24 Add quant and dequant functions for new quant matrices.
      95a89994 Enable CLPF
      f72782bb Fix a build issue
      73bae509 Add quantisation matrices and selection functions
      33208d20 Added support for constrained low pass filter (CLPF)
      
      Change-Id: I60fc1ee1ac40e6b9d1d00affd97547ee5d5dd6be
      0818a7c8
  31. 12 Aug, 2016 1 commit
  32. 10 Aug, 2016 1 commit
    • James Zern's avatar
      remove SVC · cc73e1fc
      James Zern authored
      spatial/temporal scalability are not supported in VP10 currently.
      + remove the unused vp10/encoder/skin_detection.[hc]
      
      this also enables DatarateTestLarge for VP10 which passes with no
      experiments enabled. these were removed previously when only the SVC
      tests should have been:
      134710af Disable tests not applicable to VP10
      
      Change-Id: I9ee7a0dd5ad3d8cc1e8fd5f0a90260fa43da387c
      cc73e1fc
  33. 04 Aug, 2016 1 commit
  34. 02 Aug, 2016 1 commit
  35. 17 Jun, 2016 1 commit
    • Zoe Liu's avatar
      Merge bi-predictive frames to EXT_REFS · 5805a14c
      Zoe Liu authored
      This patch removed the experiment of BIDIR_PRED and merged the feature
      into the experiment of EXT_REFS:
      
      (1) Each frame now has up to 6 reference frames, namely
          LAST_FRAME, LAST2_FRAME, LAST3_FRAME, GOLDEN_FRAME, (forward) and
          BWDREF_FRAME, ALTREF_FRAME (backward);
          LAST4_FRAME has been removed;
      (2) First pass still keeps the 8 updates:
          KF_UPDATE, LF_UPDATE, GF_UPDATE, ARF_UPDATE, OVERLAY_UPDATE, and
          BRF_UPDATE, LAST_BIPRED_UPDATE, BI_PRED_UPDATE;
      (3) show_existing_frame==1 is supported in the experiment of EXT_REFS;
      (4) New encoding modes are added for both single-ref and compound cases,
          through the use of the 2 extra forward references (LAST2 & LAST3)
          and the 1 extra backward reference (BWDREF).
      
      RD performance wise, using Overall PSNR: Avg/BDRate
              Bipred only      Prev EXT_REFS    Current EXT_REFS with bipred
      lowres: -3.474/-3.324    -1.748/-1.586    -4.613/-4.387
      derflr: -2.097/-1.353    -1.439/-1.215    -3.120/-2.252
      midres: -2.129/-1.901    -1.345/-1.185    -2.898/-2.636
      
      If in vp10/encoder/firstpass.h, change BFG_INTERVAL from 2 to 3, i.e. to
      use 2 bi-predictive frames than 1, a further improvement may be
      obtained:
                       Current EXT_REFS with bipred
              1 bi-predictive frame    2 bi-predictive frames
      lowres: -4.613/-4.387            -4.675/-4.465
      derflr: -3.120/-2.252            -3.333/-2.516
      midres: -2.898/-2.636            -3.406/-3.095
      
      Change-Id: Ib06fe9ea0a5cfd7418a1d79b978ee9d80bf191cb
      5805a14c
  36. 24 May, 2016 2 commits
    • Zoe Liu's avatar
      Added an experiment "bidir_pred" for backward prediction · cf5083d4
      Zoe Liu authored
      Major parts have been implemented as follows:
      (1) Added BRF_UPDATE, LASTNRF_UPDATE, and NRF_UPDATE in firstpass.c;
      (2) Added the handling for the scenario of
      "cpi->common.show_existing_frame == 1" at the encoder;
      (3) Added a new reference frame of BWDREF_FRAME;
      (4) Have bwd-ref work with upsampled references.
      
      Note that when the experiment of "ext_refs" turned on, this experiment
      will be turned off automatically currently.
      
      RD performance in Overall PSNR has been improved, compared against the
      VP10 baseline:
      
      lowres: Avg -3.312; BDRate -3.154
      derflr: Avg -1.927; BDRate -1.176
      midres: Avg -2.149; BDRate -2.001
      hdres : Avg -0.567; BDRate -0.588
      
      Change-Id: I4c06ff51cc20194bffbd4d2346e57ba3dcf6b62c
      cf5083d4
    • Zoe Liu's avatar
      Fix --test-decode=warn to test mismatch · a63147ae
      Zoe Liu authored
      This patch always compares the most recent show frames between
      the encoder and the decoder to test the mismatch.
      
      Change-Id: I68a91ad0996a598231450debfd616e24992419b5
      a63147ae