1. 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
      f64062f3
  2. 01 Nov, 2016 1 commit
  3. 31 Oct, 2016 3 commits
    • Yaowu Xu's avatar
      Fix a bad merge · e86288d2
      Yaowu Xu authored
      Change-Id: I4615e8e64d75b1f4277d2221ec94c5d4f1830aa4
      e86288d2
    • 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
      5d56f4d6
    • Yaowu Xu's avatar
      Refactor: read_tx_size_probs() · efc7535b
      Yaowu Xu authored
      Change-Id: Ibdedd9b8e0b6646b882bc159856ac7c7e7073149
      efc7535b
  4. 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
      ca8d24d4
    • 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
       enabled.
      This patch replaces all individual checks with a centralized check in
       both the bitreader.h and bitwriter.h.
      
      Change-Id: I418852d95c5012cc074ed65cd24997e08bc2aadd
      baaaa161
    • 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
      6519bebf
    • 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
      09ebbfb3
    • 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
  5. 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
  6. 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
      32b2028b
    • 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
      8fe64a3a
    • 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:
      ce12003d
      
      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
      80188d15
    • Jingning Han's avatar
      Refactor recursive transform block decoding · 5f614264
      Jingning Han authored
      Unify the transform block and coding block mapping.
      
      Change-Id: Ifb394809a4aafee6adf2b49a2607036cf13c878e
      5f614264
  7. 27 Oct, 2016 2 commits
  8. 26 Oct, 2016 2 commits
  9. 25 Oct, 2016 5 commits
  10. 24 Oct, 2016 3 commits
  11. 21 Oct, 2016 13 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
      eb64fc28
    • 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
       declaration.
      
      Change-Id: I8619525b1b2fd37753891bd310d9d59c881b8807
      ebbd479e
    • 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
      5f34b619
    • 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
      d7b893c6
    • 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
      5f7fd7ab
    • 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
      6ec4d10d
    • Jingning Han's avatar
      Simplify the recursive transform block decoding · 8fd62b75
      Jingning Han authored
      Remove unneeded block index.
      
      Change-Id: Ifceab4985d3ccd65d4c0a110de83a0b457ce5868
      8fd62b75
    • 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
      2d64f125
    • 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
      1be18785
    • Nathan E. Egge's avatar
      Update uv_mode_cdf tables once per frame. · 380cb1a9
      Nathan E. Egge authored
      Move computing the uv_mode_cdf tables per coded intra mode symbol to
       computing them only when the probabilities are updated.
      
      Change-Id: I627b59d30726c913f5d7ba7753cb0446a12655bb
      380cb1a9
    • Nathan E. Egge's avatar
      Update y_mode_cdf tables once per frame. · 5710c722
      Nathan E. Egge authored
      Move computing the y_mode_cdf tables per coded intra mode symbol to
       computing them only when the probabilities are updated.
      
      Change-Id: I8c43d09b8ef5febe2a3ec64bd51d28bd78ea73ed
      5710c722
    • Nathan E. Egge's avatar
      Update kf_y_mode_cdf tables once per frame. · 3ef926ed
      Nathan E. Egge authored
      Move computing the kf_y_mode_cdf tables per coded intra mode symbol to
       computing them only when the probabilities are updated.
      
      Change-Id: I5999447050c2f7d5dbccde80bee05ecd1c5440ab
      3ef926ed
    • 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