1. 06 Jan, 2017 1 commit
  2. 04 Jan, 2017 1 commit
  3. 07 Dec, 2016 1 commit
  4. 07 Nov, 2016 1 commit
    • Yushin Cho's avatar
      New experiment: Perceptual Vector Quantization from Daala · 77bba8d3
      Yushin Cho authored
      PVQ replaces the scalar quantizer and coefficient coding with a new
      design originally developed in Daala. It currently depends on the
      Daala entropy coder although it could be adapted to work with another
      entropy coder if needed:
      ./configure --enable-experimental --enable-daala_ec --enable-pvq
      
      The version of PVQ in this commit is adapted from the following
      revision of Daala:
      https://github.com/xiph/daala/commit/fb51c1ade6a31b668a0157d89de8f0a4493162a8
      
      More information about PVQ:
      - https://people.xiph.org/~jm/daala/pvq_demo/
      - https://jmvalin.ca/papers/spie_pvq.pdf
      
      The following files are copied as-is from Daala with minimal
      adaptations, therefore we disable clang-format on those files
      to make it easier to synchronize the AV1 and Daala codebases in the future:
       av1/common/generic_code.c
       av1/common/generic_code.h
       av1/common/laplace_tables.c
       av1/common/partition.c
       av1/common/partition.h
       av1/common/pvq.c
       av1/common/pvq.h
       av1/common/state.c
       av1/common/state.h
       av1/common/zigzag.h
       av1/common/zigzag16.c
       av1/common/zigzag32.c
       av1/common/zigzag4.c
       av1/common/zigzag64.c
       av1/common/zigzag8.c
       av1/decoder/decint.h
       av1/decoder/generic_decoder.c
       av1/decoder/laplace_decoder.c
       av1/decoder/pvq_decoder.c
       av1/decoder/pvq_decoder.h
       av1/encoder/daala_compat_enc.c
       av1/encoder/encint.h
       av1/encoder/generic_encoder.c
       av1/encoder/laplace_encoder.c
       av1/encoder/pvq_encoder.c
       av1/encoder/pvq_encoder.h
      
      Known issues:
      - Lossless mode is not supported, '--lossless=1' will give the same result as
      '--end-usage=q --cq-level=1'.
      - High bit depth is not supported by PVQ.
      
      Change-Id: I1ae0d6517b87f4c1ccea944b2e12dc906979f25e
      77bba8d3
  5. 04 Nov, 2016 1 commit
    • Yushin Cho's avatar
      New experiment: Perceptual Vector Quantization from Daala · 09705fe7
      Yushin Cho authored
      PVQ replaces the scalar quantizer and coefficient coding with a new
      design originally developed in Daala. It currently depends on the
      Daala entropy coder although it could be adapted to work with another
      entropy coder if needed:
      ./configure --enable-experimental --enable-daala_ec --enable-pvq
      
      The version of PVQ in this commit is adapted from the following
      revision of Daala:
      https://github.com/xiph/daala/commit/fb51c1ade6a31b668a0157d89de8f0a4493162a8
      
      More information about PVQ:
      - https://people.xiph.org/~jm/daala/pvq_demo/
      - https://jmvalin.ca/papers/spie_pvq.pdf
      
      The following files are copied as-is from Daala with minimal
      adaptations, therefore we disable clang-format on those files
      to make it easier to synchronize the AV1 and Daala codebases in the future:
       av1/common/generic_code.c
       av1/common/generic_code.h
       av1/common/laplace_tables.c
       av1/common/partition.c
       av1/common/partition.h
       av1/common/pvq.c
       av1/common/pvq.h
       av1/common/state.c
       av1/common/state.h
       av1/common/zigzag.h
       av1/common/zigzag16.c
       av1/common/zigzag32.c
       av1/common/zigzag4.c
       av1/common/zigzag64.c
       av1/common/zigzag8.c
       av1/decoder/decint.h
       av1/decoder/generic_decoder.c
       av1/decoder/laplace_decoder.c
       av1/decoder/pvq_decoder.c
       av1/decoder/pvq_decoder.h
       av1/encoder/daala_compat_enc.c
       av1/encoder/encint.h
       av1/encoder/generic_encoder.c
       av1/encoder/laplace_encoder.c
       av1/encoder/pvq_encoder.c
       av1/encoder/pvq_encoder.h
      
      Known issues:
      - Lossless mode is not supported, '--lossless=1' will give the same result as
      '--end-usage=q --cq-level=1'.
      - High bit depth is not supported by PVQ.
      
      Change-Id: I1ae0d6517b87f4c1ccea944b2e12dc906979f25e
      09705fe7
  6. 25 Oct, 2016 2 commits
  7. 24 Oct, 2016 1 commit
    • David Barker's avatar
      Fix a bug when combining new-quant + supertx · d7d78c83
      David Barker authored
      Previously, we assumed that av1_init_plane_quantizers is always called with
      segment_id == xd->mi[0]->mbmi.segment_id (and use the latter to derive the value
      of 'qindex' to use in the quantizer). But this is no longer true when supertx
      is enabled. This patch instead remembers the value of 'qindex' derived from
      the latest call to av1_init_plane_quantizers and uses that directly.
      
      Change-Id: Ifa1c5bf74cad29942ff79b88ca92c231bc07f336
      d7d78c83
  8. 21 Oct, 2016 1 commit
    • Jingning Han's avatar
      Allow frame level tx_mode switch · 9777afc3
      Jingning Han authored
      Check the encoding statistics. If all the coding blocks use the
      max transform size, skip transform size coding in the frame header.
      
      Change-Id: I31cb16314e87f945d7e95a34a90a5536b3ed82d5
      9777afc3
  9. 19 Oct, 2016 1 commit
  10. 18 Oct, 2016 1 commit
  11. 17 Oct, 2016 1 commit
    • Yue Chen's avatar
      Refactor motion estimation in MOTION_VAR experiment · e9638ccf
      Yue Chen authored
      To get ready for pulling AV1 to nextgenv2. Refactoring is done to
      make the code structures similar, especially for the motion search
      part.
      
      Change-Id: I5d7636394408d97de55394d668540f5627827983
      e9638ccf
  12. 14 Oct, 2016 1 commit
    • Urvang Joshi's avatar
      Wrap palette code inside CONFIG_PALETTE flag. · b100db7c
      Urvang Joshi authored
      This flag was already added to aomedia/master, so bringing it back to
      webm/nextgenv2, as part of an effort to get the two codebases in sync.
      
      Change-Id: I2b933a6a160e4210d1411a9e7978149eb8553205
      b100db7c
  13. 12 Oct, 2016 1 commit
    • Yaowu Xu's avatar
      LIBVPX_TEST_DATA_PATH -> LIBAOM_TEST_DATA_PATH · 97aa09f6
      Yaowu Xu authored
      This commit renames LIBVPX_TEST_DATA_PATH to LIBAOM_TEST_DATA_PATH,
      with a work around for working with jenkins environmnet variables.
      
      Change-Id: If664ce57e25ad2af8121d1b578bf64043f0baa2a
      97aa09f6
  14. 11 Oct, 2016 1 commit
  15. 03 Oct, 2016 1 commit
  16. 23 Sep, 2016 1 commit
  17. 02 Sep, 2016 1 commit
  18. 01 Sep, 2016 2 commits
  19. 16 Aug, 2016 1 commit
  20. 12 Aug, 2016 1 commit
  21. 09 Aug, 2016 1 commit
    • Urvang Joshi's avatar
      Palette code cleanup: · d0000208
      Urvang Joshi authored
      - Avoid some memcpy()s
      - Remove indices array
      - Make pre_indices array local
      - Avoid rounding twice
      - Other small simplifications
      
      Change-Id: Iac3236daaad04f21f54054cdd9504de13b942a07
      d0000208
  22. 04 Aug, 2016 1 commit
    • Zoe Liu's avatar
      Code refactoring on Macros related to ref frame numbers · 1af28f02
      Zoe Liu authored
      We have renamed following Macros to avoid name confusion:
      
      REFS_PER_FRAME --> INTER_REFS_PER_FRAME
      (= ALTREF_FRAME - LAST_FRAME + 1)
      MAX_REF_FRAMES --> TOTAL_REFS_PER_FRAME
      (= ALTREF_FRAME - INTRA_FRAME + 1)
      
      INTER_REFS_PER_FRAME specifies the maximum number of reference frames
      that each Inter frame may use.
      TOTAL_REFS_PER_FRAME is equal to INTER_REFS_PER_FRAME + 1, which
      counts the INTRA_FRAME.
      
      Further, at the encoder side, since REF_FRAMES specifies the maximum
      number of the reference frames that the encoder may store, REF_FRAMES
      is usually larger than INTER_REFS_PER_FRAME. For example, in the
      ext-refs experiment, REF_FRAMES == 8, which allows the encoder to
      store maximum 8 reference frames in the buffer, but
      INTER_REFS_PER_FRAME equals to 6, which allows each Inter frame may
      use up to 6 frames out of the 8 buffered frames as its references.
      Hence, in order to explore the possibility to store more reference
      frames in future patches, we modified a couple of array sizes to
      accomodate the case that the number of buffered reference frames is
      not always equal to the number of the references that are being used
      by each Inter frame.
      
      Change-Id: I19e42ef608946cc76ebfd3e965a05f4b9b93a0b3
      1af28f02
  23. 18 Jul, 2016 1 commit
    • hui su's avatar
      Extra round of subpel MV search around second best full-pixel MV · 9a470241
      hui su authored
      Keep track of the best and second best full pixel motion vector
      candidates, and do subpel search around both of them.
      
      Compression improvement:
      lowres 0.22%   midres 0.23%   hdres 0.18%
      
      No noticeable encoding speed changes observed on lowres test clips.
      
      Change-Id: I5f4df2a03d1db061cfdfdba6138b27e9ea91f089
      9a470241
  24. 14 Jul, 2016 1 commit
  25. 13 Jul, 2016 1 commit
    • hui su's avatar
      Refactor codes about motion search · 581636d7
      hui su authored
      1. Add "best_mv" in MACROBLOCK to store the best motion vector
      during motion search, so that we don't need to pass its pointer
      to various motion search functions.
      
      2. Declare some functions as static when possible.
      
      3. Fix some indents.
      
      Change-Id: I0778146c0866cbc55e245988c59222577ea8260e
      581636d7
  26. 29 Jun, 2016 1 commit
  27. 28 Jun, 2016 1 commit
    • Geza Lore's avatar
      Remove skip_txfm optimization. · 92922be8
      Geza Lore authored
      Commit 0d6980d7 removed some use
      of the skip_txfm optimization, and the rest are not productive.
      
      The current use of this optimization is only used with --good
      and --cpu-used >= 3, however the overhead of this is higher than the
      speedup it yields.
      
      Removing this, and subsequently simplifying model_rd_for_sb yields
      a net encoder speedup:
      --cpu-used=0    ~1.5% faster
      --cpu-used=3    ~2.0% faster
      
      The code simplification is also significant.
      
      Change-Id: I1dd668c32de15a2e912c59c42379d0f9e1032ff8
      92922be8
  28. 24 Jun, 2016 1 commit
  29. 22 Jun, 2016 1 commit
  30. 14 Jun, 2016 1 commit
  31. 10 Jun, 2016 1 commit
    • Sarah Parker's avatar
      Move new quant experiment from nextgen · a21afd42
      Sarah Parker authored
      This experiment implements non-uniform quantization where
      the width of the bins increases gradually to more closely
      match a laplacian distribution of the coeficcients.
      
      Performance Gain:
      derflr: 0.15%
      hevcmr: 0.675%
      
      Change-Id: I25234244e3bcd94b87c1f77cf682190b61c8ef94
      a21afd42
  32. 08 Jun, 2016 1 commit
    • Jingning Han's avatar
      Take out skip_recode speed feature · 025fa11c
      Jingning Han authored
      The assumption doesn't hold true in the current codebase. Remove
      this speed feature to simplify the codebase.
      
      Change-Id: I9b69f484c9b7cd612b825047cc5b2fce63ee0af7
      025fa11c
  33. 31 May, 2016 2 commits
    • hui su's avatar
      Add a speed feature for inter tx type search · f523d7b5
      hui su authored
      Seperate prediction mode and tx type search for inter
      modes. Enabled for speed >=1.
      
      baseline:
      speed increase     40%
      compression drop   0.30%/0.29% on lowres/midres
      
      ext-tx:
      speed increase    160%
      compression drop  1.08%/0.95% on lowres/midres
      
      Change-Id: Ieb34b1ee80df6980d16e26a5783e08cc0deae55b
      f523d7b5
    • hui su's avatar
      Add a speed feature for intra tx type search · 38e6dd71
      hui su authored
      Add a speed feature to seperate prediction mode and tx type search
      for intra modes: search for best intra prediction mode with fixed
      default tx type first, then choose the best tx type for the
      selected mode.
      
      Coding performance drop:
      baseline
        lowres 0.10% midres 0.08% hdres 0.14%
      with ext-tx
        lowres 0.14% midres 0.25% hdres 0.20%
      
      Speed improvement is 20% for baseline and 17% for ext-tx.
      
      It is turned on for speed >= 1.
      
      Change-Id: Ia5e8d39e8a4e2e42c521bfde938f8b6a98ab24f9
      38e6dd71
  34. 19 Apr, 2016 1 commit
    • Jingning Han's avatar
      Handle zero motion vector residual · ec2ffda5
      Jingning Han authored
      This commit handles the zero motion vector residuals for single
      and compound reference modes, respectively. It improves the coding
      performance by 0.13% with no additional encoding complexity.
      
      Change-Id: I16075a836025bd2746da2ff4698fb9261e4b08c1
      ec2ffda5
  35. 18 Apr, 2016 1 commit
  36. 07 Apr, 2016 1 commit
  37. 31 Mar, 2016 1 commit
    • Geza Lore's avatar
      Rename MI_BLOCK_SIZE and MI_MASK macros. · 511da8cb
      Geza Lore authored
      Rename MI_BLOCK_SIZE.* -> MAX_MIB_SIZE.* (MIB is for MI Block).
      Rename MI_MASK.* -> MAX_MIB_MASK.*
      
      There are no functional changes.
      
      This is in preparation for coding the superblock size at the frame
      level, which will require some of these constants to become variables.
      The new names better reflect future semantics, and hence make the code
      clearer.
      
      Change-Id: Iee08d97554cf4cc16a5dc166a3ffd1ab91529992
      511da8cb