1. 10 Aug, 2017 1 commit
  2. 03 Aug, 2017 1 commit
    • hui su's avatar
      Calculate coeff token cost from CDF · c0cf71df
      hui su authored
      AWCY results:
      PSNR	PSNR HVS  SSIM	CIEDE 2000
      -0.09	-0.04	  -0.02	  -0.03
      
      On Google testsets:
      lowres  -0.18%
      midres  -0.20%
      
      Above results are obtained with
      --disable-ext-refs --disable-dual-filter --disable-loop-restoration
      --disable-global-motion --disable-warped-motion
      
      Change-Id: Iba58d5e5ec9a65d0afba29609aa2e379a80d7236
      c0cf71df
  3. 31 Jul, 2017 1 commit
    • Yue Chen's avatar
      Move mode costs that can be updated inside a frame to MACROBLOCK · b23d00a0
      Yue Chen authored
      It is a refactoring patch, which aims to make the code ready for
      implementation of in-frame mode cost update in RDO.
      Also add mode cost update per sb row, but it won't affect coding
      results because cdf update in RDO is not there.
      Mode cost arrays are moved to MACROBLOCK because in multi-thread
      coding, threads share the same AV1_COMP.
      
      This patch does not have impact on coding results.
      
      Change-Id: I2e8f7d7d066b23ebfbfc998269023781f359a6ff
      b23d00a0
  4. 26 Jul, 2017 1 commit
  5. 11 Jul, 2017 1 commit
    • Thomas Davies's avatar
      NEW_MULTISYMBOL: use CDFs for palette tree coding. · ce7272d2
      Thomas Davies authored
      AWCY results, 1 frame, tune-content=1
      
      objective-1-fast:
      PSNR (Y, Cb, Cr) : -0.26%, -0.24%, -0.26%
      PSNR-HVS         : -0.26%
      MS-SSIM          : -0.25%
      
      screenshots:
      PSNR (Y, Cb, Cr) :  -2.28%, -2.29%, -2.29%
      PSNR-HVS         :  -2.30%
      MS-SSIM          :  -2.26%
      
      twitch-1 :
      PSNR (Y, Cb, Cr) : -0.73%, -0.73%, -0.73%
      PSNR-HVS         : -0.75%
      MS-SSIM          : -0.74%
      
      Change-Id: I7aac475710ab3895778d7ff05d9113f5713133b1
      ce7272d2
  6. 25 May, 2017 1 commit
  7. 21 May, 2017 1 commit
    • Timothy B. Terriberry's avatar
      cb4x4: Fix reset_skip_context() without chroma_2x2 · a2d5cdef
      Timothy B. Terriberry authored
      reset_skip_context() was always clearing the entropy contexts for
      all three color planes, using a block size that corresponded with
      the luma plane.
      
      However, when chroma_2x2 is disabled, then for sub-8x8 luma block
      sizes, the corresponding chroma block size is always 4x4, and the
      skip flag only affects the chroma blocks corresponding to the
      upper-left luma block.
      
      This patch makes reset_skip_context() reset the contexts that
      actually correspond to the chroma blocks that are skipped (if any).
      It also moves reset_skip_context() to av1_reset_skip_context() in
      blockd.c, because blockd.h gets included before onyx_int.h, which
      declares the required is_chroma_reference() function.
      reset_skip_context() was too large and used in too many places to
      be a reasonable candidate for inlining, anyway.
      
      AWCY results on objective-1-fast:
      
      cb4x4-fix-base@2017-05-11T06:26:50.159Z -> cb4x4-fix-reset_skip@2017-05-11T06:28:45.482Z
        PSNR | PSNR Cb | PSNR Cr | PSNR HVS |   SSIM | MS SSIM | CIEDE 2000
      0.0301 |  0.1068 |  0.1463 |   0.0359 | 0.0260 |  0.0347 |     0.0479
      
      A regression (near the noise range), but without this fix, the line
      buffer size required by the entropy contexts will be doubled.
      
      Change-Id: I12fa6e60d9c1c7c85927742775a346ea22b3193f
      a2d5cdef
  8. 20 May, 2017 1 commit
  9. 19 May, 2017 1 commit
    • Jingning Han's avatar
      Unify tokenize_b_arg struct · 6171ae77
      Jingning Han authored
      Use a single struct for tokenization and level map coding.
      
      Change-Id: Id685992b7db5964ee204c4b0b90379df50c56546
      6171ae77
  10. 16 May, 2017 1 commit
  11. 12 Apr, 2017 1 commit
  12. 16 Mar, 2017 2 commits
    • Angie Chiang's avatar
      Draft of av1_update_txb_context · 0397eda0
      Angie Chiang authored
      This draft version only pass compiling check, it's not working yet.
      
      The following goal is to use new coding system when doing bitstream
      packing but keep old coding system in RD loop.
      
      Change-Id: I224a1581d1cc5c67d73e71558fb77d9faf9c2470
      0397eda0
    • Alex Converse's avatar
      Account for elided extrabits during rate cost calculation. · da3d94fe
      Alex Converse authored
      Fixes some rd-debug mismatches coding cat6 tokens with tx size < 32x32.
      For these tokens the high extrabits are elided during tokenization and
      detokenization, but the rd cost was computed with the old tables from
      VP9 where these high extrabits are always coded.
      
      Change-Id: I4a9a6ea822ff821e1932c351d43a57bdb4d6d466
      da3d94fe
  13. 15 Mar, 2017 2 commits
  14. 08 Mar, 2017 1 commit
    • Fangwen Fu's avatar
      Remove palette interleave · b3be926a
      Fangwen Fu authored
      * Run 45 degree wavefront coding for palette index
      with palette_throughput experiment.
      * Remove palette index interleave.
      
      Change-Id: Ibb57004401f817dec8b00bc2a941d70a26783ff9
      b3be926a
  15. 03 Mar, 2017 1 commit
  16. 24 Feb, 2017 2 commits
    • Fangwen Fu's avatar
      improving palette throughput · 33bcd117
      Fangwen Fu authored
      * code the palette color index using 45 wavefront
      * interleave the coeff and palette color index in
        transform block level
      * the above change does not change code efficiency
      
      Details: 
      The 45 wavefront scan allows to compute the ctx of
      the diagonal samples' indices  at the same time. 
      Interleaving palette indices and palette residual
      on a transform block basis means that the entropy
       decoding and further processing of the palette 
      residual is not delayed by the entropy decoding 
      of all the color indices of the palette encoded 
      block.
      Change-Id: Ie9f576002a9a68394b99c23b01e9730df06df070
      33bcd117
    • Thomas Davies's avatar
      EC_MULTISYMBOL: make all CDFs have a extra element. · f3eb840a
      Thomas Davies authored
      This will make it easier to add native CDFs for all the
      dependent experiments without excessive macros.
      
      Change-Id: Iee4710f0fe1c1b4300f686cdf2c5b879a36de987
      f3eb840a
  17. 18 Feb, 2017 1 commit
  18. 16 Feb, 2017 1 commit
  19. 06 Feb, 2017 1 commit
    • Alex Converse's avatar
      ec_multisymbol: Split off new new_tokenset experiment · a9598cd6
      Alex Converse authored
      The new_tokenset experiment replaces the unconstrained tokenset with a
      multisymbol alphabet in an inventive way.
      
      Tested configurations:
      new_tokenset + ec_adapt, new_tokenset, ec_multisymbol
      
      Change-Id: I846ab2e51c2a1dc3f2f9904ed8c47a8e98f853c5
      a9598cd6
  20. 03 Feb, 2017 1 commit
  21. 31 Jan, 2017 1 commit
    • Thomas Davies's avatar
      EC_MULTISYMBOL: merge ZERO_TOKEN into coding scheme. · 0ccefe21
      Thomas Davies authored
      Zero, one, and two or more coded as one symbol (head).
      Remaining tokens coded as a tail symbol.
      
      The pareto CDF distribution is adjusted to cover tokens from
      two onwards.
      
      Change-Id: I98b33fab6b9f52690f6ad618ac55e725a97be056
      0ccefe21
  22. 09 Nov, 2016 1 commit
    • Alex Converse's avatar
      Fix rans ec_multisymbol merge issues. · 1e4e29f7
      Alex Converse authored
      The rans experiment is dead. The ans experiment with the ec_multisymbol
      experiment also turned on takes its place.
      
      Change-Id: Ie9f30ec7cf73aae6b2ea580a7b1f208485a8a7a7
      1e4e29f7
  23. 30 Oct, 2016 1 commit
    • Alex Converse's avatar
      Add ec_multisymbol for common daala_ec and rans code · aca9feba
      Alex Converse authored
      The new ec_multisymbol experiment supersedes the rans experiment and is
      used for multisymbol features that can be backed by either daala_ec or
      rans.
      
      This experiment is automatically enabled by ec_adapt and will try to
      enable daala_ec or ans (in that order).
      
      Change-Id: Ie75b4002b7a9d7f5f7b4d130c1aacb3dbe97e54f
      aca9feba
  24. 29 Oct, 2016 1 commit
    • Thomas's avatar
      Add EC_ADAPT experiment for symbol-adaptive entropy coding. · 9ac5508f
      Thomas authored
      This experiment performs symbol-by-symbol statistics
      adaptation for non-binary symbols. It requires DAALA_EC or
      RANS and ANS to be enabled. The adaptation is currently
      based on a simple recursive filter and is taken from
      Daala. It has an adaptation rate dependent on alphabet size,
      taken from Daala. It applies wherever non-binary symbols
      are encoded using Cumulative Probability Functions rather
      than trees.
      
      Where symbols are adapted, forward updates in the compressed
      header are removed.
      
      In the case of RANS coefficient token values are adapted,
      with the exception of the zero token which remains a
      binary symbol. In the case of DAALA_EC other values
      such as inter and intra modes are adapted as CDFs are
      provided in those cases.
      
      The experiment is configured with:
      
      ./configure --enable-experimental --enable-daala-ec --enable-ec-adapt
      
      or
      
      ./configure --enable-experimental --enable-ans --enable-rans \
          --enable-ec-adapt
      
      EC_ADAPT is not currently compatible with tiles.
      
      BDR results on Objective-1-fast give a small loss:
      
      PSNR YCbCr:      0.51%      0.49%      0.48%
      PSNRHVS:      0.50%
      SSIM:      0.50%
      MSSSIM:      0.51%
      CIEDE2000:      0.50%
      
      Change-Id: I3888718e42616f3fd87144de7f125228446ac984
      9ac5508f
  25. 25 Oct, 2016 1 commit
  26. 20 Oct, 2016 2 commits
  27. 19 Oct, 2016 2 commits
    • Alex Converse's avatar
      Partition the ans experiment into 'ans' and 'rans' · ec6fb649
      Alex Converse authored
      The (new) ans experiment replaces the bool coder with uABS bools. The
      'rans' experiment adds multisymbol coding.
      
      This matches the setup in aom/master.
      
      Change-Id: Ida8372ccabf1e1e9afc45fe66362cda35a491222
      ec6fb649
    • Urvang Joshi's avatar
      Code cleanup: mainly rd_pick_partition and methods called from there. · 52648448
      Urvang Joshi authored
      - Const correctness
      - Refactoring
      - Make variables local when possible etc
      - Remove -Wcast-qual to allow explicitly casting away const.
      
      Cherry-picked from aomedia/master: c27fcccc
      And then a number of more const correctness changes to make sure other
      experiments build OK.
      
      Change-Id: I77c18d99d21218fbdc9b186d7ed3792dc401a0a0
      52648448
  28. 14 Oct, 2016 2 commits
    • Nathan E. Egge's avatar
      Use Daala entropy coder to code bits. · 8043cc40
      Nathan E. Egge authored
      When building with --enable-daala_ec, calls to aom_write() and aom_read()
       use the daala entropy coder to write and read bits.
      When the probability is exactly 0.5 (128), then raw bits are used.
      
      ntt-short-1:
      
                MEDIUM (%) HIGH (%)
          PSNR -0.027556  -0.020114
       PSNRHVS -0.027401  -0.020169
          SSIM -0.027587  -0.020151
      FASTSSIM -0.027592  -0.020102
      
      subset1:
      
               RATE (%)  DSNR (dB)
          PSNR 0.03296  -0.00210
       PSNRHVS 0.03537  -0.00281
          SSIM 0.03299  -0.00161
      FASTSSIM 0.03458  -0.00111
      
      Change-Id: I48ad8eb40fc895d62d6e241ea8abc02820d573f7
      8043cc40
    • 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
  29. 13 Oct, 2016 1 commit
    • Alex Converse's avatar
      Remove custom rans types · 9ed1a2ff
      Alex Converse authored
      (cherry picked from aom/master commit 11206c60)
      
      Includes renames in a bunch of places not handled by the original
      due to differing tree states.
      
      Change-Id: Ic74d9d8850b8c80a51e55e425bbf472a67e2653f
      9ed1a2ff
  30. 11 Oct, 2016 1 commit
    • Debargha Mukherjee's avatar
      Refactor expand dry_run types to return coef rate · ceebb701
      Debargha Mukherjee authored
      Adds the functionality to return the rate cost due to
      coefficients without doing full search of all modes.
      This will be subsequently used in various experiments,
      including in new_quant experiment to search quantization
      profiles at the superblock level without repeating the
      full mode/partition search.
      
      Change-Id: I4aad3f3f0c8b8dfdea38f8f4f094a98283f47f08
      ceebb701
  31. 04 Oct, 2016 1 commit
    • Thomas's avatar
      Add EC_ADAPT experiment for symbol-adaptive entropy coding. · b0112dfd
      Thomas authored
      This experiment performs symbol-by-symbol statistics
      adaptation for non-binary symbols. It requires DAALA_EC or
      RANS and ANS to be enabled. The adaptation is currently
      based on a simple recursive filter and is taken from
      Daala. It has an adaptation rate dependent on alphabet size,
      taken from Daala. It applies wherever non-binary symbols
      are encoded using Cumulative Probability Functions rather
      than trees.
      
      Where symbols are adapted, forward updates in the compressed
      header are removed.
      
      In the case of RANS coefficient token values are adapted,
      with the exception of the zero token which remains a
      binary symbol. In the case of DAALA_EC other values
      such as inter and intra modes are adapted as CDFs are
      provided in those cases.
      
      The experiment is configured with:
      
      ./configure --enable-experimental --enable-daala-ec --enable-ec-adapt
      
      or
      
      ./configure --enable-experimental --enable-ans --enable-rans \
          --enable-ec-adapt
      
      EC_ADAPT is not currently compatible with tiles.
      
      BDR results on Objective-1-fast give a small loss:
      
      PSNR YCbCr:      0.51%      0.49%      0.48%
      PSNRHVS:      0.50%
      SSIM:      0.50%
      MSSSIM:      0.51%
      CIEDE2000:      0.50%
      
      Change-Id: I3888718e42616f3fd87144de7f125228446ac984
      b0112dfd
  32. 02 Oct, 2016 1 commit
    • Debargha Mukherjee's avatar
      Further changes to new-quant tables · 3c42c096
      Debargha Mukherjee authored
      Refactor to streamline the number of profiles needed, in
      preparation for the next steps.
      
      NO change in performance.
      
      Change-Id: I753b89299897857f3c250c316b4cdc4fedcb90e8
      3c42c096
  33. 28 Sep, 2016 1 commit
    • Alex Converse's avatar
      Rename rans_dec_lut to rans_lut · 33590f8c
      Alex Converse authored
      It's used in both encoding and decoding. Matches (historical)
      implementation in aom/master.
      
      Change-Id: Ib009b6b6023cfe69e99a0a92f3c70f4416fcdb47
      33590f8c
  34. 09 Sep, 2016 1 commit