1. 06 Dec, 2016 2 commits
    • Jingning Han's avatar
      Make BLOCK_OFFSET marco operate in min tx_size · 3468df1b
      Jingning Han authored
      Change-Id: I99d3abd47480ebd73fc0034fac82663c003f7bb8
      3468df1b
    • David Barker's avatar
      Improve rdopt decisions for ext-inter · ac37fa3d
      David Barker authored
      Relative to previous ext-inter:
      lowres: -0.177%
           or -0.029% (with USE_RECT_INTERINTRA = 0)
      
      * When predicting interintra modes, the previous code did not provide
        the intra predictor with the correct context during rdopt. Add an
        explicit 'ctx' parameter to the relevant functions, to provide this
        context.
        This fixes a nondeterminism bug, which was causing test failures in
        *EncoderThreadTest*
      
      * For rectangular blocks, build_intra_predictors_for_interintra needs
        to overwrite part of the context buffer in order to set up the
        correct context for intra prediction. We now restore the original
        contents afterwards.
      
      * Add a flag to enable/disable rectangular interintra prediction;
        disabling improves encoding speed but reduces BDRATE improvement.
      
      Change-Id: I7458c036c7f94df9ab1ba0c7efa79aeaa7e17118
      ac37fa3d
  2. 05 Dec, 2016 2 commits
  3. 02 Dec, 2016 2 commits
  4. 01 Dec, 2016 1 commit
  5. 29 Nov, 2016 1 commit
    • Yue Chen's avatar
      Add WARPED_MOTION experiment · 69f18e1a
      Yue Chen authored
      Performance gain (REF_MV on by default)
      WARPED_MOTION: 1.061%
      WARPED_MOTION+MOTION_VAR: 2.917%
      MOTION_VAR: 2.337%
      
      Change-Id: I43f742a02cdd43d13ef333a0a15087062ad020ab
      69f18e1a
  6. 28 Nov, 2016 1 commit
    • Urvang Joshi's avatar
      Add a new intra prediction mode "smooth". · 6be4a54b
      Urvang Joshi authored
      This is added as part of ALT_INTRA experiment.
      
      This uses interpolation between top row and estimated bottom row; as
      well as left column and estimated right column to generate the
      predicted block.The interpolation is done using a predefined weight
      array.
      
      Based on experiments, the currently chosen weight array was created
      to represent a quadratic curve, but can be tuned further if needed.
      
      Improvement from baseline on Derf set:
      ALL Keyframes: 1.279%
      
      Improvement from existing ALT_INTRA:
      ALL Keyframes: 1.146%
      
      Change-Id: I12637fa1b91bd836f1c59b27d6caee2004acbdd4
      6be4a54b
  7. 23 Nov, 2016 1 commit
  8. 21 Nov, 2016 1 commit
    • iole moccagatta's avatar
      Add coef_interleave experiment · f25a4cf9
      iole moccagatta authored
      This commit adds an experiment to interleave the coding of transform
      coefficients from YUV planes.  The experiment can be enabled at config
      time by --enable-coef-interleave.
      
      Change-Id: Ifd92f9c367304bca9732f13fa026eb8996363677
      f25a4cf9
  9. 12 Nov, 2016 1 commit
  10. 11 Nov, 2016 2 commits
  11. 10 Nov, 2016 1 commit
  12. 08 Nov, 2016 4 commits
    • Angie Chiang's avatar
      Replace rate distortion sse skip by RD_STATS in rdopt.c · 7c2b7f25
      Angie Chiang authored
      This CL doesn't change any coding behavior.
      The functions modified in this CL include
      choose_smallest_tx_size()
      choose_largest_tx_size()
      choose_tx_size_type_from_rd()
      txfm_rd_in_plane()
      txfm_yrd()
      
      This change make the code cleaner and will facilitate rd_debug
      implementation
      
      Change-Id: I19b1b2384dce8b46b28d4c9baf80ff92998d05b6
      7c2b7f25
    • Jingning Han's avatar
      Add min_tx_size variable to recursive transform block partition system · e67b38aa
      Jingning Han authored
      Replace max_tx_size with min_tx_size for transform type decision.
      
      Change-Id: I64e39923a67903d52b381bd93eaac33b3400a201
      e67b38aa
    • Yushin Cho's avatar
      Fix the bug that PVQ commit broke dering · 48f84dbd
      Yushin Cho authored
      Since PVQ's max block size equals to the max transform size,
      daala's definition of OD_BSIZE_MAX was changed from 5 down to 4 to
      use AV1's max trasform size 32x32. However, dering also uses
      OD_BSIZE_MAX and assumes its value is 5, which caused dering
      not working.
      
      Change-Id: I9d82bb24adc7d57552a8e0a8a7e798e77d96fd4b
      48f84dbd
    • Yushin Cho's avatar
      Fix the bug that PVQ commit broke dering · 7d208d08
      Yushin Cho authored
      Since PVQ's max block size equals to the max transform size,
      daala's definition of OD_BSIZE_MAX was changed from 5 down to 4 to
      use AV1's max trasform size 32x32. However, dering also uses
      OD_BSIZE_MAX and assumes its value is 5, which caused dering
      not working.
      
      Change-Id: I9d82bb24adc7d57552a8e0a8a7e798e77d96fd4b
      7d208d08
  13. 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
  14. 06 Nov, 2016 1 commit
    • Angie Chiang's avatar
      Add RD_STATS into MB_MODE_INFO · 9a44f5fb
      Angie Chiang authored
      With RD_STATS in MB_MODE_INFO, we will be able to compare the results
      from rate-distortion loop and the results from bitstream packing.
      
      Change-Id: If1dba7d87126577a6f369ac087d4517f7cebb0c5
      9a44f5fb
  15. 04 Nov, 2016 3 commits
    • 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
    • Angie Chiang's avatar
      Separate coefficient cost of U/V planes in write_modes_b() · 75f45814
      Angie Chiang authored
      Change-Id: Ie3082db5b0fead8c322b2aeede4eff7cd723ea12
      75f45814
    • Angie Chiang's avatar
      Add token cost comparison in write_modes_b() · d402282f
      Angie Chiang authored
      This is just partial implementation
      Compare token cost of pack_mb_tokens/pack_txb_tokens with token cost
      from rate-distortion loop. If there is any difference, dump out mode
      info.
      
      Change-Id: I46b373ee2522c5047f799f36baf7cec5fbc06f06
      d402282f
  16. 31 Oct, 2016 1 commit
  17. 27 Oct, 2016 1 commit
  18. 26 Oct, 2016 1 commit
  19. 21 Oct, 2016 2 commits
  20. 20 Oct, 2016 2 commits
  21. 19 Oct, 2016 2 commits
  22. 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
  23. 13 Oct, 2016 1 commit
    • Yue Chen's avatar
      Renamings for OBMC experiment · cb60b185
      Yue Chen authored
      To get ready for pulling AV1 to nextgenv2
      Replace the experimental flag by MOTION_VAR. Rename major variables.
      
      Change-Id: If6cf4f37b9319c46d8f90df551cc7295d66ca205
      cb60b185
  24. 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
  25. 29 Sep, 2016 1 commit
    • Yue Chen's avatar
      Fix unit test failure for RECT_TX + VAR_TX · 49587a77
      Yue Chen authored
      Disable rect_tx because we only support 4x4 Walsh-Hadamard transform
      in lossless mode.
      
      Fixes failure in ./test_libaom --gtest_filter=*Large*ScreencastQ0/1
      Configuration: --enable-experimental --enable-var-tx --enable-rect-tx
       --enable-ref-mv --enable-ext_intra --enable-ext_tx --enable-debug
       --disable-optimizations
      
      Change-Id: Ib6b3494c7dcf7182f1cab9b138388d054851a23d
      49587a77
  26. 28 Sep, 2016 1 commit
  27. 26 Sep, 2016 2 commits