1. 18 Jan, 2017 4 commits
    • Urvang Joshi's avatar
      Enable rectangular transforms for Intra also. · feb925fe
      Urvang Joshi authored
      These are under EXT_TX + RECT_TX experiment combo.
      
      Results
      =======
      
      Derf Set:
      --------
      All Intra frames: 1.8% avg improvement (and 1.78% BD-rate improvement)
      Video: 0.230% avg improvement (and 0.262% BD-rate improvement)
      
      Objective-1-fast set
      --------------------
      Video: 0.52 PSNR improvement
      
      Change-Id: I1893465929858e38419f327752dc61c19b96b997
      feb925fe
    • David Barker's avatar
      Fix compile errors with loop-restoration + highbd · 60a055bd
      David Barker authored
      Change-Id: I0d9850e082b8da3b182a3bbaf6569c45317c9659
      60a055bd
    • Angie Chiang's avatar
      Pass ConvolveParams into prediction functions · 9f45bc48
      Angie Chiang authored
      Those functions includes
      av1_make_inter_predictor
      av1_build_inter_predictor
      inter_predictor
      
      Change-Id: Ide3b744277cf30964e8b352fc8de91365d7217a8
      9f45bc48
    • Alex Converse's avatar
      Add unpoison_partition_ctx experiment · 55c6bdeb
      Alex Converse authored
      At the edges of the picture only a subset of partitions are legal. Add
      new contexts for these borders so they don't distort the probabilities of
      the interior of the image where all partitions are legal.
      
      Only include one context for each block size of each border direction
      because so few blocks fall into these contexts to begin with.
      
      objective-1-fast:
         PSNR | PSNR Cb | PSNR Cr | PSNR HVS |    SSIM | MS SSIM | CIEDE 2000
      -0.0294 | -0.0911 | -0.2382 |  -0.0481 | -0.0441 | -0.0450 |    -0.0454
      
      derf144: -0.135
      lowres: -0.124
      midres: -0.076
      hdres: -0.078
      
      Change-Id: I909b98eebb7e49273cde90154c8408febe334158
      55c6bdeb
  2. 17 Jan, 2017 2 commits
  3. 14 Jan, 2017 3 commits
    • Angie Chiang's avatar
      Refactor av1_update_neighbors · 0cfaeeaf
      Angie Chiang authored
      Beside above and left positions, additional above-left,
      above-right, and bottom-left positions are added as
      neighbor candidates.
      
      In av1_update_neighbors, two available positions will be picked as
      context neighbors.
      
      The picking priority is
      above -> left -> above-left -> above->right -> bottom->left
      
      Change-Id: I82eaf0b23d0189caaea008ecc86776492886a05b
      0cfaeeaf
    • Angie Chiang's avatar
      Use default scan order as a tie breaker · fe2a959e
      Angie Chiang authored
      Change-Id: I85f059b6e2c48bcdf2edd3b7bf896fdccbaaa703
      fe2a959e
    • Yi Luo's avatar
      Fix 4x4 hybrid transform accuracy check tests · 8f315b19
      Yi Luo authored
      - Adjust the accuracy value and fix,
        C/Trans4x4HT.AccuracyCheck/5,6,7 as CONFIG_AOM_HIGHBITDEPTH = 1.
      
      Change-Id: I2f8d97b2e2c1ee45bfae613657ca01b5666d76ee
      8f315b19
  4. 13 Jan, 2017 11 commits
  5. 12 Jan, 2017 11 commits
    • Yue Chen's avatar
      Refactor write_modes_b() and decode_block() · 64550b6a
      Yue Chen authored
      In order to reduce the code complexity for handling parameter
      coding and recon separately for each 64x64 in non-causal obmc
      experiment, we break them down to two steps calling separate
      functions, one for params, the other dealing with coefficients
      and recon(decoder side).
      Note: actually the non-causal prediction can use the original
      syntax, but right now in the decoder coeff detoken and recon are
      heavily nested.
      
      Change-Id: I72d9c42ab8f38b57850d6b0481551893f1702822
      64550b6a
    • David Barker's avatar
      Add SSE2 vectorized warp filter for lowbd · d5dfa96e
      David Barker authored
      End-to-end speed improvements: (measured on tempete_cif.y4m,
      20 frames for encoder and all 260 frames for decoder)
      
      * GLOBAL_MOTION encoder: ~10% faster
      * GLOBAL_MOTION decoder: 100-200% faster depending on bitrate
      * WARPED_MOTION encoder: ~2.5% faster
      * WARPED_MOTION decoder: ~20-40% faster depending on bitrate
      
      The improvement in the GLOBAL_MOTION decoder is particularly
      large because its runtime is dominated by calls to warp_plane().
      
      This introduces minor changes to the output of the warp filter,
      but these should be rare.
      
      Change-Id: I5813ab9e90311e27587045153c32d400b6b9eb92
      d5dfa96e
    • Yi Luo's avatar
      High bit depth 32x32 inverse DCT_DCT transform, AVX2 · 3bd83775
      Yi Luo authored
      - Witness the follow user-level speedup on AV1 baseline:
       Encoding time reduction: 4.26%
       Decoding time reduction: 25.35%
      
      Change-Id: Ideaf3cd473ad45ed9256c80d5a5daed0a6e098cf
      3bd83775
    • Yue Chen's avatar
      Add NCOBMC experimental flag · b2d26453
      Yue Chen authored
      NCOBMC (non-causal obmc) allows overlapped prediction that takes
      mvs from blocks at positions with non-causal relation (e.g. at the
      bottom, or to the right) to the current block.
      This experiment will be a sub-experiment of MOTION_VAR, so will only
      be effective when MOTION_VAR is on.
      
      Change-Id: Ie3aa9591e1c15f5cc251664ea3c146210a5010cf
      b2d26453
    • Jingning Han's avatar
      Make av1_update_txb_coeff_cost() check condition support cb4x4 · 904fd182
      Jingning Han authored
      Replace hard coded numbers with macro defs.
      
      Change-Id: I125ef4e4c8c3aead182c583522450626b730bbb3
      904fd182
    • Jingning Han's avatar
      Make rd_debug aligned to var-tx · c7ea761f
      Jingning Han authored
      Fix the corner case and use the right rate cost udpate for rd_debug.
      This would make the var-tx pass rd_debug test.
      
      Change-Id: Ib0fbd2d73030c0d150222c6b7c2dfffc0c6af085
      c7ea761f
    • Jingning Han's avatar
      Make txfm block partition context support rectangular blocks · 0c70a80f
      Jingning Han authored
      Make the transform block partition context model support the
      rectangular transform block size partition. The coding gains
      from cb4x4 and var-tx are:
                cb4x4 + var-tx
      lowres         4.3%
      midres         2.6%
      
      Change-Id: I6cc1413fbf6d7707ca7fd24300623a3f0118be7c
      0c70a80f
    • Nathan E. Egge's avatar
      Move from Daala accounting to AOM accounting. · cefb4094
      Nathan E. Egge authored
      Replace all instances of Daala's OD_ACCOUNTING with those specified by
       CONFIG_ACCOUNTING.
      
      Change-Id: Ibb59fc5df0ce4b0528b15296bf2f14029c414bc0
      cefb4094
    • Nathan E. Egge's avatar
      Don't include Daala EC headers directly. · cceac33a
      Nathan E. Egge authored
      The generic coder now uses the AOM entropy coder API and no longer
       needs to include the entenc.h and entdec.h headers.
      
      Change-Id: I213acb5b6bd8a3fe60dc096b83d76ae72315e9de
      cceac33a
    • Nathan E. Egge's avatar
      Use aom_reader / aom_writer API to code rest. · 25007c88
      Nathan E. Egge authored
      The functions aom_encode_pvq_split() and aom_decode_pvq_split() code
       the rest value as raw bits using the od_ec_enc_bits() and
       od_ec_dec_bits() functions.
      These code bits in the reverse order as the aom_write_literal() and
       aom_read_literal() functions, so both the encoder and decoder must
       be changed at the same time.
      This commit has no impact on metrics but is a bitstream change.
      
      Change-Id: Iee79777f35aebbb23043a7efa7fe439af70348ba
      25007c88
    • Nathan E. Egge's avatar
      Use aom_reader / aom_writer API to code raw bits. · f1e2fbdc
      Nathan E. Egge authored
      The functions aom_laplace_encode_special() and
       aom_laplace_decode_special() code the rest value as raw bits using the
       od_ec_enc_bits() and od_ec_dec_bits() functions.
      These code bits in the reverse order as the aom_write_literal() and
       aom_read_literal() functions, so both the encoder and decoder must
       be changed at the same time.
      This commit has no impact on metrics but is a bitstream change.
      
      Change-Id: I428d5a83dd108c3a54f3c1dbae2c7fd5e59f5726
      f1e2fbdc
  6. 11 Jan, 2017 6 commits
  7. 10 Jan, 2017 3 commits
    • Yaowu Xu's avatar
      Change md5 used in test · 66ca5977
      Yaowu Xu authored
      A previous commit 8e1d0f70 changed
      the bitstreams due to change of scale of transforms. While the
      change is expected, md5 for "decode_to_md5_av1" test needs to be
      updated to reflected the change to avoid nightly test failures.
      
      Change-Id: I57e0318c081c7c0609fe7d5ee97543239ce162d0
      66ca5977
    • Yaowu Xu's avatar
      add a minor clarification in comment · a98ceea7
      Yaowu Xu authored
      Change-Id: I7320074ff7bd95d833cba8afb04fcc0730392f1e
      a98ceea7
    • Urvang Joshi's avatar
      Palette: use insertion sort for sorting neighbors' scores. · f1c06a73
      Urvang Joshi authored
      While sorting, preserving the order of the rest of the list when moving
      an element to the top of list makes hardware implementation much simpler.
      
      The compression performance is roughly same: overall, avg performance on
      screen-content set is 0.137% better than before in fact.
      
      Bug=aom:127
      
      Change-Id: Id1aa1e90254b44eae9133b47bca8f853f6a62c6b
      f1c06a73