1. 30 Nov, 2017 1 commit
    • Luc Trudeau's avatar
      [CFL] CfL Initialization Simplification · 1e84af52
      Luc Trudeau authored
      The CfL context is now stored inside MACROBLOCKD instead of
      MACROBLOCKD only storing a pointer to the CfL context.
      The intent is to avoid race conditions as MACROBLOCKD is stored
      inside ThreadData. This change also simplifies CfL Initialization.
      
      Change-Id: I991503716b21fc9aca60caddb2008b8bff397e6d
      1e84af52
  2. 29 Nov, 2017 1 commit
  3. 26 Nov, 2017 1 commit
  4. 24 Nov, 2017 1 commit
    • Rupert Swarbrick's avatar
      Disallow 4:1/1:4 partitions for BLOCK_128x128 · eb123933
      Rupert Swarbrick authored
      The change can be temporarily reverted by setting ALLOW_128X32_BLOCKS
      to 1 (for easy "is this better?" testing: we'll get rid of the option
      once it's clear what we're doing).
      
      Since this means we have to modify the "num_partition_types"
      calculation in functions like read_partition, we move it into a helper
      function called partition_cdf_length(). Doing this makes the bodies of
      read_partition and write_partition somewhat simpler than they were.
      
      Change-Id: I3573f62f71dc3344aed2dcb3e423e034eb56a7c5
      eb123933
  5. 21 Nov, 2017 1 commit
  6. 18 Nov, 2017 1 commit
    • Zoe Liu's avatar
      Add motion selection to ext_skip · f40a9577
      Zoe Liu authored
      A new block mode, referred to as skip_mode is added. If a block is
      coded as skip_mode, it will be inter-coded, with its references and
      motion vectors derived from its neighboring blocks with zero-residue.
      Otherwise, the block can be coded in the current intra or inter mode.
      
      The computational load on skip_mode evaluation at the encoder should
      be kept minimum. No transform size / type evaluations are needed.
      
      Change-Id: I5aef0159c7d5ecd64258510835903375d6c536d6
      f40a9577
  7. 17 Nov, 2017 1 commit
    • Jingning Han's avatar
      Set up txb coeff processing timer · 53c08960
      Jingning Han authored
      Allow the codec to time the average transform block coefficient
      processing for sw speed check.
      
      Change-Id: Ibdaf15ab5b7f1ea8264604cc00ef45e3ae3114c7
      53c08960
  8. 15 Nov, 2017 2 commits
    • Frederic Barbier's avatar
      Remove experimental flag of NEW_MULTISYMBOL · 749c21a1
      Frederic Barbier authored
      This experiment has been adopted, we can simplify the code
      by dropping the associated preprocessor conditionals.
      
      Change-Id: I6ac62c2825eabcba8f854cfa25c84638d9a73872
      749c21a1
    • Yaowu Xu's avatar
      Support Separate qmatrix for U and V planes · d467bba2
      Yaowu Xu authored
      This commit adds support of a separate qmatrix and iqmatrix for each
      of the U and V planes. Currently the separate matrices are intialized
      to the same ones, then the commit does not have any coding impact
      yet.
      
      Change-Id: I5c4045fe1879db262c6ec1567d8d7dfd9a98fbed
      d467bba2
  9. 14 Nov, 2017 2 commits
  10. 13 Nov, 2017 1 commit
  11. 11 Nov, 2017 1 commit
    • Frederic Barbier's avatar
      Remove experimental flag of CDEF · 1aeee2e9
      Frederic Barbier authored
      This experiment has been adopted, we can simplify the code
      by dropping the associated preprocessor conditionals.
      
      Change-Id: I17bd46ebad7796d04fb4065fb36da0e1c4eeaf9b
      1aeee2e9
  12. 10 Nov, 2017 5 commits
    • Sebastien Alaiwan's avatar
      Fix build: use proper gcc attribute syntax · 9e539cd2
      Sebastien Alaiwan authored
      Change-Id: I4c5d962bcac389d86eadb4bccc838a017bda4062
      9e539cd2
    • Rupert Swarbrick's avatar
      Plumb in a "monochrome" flag · e0b15997
      Rupert Swarbrick authored
      This bit appears in the sequence header. At the moment, it does
      nothing, but it will mean that we don't encode (or read) chroma
      planes.
      
      This patch adds the flag to the sequence header, and also adds an
      encoder option (--monochrome) which enables it. At the moment, this
      doesn't do anything except cause the bit to be set correctly in the
      header.
      
      Change-Id: If5598412c1c75101553d7f8f9098f9ed1163514e
      e0b15997
    • Sebastien Alaiwan's avatar
      Fix all warnings about switch-case fallthrough · 5c99f4e4
      Sebastien Alaiwan authored
      Replace 'fallthrough intended' comments with a dedicated macro
      that the compiler can see (or remove those comments when they don't
      provide value).
      
      Change-Id: Ib6361e15ff078378921c9e2b654bff63cf497f5f
      5c99f4e4
    • Yaowu Xu's avatar
      Separate quantizaton for U and V plane · be42dc72
      Yaowu Xu authored
      This commit adds code to support separate regular quantization for U
      and V. They currently always use same quantization parameter, hence
      this commit does not change bitstream at all.
      
      Change-Id: Ifaf43e4fd0bcd01b1483f2dacf3ac498003d5db1
      be42dc72
    • Cheng Chen's avatar
      JNT_COMP: turn off for one_sided_compound · 060e192b
      Cheng Chen authored
      One_sided_compound is less likely to provide gains for jnt_comp.
      Stop jnt_comp search when one_sided_compound is true. It saves coding
      time as well as bit overhead.
      
      Change-Id: I6714e5d211eba14a5793bdae7215ccfcc1d8f67a
      060e192b
  13. 09 Nov, 2017 3 commits
    • Hui Su's avatar
      Add flag to indicate if intrabc is used · 8587878c
      Hui Su authored
      Change-Id: If8a4f3d256e619c9efdb66b1d8b8da5b8fc980ab
      8587878c
    • Rostislav Pehlivanov's avatar
      Add the q_segmentation experiment · f624dd5a
      Rostislav Pehlivanov authored
      This experiment implements low-cost delta q signalling on a per-block basis
      for all non-inter frame types, which would allow for more efficient AQ
      which bases its decisions on temporal information.
      
      Based on an Intel proposal from March.
      
      Change-Id: I18e73d8b12f4caa0b165df12c58ab506271bec03
      f624dd5a
    • Monty Montgomery's avatar
      Separate quantizers used for quantization from RDO · 125c0fca
      Monty Montgomery authored
      Generalize quantizer setup so that quantization and TX can use
      different coefficient shifts/scalings without inpacting RDO lambda
      generation.
      
      This patch is documentaiton + a minor refactor setting up later
      work; it causes no functional change.
      
      monty-daalaTX-fulltest-Daalabaseline-o1f@2017-11-07T00:01:20.779Z ->
       monty-daalaTX-fulltest-DaalaRDO-o1f@2017-11-07T00:02:31.347Z
      
      PSNR | PSNR Cb | PSNR Cr | PSNR HVS | SSIM | MS SSIM | CIEDE 2000
       N/A |  0.0000 |  0.0000 |      N/A |  N/A |     N/A |        N/A
      (note-- the numbers above were collected using --cpu-used=3, which
       appears to be newly broken.)
      
      monty-daalaTX-fulltest-Daalabaseline-o1f4@2017-11-07T05:59:16.553Z ->
       monty-daalaTX-fulltest-DaalaRDO-o1f4@2017-11-07T05:59:50.180Z
      
        PSNR | PSNR Cb | PSNR Cr | PSNR HVS |   SSIM | MS SSIM | CIEDE 2000
      0.0000 |  0.0000 |  0.0000 |   0.0000 | 0.0000 |  0.0000 |     0.0000
      
      monty-daalaTX-fulltest-Daalabaseline-s1@2017-11-07T00:01:46.582Z ->
       monty-daalaTX-fulltest-DaalaRDO-s1@2017-11-07T00:02:56.282Z
      
        PSNR | PSNR Cb | PSNR Cr | PSNR HVS |   SSIM | MS SSIM | CIEDE 2000
      0.0000 |  0.0000 |  0.0000 |   0.0000 | 0.0000 |  0.0000 |     0.0000
      
      Change-Id: Ia5a3c052eacd17184ca1b0fe6d032cfb9afdb77f
      125c0fca
  14. 08 Nov, 2017 1 commit
    • Yaowu Xu's avatar
      Revert "Turn on the max_tile experiment" · 81d458b2
      Yaowu Xu authored
      This reverts commit ab8bb8b8.
      
      The reverted breaks many nightly run tests, reverting this temporarily
      to allow nightly tests to detect other failures. Once the issues are
      fixed, we can reenable the change in the reverted commit.
      
      BUG=aomedia:1012
      BUG=aomedia:1013
      BUG=aomedia:1014
      
      Change-Id: I2503fe78e47c7a08bb6cfdfff2c295cec0b6497d
      81d458b2
  15. 06 Nov, 2017 2 commits
    • Yunqing Wang's avatar
      Disallow to use temporal MVs while large_scale_tile=1 · 0edbdcde
      Yunqing Wang authored
      While large_scale_tile=1, not use temporal MVs.
      
      Change-Id: I7107519595b79cbca45dfe72d5ada78cfdc39b00
      0edbdcde
    • 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
  16. 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
  17. 03 Nov, 2017 2 commits
  18. 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
  19. 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
  20. 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
  21. 27 Oct, 2017 1 commit
  22. 25 Oct, 2017 1 commit
  23. 24 Oct, 2017 1 commit
    • Yunqing Wang's avatar
      Enhance and refactor copying code · b90a97a8
      Yunqing Wang authored
      Modified the copying code and the profiling showed better performance
      than previous implementation.
      
      Change-Id: I41f585e0b0eac7a0deb4dec197c178e412a48db9
      b90a97a8