1. 06 Nov, 2017 1 commit
    • Dominic Symes's avatar
      Turn on the max_tile experiment · ab8bb8b8
      Dominic Symes authored
      max_tile was provisionally adopted at the working group meeting 2017-Oct-10
      
      This patch also enables support for 64x64 and 128x128 superblock size for max tile
      (rather than assuming 128). There is also one fix for max_tile in combination of
      loop restoration where the width/height was in the wrong units for max-tile specific code.
      
      Change-Id: Icb862a2738fea5fc6215819396e1afa4eb86e461
      ab8bb8b8
  2. 04 Nov, 2017 2 commits
    • Yue Chen's avatar
      Remove NCOBMC_ADAPT_WEIGHT from AV1 · 80daf0c4
      Yue Chen authored
      Development of this experiment will be deferred to AV2.
      
      Change-Id: I3c4615a21b59508500bed8aab0a5c54413b4f284
      80daf0c4
    • Jingning Han's avatar
      Separate ref frame mvs control from prev_frame_mvs · e17ebe92
      Jingning Han authored
      The control of using reference frame motion vector is a separate
      factor from the existence of previous frame motion vectors. This
      commit decouples these two, such that the encoder can control the
      use of reference motion vector. When it is used, one can further
      identify if the previous frame exists or not, then to decide if
      need to force use_prev_frame_mvs to be zero.
      
      This solves the issue where the previous frame mvs is set to be
      0 and it accidentally shuts off the access to all other existing
      referece frames mvs in the mfmv system. It brings back the coding
      performance gains to normal.
      
      Change-Id: I2531f73e55582a9bb5b3e0ff47e361a199ec8082
      e17ebe92
  3. 03 Nov, 2017 2 commits
  4. 02 Nov, 2017 2 commits
    • Rupert Swarbrick's avatar
      Correct striped-loop-restoration with multiple tile rows · dee00eb0
      Rupert Swarbrick authored
      Before this patch, striped loop restoration didn't restart correctly
      on each tile row. Now, the loop restoration stripes start at the top
      of a tile row in the same way as if it were the top of the entire
      frame.
      
      Change-Id: I0a88a28d7804b2f09d792ecbbf4f22f666f67012
      dee00eb0
    • Sebastien Alaiwan's avatar
      Remove experimental flag of EXT_TX · 3bac9928
      Sebastien Alaiwan authored
      This experiment has been adopted, we can simplify the code
      by dropping the associated preprocessor conditionals.
      
      Change-Id: I02ed47186bbc32400ee9bfadda17659d859c0ef7
      3bac9928
  5. 01 Nov, 2017 4 commits
    • Yue Chen's avatar
      Remove CONFIG_INTERINTRA · 670b660d
      Yue Chen authored
      Change-Id: Icbedc16b01adf9b48f0f357ec89143462865d54e
      670b660d
    • Zoe Liu's avatar
      Add decoder support to ext_skip · f704a1c8
      Zoe Liu authored
      At the frame header level, add the checking on whether an inter-coded
      frame allows the use of 'skip_mode'. At the block level, add the
      decoding of 'skip_mode' for all the blocks if 'skip_mode' is allowed
      for the current frame. If 'skip_mode' is set, no further bit needs to
      read out, and the block is set as:
      - Inter-coded in compound mode;
      - With the nearest forward and backward reference frames;
      - In NEAREST_NEARESTMV mode;
      - In SIMPLE_TRANSLATION motion mode;
      - In COMPOUND_AVERAGE compound type; and
      - Skip set for residual.
      
      Change-Id: I50297f63a81135109332c4a51b516bffd7726777
      f704a1c8
    • Arild Fuldseth (arilfuld)'s avatar
      Implement approved version of FRAME_SIZE experiment · 7193f020
      Arild Fuldseth (arilfuld) authored
      Change-Id: I5b7bb9983e1c613321704a579d459925bd6b9b2b
      7193f020
    • Jingning Han's avatar
      Re-design base level context modeling · e775b8bc
      Jingning Han authored
      Reduce the context model size required to code the base level
      syntax values from 42 to 32 per transform size.
      
      Change-Id: I08485fdb563bc5c3323b0e147d69b47c286b9bb5
      e775b8bc
  6. 30 Oct, 2017 3 commits
    • Debargha Mukherjee's avatar
      Remove compound-segment/wedge config flags · 371968cd
      Debargha Mukherjee authored
      Change-Id: I39cfbb135add0553cadf64481b13786831fbdddd
      371968cd
    • Jingning Han's avatar
      Speed up inter frame rate-distortion optimization · cf842ad2
      Jingning Han authored
      The frame marker system supports one to map the reference frame
      index into the natural order. It allows direct checking on the
      efficacy of the reference frames given their relative locations
      with respect to the current coding frame.
      
      This commit uses such property to filter out reference frames
      less likely to contribute coding gains from the rate-distortion
      optimization process. For example, it takes out the check on
      last2 / 3 frames, when their actual location is further away
      from the golden frame.
      
      The AWCY results show 0.6% performance regression. The encoding
      speed gets doubled.
      
      To use the speed up, one needs to turn on frame-marker experiment
      before we turn it on by default, and enable selective_ref_frame
      entry in the speed feature.
      
      Change-Id: Ifb03ed90acd980bbc7ff1c2e17982e21e68d2588
      cf842ad2
    • Sebastien Alaiwan's avatar
      Remove experimental flag of GLOBAL_MOTION · 48795807
      Sebastien Alaiwan authored
      This experiment has been adopted, we can simplify the code
      by dropping the associated preprocessor conditionals.
      
      Change-Id: I9c9d6ef5317798cbf237307a9754fe7e03bdda47
      48795807
  7. 27 Oct, 2017 1 commit
  8. 25 Oct, 2017 1 commit
  9. 24 Oct, 2017 5 commits
  10. 23 Oct, 2017 1 commit
  11. 21 Oct, 2017 2 commits
  12. 20 Oct, 2017 2 commits
  13. 19 Oct, 2017 1 commit
    • Rupert Swarbrick's avatar
      Remove RestorationInternal from AV1_COMMON · f88bc049
      Rupert Swarbrick authored
      The bits needed by striped loop restoration are now in
      RestorationInfo (which also gets rid of a rather ugly extra
      index).
      
      The scratch buffer that's used for self-guided restoration has been
      moved up to its own variable (rst_tmpbuf).
      
      All the rest of the fields are now safely hidden inside restoration.c
      
      This patch also does a big cleanup of the initialisation code in
      loop_restoration_rows: it doesn't need to be as repetitive now that
      the fields of YV12_BUFFER_CONFIG can be accessed by plane index.
      
      Change-Id: Iba7edc0f94041fa053cdeb3d6cf35d84a05dbfaf
      f88bc049
  14. 17 Oct, 2017 2 commits
  15. 16 Oct, 2017 2 commits
  16. 14 Oct, 2017 1 commit
  17. 13 Oct, 2017 3 commits
  18. 10 Oct, 2017 1 commit
  19. 08 Oct, 2017 1 commit
    • Yunqing Wang's avatar
      Modify storing and using of the temporal frame MVs · d1d511f3
      Yunqing Wang authored
      Add an experiment "tmp", which includes:
      1. Always use larger block size while storing frame MVs and make
      it consistent for CB4X4 or non-CB4X4 cases. Namely, use 8x8 for
      4x4 mi size and 16x16 for 8x8 mi size.
      2. Allocate smaller buffer for frame MVs and save memory usage.
      3. Use nearby 8x8 or 16x16 location's previous frame MVs, and make
      the logic simple.
      4. Reduce the number of copying for frame MVs, that is very costly
      in decoder.
      
      Baseline decoder got 5+% speedup. Borg test on lowres set showed a
      +0.009% PSNR difference before/after the patch.
      
      Change-Id: I61e14e95fd35bea88f338931b4f43c44f4e4cf1f
      d1d511f3
  20. 07 Oct, 2017 2 commits
    • Urvang Joshi's avatar
      FRAME_SUPERRES: Rework to use scale factor of 8/D · de71d142
      Urvang Joshi authored
      Earlier, the superres scale was in the form of:
      N/16, where N ranged from 8 to 16.
      
      We change this to the form:
      8/D, where D ranges from 8 to 16.
      
      This helps on the decoder side, by making it possible to work on 8x8
      blocks at a time.
      
      Change-Id: I6c72d4b3e8d1c830e61d4bb8d7f6337a100c3064
      de71d142
    • Urvang Joshi's avatar
      Superres: Remove unused variable. · e61923fa
      Urvang Joshi authored
      cm->superres_scale_numerator is used for both keyframes and
      non-keyframes, and is initialized from either
      oxcf->superres_scale_numerator or oxcf->superres_kf_scale_numerator as
      appropriate.
      
      Change-Id: Ie46df576ef3830e181643ae591d836449a4bd38f
      e61923fa
  21. 06 Oct, 2017 1 commit
    • Jingning Han's avatar
      Rework key frame intra mode context model · a45d842d
      Jingning Han authored
      Reduce the context model size for key frame modes from 30240 bits
      to 4500 bits, i.e., less than 1/6 of the original context model.
      The coding performance loss on key frame is 0.14% for lowres and
      noise level difference for video sequence. The loss on key frame
      for midres is 0.05% and noise level for whole video. The change
      on hdres kf coding is 0.015%.
      
      Change-Id: I9e36825e5c5ee6ba35038c3ca349ad1ad3429910
      a45d842d