1. 19 Jul, 2017 1 commit
    • Jingning Han's avatar
      Rework txk_type indexing system for chroma component · 19b5c8fa
      Jingning Han authored
      Use the row and column indexes to fetch txk_type, which allows the
      chroma components to derive the tx type from the corresponding luma
      components. It improves the coding performance of txk-sel by 0.18%.
      
      Change-Id: I3f4bca5839e13ae95e51053e76cd86fe58202ac9
      19b5c8fa
  2. 18 Jul, 2017 1 commit
    • Cheng Chen's avatar
      Clean CLPF local function · a5378e73
      Cheng Chen authored
      Rename local functions and make them static.
      Remove unnecessary header file and corresponding includes.
      
      Change-Id: I4b09e3949e7207754753997ff359992bd348d488
      a5378e73
  3. 17 Jul, 2017 3 commits
    • Lester Lu's avatar
      Unify FWD_TXFM_PARAM and INV_TXFM_PARAM · 27319b6e
      Lester Lu authored
      Change two similar structs, FWD_TXFM_PARAM and INV_TXFM_PARAM,
      into a common struct: TxfmParam. Its definition is moved to
      aom_dsp/txfm_common.h to simplify dependency.
      
      This change is made so that, in later changes of the LGT
      experiment, functions requiring FWD_TXFM_PARAM and
      INV_TXFM_PARAM, such as get_fwd_lgt4 and get_inv_lgt4, can
      also be unified.
      
      Change-Id: I756b0176a02314005060adbf8e62386f10eeb344
      27319b6e
    • Angie Chiang's avatar
      lv_map clean-up: merge get_nz_map_ctx/2 · d27f5e27
      Angie Chiang authored
      Change-Id: Ied1a493723cac2ec4674bac642525a937826733f
      d27f5e27
    • hui su's avatar
      refactor get_tx_size() and get_uv_tx_size() · 0c6244b6
      hui su authored
      Change-Id: I802c9e41ebfed090b5ad8300917aad5e16ad026a
      0c6244b6
  4. 15 Jul, 2017 1 commit
    • Lester Lu's avatar
      lgt: delete unnecessary code · 5ee2808a
      Lester Lu authored
      Currently, lgt cannot work with pvq, so those lines are not
      necessary.
      
      Change-Id: Ida7b2de599b55d94cac57365c09ac2330abe3c66
      5ee2808a
  5. 14 Jul, 2017 5 commits
    • Wei-Ting Lin's avatar
      ncobmc_adapt_weight: read/write ncobmc mode · ca710d68
      Wei-Ting Lin authored
      An ncobmc mode is selected for each squared block
      (if motion_mode == ncobmc_adapt_weight) as opposed
      to four in training
      
      Change-Id: I81e5dfca3a6fec5a95c96b17f294530880cf8f88
      ca710d68
    • Sarah Parker's avatar
      Avoid sending gm params if source and ref are different sizes · 6c998d75
      Sarah Parker authored
      Change-Id: I4b4272c99ba6ff4d983dcb694b3ea4d5de1b4e14
      6c998d75
    • Yunqing Wang's avatar
      Sample selection in warped motion · 1bc82866
      Yunqing Wang authored
      Added a sample selection process in warped motion.
      1. Gather more samples including multiple rows on the top, multiple
      columns on the left, and the upper-right block.
      2. Sort samples by the MV difference between the neighbour's MV and
      the current block's MV. Trim the samples with considerably large MV
      difference.
      
      Borg test result:
                   avg_psnr ovr_psnr ssim
      cam_lowres:  -0.241   -0.243  -0.376
      lowres:      -0.104   -0.110  -0.179
      
      The changes are wrapped in WARPED_MOTION_SORT_SAMPLES macro.
      
      Change-Id: I2730bb31a0a3ad28215ccd16fd6da0ea8b2ed404
      1bc82866
    • hui su's avatar
      refactor get_tx_type() · 45b6475e
      hui su authored
      Change-Id: I2888bd8905253e02e3ac74597275cf56e5142d29
      45b6475e
    • Yunqing Wang's avatar
      Make EXT_TILE compatible with TILE_GROUPS · eeb08a9b
      Yunqing Wang authored
      Added a 1-bit flag 'large_scale_tile'. If it is 0 that is the default value,
      use normal tile coding in TILE_GROUPS. If it is 1, use large-scale tile
      coding in EXT_TILE.
      
      At large_scale_tile=1 case, if single-tile-decoding is required, then the
      loopfilter is disabled.
      
      Related API and unit tests were modified.
      
      Change-Id: I3ba12dc3d80ccf1ab21543ab3b16c02282c34e3b
      eeb08a9b
  6. 13 Jul, 2017 6 commits
  7. 12 Jul, 2017 2 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
    • 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
  8. 11 Jul, 2017 7 commits
    • Lester Lu's avatar
      Fix a bug when LGT and PVQ are both on. · 9c52192b
      Lester Lu authored
      Fixed a bug in my previous patch that causes a compile error (variable 
      block undefined) when pvq is on. 
      
      However, with or without LGT, --enable-pvq still has a run time error 
      during encoding. This run time error is independent of the LGT 
      experiment.
      
      Change-Id: I98ca5f69a916ea8556e45b820c2eb741c9656277
      9c52192b
    • 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
    • Nathan E. Egge's avatar
      Add assert(tx_type == DCT_DCT) when FIXED_TX_TYPE. · ebced376
      Nathan E. Egge authored
      Change-Id: I9bc925ab9b93f5318eb3f1aa3401ff3de2851fef
      ebced376
    • 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
      Use tile context not frame context for segment_id coding. · 9f5cedd1
      Thomas Davies authored
      BUG=aomedia:629
      
      Change-Id: I929e6e1db8491092f3e165d0990f9e10920fb2d3
      9f5cedd1
    • 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
  9. 10 Jul, 2017 3 commits
  10. 07 Jul, 2017 5 commits
    • Nathan E. Egge's avatar
      Add VAR_TX_NO_TX_MODE experiment. · a33304f0
      Nathan E. Egge authored
      This experiment removes the tx_mode flag from the uncompressed frame
       header and instead always uses a constant value.
      
      objective-1-fast:
      
      master@2017-06-29T00:51:22.142Z -> no_tx_mode@2017-06-29T01:09:32.392Z
         PSNR | PSNR Cb | PSNR Cr | PSNR HVS |    SSIM | MS SSIM | CIEDE 2000
      -0.0103 |  0.0183 | -0.0076 |  -0.0103 | -0.0052 | -0.0208 |     0.0004
      
      Change-Id: I9d49c4d99ed102e52c86e339f20623063886f49d
      a33304f0
    • 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
    • Sebastien Alaiwan's avatar
      Encode superframes in front · e4c6fc18
      Sebastien Alaiwan authored
      This moves the superframe index at the beginning of the frame packet.
      There's no change in the superframe index format, and it's still
      optional.
      
      BUG=aomedia:22
      
      Change-Id: I1488429bd114c220ed110be34baee19191ff730e
      e4c6fc18
  11. 06 Jul, 2017 3 commits
    • Thomas Davies's avatar
      EXT_INTER: CDF coding for inter_compound_mode. · 8c08a33a
      Thomas Davies authored
      Replace deprecated tree coding when EC_ADAPT is on.
      
      AWCY: -0.01% all metrics.
      
      Change-Id: I021dbc1e5f2a64fec66da1a427a0bf930cfed292
      8c08a33a
    • Sebastien Alaiwan's avatar
      Remove #if guard · 2cbf1a20
      Sebastien Alaiwan authored
      The preprocessor symbol is already tested in check_range implementation.
      
      Change-Id: I34079c6450fee2c137d78ad5a8c924f8f6aba7be
      2cbf1a20
    • Wei-Ting Lin's avatar
      ncobmc_adapt_weight: allow the usage of new motion mode · d0f7ba16
      Wei-Ting Lin authored
      The new motion mode "NCOBMC_ADAPT_WEIGHT" cannot be used
      in the motion search loop as it requires all mvs from the
      neighboring blocks. This patch add a wrapper to skip checking
      this mode during mv search.
      
      Change-Id: I3a39954e91101929f26b5479c8c6ae22abdc7bce
      d0f7ba16
  12. 05 Jul, 2017 3 commits