1. 04 Nov, 2016 5 commits
  2. 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
  3. 01 Nov, 2016 2 commits
  4. 31 Oct, 2016 5 commits
  5. 30 Oct, 2016 4 commits
  6. 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
  7. 28 Oct, 2016 3 commits
    • 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
    • Jingning Han's avatar
      Fix update_delta_q_probs compile warning · be44c5f4
      Jingning Han authored
      Change-Id: Ifb93970ed876ed61259b2f8da739171857c97fda
      be44c5f4
    • 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
  8. 27 Oct, 2016 1 commit
    • David Barker's avatar
      Fix clpf and dering signalling when used with ext-partition-types · f8935c9c
      David Barker authored
      Previously, when ext-partition-types and either clpf or dering were
      enabled, the signalling for clpf/dering would not be encoded or decoded,
      as the code to do so was inside a #if !CONFIG_EXT_PARTITION_TYPES block.
      This caused many tests (eg, AV1/EndToEndTestLarge.EndToEndPSNRTest/0)
      to fail with encode/decode mismatches.
      
      Change-Id: If1742deb1812877813b2c3e93a048430f9a504ba
      f8935c9c
  9. 26 Oct, 2016 1 commit
  10. 25 Oct, 2016 5 commits
  11. 24 Oct, 2016 2 commits
    • Urvang Joshi's avatar
      Palette: Generate encodings automatically from tree. · 0b325978
      Urvang Joshi authored
      Ran some manual sanity checks:
      - Verified that the automatically generated encodings match the
        hand-written encodings before the patch.
      - Verified that the encoded bitstream before/after this patch is
        identical.
      
      Change-Id: I2153c57e463cff09c1d03d619b432fb1015199c3
      0b325978
    • Jingning Han's avatar
      Add MAX_VARTX_DEPTH macro · 571189c6
      Jingning Han authored
      Change-Id: I85532cf88f91f0f0cb4d9cb4b2dbda8a181297bf
      571189c6
  12. 21 Oct, 2016 8 commits
    • 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
      Limit the transform block partition depth · 94d5bfcc
      Jingning Han authored
      Limit the recursive transform block partition depth to 2. For a
      32x32 transform block unit, one can maximally go down to 8x8 transform
      block size.
      
      Change-Id: I2caa92bb2eee64762b7ecca8920259f7c50fb0aa
      94d5bfcc
    • 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
    • Nathan E. Egge's avatar
      Use intra_ext_tx_cdf when coding tx_type. · 72762a28
      Nathan E. Egge authored
      When building with --enable-daala_ec, the tx_type for intra blocks can be
       coded using the CDFs that are updated once per frame.
      This patch converts a tx_type symbol to be coded with aom_write_symbol()
       and aom_read_symbol() that was missed in f3e8e267.
      
      Change-Id: I34f8fef7525f88e156bbcb78dfc48994367610ce
      72762a28
    • Yaowu Xu's avatar
      Fix encoder crash when --enable-daala-ec · e1466ad4
      Yaowu Xu authored
      Change-Id: I6855e18d92f693a9789eda7c91a3430566469bdd
      e1466ad4
  13. 20 Oct, 2016 2 commits
    • Nathan E. Egge's avatar
      Compute all token encodings from symbol trees. · 3c056790
      Nathan E. Egge authored
      The av1_token encodings must match the contents of the aom_tree_index
       structures so generate all encodings from the symbol trees.
      
      Change-Id: I37be9f12c86a02693ae3c3c1d24b00f2abb29bfb
      3c056790
    • Urvang Joshi's avatar
      Encoder/Decoder mismatch fix: need a separate copy of eob_counts. · 43e6281f
      Urvang Joshi authored
      The bug was introduced here:
      https://chromium-review.googlesource.com/#/c/399975/4/av1/encoder/bitstream.c
      In that patch, I had removed 2nd declaration of a variable of the same
      name. But it turns out that the two variables actually had a different
      type (even though the name was same).
      
      Now, we keep both variables, but rename one of them -- that fixes the
      mismatch. While we are at it, made both variables local as well.
      
      The fix can be verified as follows:
      ../../libvpx/configure --enable-experimental --enable-supertx
      --enable-var-tx --enable-entropy --enable-internal-stats && make clean
      && make -j16
      
      aomenc -o soccer_cif_1000_av1_b8.webm ../soccer_cif.y4m --codec=av1
      --limit=50 --skip=0 -p 2 --pass=1 --fpf=soccer_cif_av1.fpf --good
      --cpu-used=0 --target-bitrate=1000 --lag-in-frames=25 --min-q=0
      --max-q=63 --auto-alt-ref=1 --kf-max-dist=150 --kf-min-dist=0
      --drop-frame=0 --static-thresh=0 --bias-pct=50 --minsection-pct=0
      --maxsection-pct=2000 --arnr-maxframes=7 --arnr-strength=5 --sharpness=0
      --undershoot-pct=100 --overshoot-pct=100 --frame-parallel=0
      --tile-columns=0 --profile=0 --test-decode=warn
      
      aomenc -o soccer_cif_1000_av1_b8.webm ../soccer_cif.y4m --codec=av1
      --limit=50 --skip=0 -p 2 --pass=2 --fpf=soccer_cif_av1.fpf --good
      --cpu-used=0 --target-bitrate=1000 --lag-in-frames=25 --min-q=0
      --max-q=63 --auto-alt-ref=1 --kf-max-dist=150 --kf-min-dist=0
      --drop-frame=0 --static-thresh=0 --bias-pct=50 --minsection-pct=0
      --maxsection-pct=2000 --arnr-maxframes=7 --arnr-strength=5 --sharpness=0
      --undershoot-pct=100 --overshoot-pct=100 --frame-parallel=0
      --tile-columns=0 --profile=0 --test-decode=warn -v --psnr
      
      Change-Id: Ibd72dbe1f620e6de231513220ee4e190606613ae
      43e6281f