1. 06 Sep, 2017 4 commits
  2. 05 Sep, 2017 2 commits
  3. 04 Sep, 2017 1 commit
  4. 02 Sep, 2017 1 commit
  5. 01 Sep, 2017 1 commit
    • David Barker's avatar
      Miscellaneous fixes for var-tx · 16c64e33
      David Barker authored
      Lots of small bug fixes, mainly around the transform size coding:
      
      * The loop filter was accidentally using the non-subsampled
        block size for the V plane, due to comparing a plane index
        (0, 1, or 2) against PLANE_TYPE_UV (== 1)
      
      * We allowed an initial update of the transform partition probabilities
        even on frames where we know they will never be used
        (because tx_mode != TX_MODE_SELECT).
        Further, these probabilities would not be reverted at the end
        of the frame, leading to the probability delta persisting across frames.
      
        Change this to behave more like the non-var-tx transform size coding,
        where probability deltas are only coded for frames with
        tx_mode == TX_MODE_SELECT, and the deltas only apply for one frame.
      
      * Fix decoder for the case where the video as a whole isn't lossless,
        and we have tx_mode == TX_MODE_SELECT, but the current segment
        *is* lossless.
        Note that the encoder already does the right thing in this case.
      
      * Don't allow the transform splitting to recurse "below" 4x4.
        This is really just a refactor, but means we can increase the
        maximum depth when subdividing rectangular transforms if we
        want to, whereas the previous code would have needed special cases
        for 4x8 and 8x4 transforms.
      
      * Finally, when we hit the maximum splitting depth, don't update
        the counts as if we had coded a 'no split' symbol.
      
      Change-Id: Iaebdacc9de81d2e93d3c49241e719bbc02e32682
      16c64e33
  6. 31 Aug, 2017 5 commits
    • Hui Su's avatar
      Do not allocate leaf nodes in pc tree when CB4x4 is on · cad9fb52
      Hui Su authored
      Change-Id: Idbde50deab816b669ca362e3e739c76a7f434f2c
      cad9fb52
    • Luc Trudeau's avatar
      [CFL] Asserts for chroma_sub8x8 · c84c21c4
      Luc Trudeau authored
      When Chroma from Luma is combined with chroma_sub8x8, the prediction
      used for sub8x8 blocks originates from multiple luma blocks. Extra
      asserts are added to validate that the prediction buffer contains all
      the required information.
      
      Change-Id: I305c46ce9b8292697e1d5b181d123461026da11c
      c84c21c4
    • hui su's avatar
      Remove probablity model for coeffecient tokens · b53682f5
      hui su authored
      Remove the token prob tables and counters.
      
      Change-Id: Ic63d52d80bb922fc10b586c27a20f2378618168c
      b53682f5
    • Jingning Han's avatar
      Enable motion field estimation in DRL · ffbb0f91
      Jingning Han authored
      Enable the use of motion field estimation in the dynamic motion
      vector referencing system. With default experiments on, it improves
      the compression performance:
      
      lowres 1.2%
      midres 1.5%
      
      Change-Id: Ifc5b15a7239b5c3212ea50f326ab99d372034658
      ffbb0f91
    • Jingning Han's avatar
      Add frame index to the decoded frames · c723b348
      Jingning Han authored
      Add frame index to the deocded frames. Store such information to
      the reference frame buffer pool. This design allows each frame
      to know its index in natural order, as well as its reference
      frames positions.
      
      Change-Id: I5bb36928dc5750a4fdcc582dca0d244d6482f400
      c723b348
  7. 30 Aug, 2017 1 commit
  8. 29 Aug, 2017 3 commits
  9. 28 Aug, 2017 3 commits
    • Jingning Han's avatar
      Refactor lv-map coefficient buffers · f5a4d3ba
      Jingning Han authored
      Reduce the encoder memory footprint in lv-map by ~800X.
      
      BUG=aomedia:713
      
      Change-Id: I7aad604cf3186a0d3c6d5b6d1aa9489ac7c36093
      f5a4d3ba
    • Luc Trudeau's avatar
      [CFL] Move store flag to CFL_CTX · fcca37a4
      Luc Trudeau authored
      With recent changes, it is now possible to store the storage
      flag inside the CFL_CTX. This simplifies the implementation
      and will allow reuse in the decoder.
      
      This change does not alter the bitstream.
      
      Change-Id: Ibb8aebdd3d06f8765d40248ece8a038892e87032
      fcca37a4
    • Luc Trudeau's avatar
      [CFL] Reorganize Reconstructed Pixel Buffering · 32306c22
      Luc Trudeau authored
      Reworked how the storage flag is set to avoid duplication on the encoder
      side. Reconstructed Luma pixels are stored in encode_superblock in the
      loop that calls av1_encode_intra_block_plane and in the extra call to
      txfm_rd_in_plane after the luma RDO, but prior to the chroma RDO.
      
      This change does not alter the bitsteam.
      
      Change-Id: Ifd8441363ea0733fea3d06129a025940abb2abc9
      32306c22
  10. 26 Aug, 2017 1 commit
  11. 25 Aug, 2017 1 commit
    • Rupert Swarbrick's avatar
      Add support for 16x4 partitions · 6a93b155
      Rupert Swarbrick authored
      When updating default_partition_cdf, this sums the probabilities that
      were divided evenly across the pairs PARTITION_HORZ_A/PARTITION_HORZ_B
      and PARTITION_VERT_A/PARTITION_VERT_B. Those summed probabilities now
      get distributed evenly across the triples you get by adding
      PARTITION_HORZ_4 and PARTITION_VERT_4, respectively.
      
      Rather than implement 2X8/8X2 blocks for now, ss_size_lookup returns
      4X8/8X4 block sizes to use as chroma transform sizes for 4X16/16X4
      blocks.
      
      The changes in setup_pred_plane and set_skip_context are because this
      is presumably the first time we've had to deal with 16x4 or 4x16
      blocks. Since BLOCK_16X4 is not less than BLOCK_8X8, the existing
      logic didn't work (and the "shuffle back one" logic should probably be
      done for small widths and heights separately).
      
      Change-Id: If28d8954da42d6c726f2bcce2cb5242154b0870c
      6a93b155
  12. 24 Aug, 2017 1 commit
    • Yue Chen's avatar
      Update cdf and mode rate per superblock in RDO · b855b8e8
      Yue Chen authored
      Update cdf after each superblock being finalized, and re-compute
      symbol costs. Affected symbols include prediction parameters,
      tx type, and new motion vector.
      BDRate: -0.121% lowres, -0.089% midres
      
      Change-Id: I005ef382762d6e3423f933cca0a0b7b40288e8bf
      b855b8e8
  13. 22 Aug, 2017 4 commits
    • Sarah Parker's avatar
      Refactor palette functions to write a general color map · 0cf4d9f1
      Sarah Parker authored
      This will allow the mrc-tx experiment to pass in its own color map
      and set of probabilities to the tokenize and bit packing functions.
      The corresponding change on the decoder side will come in a followup
      shortly.
      
      No change in performance.
      
      Change-Id: I1872b7f1b1cf5b102e6289388ce1ae449e67cb4d
      0cf4d9f1
    • Yaowu Xu's avatar
      Revert "Prevent access of array using -1 index" · 03dc6799
      Yaowu Xu authored
      This reverts commit 38cdce8e.
      
      Reason for revert: <INSERT REASONING HERE>
      
      It is reported that this introduced a segment fault, revert now to investigate. 
      
      Change-Id: I229dcdc09462ae4eb9cf2a3da4ce59aa9eafe65e
      03dc6799
    • Jingning Han's avatar
      Account for cdf model update in lv-map coding · 8f661605
      Jingning Han authored
      Make the lv-map rate-distortion optimization account for the
      per symbol cdf update. This improves the level map coding
      performance by 0.4%.
      
      Change-Id: I1cbecafbad4e6642abc3782c9741636d92d87eb7
      8f661605
    • Jingning Han's avatar
      Support per symbol cdf update in lv-map encoding · 24b0cf96
      Jingning Han authored
      Allow per symbol cdf probability model update in the lv-map
      encoding process.
      
      Change-Id: Id0c4a659c04ffa981d8f04537eda2f1304d1682a
      24b0cf96
  14. 21 Aug, 2017 1 commit
  15. 17 Aug, 2017 3 commits
    • Yushin Cho's avatar
      cdef-dist and daala-dist is runtime switchable · e30a47ca
      Yushin Cho authored
      Use --tune=[cdef-dist|daala-dist] to enable them.
      
      Also, this commit set the use_activity_masking of PVQ as 0 by deafult,
      which means that PVQ assumes daala-dist is not used by default.
      
      Since we're currently not signaling which metric the encoder did use
      in the bitstream, the compile flag AV1_PVQ_ENABLE_ACTIVITY_MASKING will tell PVQ
      whether daala-dist is used or not.
      
      This commit is the last part of prep-work to remove DIST_8X8, CDEF_DIST,
      and DAALA_DIST experimental flags.
      
      Change-Id: Ia465b4d6fe64aac7f04852c8f9f4bac3409d2435
      e30a47ca
    • Sarah Parker's avatar
      Add rate computation to palette · 9c0e4515
      Sarah Parker authored
      Currently the rate is never computed for the palette color indices.
      The code to compute the rate is inside av1_tokenize_palette_sb
      when dry_run == DRY_RUN_COSTCOEFFS, but av1_tokenize_palette_sb is
      only called when !dry_run.
      
      Change-Id: Ie33eae9e4bcf1997a22dc939f31001334cb2c399
      9c0e4515
    • Yushin Cho's avatar
      Introduce runtime switch for dist_8x8 · 55104335
      Yushin Cho authored
      Even if 'dist-8x8' is enabled with configure,
      the dist-8x8 is not acutally enabled (so, no change in encoding behaviour)
      until the command line option, '--enable-dist-8x8=1" is used.
      
      The cdef-dist and daala-dist can not be enabled by a command line option yet.
      
      This commit is a part of prep-work to remove DIST_8X8, CDEF_DIST,
      and DAALA_DIST experimental flags.
      
      Change-Id: I5c2df90f837b32f44e756572a19272dfb4c3dff4
      55104335
  16. 16 Aug, 2017 1 commit
    • Zoe Liu's avatar
      Add dependency of ext-comp-refs on one-sided-compound · 5a978838
      Zoe Liu authored
      When ext-comp-refs is enabled, one-sided-compound is enabled by default,
      which ensures the use of ext-comp-refs is an extension of
      one-sided-compound. Both coding tools allow the use of same-sided
      reference frame pairs for compound prediction.
      
      Also, remove the dependency of ext-comp-refs on var-refs, i.e. these two
      coding tools can be independently enabled. They can still work together
      if both are enabled simultaneously.
      
      Change-Id: I3134e7e2956dc35d557fe814f5d801d473683650
      5a978838
  17. 15 Aug, 2017 2 commits
    • Urvang Joshi's avatar
      Remove ALT_INTRA flag. · 93b543ab
      Urvang Joshi authored
      This experiment has been adopted as it has been cleared by Tapas.
      
      Change-Id: I0682face60f62dd43091efa0a92d09d846396850
      93b543ab
    • Debargha Mukherjee's avatar
      Miscellaneous fixes for resize/frame-superres · 17e7b081
      Debargha Mukherjee authored
      1. Fixes logic for disabling global motion w/ resize. Turns off
      conditional write/read of global parameters since it does not
      work currenlty. To be fixed later.
      2. Fixes call for av1_scale_if_required in encoder_frame_with_resize
      function
      3. Remove asserts for the scaled convolve functions
      
      Change-Id: I6a0f18b5ab5cc819bc27ef9fc2f28b0e391643a0
      17e7b081
  18. 10 Aug, 2017 2 commits
    • Jingning Han's avatar
      Refactor lv-map rate cost estimation · dfd72323
      Jingning Han authored
      Use the rate cost to replace the probability fetch. This improves
      the encoding speed of level map by 10%. No coding stats change.
      
      Change-Id: Iab0beac5da291eed50f657549667d4edffb4ead8
      dfd72323
    • Urvang Joshi's avatar
      Remove PALETTE flag · c6300aa1
      Urvang Joshi authored
      This experiment is now adopted as it was cleared by Tapas.
      
      Note: Palette use can still be controlled by command-line option
      "--tune-content=..." in 'aomenc'.
      
      Change-Id: I832f49f20f60c34bdef5b424755849c496687e87
      c6300aa1
  19. 07 Aug, 2017 1 commit
    • Cheng Chen's avatar
      Make braces consistent in encodeframe.c · 50b0f6ca
      Cheng Chen authored
      Enable vim to jump to correct corresponding braces, which
      is helpful especially when the function is long.
      
      Change-Id: Ibcf4f11df3e923e12bc33ec1656bb6dbd0451be6
      50b0f6ca
  20. 04 Aug, 2017 1 commit
  21. 03 Aug, 2017 1 commit
    • hui su's avatar
      Calculate coeff token cost before encoding each SB · bd57abe0
      hui su authored
      Compression gain:
      AWCY
      PSNR	PSNR HVS	SSIM	CIEDE 2000
      -0.42	-0.15   	-0.38	-0.62
      
      Google testsets
      lowres -0.18%
      midres -0.32%
      
      No obvious encoding speed changes observed.
      
      Change-Id: I888cf4b22b591d79d80b2d77c9eb10d84e5de722
      bd57abe0