1. 02 Sep, 2016 1 commit
  2. 01 Sep, 2016 3 commits
  3. 29 Aug, 2016 1 commit
  4. 26 Aug, 2016 1 commit
    • Geza Lore's avatar
      Use rectangular transforms for >= 8x8 blocks · d21982c8
      Geza Lore authored
      For rectangular blocks between 8x8 and 32x32, we can now code the
      transform size as one bigger than the largest square that fits in
      the block (eg, for 16x8, we can code a transform size of 16x16
      rather than the previous maximum of 8x8), when this oversized
      transform is coded in the bitstream, the codec will use the full
      size rectangular transform for that block (eg 16x8 transform in
      the above example).
      
      Also fixes a scaling bug in 16x8/8x16 transforms.
      
      Change-Id: I62ce75f1b01c46fe2fbc727ce4abef695f4fcd43
      d21982c8
  5. 22 Aug, 2016 1 commit
  6. 16 Aug, 2016 2 commits
    • 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
  7. 12 Aug, 2016 1 commit
  8. 26 Jul, 2016 1 commit
  9. 21 Jul, 2016 1 commit
    • 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
  10. 19 Jul, 2016 1 commit
    • 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
  11. 18 Jul, 2016 1 commit
  12. 30 Jun, 2016 1 commit
    • Geza Lore's avatar
      Reject ext-inter compound modes based on modelled RD. · 532304e4
      Geza Lore authored
      Reject ext-inter compound modes before doing full rate distortion
      evaluation, if the corresponding single reference modes had a lower
      modelled RD.
      
      ext-inter speedup up to TBD.
      
      Coding performance: TBD
      
      Change-Id: I358bfb879c5ebe5e7afbf6f540cc784f8de14857
      532304e4
  13. 29 Jun, 2016 1 commit
  14. 24 Jun, 2016 1 commit
  15. 22 Jun, 2016 2 commits
    • Jingning Han's avatar
      Refactor reference frame type defs · b605de07
      Jingning Han authored
      Move the reference frame type definitions to common/enums.h file.
      Replace hard coded numbers.
      Combine repeated definitions.
      
      Change-Id: I288e079a03e448014cc181bcdb3f88ee8ec8d139
      b605de07
    • Jingning Han's avatar
      Make drl support bi-directional reference frames · c2195c5b
      Jingning Han authored
      This commit refactors the reference frame structure used in the
      dynamic motion vector referencing system, and makes it support
      the bi-directional reference frames. This resolves unit test
      failure (enc/dec mismatch) when both are turned on.
      
      The compression performance (ref-mv + ext-refs) is improved by
      0.2% for lowres.
      
      Change-Id: I233624d8fccc1f69e82295f94de984ff056365dc
      c2195c5b
  16. 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
  17. 14 Jun, 2016 1 commit
    • 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
  18. 10 Jun, 2016 2 commits
  19. 24 May, 2016 1 commit
    • Zoe Liu's avatar
      Added an experiment "bidir_pred" for backward prediction · cf5083d4
      Zoe Liu authored
      Major parts have been implemented as follows:
      (1) Added BRF_UPDATE, LASTNRF_UPDATE, and NRF_UPDATE in firstpass.c;
      (2) Added the handling for the scenario of
      "cpi->common.show_existing_frame == 1" at the encoder;
      (3) Added a new reference frame of BWDREF_FRAME;
      (4) Have bwd-ref work with upsampled references.
      
      Note that when the experiment of "ext_refs" turned on, this experiment
      will be turned off automatically currently.
      
      RD performance in Overall PSNR has been improved, compared against the
      VP10 baseline:
      
      lowres: Avg -3.312; BDRate -3.154
      derflr: Avg -1.927; BDRate -1.176
      midres: Avg -2.149; BDRate -2.001
      hdres : Avg -0.567; BDRate -0.588
      
      Change-Id: I4c06ff51cc20194bffbd4d2346e57ba3dcf6b62c
      cf5083d4
  20. 16 May, 2016 1 commit
    • Debargha Mukherjee's avatar
      Various wedge enhancements · fb8ea173
      Debargha Mukherjee authored
      Increases number of wedges for smaller block and removes
      wedge coding mode for blocks larger than 32x32.
      
      Also adds various other enhancements for subsequent experimentation,
      including adding provision for multiple smoothing functions
      (though one is used currently), adds a speed feature that decides
      the sign for interinter wedges using a fast mechanism, and refactors
      wedge representations.
      
      lowres: -2.651% BDRATE
      
      Most of the gain is due to increase in codebook size for 8x8 - 16x16.
      
      Change-Id: I50669f558c8d0d45e5a6f70aca4385a185b58b5b
      fb8ea173
  21. 07 May, 2016 1 commit
  22. 06 May, 2016 1 commit
    • Alex Converse's avatar
      Rename pick_filter_intra. · 130cccba
      Alex Converse authored
      The word 'pick' is usually used in functions that make decisions where
      the bitstream allows multiple legal choices, and not to limit the
      bitstream format itself.
      
      Change-Id: Ia60709c29e004475e1aa8861aefded27ebaf4712
      130cccba
  23. 04 May, 2016 1 commit
  24. 03 May, 2016 1 commit
  25. 29 Apr, 2016 1 commit
  26. 27 Apr, 2016 1 commit
  27. 26 Apr, 2016 2 commits
    • Yue Chen's avatar
      Optimization for EXT_INTER + OBMC · 3ac12aec
      Yue Chen authored
      Remove the restriction that the neighboring predictor cannot be
      used in obmc prediction if it is an interintra or wedgeinterinter
      block. The inter predictor of the interintra block, or the first
      inter predictor(using LAST or GOLDEN frame) of the wedgeinterinter
      block will be exploited in obmc prediction.
      
      Coding gain: 0.248% (2.833%->3.081%) lowres
      
      Change-Id: I4ac0368b9d2f2956f266b30c1ac97db8bafa0742
      3ac12aec
    • Debargha Mukherjee's avatar
      Reduce intra transform set · 8851acc5
      Debargha Mukherjee authored
      Reduce transform set for intra for 8x8 and smalller to 7 from 12.
      Also fixes an issue with prob updates.
      
      Enocder Speed-up about 8-10%
      
      Coding efficiency very little change.
      lowres: -2.996 (from -3.055 before)
      midres: -2.482 (from -2.552 before)
      
      Change-Id: I4ba50ff967521b33c748fe423bd92f7cf4105ebc
      8851acc5
  28. 25 Apr, 2016 1 commit
  29. 16 Apr, 2016 1 commit
    • Yue Chen's avatar
      Optimization for EXT_INTER + OBMC combination · 321794c4
      Yue Chen authored
      In the rd loop, check the perf of obmc, whose mv is copied from regular
      inter predictor, when wedge interinter is better than regular inter
      (previously it will force allow_obmc = 0). The condition of the early
      termination before this step is relaxed to avoid skipping too many obmc
      predictions. The rates of the overhead are properly calculated for these tools.
      
      The logic of the bitstream syntax:
      (a single ref) the interintra flag is sent first, only if it is 0, we
      send the obmc flag;
      (compound refs) the obmc flag is sent first, only if it is 0, we send
      the wedge interinter flag
      
      Coding gain
      lowres: 0.428% (2.287%->2.715%)
      
      Change-Id: I5f3a34640b398e313cbf84235c9fe2073eb2173f
      321794c4
  30. 11 Apr, 2016 1 commit
    • Debargha Mukherjee's avatar
      Use reduced transform set for 16x16 · c4da5d50
      Debargha Mukherjee authored
      Speed increase for ext-tx by 20% for a BDRATE drop of 0.26%.
      The ext-tx expt becomes -2.66% BDRATE (reduced from -2.92%) for
      the lowres set.
      
      It turns out that reducing the set of transforms for intra from
      12 to 5 makes very little difference in coding performance (~0.04%).
      Most of the performance drop comes from the reduction is transform
      set for inter. Currently there is a provision to control that with
      a macro.
      
      Change-Id: I7de05527bf72f96acc1e0ab8a74a849da0a141e5
      c4da5d50
  31. 05 Apr, 2016 1 commit
  32. 04 Apr, 2016 1 commit
  33. 31 Mar, 2016 2 commits
    • Debargha Mukherjee's avatar
      Fix interpolation values and decouple interintra · 2be211e9
      Debargha Mukherjee authored
      Decouples interintra modes and probability models from regular
      intra modes, to enable creating/optimizing new interintra modes.
      Also, fixes interpolation values for 128x128 interintra and obmc.
      
      Change-Id: I5c2016db49b8f029164e5fe84c6274d4e02ff90e
      2be211e9
    • Geza Lore's avatar
      Rename MI_BLOCK_SIZE and MI_MASK macros. · 511da8cb
      Geza Lore authored
      Rename MI_BLOCK_SIZE.* -> MAX_MIB_SIZE.* (MIB is for MI Block).
      Rename MI_MASK.* -> MAX_MIB_MASK.*
      
      There are no functional changes.
      
      This is in preparation for coding the superblock size at the frame
      level, which will require some of these constants to become variables.
      The new names better reflect future semantics, and hence make the code
      clearer.
      
      Change-Id: Iee08d97554cf4cc16a5dc166a3ffd1ab91529992
      511da8cb