1. 24 Jun, 2017 2 commits
  2. 21 Jun, 2017 3 commits
    • Debargha Mukherjee's avatar
      Add chorma tilesize option in loop-restoration · 84f567c7
      Debargha Mukherjee authored
      Adds an option bit in the bitstream syntax to allow chroma to
      have restoration tilesize that is coupled to luma based on
      subsmapling of the color components.
      
      This is meant to ease encoder hardware implementation.
      
      Change-Id: Ic3cc2b68c0f33701ed3ff2fe19cf57cd864da67f
      84f567c7
    • Timothy B. Terriberry's avatar
      cb4x4: Move sub-4X4 block sizes behind chroma flags. · 81ec2619
      Timothy B. Terriberry authored
      cb4x4 itself should not require these sizes.
      
      This simplifies compatibility with other experiments, since we can
      first make them work with cb4x4 (which is now on by default), and
      then worry about chroma_sub8x8 and chroma_2x2 (which is not) in
      separate steps.
      
      Encoder and decoder output should remain unchanged.
      
      Change-Id: Iff2a5494cab3b7d96f881e8bd9cd4bf18c817cfa
      81ec2619
    • Timothy B. Terriberry's avatar
      ext_inter: Skip compound type probs. for small block sizes. · 4a81001b
      Timothy B. Terriberry authored
      When writing the compressed header, prob_diff_update() was called
      for compound_type_prob[] for every defined block size, even though
      luma never uses block sizes smaller than 4x4.
      
      This fixes is_any_masked_compound_used() and
      is_interinter_compound_used() to properly return 0 for chroma-only
      block sizes, and then uses these functions to guard the probability
      updates in write_compressed_header() and read_compressed_header(),
      the same way the actual compound type values are guarded in
      read_inter_block_mode_info() and pack_inter_mode_mvs().
      
      Change-Id: Ib521cf53f9ec166ef634609c8b47c5814b6a9ff5
      4a81001b
  3. 20 Jun, 2017 3 commits
    • Frederic Barbier's avatar
      Cleanup useless 'else' · fe06cb72
      Frederic Barbier authored
      Change-Id: Ieaa6c453cd2cf9d5e15801a246ac0aebf9f4501a
      fe06cb72
    • Frederic Barbier's avatar
      Replace dead assertion · 237c53e5
      Frederic Barbier authored
      As delta_q_present_flag is set to 0 if segment_quantizer_active is 1,
      previous assert was never evaluated.
      
      Change-Id: Ia89fffc2f82595198acd2630d5d5d5ba22d43633
      237c53e5
    • Jonathan Matthews's avatar
      Fix compilation for · c6469232
      Jonathan Matthews authored
       CONFIG_DELTA_Q &&
       !CONFIG_EC_ADAPT &&
       !CONFIG_EXT_DELTA_Q
      
      Introduced in
        Ic42f60e19c56db52dd51b3784fd305c7e6b595c7
      
      BUG=aomedia:616
      
      Change-Id: Id0af560914d6b32c467dbb773d9462a089260944
      c6469232
  4. 19 Jun, 2017 2 commits
    • Angie Chiang's avatar
      Fix compile error of lv_map · 0eac3199
      Angie Chiang authored
      Change-Id: Ic328d112a4f950396d60113cf1b0f50e96fdfebf
      0eac3199
    • Zoe Liu's avatar
      Add new coding tool of ext-comp-refs · c082bbcb
      Zoe Liu authored
      The tool of ext-comp-refs adds the uni-directional compound reference
      prediction. In details, 3 pairs of uni-direcitonal compound references
      are added for the comp ref prediction:
      (LAST_FRAME, LAST2_FRAME),
      (LAST_FRAME, GOLDEN_FRAME), and
      (BWDREF_FRAME, ALTREF_FRAME).
      
      This new tool of ext-comp-refs will eventually overwrite
      one-side-compound and have the two coding tools to merge to one.
      
      It achieves -0.35 ~ -0.55% coding gains in BDRate, compared against
      AV1 baseline with the default experiments on, but without
      one-sided-compound. It achieves -0.2% ~ -0.3% coding gains when
      one-sided-compound is on. It achieves larger gains on higher
      resolution.
      
      Change-Id: Icbdb16e97b96aaebaf2213f5f72d5331e2e358eb
      c082bbcb
  5. 16 Jun, 2017 8 commits
  6. 15 Jun, 2017 2 commits
  7. 14 Jun, 2017 3 commits
  8. 13 Jun, 2017 2 commits
    • David Barker's avatar
      Remove unused 'inter_mode_probs/cdf' · 846f1086
      David Barker authored
      Change-Id: I4ac551f52f9a5f589d58b643a9849ec17e3c11e8
      846f1086
    • Zoe Liu's avatar
      Add encoder/decoder pipeline to support single ref comp modes · 85b66463
      Zoe Liu authored
      Now the single ref comp mode should work with WEDGE and
      COMPOUND_SEGMENT. For motion_var, the OBMC_CAUSAL mode uses the 2nd
      predictor if the neighboring block is single ref comp mode predicted.
      
      This patch removes the mode of SR_NEAREST_NEWMV and leaves four
      single ref comp modes in total:
      
      SR_NEAREST_NEARMV
      SR_NEAR_NEWMV
      SR_ZERO_NEWMV
      SR_NEW_NEWMV
      
      Change-Id: If6140455771f0f1a3b947766eccf82f23cc6b67a
      85b66463
  9. 12 Jun, 2017 3 commits
    • Fergus Simpson's avatar
      frame_superres: Post encode/decode upscaling · d2bcbb56
      Fergus Simpson authored
      This patch implements the post-encode and post-decode upscaling for the
      frame superresolution experiment to work.
      
      Upscaling happens after cdef and before loop restoration.
      
      For now, this patch forces on random-superres.
      
      The patch also cleans up some broken rate control hooks from VP9
      days, to be brought back later when the resize and superres tools
      are stable.
      
      Change-Id: If0a8f69224dfaa0f4ae7703bd429ea2af953c7a6
      d2bcbb56
    • Yue Chen's avatar
      supertx: code refactoring + resolve conflicts with baseline · 8e689e4b
      Yue Chen authored
      Refactoring: split prediction+extension for each plane, so we can
      handle luma/chroma supertx pred in different ways.
      Compatibility fix: fix conflicts with cb4x4 and chroma_sub8x8, now
      for chroma sub8x8 supertx, only the top-left(basic cb4x4) or the
      the bottom-right(cb4x4 + chroma_sub8x8) predictor will be used
      without any blending within a 8x8 unit.
      
      Change-Id: I6cf7b12768a82d3c7e01811ada02de84af9bd8ac
      8e689e4b
    • Zoe Liu's avatar
      Add encoder/decoder support for var-refs · 7b1ec7a9
      Zoe Liu authored
      Check the availability of the reference frames at the frame level at
      both encoder and decoder, and if a reference frame is not available
      for a specific video frame, remove the signaling of such reference
      frame info at the block level.
      
      This patch adds the consideration of the bit saving inside the RD
      optimization loop.
      
      Change-Id: I4c22f1b843b21c7d2b47e118c99c3ad615a3d4e4
      7b1ec7a9
  10. 08 Jun, 2017 1 commit
    • Sarah Parker's avatar
      Remove deprecated high-bitdepth functions · 31c66502
      Sarah Parker authored
      This unifies the codepath for high-bitdepth transforms and deletes
      all calls to the old deprecated versions. This required reworking
      the way 1d configurations are combined in order to support rectangular
      transforms.
      
      There is one remaining codepath that calls the deprecated 4x4 hbd
      transform from encoder/encodemb.c. I need to take a closer look
      at what is happening there and will leave that for a followup
      since this change has already gotten so large.
      
      lowres 10 bit: -0.035%
      lowres 12 bit: 0.021%
      
      BUG=aomedia:524
      
      Change-Id: I34cdeaed2461ed7942364147cef10d7d21e3779c
      31c66502
  11. 06 Jun, 2017 1 commit
    • Debargha Mukherjee's avatar
      Make loop-restoration compatible w/ frame_superres · 2dd982e4
      Debargha Mukherjee authored
      When frame_superres is on, loop-restoration should work
      on the size of the upscaled frame and not on the internal
      width and height in the common structure. This patch
      makes the necessary changes on the encoder and decoder
      side to enable that.
      
      Change-Id: I1d1c024ac6f95944169d90647b4c5a61354a5cc6
      2dd982e4
  12. 02 Jun, 2017 2 commits
    • Alex Converse's avatar
      intrabc: adapt use_intrabc prob · 7c412ea4
      Alex Converse authored
      First keyframe BD-RATE objective-1-fast:
         PSNR | PSNR Cb | PSNR Cr | PSNR HVS |    SSIM | MS SSIM | CIEDE 2000
      -0.3705 | -0.3232 | -0.3812 |  -0.3782 |     N/A | -0.3412 |        N/A
      
      First keyframe BD-RATE twitch-1:
         PSNR | PSNR Cb | PSNR Cr | PSNR HVS |    SSIM | MS SSIM | CIEDE 2000
      -0.2479 | -0.2477 | -0.2467 |  -0.2567 | -0.2486 | -0.2508 |    -0.2487
      
      
      
      Change-Id: Iea6c895c6fe9e9764887a8968f6e5330903969d3
      7c412ea4
    • Fergus Simpson's avatar
      Revert "frame_superres: Send scale every frame" · 7b2d1448
      Fergus Simpson authored
      This reverts commit 846d67dd.
      
      Writing the scale every frame was not the right decision. The correct
      thing to do will be also writing the superres scale when the size is
      set using a previous frame.
      
      Change-Id: I0402e7f6d2b89ac7c386f81e8628198d22db5066
      7b2d1448
  13. 29 May, 2017 1 commit
  14. 25 May, 2017 3 commits
  15. 24 May, 2017 1 commit
    • Thomas Davies's avatar
      AOM_QM: redesign matrices and support CB_4X4 and RECT-TX. · 6675adff
      Thomas Davies authored
      All matrices are derived by subsampling 32x32 and 32x16 matrices.
      Inter and intra matrices now use the same matrix set.
      
      BUG=aomedia:520
      
      AWCY results for default setting (qm-min=5, qm-max=9):
      
        PSNR  | PSNR Cb | PSNR Cr | PSNR HVS | SSIM  | MS SSIM | CIEDE 2000
         2.75 |  7.98   |    -    |  -3.52   |  0.73 |   -2.21 |   4.22
      
      Change-Id: I8414d19eaf50cfe80d4fe2290da6cdf4ebb406cb
      6675adff
  16. 21 May, 2017 1 commit
    • Timothy B. Terriberry's avatar
      cb4x4: Fix reset_skip_context() without chroma_2x2 · a2d5cdef
      Timothy B. Terriberry authored
      reset_skip_context() was always clearing the entropy contexts for
      all three color planes, using a block size that corresponded with
      the luma plane.
      
      However, when chroma_2x2 is disabled, then for sub-8x8 luma block
      sizes, the corresponding chroma block size is always 4x4, and the
      skip flag only affects the chroma blocks corresponding to the
      upper-left luma block.
      
      This patch makes reset_skip_context() reset the contexts that
      actually correspond to the chroma blocks that are skipped (if any).
      It also moves reset_skip_context() to av1_reset_skip_context() in
      blockd.c, because blockd.h gets included before onyx_int.h, which
      declares the required is_chroma_reference() function.
      reset_skip_context() was too large and used in too many places to
      be a reasonable candidate for inlining, anyway.
      
      AWCY results on objective-1-fast:
      
      cb4x4-fix-base@2017-05-11T06:26:50.159Z -> cb4x4-fix-reset_skip@2017-05-11T06:28:45.482Z
        PSNR | PSNR Cb | PSNR Cr | PSNR HVS |   SSIM | MS SSIM | CIEDE 2000
      0.0301 |  0.1068 |  0.1463 |   0.0359 | 0.0260 |  0.0347 |     0.0479
      
      A regression (near the noise range), but without this fix, the line
      buffer size required by the entropy contexts will be doubled.
      
      Change-Id: I12fa6e60d9c1c7c85927742775a346ea22b3193f
      a2d5cdef
  17. 20 May, 2017 2 commits
    • hui su's avatar
      DPCM intra coding experiment · b8a6fd6b
      hui su authored
      Encode a block line by line, horizontally or vertically. In the vertical
      mode, each row is predicted by the reconsturcted row above;
      in the horizontal mode, each column is predicted by the reconstructed
      column to the left.
      
      The DPCM modes are enabled automatically for blocks with horizontal or
      vertical prediction mode, and 1D transform types (ext-tx).
      
      Change-Id: I133ab6b537fa24a6e314ee1ef1d2fe9bd9d56c13
      b8a6fd6b
    • Nathan E. Egge's avatar
      Replace EC_MULTISYMBOL with DAALA_EC || ANS. · cd539518
      Nathan E. Egge authored
      Change-Id: Ia0eb3a3694fdbe9d33548ff4014b704b2f3db86a
      cd539518