1. 21 Aug, 2017 10 commits
    • Yaowu Xu's avatar
      Prevent access of array using -1 index · 38cdce8e
      Yaowu Xu authored
      BUG=aomedia:685
      
      Change-Id: I0698b281fbaff2e77a50f5dc9a10d752de6c6f79
      38cdce8e
    • Debargha Mukherjee's avatar
      Silence a compiler warning in detokenize · 415d82ca
      Debargha Mukherjee authored
      Change-Id: Idcc4c4722bd0379c8667b60115bfd85cf779a6ac
      415d82ca
    • Rupert Swarbrick's avatar
      Obey do_average flag when doing convolve_round · 07089c68
      Rupert Swarbrick authored
      Doing this means that we don't have to memset temporary buffers to
      zero in reconinter.c, which was taking ~5% of cycles in a short
      encoding test (using perf to attach to a running encode).
      
      Change-Id: Ibb6e31920000b876c6ee99f454d89c8a97e9fb31
      07089c68
    • Angie Chiang's avatar
      Let DISABLE_TRELLISQ_SEARCH configurable · 91a1cf91
      Angie Chiang authored
      Change-Id: I48ebf352c6c28e5c0c0e477b24828f0e3fe1dedb
      91a1cf91
    • Angie Chiang's avatar
      Change av1_cost_coeffs_txb's interface · 3627de2c
      Angie Chiang authored
      Change-Id: Ie7c216218bd233e74970b261186df8f08aca6193
      3627de2c
    • Angie Chiang's avatar
      Use table lookup for computing base ctx · def11251
      Angie Chiang authored
      This will speed up lv_map by 4.3%
      
      Change-Id: I886f67b9f1ae2e5f567e114fa34cf3ba437b8381
      def11251
    • Angie Chiang's avatar
      Use || to replace && logics in try_level_down() · 0c89dca7
      Angie Chiang authored
      Change-Id: I6e9e1c94f688ed84c49d3b861dbac15c37248827
      0c89dca7
    • Joe Young's avatar
      [cb4x4][refmv] scan_row_mbmi/scan_col_mbmi · 8e4c3a74
      Joe Young authored
      For sub-8x8 blocks, scan loop should have at least one iteration.
      Previously, loop would be skipped if col_offset == 1 and n8_w == 1.
      
      This change appears to have neutral effect on bdrate (+0.01).  This could
      mean that extra MV candidates are not helping that much for sub-8x8.
      
      Change-Id: Ic778312b39113ab8f348f5c7c18813593a831b7c
      8e4c3a74
    • Rupert Swarbrick's avatar
      Hide definitions behind #if ! CONFIG_EXT_PARTITION · a74fc4c1
      Rupert Swarbrick authored
      The orders_32x128 and orders_128x32 variables are only used when
      CONFIG_EXT_PARTITION is false. Only define them in that case to avoid
      a compiler warning.
      
      Change-Id: Iebe297eff36b139caa83d039101cf16eb88ca8f8
      a74fc4c1
    • Zoe Liu's avatar
      Tune the decision on the GF group interval · 4c3d4767
      Zoe Liu authored
      The change is purely an encoder-side tuning, which constrains a GF
      group interval to be either 8, or 12, or a number larger than 12
      (maximum of 16). The change is under ext_refs.
      
      This work has been part of the summer internship effort by chendixi@.
      
      Further, this CL removes the experiment of flex_refs and merges it
      into ext_refs, as flex_refs has been completely focused on the encoder
      side optimization for ext_refs.
      
      On Google test sets, above (stillness + interval enforcement) achieve
      a coding gain in BDRate as follows, compared against the AV1 baseline
      with all tools enabled by default (excluding ext-tx, global-motion,
      and convolve-round for speed concern):
      
      lowres: avg_psnr -0.193%; ovr_psnr -0.370%; ssim -0.332%
      midres: avg_psnr -0.556%; ovr_psnr -0.680%; ssim -0.798%
      
      Change-Id: Ia992d8ef0d82cc0ef2caba5eec9b26f0358e6bde
      4c3d4767
  2. 20 Aug, 2017 3 commits
  3. 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
  4. 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
  5. 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
  6. 16 Aug, 2017 5 commits