1. 08 Nov, 2016 4 commits
  2. 07 Nov, 2016 2 commits
    • Yaowu Xu's avatar
      Resolve merge issues with --enable-pvq · d6ea71cf
      Yaowu Xu authored
      This commit resolves some compiling issues due to merge.
      
      Change-Id: I0eef8aa36c404e185e0b0004948a49307c360d3e
      d6ea71cf
    • 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
  3. 05 Nov, 2016 1 commit
  4. 04 Nov, 2016 5 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
      Add av1_ prefix on ###_rd_stats functions · c0feea8a
      Angie Chiang authored
      Change-Id: I3bc782d68bcd9b52b38210eec9eecb21146fde75
      c0feea8a
    • Angie Chiang's avatar
      Use init_rd_stats() in encodeframe.c · 4695b970
      Angie Chiang authored
      Change-Id: I8359e8498efd301ff81eea1d7466d0f3fec5e006
      4695b970
    • Angie Chiang's avatar
      Add mi_row and mi_col into mbmi to facilitate rd_debug process · 394c3377
      Angie Chiang authored
      Change-Id: Ia69f13c47f2dd34fabd220652691049166a06a68
      394c3377
    • Angie Chiang's avatar
      Refactor: Replace rate dist sse skip by RD_STATS in VAR_TX · b5dda488
      Angie Chiang authored
      This is to facilitate implementation of rd_debug tool; it doesn't change
      coding behavior.
      
      Change-Id: I0eb82b31473883ba6652ed11dca09b9ec4530183
      b5dda488
  5. 03 Nov, 2016 1 commit
  6. 02 Nov, 2016 1 commit
    • Jingning Han's avatar
      Make recursive txfm encoding process support rectangular tx_size · a9336328
      Jingning Han authored
      This commit makes the encoding process of the recursive transform
      block partition support both rectangular and square transform block
      sizes as the starting point. If the coding block size is rectangular,
      it would allow the transform block size to start from the largest
      rectangular transform size, and recursive parse to the selected
      coding sizes.
      
      Change-Id: I576628b9166565bada6a918f0a1e67849dfef4cd
      a9336328
  7. 01 Nov, 2016 1 commit
  8. 31 Oct, 2016 1 commit
  9. 30 Oct, 2016 1 commit
    • Deng's avatar
      simp-mv-pred integration with ref-mv · ca8d24d4
      Deng authored
      This commit adds simp-mv-pred experiment. The experiment is to work on
      top of ref-mv experiment to save memory bandwidth and reduce the size
      of line buffer needed in ref-mv experiment.
      
      When compared to ref-mv, this experiment showed:
      low-delay BDR gain: 0.03%
      High-delay BDR gain: 0.01%
      memory/memory bandwidth saving: 40%
      local memory/gate count saving: 20%
      
      Change-Id: Ic4006e041fc58ede411da83d0d730c464ebe1749
      ca8d24d4
  10. 29 Oct, 2016 1 commit
  11. 28 Oct, 2016 1 commit
  12. 27 Oct, 2016 1 commit
  13. 26 Oct, 2016 3 commits
    • Sarah Parker's avatar
      Cosmetic fixes in global motion experiment · b3dab498
      Sarah Parker authored
      These are in response to post-commit suggestions made on
      If429c93bb90b66fdff0edc07ecd9fc078077d303.
      
      Change-Id: Id29afa158471bd6259bd07ac00812a50bfd0a709
      b3dab498
    • Jingning Han's avatar
      Add depth to tx_size mapper to bit-stream coding · 4e1737af
      Jingning Han authored
      It serves as a helper function to integrate various transform coding
      options.
      
      Change-Id: I64e7d0c88ea10137fa1ff1072d865eb0054c2a25
      4e1737af
    • Sarah Parker's avatar
      Revise precision clamping in GM param refinement · f41a06b2
      Sarah Parker authored
      This ensures that the parameter refinement never
      results in a motion parameter value that exceeds the number
      of alloted bits in the bitstream. It accounts for all of
      the necessary precision shifts required to make global motion compatible
      with the warped motion library. It also accounts for the
      zero-centering that is applied to global motion parameters that are
      naturally centered around one.
      Change-Id: If429c93bb90b66fdff0edc07ecd9fc078077d303
      f41a06b2
  14. 25 Oct, 2016 2 commits
  15. 24 Oct, 2016 2 commits
    • Yue Chen's avatar
      Move small fixes and refactoring for obmc pred from AV1 · 894fcceb
      Yue Chen authored
      Covering commits 1c263e03 and 79d8a07d from AOM codebase
      
      Change-Id: I6400e5f99bbb2ef6584ef232d465e520230c06e0
      894fcceb
    • 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
  16. 22 Oct, 2016 2 commits
  17. 21 Oct, 2016 4 commits
    • 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
    • Jingning Han's avatar
      Separate intra and inter tx_size counting · dc9ad312
      Jingning Han authored
      Skip counting the inter transform block size distribution for
      the intra transform block size coding.
      
      Change-Id: Ifad9d843f57d069d0619a54d66ca18101e1b69f1
      dc9ad312
    • Angie Chiang's avatar
      Pass AV1_COMMON into get_scan · ff6d8905
      Angie Chiang authored
      This CL will facilitate adapt_scan experiment.
      In adapt_scan experiment, dynamic scan order will be stored in
      AV1_COMMON
      
      Change-Id: I4763ea931b5e1af54d4f173971befeb01a4db335
      ff6d8905
    • Jingning Han's avatar
      Unify set_contexts() function for encoder and decoder · a6923f7f
      Jingning Han authored
      Remove the separate implementations of set_contexts() in encoder
      and decoder.
      
      Change-Id: I9f6e9b075532faae0f74f885d9443589254258a7
      a6923f7f
  18. 20 Oct, 2016 2 commits
    • Sarah Parker's avatar
      Fix logical vs bitwise & bug · ea16b689
      Sarah Parker authored
      This was causing one of the global motion parameters to not
      be centered at 0.
      
      Change-Id: Ide32e3d177bed5613ab768a19b4e33b37692463a
      ea16b689
    • hui su's avatar
      Seperate FILTER_INTRA from EXT_INTRA experiment · 5db9743f
      hui su authored
      Prepare for the av1/nextgenv2 merge.
      
      Coding gain (%):
      
                     lowres     midres
      ext-intra       0.69       0.97
      filter-intra    0.67       0.83
      both            1.05       1.48
      
      Change-Id: Ia24d6fafb3e484c4f92192e0b7eee5e39f4f4ee6
      5db9743f
  19. 19 Oct, 2016 5 commits
    • Thomas Davies's avatar
      Step size and arithmetic coding for delta quantization. · f693610a
      Thomas Davies authored
      Example performance: 1.8% bit rate savings using
      the AQ test mode aq-mode=4 :
      ./aomenc --codec=av1 --ivf --tile-columns=1 --tile-rows=1 \
                       --kf-max-dist=1000 --kf-min-dist=1000 --cpu-used=0 \
                       --passes=1 --threads=1 --lag-in-frames=0 \
                       --end-usage=q --limit=600 --cq-level=42 \
                       --aq-mode=4 --error-resilient=1 out.bits FourPeople_1280x720_60.y4m
      
      Change-Id: Iba01cf2732a57f3c27481ac2a3c8fc37bb9e5533
      f693610a
    • Arild Fuldseth's avatar
      Support for delta-q at superblock level · 07441165
      Arild Fuldseth authored
      Change-Id: I4128af44776d1f361bddc1fdffb75ed2224dbfa5
      07441165
    • Peter de Rivaz's avatar
      Fix for var_tx context update · 74d0ad84
      Peter de Rivaz authored
      The tx_partition_set_contexts function changes tx_size even
      for blocks coded with a rectangular transform.
      This causes an internal rd inconsistency when using all of
      CONFIG_VAR_TX, CONFIG_RECT_TX, CONFIG_EXT_TX.
      
      Change-Id: Ia45d4a8893b0961534219bb96d9652719038c7a1
      74d0ad84
    • Urvang Joshi's avatar
      Fix warnings reported by -Wshadow: Part2b: more from av1 directory · 368fbc95
      Urvang Joshi authored
      From code only part of nextgenv2 (and not aomedia)
      
      Change-Id: I21f7478a59d525dff23747efe5238ded16b743d2
      368fbc95
    • Urvang Joshi's avatar
      Fix warnings reported by -Wshadow: Part2: av1 directory · 454280da
      Urvang Joshi authored
      While we are at it:
      - Rename some variables to more meaningful names
      - Reuse some common consts from a header instead of redefining them.
      
      Cherry-picked from aomedia/master: 863b0499
      
      Change-Id: Ida5de713156dc0126a27f90fdd36d29a398a3c88
      454280da