1. 01 Jun, 2017 12 commits
    • Angie Chiang's avatar
      Add try_level_down() · a530ef40
      Angie Chiang authored
      This function computes the overall (i.e. self and neighbors') cost
      difference caused by downgrading a coefficient by one level at
      a specific location
      
      Change-Id: I1b7b6acfe06ed06b9a2ff48b5bb11527646d1aa8
      a530ef40
    • Angie Chiang's avatar
      Add try_self_level_down() and get_level_prob() · 7afbba41
      Angie Chiang authored
      try_self_level_down() computes the cost difference of the coeff
      that is downgraded by one level
      
      get_level_prob() computes the probability of level_map coding
      at a specific position and level.
      
      Change-Id: Iaa9d40477aaf798993c2d5d26341551db665902b
      7afbba41
    • Angie Chiang's avatar
      Add gen_txb_cache() and it's related functions · 2affb3b0
      Angie Chiang authored
      This function pre-generate counts/magnitudes of each level map
      such that we don't have to re-calculate the counts/magnitudes
      while doing the optimization.
      
      Change-Id: Ifdfc89522cf2f2b9f3734d451324081f42b47cb0
      2affb3b0
    • Angie Chiang's avatar
      Add get_coeff_cost() and get_txb_cost() · 488f921c
      Angie Chiang authored
      Change-Id: I085f2bc706fde41afbee5ff48b56acc095f804c2
      488f921c
    • Timothy B. Terriberry's avatar
      cb4x4: Move sub-4X4 TX sizes behind CONFIG_CHROMA_2X2. · fe67ed6a
      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_2x2 (which is not) in separate steps.
      
      Encoder and decoder output should remain unchanged.
      
      Change-Id: I4e9fcdae49f238b5099a3c74a398fe993c2545f8
      fe67ed6a
    • Jingning Han's avatar
      Rework loop filter tx size selection · 6e4955d4
      Jingning Han authored
      Update and capture the effective transform block size per color
      plane.
      
      Change-Id: Ib6e0e7abb3973db6b8d511ee7c9948aaab048788
      6e4955d4
    • hui su's avatar
      Initialize chroma mode info before RD search · eaddeee1
      hui su authored
      Make sure initialization is done regardless of whether RD search
      is skipped (skip_chroma_rd).
      
      BUG=aomedia:568
      
      Change-Id: Idb620b34be6930bb35ab6c912dfd4777f7614159
      eaddeee1
    • hui su's avatar
      filter-intra: fix compiler warnings when cb4x4 is off · b4ed1493
      hui su authored
      Change-Id: I995b1ba6b1dafeceb1e75a3d71d6630215a8df68
      b4ed1493
    • Debargha Mukherjee's avatar
      Add refinement search for sgrproj filter · 749f5cd5
      Debargha Mukherjee authored
      Change-Id: I8deea1d2a76ce8c36085d19362ac2508fd3c438f
      749f5cd5
    • Yue Chen's avatar
      Make ext_inter/wedge/compound_segment/interintra on by default · f03907a2
      Yue Chen authored
      (1) Make unit tests for masked sad/variance encoder-only
      (2) Fix compile error with intrabc
      (3) Fix warnings reported by static analysis
      
      Change-Id: I0cd2176fcda0b81e1fc30283767678376ced4c42
      f03907a2
    • David Barker's avatar
      Fix integer overflow in warp filter · 17c37ceb
      David Barker authored
      Patch https://aomedia-review.googlesource.com/c/12602/ made the
      variable 'sum' in the warp filter unsigned, to indicate that its
      value should always be >= 0. But 'sum' is used to accumulate
      signed values, and it is expected that some of those values
      will be negative.
      
      The issue is that, when running 'x += y', if x is a uint32_t
      and y is an int (and is 32 bits), the C standard says to
      convert y to a uint32_t before doing the addition. This causes
      overflow, and so undefined behaviour, if y < 0.
      
      This is fixed by making 'sum' signed, and by explicitly bounds
      checking against zero at the end of the filter.
      
      BUG=aomedia:572
      
      Change-Id: I1d484b5f5698db0ec9761807610b3b2b35647983
      17c37ceb
    • Urvang Joshi's avatar
      get_min_tx_size: assert() doesn't need an 'if'. · affbe5e1
      Urvang Joshi authored
      Change-Id: Id2be191fb48ed8d65b452499e1a1a1f470359321
      affbe5e1
  2. 31 May, 2017 6 commits
  3. 30 May, 2017 7 commits
    • David Barker's avatar
      Fix ASan bug in masked variance unit test · 723923ca
      David Barker authored
      The masked variance functions can read slightly off the
      (nominal) end of their input array. This is not a problem,
      since the extra data is never used, and when the functions
      are used in the encoder proper, they will just read data
      from the frame border.
      
      However, the arrays in the test case had not been properly
      padded, causing ASan to complain about reading off the end
      of an array.
      
      Also remove an accidental comment in the code.
      
      BUG=aomedia:569
      
      Change-Id: Icb5cf4d39ee50fc6e1b807f483940d7a7b12ce63
      723923ca
    • David Barker's avatar
      Tidy up warp filter · facac4f5
      David Barker authored
      * Simplify the C version of the warp filter to make the intent
        of the code clearer
      * Replace saturate_uint() in the C warp filter with an assertion
        that the intermediate values are in-range. This is because they
        should (provably) *never* go out-of-range.
      * Add a comment describing the intended hardware architecture
      * Miscellaneous comment updates
      
      Change-Id: I798736f923ece599f22d573d31c5dfccd18b2d0e
      facac4f5
    • Thomas Daede's avatar
      Remove VAR_BASED_PARTITION. · 8ea3319e
      Thomas Daede authored
      BUG=aomedia:526
      
      Change-Id: I5d9b86a36f412ded2d6f20e198d2f4de4f97aaeb
      8ea3319e
    • Yi Luo's avatar
      Add a unit test for AV1 quantizer optimization · ef39c843
      Yi Luo authored
      BUG=aomedia:542
      
      Change-Id: Ifceffa29d87d12c37ae1563350101415631eaa00
      ef39c843
    • Tom Finegan's avatar
      Remove doxygen XML configuration. · befa87c6
      Tom Finegan authored
      Parts of it are causing doxygen to emit warnings, and
      AOM's doxygen configuration doesn't produce XML output.
      
      Change-Id: I34271721b64f369dfc51b9be3f508db2bfcb5633
      befa87c6
    • Arild Fuldseth (arilfuld)'s avatar
      Enable one_sided_compound by default · bf3813a1
      Arild Fuldseth (arilfuld) authored
      Change-Id: I7bceace31c118993228168ec04f12319a9011f6b
      bf3813a1
    • Arild Fuldseth (arilfuld)'s avatar
      Use 7-bit smooth and regular filters with DUAL_FILTER · f3b5e7f4
      Arild Fuldseth (arilfuld) authored
      Change-Id: If8f8e1a0032e914beb3ec3bcde221fe4a5605139
      f3b5e7f4
  4. 29 May, 2017 3 commits
  5. 28 May, 2017 3 commits
  6. 27 May, 2017 2 commits
  7. 26 May, 2017 7 commits
    • Jingning Han's avatar
      Fix enc/dec mismatch in filter-intra and chroma-sub8x8 · 62946d17
      Jingning Han authored
      BUG=aomedia:561
      
      Change-Id: I6dc0fd97f29bfa0302abb6e90802674c1aa65674
      62946d17
    • Jingning Han's avatar
      Cover intra tx size count in rect-tx · 2d4fafac
      Jingning Han authored
      Account for intra tx size case when coding block is in skip mode.
      
      Change-Id: I030bc05d890c4a7c8d4628a7f9bdebaba6083a03
      2d4fafac
    • David Barker's avatar
      ext-inter: Vectorize new masked SAD/SSE functions · 0aa39ff0
      David Barker authored
      We would expect that these new functions would be slower than
      the old masked SAD/SSE functions, as they do additional work
      (blending two inputs and comparing to a third, rather than
      just comparing two inputs).
      
      This is true for the SAD functions, which are about 50% slower
      (depending on block size and bit depth). However, the sub-pixel
      SSE functions are comparable to the old speed for the accelerated
      special cases (xoffset or yoffset = 0 or 4), and are
      between 40-90% faster for the generic case.
      
      Change-Id: I1a296ed8fc9e3edc313a6add516ff76b17cd3e9f
      0aa39ff0
    • Sarah Parker's avatar
      Remove references to deleted ext-inter modes · b9f68d27
      Sarah Parker authored
      This allows the av1 analyzer to work for ext-inter experiments
      
      Change-Id: I9f86740f051f7db632a8f7dbe63be66ce89ff3a8
      b9f68d27
    • Yue Chen's avatar
      ext_inter: remove unnecessary rate parameters · 5e606544
      Yue Chen authored
      Only use compmode_interinter_cost and compmode_interintra_cost in
      handle_inter_mode() since outside the function they can be reflected
      by the total rate.
      Plus adding config flags to separate wedge/compound_segment from
      ext_inter
      
      Change-Id: I56b402aab3cf2337bae8d7e682f93cd8557f69a4
      5e606544
    • Yi Luo's avatar
      Improve the quantization table interface · c621023e
      Yi Luo authored
      - Add av1_build_quantize() function so that quantization
        related unit test would be able to access quant/dequant
        table without starting an encoder instance and directly
        accessing cpi.
      
      Change-Id: I8ba429e5deb7a4e7f967996aaec1d20bff0feb3c
      c621023e
    • Jingning Han's avatar
      Initialize min_tx_size in var-tx · 923377b8
      Jingning Han authored
      Avoid the risk of use uninitialized value when TX_2X2 is moved
      behind chroma-2x2 flag.
      
      Change-Id: Ibb3e3700ab82d7f98ebe58fae70afbf64f5773c7
      923377b8