1. 12 Jul, 2017 8 commits
    • Rupert Swarbrick's avatar
      ext-partition-types: Add 4:1 partitions · 93c39e91
      Rupert Swarbrick authored
      This patch adds support for 4:1 rectangular blocks to various common
      data arrays, and adds new partition types to the EXT_PARTITION_TYPES
      experiment which will use them.
      
      This patch has the following restrictions, which can be lifted in
      future patches:
      
        * ext-partition-types is incompatible with fp_mb_stats and supertx
          for the moment
      
        * Currently only 32x32 superblocks can use the new partition types
      
      There's a slightly odd restriction about when we allow
      PARTITION_HORZ_4 or PARTITION_VERT_4. Since these both live in the
      EXT_PARTITION_TYPES CDF, read_partition() can only return them if both
      has_rows and has_cols is true. This means that at least half of the
      width and height of the block must be visible. It might be nice to
      relax that restriction but that would imply a change to how we encode
      partition types, which seems already to be in a state of flux, so
      maybe it's better to wait until that has settled down.
      
      Change-Id: Id7fc3fd0f762f35f63b3d3e3bf4e07c245c7b4fa
      93c39e91
    • Monty Montgomery's avatar
      Add CONFIG_DAALA_DCT4 experiment. · 02078a38
      Monty Montgomery authored
      This experiment replaces the 4-point Type-II scaled-output vp9 DCT
       transform with the 4-point Type-II orthonormal Daala DCT transform.
      Right now the CONFIG_DAALA_DCT4 experiment depends on CONFIG_DCT_ONLY
       as it does not add an orthonormal 4-point DST.
      
      subset-1:
      
      monty-baseline-dctonly-squaretx-subset1 ->
        monty-dct4-dctonly-squaretx-subset1-rerun
      
        PSNR | PSNR Cb | PSNR Cr | PSNR HVS |   SSIM | MS SSIM | CIEDE 2000
      0.0055 | -0.0132 | -0.0405 |   0.0261 | 0.0005 |  0.0246 |     0.0226
      
      objective-1-fast:
      
      monty-baseline-dctonly-squaretx-o1f ->
        monty-dct4-dctonly-squaretx-o1f
      
         PSNR | PSNR Cb | PSNR Cr | PSNR HVS |    SSIM | MS SSIM | CIEDE 2000
      -0.0215 | -0.1573 |     N/A |  -0.0131 | -0.0347 | -0.0390 |    -0.1121
      
      Change-Id: Idef8f6e5525037d5bbb2d0927675c21d1922d69a
      02078a38
    • Sarah Parker's avatar
      Add calls to vertical/horizontal trapezoidal warping functions · 77b04c8e
      Sarah Parker authored
      BUG=aomedia:652
      
      Change-Id: I5d178fd101ac5c163249a82dfeacbf64091e8333
      77b04c8e
    • Monty Montgomery's avatar
      Minor refactor to match the 4x4 forward transform. · 554d2c33
      Monty Montgomery authored
      Change-Id: Ib5337dfa78b73059ad169ca98a07119aa991864b
      554d2c33
    • Thomas Davies's avatar
      Sync CDF initialisations with probs. · 7865349d
      Thomas Davies authored
      Default probabilities were updated in
      d1b8c2a3. Update
      recently-added CDFs not covered in this commit
      to use these probabilities for initialisation.
      
      AWCY: -0.03%
      
      Change-Id: I5c34d1e890ddb0757df41848a0acc8509fcd4772
      7865349d
    • Rupert Swarbrick's avatar
      Fix build error with interintra mode enabled · 9803b94a
      Rupert Swarbrick authored
      Change-Id: Ib05eefeca1fd7819919d26f7ca52138c62306319
      9803b94a
    • Tristan Matthews's avatar
      entropymode: fix sizeof mismatch · e886d223
      Tristan Matthews authored
      Fixes "aomenc: init_mode_probs: Assertion `sizeof(fc->motion_mode_prob)
      == sizeof(default_motion_mode_prob)' failed"
      
      Change-Id: I7b71304f50756ffd6e14b03fe338c0d624ce35c5
      e886d223
    • Zoe Liu's avatar
      Further work on ext-comp-refs for ref frame coding · fcf5fa27
      Zoe Liu authored
      (1) Work with var-refs to remove redundant bits in ref frame
          coding;
      (2) Add a new uni-directional compound reference pair:
          (LAST_FRAME, LAST3_FRAME);
      (3) Redesign the contexts for encoding uni-directional reference frame
          pairs;
      (4) Use aom_entropy_optimizer to collect stats for all the default
          probability setups related to the coding of reference frames.
      
      Compared against the baseline (default enabled tools excluding ext-tx
      and global-motion for encoder speed concern) with one-sided-compound,
      the coding gain of ext-comp-refs + var-refs - one-sided-compound is:
      
      lowres: avg_psnr -0.385%; ovr_psnr -0.378% ssim -0.344%
      midres: avg_psnr -0.466%; ovr_psnr -0.447% ssim -0.513%
      
      AWCY - High Latency:
         PSNR | PSNR Cb | PSNR Cr | PSNR HVS |    SSIM | MS SSIM | CIEDE 2000
      -0.2758 | -0.1526 | -0.0965 |  -0.2581 | -0.2492 | -0.2534 |    -0.2118
      
      AWCY - Low Latency:
         PSNR | PSNR Cb | PSNR Cr | PSNR HVS |    SSIM | MS SSIM | CIEDE 2000
      -1.0467 | -1.4500 | -0.9732 |  -0.9928 | -1.0407 | -1.0180 |    -1.0049
      
      Compared against the baseline (default enabled tools excluding ext-tx
      and global-motion for encoder speed concern) without
      one-sided-compound, the coding gain of
      ext-comp-refs + var-refs - one-sided-compound is:
      
      lowres: avg_psnr -0.875%; ovr_psnr -0.877% ssim -0.895%
      midres: avg_psnr -0.824%; ovr_psnr -0.802% ssim -0.843%
      
      Change-Id: I8de774c9a74c20632ea93ccb0c17779fa94431cb
      fcf5fa27
  2. 11 Jul, 2017 12 commits
    • Monty Montgomery's avatar
      Add CONFIG_DCT_ONLY experiment. · cb55dad1
      Monty Montgomery authored
      Building with --enable-dct_only will force the encoder to use only
       tx_type == DCT_DCT.
      This experiment gives a loss and is only added for testing.
      
      subset-1:
      
      master@2017-02-21T01:23:58.825Z ->
       master-dct_only@2017-02-21T02:57:28.585Z
      
        PSNR | PSNR Cb | PSNR Cr | PSNR HVS |   SSIM | MS SSIM | CIEDE 2000
      2.5467 |  1.0524 |  0.9171 |   1.8849 | 2.6626 |  2.4995 |     1.8402
      
      objective-1-fast:
      
      master@2017-02-21T01:47:43.790Z ->
       master-dct_only@2017-02-20T16:54:03.578Z
      
        PSNR | PSNR Cb | PSNR Cr | PSNR HVS |   SSIM | MS SSIM | CIEDE 2000
      1.6625 |  0.3948 |  0.3368 |   1.5268 | 1.7142 |  1.7097 |     1.0743
      
      Change-Id: I19b738f3d1a450bc50422149ac42bc184bfae08a
      cb55dad1
    • Sarah Parker's avatar
      Remove SEPARATE_GLOBAL_MOTION macro · 0eea89f3
      Sarah Parker authored
      Global_motion, obmc and warped_motion are now permanently
      mutually exclusive.
      
      Change-Id: Ib1a1207cc7caa6459a2027c6c4a50fcf4c451e76
      0eea89f3
    • Debargha Mukherjee's avatar
      Replace ref frame scaling with a better version · 405c857c
      Debargha Mukherjee authored
      Uses a better non-normative scaler to scale reference frames.
      
      Change-Id: I44b689c8328d6e6fd467c70c9b6b789874818153
      405c857c
    • Luc Trudeau's avatar
      [CFL] Convert cfl_alpha to q3 · 4e81d929
      Luc Trudeau authored
      Alpha's biggest fraction is 1/8, so Q3 does not change the bitstream.
      
      Results on Subset1 (compared to 503aca74 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
      
      Change-Id: I1fe5b2ace97179d5f950d7406a4f3d391924f89d
      4e81d929
    • hui su's avatar
      Remove a redundant #endif in entropymode.c · 65f2435e
      hui su authored
      Change-Id: Id8789a2c352a7c7940e5cabff39acd0d7a584cac
      65f2435e
    • Frederic Barbier's avatar
      Fix LOG_SWITCHABLE_FILTERS · 7b35d733
      Frederic Barbier authored
      Set LOG_SWITCHABLE_FILTERS accordingly to USE_EXTRA_FILTER
      
      Change-Id: I453fe201a66ec725061899337b17d517c57b9e7a
      7b35d733
    • Luc Trudeau's avatar
      Remove ";" after AVERAGE_TILE_CDFS · 7e243a1f
      Luc Trudeau authored
      Change-Id: Idfcc4e19143a45e0729829301acb1e3b711faff0
      7e243a1f
    • Yue Chen's avatar
      Align cdf of ref-mv related symbols with recently optimized probs · a9529a39
      Yue Chen authored
      Change-Id: Ief1fc77294397c32121dc666e09a9a802ff5b7d4
      a9529a39
    • Yue Chen's avatar
      Fix cdf declarations for a few symbols · d9de81e7
      Yue Chen authored
      Should always use AOM_ICDF() macro for compatibility with multiple
      symbol coding related experiments.
      This commit has no effect on metrics.
      
      Change-Id: Iab2c8f2a1234a36ebd1ec4307079d5344214608b
      d9de81e7
    • Nathan E. Egge's avatar
      Remove the EC_ADAPT experimental flags. · 6bdc40f1
      Nathan E. Egge authored
      Removing these flags make the EC_ADAPT experiment an integral part of
       the draft AV1 bitstream definition
      This commit has no effect on metrics.
      
      Change-Id: Ice78520935e8bfa9d25cf4b8384a1b872069d09c
      6bdc40f1
    • Thomas Davies's avatar
      NEW_MULTISYMBOL: use CDFs for palette tree coding. · ce7272d2
      Thomas Davies authored
      AWCY results, 1 frame, tune-content=1
      
      objective-1-fast:
      PSNR (Y, Cb, Cr) : -0.26%, -0.24%, -0.26%
      PSNR-HVS         : -0.26%
      MS-SSIM          : -0.25%
      
      screenshots:
      PSNR (Y, Cb, Cr) :  -2.28%, -2.29%, -2.29%
      PSNR-HVS         :  -2.30%
      MS-SSIM          :  -2.26%
      
      twitch-1 :
      PSNR (Y, Cb, Cr) : -0.73%, -0.73%, -0.73%
      PSNR-HVS         : -0.75%
      MS-SSIM          : -0.74%
      
      Change-Id: I7aac475710ab3895778d7ff05d9113f5713133b1
      ce7272d2
    • Thomas Davies's avatar
      Adapt motion mode syntax. · 04e5aa7f
      Thomas Davies authored
      Remove deprecated tree coding when EC_ADAPT is on.
      
      AWCY, objective-1-fast, High Latency:
      
      PSNR (Y, Cb, Cr) : -0.10%, -0.40%, -0.37%
      SSIM: -0.11%
      PSNR-HVS: -0.07%
      MS-SSIM: -0.06%
      
      Change-Id: Ic2d436e037312e1af238a8586983f1288a9a95a8
      04e5aa7f
  3. 10 Jul, 2017 8 commits
  4. 08 Jul, 2017 3 commits
  5. 07 Jul, 2017 5 commits
    • David Barker's avatar
      Fix a logic error with cb4x4 disabled · a0c1638f
      David Barker authored
      In the case where:
      * global-motion and ext-inter are both enabled
      * cb4x4 is disabled
      * We have an 8x8 macroblock which is partitioned into smaller blocks
      
      the function is_nontrans_global_motion has a bug where it will
      always act as if that macroblock does not use global motion. This
      patch fixes that logic bug.
      
      Change-Id: I712d7bab6d646726d97aa37630399b4bcbee7757
      a0c1638f
    • Lester Lu's avatar
      Signature changes for the LGT experiment · d8b1ddce
      Lester Lu authored
      The input arguments of av1_fht* and av1_iht* functions (and their
      HBD versions) are slightly changed. Input arguments tx_type and
      bd are carried by a struct fwd_txfm_param/inv_txfm_param. This
      struct is meant to later on carry other prediction information,
      such as intra top/left boundaries to the transform level, so
      that the choice of transforms can be more adaptive to the
      prediction mode and local video content.
      
      Change-Id: Ia42544248a51845be64b72855b642ef1fe5910a9
      d8b1ddce
    • Thomas Davies's avatar
      NEW_MULTISYMBOL: adapt remaining INTERINTRA syntax elements. · cff9171e
      Thomas Davies authored
      AWCY, objective-1-fast, High Latency :
      -0.14% all metrics with NEW_MULTISYMBOL on (reference
          with NEW_MULTISYMBOL off).
      
      Change-Id: I7cb3d05977d5e424fd38a40ab558c87c5d811f14
      cff9171e
    • Thomas Davies's avatar
      INTERINTRA : adapt interintra_mode as cdf. · 299ff04f
      Thomas Davies authored
      Use CDFs to code intrainter_mode instead of deprecated
      tree coding.
      
      AWCY, objective-1-fast, High Latency :
      -0.02% all metrics, standard configuration
      
      Change-Id: I839eec7cae9783e28d2018511989b7b56dc948a5
      299ff04f
    • Thomas Davies's avatar
      Adapt the compound_type syntax element. · d8dac22f
      Thomas Davies authored
      This syntax element was encoded using legacy tree encoding, and is
      used in the compound_segment and wedge experiments.
      
      AWCY: -0.01% all metrics (objective-1-fast, High Latency)
      
      Change-Id: I3771ed27e13dd74841c615bec4c2918d39b76093
      d8dac22f
  6. 06 Jul, 2017 4 commits
    • Wei-Ting Lin's avatar
      Fix compiling bug for ext-inter cdf coding · 99eaa0eb
      Wei-Ting Lin authored
      Change-Id: I1ddc3386d5ed78a8595abfb2fd73d634bc5de03a
      99eaa0eb
    • hui su's avatar
      Re-order intra modes during RD search · 8a516a8f
      hui su authored
      Prioritize modes that are more likely to be picked. Impact on
      compression is neutral. Keyframe encoding speed increases by about 5%.
      
      Change-Id: I57f7481a42b833203e4cfb84806fe755ec37d615
      8a516a8f
    • Luc Trudeau's avatar
      [CFL] Fewer bits for fixed point · 475fc9df
      Luc Trudeau authored
      Since alpha is Q3, we reduce y_average from Q10 to Q3. As such, the
      prediction is reduced from Q13 to Q6. Chroma dc_pred is reduced from Q7
      to Q6 in order to match with the prediction.
      
      Results on Subset1 (compared to 209de2e5b with CfL enabled)
      
        PSNR | PSNR Cb | PSNR Cr | PSNR HVS |   SSIM | MS SSIM | CIEDE 2000
      0.0010 |  0.0176 | -0.0538 |  -0.0043 | 0.0027 | -0.0097 |    -0.0018
      
      Change-Id: Ib7dd3968a764e0380ddc0ad2333ebacf1e9699cd
      475fc9df
    • U-AMR\zlei3's avatar
      fix a bug in update_boundary info function · af7846ec
      U-AMR\zlei3 authored
      the existing code in update_boundary info function always set tile
      boundary. However, the cdef filter only check tile boundary info but
      not the loopfilter_across_tile_boundary_enabled flag. so it always
      disable filtering at the tile boundary no matter what the
      loopfilter_across_tile_boundary_enabled is.
      
      with this fix, tile boundary info is only set when
      the loopfilter_across_tile_boundary_enabled is set to 0. otherwise
      it should be ignored.
      
      Change-Id: I67bda08b217dd862bbeef2fd38b7a444b2edf59b
      af7846ec