1. 30 Nov, 2017 3 commits
    • 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
    • Jingning Han's avatar
      Make adaptive scan order support multi-threading · 0bd3bf69
      Jingning Han authored
      Count the non-zero appearance per tile and update per frame. This
      resolves an enc/dec mismatch in multi-threading coding.
      
      BUG=aomedia:1073
      
      Change-Id: I474f05913e6c3f75ca3fa1057bd4809ef51af164
      0bd3bf69
    • Hui Su's avatar
      Make the signaling of allow_screen_content_tools consistent · df89ee3a
      Hui Su authored
      in keyframe and all-intra frame.
      
      Change-Id: I09d6f83efd3c4fe3f9a464d6a0e22e2e68220a8d
      df89ee3a
  2. 29 Nov, 2017 2 commits
  3. 28 Nov, 2017 1 commit
    • Debargha Mukherjee's avatar
      Enhance option to handle chroma tx-size for vartx · 19619886
      Debargha Mukherjee authored
      Adds an option to split chroma tx size by one level if the luma
      transform size is split at least one level. Otherwise use the
      largest transform size for chroma.
      This option is enabled with DISABLE_VARTX_FOR_CHROMA set as 2,
      but is currently turned off until we finish testing.
      
      Change-Id: Ie048c4e33193e0cc7e1bbee37e4ccc085834433c
      19619886
  4. 27 Nov, 2017 2 commits
    • Debargha Mukherjee's avatar
      Add option to disable split partitions for chroma · 891a8774
      Debargha Mukherjee authored
      When the flag DISABLE_VARTX_FOR_CHROMA is on chroma is
      constrained to always use the largest transform size
      for the prediction unit size.
      This is meant to simnplify the logic for transform size
      selection for chroma with hopefully no loss.
      
      Results:
      lowres 30 frames, speed 1: -0.038% (a slight improvement).
      lowres 30 frames, speed 0: 0.000% (noise level difference).
      
      Change-Id: I14dd5b1983d908bd98e59b7d252e11f5755c97e6
      891a8774
    • Debargha Mukherjee's avatar
      Add chroma bsize modifications correctly · 3aa28111
      Debargha Mukherjee authored
      Change-Id: I807dc86489bc9219a24801841e66b555a2d7a51f
      3aa28111
  5. 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
  6. 22 Nov, 2017 2 commits
  7. 21 Nov, 2017 2 commits
    • Urvang Joshi's avatar
      Enable TX64X64 by default. · fe8323c9
      Urvang Joshi authored
      Provisionally adopted on 11/17.
      
      Also, some related tweaks to fix build errors.
      
      Change-Id: I7d5592450e9284d489b46adc274cd0cfccd04b3c
      fe8323c9
    • Soo-Chul Han's avatar
      add segment_pred_last(adopted) · 934af35b
      Soo-Chul Han authored
      temporal segment map prediction from LAST frame instead of previous
      
      Change-Id: I2f803581c2a6ff72ae428783e596aa3281492073
      934af35b
  8. 20 Nov, 2017 1 commit
    • Monty Montgomery's avatar
      Add Daala TX fixed-coeff-depth capability to quantization · 60f2a229
      Monty Montgomery authored
      This patch completes the work to add fixed-depth TX domain support to
      the quantization and dequantization code.  At present, it is active but
      configured to behave identically to current AV1 master as RDO and TX
      have not yet been updated to also support this functionality.
      
      subset-1:
      monty-rest-of-stack-noshift-s1@2017-11-13T14:37:42.541Z ->
       monty-rest-of-stack-quant-s1@2017-11-13T14:38:43.774Z
      
        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
      
      objective-1-fast --limit=4:
      monty-rest-of-stack-noshift-o1f4@2017-11-13T14:37:16.992Z ->
       monty-rest-of-stack-quant-o1f4@2017-11-13T14:38:28.828Z
      
        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: I3773a1fc128136c9fea227f4b547576a8aa6efa3
      60f2a229
  9. 18 Nov, 2017 2 commits
    • 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
    • David Barker's avatar
      Fix render size with !CONFIG_FRAME_SUPERRES · 6e5ade98
      David Barker authored
      If CONFIG_FRAME_SUPERRES is disabled, and we don't explicitly signal
      a render size for a frame, then the render size would be set to the
      crop size of the *previous* frame (or 0 for the first frame in a video).
      
      Return to using the VP9 behaviour in this case (albeit coded slightly
      differently to help support superres) - ie, use the crop size of the
      current frame if an explicit render size is not provided.
      
      We do this by moving the calls to resize_context_buffers() (which sets
      up cm->width and cm->height) before the calls to setup_render_size
      (which might use those values). Because resize_context_buffers() does not
      read any data, the bitstream format should not be affected, aside from
      the intended bugfix.
      
      BUG=aomedia:1044
      
      Change-Id: I4fc71b9aea36cc06e10408715c205d9674f87fc2
      6e5ade98
  10. 17 Nov, 2017 2 commits
  11. 15 Nov, 2017 4 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
    • Sebastien Alaiwan's avatar
      Remove COMPOUND_SINGLEREF experiment · 34d5566a
      Sebastien Alaiwan authored
      This experiment has been abandonned for AV1.
      
      Change-Id: I3501181d096873dec35ea58e4b55530fa76e683f
      34d5566a
    • Debargha Mukherjee's avatar
      Replace RECT_TX_EXT experiment · 35a4db38
      Debargha Mukherjee authored
      Remove the previous experiment and now use the same name for a
      simpler experiment that only enables 4:1 transforms for 4:1
      partitions when ext_partition_types is on, and that which was
      previously enabled with the USE_RECT_TX_EXT macro.
      
      Change-Id: Iccc35744bd292abf3c187da6f23b787692d50296
      35a4db38
    • 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
  12. 14 Nov, 2017 4 commits
  13. 13 Nov, 2017 2 commits
  14. 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
  15. 10 Nov, 2017 5 commits
    • Hui Su's avatar
      Disable in-loop filters for frames with intrabc enabled · 27df834d
      Hui Su authored
      Change-Id: Ia47101de22091a60d7931890f00a4a3a527f5bd4
      27df834d
    • 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
    • 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
    • Yaowu Xu's avatar
      Fix a compiling issue · 07ec5e8a
      Yaowu Xu authored
      When striped_loop_restoration is not enabled.
      
      Change-Id: If681adab344226d54947d3b35aa5d9aace9df991
      07ec5e8a
    • Yunqing Wang's avatar
      No need to update frame contexts while large_scale_tile = 1 · 267e3272
      Yunqing Wang authored
      While large_scale_tile = 1, no backward CDF update happens during
      encoding. So, no need to update frame contexts at end of frame
      encoding.
      
      Change-Id: I2267b1e58d400768ba1ef95b339001b420e84c4b
      267e3272
  16. 09 Nov, 2017 5 commits
    • Yunqing Wang's avatar
      Disable adapt_scan when large_scale_tile = 1 · ea35e65f
      Yunqing Wang authored
      In EXT_TILE experiment, disabled adapt_scan when large_scale_tile = 1.
      
      Change-Id: If3b20d5fe3a6674aefba3e37b2458137ca7918ff
      ea35e65f
    • 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
    • Yaowu Xu's avatar
      Disable in-loop filtering for single_tile_decoding · 35ee2345
      Yaowu Xu authored
      BUG=aomedia:1014
      
      Change-Id: I8846432861e9859a00f702407a82d4223c093fe2
      35ee2345
    • 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
  17. 08 Nov, 2017 1 commit
    • Arild Fuldseth (arilfuld)'s avatar
      FRAME_SIZE: Never exceed maximum frame dimensions. · b638074c
      Arild Fuldseth (arilfuld) authored
      Encoder:
      Use oxcf->width/heigth instead of cm->width/height in sequence header.
      aom_internal_error() if cm->width/height is larger than max values.
      
      Decoder:
      aom_internal_error() if cm->width/height is larger than max values.
      
      Change-Id: I8d8b415efe82d961dbe34377f4da79379cb111a8
      b638074c