1. 02 Jun, 2017 2 commits
    • Angie Chiang's avatar
      Add try_change_eob() · c77799be
      Angie Chiang authored
      This function will be applied to the last non-zero coeff to
      calculate the cost difference including eob change
      
      Change-Id: I471aa74600c41fd371447ec121d113c79bd767b8
      c77799be
    • Joe Young's avatar
      [intra-edge] Use 5-tap filter · 3be70f72
      Joe Young authored
      For intra edge filtering experiment, replace the 2x iteration
      (5-6-5) filter with a 5-tap filter (2-4-4-4-2).
      
      BDrate (1 key-frame) for this change:
      cif:    +0.02%
      midres: +0.04
      720p:   -0.01
      1080p:  -0.03
      4k:     -0.01
      
      BDrate (1 key-frame) for intra-edge experiment:
      (05/31, disable rect-tx, ext-tx, delta-q, ext-delta-q)
      
                1 key-frame     60 frames
               PSNR   SSIM     PSNR  SSIM
      cif:    -0.02   -0.01   -0.03  -0.01
      midres: -0.02   -0.02   -0.05  -0.10
      720p:   -0.36   -0.39   -0.05  -0.06
      1080p:  -0.75   -0.88   -0.22  -0.27
      4k:     -0.91   -1.12   -0.45  -0.54
      
      Change-Id: I834037e662b4483d4d6bdceb1c1624d56ba293a4
      3be70f72
  2. 01 Jun, 2017 13 commits
    • Yushin Cho's avatar
      Fix daala-dist for cb4x4 · 63927c43
      Yushin Cho authored
      The place where av1_daala_dist() is applied for sub8x8 partition is
      moved from sub8x8 mode decision functions to rd_pick_partition().
      
      BD-Rate change by daala-dist with '--disable-var-tx' is:
      (AWCY, objective-1-fast, high delay mode)
      
         PSNR | PSNR Cb | PSNR Cr | PSNR HVS |    SSIM | MS SSIM | CIEDE 2000
      15.1558 | 12.9585 | 14.4662 |  -3.8651 | -1.7102 | -9.2956 |    10.8686
      
      In MSE probe mode:
      
        PSNR | PSNR Cb | PSNR Cr | PSNR HVS |   SSIM | MS SSIM | CIEDE 2000
      0.0429 |  0.0435 |  0.1651 |  -0.0415 | 0.0850 |  0.0122 |     0.0546
      
      Change-Id: I3b2ea916d41c48e433eb641adf44552e4725c198
      63927c43
    • 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
  3. 31 May, 2017 5 commits
  4. 30 May, 2017 3 commits
    • 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
    • Arild Fuldseth (arilfuld)'s avatar
      Use 7-bit smooth and regular filters with DUAL_FILTER · f3b5e7f4
      Arild Fuldseth (arilfuld) authored
      Change-Id: If8f8e1a0032e914beb3ec3bcde221fe4a5605139
      f3b5e7f4
  5. 29 May, 2017 3 commits
  6. 28 May, 2017 2 commits
  7. 27 May, 2017 2 commits
  8. 26 May, 2017 8 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
    • 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
    • Debargha Mukherjee's avatar
      Clean-up unused 3rd order least squares · 17f041a7
      Debargha Mukherjee authored
      Change-Id: Ia18f9f7034dafb9ac0108143d4f65f3f6b1a77d5
      17f041a7
    • Fergus Simpson's avatar
      resize-refactor: Check pixel dim instead of mb dim · 056732f6
      Fergus Simpson authored
      Changes av1_scale_if_required to check if a resize is needed using the
      width and height from cm directly rather than cm's mi_cols and mi_rows
      times MI_SIZE.
      
      This is simpler, and won't have issues with sizes that aren't divisible
      by MI_SIZE.
      
      Change-Id: Icbf34252a62436bb9bb0f83fa5fd688f7c5ae256
      056732f6
    • Fergus Simpson's avatar
      resize: Clear above context to aligned width · 8c70d917
      Fergus Simpson authored
      This fixes an issue with context clearing introduced by commit
      5e81643d.
      
      In av1_zero_above_context width_y went from being assigned "2 *
      aligned_width" to "width << 1". All this patch does is replace width
      with the aligned_width.
      
      This resolves an issue with random resizing being broken on the master
      branch.
      
      Change-Id: Ib60bf81e6091802053a5a26057c626d4efe6497c
      8c70d917
  9. 25 May, 2017 2 commits