1. 20 Jul, 2017 5 commits
    • Jingning Han's avatar
      Clear unused parameters in decode_partition · ea10ad45
      Jingning Han authored
      Change-Id: Idbe1f71c49d0240e10d82081feeec9029898eecd
      ea10ad45
    • Yi Luo's avatar
      Refactor av1_update_boundary_info function · f190a165
      Yi Luo authored
      - Split av1_update_boundary_info() into two functions to avoid
        unnecessarily checking which goes through each mi block.
      - av1_setup_frame_boundary_info() sets up frame level boundary,
        i.e. non-tile case, which is called in frame level only.
      - av1_setup_across_tile_boundary_info sets up tiles boundary,
        which is called per tile, in multiple tile case.
      - Decoder running time reduction: 8.72% (1080p, 25 frames, 4Mbps).
      
      Change-Id: I2fc42d4281c77bce4a7dab5d208347308cfbe579
      f190a165
    • Yunqing Wang's avatar
      Make ext_tile compatible with reference_buffer · c2502b55
      Yunqing Wang authored
      In ext_tile experiment, when cm->large_scale_tile is 1, prev_frame_id can be
      the same as current_frame_id, which is prohibited in reference_buffer
      experiment and causes "CORRUPT_FRAME" error to be reported.
      
      In this patch, enable/disable reference_buffer according to large_scale_tile
      value, and thus make these 2 experiments compatible.
      
      Change-Id: If64943acb91e7a7b859db4e2ac62581e9b53ef85
      c2502b55
    • Jingning Han's avatar
      Make intra coding processed in 64x64 unit · 5b70174f
      Jingning Han authored
      Process the intra block coding in maximum of 64x64 block unit.
      This allows to simpilify the hardware design for 128x128 level
      block coding.
      
      Change-Id: I6ef1dd8549bdb53b2d2394c6aa7d61cea93686bf
      5b70174f
    • Jingning Han's avatar
      Make maximum transform coding unit 64x64 for inter blocks · c2b797fa
      Jingning Han authored
      This commit makes the maximum transform coefficient coding unit
      64x64 for inter coded blocks. It allows the hardware design to
      reuse the existing 64x64 coding pipeline for 128x128 level blocks.
      
      Change-Id: Ibadd59cf7e652984456cac621ec2294d48cf4507
      c2b797fa
  2. 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
  3. 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
  4. 17 Jul, 2017 2 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
    • hui su's avatar
      refactor get_tx_size() and get_uv_tx_size() · 0c6244b6
      hui su authored
      Change-Id: I802c9e41ebfed090b5ad8300917aad5e16ad026a
      0c6244b6
  5. 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
  6. 14 Jul, 2017 3 commits
  7. 13 Jul, 2017 2 commits
  8. 12 Jul, 2017 1 commit
    • 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
  9. 11 Jul, 2017 3 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
    • 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
      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
  10. 10 Jul, 2017 2 commits
    • Thomas Davies's avatar
      NEW_MULTISYMBOL: adapt transform partition split. · 985bfc38
      Thomas Davies authored
      Change-Id: I9c8201c7053dba11e9ac0f02c1bffbb4a322e654
      985bfc38
    • Lester Lu's avatar
      Inter and intra LGTs · 708c1ec5
      Lester Lu authored
      Here we have an LGT to replace ADST for intra residual blocks, and
      another LGT to replace ADST for inter residual blocks. The changes
      are only applied to transform length 4 and 8, and only for the
      lowbitdepth path.
      
      lowres: -0.18%
      
      Change-Id: Iadc1e02b53e3756b44f74ca648cfa8b0e8ca7af4
      708c1ec5
  11. 07 Jul, 2017 4 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
  12. 06 Jul, 2017 1 commit
  13. 05 Jul, 2017 3 commits
  14. 03 Jul, 2017 1 commit
    • Luc Trudeau's avatar
      [CFL] Adjust Pixel Buffer for Chroma Sub8x8 · 780d249d
      Luc Trudeau authored
      Adjust row and col offset for sub8x8 blocks to allow the CfL prediction
      to use all available reconstructed luma pixels.
      
      Results on Subset 1 (Compared to b03c2f44 with CfL)
      
         PSNR | PSNR Cb | PSNR Cr | PSNR HVS |    SSIM | MS SSIM | CIEDE 2000
      -0.1355 | -0.8517 | -0.4481 |  -0.0579 | -0.0237 | -0.0203 |    -0.2765
      
      Change-Id: Ia91f0a078f0ff4f28bb2d272b096f579e0d04dac
      780d249d
  15. 28 Jun, 2017 1 commit
  16. 27 Jun, 2017 3 commits
    • Wei-Ting Lin's avatar
      ncobmc_adapt_weight: Add bitstream syntax · 85a8f70c
      Wei-Ting Lin authored
      Define the syntax and entropy coding templates for
      NCOBMC_ADAPT_WEIGHT. The actual values of the default
      probabilities and the index tree structure need to
      be fine tuned.
      
      In this experiment all mv's in a superblock are sent
      first as in the ncobmc case.
      
      Change-Id: I68d50d3d27346c2847ea449a1168c6a99fbb4d3d
      85a8f70c
    • Rupert Swarbrick's avatar
      supertx: Read and write transforms with CDF in decode_partition · 580943a7
      Rupert Swarbrick authored
      Patch b1bedf5f converted the three writes in bitstream.c that
      specify an extended transform from using av1_write_token (encoded with
      probability trees) to aom_write_symbol (encoded with CDFs).
      
      That patch fixed up the two reads in decodemv.c but didn't fix up the
      corresponding read in decodeframe.c. This patch does so.
      
      The patch also fixes up a write of a (non-extended) transform when not
      CONFIG_EXT_TX and the corresponding read.
      
      Change-Id: Ibf5dcfcf3e7122f08dd0ef8616fb0ecddb95d99a
      580943a7
    • Jingning Han's avatar
      Re-organize the block index in decode_reconstruct_tx · a65f3051
      Jingning Han authored
      Make the block index use cases consistent in the recursive
      transform block partition.
      
      Change-Id: I57778acfab73c786a1db8c8b9110d56ce6df4854
      a65f3051
  17. 24 Jun, 2017 2 commits
  18. 21 Jun, 2017 3 commits
    • Debargha Mukherjee's avatar
      Add chorma tilesize option in loop-restoration · 84f567c7
      Debargha Mukherjee authored
      Adds an option bit in the bitstream syntax to allow chroma to
      have restoration tilesize that is coupled to luma based on
      subsmapling of the color components.
      
      This is meant to ease encoder hardware implementation.
      
      Change-Id: Ic3cc2b68c0f33701ed3ff2fe19cf57cd864da67f
      84f567c7
    • Timothy B. Terriberry's avatar
      cb4x4: Move sub-4X4 block sizes behind chroma flags. · 81ec2619
      Timothy B. Terriberry authored
      cb4x4 itself should not require these sizes.
      
      This simplifies compatibility with other experiments, since we can
      first make them work with cb4x4 (which is now on by default), and
      then worry about chroma_sub8x8 and chroma_2x2 (which is not) in
      separate steps.
      
      Encoder and decoder output should remain unchanged.
      
      Change-Id: Iff2a5494cab3b7d96f881e8bd9cd4bf18c817cfa
      81ec2619
    • Timothy B. Terriberry's avatar
      ext_inter: Skip compound type probs. for small block sizes. · 4a81001b
      Timothy B. Terriberry authored
      When writing the compressed header, prob_diff_update() was called
      for compound_type_prob[] for every defined block size, even though
      luma never uses block sizes smaller than 4x4.
      
      This fixes is_any_masked_compound_used() and
      is_interinter_compound_used() to properly return 0 for chroma-only
      block sizes, and then uses these functions to guard the probability
      updates in write_compressed_header() and read_compressed_header(),
      the same way the actual compound type values are guarded in
      read_inter_block_mode_info() and pack_inter_mode_mvs().
      
      Change-Id: Ib521cf53f9ec166ef634609c8b47c5814b6a9ff5
      4a81001b
  19. 20 Jun, 2017 1 commit