1. 10 Nov, 2017 7 commits
    • Urvang Joshi's avatar
      Remove smooth_hv experiment flag. · b7301cd6
      Urvang Joshi authored
      This experiment has been cleared by Tapas.
      
      Also, fix a couple of hash signatures in the test while we are at it.
      
      Change-Id: I1658bcb07913cf8bd47cfffadd729e16d5c55fc3
      b7301cd6
    • 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
    • Frederic Barbier's avatar
      Reduce scope of some FP_MB_STATS specific tables · 3f1f1ddc
      Frederic Barbier authored
      Move these tables out of common_data.h.
      As the only caller is under CONFIG_FP_MB_STATS flag, make it available
      only for this experiment.
      
      Change-Id: Ia41f4107e9088c839256879fa55250eacdf317b3
      3f1f1ddc
    • 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: Support new_multisymbol · 46970619
      Cheng Chen authored
      Support cdf for jnt_comp read/write.
      
      Change-Id: I2c29277a8b06b3e9f571355946b70ce0d492fbb2
      46970619
    • 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
    • Hui Su's avatar
      Do not allow palette mode for partition sizes larger than 64x64 · 473cf898
      Hui Su authored
      Tested on screen_content, it has very little impact on compression quality.
      
      Change-Id: I49c7d5e8de8420c0d2af1b327c084a2667cfea40
      473cf898
  2. 09 Nov, 2017 12 commits
    • Linfeng Zhang's avatar
      Add av1_get_br_level_counts() · 97fc474c
      Linfeng Zhang authored
      which calculates br level counts in block.
      
      Change-Id: Iec5c9a8a0ce7e57bf5fb29db552f6a9065c5de88
      97fc474c
    • Linfeng Zhang's avatar
      Add av1_get_base_level_counts() · f72e1382
      Linfeng Zhang authored
      which calculates base level counts in block.
      
      Change-Id: Ia975faad4afbfc0c587bdcd403de3d4dc3f5f411
      f72e1382
    • Linfeng Zhang's avatar
      Split get_level_count_mag() · 8c841f7d
      Linfeng Zhang authored
      to get_level_count() and get_level_mag() since they actually
      calculate in different levels and get_level_mag() is hard to be SIMDed.
      
      Change-Id: Iedb12a1d592cf09425e5a77e6bdc9990c271c872
      8c841f7d
    • Linfeng Zhang's avatar
      Pad extra columns in txb levels and signs · 1122d7da
      Linfeng Zhang authored
      This helps the removal of horizontal availability check.
      
      Change-Id: Ie3b97eea63b4cc79ec78df119c2730a4d7cf539d
      1122d7da
    • Linfeng Zhang's avatar
      Pad extra rows in txb levels and signs · 679d81e9
      Linfeng Zhang authored
      This helps the removal of vertical availability check.
      
      Change-Id: Ie9204e3f2aacd86c8e19f1db0e40949e437a500c
      679d81e9
    • Hui Su's avatar
      Add flag to indicate if intrabc is used · 8587878c
      Hui Su authored
      Change-Id: If8a4f3d256e619c9efdb66b1d8b8da5b8fc980ab
      8587878c
    • Luc Trudeau's avatar
      [CFL] Remove custom DC_PRED · 8e232aad
      Luc Trudeau authored
      Results on Subset 1
         PSNR | PSNR Cb | PSNR Cr | PSNR HVS |    SSIM | MS SSIM | CIEDE 2000
      -0.0354 | -0.2567 | -0.3941 |   0.0104 | -0.0084 |  0.0120 |    -0.0996
      
      https://arewecompressedyet.com/?job=master%402017-11-03T15%3A57%3A30.643Z&job=cfl-av1-DC_PRED%402017-11-03T16%3A00%3A10.866Z
      
      BUG=aomedia:928
      
      Change-Id: I4e26e8c56d2246ca32b8d86145ef67f6df90d8d1
      8e232aad
    • Sarah Parker's avatar
      Use mrc mask when eob==1 · 980a248e
      Sarah Parker authored
      Change-Id: I60d5134405bd8b8810b82752d3cacfe466a56241
      980a248e
    • 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
    • Sebastien Alaiwan's avatar
      Remove LGT experiment · 2fa189e5
      Sebastien Alaiwan authored
      This experiment has been abandonned for AV1.
      
      Change-Id: If560a67d00b8ae3daa377a59293d5125a8cb7902
      2fa189e5
    • Monty Montgomery's avatar
      Add Daala TX to rectangular 32x64 and 64x32 transforms · 6a2a75b6
      Monty Montgomery authored
      This patch adds Daala TX transforms ot the 32x64 and 64x32 transform
      block sizes using Q3 (up 4, down 1) scaling.
      
      subset 1:
      monty-daalaTX-fulltest-Daalabaseline-s1@2017-11-07T00:01:46.582Z ->
       monty-daalaTX-LBD-Daala32x64-s1-Z@2017-11-07T06:10:58.523Z
      
        PSNR | PSNR Cb | PSNR Cr | PSNR HVS |   SSIM | MS SSIM | CIEDE 2000
      0.0112 | -0.0769 |  0.0799 |   0.0567 | 0.0099 | -0.0077 |    -0.0446
      
      objective 1 fast:
      monty-daalaTX-fulltest-Daalabaseline-o1f4@2017-11-07T05:59:16.553Z ->
       monty-daalaTX-LBD-Daala32x64-o1f4-Z@2017-11-07T06:10:11.519Z
      
         PSNR | PSNR Cb | PSNR Cr | PSNR HVS |    SSIM | MS SSIM | CIEDE 2000
      -0.0190 |  0.0926 | -0.0730 |  -0.0516 | -0.0037 | -0.0588 |     0.1310
      
      Change-Id: I6246ecba388ae81deadc7b306dc3404fa7869aab
      6a2a75b6
    • 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
  3. 08 Nov, 2017 6 commits
    • Thomas Daede's avatar
      Use AOM_CDF* macros instead of bare AOM_ICDF macros. · e82e5774
      Thomas Daede authored
      This will facilitate later experiments reducing the precision
      of probabilities.
      
      after_cdf_table_rewrite-3 -> before_cdf_table_rewrite-3
      
        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: Ief01b4d7fdca075c41e9add079f7ac836dafcfbe
      e82e5774
    • Cheng Chen's avatar
      JNT_COMP: fix issues with convolve_round · 3866a142
      Cheng Chen authored
      Fix an issue of sudden PSNR drop on a few frames when convolve_round
      is turned on.
      
      C functions is added.
      
      Corresponding simd functions and unit tests will be updated in
      future CL.
      
      Change-Id: I0126ea4d54c98951e5b1efeaecd5468fdc18724a
      3866a142
    • Zoe Liu's avatar
      Remove ONE_SIDED_COMPOUND experimental flag · c01dddb7
      Zoe Liu authored
      Always assume ONE_SIDED_COMPOUND is true as it has been adopted
      officially. Further, this patch also fixes the cmake setup for
      the experiment of EXT_COMP_REFS, as when EXT_COMP_REFS is on, it
      shall always have ONE_SIDED_COMPOUND on (but that was not the case
      without this patch).
      
      We leave EXT_COMP_REFS for the time being, even though it is also
      adopted, since by keeping this flag, it may allow its turning off to
      tune the encoder speed. The experiment of EXT_COMP_REFS should be
      removed eventually at the closing of the bitstream.
      
      Change-Id: I0644318e522f5b48d5bba4e4391104a24d43cdc3
      c01dddb7
    • 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
    • Linfeng Zhang's avatar
      Remove get_level_count_mag_coeff() and get_br_ctx_coeff() · 841a84d6
      Linfeng Zhang authored
      Change-Id: Ie6d663aacbed1452060cdef60e96d6acf469d430
      841a84d6
    • Linfeng Zhang's avatar
      Remove temporary coeff_is_byte_flag in txb code · b6957c29
      Linfeng Zhang authored
      Change-Id: I8b3e028b3c17660b390ce9c65b3d31aabc83efd9
      b6957c29
  4. 07 Nov, 2017 11 commits
    • Hui Su's avatar
      intrabc: control reference areas · 64463e74
      Hui Su authored
      Change-Id: I853a0e4b5fc7e7b5c1745b401214ef71b65aad60
      64463e74
    • Rupert Swarbrick's avatar
      Move loop restoration reset into a helper function · 76405206
      Rupert Swarbrick authored
      This seems a little cleaner than having the loop open coded in four
      places.
      
      Change-Id: I2ce7be2745ba3575f618d9e261ab767d10f551f7
      76405206
    • Sebastien Alaiwan's avatar
      Remove LPF_DIRECT experiment · 472b1744
      Sebastien Alaiwan authored
      This experiment has been abandonned for AV1.
      
      Change-Id: I599608060ade646d6551dea7cfc680f83ee9d507
      472b1744
    • Hui Su's avatar
      Don't use sub8x8_inter for intrabc blocks · 96e119a3
      Hui Su authored
      Change-Id: Ibaeea878e37f193e405910fac34176065cb5d2e3
      96e119a3
    • Hui Su's avatar
      intrabc: only consider intrabc blocks' mvs for ref mv · 1e68d5dd
      Hui Su authored
      When generating ref mv list, only consider neighbor blocks that use intrabc.
      
      Change-Id: I69f838a38478ce118f936dbf431048d3d42d4f34
      1e68d5dd
    • Linfeng Zhang's avatar
      Add levels array in av1_optimize_txb() · 1015a347
      Linfeng Zhang authored
      av1_txb_init_levels() has prefix 'av1' because it will be optimized
      and not static later.
      
      Change-Id: I988da817335f122522a76c4412207c3a6fdd6b71
      1015a347
    • Joe Young's avatar
      Enable ext-intra-mod by default · 2edfc37b
      Joe Young authored
      Provisionally adopted on 2017-10-31
      
      (Also an asan warning fix + few non-functional changes)
      
      Change-Id: I2ff4f34f8b20d2eeb567f2e5b1e57b296a97be82
      2edfc37b
    • Yaowu Xu's avatar
      Avoid left shift of negative numbers · 2a91ab7e
      Yaowu Xu authored
      Change-Id: I21f956a83687ebaeab81577aabdbfed2ea2b4dd2
      2a91ab7e
    • Nathan E. Egge's avatar
      Replace OD_UNBIASED_RSHIFT32() with OD_RSHIFT1(). · 49fad89a
      Nathan E. Egge authored
      Because daala_tx only ever does an unbiased shift by 1, we can replace
       the varible shift macro with a simpler hardcoded implementation.
      This patch causes no change in behavior.
      
      subset-1:
      
      daala_tx@2017-11-04T07:20:17.571Z ->
       daala_tx-no_op@2017-11-04T07:21:06.231Z
      
        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: Ifddfef079320de0df09d9bc39757af9fe81e3c38
      49fad89a
    • Monty Montgomery's avatar
      Fix build for CONFIG_DAALA_TX and CONFIG_TX64X64 · 683f70e7
      Monty Montgomery authored
      The recent 64x32 and 32x64 patches break the build when
      CONFIG_DAALA_TX and CONFIG_TX64X64 are enabled simultaneously.  This
      is a minor correction that fixes the build problem.
      
      Change-Id: I53cd8df9160fc35b67f2ac16bddcfab08425cf8e
      683f70e7
    • Rupert Swarbrick's avatar
      striped-loop-restoration: Respect tile experiments · 921b334f
      Rupert Swarbrick authored
      As of patch https://aomedia-review.googlesource.com/c/aom/+/28821 ,
      loop-restoration units cannot cross tile borders. But the context
      around each processing unit was still allowed to cross tile borders.
      This is fine in the usual case - but, when loop filtering across tiles
      is switched off, we're supposed to be able to decode each tile completely
      independently (each tile column, if dependent-horztiles is on).
      
      Roughly, the change we need to make is:
      When loop filtering across tiles is switched off, we treat each tile
      as if it were a full frame, and extend the CDEF output for that tile
      to form a 3-pixel border around the tile. We only use deblocked
      above/below pixels for processing unit boundaries which lie inside
      a tile.
      
      In terms of the code, this is implemented in two parts. This only
      applies when the loop_filter_across_tiles_flag is false; otherwise,
      we keep the old behaviour.
      
      * For processing units at the top edge of a tile, fill the above context
        with copies of the topmost line of CDEF output *from the same tile*,
        rather than using deblocked pixels from the tile above.
        The below context of processing units at the bottom edge of a tile
        is treated analogously.
      
      * When setting up the boundary for a processing stripe at the left edge
        of a tile, fill the stripe's left boundary with copies of the
        leftmost column of CDEF output from the same tile. Again, processing
        stripes at the right edge of a tile are treated analogously.
      
        Similarly to the above/below boundaries, we store the overwritten
        pixels into a pair of left/right context buffers, and restore them
        to their original values once we've dealt with that processing stripe.
      
      Change-Id: I53a0932793c1c56dc037683c6a4353a3f5dc4539
      921b334f
  5. 06 Nov, 2017 4 commits