1. 16 Mar, 2017 3 commits
    • Angie Chiang's avatar
      Add frame level buffer to store txfm coeffs · f0fbf9d9
      Angie Chiang authored
      Doing tokenize in the last step of RD loop and then doing packing
      tokens in bitstream packing phase is hard for debugging.
      
      Therefore, we create a frame-level buffer to store the txfm coeffs
      from the reconstruction in RD loop and then in bitstream packing
      phase, we can code the txfm coeffs directly.
      
      Change-Id: I999470eef6e038317a91585df2bdfc20aca3573e
      f0fbf9d9
    • Alex Converse's avatar
      Account for elided extrabits during rate cost calculation. · da3d94fe
      Alex Converse authored
      Fixes some rd-debug mismatches coding cat6 tokens with tx size < 32x32.
      For these tokens the high extrabits are elided during tokenization and
      detokenization, but the rd cost was computed with the old tables from
      VP9 where these high extrabits are always coded.
      
      Change-Id: I4a9a6ea822ff821e1932c351d43a57bdb4d6d466
      da3d94fe
    • Alex Converse's avatar
      highbitdepth: deduplicate extrabits · e063e2dd
      Alex Converse authored
      Change-Id: Ib1777433c10e3b64f939c533c12a89dfc839bc6a
      e063e2dd
  2. 15 Mar, 2017 10 commits
    • Yue Chen's avatar
      Fix recon mismatches in GLOBAL_MOTION+MOTION_VAR · 74a77546
      Yue Chen authored
      The offset of neighbors is communicated to av1_make_inter_predictors
      so as to use the correct mi in gm warping
      
      Change-Id: I471bbdf2112ed678969492b11730f15d9527eb7e
      74a77546
    • Alex Converse's avatar
      ext_partition_types: Make update tree shape match · 4e18d403
      Alex Converse authored
      Update the first PARTITION_PLOFFSET (4) contexts with the four classic
      partitions. The extended partitions are only codable above 8x8, but
      there are PARTITION_PLOFFSET (4) contexts for dropping below 8x8.
      
      Change-Id: Ib3291dded6dc24103222e8f470504c20e29adb88
      4e18d403
    • Thomas Davies's avatar
      NEW_TOKENSET: Make zero block value uncodeable for AC coeffs. · 1c05c635
      Thomas Davies authored
      Change-Id: Icd7528d1ec8e117205e5e35ad9a11cfa83b08253
      1c05c635
    • Thomas Davies's avatar
      Remove decoder coefficient counts for NEW_TOKENSET + EC_ADAPT. · a134e2dc
      Thomas Davies authored
      These are no longer used in probability updates.
      
      Change-Id: Idf5037f769d43972434b5ecbff3550b3f97be21a
      a134e2dc
    • Sarah Parker's avatar
      Enable rect-tx by default · 81915f5d
      Sarah Parker authored
      Change-Id: I51f31083988d7d5c574067c1a3aa98b7949adcee
      81915f5d
    • Sarah Parker's avatar
      Fix broken assert when rect-tx is enabled on its own · 076437f4
      Sarah Parker authored
      The function is_rect_tx previously was only defined when
      both ext-tx and rect-tx are enabled together. This function
      needs to be defined when rect-tx is enabled alone to fix
      failing asserts.
      
      Change-Id: Ic8153a55b768cb49caac07d6aeaee109d63410a9
      076437f4
    • Fergus Simpson's avatar
      frame_superres: Add experimental flag · 6ee201db
      Fergus Simpson authored
      Frame Super-Resolution is an experiment currently under development.
      This commit just adds an experimental flag for it.
      
      The goal of the experiment is to compress a downsampled version of a
      frame instead of the full resolution one when bandwidth is limited. The
      decoder will need to upsample and filter the frame it recieves after
      decoding. It is thought that this will result in a visually superior
      result in low bandwidth scenarios.
      
      Change-Id: Ia8af8692cffd133db3838693fd85ded2442b078c
      6ee201db
    • Thomas Davies's avatar
      NEW_TOKENSET: do not code impossible values. · 04bdd523
      Thomas Davies authored
      In the last position, No-EOB values and zero are all not
      possible.
      
      AWCY, objective-1-fast: -0.08% all metrics
      AWCY, screen content:
      
      PSNR YCbCr:    -0.42%    -0.42%    -0.43%
      PSNRHVS:       -0.40%
      SSIM:          -0.41%
      MSSSIM:        -0.41%
      CIEDE2000:     -0.42%
      
      Change-Id: Iad012abfd2a48a2c9ff27512f92b27235a5a8a4a
      04bdd523
    • Thomas Davies's avatar
      NEW_TOKENSET: improve RDO. · 10525758
      Thomas Davies authored
      Modify av1_coef_cost to reflect that EOB values are sent
      with each non-zero coefficient, and modify chroma weight
      to preserve original chroma balance.
      
      AWCY, objective-1-fast, new_token+ec_adapt vs ec_multisymbol:
      
      PSNR YCbCr:     -0.43%      -0.52%      -0.58%
      PSNRHVS:        -0.81%
      SSIM:           -0.73%
      MSSSIM:         -0.93%
      CIEDE2000:      -0.36%
      
      This change:
      
      PSNR YCbCr:     -0.15%      0.83%      0.77%
      PSNRHVS:        -0.24%
      SSIM:           -0.23%
      MSSSIM:         -0.24%
      CIEDE2000:       0.24%
      
      Change-Id: I7f2dd9f3cd24bb64eb4131cba94dda466b9691b0
      10525758
    • Thomas Davies's avatar
      EC_ADAPT: Perform backwards updates directly on CDFs. · 028b57f5
      Thomas Davies authored
      The initial CDF for each frame is stored in
      the frame context. CDFs for actual coding are
      stored in the tile structures, and these are
      what get adapted. The initial CDF is replaced
      by an average CDF derived from these tile CDFs.
      This is carried forward to future frames when
      backward adaptation is on.
      
      CDFs are no longer set from the 8 bit probabilities
      in backwards adaptation.
      
      For now, 8 bit probabilities are maintained for
      use in the encoder and for symbols which do not
      have a CDF.
      
      Change-Id: I106b30510bfad1fa57d077f7702acc1864378a09
      028b57f5
  3. 14 Mar, 2017 8 commits
  4. 13 Mar, 2017 9 commits
  5. 11 Mar, 2017 8 commits
  6. 10 Mar, 2017 2 commits
    • Fergus Simpson's avatar
      rdopt: move/remove 2d arrays in pick_inter_mode_sb · 3424c2de
      Fergus Simpson authored
      Two 2D arrays were passed to HandleInterMode and not used elsewhere.
      
      One has been added to the HandleInterModeArgs struct to
      simplify handle_inter_mode's signature and the the calling function.
      
      The other has been unread since commit
      beacb3ff. That patch removed the
      "skip_txfm optimization" but left the single_skippable array in place,
      even though it was no longer read. Since the array's only usage has been
      removed, this patch removes the variable outright.
      
      Change-Id: I6e680a9ddc6f67961153819a62009751252757a8
      3424c2de
    • David Barker's avatar
      Vectorize new highpass filter for loop-restoration · eed824ef
      David Barker authored
      Change-Id: Ibe5d4933f599456cb496f636de244694bc786a4c
      eed824ef