1. 19 Aug, 2017 4 commits
    • Cheng Chen's avatar
      Change experimental flag name · 13fc8194
      Cheng Chen authored
      CONFIG_UV_LVL --> CONFIG_LOOPFILTER_LEVEL
      Change name because the experiment combines filter level search
      in U, V plane, and horizontal, vertical search in Y plane.
      
      Change-Id: Ia05b8f80cd93b60a0305eb94e5783559ef904c13
      13fc8194
    • Cheng Chen's avatar
      Dual deblocking filter strength thresholds · 179479fe
      Cheng Chen authored
      A new experiment for deblocking filter that separates vertical
      and horizontal filter strengths. This experiment is based on the
      assumption that non-flatness characteristics of vertical and
      horizontal direction may differ. Therefore selecting different
      filter strengths for vertical and horizontal can improve deblocking
      performance.
      
      The process of finding proper filter strength:
      1. Search through the filter level under the constraint that
         (vertical == horizontal), and find the best solution.
      2. Fix vertical level as the best solution found in step 1 and vary
         horizontal level to find the best value.
      3. Fix the selected horizontal level, vary vertical level to find
         its best value.
      
      The experiment is working with UV_LVL, sharing the same config flag.
      The searching for horizontal and vertical filter strength only applies
      on Y plane for now.
      
      The experimental flag should be changed to filter_level later.
      
      Change-Id: I164eec8d3ccb3da7ff109c5c55f4b52c1536ddf1
      179479fe
    • Sarah Parker's avatar
      Prevent bitstream from signaling illegal compound types · 680b9b17
      Sarah Parker authored
      Currently nothing forbids wedge from being signalled when
      the block is > 32X32, even though there is no corresponding wedge
      mask for that block size.
      
      BUG=aomedia:640
      BUG=aomedia:636
      
      Change-Id: I538be0229a12b5ef01b2e5a950c9f16ef9a5c51e
      680b9b17
    • Jonathan Matthews's avatar
      Palette Throughput - don't copy garbage · be984ebb
      Jonathan Matthews authored
      BUG=aomedia:697
      
      Change-Id: Id7e971e515c9faa3df32e162befd57907278549d
      be984ebb
  2. 18 Aug, 2017 8 commits
    • Jingning Han's avatar
      Fix tokenization process in palette when lv-map is on · 13648e75
      Jingning Han authored
      This commit resolves an encoding failure issue due to the
      tokenization in palette when the lv-map experiment is turned on.
      
      BUG=aomedia:689
      
      Change-Id: I8e476ae81e4d5d11c6aab7611dff9deb7fa63e9e
      13648e75
    • Sarah Parker's avatar
      Ensure mrc_tx is not enabled with incompatible experiments · 6692a10e
      Sarah Parker authored
      Mrc_tx is currently not working with lv_map, supertx and
      coef_interleave and requires var_tx.
      
      Change-Id: I6e9d7a54ed10a7a4e5c2088d5907ac8dc610a474
      6692a10e
    • Yaowu Xu's avatar
      Correctly indicate invalid partition context · 88e673d2
      Yaowu Xu authored
      BUG=aomedia:685
      
      Change-Id: I8490af713c53e8c420ef9dffa7c27bb71bbfca54
      88e673d2
    • Hui Su's avatar
      Remove dpcm-intra experiment · 400bf651
      Hui Su authored
      Coding gain becomes tiny on top of other experiments.
      
      Change-Id: Ia89b1c2a2653f3833dff8ac8bb612eaa3ba18446
      400bf651
    • Rupert Swarbrick's avatar
      Only use av1_inv_txfm2d_add_32x32_avx2 for DCT_DCT · f16c3c89
      Rupert Swarbrick authored
      The AVX2 code only supports DCT_DCT. For other transform types, use
      the C fallback.
      
      Change-Id: I6b472ebd7d963c02aae80ff5846b7f2dcaf092ea
      f16c3c89
    • Rupert Swarbrick's avatar
      Fix build with --disable-ext_inter · 94d2a257
      Rupert Swarbrick authored
      In patch 1cfe474b ("Simplify motion var parameters in reconinter.h"),
      I moved some code from the header down into
      reconinter.c. Unfortunately, I managed to drop it inside an #ifdef
      CONFIG_EXT_INTER/#endif pair, which means the build won't work if
      compiled with --disable-ext_inter.
      
      This patch moves the hunk of code to above the #ifdef.
      
      BUG=aomedia:694
      
      Change-Id: I1e83bb500bcb607ee5911027b7c4787184703a57
      94d2a257
    • Tom Finegan's avatar
      Make CONFIG_COLORSPACE_HEADERS public API changes unconditional. · 01d43e1f
      Tom Finegan authored
      Avoid changing the public API based on an experiment flag:
      
      - Remove aom_config.h include from aom_image.h.
      - Unconditionally include the existing API additions.
      - Add some missing doc comments (silences Doxygen warnings).
      - Return an error when using ctrl flags that require
        CONFIG_COLORSPACE_HEADERS when it's not enabled.
      - Move colorspace_headers to the correct section of configure.
      - Move CONFIG_COLORSPACE_HEADERS to the correct section of
        aom_config_defaults.cmake.
      - clang-format style check appeasement
      
      Change-Id: I7b5d72c6f9f1a5561409d7813ba59180d98d8805
      01d43e1f
    • Sebastien Alaiwan's avatar
      Coding path sync test: clarify comment · 67876e77
      Sebastien Alaiwan authored
      Change-Id: Ib40f6be7d86704d5a5dd4f5bc7dd7331f18894df
      67876e77
  3. 17 Aug, 2017 10 commits
    • Sebastien Alaiwan's avatar
      Coding path sync test: force picture size · 439b21c2
      Sebastien Alaiwan authored
      Change-Id: Ib9dd9aaa5240ac7c90f9c276ae8ef9055fcf1fdd
      439b21c2
    • Angie Chiang's avatar
      Add get_base_count_mag() · 9cde59f0
      Angie Chiang authored
      Compute base level's count/mag together.
      This will speed up lv_map exp by 5%
      
      Change-Id: I479098ed2637fc05d454fb0a7dc9f09aa20401f3
      9cde59f0
    • Angie Chiang's avatar
      Re-write gen_txb_cache · 481c01fc
      Angie Chiang authored
      This speed up lv_map exp by 5%
      
      Change-Id: Ic71e55c9e777031fe671589a96d8f2053f4d65a5
      481c01fc
    • Steinar Midtskogen's avatar
      Fix compile problem in VS · bbec5d00
      Steinar Midtskogen authored
      Change-Id: Ibe9908fac4920686eaee6e7b261e0ce29241cf4c
      bbec5d00
    • Yushin Cho's avatar
      cdef-dist and daala-dist is runtime switchable · e30a47ca
      Yushin Cho authored
      Use --tune=[cdef-dist|daala-dist] to enable them.
      
      Also, this commit set the use_activity_masking of PVQ as 0 by deafult,
      which means that PVQ assumes daala-dist is not used by default.
      
      Since we're currently not signaling which metric the encoder did use
      in the bitstream, the compile flag AV1_PVQ_ENABLE_ACTIVITY_MASKING will tell PVQ
      whether daala-dist is used or not.
      
      This commit is the last part of prep-work to remove DIST_8X8, CDEF_DIST,
      and DAALA_DIST experimental flags.
      
      Change-Id: Ia465b4d6fe64aac7f04852c8f9f4bac3409d2435
      e30a47ca
    • Tom Finegan's avatar
      Group CMake config changes. · 50e5d4ad
      Tom Finegan authored
      Group and sort the CMake configuration changes in
      aom_configure.cmake, and make sure everything that
      changes a CONFIG_ variable is taken care of before
      inclusion of cpu.cmake (which controls the RTCD
      versions of the CONFIG_ vars).
      
      Change-Id: Ib8069721de63c332392b7216fe3f194a077eb73c
      50e5d4ad
    • David Michael Barr's avatar
      [CFL] Move CFL cost table to struct macroblock · 38e560cc
      David Michael Barr authored
      Also, move body of update_cfl_costs() to av1_fill_mode_rates().
      
      Results on Subset1 (Compared to 1cfe474b with CFL enabled)
      
        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
      
      No change in bitstream, for an average encode speed-up of 2.3%.
      
      Change-Id: I3948abcd70cfecad8086edfe4c45552b576ae06f
      38e560cc
    • Sarah Parker's avatar
      Add rate computation to palette · 9c0e4515
      Sarah Parker authored
      Currently the rate is never computed for the palette color indices.
      The code to compute the rate is inside av1_tokenize_palette_sb
      when dry_run == DRY_RUN_COSTCOEFFS, but av1_tokenize_palette_sb is
      only called when !dry_run.
      
      Change-Id: Ie33eae9e4bcf1997a22dc939f31001334cb2c399
      9c0e4515
    • Yushin Cho's avatar
      Introduce runtime switch for dist_8x8 · 55104335
      Yushin Cho authored
      Even if 'dist-8x8' is enabled with configure,
      the dist-8x8 is not acutally enabled (so, no change in encoding behaviour)
      until the command line option, '--enable-dist-8x8=1" is used.
      
      The cdef-dist and daala-dist can not be enabled by a command line option yet.
      
      This commit is a part of prep-work to remove DIST_8X8, CDEF_DIST,
      and DAALA_DIST experimental flags.
      
      Change-Id: I5c2df90f837b32f44e756572a19272dfb4c3dff4
      55104335
    • Yushin Cho's avatar
      Add --enable-dist-8x8, rename existing '--tune' as '--tune-metric' · d808bfcf
      Yushin Cho authored
      Added 'cdef-dist' and 'daala-dist' options to --tune-metric'.
      (Actual bodies of the options will be added in later separate commits)
      
      Also, if --tune=cdef-dist or --tune=daala-dist,
      enable-dist-8x8 is automatically turned on.
      
      This commit is a part of prep-work to remove DIST_8X8, CDEF_DIST,
      and DAALA_DIST experimental flags.
      
      Change-Id: I0790b9537dfaf166cb59741997ae27da10697a33
      d808bfcf
  4. 16 Aug, 2017 15 commits
    • Angie Chiang's avatar
      lv_map_opt: remove extra ctx buffer · 1ae0ebfc
      Angie Chiang authored
      Change-Id: I632a1f42eff2e41206d6023505c3c26dfc4698c2
      1ae0ebfc
    • Angie Chiang's avatar
      Replace stride by bwl in get_level_count() · e97b5ea6
      Angie Chiang authored
      Change-Id: Id191159a851513b6eb3f2ddd104a1299eed59292
      e97b5ea6
    • Angie Chiang's avatar
      Replace stride by bwl in get_nz_count · defa7bf1
      Angie Chiang authored
      Change-Id: Iaa464fdd36c9a97070517757645da68ef009b82c
      defa7bf1
    • Angie Chiang's avatar
      Replace mult by left shift in get_mag() · f76828cf
      Angie Chiang authored
      Change-Id: Idfa722cf2d1ed2f73630c7480ce166286955e1c5
      f76828cf
    • Angie Chiang's avatar
      Replace mult by left shift in get_level_count_mag() · 2ad6ee65
      Angie Chiang authored
      Change-Id: I58cdf4d1260759f085e12e871d48f59a89a346c4
      2ad6ee65
    • Debargha Mukherjee's avatar
      Use only up to 5x5 windows for sgr in loop-rest. · 76be32df
      Debargha Mukherjee authored
      The tables for guided filter in loop-restoration are changed
      to use a max of 5x5 windows (or radius 2).
      The aim is to reduce the gate count for hardware implementation.
      
      Change-Id: I7178d6ac09e4731a626f9bccf5151467c63e00c3
      76be32df
    • Frederic Barbier's avatar
      Fix memory corruption · 94e3856e
      Frederic Barbier authored
      Fix a memory corruption introduced by commit
      f190a165
      
      On some cases, when empty tiles are present,
      av1_set_across_tile_boundary_info() writes beyond mode info array.
      
      Sanity check added.
      
      BUG=aomedia:690
      
      Change-Id: I8d87a2e183c69d0ed039c8b2f77b30434f837974
      94e3856e
    • Zoe Liu's avatar
      Add dependency of ext-comp-refs on one-sided-compound · 5a978838
      Zoe Liu authored
      When ext-comp-refs is enabled, one-sided-compound is enabled by default,
      which ensures the use of ext-comp-refs is an extension of
      one-sided-compound. Both coding tools allow the use of same-sided
      reference frame pairs for compound prediction.
      
      Also, remove the dependency of ext-comp-refs on var-refs, i.e. these two
      coding tools can be independently enabled. They can still work together
      if both are enabled simultaneously.
      
      Change-Id: I3134e7e2956dc35d557fe814f5d801d473683650
      5a978838
    • Rupert Swarbrick's avatar
      Simplify motion var parameters in reconinter.h · 1cfe474b
      Rupert Swarbrick authored
      Before this patch, the functions build_inter_predictors, allow_warp
      and av1_make_inter_predictor took two parameters (if
      CONFIG_MOTION_VAR): mi_col_offset and mi_row_offset. These were used
      for two things: they were used to look up a MODE_INFO structure and
      the code figured out it was doing OBMC if at least one offset was
      nonzero.
      
      This patch slightly simplifies things by passing the relevant mi and a
      flag saying whether we're doing OBMC instead. This means the
      allow_warp function actually loses a parameter.
      
      It also moves all mention of the functions out of the header and into
      reconinter.c since they are only used in that compilation unit.
      
      Change-Id: I8dedad9d7384ee0aa17b977e92ea7bfa83a532ef
      1cfe474b
    • James Zern's avatar
      aom_configure: ensure RTCD_CONFIG_* are properly set · a1e274e2
      James Zern authored
      adjustments made by aom_configure.cmake need to be done prior to
      including cpu.cmake
      
      Change-Id: I482905414da4b1e112066d127cd71f8eae9dd504
      a1e274e2
    • Tom Finegan's avatar
      Add support for CONFIG_XIPHRC to the CMake build. · f00be13c
      Tom Finegan authored
      BUG=aomedia:683
      
      Change-Id: I198665a2cf5714bbb6fa7ecc8e430c02198cfb7b
      f00be13c
    • Tom Finegan's avatar
      Fix CONFIG_TXK_SEL support in the CMake build. · 08917e7b
      Tom Finegan authored
      CONFIG_TXK_SEL requires CONFIG_LV_MAP. Warn when not enabled, and
      enable it. This matches the configure build.
      
      BUG=aomedia:683
      
      Change-Id: Iba0340d13fcb3cb0d20fc36df6b3def2fc1d92fd
      08917e7b
    • Tom Finegan's avatar
      Fix CONFIG_PVQ support in the CMake build. · ac87049f
      Tom Finegan authored
      Wrap usages and declaration of av1_set_txb_context with
      CONFIG_PVQ preproc checks.
      
      BUG=aomedia:683
      
      Change-Id: I2080d7437ebe1741232eb5e4e83a430279c913a0
      ac87049f
    • James Zern's avatar
      coding_path_sync.cc: fix missing initializer warning · 78e5ecfc
      James Zern authored
      use the default constructor for aom_codec_dec_cfg, this matches the
      other tests
      
      Change-Id: I989007517c0dbd47b3781b812feba905061c0a26
      78e5ecfc
    • Urvang Joshi's avatar
      Re-enable resize test. · c9ac07f6
      Urvang Joshi authored
      This test has been removed from compilation for many months now.
      We add it back to compilation, but disable some of the tests which are
      not working / may be obsolete.
      
      Note: This test, had it been enabled earlier, would have caught some
      recently discovered issues (such as these fixes:
      https://aomedia-review.googlesource.com/c/18080)
      
      Change-Id: I3c7954f996889c86a63cda33fda1a1c06ed4c6d7
      c9ac07f6
  5. 15 Aug, 2017 3 commits
    • Monty Montgomery's avatar
      Disable only coding transform SIMD for DAALA_TX · 1d190950
      Monty Montgomery authored
      Rather than disabling MMX (well, all of SIMD) for daala transforms,
      selectively disable the AV1 TX SIMD through
      av1/common/av1_rtcd_defs.pl
      
      This also requires quite a few testing build fixups.
      
      Change-Id: I689eaafbdd3a87e3a8eeef97412a1846ef886055
      1d190950
    • Monty Montgomery's avatar
      Add 4-point DST to DAALA_DCT4 experiment · 573cf25f
      Monty Montgomery authored
      CONFIG_DAALA_DCT4 currently force-enables CONFIG_DCT_ONLY due to a
      missing 4-point DST.  The DST had not been included because it was a
      significant coding performance loss; this turned out to be a bug that
      has since been corrected.
      
      This patch adds a 4-point type IV DST to the DAALA_DCT4 experiment.
      There is a small coding performance loss in using the type IV over
      AV1's current type VII.
      
      subset-1:
         monty-newdst4test-baseline-s1-F@2017-07-29T04:58:43.976Z ->
            monty-newdst4test-daala-s1-F@2017-07-29T04:59:56.094Z
      
         PSNR | PSNR Cb | PSNR Cr | PSNR HVS |    SSIM | MS SSIM | CIEDE 2000
      -0.0336 |  0.1393 |  0.0491 |   0.4118 | -0.0439 |  0.2084 |     0.0476
      
      objective-1-fast:
         monty-newdst4test-baseline-o1f-F@2017-07-29T04:58:10.439Z ->
            monty-newdst4test-daala-o1f-F@2017-07-29T04:59:04.678Z
      
        PSNR | PSNR Cb | PSNR Cr | PSNR HVS |    SSIM | MS SSIM | CIEDE 2000
      0.0064 |  0.1071 | -0.0108 |   0.1133 | -0.0035 |  0.0765 |     0.0502
      
      Change-Id: Ie29835edbe0e41bc86f4b09457e88d924cc9bf7e
      573cf25f
    • Zoe Liu's avatar
      Add ext-comp-refs dependency on ext-refs in configure · b9cfa415
      Zoe Liu authored
      This will remove the compilation failure for the weekly run on speed
      checking.
      
      Change-Id: Idf688c7e4c6fcb4c5aabef68b0e9f68996cd9a12
      b9cfa415