1. 03 Feb, 2017 6 commits
  2. 01 Feb, 2017 1 commit
    • David Barker's avatar
      Fix encode/decode mismatches for supertx + delta-q · 3aec8d6c
      David Barker authored
      This fixes the following mismatch bugs:
      * At the bitstream level, the decoder would not read the delta_qindex
        information for supertx blocks, but the encoder always sent it,
        leading to the encoder and decoder becoming misaligned.
        The delta_qindex information is still required for supertx blocks,
        so change the decoder to read it.
      * In addition, the quantizer was not properly adjusted for supertx
        blocks at the decoder. We copy the quantizer setup code from
        non-supertx blocks.
      
      Since this does not change the encoder, it should not have any
      quality impact.
      
      Change-Id: I9a0f79c3aa66f2a5a353821e2a6f3b526636e7b4
      3aec8d6c
  3. 31 Jan, 2017 4 commits
  4. 30 Jan, 2017 2 commits
  5. 27 Jan, 2017 3 commits
  6. 26 Jan, 2017 2 commits
    • Urvang Joshi's avatar
      Palette: Don't store tokens for pixels outside image boundary. · 56ba91bb
      Urvang Joshi authored
      If part of a block falls outside right and/or bottom image boundary,
      then only store tokens for the part of it within the boundary.
      
      Also, consider only the part of the block within the boundary when
      calculating the number of colors in the image, deciding the base
      colors for palette, RD calculation etc.
      
      The part of color map corresponding to pixels outside the image
      boundary is padded with color indices copied from same row/column.
      This behavior is similar to how pixels outside the boundary are padded.
      
      For screen_content set, this is improves compression performance by
      0.038 overall. One clip, in particular, has a significant gain of 0.8.
      
      Change-Id: I745ca032f313c5041aacc98c03ae4bfc33d840de
      56ba91bb
    • ltrudeau's avatar
      Convert PVQ skip variable to enum · e1c0929f
      ltrudeau authored
      Creates the PVQ_SKIP_TYPE enum to encapsulate the different types of
      skipping that can be signaled by PVQ (i.e. skip: AC, DC or both).
      
      There is no impact on the bitstream. However, the decoder will now emit
      an internal error if the decoded skip flag is out of range. The
      block_skip variable is also renamed to ac_dc_coded as it stores the same
      information.
      
      Change-Id: Ib2aadaf99dc1736ea392ae5ed8948c3cdc12da9b
      e1c0929f
  7. 25 Jan, 2017 1 commit
    • hui su's avatar
      Cleanup for the entropy experiment · 0161a932
      hui su authored
      Minor performance changes
      0.03% better on lowres
      0.01% better on midres
      
      Change-Id: I7a7168f3a2a4d17a03353841a416eff6edf1e241
      0161a932
  8. 24 Jan, 2017 2 commits
    • David Barker's avatar
      Make ext-inter use new rectangular intra predictor · 839467f4
      David Barker authored
      Now that https://aomedia-review.googlesource.com/#/c/6729/
      has been merged, build_intra_predictors_for_interintra() is
      now redundant, so replace it by a direct call to
      av1_predict_intra_block() and remove the old function.
      
      Reset rect_interintra back to 1.
      
      To do this, we need to make the intra predictor take a
      BLOCK_SIZE instead of a TX_SIZE. This is because we need to
      be able to predict 32x64 and 64x32 blocks, but there is no
      TX_32X64 or TX_64X32.
      
      No effect on output or performance.
      
      Change-Id: I8c185a211c97a85012cc54ec293c785a693608ed
      839467f4
    • Jingning Han's avatar
      Fix conflicts between ext-inter and cb4x4 modes · 61418bbd
      Jingning Han authored
      Resolve the broken coding pipeline in ext-inter experiment when
      cb4x4 mode is enabled. Turn off rectangular inter-intra mode.
      This needs some more work to hook up. Given that it gives fairly
      limited coding performance gains, disable it for the moment.
      
      BUG=aomedia:309
      
      Change-Id: I9b406df6183f75697bfd4eed5125a6e9436d84b0
      61418bbd
  9. 23 Jan, 2017 4 commits
    • Fangwen Fu's avatar
      enable explicit temp mv prediction signaling · 8d164de2
      Fangwen Fu authored
      Change-Id: Ieb2922c3df4ef4f8514b8a6df6f9a8fc45ef3cf4
      8d164de2
    • Emil Keyder's avatar
      Rename NONE to NONE_FRAME. · 01770b3e
      Emil Keyder authored
      This follows the naming for the other frame types, and allows libaom
      to be compiled against other libraries that also #define NONE.
      
      Change-Id: Ic2e2814587bbc5ea67385a9af775396d29b7dde0
      01770b3e
    • Yushin Cho's avatar
      Add a new experiment, DAALA_DIST · 7a428ba2
      Yushin Cho authored
      This commit adds a new experiment, Daala's distortion function,
      which is designed to better approximate perceptual distortion
      in 8x8 pixel blocks.
      
      This experiment is expected to work best with PVQ.
      
      It measures the variance of overlapped 4x4 regions in the 8x8 area,
      then uses these variances to scale the MSE of weighted frequency domain
      distortion of 8x8 block.
      
      Since AV1 calculates distortion in blocks as small as 4x4, it is not possible to
      directly replace the existing distortion functions of AV1,
      such as dist_block() and block_rd_txf().
      Hence, there has been substantial changes in order to apply
      Daala's 8x8 distortion function.
      The daala distortion function is applied
      after all 4x4 tx blocks in a 8x8 block are encoded (during RDO),
      as in below two cases:
      1) intra/inter sub8x8 predictions and
      2) 4x4 transform with prediction size >= 8.
      
      To enable this experiment, add '--enable-daala-dist' with configure.
      
      TODO: Significant tuning of parameters is required since the function has
      originally came from Daala thus most parameters would not work
      correctly outside Daala.
      The fact that chroma distortion is added to the distortion of AV1's RDO is
      also critical since Daala's distortion function is applied to luma only
      and chroma continues to use MSE.
      
      Change-Id: If35fdd3aec7efe401f351ba1c99891ad57a3d957
      7a428ba2
    • Jingning Han's avatar
      Support filter-intra in cb4x4 mode · 48b1cb35
      Jingning Han authored
      This commit resolves an enc/dec mismatch issue when both filter-intra
      and cb4x4 modes are enabled.
      
      BUG=aomedia:253
      
      Change-Id: I4026d93c00a819f2ce69aedba9d34a774319acbf
      48b1cb35
  10. 21 Jan, 2017 2 commits
    • Jingning Han's avatar
      Make adapt-scan support rectangular transform block sizes · 758b2ceb
      Jingning Han authored
      This commit enables the adaptive scan order system support
      rectangular trnasform block sizes. It resolves the coding failure
      when rect-tx or var-tx are enabled.
      
      BUG=aomedia:143
      
      Change-Id: Ic565284e811e3f7e0ebf2e08fb3748257ce8a049
      758b2ceb
    • Jingning Han's avatar
      Support rectangular tx size in cb4x4 mode · 3daa4fda
      Jingning Han authored
      This commit makes ext-tx and rect-tx experiments supported in the
      cb4x4 mode. It resolves an enc/dec mismatch issue when all the
      transform experiments are enabled.
      
      The coding gains are
              ext-tx + rect-tx   cb4x4    vartx     total
      lowres      4.0%           2.3%      0.5%     6.9%
      
      The encoding speed is about the same when cb4x4 and vartx are
      further enabled.
      
      BUG=aomedia:139
      
      Change-Id: I3fdabc6d5de23ceb78ac0751a9bf7332ebc0a3ac
      3daa4fda
  11. 20 Jan, 2017 7 commits
  12. 19 Jan, 2017 5 commits
  13. 18 Jan, 2017 1 commit
    • Yue Chen's avatar
      Add rd loop of NCOBMC · f27b1605
      Yue Chen authored
      At the final round of encoding of each superblock, will go through
      each prediction block to check if ncobmc mode is better than non-
      overlapped prediction. Note that causal obmc mode is dumped here.
      
      PSNR gain (MOTION_VAR + NCOBMC): -2.845% lowres
      
      Change-Id: Ibe504f7f1882446a08ba426e1e9824bca73bf655
      f27b1605