1. 07 Nov, 2016 2 commits
  2. 05 Nov, 2016 1 commit
  3. 04 Nov, 2016 1 commit
  4. 02 Nov, 2016 1 commit
    • Jingning Han's avatar
      Make bit-stream support rectangular tx_size · f64062f3
      Jingning Han authored
      Allow the transform size writing, reading, and the reconstruction
      process to support rectangular transform block size coding.
      Change-Id: I57393c73ec60835a088d785ca838d7e3d7eb29a4
  5. 01 Nov, 2016 1 commit
  6. 31 Oct, 2016 3 commits
    • Yaowu Xu's avatar
      Fix a bad merge · e86288d2
      Yaowu Xu authored
      Change-Id: I4615e8e64d75b1f4277d2221ec94c5d4f1830aa4
    • Steinar Midtskogen's avatar
      Reverse order of CLPF and dering · 5d56f4d6
      Steinar Midtskogen authored
      Low latency:
      PSNR YCbCr:     -0.15%      0.11%      0.12%
         PSNRHVS:     -0.25%
            SSIM:     -0.26%
          MSSSIM:     -0.26%
       CIEDE2000:     -0.03%
      High latency:
      PSNR YCbCr:     -0.18%      0.18%      0.07%
         PSNRHVS:     -0.20%
            SSIM:     -0.21%
          MSSSIM:     -0.21%
       CIEDE2000:     -0.03%
      Change-Id: Ieb86d9ba353220de6454bdc15cea825944b6385b
    • Yaowu Xu's avatar
      Refactor: read_tx_size_probs() · efc7535b
      Yaowu Xu authored
      Change-Id: Ibdedd9b8e0b6646b882bc159856ac7c7e7073149
  7. 30 Oct, 2016 5 commits
    • 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
    • Nathan E. Egge's avatar
      Centralize EC_MULTISYMBOL error checking. · baaaa161
      Nathan E. Egge authored
      The EC_ADAPT experiment cannot work unless EC_MULTISYMBOL is also
      This patch replaces all individual checks with a centralized check in
       both the bitreader.h and bitwriter.h.
      Change-Id: I418852d95c5012cc074ed65cd24997e08bc2aadd
    • Thomas Davies's avatar
      EC_ADAPT: refactor and fix MinArfFreq unit tests. · 6519bebf
      Thomas Davies authored
      Ensure that cdfs are synced with pdfs after every
      forward update.
      Change-Id: I5677f78300156c8622f1728d7a343ff6c3a4ea64
    • Thomas Davies's avatar
      EC_ADAPT: send updates for the correct nodes. · 09ebbfb3
      Thomas Davies authored
      EOB and ZERO token are not currently adapted.
      Change-Id: Ie7d657b71fcb157b09e40874fb06a8b7cd95cc70
    • 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
      This experiment is automatically enabled by ec_adapt and will try to
      enable daala_ec or ans (in that order).
      Change-Id: Ie75b4002b7a9d7f5f7b4d130c1aacb3dbe97e54f
  8. 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
      ./configure --enable-experimental --enable-ans --enable-rans \
      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
  9. 28 Oct, 2016 4 commits
    • Jingning Han's avatar
      Replace num_4x4_blocks_txsize_loopup table · 32b2028b
      Jingning Han authored
      Unify the transform block size access table in preparation for
      2x2 transform integration.
      Change-Id: I308def6729e138ae2b2542175206e3225c0cb392
    • Thomas Davies's avatar
      Tile groups: ensure each tile in a TG has a length. · 8fe64a3a
      Thomas Davies authored
      This ensures TGs can be decoded even if the whole
      frame has not been received and the frame length
      is not known.
      Change-Id: If24837fcc3b5c46554751be792e91100de73e8d6
    • Thomas Davies's avatar
      Encode and decode multiple tile groups · 80188d15
      Thomas Davies authored
      This is a manual adaptation of the following commit from aom/master:
      The original commit message:
      A tile group is a set of tiles in scan order.
      Each tile group has a version of uncompressed and compressed headers,
      identical apart from tile group parameters.
      Encoding probability updates takes account of the number of
      headers to control overheads.
      The decoder supports arbitrary numbers of tile groups with
      arbitrary number of tiles. The number of tiles in a TG is
      signalled in the uncompressed header for that TG.
      The encoder currently only supports a fixed number
      of TGs (3, when error resilient mode is on) of equal size
      (except possibly for the last one).
      The average BDR performnce with 3 tile groups versus
      anchor with error resilient mode and up to 16 tiles is:
      NR YCbCr:      3.02%      3.04%      3.05%
      PSNRHVS:      3.09%
      SSIM:      3.06%
      MSSSIM:      3.05%
      CIEDE2000:      3.04%
      Change-Id: I9b97c5ed733103b9160a3a5d4370de5322c00c0b
    • Jingning Han's avatar
      Refactor recursive transform block decoding · 5f614264
      Jingning Han authored
      Unify the transform block and coding block mapping.
      Change-Id: Ifb394809a4aafee6adf2b49a2607036cf13c878e
  10. 27 Oct, 2016 2 commits
  11. 26 Oct, 2016 2 commits
  12. 25 Oct, 2016 5 commits
  13. 24 Oct, 2016 3 commits
  14. 21 Oct, 2016 9 commits
    • Nathan E. Egge's avatar
      Add a runtime flag to enable bit accounting. · eb64fc28
      Nathan E. Egge authored
      By default, when building with --enable-accounting the bit accounting
       code will collect statistics for every frame while decoding.
      Collecting statistics can slow down decode time and we would eventually
       like to enable the CONFIG_ACCOUNTING flag by default.
      This patch adds a runtime flag so that bit accounting statistics are
       only collected when actually needed.
      Change-Id: I25d9eaf26ea132d61ace95b952872158c9ac29e7
    • Nathan E. Egge's avatar
      Fix compiler warning when CONFIG_ACCOUNTING enabled. · ebbd479e
      Nathan E. Egge authored
      ISO C90 forbids mixed declarations and code and the function
       aom_accounting_set_context() was being called before the MB_MODE_INFO
      Change-Id: I8619525b1b2fd37753891bd310d9d59c881b8807
    • Nathan E. Egge's avatar
      Update class0_fp_cdf and fp_cdf tables once per frame. · 5f34b619
      Nathan E. Egge authored
      Move computing the class0_fp_cdf and fp_cdf tables per coded mv
       symbol to computing it only when the probabilities are updated.
      Change-Id: Ib4957c8ab21e6189bcc3817a07b7681dfb343223
    • Nathan E. Egge's avatar
      Update class_cdf table once per frame. · d7b893c6
      Nathan E. Egge authored
      Move computing the class_cdf table per coded mv class symbol to
       computing it only when the probabilities are updated.
      Change-Id: I6c4a9075817e8ba2e251f0e82436995f08f2ec5c
    • Nathan E. Egge's avatar
      Update joint_cdf table once per frame. · 5f7fd7ab
      Nathan E. Egge authored
      Move computing the joint_cdf table per coded mv joint symbol to
       computing it only when the probabilities are updated.
      Change-Id: If5d195f70e6fad7b60f69606c8386ad5e69657d2
    • Nathan E. Egge's avatar
      Update inter_mode_cdf tables once per frame. · 6ec4d10d
      Nathan E. Egge authored
      Move computing the inter_mode_cdf tables per coded inter mode symbol to
       computing them only when the probabilities are updated.
      Change-Id: I7a7b059ee75723cb6f278ed82a20cf34c27915d8
    • Jingning Han's avatar
      Simplify the recursive transform block decoding · 8fd62b75
      Jingning Han authored
      Remove unneeded block index.
      Change-Id: Ifceab4985d3ccd65d4c0a110de83a0b457ce5868
    • Jingning Han's avatar
      Refactor tx_size step use cases in decoder · 2d64f125
      Jingning Han authored
      Use lookup table to replace the arithmetic computation for transform
      block step.
      Change-Id: I1318d81bda9d7ffaf9d550acd19354b0615ede36
    • Jingning Han's avatar
      Refactor decoder side qcoeff reset · 1be18785
      Jingning Han authored
      Allow the decoder to memset partial dequantized coefficient line
      to zero.
      Change-Id: I1f07dc7bf802958754502c1b5c819cc81e7a08cb