1. 09 Sep, 2016 2 commits
  2. 07 Sep, 2016 1 commit
    • Sarah Parker's avatar
      Swap order of affine parameters · c4bcb506
      Sarah Parker authored
      This allows for a clean subtraction of 1 along the transform
      matrix diagonal and also makes the order of the parameter list
      a little more intuitive.
      
      Change-Id: I6a5d754af41b8d1292f241f9b21473160517d24f
      c4bcb506
  3. 06 Sep, 2016 1 commit
    • Yue Chen's avatar
      Make RECT_TX(>=8x8) work with VAR_TX · a1e48dcc
      Yue Chen authored
      Bitstream syntax:
      For a rectangular inter block, 'rect_tx' flag is sent to indicate if
      the biggest rect tx is used. If no, continue to decode regular
      recursive tx partition.
      
      Change-Id: I127e35cc619b65acb5e9a0717f399cdcdb73fbf0
      a1e48dcc
  4. 05 Sep, 2016 1 commit
    • Debargha Mukherjee's avatar
      Enable rectangular transforms for UV · 2f12340f
      Debargha Mukherjee authored
      Uses an array to map block sizes, y tx sizes, and subsampling
      factors to various transform sizes for UV.
      
      Results improve by 0.1-0.2%
      
      Change-Id: Icb58fd96bc7c01a72cbf1332fe2be4d55a0feedc
      2f12340f
  5. 02 Sep, 2016 2 commits
    • Yaowu Xu's avatar
      Change to use AOM copyright notice · 2ab7ff05
      Yaowu Xu authored
      Change-Id: I2b2b70e756b7eb9611b7b33b7d5f19b3b30e0a50
      2ab7ff05
    • Sarah Parker's avatar
      Add global motion experiment to rdopt · e5299865
      Sarah Parker authored
      This patch completes the global motion experiment
      implementation. It modifies the format of the motion
      parameters to use the mv union to facilitate faster
      copying and checks for parameters equal to 0 that occur
      frequently in rdopt. The rd decisions for the global motion experiment
      have also been added to rdopt.
      Change-Id: Idfb9f0c6d23e538221763881099c5a2a3891f5a9
      e5299865
  6. 01 Sep, 2016 4 commits
  7. 29 Aug, 2016 1 commit
    • Aamir Anis's avatar
      Tiling in loop restoration + cosmetics · e40e6e57
      Aamir Anis authored
      Frame can be split into rectangular tiles for application of separate
      bilateral or Wiener filters per tile. Some variable names changed for
      better readability.
      
      Change-Id: I13ebc4d0b0baf368e524db5ce276f03ed76af9c8
      e40e6e57
  8. 23 Aug, 2016 1 commit
  9. 22 Aug, 2016 1 commit
  10. 18 Aug, 2016 2 commits
  11. 16 Aug, 2016 3 commits
    • Sarah Parker's avatar
      Switch order of gm parameters for affine model · bec4fbe4
      Sarah Parker authored
      This was originally subtracting 1 from the wrong element in the
      parameter set.
      
      Change-Id: I790aafc505f7a8fe7bb00d7d6c62549487a0980f
      bec4fbe4
    • Yaowu Xu's avatar
      Port dering experiment from aom · 253c001f
      Yaowu Xu authored
      Mannually cherry-picked:
      15791332 Use OD_DIVU for small divisions in temporal_filter.
      03122298 Replace divides by small values with multiplies.
      9c48eec7 Removing divisions from od_dir_find8()
      0950ed82 Merge "Port active map / cyclic refresh fixes to vp10."
      efefdad7 Port active map / cyclic refresh fixes to vp10.
      1eaf748c Port switch to 9-bit rate cost to aom.
      0b1606e7 Only build deringing code when --enable-dering.
      e2511e15 Deringing cleanup: don't hardcode the number of levels
      8fe5c5d6 Rename dering_in to od_dering_in to sync with Daala
      4eb1380d Makes second filters for 45-degree directions horizontal
      7f4c3f58 Removes the superblock variance contribution to the threshold
      3dc56f93 Simplifying arithmetic by using multiply+shift
      cf2aaba9 Return 0 explicitly for OD_ILOG(0).
      49ca22aa Use the Daala implementation of OD_ILOG().
      85187243 Fix compiler warning in od_dering.c.
      485d6a69 Prevent multiple inclusion of odintrin.h.
      51b7a998 Adds the Daala deringing filter as experimental
      
      Note that a few of the changes were already in libvpx codebse.
      
      Change-Id: I1c32ee7694e5ad22c98b06ff97737cd792cd88ae
      253c001f
    • Yaowu Xu's avatar
      Port commits related to clpf and qm experiments · 0818a7c8
      Yaowu Xu authored
      Manually cherry-picked following commits from AOMedia git repository:
      bb2727c2 Sort includess for "clpf.h"
      c297fd00 Add quantisation matrix range parameters.
      0527894f Add encoder option and signaling for quant matrix control.
      4106232b Turn off trellis coding for quantization matrices.
      4017fca3 Modify tests to allow quantization matrices.
      1c122c24 Add quant and dequant functions for new quant matrices.
      95a89994 Enable CLPF
      f72782bb Fix a build issue
      73bae509 Add quantisation matrices and selection functions
      33208d20 Added support for constrained low pass filter (CLPF)
      
      Change-Id: I60fc1ee1ac40e6b9d1d00affd97547ee5d5dd6be
      0818a7c8
  12. 12 Aug, 2016 1 commit
  13. 04 Aug, 2016 1 commit
    • Zoe Liu's avatar
      Code refactoring on Macros related to ref frame numbers · 1af28f02
      Zoe Liu authored
      We have renamed following Macros to avoid name confusion:
      
      REFS_PER_FRAME --> INTER_REFS_PER_FRAME
      (= ALTREF_FRAME - LAST_FRAME + 1)
      MAX_REF_FRAMES --> TOTAL_REFS_PER_FRAME
      (= ALTREF_FRAME - INTRA_FRAME + 1)
      
      INTER_REFS_PER_FRAME specifies the maximum number of reference frames
      that each Inter frame may use.
      TOTAL_REFS_PER_FRAME is equal to INTER_REFS_PER_FRAME + 1, which
      counts the INTRA_FRAME.
      
      Further, at the encoder side, since REF_FRAMES specifies the maximum
      number of the reference frames that the encoder may store, REF_FRAMES
      is usually larger than INTER_REFS_PER_FRAME. For example, in the
      ext-refs experiment, REF_FRAMES == 8, which allows the encoder to
      store maximum 8 reference frames in the buffer, but
      INTER_REFS_PER_FRAME equals to 6, which allows each Inter frame may
      use up to 6 frames out of the 8 buffered frames as its references.
      Hence, in order to explore the possibility to store more reference
      frames in future patches, we modified a couple of array sizes to
      accomodate the case that the number of buffered reference frames is
      not always equal to the number of the references that are being used
      by each Inter frame.
      
      Change-Id: I19e42ef608946cc76ebfd3e965a05f4b9b93a0b3
      1af28f02
  14. 03 Aug, 2016 1 commit
    • Sarah Parker's avatar
      Adjust gm parameter computation to avoid mismatch · aa810c00
      Sarah Parker authored
      The gm parameters need to have WARPED_PRECISION_BITS precision
      until they are written to the bitstream because functions in
      reconinter use these parameters before they are written to
      the bitstream. Previously, the parameters weren't being converted
      to WARPED_PRECISION_BITS until they were read from the bitstream
      which causes an encode/decode mismatch.
      
      Change-Id: I31e76e9d6f7d24df21af287a72f8c01f1997304d
      aa810c00
  15. 29 Jul, 2016 1 commit
  16. 21 Jul, 2016 2 commits
    • Sarah Parker's avatar
      Add affine model to global motion · e9bd26b8
      Sarah Parker authored
      Change-Id: I9cd355a3ea344ef66a61028efa25d94f54e7e2bd
      e9bd26b8
    • Debargha Mukherjee's avatar
      Rectangular transforms 4x8 & 8x4 · e5848dea
      Debargha Mukherjee authored
      Added a new expt rect-tx to be used in conjunction with ext-tx.
      [rect-tx is a temporary config flag and will eventually be
      merged into ext-tx once it works correctly with all other
      experiments].
      
      Added 4x8 and 8x4 tranforms for use initially with rectangular
      sub8x8 y blocks as part of this experiment.
      
      There is about a -0.2% BDRATE improvement on lowres, others pending.
      
      When var-tx is on rectangular transforms are currently not used.
      That will be enabled in a subsequent patch.
      
      Change-Id: Iaf3f88ede2740ffe6a0ffb1ef5fc01a16cd0283a
      e5848dea
  17. 19 Jul, 2016 2 commits
    • sarahparker's avatar
      Change order of warped motion parameters · 78ea3b3e
      sarahparker authored
      This makes it easier to interface between global motion and warped motion
      
      Change-Id: I850e0a383969a1973f03fb207f100713cda6bb51
      78ea3b3e
    • Sarah Parker's avatar
      Add global motion parameters to compressed header · 5fa46c0b
      Sarah Parker authored
      Currently nothing is implemented to compute GM parameters, this
      just adds the capability to send them in the bitstream if they
      were computed. Still need to implement the reconstruction
      based on the parameters in reconinter.
      
      Change-Id: I72aea3c6a9de9f5a40f96da76c82b54a52781fe2
      5fa46c0b
  18. 18 Jul, 2016 1 commit
  19. 13 Jul, 2016 1 commit
    • Geza Lore's avatar
      Optimize and cleanup obmc predictor and rd search. · 4c4f04ac
      Geza Lore authored
      Use vpx_blend_a64_hmask and vpx_blend_a64_vmask to speed up
      computing the obmc predictor. Clean up calc_target_weighted_pred.
      
      Encoder speedup: 1.3%
      Decoder speedup: 6.5%
      
      Change-Id: I0c774fe53d22399e92a10d1daf3af0010d88d2c5
      4c4f04ac
  20. 01 Jul, 2016 1 commit
    • Wei-ting Lin's avatar
      Remove reference frame buffer update for show_exsiting_frame · f9e38a7b
      Wei-ting Lin authored
      Originally we need to send the refresh flag and the virtual indices
      mapping for the reference frame buffer update for show_existing_frame to
      have the BWDREF_FRAME replace the LAST_FRAME.
      
      To remove sending this information, we update the the virtual indices
      of the reference frame buffer after the last_bipred_frame is encoded,
      and therefore the decoder will receive the updated reference mapping
      at the next non-show-existing frame.
      
      As a result, we can save 4 bytes per show-existing frame, and get 0.12,
      0.2, and 0.07 BDRATE improvement in lowres, derf, and midref test set
      respectively.
      
      Change-Id: I63d41ee6ea99884798f0778b789d2701e2f2d3e0
      f9e38a7b
  21. 29 Jun, 2016 1 commit
  22. 24 Jun, 2016 1 commit
  23. 17 Jun, 2016 1 commit
    • Zoe Liu's avatar
      Merge bi-predictive frames to EXT_REFS · 5805a14c
      Zoe Liu authored
      This patch removed the experiment of BIDIR_PRED and merged the feature
      into the experiment of EXT_REFS:
      
      (1) Each frame now has up to 6 reference frames, namely
          LAST_FRAME, LAST2_FRAME, LAST3_FRAME, GOLDEN_FRAME, (forward) and
          BWDREF_FRAME, ALTREF_FRAME (backward);
          LAST4_FRAME has been removed;
      (2) First pass still keeps the 8 updates:
          KF_UPDATE, LF_UPDATE, GF_UPDATE, ARF_UPDATE, OVERLAY_UPDATE, and
          BRF_UPDATE, LAST_BIPRED_UPDATE, BI_PRED_UPDATE;
      (3) show_existing_frame==1 is supported in the experiment of EXT_REFS;
      (4) New encoding modes are added for both single-ref and compound cases,
          through the use of the 2 extra forward references (LAST2 & LAST3)
          and the 1 extra backward reference (BWDREF).
      
      RD performance wise, using Overall PSNR: Avg/BDRate
              Bipred only      Prev EXT_REFS    Current EXT_REFS with bipred
      lowres: -3.474/-3.324    -1.748/-1.586    -4.613/-4.387
      derflr: -2.097/-1.353    -1.439/-1.215    -3.120/-2.252
      midres: -2.129/-1.901    -1.345/-1.185    -2.898/-2.636
      
      If in vp10/encoder/firstpass.h, change BFG_INTERVAL from 2 to 3, i.e. to
      use 2 bi-predictive frames than 1, a further improvement may be
      obtained:
                       Current EXT_REFS with bipred
              1 bi-predictive frame    2 bi-predictive frames
      lowres: -4.613/-4.387            -4.675/-4.465
      derflr: -3.120/-2.252            -3.333/-2.516
      midres: -2.898/-2.636            -3.406/-3.095
      
      Change-Id: Ib06fe9ea0a5cfd7418a1d79b978ee9d80bf191cb
      5805a14c
  24. 16 Jun, 2016 2 commits
  25. 14 Jun, 2016 3 commits
    • Geza Lore's avatar
      Select segment based loopfilter strength for supertx blocks. · 44b91a0e
      Geza Lore authored
      Segment based loopfilter strength for supertx coded blocks is now
      selected based on the minimum of all segment IDs within a supertx
      coded block (same as the quantiser settings).
      
      Change-Id: Ib056bd0d05f6a1d3b512a76deb4e2ad4db0f7dc4
      44b91a0e
    • Geza Lore's avatar
      Rework supertx segment handling and adaptive quantization. · 7dd90c9d
      Geza Lore authored
      Segment level quantizer settings for supertx coded blocks are now
      selected based on the minimum of all segment IDs within a supertx
      coded block.
      
      This also fixes the 3 adaptive quantization modes with supertx.
      
      Change-Id: Ib5db099539d4f82f240e1d745d6e5264f8b34cde
      7dd90c9d
    • Geza Lore's avatar
      Minor refactor of decode_block for supertx. · 32992fa0
      Geza Lore authored
      Exit early from function when supertx is used, rather than putting
      the bulk of the function body in a single conditional.
      
      Change-Id: I41f388a45bd46e4a6ee1c51f26782ed9bddff4e5
      32992fa0
  26. 10 Jun, 2016 2 commits