1. 10 Aug, 2017 1 commit
    • Jingning Han's avatar
      Refactor lv-map rate cost estimation · dfd72323
      Jingning Han authored
      Use the rate cost to replace the probability fetch. This improves
      the encoding speed of level map by 10%. No coding stats change.
      
      Change-Id: Iab0beac5da291eed50f657549667d4edffb4ead8
      dfd72323
  2. 03 Aug, 2017 1 commit
    • hui su's avatar
      Calculate coeff token cost from CDF · c0cf71df
      hui su authored
      AWCY results:
      PSNR	PSNR HVS  SSIM	CIEDE 2000
      -0.09	-0.04	  -0.02	  -0.03
      
      On Google testsets:
      lowres  -0.18%
      midres  -0.20%
      
      Above results are obtained with
      --disable-ext-refs --disable-dual-filter --disable-loop-restoration
      --disable-global-motion --disable-warped-motion
      
      Change-Id: Iba58d5e5ec9a65d0afba29609aa2e379a80d7236
      c0cf71df
  3. 31 Jul, 2017 1 commit
    • Yue Chen's avatar
      Move mode costs that can be updated inside a frame to MACROBLOCK · b23d00a0
      Yue Chen authored
      It is a refactoring patch, which aims to make the code ready for
      implementation of in-frame mode cost update in RDO.
      Also add mode cost update per sb row, but it won't affect coding
      results because cdf update in RDO is not there.
      Mode cost arrays are moved to MACROBLOCK because in multi-thread
      coding, threads share the same AV1_COMP.
      
      This patch does not have impact on coding results.
      
      Change-Id: I2e8f7d7d066b23ebfbfc998269023781f359a6ff
      b23d00a0
  4. 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
  5. 17 Jul, 2017 2 commits
  6. 14 Jul, 2017 1 commit
  7. 13 Jul, 2017 1 commit
  8. 11 Jul, 2017 1 commit
    • 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
  9. 06 Jul, 2017 1 commit
  10. 05 Jul, 2017 1 commit
  11. 28 Jun, 2017 1 commit
    • Jingning Han's avatar
      Support rectangular tx_type coding in var-tx · 243b66bc
      Jingning Han authored
      Support the transform block kernel coding for rectangular
      transform block size in var-tx. This integrates txk-sel with
      var-tx.
      
      Change-Id: I9a8edd84812168f56c79b78cc9af34f6304b1d54
      243b66bc
  12. 27 Jun, 2017 1 commit
  13. 24 Jun, 2017 1 commit
    • Angie Chiang's avatar
      Pass mbmi into get_scan() · bd99b38c
      Angie Chiang authored
      This is to facilitate future experiment related to adapt_scan
      
      Change-Id: I51628f3df81bd82db7f8f553d13da0ee5792d7d9
      bd99b38c
  14. 21 Jun, 2017 1 commit
    • 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
  15. 15 Jun, 2017 1 commit
    • Urvang Joshi's avatar
      Remove 'rddiv' member from various structs. · 70006e46
      Urvang Joshi authored
      This was initialized from a const and never modified. But was still
      passed around and stored in multiple structs.
      
      Removed these 'rddiv' member variables and now RDOPT() and RDOPT_DBL()
      always use the const RDDIV_BITS directly.
      
      Change-Id: I1a8dfd2c8fa857d466ad1207b4f0dd6ec07eafb8
      70006e46
  16. 14 Jun, 2017 7 commits
  17. 08 Jun, 2017 1 commit
  18. 02 Jun, 2017 6 commits
    • Angie Chiang's avatar
      Pass above/left ctx plane_bsize to av1_optimize_b · 3511c37d
      Angie Chiang authored
      This is to facilitate lv_map experiment
      
      Change-Id: Ife779b172c4b81a9b2b4640464163300996e3969
      3511c37d
    • Angie Chiang's avatar
      Add test code for optimize_txb() · 5e012fe6
      Angie Chiang authored
      Change-Id: Ieae4c1a1c932d375b4577c7e42a9764e5f9cd16a
      5e012fe6
    • Angie Chiang's avatar
      Add av1_optimize_txb()/optimize_txb() · 07c57f3b
      Angie Chiang authored
      This function will check if downgrading each coeff by one level
      will reduce overall rd cost. If so, it will down grade the
      coeff and update the effect and then move on to the next coeff.
      
      In general, we found out that updating according to the
      coding order will provide better coding performance.
      The optimization order is as follows.
      1) forward optimize coeffs == 1 or -1 only
      2) backward optimize all coeffs
      
      Change-Id: Ic0fd4d44d11878258e09d4fa87a8b48b397a10a8
      07c57f3b
    • Angie Chiang's avatar
      Add update_level_down() · d19969e4
      Angie Chiang authored
      This function will update txb_cache and txb_info affected by
      downgrading the coeff by one level
      
      Change-Id: I57f9377eb7fb94b4244e677704b33c5eece83133
      d19969e4
    • Angie Chiang's avatar
      Add try_level_down_facade() · 47e07077
      Angie Chiang authored
      Change-Id: I82e12e312e6685c3801b243196af2570d3793aac
      47e07077
    • 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
  19. 01 Jun, 2017 4 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
  20. 21 May, 2017 2 commits
    • Timothy B. Terriberry's avatar
      cb4x4: Fix reset_skip_context() without chroma_2x2 · a2d5cdef
      Timothy B. Terriberry authored
      reset_skip_context() was always clearing the entropy contexts for
      all three color planes, using a block size that corresponded with
      the luma plane.
      
      However, when chroma_2x2 is disabled, then for sub-8x8 luma block
      sizes, the corresponding chroma block size is always 4x4, and the
      skip flag only affects the chroma blocks corresponding to the
      upper-left luma block.
      
      This patch makes reset_skip_context() reset the contexts that
      actually correspond to the chroma blocks that are skipped (if any).
      It also moves reset_skip_context() to av1_reset_skip_context() in
      blockd.c, because blockd.h gets included before onyx_int.h, which
      declares the required is_chroma_reference() function.
      reset_skip_context() was too large and used in too many places to
      be a reasonable candidate for inlining, anyway.
      
      AWCY results on objective-1-fast:
      
      cb4x4-fix-base@2017-05-11T06:26:50.159Z -> cb4x4-fix-reset_skip@2017-05-11T06:28:45.482Z
        PSNR | PSNR Cb | PSNR Cr | PSNR HVS |   SSIM | MS SSIM | CIEDE 2000
      0.0301 |  0.1068 |  0.1463 |   0.0359 | 0.0260 |  0.0347 |     0.0479
      
      A regression (near the noise range), but without this fix, the line
      buffer size required by the entropy contexts will be doubled.
      
      Change-Id: I12fa6e60d9c1c7c85927742775a346ea22b3193f
      a2d5cdef
    • Jingning Han's avatar
      Support level map coeffs in var-tx encoding · 4fe5f67f
      Jingning Han authored
      Use recursive transform block coding order.
      
      Change-Id: I6d4671fe669e8a1897e034973de181078272cbfd
      4fe5f67f
  21. 19 May, 2017 1 commit
    • Jingning Han's avatar
      Unify tokenize_b_arg struct · 6171ae77
      Jingning Han authored
      Use a single struct for tokenization and level map coding.
      
      Change-Id: Id685992b7db5964ee204c4b0b90379df50c56546
      6171ae77
  22. 04 May, 2017 1 commit
    • Angie Chiang's avatar
      Move eob/lossless check into av1_optimize_b · 7dec6c4c
      Angie Chiang authored
      This will guarantee that av1_optimize_b will be turned off when
      lossless mode is on
      
      Remove heuristic lossless check in optimize_b_greedy
      
      Change-Id: I636c776f3f6b632eb03bc57a470ea43aae4fe0f6
      7dec6c4c
  23. 24 Apr, 2017 1 commit
  24. 18 Apr, 2017 1 commit