1. 19 Apr, 2018 1 commit
  2. 18 Apr, 2018 1 commit
  3. 17 Apr, 2018 4 commits
  4. 07 Apr, 2018 8 commits
  5. 11 Jan, 2018 12 commits
    • Hui Su's avatar
      Add an identity scale factor in AV1_COMMON · 5ebd8704
      Hui Su authored
      Set up the identity scale factor once per frame, instead of per joint
      motion search.
      
      Change-Id: I5edd264655254f4b6a0a923d8ab43adbca044228
      5ebd8704
    • Frederic Barbier's avatar
      Cleanup dead condition · ab3a7706
      Frederic Barbier authored
      These functions are only used in a intra mode context.
      Add related sanity check.
      
      Change-Id: I068d9251bd17b621a0d899bbbea01df53f0cfb6d
      ab3a7706
    • Tom Finegan's avatar
      leb128: Add failure test. · 209ba850
      Tom Finegan authored
      Add tests of expected failure conditions, and handle invalid pad
      sizes in the fixed length encode function.
      
      BUG=aomedia:1125
      
      Change-Id: I8b9d0fbc44bb776bca3b4c3f0467a2125f13be2e
      209ba850
    • David Barker's avatar
      Fix a bug in loopfiltering-across-tiles(-ext) · 9716af45
      David Barker authored
      Commit https://aomedia-review.googlesource.com/c/aom/+/39985
      changed the deblock filter for subsampled planes, so that
      we always look at the bottom-right mi unit in each 8x8 luma
      pixel unit. This fixed some issues around determining which
      blocks are inter/skip/etc.
      
      However, this introduced a different bug - the boundary info
      ("are we allowed to filter across the top/left edge of this block?")
      is stored in the *top-left* mi unit in each 8x8 luma pixel unit.
      But now we we're looking at the bottom-right unit, which always says
      it's fine to filter across the top and left boundaries! Thus the
      deblock filter effectively ignored the
      loop_filter_across_tiles_enabled flag(s).
      
      Fix this issue by looking up the boundary info from the top-left
      block in each unit; the other information is still taken from
      the bottom-right.
      
      Change-Id: I626ea3358563641a2532ee9c5968fb54bdc78e34
      9716af45
    • Yaowu Xu's avatar
      Turn lv_map lv_map_multi on by default · 2537bfc5
      Yaowu Xu authored
      Since 1193 is now fixed.
      
      BUG=aomedia:1193
      
      Change-Id: I79952e42679b68d8a1abc873b2c6f66711a7c4d8
      2537bfc5
    • Angie Chiang's avatar
      Move shift from 1d_cfg to 2d_cfg · 4a75b5a0
      Angie Chiang authored
      Change-Id: I22d0fac0d8e94fc02a7adf13b144ed17097ff84b
      4a75b5a0
    • Angie Chiang's avatar
      Move rect txfm's shift setting into config · a4c80485
      Angie Chiang authored
      For 2:1 txfm, move the sqrt2 scaling to the end of the fwd txfm
      function
      
      This only affects the txfm accuracy slightly but simplifies the
      range management a lot.
      
      Change-Id: I2eef8c15b7e8958a1fb0f2ae632604fdbab86046
      a4c80485
    • Jingning Han's avatar
      Remove unused variable from ctx_tree · 0ecde5ce
      Jingning Han authored
      Change-Id: Ic5b09169d7fbb28d09008756ec71703ff7322d78
      0ecde5ce
    • Jingning Han's avatar
      Skip allocating mem space for leaf nodes in ctx tree · 759771c6
      Jingning Han authored
      The coding block processing is streamlined in cb4x4. There is no
      longer a need to do special handle for sub8x8 blocks. This commit
      removes the unnecessary memory allocation to the leaf nodes,
      corresponding to 4x4 block size. It saves around 20% of the encoder
      memory requirement.
      
      Change-Id: I61301d6dea6c0a10ee232d166eea28578e2b3a58
      759771c6
    • Sarah Parker's avatar
      Precompute shifted dequant values for large tx-sizes · 8a086e05
      Sarah Parker authored
      Change-Id: I87b11ec892fe5048f858869a3b6e68d0fe78ea43
      8a086e05
    • Debargha Mukherjee's avatar
      Change dq_type in frame header in new_quant expt · 6e42741f
      Debargha Mukherjee authored
      dq_type now takes 4 possible values, one of which is
      the original multiply-only dequantizer.
      
      Change-Id: I2180f632f0d7f91dc391a6e802a93a77de789228
      6e42741f
    • Jingning Han's avatar
      Properly reset txb_entropy_ctx in skipped transform block · 38cd2318
      Jingning Han authored
      When a transform block is skipped, reset the txb_entropy_ctx value
      to be 0. This clears the assertion failure cases in txk-sel.
      
      Change-Id: I23816761d4383aa9877bc54b117f54d69e4949a9
      38cd2318
  6. 10 Jan, 2018 14 commits
    • Hui Su's avatar
      intrabc: update intrabc_cdf per superblock · 28b53c30
      Hui Su authored
      Update intrabc_cdf per superblock during encoding.
      Also added support for entropy_stats.
      
      Change-Id: Ie106309a8932b86bb069990db0b0ea13a4c5e8ae
      28b53c30
    • Andrey Norkin's avatar
      CICP colorspace signaling · 9e69463f
      Andrey Norkin authored
      Change-Id: I0f0cdf479091c308594a0288a0546dbdb76e4450
      9e69463f
    • Sebastien Alaiwan's avatar
      Clamp inverse transform coefficients · 80b437ce
      Sebastien Alaiwan authored
      When --enable-coefficient-range-checking isn't specified,
      clamp the coefficient at each stage.
      
      The decoder behaviour is unchanged for valid existing AV1 streams.
      However, some AV1 bitstreams that would have been rejected by the
      decoder as illegal (range check failure) are now legal bitstreams.
      
      There is no impact on video quality for valid bitstreams,
      only bitstreams that would have been considered invalid are affected,
      and are now considered as valid ones.
      
      BUG=aomedia:30
      
      Change-Id: Ie72ceeb3cb0561e8d3259767b209a4ef3be90438
      80b437ce
    • Yaowu Xu's avatar
      Disable an obsolete test when OBU is enabled · 3fcce0bb
      Yaowu Xu authored
      The OBU experiment has removed the parsing of super frame indices, so
      the test is obsolete when OBU is enabled.
      
      BUG=aomedia:1213
      
      Change-Id: If7d1873f3f41fa9146f9451687eda92b39b035a5
      3fcce0bb
    • Sarah Parker's avatar
      Remove variable widths for bins 1 and 2 in new-quant · 54127da3
      Sarah Parker authored
      This is the first phase of a new-quant cleanup. We are now only
      using a variable width zero bin, so we can simplify the
      implementation.
      
      Change-Id: I4da6c663a9d40b4fd08c14818cf7d7fe9b75844c
      54127da3
    • Michelle Findlay-Olynyk's avatar
      hash_based_trellis speed feature · fbab0621
      Michelle Findlay-Olynyk authored
      Add speed feature that uses hash tables to
      reuse previously found optimized coefficients
      in av1_optimize_txb. This skips some expensive
      optimize_txb calls.
      
      Currently shows no significant quality
      degredation or speed improvement, and set to off
      by default. Requires hash_me, lv_map and
      lv_map_multi. Adding to speed features required
      changing AV1_COMMON *cm to AV1_COMP *cpi in a
      chain of functions.
      
      Variations that have been tried:
      -varying the maximum eob on which the feature
      activates: 16, 32, 64. 16 currently used. 64
      has best hit rate but longer execution time.
      -varying the data hashed and the length of hashes
      (first hash is 16 bit and based on context data,
      while second hash is 16 bit and based only on
      pre-optimized qcoeff values.)
      -softening the data used for the hashes: ideally
      this would raise the number of hits, without
      compromising quality too much.
      
      Change-Id: I94f22be82f3a46637c0489d512f2e334a307575f
      fbab0621
    • Cheng Chen's avatar
      Skip unnecessary computation in trellis · 37d88736
      Cheng Chen authored
      When current coeff is found to be set as eob, nz_rd is not needed
      in the computation of rdcost. Skip it.
      
      Similarly, when has_nz_tail >= 2, computation for nz_rd should be
      skipped.
      
      Local runs show ~3% speed up.
      
      Change-Id: I176abf1d1043cab40788934b70558b816af72732
      37d88736
    • Hui Su's avatar
      Move sum_intra_stats into update_stats() · ea7320e1
      Hui Su authored
      Change-Id: Ied3252c3075e84252d8268a13d3f50066b3418e1
      ea7320e1
    • Hui Su's avatar
      intrabc: correctly store blk_skip[] · 29bd5895
      Hui Su authored
      BUG=aomedia:1203
      
      Change-Id: I03ca925734535c31a1ed6bdeb7f29b5b5d5f476c
      29bd5895
    • Sebastien Alaiwan's avatar
      Prevent warp if global_motion_params are invalid · 742f646f
      Sebastien Alaiwan authored
      BUG=aomedia:1195
      
      Change-Id: Ib643ed9d3a23b83e91d908940f5777f6d13b8b19
      742f646f
    • Jingning Han's avatar
      Check error resilient flag for use_ref_frame_mvs · 2830fd9f
      Jingning Han authored
      BUG=aomedia:1209
      
      Change-Id: If4ba99d6784c55768af57cac2b197db62ea2317e
      2830fd9f
    • Sebastien Alaiwan's avatar
      warped_motion.c: use 'clamp' function · 7ed89449
      Sebastien Alaiwan authored
      Change-Id: I31a6a66753e1e06a26ad798415c5994920bf22b7
      7ed89449
    • Hui Su's avatar
      Terminate decoding at corrupted frame data · b4d6b1c1
      Hui Su authored
      BUG=aomedia:1154
      
      Change-Id: I0c856564dc1eadd9e22be4de6fca5c2b0344dcb5
      b4d6b1c1
    • Urvang Joshi's avatar
      joint_motion_search: Make assumption explicit. · 48d3e633
      Urvang Joshi authored
      Use assert to test the assumption noted in the comment.
      
      Ran some encodes with varying per-frame resolutions (using
      SUPERRES_RANDOM and RESIZE_RANDOM modes) to ensure that these
      asserts are indeed valid.
      
      Change-Id: I30021fff05f9793f80e42c5319bed02b0ae04cbd
      48d3e633